:root{--panel: rgba(14, 13, 18, .84);--panel-solid: #141218;--line: rgba(255, 255, 255, .14);--ink: #f2eee6;--muted: #b8b0a2;--accent: #e2b86b;--story-font: Georgia, "Times New Roman", serif;--ui-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fade: .45s;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#000;color:var(--ink);overflow:hidden}body{font-family:var(--story-font);user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}#app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.fatal{font-family:var(--ui-font);color:var(--muted)}#screen{position:relative;width:min(100vw,calc(100dvh * 16 / 9));aspect-ratio:16 / 9;container-type:inline-size;overflow:hidden;background:#0d0c10;font-size:clamp(14px,1.9cqw,30px)}#stage,.layer{position:absolute;top:0;right:0;bottom:0;left:0}#stage{overflow:hidden}.bg,.cg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.bg,.cg,.sprite{opacity:0;transition:opacity var(--fade) ease}.visible{opacity:1}.sprite{position:absolute;bottom:0;height:100%;width:auto;transform:translate(-50%);pointer-events:none}.placeholder{display:flex;align-items:flex-start;justify-content:center;padding-top:1.2em;font-family:var(--ui-font);font-size:.8em;color:#ffffff8c;letter-spacing:.02em}.bg.placeholder{background:repeating-linear-gradient(135deg,#1a1820 0,#1a1820 24px,#15131a 24px,#15131a 48px)}.cg.placeholder{background:repeating-linear-gradient(45deg,#231d16 0,#231d16 24px,#1b1610 24px,#1b1610 48px);align-items:center}.sprite.placeholder{width:22%;height:82%;border:2px dashed rgba(255,255,255,.35);border-bottom:0;border-radius:40% 40% 0 0;background:#ffffff0d;align-items:center;text-align:center}#textbox{position:absolute;left:4%;right:4%;bottom:4%;min-height:25%;padding:1.1em 1.5em 1.3em;background:var(--panel);border:1px solid var(--line);border-radius:.6em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#textbox .name{position:absolute;top:-.85em;left:1.2em;padding:.15em .8em;border-radius:.4em;background:var(--panel-solid);border:1px solid var(--line);font-family:var(--ui-font);font-weight:600;font-size:.82em;color:var(--accent)}#textbox .text{line-height:1.5;white-space:pre-wrap}#textbox.narration .text{font-style:italic;color:#e9e3d6}#textbox .more{position:absolute;right:1em;bottom:.5em;font-size:.7em;color:var(--accent);opacity:0}#textbox.done .more{opacity:1;animation:bob 1.2s ease-in-out infinite}@keyframes bob{50%{transform:translateY(.2em)}}#choices{position:absolute;left:50%;top:14%;transform:translate(-50%);width:min(70%,34em);display:flex;flex-direction:column;gap:.55em}#choices button{padding:.75em 1.1em;border-radius:.5em;border:1px solid var(--line);background:var(--panel);text-align:left;line-height:1.35;transition:background .15s,border-color .15s}#choices button:hover,#choices button:focus-visible{border-color:var(--accent);background:#282014eb;outline:none}#quick{position:absolute;top:2.5%;right:2%;display:flex;gap:.35em;font-family:var(--ui-font);font-size:.62em}#quick button{padding:.45em .75em;border-radius:.4em;border:1px solid var(--line);background:#0a0a0e99;color:var(--muted)}#quick button:hover{color:var(--ink)}#quick button.active{color:#111;background:var(--accent);border-color:var(--accent)}#title{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#2a2433,#0b0a0e 70%) center / cover no-repeat}.title-card{text-align:center;padding:2em 3em;background:#08080c8c;border-radius:.8em}.title-card h1{margin:0 0 .9em;font-size:2.4em;font-weight:400;letter-spacing:.02em}.menu{display:flex;flex-direction:column;gap:.55em;min-width:12em}.menu button,.primary,.row button,#overlay [data-close]{padding:.6em 1.2em;border-radius:.45em;border:1px solid var(--line);background:#14121ad9;font-family:var(--ui-font);font-size:.85em}.menu button:hover,.row button:hover{border-color:var(--accent)}.primary{background:var(--accent)!important;color:#141010!important;border-color:var(--accent)!important;font-weight:600}#panel,#overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5}#overlay{z-index:10;background:#0000008c;display:flex;align-items:center;justify-content:center}#panel.card{display:flex;align-items:center;justify-content:center;background:#000000d1;opacity:0;transition:opacity .4s}#panel.card.visible{opacity:1}#panel.card h2{font-weight:400;font-size:2em;letter-spacing:.05em}#panel.sheet,#panel.minigame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1em;background:#060609e6;padding:6% 12%}.sheet-body{max-height:70cqw;overflow:auto;line-height:1.55;user-select:text;-webkit-user-select:text}.sheet-body h2{font-weight:400;color:var(--accent);margin-top:0}#overlay .sheet{width:min(88%,42em);max-height:88%;display:flex;flex-direction:column;gap:.8em;padding:1.2em 1.4em;background:var(--panel-solid);border:1px solid var(--line);border-radius:.7em;font-family:var(--ui-font);font-size:.8em}#overlay .sheet-body{flex:1;min-height:0}#overlay [data-close]{align-self:flex-end}.credit-line{font-style:italic}.row{display:flex;gap:.6em;justify-content:center}.question{font-size:1.1em;text-align:center}.history{display:flex;flex-direction:column;gap:.6em;max-height:60vh;overflow:auto;font-family:var(--story-font);font-size:1.1em}.hist b{display:block;color:var(--accent);font-family:var(--ui-font);font-size:.8em}.hist.narr span{font-style:italic;color:var(--muted)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(13em,1fr));gap:.6em}.slot{display:flex;gap:.6em;padding:.5em;text-align:left;border-radius:.45em;border:1px solid var(--line);background:#ffffff08}.slot:hover:not(:disabled){border-color:var(--accent)}.slot:disabled{opacity:.45;cursor:default}.slot img,.slot .noimg{width:5.5em;aspect-ratio:16 / 9;object-fit:cover;border-radius:.3em;background:#222;flex:none}.slot .meta{display:flex;flex-direction:column;gap:.15em;min-width:0}.slot small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting{display:flex;flex-direction:column;gap:.4em;margin-bottom:1em}.setting input{width:100%;accent-color:var(--accent)}@media(orientation:portrait){#app{align-items:stretch}#screen{width:100vw;height:100dvh;aspect-ratio:auto;display:flex;flex-direction:column;font-size:clamp(15px,4.3cqw,21px)}#stage{position:relative;inset:auto;width:100%;aspect-ratio:16 / 9;flex:none}#textbox{position:relative;left:auto;right:auto;bottom:auto;margin:1.4em .8em 0;min-height:30%}#choices{top:auto;bottom:8%;width:92%}#quick{top:auto;bottom:max(.8em,env(safe-area-inset-bottom));right:50%;transform:translate(50%);flex-wrap:wrap;justify-content:center;font-size:.75em}.title-card{padding:1.5em}.title-card h1{font-size:1.8em}}.langs{display:flex;gap:.4em;justify-content:center;margin-top:1.2em;font-family:var(--ui-font);font-size:.75em}.langs button{padding:.35em .8em;border-radius:1em;border:1px solid var(--line);background:transparent;color:var(--muted)}.langs button.active{color:#141010;background:var(--accent);border-color:var(--accent)}.setting .langs{justify-content:flex-start;margin-top:.4em;font-size:1em}
