:root{--fontsize: 18px;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--night-0: #04161d;--night-1: #082630;--night-2: #0c3945;--night-3: #12505d;--cyan: #52e3dd;--cyan-soft: #a7f6f0;--cyan-deep: #128e96;--gold: #f0dc9a;--gold-deep: #b99a4e;--rose: #f3b6cf;--ink: #eaf9f8;--ink-soft: #b7d6d8;--ink-dim: #779ba0;--ink-ghost: #4d7076;--line: rgb(126 238 233 / .26);--line-soft: rgb(126 238 233 / .12);--line-strong: rgb(160 250 245 / .55);--font-body: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-display: "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", Georgia, "Times New Roman", serif;--font-script: "Z003", "URW Chancery L", "Apple Chancery", "Palatino Linotype", "Book Antiqua", Georgia, serif;--cut: 14px;--shadow-deep: 0 18px 60px rgb(0 8 12 / .55)}*{box-sizing:border-box;user-select:none;-webkit-user-select:none}html{color-scheme:dark;background:var(--night-0)}body{margin:0;min-height:100dvh;color:var(--ink);font-family:var(--font-body);font-size:var(--fontsize);line-height:1.7;background:radial-gradient(120% 80% at 76% 8%,rgb(18 78 92 / .42),transparent 60%),radial-gradient(90% 70% at 8% 100%,rgb(9 57 68 / .5),transparent 65%),linear-gradient(180deg,#061b23 0%,var(--night-0) 60%,#020e13 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;background:repeating-linear-gradient(103deg,transparent 0 180px,rgb(120 238 233 / .022) 180px 182px,transparent 182px 460px)}#app{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column}body:has(.reader){background:#010b0f}body:has(.reader):before{opacity:0}#app:has(.reader){align-items:center;justify-content:center}::selection{background:#52e3dd52;color:#fff}*{scrollbar-width:thin;scrollbar-color:#1c5966 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1c5966;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#27808a}::-webkit-scrollbar-corner{background:transparent}button,input,label{font-family:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.dim{color:var(--ink-dim)}code{font-family:var(--font-display);font-size:.9em;letter-spacing:.03em;color:var(--cyan-soft)}.cut{clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}.title{position:relative;flex:1;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1rem,4vw,5rem);padding:calc(var(--safe-t) + clamp(2.5rem,7vw,6.5rem)) calc(var(--safe-r) + clamp(2.5rem,7vw,6.5rem)) calc(var(--safe-b) + clamp(2.5rem,7vw,6.5rem)) calc(var(--safe-l) + clamp(2.5rem,7vw,6.5rem));overflow:hidden;isolation:isolate}.title:before{content:"";position:absolute;inset:-10%;z-index:-2;background:radial-gradient(48% 42% at 74% 48%,rgb(82 227 221 / .22),transparent 70%),radial-gradient(30% 20% at 18% 22%,rgb(183 236 255 / .1),transparent 70%),linear-gradient(0deg,rgb(10 63 74 / .2),transparent 56%),repeating-linear-gradient(100deg,transparent 0 150px,rgb(150 244 240 / .055) 150px 152px,transparent 152px 390px)}.title:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgb(3 16 22 / .82) 0%,transparent 52%),linear-gradient(180deg,transparent 55%,rgb(2 12 16 / .72))}.title-snow{position:absolute;inset:-420px -10% 0;z-index:-1;pointer-events:none;opacity:.55;will-change:transform;background-image:radial-gradient(1.6px 1.6px at 22% 18%,#fff 45%,transparent 55%),radial-gradient(1.2px 1.2px at 68% 42%,#eafcff 45%,transparent 55%),radial-gradient(1.8px 1.8px at 44% 72%,#fff 45%,transparent 55%),radial-gradient(1.1px 1.1px at 86% 86%,#dff8ff 45%,transparent 55%),radial-gradient(1.6px 1.6px at 8% 54%,#fff 45%,transparent 55%),radial-gradient(1px 1px at 58% 8%,#eafcff 45%,transparent 55%),radial-gradient(1.4px 1.4px at 32% 92%,#fff 45%,transparent 55%),radial-gradient(1.2px 1.2px at 94% 24%,#dff8ff 45%,transparent 55%);background-size:420px 420px;animation:snowfall 48s linear infinite}.title-main{position:relative;z-index:2;max-width:680px}.title-over{display:block;margin-bottom:.55rem;font-size:.74rem;letter-spacing:.44em;color:var(--ink-dim);text-indent:.44em}.title h1{margin:0;display:flex;align-items:baseline;gap:.26em;font-family:var(--font-display);font-size:clamp(2.4rem,4.6vw,4.4rem);font-weight:400;line-height:.98;letter-spacing:.1em;white-space:nowrap;background:linear-gradient(180deg,#fff 4%,#e9fdff 38%,#9ed9ea 52%,#f7feff 70%,#cbeef8);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgb(220 248 255 / .4);filter:drop-shadow(0 2px 0 #0b2748) drop-shadow(0 0 12px rgb(243 182 207 / .12)) drop-shadow(0 0 20px rgb(100 230 255 / .32))}.title h1 b{font-weight:400;font-size:1.24em;letter-spacing:0;line-height:.8}.title-sub{margin-top:.75rem;font-family:var(--font-display);font-style:italic;font-size:clamp(.95rem,1.5vw,1.2rem);letter-spacing:.12em;color:var(--ink-soft)}.title-sub .web{color:var(--ink-dim);letter-spacing:.04em}.menu{display:flex;flex-direction:column;max-width:520px;margin-top:clamp(2rem,4vh,3.2rem);border-top:1px solid var(--line)}.menu button{position:relative;display:block;width:100%;padding:.72rem 1rem .72rem 1.9rem;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--ink-soft);font-family:var(--font-display);font-size:clamp(1.05rem,1.5vw,1.24rem);letter-spacing:.045em;text-align:left;cursor:pointer;transition:color .16s ease,background-color .16s ease,padding-left .16s ease}.menu button:before{content:"▶";position:absolute;left:.35rem;top:50%;transform:translateY(-50%) translate(-4px);font-size:.55em;color:var(--gold);opacity:0;transition:opacity .16s ease,transform .16s ease}.menu button:hover,.menu button:focus-visible{color:var(--ink);background:linear-gradient(90deg,rgb(82 227 221 / .12),transparent 72%);padding-left:2.25rem}.menu button:hover:before,.menu button:focus-visible:before{opacity:1;transform:translateY(-50%) translate(0)}.menu button.primary{color:var(--ink)}.menu button.primary:after{content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:2px;background:linear-gradient(180deg,var(--cyan),transparent)}.mi-sub{display:block;margin-top:.1rem;font-family:var(--font-body);font-size:.72rem;letter-spacing:.04em;color:var(--ink-dim)}.title-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:30vh;z-index:1}.title-art:before{content:"";position:absolute;width:min(46vw,560px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgb(120 238 233 / .16),transparent 68%)}.snowflake-mark{position:relative;width:min(43vw,540px);height:auto;opacity:.82;will-change:transform,opacity;animation:breathe 18s ease-in-out infinite}.title-foot{position:absolute;left:clamp(2.5rem,7vw,6.5rem);right:clamp(2.5rem,7vw,6.5rem);bottom:clamp(1.1rem,3vh,2rem);z-index:2;display:flex;justify-content:space-between;gap:1.5rem;font-size:.72rem;letter-spacing:.03em;color:var(--ink-dim)}.warn-box{max-width:600px;margin:1.4rem 0 0;padding:.75rem 1rem;border:1px solid rgb(240 220 154 / .35);border-left:3px solid var(--gold);background:linear-gradient(90deg,rgb(240 220 154 / .08),transparent);color:var(--ink-soft);font-size:.82rem;line-height:1.65}.warn-box code{color:var(--gold);overflow-wrap:anywhere}.screen{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:var(--safe-t) calc(var(--safe-r) + clamp(.9rem,3vw,2.2rem)) calc(var(--safe-b) + 3rem) calc(var(--safe-l) + clamp(.9rem,3vw,2.2rem))}.screen-head{position:relative;margin:0 calc(-1*clamp(.9rem,3vw,2.2rem)) clamp(1.4rem,3vh,2.4rem);padding:clamp(1.4rem,3.4vw,2.4rem) clamp(1.4rem,4vw,3.2rem) clamp(1rem,2.4vw,1.5rem);overflow:hidden;border-top:1px solid rgb(150 244 240 / .4);border-bottom:1px solid rgb(150 244 240 / .3);background:radial-gradient(80% 160% at 84% 130%,rgb(82 227 221 / .22),transparent 60%),linear-gradient(180deg,#0d3c49,#0a303c 58%,#072530)}.screen-head:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(100deg,transparent 0 90px,rgb(160 250 245 / .05) 90px 92px,transparent 92px 230px),linear-gradient(180deg,rgb(255 255 255 / .06),transparent 30%)}.screen-head:after{content:"WHITE ALBUM 2";position:absolute;right:clamp(1.4rem,4vw,3.2rem);bottom:clamp(.9rem,2.2vw,1.4rem);font-family:var(--font-display);font-size:.7rem;letter-spacing:.26em;color:#eaf9f86b;white-space:nowrap}.screen-head h2{position:relative;z-index:1;margin:0;font-family:var(--font-script);font-style:italic;font-weight:400;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.05;letter-spacing:.015em;color:var(--ink);text-shadow:0 0 24px rgb(130 245 240 / .25)}.screen-sub{position:relative;z-index:1;max-width:72ch;margin:.45rem 0 0;font-size:.86rem;line-height:1.7;color:var(--ink-soft)}.screen-sub code{color:var(--cyan-soft)}.back{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.6rem;padding:.55rem 1.1rem;border:1px solid var(--line);background:linear-gradient(180deg,#12505d80,#06222bb3);color:var(--ink-soft);font-size:.86rem;letter-spacing:.03em;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:border-color .16s ease,color .16s ease,background-color .16s ease}.back:hover{border-color:var(--line-strong);color:var(--ink);background:linear-gradient(180deg,#186e7c8c,#082c36cc)}h3{position:relative;margin:2.2rem 0 .7rem;padding-bottom:.45rem;font-family:var(--font-script);font-style:italic;font-weight:400;font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:.02em;color:var(--cyan-soft)}h3:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--line),transparent 78%)}.chart,.endings,.rec,.slots,.log{list-style:none;padding:0;margin:0}.node,.ending,.slots li,.log li{border:1px solid var(--line-soft);background:linear-gradient(180deg,#0c3742a8,#051c24b8)}.node{position:relative;margin-bottom:.55rem;padding:.85rem 1rem .85rem 1.15rem;border-left:2px solid rgb(82 227 221 / .32);font-size:.9rem}.node-head{display:flex;gap:.75rem;align-items:baseline;flex-wrap:wrap;margin-bottom:.35rem}.date{color:var(--gold);font-size:.82rem;letter-spacing:.03em}.opt{padding:.22rem .35rem;line-height:1.65;color:var(--ink-soft);font-size:.88rem;border-left:1px solid transparent}.opt.chosen{border-left-color:var(--gold);background:linear-gradient(90deg,rgb(240 220 154 / .1),transparent 70%);color:var(--ink);padding-left:.6rem}.note{font-size:.8rem;margin-top:.4rem}.badge{display:inline-block;padding:.05rem .42rem;border:1px solid currentColor;border-radius:1px;font-family:var(--font-display);font-size:.68rem;letter-spacing:.06em;vertical-align:.08em}.badge.ok{color:#8fe8cb;background:#3cc8a014}.badge.warn{color:var(--gold);background:#f0dc9a14}.ending{position:relative;margin-bottom:.5rem;padding:.75rem 1rem .75rem 1.2rem;border-left:2px solid var(--line);font-size:.9rem}.ending.got{border-left-color:var(--gold)}.ending b{font-weight:400;font-size:1rem;color:var(--ink)}.ending .dim{margin-top:.15rem;font-size:.8rem}.rec{counter-reset:rec;display:grid;gap:.4rem}.rec li{counter-increment:rec;display:flex;align-items:baseline;gap:.8rem;padding:.55rem .2rem;border-bottom:1px solid var(--line-soft);color:var(--ink-soft);font-size:.9rem}.rec li:before{content:counter(rec,decimal-leading-zero);font-family:var(--font-display);font-size:.72rem;letter-spacing:.08em;color:var(--gold)}.save-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0 1.6rem}.save-row button,.import{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border:1px solid var(--line);background:linear-gradient(180deg,#12505d8c,#062029cc);color:var(--ink-soft);font-size:.84rem;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.save-row button:hover,.import:hover{border-color:var(--line-strong);color:var(--ink)}.slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:.55rem}.slots li{display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.4rem;padding:.6rem .8rem;border:1px solid var(--line);border-left:2px solid rgb(82 227 221 / .4);background:linear-gradient(100deg,rgb(82 227 221 / .08),transparent 42%),linear-gradient(180deg,#0c3a46cc,#051c24d9);font-size:.82rem;color:var(--ink-soft)}.slots li .slot-no{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.06em;color:var(--cyan-soft)}.slots li .slot-main{min-width:0}.slots li .slot-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;color:var(--ink);font-size:.92rem}.slots li .slot-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-dim);font-size:.72rem}.slot-actions{display:flex;gap:.3rem}.slot-actions button{padding:.28rem .55rem;border:1px solid var(--line-soft);background:#04181f8c;color:var(--ink-soft);font-size:.72rem;cursor:pointer}.slot-actions button:hover{border-color:var(--line-strong);color:var(--ink)}.slots li.empty{border-left-color:var(--line-soft);opacity:.78}.slots li.corrupt{border-left-color:var(--rose)}.slots.profile-card li{border-left-color:#f0dc9a8c;background:linear-gradient(100deg,rgb(240 220 154 / .09),transparent 44%),linear-gradient(180deg,#0e2e38d9,#05181fe6)}.slots.profile-card li .slot-no{color:var(--gold);font-size:.86rem;letter-spacing:.1em}.slots.profile-card li .slot-main span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.45}.slots.profile-card li .slot-main .profile-gates{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.slots.profile-card li.empty{border-left-color:var(--line-soft)}.native-note{margin:.1rem 0 .9rem;font-size:.78rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.import:focus-within{outline:2px solid var(--gold);outline-offset:3px}.fc-wrap{position:relative;overflow:auto;max-height:64vh;margin:.8rem 0 1rem;border:1px solid var(--line);background:radial-gradient(120% 90% at 70% 0%,rgb(18 90 104 / .22),transparent 62%),linear-gradient(180deg,#051e27,#03151c);box-shadow:inset 0 0 80px #00000059}.fc-svg{display:block;margin:0 auto}.fc-node{cursor:pointer}.fc-node:hover rect{stroke:var(--gold)}.fc-detail{position:relative;margin-bottom:.9rem;padding:.9rem 1.1rem .9rem 1.3rem;border:1px solid var(--line-soft);border-left:2px solid rgb(82 227 221 / .4);background:linear-gradient(180deg,#0b343f9e,#041a21b8);font-size:.86rem;line-height:1.7}.fc-detail-h{margin-bottom:.45rem;padding-bottom:.35rem;border-bottom:1px solid var(--line-soft)}.reader{position:relative;width:min(100vw,calc(100dvh * 16 / 9));aspect-ratio:16 / 9;margin:auto;overflow:hidden;background:#000;box-shadow:var(--shadow-deep);--reader-cursor: auto;cursor:var(--reader-cursor)}.reader.stage-idle{--reader-cursor: none}.reader.stage-idle .reader-top,.reader.stage-idle .advance-hint{opacity:.16;transition:opacity .6s ease}.reader.text-hidden .reader-top,.reader.text-hidden .reader-bottom,.reader.text-hidden .reader-progress{opacity:0;pointer-events:none;transition:opacity .26s ease}.reader.text-hidden{--reader-cursor: none}.reader-progress{position:absolute;top:0;left:0;right:0;z-index:95;height:2px;background:#7eeee91a;pointer-events:none;transition:opacity .4s ease}.reader-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan-deep),var(--cyan));box-shadow:0 0 10px #52e3dd80;transition:width .4s ease}.stage{position:absolute;inset:0;background:#000;overflow:hidden}.stage.stage-black{background:#000}.stage.stage-black:after{opacity:0}.stage:after{content:"";position:absolute;inset:0;z-index:60;pointer-events:none;transition:opacity .4s ease;background:linear-gradient(180deg,rgb(2 12 16 / .55) 0%,transparent 16%),linear-gradient(0deg,rgb(2 12 16 / .62) 0%,transparent 44%),radial-gradient(120% 90% at 50% 45%,transparent 58%,rgb(0 6 9 / .42))}.stage-tag{position:absolute;left:calc(var(--safe-l) + .55rem);bottom:calc(var(--safe-b) + .5rem);z-index:5;padding:.16rem .45rem;border:1px solid rgb(240 220 154 / .28);background:#020c108c;color:#f0dc9ab8;font-family:var(--font-display);font-size:.6rem;letter-spacing:.04em;pointer-events:none}.stage-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1}.stage-ov{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:50}.stage-spr{position:absolute;bottom:0;height:100%;width:auto;transform:translate(-50%);pointer-events:none;transition:opacity .25s ease,translate .25s ease,left .35s ease}.demo-scene{position:absolute;inset:0;z-index:0;overflow:hidden;background:radial-gradient(34% 30% at 76% 22%,rgb(190 245 250 / .14),transparent 70%),linear-gradient(180deg,#030e18,#082434 44%,#154b58 68%,#071a22)}.demo-moon{position:absolute;top:13%;right:17%;width:7.5%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff,#dff6f6 42%,#9bc9d3);box-shadow:0 0 26px 8px #d2fafc4d,0 0 90px 34px #78dce61f;opacity:.85}.demo-skyline{position:absolute;left:-1%;right:-1%;bottom:25%;height:24%;background:linear-gradient(180deg,#07141c,#020a0f);clip-path:polygon(0 60%,4% 60%,4% 38%,9% 38%,9% 52%,15% 52%,15% 25%,20% 25%,20% 50%,26% 50%,26% 42%,31% 42%,31% 62%,38% 62%,38% 30%,44% 30%,44% 55%,51% 55%,51% 18%,55% 18%,55% 45%,62% 45%,62% 35%,68% 35%,68% 58%,74% 58%,74% 28%,79% 28%,79% 48%,86% 48%,86% 38%,91% 38%,91% 60%,96% 60%,96% 32%,100% 32%,100% 100%,0 100%);opacity:.9}.demo-skyline:before{content:"";position:absolute;inset:0;background-image:radial-gradient(1.6px 1.6px at 12px 14px,rgb(240 220 154 / .65),transparent 60%),radial-gradient(1.4px 1.4px at 34px 28px,rgb(160 240 245 / .5),transparent 60%),radial-gradient(1.5px 1.5px at 52px 8px,rgb(240 220 154 / .5),transparent 60%),radial-gradient(1.2px 1.2px at 6px 38px,rgb(160 240 245 / .4),transparent 60%);background-size:64px 44px;opacity:.5}.demo-snowfield{position:absolute;left:-10%;right:-10%;bottom:-10%;height:46%;border-radius:50% 50% 0 0/26% 26% 0 0;background:linear-gradient(180deg,rgb(196 236 239 / .5) 0%,rgb(110 170 180 / .16) 10%,transparent 34%),radial-gradient(90% 80% at 50% 0%,#174b57,#0a2832 48%,#041218);opacity:.95}.demo-scene:after{content:"";position:absolute;inset:-300px -10% 0;pointer-events:none;opacity:.5;will-change:transform;background-image:radial-gradient(1.4px 1.4px at 24% 20%,#fff 45%,transparent 55%),radial-gradient(1px 1px at 62% 46%,#eafcff 45%,transparent 55%),radial-gradient(1.6px 1.6px at 42% 74%,#fff 45%,transparent 55%),radial-gradient(1.1px 1.1px at 84% 84%,#dff8ff 45%,transparent 55%),radial-gradient(1.3px 1.3px at 10% 58%,#fff 45%,transparent 55%);background-size:300px 300px;animation:snowfall-demo 45s linear infinite}.reader-top{position:absolute;top:0;left:0;right:0;z-index:90;display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:calc(var(--safe-t) + clamp(.5rem,1.4vw,.9rem)) calc(var(--safe-r) + clamp(.7rem,2vw,1.4rem)) .5rem calc(var(--safe-l) + clamp(.7rem,2vw,1.4rem));pointer-events:none;background:linear-gradient(180deg,rgb(2 12 16 / .72),transparent);transition:opacity .4s ease}.reader-where{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:clamp(.64rem,.95vw,.78rem);letter-spacing:.06em;color:var(--ink-dim);text-shadow:0 1px 2px #000}.reader-where .chapter{color:var(--gold)}.reader-where .place{color:var(--ink-soft)}.hud-btns{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:flex-end;gap:2px;flex:0 1 auto;min-width:0;pointer-events:auto;border:1px solid rgb(126 238 233 / .18);background:#03161cd6}.hud-more{display:contents}.hud-btns button{flex:0 0 auto;padding:.34rem .5rem;border:0;border-left:1px solid rgb(126 238 233 / .12);background:transparent;color:var(--ink-soft);font-family:var(--font-body);font-size:clamp(.6rem,.92vw,.76rem);letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:color .14s ease,background-color .14s ease}.hud-expand,.hud-more-quick{display:none}.hud-btns button:first-child{border-left:0}.hud-btns button:hover,.hud-btns button:focus-visible{color:#052027;background:var(--cyan)}.hud-btns button.active{color:var(--gold)}.reader-bottom{position:absolute;left:0;right:0;bottom:0;z-index:80;display:flex;flex-direction:column;align-items:center;gap:clamp(.3rem,.8vh,.55rem);padding:0 calc(var(--safe-r) + clamp(.7rem,2.2vw,2rem)) calc(var(--safe-b) + clamp(.55rem,1.6vh,1rem)) calc(var(--safe-l) + clamp(.7rem,2.2vw,2rem));pointer-events:none;transition:opacity .4s ease}.textbox{position:relative;display:flex;flex-direction:column;width:min(100%,1120px);min-height:clamp(6.4rem,17vh,10.5rem);max-height:calc(var(--reader-h, 60vh) * .46);padding:clamp(.85rem,1.8vw,1.35rem) clamp(1rem,2.4vw,2.2rem) clamp(1rem,2vw,1.5rem);pointer-events:auto;overflow:hidden;color:var(--ink);font-size:clamp(.85rem,var(--fontsize),1.7rem);line-height:1.95;text-align:left;text-shadow:0 1px 2px rgb(0 18 24 / .85),0 0 16px rgb(0 40 52 / .55);border:1px solid rgb(160 250 245 / .58);border-radius:3px;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px);background:radial-gradient(120% 140% at 84% 0%,rgb(82 227 221 / .26),transparent 54%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.11' stroke-width='2' stroke-linecap='round'%3E%3Cg id='a'%3E%3Cpath d='M100 100V14'/%3E%3Cpath d='M100 48l-14-12M100 48l14-12'/%3E%3Cpath d='M100 76l-9-8M100 76l9-8'/%3E%3Cpath d='M100 14l-6-6M100 14l6-6'/%3E%3C/g%3E%3Cuse href='%23a' transform='rotate(60 100 100)'/%3E%3Cuse href='%23a' transform='rotate(120 100 100)'/%3E%3Cuse href='%23a' transform='rotate(180 100 100)'/%3E%3Cuse href='%23a' transform='rotate(240 100 100)'/%3E%3Cuse href='%23a' transform='rotate(300 100 100)'/%3E%3C/g%3E%3C/svg%3E") right 8% center / 34% auto no-repeat,linear-gradient(180deg,#0d4c58f0,#07303bf2 26%,#05222bf7 68%,#03181ffa);box-shadow:inset 0 1px #ffffff24}.textbox:after{content:"";position:absolute;left:1.4rem;right:1.4rem;bottom:.55rem;height:1px;background:linear-gradient(90deg,transparent,rgb(160 250 245 / .35),transparent);pointer-events:none}.textbox-scroll{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}.textbox-scroll::-webkit-scrollbar{width:0;height:0}.textbox-scroll[data-overflow][data-fade-top][data-fade-bottom]{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 .9rem,#000 calc(100% - .7rem),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 .9rem,#000 calc(100% - .7rem),transparent 100%)}.textbox-scroll[data-overflow][data-fade-top]:not([data-fade-bottom]){-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 .9rem);mask-image:linear-gradient(180deg,transparent 0,#000 .9rem)}.textbox-scroll[data-overflow][data-fade-bottom]:not([data-fade-top]){-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - .7rem),transparent 100%);mask-image:linear-gradient(180deg,#000 calc(100% - .7rem),transparent 100%)}.textbox.prompt-only{width:min(100%,780px);min-height:0;padding:.7rem 1.4rem .8rem;background:linear-gradient(180deg,#0c424ef2,#05222bf7)}.textbox.prompt-only:after{display:none}.speaker{margin-bottom:.18rem;font-family:var(--font-display);font-size:.88em;font-weight:400;letter-spacing:.12em;color:#f6e6b8;text-shadow:0 1px 2px rgb(0 20 26 / .95),0 0 14px rgb(0 20 26 / .55)}.say{color:var(--ink)}.narrate{color:var(--ink-soft)}.whisper{color:#c9eef8;font-style:italic}ruby rt{font-size:.58em;color:var(--ink-dim)}.choices{display:flex;flex-direction:column;gap:.42rem;width:min(100%,780px);max-height:42vh;margin:0 auto;overflow:auto;pointer-events:auto}.choice-btn{width:100%;padding:.72rem 1rem;border:1px solid rgb(150 244 240 / .5);background:linear-gradient(100deg,rgb(82 227 221 / .12),transparent 46%),linear-gradient(180deg,#0a3a46f0,#051e27f0);color:var(--ink);font-family:var(--font-body);font-size:clamp(.86rem,1.2vw,1rem);line-height:1.6;text-align:left;cursor:pointer;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:color .15s ease,border-color .15s ease,background-color .15s ease}.choice-btn:hover:not(:disabled),.choice-btn:focus-visible:not(:disabled){border-color:var(--cyan-soft);color:#042126;background:linear-gradient(100deg,#b7faf5e6,#52e3ddf0 58%,#1496a0f0)}.choice-btn.locked,.choice-btn:disabled{opacity:.48;cursor:not-allowed;border-color:#96f4f040;color:var(--ink-dim);background:#051820c7}.lock{margin-left:.45rem;color:var(--gold);font-size:.8em}.choice-prompt{width:min(100%,780px);margin:0 auto .1rem;padding:0 .2rem;text-align:left;font-size:.72rem;letter-spacing:.14em;color:var(--cyan-soft);text-shadow:0 1px 2px #000}.advance-hint{pointer-events:none;padding:.18rem .7rem .15rem;border:1px solid rgb(126 238 233 / .1);background:#03141a7a;font-size:clamp(.6rem,.9vw,.7rem);letter-spacing:.04em;color:var(--ink-dim);text-align:center;text-shadow:0 1px 2px #000}.movie-layer{position:absolute;inset:0;z-index:70;background:#000;overflow:hidden;cursor:default}.movie-layer[hidden]{display:none}.reader.movie-mode{--reader-cursor: none}.reader.movie-idle .movie-hud,.reader.movie-mode .reader-top,.reader.movie-mode .reader-bottom,.reader.movie-mode .reader-progress{opacity:0;pointer-events:none}.reader.movie-mode .hud-btns,.reader.movie-mode .textbox,.reader.movie-mode .choices,.reader.movie-mode .advance-hint{pointer-events:none}.reader.movie-mode .stage:after{opacity:0}.movie-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;display:block}.movie-video[hidden]{display:none}.movie-warm{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:-9999px}.movie-subs{position:absolute;left:calc(var(--safe-l) + 5%);right:calc(var(--safe-r) + 5%);display:block;padding:.35em .6em;text-align:center;font-family:var(--font-body);font-size:clamp(.95rem,2.1vw,1.6rem);line-height:1.55;letter-spacing:.02em;color:#f7fdff;white-space:pre-line;max-height:40%;overflow:hidden;text-shadow:0 0 2px rgb(0 0 0 / .95),0 1px 2px rgb(0 0 0 / .9),0 0 12px rgb(0 0 0 / .75),0 0 28px rgb(0 0 0 / .55);pointer-events:none;isolation:isolate;-webkit-text-size-adjust:100%}.movie-subs:empty{display:none}.movie-cue{margin:0}.movie-sub-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:1.6em;align-items:start;text-align:left}.movie-sub-cols .movie-cue-left{grid-column:1;text-align:left}.movie-sub-cols .movie-cue-right{grid-column:2;text-align:right}.movie-sub-cols-lone{column-gap:0}.movie-subs>.movie-cue-left{text-align:left}.movie-subs>.movie-cue-right{text-align:right}.movie-subs:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgb(0 4 7 / .58) 0%,rgb(0 4 7 / .34) 48%,transparent 78%);pointer-events:none}.movie-subs-top{top:calc(var(--safe-t) + 6%);color:#fbf6e4}.movie-subs-bottom{bottom:calc(var(--safe-b) + 5.2rem);max-height:42%}.movie-hint{margin:0;padding:0 .15rem;font-family:var(--font-display);font-size:.62rem;letter-spacing:.04em;line-height:1.4;color:#7ab2b8b8;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:none)and (pointer:coarse){.movie-hint{display:none}}.movie-subs i{font-style:italic}.movie-subs b{font-weight:400;color:#fff6d8}.movie-hud{position:absolute;left:50%;bottom:calc(var(--safe-b) + .9rem);z-index:3;display:flex;flex-direction:column;gap:.35rem;width:min(78%,460px);padding:.4rem .55rem .35rem;transform:translate(-50%);border:1px solid rgb(160 250 245 / .2);background:#0310159e;-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);opacity:1;transition:opacity .42s ease}.movie-hud:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgb(255 255 255 / .05),transparent 60%)}.movie-bar{position:relative;height:1px;background:#7eeee92e;overflow:hidden}.movie-bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan-deep),var(--cyan));box-shadow:0 0 8px #52e3dd80;transition:width .2s linear}.movie-ctl{display:flex;align-items:center;justify-content:flex-end;gap:.3rem}.movie-ctl button{padding:.24rem .55rem;border:1px solid transparent;background:transparent;color:#eaf9f8b8;font-family:var(--font-display);font-size:.72rem;letter-spacing:.05em;cursor:pointer;transition:color .14s ease,border-color .14s ease,background-color .14s ease}.movie-ctl button:hover,.movie-ctl button:focus-visible{color:var(--ink);border-color:#7eeee94d;background:#52e3dd1a}.movie-ctl button.active{color:var(--gold)}.movie-ctl .movie-skip{margin-left:auto;padding:.24rem .85rem;border-color:#f0dc9a59;color:var(--gold);background:#f0dc9a12}.movie-ctl .movie-skip:hover,.movie-ctl .movie-skip:focus-visible{color:#1b1403;border-color:var(--gold);background:var(--gold)}.movie-unmute{position:absolute;left:50%;top:50%;z-index:4;padding:.5rem 1.1rem;transform:translate(-50%,-50%);border:1px solid rgb(160 250 245 / .4);background:#031015b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-family:var(--font-display);font-size:.82rem;letter-spacing:.08em;cursor:pointer;box-shadow:0 0 24px #52e3dd2e}.movie-unmute:hover,.movie-unmute:focus-visible{border-color:var(--cyan-soft);color:#042126;background:var(--cyan-soft)}.movie-unmute[hidden]{display:none}.movie-missing{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1.5rem;text-align:center;background:radial-gradient(70% 60% at 50% 42%,rgb(12 58 70 / .35),transparent 72%),#000}.movie-missing[hidden]{display:none}.movie-missing-title{margin:0;font-family:var(--font-display);font-size:clamp(.95rem,1.8vw,1.15rem);letter-spacing:.04em;color:var(--ink-soft)}.movie-missing-note{margin:0;max-width:34ch;font-size:clamp(.72rem,1.2vw,.82rem);line-height:1.6;color:var(--ink-dim)}.movie-continue{margin-top:.4rem;padding:.45rem 1.4rem;border:1px solid rgb(150 244 240 / .4);background:linear-gradient(180deg,#12505d80,#062029b3);color:var(--ink);font-family:var(--font-display);font-size:.82rem;letter-spacing:.06em;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.movie-continue:hover,.movie-continue:focus-visible{border-color:var(--cyan-soft);background:linear-gradient(180deg,#186e7c99,#082c36cc)}.textbox.movie-host{visibility:hidden}.settings{display:grid;gap:1.4rem;max-width:760px}.settings-group{padding:.4rem 0 .2rem 1.1rem;border-left:1px solid var(--line)}.settings-group h3{margin-top:0}.setting{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(0,1.1fr);align-items:center;gap:1rem;padding:.62rem 0;border-bottom:1px solid var(--line-soft);font-size:.9rem;color:var(--ink-soft)}.setting:last-child{border-bottom:0}.setting .setting-label{display:flex;flex-direction:column;gap:.1rem}.setting .setting-label small{color:var(--ink-dim);font-size:.72rem;line-height:1.5}.setting input[type=range]{width:100%;height:22px;appearance:none;background:transparent;cursor:pointer}.setting input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--cyan),rgb(82 227 221 / .15))}.setting input[type=range]::-moz-range-track{height:2px;background:linear-gradient(90deg,var(--cyan),rgb(82 227 221 / .15))}.setting input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-5px;border:1px solid var(--cyan-soft);border-radius:0;background:var(--night-2);box-shadow:0 0 8px #52e3dd66}.setting input[type=range]::-moz-range-thumb{width:12px;height:12px;border:1px solid var(--cyan-soft);border-radius:0;background:var(--night-2)}.setting .range-out{min-width:4.2rem;text-align:right;color:var(--gold);font-family:var(--font-display);font-size:.78rem;letter-spacing:.04em}.range-row{display:flex;align-items:center;gap:.55rem;min-width:0}.range-row input[type=range]{flex:1;min-width:0}.setting input[type=checkbox]{justify-self:start;width:20px;height:20px;appearance:none;border:1px solid var(--line-strong);background:#04181f99;cursor:pointer;position:relative}.setting input[type=checkbox]:checked{background:linear-gradient(180deg,var(--cyan),var(--cyan-deep));border-color:var(--cyan-soft)}.setting input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #042126;border-width:0 2px 2px 0;transform:rotate(45deg)}.log{max-width:860px;max-height:72vh;overflow:auto;padding-right:.4rem}.log li{margin-bottom:0;padding:.75rem 1rem .75rem 1.15rem;border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line-soft);background:linear-gradient(90deg,rgb(12 55 66 / .36),transparent 72%);font-size:.9rem;line-height:1.8;color:var(--ink-soft);white-space:pre-line;overflow-wrap:anywhere}.log li b{display:inline-block;margin-right:.5rem;font-weight:400;font-family:var(--font-display);letter-spacing:.06em;color:var(--gold)}.novel-list{display:grid;gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none}.novel-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.novel-list a,.novel-list button{display:block;width:100%;padding:.75rem 1rem .75rem 1.2rem;border:1px solid var(--line);border-left:2px solid rgb(82 227 221 / .36);background:linear-gradient(90deg,rgb(82 227 221 / .07),transparent 54%);color:var(--ink-soft);font-size:.9rem;text-align:left;text-decoration:none;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.novel-list a:hover,.novel-list button:hover{color:var(--ink);border-color:var(--line-strong);background:linear-gradient(90deg,rgb(82 227 221 / .14),transparent 58%)}#toast{position:fixed;left:50%;bottom:1.4rem;z-index:200;transform:translate(-50%) translateY(8px);max-width:min(92vw,520px);padding:.6rem 1.1rem;border:1px solid var(--line-strong);border-left:3px solid var(--gold);background:linear-gradient(180deg,#0b343ff7,#041a21fa);color:var(--ink);font-size:.82rem;letter-spacing:.02em;box-shadow:var(--shadow-deep);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}@keyframes snowfall{0%{transform:translateZ(0)}to{transform:translate3d(0,420px,0)}}@keyframes snowfall-demo{0%{transform:translateZ(0)}to{transform:translate3d(0,300px,0)}}@keyframes breathe{0%,to{opacity:.6;transform:scale(1) rotate(0)}50%{opacity:.75;transform:scale(1.015) rotate(1.5deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.title-snow,.snowflake-mark{animation:none}}@media(max-width:900px){.title{grid-template-columns:minmax(0,1fr);align-content:center;padding-bottom:calc(var(--safe-b) + 6rem)}.title-art{position:absolute;inset:0;min-height:0;opacity:.32;justify-content:flex-end;align-items:flex-start;padding-top:8vh;pointer-events:none}.snowflake-mark{width:78vw;max-width:520px}.title-main{max-width:620px}.screen-sub{padding-right:0}.screen-head:after{display:none}}@media(max-width:620px){.title{padding:calc(var(--safe-t) + 2rem) calc(var(--safe-r) + 1.25rem) calc(var(--safe-b) + 6rem) calc(var(--safe-l) + 1.25rem)}.title h1{white-space:normal;flex-wrap:wrap;font-size:clamp(2.1rem,12vw,3.4rem);letter-spacing:.1em}.title-over{font-size:.64rem;letter-spacing:.32em}.title-foot{left:calc(var(--safe-l) + 1.25rem);right:calc(var(--safe-r) + 1.25rem);flex-direction:column;gap:.2rem}.slots{grid-template-columns:1fr}.slots li{grid-template-columns:2.6rem minmax(0,1fr)}.slot-actions{grid-column:2;justify-content:flex-start;margin-top:.25rem}.setting{grid-template-columns:1fr;gap:.35rem}.setting input[type=checkbox]{order:-1}.textbox{clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);min-height:5.6rem}}@media(max-width:900px){.hud-btns{position:relative;flex-wrap:nowrap}.hud-expand{display:block}.hud-btns>.hud-quick{display:none}.hud-btns>.hud-more{display:none;position:absolute;top:calc(100% + 2px);right:0;flex-direction:column;min-width:9rem;max-height:min(60dvh,22rem);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgb(126 238 233 / .18);background:#03161cf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 30px #00060999}.hud-btns.more-open>.hud-more{display:flex}.hud-btns>.hud-more button,.hud-btns>.hud-more .hud-more-quick{display:block;border-left:0;border-top:1px solid rgb(126 238 233 / .12);text-align:left;padding:.5rem .8rem}.hud-btns>.hud-more button:first-child{border-top:0}}@media(max-height:460px)and (min-aspect-ratio:1/1){.reader-top{padding-top:calc(var(--safe-t) + .3rem);padding-bottom:.25rem;background:linear-gradient(180deg,rgb(2 12 16 / .6),transparent 78%)}.reader-top .hud-btns button{padding:.24rem .42rem;font-size:.62rem}.reader-where{font-size:.62rem}.reader-where .place{display:none}.reader-bottom{gap:.22rem;padding-bottom:calc(var(--safe-b) + .4rem)}.textbox{max-height:calc(var(--reader-h, 50vh) * .62);min-height:0;padding:.5rem .9rem .6rem;line-height:1.65;font-size:clamp(.78rem,var(--fontsize),1.1rem)}.textbox:after{display:none}.advance-hint{display:none}.choice-btn{padding:.5rem .8rem;font-size:.82rem}.choices{max-height:40vh}}@media(hover:none)and (pointer:coarse){.advance-hint{display:none}.hud-btns button{min-height:2.4rem;padding:.38rem .55rem}.choice-btn{min-height:2.9rem}.movie-ctl button{min-height:2.4rem;padding:.4rem .8rem}.movie-ctl .movie-skip{min-height:2.4rem;padding:.4rem 1.1rem}}@media(max-aspect-ratio:1/1)and (max-width:820px){.reader{display:flex;flex-direction:column;width:100vw;height:100dvh;min-height:0;aspect-ratio:auto;background:#010b0f;overflow:hidden}.stage{position:sticky;inset:auto;z-index:1;flex:none;width:100%;aspect-ratio:16 / 9;max-height:46dvh}.reader-top{position:absolute;top:0;z-index:90;padding-top:calc(var(--safe-t) + .4rem)}.reader-bottom{position:relative;inset:auto;z-index:2;flex:1 1 auto;min-height:0;overflow-y:auto;padding:.8rem calc(var(--safe-r) + .7rem) calc(var(--safe-b) + 1rem) calc(var(--safe-l) + .7rem);border-top:1px solid var(--line);background:radial-gradient(80% 46% at 50% 0%,rgb(18 78 92 / .38),transparent 72%),linear-gradient(180deg,#061b23,#010b0f 82%);pointer-events:auto}.reader-where{max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-where .place{display:none}.hud-btns button{min-height:2.5rem;padding:.42rem .5rem;font-size:.7rem}.textbox{max-height:calc(54dvh - 7rem);font-size:clamp(.95rem,var(--fontsize),1.7rem);line-height:1.85;min-height:5.5rem}.textbox-scroll{overflow-y:auto}.advance-hint{margin-top:.3rem}.movie-layer{position:absolute;inset:0;z-index:70}.movie-subs{left:calc(var(--safe-l) + 4%);right:calc(var(--safe-r) + 4%);font-size:clamp(.9rem,3.4vw,1.3rem);max-height:38%}.movie-hud{width:min(92%,460px)}.movie-sub-cols{column-gap:1em}}@media(max-aspect-ratio:1/1)and (max-height:700px){.stage{max-height:38dvh}.textbox{min-height:5.5rem}}
