:root{--sky:#fff6e2;--bg:#e6cfa6;--ink:#2b1d14;--ink-soft:#6b5340;--paper:#fff8ecd9;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-snap-type:y mandatory;overscroll-behavior:none;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0}.stage{background:radial-gradient(120% 90% at 30% 20%, var(--sky) 0%, var(--bg) 100%);position:fixed;inset:0}.stage,.stage canvas{touch-action:pan-y}.rooms{pointer-events:none;position:relative}.sec{scroll-snap-align:start;scroll-snap-stop:always;height:100svh;position:relative}.hero{text-align:right;max-width:32rem;position:absolute;top:clamp(24px,9vh,110px);right:clamp(16px,5vw,72px)}.hero h1{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,5.2vw,4.2rem);font-weight:800;line-height:1.08}.hero p{color:var(--ink-soft);margin:.9rem 0 0;font-size:clamp(.95rem,1.4vw,1.15rem);font-weight:600}.hero .line{opacity:.85;font-weight:500}.hero,.copy{opacity:0;transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1);transform:translateY(28px)}.sec[data-active=true] .hero,.sec[data-active=true] .copy{opacity:1;transition-delay:.25s;transform:none}.rooms[data-quiet=true] .copy,.rooms[data-quiet=true] .hero{opacity:0}@media (prefers-reduced-motion:reduce){.hero,.copy{transition:none;transform:none}}.copy{background:var(--paper);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;max-width:25rem;padding:18px 22px;position:absolute;bottom:clamp(72px,14vh,130px);left:clamp(16px,5vw,72px)}.copy h2{letter-spacing:-.01em;margin:6px 0 8px;font-size:clamp(1.5rem,3.2vw,2.4rem);font-weight:800;line-height:1.15}.copy p{color:var(--ink-soft);margin:0;font-weight:500;line-height:1.6}.tag{letter-spacing:.12em;color:var(--ink-soft);font-size:.8rem;font-weight:700}@media (width<=720px){.hero{text-align:left;left:16px;right:16px}.copy{max-width:none;padding:14px 16px;bottom:64px;left:16px;right:16px}}.mark{z-index:2;background:var(--ink);width:68px;height:36px;position:fixed;top:clamp(14px,3vh,32px);left:clamp(16px,3vw,40px);-webkit-mask:url(/brand/mark-h.png) 0/contain no-repeat;mask:url(/brand/mark-h.png) 0/contain no-repeat}.dots{z-index:2;flex-direction:column;gap:14px;display:flex;position:fixed;top:50%;right:clamp(8px,2vw,24px);transform:translateY(-50%)}.dots a{width:24px;height:24px;color:var(--ink);justify-content:flex-end;align-items:center;gap:8px;text-decoration:none;display:flex}.dots a:after{content:"";background:var(--ink);opacity:.3;border-radius:50%;flex:none;width:8px;height:8px;transition:transform .2s,opacity .2s}.dots a[aria-current]:after{opacity:1;transform:scale(1.5)}.dots span{white-space:nowrap;opacity:0;font-size:.8rem;font-weight:700;transition:opacity .2s}.dots a:hover span,.dots a:focus-visible span{opacity:1}@media (width<=720px){.dots{right:4px}}.hint{background:var(--paper);color:var(--ink-soft);pointer-events:none;white-space:nowrap;z-index:2;border-radius:999px;margin:0;padding:6px 14px;font-size:.85rem;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.hint .coarse{display:none}@media (pointer:coarse){.hint .fine{display:none}.hint .coarse{display:inline}}.card{background:var(--paper);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:6;pointer-events:auto;border-radius:16px;width:min(28rem,100vw - 32px);padding:16px 20px;animation:.5s cubic-bezier(.2,.8,.2,1) card-in;position:fixed;bottom:calc(9vh + 20px);right:clamp(16px,5vw,72px);box-shadow:0 10px 40px #0002}@keyframes card-in{0%{opacity:0;transform:translateY(20px)scale(.97)}}.card h3{margin:6px 0 4px;font-size:1.05rem;font-weight:700;line-height:1.45}.card .links{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;font-size:.85rem;font-weight:700;display:flex}.card a{color:var(--ink)}.card .soon{color:var(--ink-soft);opacity:.6;font-weight:500}.go{background:var(--ink);color:#fff4e0;font:inherit;cursor:pointer;border:0;border-radius:999px;margin-left:auto;padding:7px 14px;font-weight:700}.go.solo{z-index:6;pointer-events:auto;position:fixed;bottom:calc(9vh + 20px);right:clamp(16px,5vw,72px)}@media (width<=720px){.card{width:auto;left:16px;right:16px}}.cutscene{z-index:5;pointer-events:none;position:fixed;inset:0}.cutscene .bar{background:#120c0a;height:9vh;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;right:0}.cutscene .top{top:0;transform:translateY(-100%)}.cutscene .bottom{bottom:0;transform:translateY(100%)}.cutscene[data-on=true] .bar{transform:none}.cutscene .lens{opacity:0;background:radial-gradient(62% 58%,#0000 70%,#7fe6ff22 84%,#0a1a22cc 100%);transition:opacity .8s;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #7fe6ff55}.cutscene[data-lens=true] .lens{opacity:1}.caption{text-align:center;color:#fff8ec;text-shadow:0 2px 14px #000a,0 0 2px #000c;width:min(46rem,100vw - 32px);margin:0;font-size:clamp(1.05rem,2.2vw,1.6rem);font-weight:700;line-height:1.5;animation:.6s cap-in;position:absolute;bottom:calc(9vh + 24px);left:50%;transform:translate(-50%)}@keyframes cap-in{0%{opacity:0;transform:translate(-50%,10px)}}.cutscene[data-on=true]:has(.card) .caption{bottom:calc(9vh + 150px)}.cutscene:has(.go.solo) .caption{bottom:calc(9vh + 150px)}.skip{color:#fff8ec;font:inherit;cursor:pointer;pointer-events:auto;background:#fff8ec33;border:0;border-radius:999px;padding:6px 12px;font-size:.8rem;position:absolute;top:calc(9vh + 12px);right:clamp(16px,3vw,40px)}.scope{color:#7fe6ff;background:#0a1a22b3;border-radius:12px;gap:4px;padding:8px 10px;font:600 11px ui-monospace,monospace;display:grid;position:absolute;top:calc(9vh + 16px);left:clamp(16px,4vw,56px)}.hint[data-hide=true]{opacity:0}.found{background:var(--paper);color:var(--ink-soft);z-index:2;border-radius:999px;margin:0;padding:5px 12px;font-size:.8rem;font-weight:700;position:fixed;top:clamp(16px,3vh,34px);right:clamp(16px,3vw,40px)}.poi-label{color:#fff4e0;white-space:nowrap;pointer-events:none;opacity:0;background:#2b1d14cc;border-radius:999px;padding:3px 10px;font-size:12px;transition:opacity .3s;transform:translateY(-34px)}.poi-label[data-show=true]{opacity:1}.poi-label .done,.poi-label[data-found=true] .todo{display:none}.poi-label[data-found=true] .done{display:inline}.poi-label b{color:#ffb347;margin-right:4px}.loader{z-index:10;color:var(--ink);clip-path:inset(0);background:#f3e6cc;place-content:center;justify-items:center;gap:14px;transition:clip-path .9s cubic-bezier(.7,0,.2,1) .2s,visibility 0s 1.2s;display:grid;position:fixed;inset:0}.loader[data-done=true]{clip-path:inset(0 0 0 100%);visibility:hidden}.mark-lg{background:var(--ink);width:120px;height:64px;-webkit-mask:url(/brand/mark-h.png) 50%/contain no-repeat;mask:url(/brand/mark-h.png) 50%/contain no-repeat}.pct{color:var(--ink-soft);font:600 .85rem ui-monospace,monospace}.chips{z-index:3;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:62px;left:50%;transform:translate(-50%)}.chips span{color:#fff;text-shadow:0 1px 6px #0006;font-size:.85rem;font-weight:700}.chips button{color:var(--ink);cursor:pointer;background:#fff8ece6;border:0;border-radius:999px;padding:8px 14px;font:700 .95rem system-ui,PingFang SC,sans-serif;transition:transform .15s;box-shadow:0 4px 18px #0002}.chips button:hover{transform:translateY(-2px)}.reticle{pointer-events:none;z-index:3;background:conic-gradient(#fff9 calc(var(--gaze,0) * 360deg), transparent 0);outline-offset:-1px;border-radius:50%;outline:1.5px solid #fff8;width:44px;height:44px;position:fixed;top:-22px;left:-22px;-webkit-mask:radial-gradient(circle,#0000 15px,#000 16px);mask:radial-gradient(circle,#0000 15px,#000 16px)}@media (pointer:coarse){.reticle{display:none}}.wipemeter{z-index:3;pointer-events:none;justify-items:center;gap:6px;display:grid;position:fixed;bottom:62px;left:50%;transform:translate(-50%)}.wipemeter span{color:var(--ink);background:var(--paper);border-radius:999px;padding:6px 14px;font-size:.9rem;font-weight:700}.wipemeter i{background:linear-gradient(90deg, var(--ink) calc(var(--wiped,0) * 100%), #2b1d1422 0);border-radius:2px;width:160px;height:4px}
