:root{color-scheme:dark;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#edeae5;background:#050606;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #e5e0d4;outline-offset:6px}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}#game{width:100vw;height:100dvh;position:relative;overflow:hidden;background:#040505}#stage{width:min(100vw,177.77778dvh);height:min(100dvh,56.25vw);position:absolute;top:50%;left:50%;translate:-50% -50%;overflow:hidden}#world{position:absolute;inset:0;transform:translate(var(--x,0px),var(--y,0px)) rotate(var(--r,0deg)) scale(var(--scale,1.025));will-change:transform}#still,video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}video{visibility:hidden}video.active{visibility:visible}#redWash,#flash,.vignette{position:absolute;inset:0;pointer-events:none}#redWash{background:radial-gradient(ellipse at 5% 10%,#e6200844,transparent 65%),radial-gradient(ellipse at 95% 10%,#e6200838,transparent 65%);mix-blend-mode:screen;opacity:0}#flash{background:#fff4d8;opacity:0}.vignette{background:radial-gradient(ellipse at 50% 45%,transparent 40%,#0008 100%);box-shadow:inset 0 0 40px #0004}.target{position:absolute;border-radius:22%;background:transparent;z-index:5;outline-offset:0}.target:hover{box-shadow:0 0 0 1px #f0eee244,0 0 24px #f0eee211}.target:focus-visible{outline:1px solid #f0eee288}#hud{position:absolute;top:max(28px,env(safe-area-inset-top));left:32px;right:32px;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.15em;text-shadow:0 1px 5px #0008;z-index:10}.stage-label{display:flex;gap:14px;align-items:center}.dot{height:5px;width:5px;border-radius:50%;background:#88ada0;box-shadow:0 0 8px #88ada044}.divider{color:#ffffff40}nav{display:flex;gap:12px}nav button{font-size:10px;background:#080d0d55;padding:8px 10px;letter-spacing:.08em;border-radius:2px;backdrop-filter:blur(6px)}#hint{position:absolute;bottom:max(36px,env(safe-area-inset-bottom));width:100%;text-align:center;font-size:12px;letter-spacing:.16em;color:#e1e4dda8;text-shadow:0 1px 10px #000;pointer-events:none;z-index:11;transition:opacity .25s}#alarmLabel{position:absolute;top:32px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.24em;color:#ffb0a4;z-index:10}.alarm-dot{display:inline-block;width:6px;height:6px;background:#ff6549;border-radius:50%;margin-right:12px;box-shadow:0 0 14px #e92200}.overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;text-align:center;padding:36px;background:#030505b3;backdrop-filter:blur(6px);transition:opacity .7s}.intro-content{transform:translateY(-8px)}.eyebrow{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.4em;color:#c8cbc38c;margin:0 0 24px}h1{font-size:clamp(36px,8vw,112px);font-weight:500;letter-spacing:.08em;line-height:1.05;margin:0 0 30px}h1 span{color:#d34935}h2{font-weight:500;font-size:clamp(23px,3.6vw,46px);letter-spacing:.055em;line-height:1.6;margin:0 0 18px}.lead{font-size:12px;letter-spacing:.16em;color:#babcb5;line-height:2.1;margin:0 0 40px}.primary{padding:15px 38px;background:#e2ded3;color:#19201d;font-size:12px;letter-spacing:.15em;border-radius:1px;transition:background .2s}.primary:hover{background:#fbf8ee}.small{font-size:10px;letter-spacing:.1em;color:#a3a99b66;margin-top:18px;min-height:15px}.corner-note{position:absolute;bottom:28px;right:32px;font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.22em;color:#c0c3bc55}#result{backdrop-filter:blur(2px);background:#060303c9}#result .eyebrow{color:#cd8779a0}body[data-phase="revealed"] .dot{background:#ba4a39}#error{background:#101412ed}#errorMessage{font-size:12px;line-height:2;max-width:440px;color:#c9c3b7}@media(max-width:650px){#hud{top:18px;left:16px;right:16px}.stage-label{gap:9px;letter-spacing:.06em}nav{gap:4px}nav button{padding:7px 8px}#hint{bottom:24px;font-size:10px}#alarmLabel{top:60px}.lead{font-size:11px}#game{min-height:320px}}@media(prefers-reduced-motion:reduce){#world{will-change:auto}.overlay{transition:none}}

.episode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:min(660px,calc(100vw - 56px));margin:0 auto}.stage-card{height:196px;display:flex;align-items:flex-end;justify-content:flex-start;text-align:left;padding:20px;color:#e6e2d8;font-size:12px;letter-spacing:.08em;text-decoration:none;border:1px solid #ffffff24;border-radius:3px;background-size:cover;background-position:center;transition:border-color .2s,transform .2s}.stage-card:hover{border-color:#d9cbaa;transform:translateY(-3px)}.button-card{background-image:linear-gradient(transparent 10%,#040505e8 100%),url("素材/閉鎖.jpg")}.car-card{background-image:linear-gradient(transparent 10%,#040505e8 100%),url("車素材/待機.jpg")}.menu-return{display:block;margin-top:22px;color:#bcbab3;font-size:11px;text-decoration:none}.stage-label a{font-size:16px;color:#d5d1c8;text-decoration:none}@media(max-width:650px){.episode-grid{gap:10px}.stage-card{height:146px;padding:14px;font-size:10px;line-height:1.7}.stage-label{gap:8px}}

.episode-grid{grid-template-columns:repeat(3,1fr);width:min(920px,calc(100vw - 48px))}.champagne-card{background-image:linear-gradient(transparent 10%,#100905e8 100%),url("宴素材/宴の基準画像.png")}@media(max-width:650px){.episode-grid{grid-template-columns:1fr;gap:8px;width:min(360px,calc(100vw - 48px))}.stage-card{height:84px;background-position:center 43%;padding:12px}.intro-content{transform:none}#intro h1{margin-bottom:20px}#intro .lead{margin-bottom:24px}}

.cart-card{background-image:linear-gradient(transparent 10%,#102b26e8 100%),url("カート素材/店内基準.png")}.episode-grid{grid-template-columns:repeat(2,1fr);gap:12px;width:min(780px,calc(100vw - 48px))}.stage-card{height:148px}#intro h1{font-size:clamp(36px,7vw,78px);margin-bottom:22px}#intro .lead{margin-bottom:26px}@media(max-width:650px){.episode-grid{grid-template-columns:1fr;gap:8px;width:min(360px,calc(100vw - 48px))}.stage-card{height:76px}#intro .lead{margin-bottom:20px}}
