:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-color);background:var(--bg-main);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg-main:#fafafc;--window-bg:#fff0f5;--text-color:#2d1b2d;--accent-pink:#f36;--accent-ruby:#d61c4e;--surface:#fff;--surface-raised:#fff7fa;--text-muted:#6d5a69;--border:#2d1b2d24;--border-strong:#2d1b2d40;--danger:#a51e3d;--focus-ring:#d61c4e;--accent-pink-soft:#ff33661a;--accent-pink-border:#f365;--shadow-soft:#2d1b2d18;--shadow-strong:#2d1b2d30;--button-bg:#f3e8ef;--button-hover:#fbe1ea;--scene-base:#846d83;--scene-mid:#bfa6b9;--scene-cool:#8293a5;--scene-overlay:#493745b3;--scene-overlay-soft:#49374580;--scene-border:#ffffffb3;--stage-backdrop:#171017a8;--notice-error-bg:#fff0f2;--notice-error-border:#a51e3d66;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% 0, var(--accent-pink-soft), transparent 58%), var(--bg-main);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.app-shell{flex-direction:column;width:min(100% - 2rem,76rem);min-height:100vh;margin:0 auto;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.75rem 0;display:flex}.brand{color:var(--text-color);font-weight:700;text-decoration:none}.brand span{color:var(--accent-ruby);margin-left:.4rem;font-size:.72rem}.top-nav,.toolbar,.home-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.page-content{flex:1;padding:clamp(1rem,3vw,2rem) 0}.panel{color:var(--text-color);border:1px solid var(--border);background:var(--surface);box-shadow:0 1.5rem 5rem var(--shadow-soft);border-radius:1rem;padding:clamp(1rem,3vw,1.5rem)}.narrow-panel{width:min(100%,38rem);margin:2rem auto}.home-screen{isolation:isolate;border-color:var(--accent-pink-border);background:linear-gradient(145deg, var(--surface) 0%, var(--window-bg) 100%);text-align:center;width:min(100%,54rem);margin:clamp(2rem,10vh,7rem) auto 0;padding:clamp(2rem,7vw,5rem);position:relative;overflow:hidden}.home-screen:before{z-index:-1;border:1px solid var(--accent-pink-border);width:20rem;height:20rem;box-shadow:0 0 0 2rem var(--accent-pink-soft), 0 0 0 4rem var(--accent-pink-soft);content:"";pointer-events:none;border-radius:50%;position:absolute;top:-8rem;right:-7rem}.home-screen h1,.narrow-panel h1,.result-screen h1,.panel>h1{margin:0;font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.4}.home-screen h1{text-wrap:balance;max-width:18ch;margin-inline:auto}.eyebrow{color:var(--accent-ruby);letter-spacing:.16em;margin:0 0 .8rem;font-size:.75rem;font-weight:700}.muted,.dialogue-hint,.footer{color:var(--text-muted)}.small{font-size:.84rem}.home-actions{justify-content:center;margin:2rem 0}.button{border:1px solid var(--border-strong);min-height:2.75rem;color:var(--text-color);background:var(--button-bg);cursor:pointer;border-radius:.65rem;padding:.65rem 1rem;transition:background-color .12s,border-color .12s,transform .12s}.button:hover:not(:disabled){border-color:var(--accent-ruby);background:var(--button-hover);transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.48}.button--primary{border-color:var(--accent-pink);color:var(--text-color);background:var(--accent-pink);font-weight:700}.button--primary:hover:not(:disabled){border-color:var(--accent-ruby);background:var(--accent-ruby)}.button--quiet{color:var(--text-muted);background:0 0}.top-nav .button{min-height:2.35rem;padding:.45rem .7rem;font-size:.88rem}.stack{gap:.75rem;margin:1.5rem 0;display:grid}.dialogue-window{border:1px solid var(--accent-pink-border);min-height:9.5rem;color:var(--text-color);background:var(--window-bg);box-shadow:0 .5rem 2rem var(--shadow-strong);border-radius:.85rem;padding:1rem 1.2rem;position:absolute;bottom:1rem;left:1rem;right:1rem}.dialogue-window--fullscreen{background:var(--window-bg);border-radius:.65rem;flex-direction:column;justify-content:center;min-height:0;padding:clamp(1.25rem,5vw,4rem);font-size:clamp(1.1rem,2.2vw,1.5rem);display:flex;inset:4.5rem 1.5rem 1.5rem}.dialogue-window--fullscreen>p{white-space:pre-wrap;max-width:62rem;margin:.75rem auto;line-height:2}.dialogue-window--fullscreen>.speaker,.dialogue-window--fullscreen>.dialogue-hint,.dialogue-window--fullscreen>.button,.dialogue-window--fullscreen>.choice-list{align-self:flex-start}.dialogue-window--fullscreen>.speaker{margin:0 0 .5rem;font-size:.9rem}.speaker{border:1px solid var(--accent-pink);background:var(--accent-pink);border-radius:.5rem;margin:-1.65rem 0 .4rem;padding:.3rem .8rem;font-weight:700;display:inline-block}.narration-window{border-color:var(--border-strong)}.dialogue-window>p{min-height:2rem;margin:.25rem 0 .8rem;line-height:1.7}.dialogue-hint{margin:.4rem 0;font-size:.78rem;display:block}.dialogue-window>.button,.dialogue-window>.choice-list{margin-top:.35rem}.choice-list{flex-wrap:wrap;gap:.5rem;display:flex}.detail-grid{grid-template-columns:auto 1fr;gap:.5rem .75rem;font-size:.86rem;display:grid}.detail-grid dt{color:var(--text-muted)}.detail-grid dd{overflow-wrap:anywhere;text-align:right;margin:0}.action-grid,.slot-grid,.ending-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;display:grid}.action-card,.slot-card,.ending-card{border:1px solid var(--border);background:var(--surface-raised);border-radius:.75rem;padding:1rem}.slot-card h2,.ending-card h2{margin:0 0 .5rem;font-size:1rem}.action-card p,.slot-card p,.ending-card p{color:var(--text-muted);font-size:.88rem}.action-card .button{width:100%}.stage-confirm{z-index:5;border-color:var(--accent-pink-border);width:min(100% - 2rem,30rem);box-shadow:0 0 0 100vmax var(--stage-backdrop), 0 1rem 4rem var(--shadow-strong);position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.slot-grid,.ending-grid{margin:1.5rem 0}.slot-card.is-corrupted{border-color:var(--danger)}.error-text,.notice--error{color:var(--danger)}.slot-card .toolbar{margin-top:.8rem}.collection-rate{color:var(--accent-ruby);font-size:1.2rem;font-weight:700}.ending-card.is-collected{border-color:var(--accent-pink-border)}.instruction-list{padding-left:1.3rem;line-height:1.8}.account-panel,.import-save-panel{border:1px solid var(--border);background:var(--surface-raised);border-radius:.75rem;margin:1rem 0;padding:1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.result-screen{width:min(100%,52rem);margin:2rem auto}.result-screen blockquote{border-left:3px solid var(--accent-pink);background:var(--surface-raised);margin:1rem 0;padding:.75rem 1rem}.result-screen blockquote p{margin-bottom:0}.notice{border:1px solid var(--border);background:var(--surface-raised);border-radius:.65rem;margin:.75rem 0 0;padding:.8rem 1rem}.notice--error{border-color:var(--notice-error-border);background:var(--notice-error-bg)}.footer{text-align:center;padding:.8rem 0 1.2rem;font-size:.78rem}.boot-message{width:min(100% - 2rem,40rem);color:var(--text-muted);text-align:center;margin:20vh auto}.loading-panel{text-align:center;margin-top:15vh}.loading-indicator{border:3px solid var(--border-strong);border-top-color:var(--accent-pink);border-radius:50%;width:2rem;height:2rem;margin-top:1rem;animation:.9s linear infinite loading-spin;display:inline-block}@keyframes loading-spin{to{transform:rotate(360deg)}}.error-panel{margin:10vh auto}@media (width<=760px){.topbar{flex-direction:column;align-items:flex-start}.top-nav{width:100%}}@media (width<=420px){.app-shell{width:min(100% - 1rem,76rem)}.home-actions>.button{width:100%}.slot-card .toolbar>.button{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--scene-dawn:#f0bec9;--scene-evening:#d99aae;--scene-night:#687c96;--silhouette-color:#120f19;--dialogue-glass:#fff0f5e6;--scene-window-sky:#ffe0e7;--scene-window-frame:#ffffffb3;--scene-floor-shadow:#5a475840}.app-shell--game{width:100%;min-height:100svh;margin:0}.app-shell--game .page-content{min-height:100svh;padding:0;display:flex}.app-shell--game .notice{z-index:8;width:min(100% - 2rem,42rem);position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.game-screen,.scene{width:100%;min-height:100svh}.scene{isolation:isolate;background:var(--scene-base);cursor:pointer;border:0;border-radius:0;padding:0;position:relative;overflow:hidden}.scene-background{z-index:-1;background:radial-gradient(ellipse at 50% 20%, var(--scene-mid), transparent 58%), linear-gradient(155deg, var(--scene-base), var(--scene-cool));position:absolute;inset:0}.scene-background--studio-dusk{background:radial-gradient(ellipse at 72% 24%, var(--scene-evening), transparent 42%), linear-gradient(165deg, var(--scene-evening), var(--scene-base) 58%, var(--scene-cool))}.scene-background--studio-morning{background:radial-gradient(ellipse at 66% 20%, var(--scene-dawn), transparent 48%), linear-gradient(165deg, var(--scene-dawn), var(--scene-mid) 60%, var(--scene-cool))}.scene-background--studio-night{background:radial-gradient(ellipse at 78% 18%, var(--scene-night), transparent 46%), linear-gradient(160deg, var(--scene-night), var(--scene-base) 68%)}.scene-background-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scene-heading,.scene-controls{z-index:3;position:absolute;top:clamp(1rem,3vw,2.5rem)}.scene-heading{border-left:2px solid var(--accent-pink);color:var(--bg-main);background:var(--scene-overlay-soft);pointer-events:none;border-radius:.7rem;gap:.2rem;padding:.7rem 1rem;display:grid;left:clamp(1rem,4vw,3.5rem)}.scene-heading span{color:var(--accent-pink);letter-spacing:.12em;font-size:.75rem;font-weight:700}.scene-heading h1{margin:0;font-size:clamp(.9rem,1.8vw,1.25rem);font-weight:500}.scene-parameters{z-index:3;border:1px solid var(--scene-border);width:min(20rem,100% - 2rem);color:var(--bg-main);background:var(--scene-overlay-soft);pointer-events:none;border-radius:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .7rem;padding:.55rem .7rem;display:grid;position:absolute;top:7rem;left:clamp(1rem,4vw,3.5rem)}.scene-parameter{min-width:0;font-size:.72rem}.scene-parameter>div{justify-content:space-between;gap:.4rem;display:flex}.scene-parameter strong{font-variant-numeric:tabular-nums;white-space:nowrap}.scene-parameter meter{width:100%;height:.35rem;accent-color:var(--accent-pink);display:block}.scene-parameter--count{grid-column:1/-1;justify-content:space-between;font-size:.75rem;display:flex}.scene-controls{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex;right:clamp(1rem,4vw,3.5rem)}.scene-controls .button{border-color:var(--scene-border);min-height:2.4rem;color:var(--bg-main);background:var(--scene-overlay)}.scene-controls .button:hover:not(:disabled){border-color:var(--accent-pink);background:var(--scene-overlay)}.scene-silhouette{z-index:0;bottom:var(--silhouette-bottom,8%);left:var(--silhouette-left,58%);width:var(--silhouette-width,34%);max-width:min(40%,18rem);height:min(68%,42rem);max-height:65%;filter:brightness(var(--silhouette-brightness,.55)) contrast(1.1);opacity:var(--silhouette-opacity,.62);pointer-events:none;position:absolute}.scene-silhouette img{object-fit:contain;object-position:bottom;width:100%;height:100%}.scene-silhouette--placeholder .silhouette-placeholder-shape{background:radial-gradient(ellipse at 50% 19%, var(--silhouette-color) 0 10%, transparent 10.5%), radial-gradient(ellipse at 50% 41%, var(--silhouette-color) 0 25%, transparent 25.5%), linear-gradient(105deg, transparent 26%, var(--silhouette-color) 27% 73%, transparent 74%);clip-path:polygon(39% 28%,31% 32%,23% 46%,12% 66%,13% 100%,87% 100%,88% 66%,77% 46%,69% 32%,61% 28%);position:absolute;inset:0}.dialogue-window{z-index:2;border:1px solid var(--scene-border);border-bottom:3px solid var(--accent-pink);max-height:min(53vh,31rem);color:var(--text-color);background:var(--dialogue-glass);box-shadow:0 1rem 4rem var(--shadow-strong);cursor:default;border-radius:.65rem;padding:clamp(1rem,2.6vw,2rem);position:absolute;bottom:clamp(1rem,4vh,3rem);left:max(1rem,50% - 41rem);right:max(1rem,50% - 41rem);overflow-y:auto}.dialogue-window>p{white-space:pre-wrap;margin:.45rem 0 .75rem;font-size:clamp(1rem,2vw,1.3rem);line-height:1.9}.dialogue-window .speaker{color:var(--text-color);background:var(--accent-pink);border:0;border-radius:.3rem;margin:0;padding:.3rem .75rem}.dialogue-window .dialogue-hint{color:var(--text-muted)}.dialogue-controls,.choice-list{flex-wrap:wrap;gap:.55rem;margin-top:.7rem;display:flex}.scene-action-panel{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.75rem}.scene-action-hint{color:var(--text-muted);margin:0 0 .55rem;font-size:.78rem}.scene-action-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.5rem;display:grid}.scene-action-choice{min-width:0;position:relative}.scene-action-choice>.button{white-space:normal;width:100%;min-height:2.6rem}.scene-action-preview{z-index:4;border:1px solid var(--border);background:var(--window-bg);box-shadow:0 .5rem 1.5rem var(--shadow-strong);pointer-events:none;opacity:0;visibility:hidden;border-radius:.5rem;padding:.5rem .65rem;font-size:.78rem;transition:opacity .22s,transform .22s,visibility 0s linear .22s;position:absolute;bottom:calc(100% + .35rem);left:0;right:0;transform:translateY(.35rem)}.scene-action-preview p{margin:0}.scene-action-preview p+p{margin-top:.3rem;font-weight:600}.scene-action-choice:hover .scene-action-preview,.scene-action-choice:focus-within .scene-action-preview{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.dialogue-window .button{color:var(--text-color)}.dialogue-window .button--quiet{border-color:var(--border-strong);color:var(--text-color);background:#ffffff80}.dialogue-window .button--quiet:hover:not(:disabled){border-color:var(--accent-pink);color:var(--text-color);background:var(--button-hover)}.dialogue-window--fullscreen{background:var(--dialogue-glass);flex-direction:column;justify-content:center;max-height:none;padding:clamp(1.25rem,5vw,4rem);display:flex;inset:clamp(5rem,12vh,8rem) clamp(1rem,6vw,6rem)}.dialogue-window--fullscreen>p{width:min(100%,62rem);margin:.75rem auto;font-size:clamp(1.2rem,2.5vw,1.7rem);line-height:2}.stage-confirm{z-index:6;width:min(100% - 2rem,30rem);box-shadow:0 0 0 100vmax var(--stage-backdrop), 0 1rem 4rem var(--shadow-strong);cursor:default;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.stage-confirm h2{margin-top:0}.scene-background:before{border:.6rem solid var(--scene-window-frame);background:linear-gradient(90deg, transparent 49%, var(--scene-window-frame) 49.6% 50.4%, transparent 51%), linear-gradient(180deg, transparent 49%, var(--scene-window-frame) 49.6% 50.4%, transparent 51%), linear-gradient(180deg, var(--scene-window-sky), transparent), linear-gradient(90deg, var(--scene-cool), var(--scene-mid));width:min(48%,54rem);height:58%;box-shadow:inset 0 0 4rem var(--scene-overlay-soft), 0 1rem 5rem var(--shadow-strong);content:"";opacity:.72;position:absolute;top:12%;right:11%}.scene-background:after{background:linear-gradient(180deg, transparent, var(--scene-floor-shadow));content:"";height:28%;position:absolute;bottom:0;left:0;right:0}.selection-screen{width:min(100%,72rem);margin:0 auto}.selection-screen>h1,.selection-screen>.eyebrow{margin-top:0}.action-card{flex-direction:column;gap:.5rem;display:flex}.action-facts{grid-template-columns:minmax(7rem,auto) 1fr;gap:.45rem .7rem;margin:.4rem 0 auto;font-size:.9rem;display:grid}.action-facts dt{color:var(--text-muted)}.action-facts dd{overflow-wrap:anywhere;margin:0}.action-card .button{margin-top:1rem}.status-grid{grid-template-columns:minmax(9rem,auto) 1fr;max-width:46rem;margin:1.5rem 0}.backlog-list{gap:.5rem;max-height:65vh;padding:0;list-style:none;display:grid;overflow-y:auto}.backlog-list li{border-left:2px solid var(--accent-pink);background:var(--surface-raised);padding:.8rem 1rem}.backlog-list li p{white-space:pre-wrap;margin:.35rem 0 0;line-height:1.7}@media (width<=760px){.scene{min-height:100svh}.scene-background:before{width:min(78%,34rem);height:48%;top:12%;right:7%}.scene-heading{padding:.5rem .65rem;top:.75rem;left:.75rem}.scene-parameters{width:min(16rem,100% - 1.5rem);padding:.45rem .55rem;top:4.7rem;left:.75rem}.scene-controls{gap:.25rem;max-width:58%;top:.75rem;right:.75rem}.scene-controls .button{min-height:2.2rem;padding:.4rem .55rem;font-size:.8rem}.dialogue-window{right:.6rem;bottom:max(.6rem, env(safe-area-inset-bottom));max-height:58svh;padding:1rem;left:.6rem}.dialogue-window--fullscreen{max-height:none;inset:4.5rem .6rem .6rem}.dialogue-controls>.button,.choice-list>.button{flex:10rem}}@media (width<=420px){.scene-heading h1{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.scene-parameters{grid-template-columns:minmax(0,1fr)}.scene-parameter--count{grid-column:auto}.scene-controls{max-width:62%}.scene-controls .button{min-height:2rem;padding:.3rem .4rem;font-size:.74rem}}
