@font-face{font-family:LP Serif;src:url(../assets/fonts/lp-serif.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Sans;src:url(../assets/fonts/lp-sans.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Latin Serif;src:url(../assets/fonts/lp-latin-serif.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Latin Serif;font-style:italic;src:url(../assets/fonts/lp-latin-serif-italic.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Latin Sans;font-weight:600;src:url(../assets/fonts/lp-latin-sans.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Japanese Serif;src:url(../assets/fonts/lp-japanese-serif.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Japanese Sans;src:url(../assets/fonts/lp-japanese-sans.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Korean Serif;src:url(../assets/fonts/lp-korean-serif.woff2)format("woff2");font-display:swap}@font-face{font-family:LP Korean Sans;src:url(../assets/fonts/lp-korean-sans.woff2)format("woff2");font-display:swap}:root{--ink:#14110f;--paper:#f7f0de;--gold:#f2c866;--night:#0b1228}*{box-sizing:border-box}html,body{background:var(--ink);width:100%;height:100%;margin:0;padding:0;overflow:hidden}#scene{background:var(--night);outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.serif{font-family:LP Serif,Songti SC,Source Han Serif CN,Noto Serif CJK SC,serif}.sans{font-family:LP Sans,PingFang SC,Source Han Sans CN,Noto Sans CJK SC,sans-serif}.shadow{text-shadow:0 2px 14px #14110f99,0 0 3px #14110fb3}#front{background:var(--night);cursor:pointer;z-index:2;transition:opacity .8s;position:fixed;inset:0;overflow:hidden}#front.out{opacity:0;pointer-events:none}#front.busy{cursor:default}#front.busy #load.hidden,#front.busy #hint.hidden,#front.busy #note.hidden{visibility:hidden}#art{object-fit:cover;object-position:62% 50%;transform-origin:60%;width:100%;height:100%;animation:30s ease-out forwards kenburns;position:absolute;inset:0}@keyframes kenburns{0%{transform:scale(1)}to{transform:scale(1.06)}}#wash{background:linear-gradient(90deg,#0b122873 0%,#0b12281f 34%,#0000 50%),linear-gradient(#0000 66%,#0b1228b3 100%);position:absolute;inset:0}.dust{background:var(--paper);opacity:0;border-radius:50%;width:3px;height:3px;animation:linear infinite dust;position:absolute}@keyframes dust{0%{opacity:0;transform:translateY(0)}15%{opacity:.55}85%{opacity:.35}to{opacity:0;transform:translateY(-18vh)}}.tw{background:var(--paper);border-radius:50%;animation:3.2s ease-in-out infinite tw;position:absolute}@keyframes tw{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:.95;transform:scale(1.2)}}#stage{transform-origin:0 0;width:1920px;height:1080px;position:absolute;top:0;left:0}#logo{width:714px;position:absolute;top:270px;left:128px}.star{filter:drop-shadow(0 0 6px #f2c866bf);width:18px;height:18px;display:inline-block}.star svg{width:100%;height:100%;display:block}#hint{width:100%;font:inherit;letter-spacing:.32em;color:var(--gold);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:14px;padding:0;font-size:22px;transition:opacity .4s;animation:2.4s ease-in-out infinite breathe;display:flex;position:absolute;bottom:84px;left:0;right:0}#hint:focus-visible{outline:2px solid var(--gold);outline-offset:8px}#hint span{margin-right:-.32em}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}#note{text-align:center;letter-spacing:.08em;color:#f2c866b8;font-size:15px;transition:opacity .4s;position:absolute;bottom:52px;left:0;right:0}#load{opacity:1;flex-direction:column;align-items:center;gap:22px;transition:opacity .4s .2s;display:flex;position:absolute;bottom:84px;left:0;right:0}#intro{white-space:nowrap;letter-spacing:.1em;color:#f7f0ded9;font-size:28px}#track{background:#f7f0de33;border-radius:1px;width:520px;height:2px;margin-top:14px;position:relative}#fill{background:var(--gold);transform-origin:0;border-radius:1px;width:100%;height:2px;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleX(0);box-shadow:0 0 6px #f2c866bf}#tip{width:16px;height:16px;margin-left:-8px;transition:left .3s;position:absolute;top:-7px;left:0}#pct{white-space:nowrap;letter-spacing:.28em;color:#f7f0de80;font-size:15px}#pct span{margin-right:-.28em}#msg{flex-direction:column;align-items:center;gap:16px;display:none;position:absolute;bottom:84px;left:0;right:0}#msg.visible{display:flex}#msg .text{letter-spacing:.06em;text-align:center;color:#f7f0dee0;max-width:820px;font-size:24px;line-height:1.8}#retry{letter-spacing:.14em;color:var(--gold);cursor:pointer;background:#f2c86614;border:1px solid #f2c86680;border-radius:999px;padding:10px 28px;font:600 15px/1.2 LP Latin Sans,LP Sans,sans-serif}#retry:hover{background:#f2c86633}#retry:focus-visible{outline:2px solid var(--gold);outline-offset:4px}#retry[hidden]{display:none}.hidden{pointer-events:none;opacity:0!important}#plain{text-align:center;color:#f7f0dee0;font-size:clamp(17px,4.6vw,24px);line-height:1.8;display:none;position:absolute;top:50%;left:24px;right:24px;transform:translateY(-50%)}#front.phone #stage{display:none}#front.phone #plain{display:block}.lang-switch{letter-spacing:.06em;-webkit-user-select:none;user-select:none;text-align:right;z-index:3;font-size:18px;font-weight:600;transition:opacity .4s;position:absolute;top:52px;right:168px}.lang-switch [data-script=latin]{font-family:LP Latin Sans,LP Sans,PingFang SC,sans-serif}.lang-switch [data-script=han]{font-family:LP Sans,PingFang SC,Source Han Sans CN,Noto Sans CJK SC,sans-serif}.lang-switch [data-script=kana]{font-family:LP Japanese Sans,Yu Gothic,Hiragino Sans,sans-serif}.lang-switch [data-script=hangul]{font-family:LP Korean Sans,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.lang-current{font:inherit;letter-spacing:inherit;color:var(--paper);cursor:pointer;text-shadow:inherit;background:0 0;border:0;outline:none;padding:6px 4px 6px 10px;font-weight:600}.lang-current:after{content:"";vertical-align:.18em;border:5px solid #0000;border-top:6px solid var(--gold);border-bottom:0;margin-left:.55em;display:inline-block}.lang-current:hover,.lang-current:focus-visible{color:var(--gold)}.lang-list{background:#0b1228b8;border:1px solid #f2c86638;border-radius:8px;min-width:168px;margin:8px 0 0;padding:10px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 6px 24px #0b122873}.lang-list[hidden]{display:none}.lang-list li{text-align:center;color:#f7f0deb8;cursor:pointer;white-space:nowrap;outline:none;padding:7px 22px}.lang-list li:hover,.lang-list li:focus{color:var(--paper);background:#f7f0de14}.lang-list li.on{color:var(--gold)}html[data-script=latin] .serif{font-family:LP Latin Serif,LP Serif,Songti SC,Source Han Serif CN,Noto Serif CJK SC,serif}html[data-script=latin] .sans{font-family:LP Latin Sans,LP Sans,PingFang SC,Source Han Sans CN,Noto Sans CJK SC,sans-serif;font-weight:600}html[data-script=latin] #logo{width:820px}html[data-script=latin] #hint{letter-spacing:.22em;text-transform:uppercase}html[data-script=latin] #hint span{margin-right:-.22em}html[data-script=latin] #intro{white-space:normal;letter-spacing:.02em;color:#f7f0dee0;max-width:600px;font-size:33.6px;line-height:1.45;position:absolute;bottom:209px;left:176px}html[data-script=latin] #pct{letter-spacing:.2em;text-transform:uppercase}html[data-script=latin] #pct span{margin-right:-.2em}html[data-script=latin] #msg .text{letter-spacing:.01em;font-size:27px;line-height:1.6}html[data-script=kana] .serif{font-family:LP Japanese Serif,Yu Mincho,serif}html[data-script=kana] .sans{font-family:LP Japanese Sans,Yu Gothic,sans-serif}html[data-script=hangul] .serif{font-family:LP Korean Serif,AppleMyungjo,Batang,serif}html[data-script=hangul] .sans{font-family:LP Korean Sans,Apple SD Gothic Neo,Malgun Gothic,sans-serif}html[data-script=hangul] #intro{word-break:keep-all}html:is([data-script=kana],[data-script=hangul]) #logo{width:780px}html:is([data-script=kana],[data-script=hangul]) #intro{white-space:normal;text-align:center;letter-spacing:.02em;max-width:1050px;line-height:1.7}html:is([data-script=kana],[data-script=hangul]) #hint,html:is([data-script=kana],[data-script=hangul]) #pct{letter-spacing:.04em}html:is([data-script=kana],[data-script=hangul]) #hint span,html:is([data-script=kana],[data-script=hangul]) #pct span{margin-right:0}#hud{z-index:1;pointer-events:none;opacity:0;visibility:hidden;color:var(--paper);transition:opacity 1s .2s,visibility linear;position:fixed;inset:0}#hud.visible{opacity:1;visibility:visible;transition:opacity 1s .2s,visibility linear}#hud>*{pointer-events:auto}#hud-top{justify-content:space-between;align-items:flex-start;gap:20px;padding:30px 42px;display:flex;position:absolute;top:0;left:0;right:0}#chapter{letter-spacing:.12em;color:#f7f0deeb;align-items:center;gap:12px;font-size:25px;display:flex}#chapter .star{width:15px;height:15px}#lang-game{font-size:16px;position:static}#back{font:inherit;letter-spacing:.08em;color:#f7f0deb8;cursor:pointer;background:#0b122859;border:1px solid #f2c86647;border-radius:999px;padding:8px 20px;font-weight:600;transition:color .25s,border-color .25s,background .25s}#back:hover{color:var(--gold);background:#0b12288c;border-color:#f2c866a6}#moments{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:122px;left:42px}#moments button{letter-spacing:.1em;color:#f7f0dea6;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b12284d;border:1px solid #0000;border-radius:999px;align-items:center;gap:12px;width:-moz-fit-content;width:fit-content;padding:9px 18px 9px 14px;font:600 15px/1.2 LP Latin Sans,LP Sans,sans-serif;transition:color .25s,background .25s,border-color .25s,transform .25s;display:flex}#moments button:before{content:"✦";color:var(--gold);opacity:.45;font-size:11px}#moments button:hover{color:var(--paper);background:#0b12288c;transform:translate(4px)}#moments button.active{color:var(--gold);background:#0b122880;border-color:#f2c86659}#moments button.active:before{opacity:1}#caption{text-align:center;letter-spacing:.04em;color:#f7f0def2;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000,#0b12289e 12% 88%,#0000);max-width:min(760px,76vw);padding:16px 32px;font-size:24px;line-height:1.65;transition:opacity .7s,transform .7s;position:absolute;bottom:116px;left:50%;transform:translate(-50%,12px)}#caption.show{opacity:1;transform:translate(-50%)}#controls{letter-spacing:.12em;color:#f7f0deb8;text-align:right;pointer-events:none;font-size:13px;position:absolute;bottom:36px;right:42px}@media (max-width:900px){#hud-top{padding:20px}#chapter{font-size:18px}#moments{bottom:108px;left:20px}#caption{padding:12px 20px;font-size:18px;bottom:106px}#controls{font-size:11px;bottom:20px;right:20px}}#chapter-block{flex-direction:column;gap:6px;display:flex}#chapter-meta{letter-spacing:.22em;text-transform:uppercase;color:#f7f0de80;gap:10px;font-size:12px;display:flex}#chapter-meta .sep{color:#f2c8668c}#hud-actions{align-items:center;gap:18px;display:flex}#map-toggle,#back{letter-spacing:.08em;color:#f7f0debf;cursor:pointer;background:#0b122859;border:1px solid #f2c86647;border-radius:999px;padding:8px 18px;font:600 14px/1.2 LP Latin Sans,LP Sans,sans-serif;transition:color .25s,border-color .25s,background .25s}#map-toggle:hover,#back:hover{color:var(--gold);background:#0b12288c;border-color:#f2c866a6}#chapter-nav{align-items:center;gap:14px;display:flex;position:absolute;bottom:104px;right:42px}#chapter-nav button{color:#f7f0decc;cursor:pointer;background:#0b122866;border:1px solid #f2c8664d;border-radius:50%;width:38px;height:38px;font-size:24px;line-height:1;transition:color .25s,border-color .25s,transform .25s}#chapter-nav button:hover:not(:disabled){color:var(--gold);border-color:#f2c866b3;transform:scale(1.08)}#chapter-nav button:disabled{opacity:.3;cursor:default}#nav-progress{letter-spacing:.2em;color:#f2c866cc;text-align:center;min-width:58px;font-size:13px}#controls{bottom:28px}#moments{bottom:128px}#moments button.done{color:#f2c866d9}#moments button.done:after{content:"✓";color:var(--gold);font-size:11px}#toast{color:var(--gold);letter-spacing:.18em;opacity:0;pointer-events:none;background:#0b1228b8;border:1px solid #f2c86659;border-radius:999px;padding:9px 22px;font-size:13px;transition:opacity .3s,transform .3s;position:absolute;bottom:205px;left:50%;transform:translate(-50%,8px)}#toast.show{opacity:1;transform:translate(-50%)}.overlay{z-index:4;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;background:#040712c7;justify-content:center;align-items:center;transition:opacity .32s;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.overlay.on{opacity:1}.map-panel{background:radial-gradient(at 50% 45%,#142044eb,#060a18f5);border:1px solid #f2c86638;border-radius:14px;flex-direction:column;width:min(1020px,92vw);height:min(660px,84vh);padding:26px 32px 20px;display:flex;box-shadow:0 24px 90px #0000008c}.map-head{justify-content:space-between;align-items:baseline;display:flex}.map-head h2{letter-spacing:.14em;color:var(--paper);margin:0;font-size:30px;font-weight:400}.map-head button,#ending-close{color:#f7f0de8c;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:20px}.map-head button:hover,#ending-close:hover{color:var(--gold)}.map-sky{flex:1;min-height:0;margin:12px 0;position:relative}#map-lines{width:100%;height:100%;position:absolute;inset:0}.map-node{cursor:pointer;color:var(--gold);background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:6px;transition:color .25s,opacity .25s,transform .25s;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-node .star{filter:drop-shadow(0 0 8px #f2c866b3);width:19px;height:19px}.map-node .map-name{letter-spacing:.06em;white-space:nowrap;color:#f7f0de9e;font:600 11px/1.3 LP Latin Sans,LP Sans,sans-serif}.map-node:hover:not(:disabled){transform:translate(-50%,-50%)scale(1.18)}.map-node:hover:not(:disabled) .map-name{color:var(--paper)}.map-node.current{color:#fff3cf;transform:translate(-50%,-50%)scale(1.3)}.map-node.current .map-name{color:var(--gold)}.map-node.visited:after{content:"✓";color:var(--paper);font-size:11px;position:absolute;top:-4px;right:-2px}.map-node.locked{color:#f7f0de47;opacity:.45;cursor:default}.map-node.locked .star{filter:none}.map-node.locked .map-name{color:#f7f0de4d}.map-foot{text-align:center;letter-spacing:.18em;color:#f7f0deb8;margin:0;font-size:12px}.ending-card{text-align:center;background:radial-gradient(at 50% 0,#1e2a52f5,#070b1afa);border:1px solid #f2c86647;border-radius:14px;width:min(560px,88vw);padding:48px 46px 40px;position:relative;box-shadow:0 24px 90px #0009}.ending-card>.star{filter:drop-shadow(0 0 14px #f2c866cc);width:26px;height:26px}.ending-card h2{letter-spacing:.1em;color:var(--gold);margin:18px 0 14px;font-size:32px;font-weight:400}.ending-card p{color:#f7f0dee0;margin:0 0 28px;font-size:20px;line-height:1.85}#ending-close{position:absolute;top:12px;right:14px}#restart{letter-spacing:.14em;color:var(--gold);cursor:pointer;background:#f2c86614;border:1px solid #f2c86680;border-radius:999px;padding:11px 30px;font:600 14px/1.2 LP Latin Sans,LP Sans,sans-serif;transition:background .25s,color .25s}#restart:hover{color:#fff3cf;background:#f2c86633}#veil{z-index:5;opacity:0;pointer-events:none;background:#040712f0;flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .38s;display:flex;position:fixed;inset:0}#veil.on{opacity:1}#veil .star{filter:drop-shadow(0 0 18px #f2c866cc);width:34px;height:34px}#veil-title{letter-spacing:.18em;color:var(--paper);font-size:30px}#veil-sub{letter-spacing:.3em;text-transform:uppercase;color:#f2c866a6;font-size:13px}@media (max-width:900px){#chapter-meta{font-size:10px}#map-toggle,#back{padding:7px 12px;font-size:12px}#chapter-nav{bottom:96px;right:20px}#controls{bottom:16px}#moments{bottom:112px}.map-panel{padding:18px}.map-node .map-name{font-size:9px}.map-head h2{font-size:22px}.ending-card{padding:36px 26px}.ending-card p{font-size:16px}}@media (prefers-reduced-motion:reduce){#art,#hint,.dust,.tw{animation:none!important}#front,#hud,.overlay,#veil,#caption,#toast,#moments button,#chapter-nav button{transition-duration:.01ms!important}}:root{--bar:max(0px, calc((100vh - 100vw / 2.39) / 2))}#cinema-toggle{letter-spacing:.08em;color:#f7f0debf;cursor:pointer;background:#0b122859;border:1px solid #f2c86647;border-radius:999px;padding:8px 18px;font:600 14px/1.2 LP Latin Sans,LP Sans,sans-serif;transition:color .25s,border-color .25s,background .25s}#cinema-toggle:hover{color:var(--gold);background:#0b12288c;border-color:#f2c866a6}#cinema-toggle[aria-pressed=true]{color:var(--gold);border-color:#f2c8668c}#letterbox{z-index:3;pointer-events:none;opacity:0;transition:opacity .85s;position:fixed;inset:0}body.cinema #letterbox{opacity:1}#letterbox .bar{height:var(--bar);background:#05070f;display:block;position:absolute;left:0;right:0;box-shadow:0 0 24px #00000080}#letterbox .bar.top{top:0}#letterbox .bar.bottom{bottom:0}#shot-badge{letter-spacing:.28em;color:#f2c86694;pointer-events:none;text-transform:uppercase;font-size:10px;transition:opacity .6s;position:absolute;bottom:24px;left:42px}body.hud-quiet #shot-badge{opacity:.85}body.hud-quiet #moments,body.hud-quiet #chapter-nav,body.hud-quiet #controls,body.hud-quiet #chapter-meta{opacity:.6;transition:opacity .7s}body.cinema #hud-top{padding-top:calc(var(--bar) + 18px)}body.cinema #moments{bottom:calc(var(--bar) + 64px)}body.cinema #caption{bottom:calc(var(--bar) + 52px)}body.cinema #chapter-nav{bottom:calc(var(--bar) + 46px)}body.cinema #controls,body.cinema #shot-badge{bottom:calc(var(--bar) + 14px)}body.cinema #toast{bottom:calc(var(--bar) + 130px)}@media (max-width:900px){#cinema-toggle{padding:7px 12px;font-size:12px}#shot-badge{letter-spacing:.18em;font-size:9px;left:20px}}
