@font-face{font-family:Inter;src:url(./engine/assets/fonts/Inter-VariableFont_opsz,wght.ttf)format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(./engine/assets/fonts/Inter-Italic-VariableFont_opsz,wght.ttf)format("truetype-variations");font-weight:100 900;font-style:italic;font-display:swap}:root{--color-bg:#0b0b0f;--color-surface:#14141a;--color-text:#e6e6ea;--color-accent:#76c7ff;--color-muted:#9aa0a6;--danger:#ff6b6b;--overlay:#04060a99;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius:12px;--shadow:0 8px 24px #0000004d;--font-sans:"Inter","Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Noto Sans";--font-serif:"Inter","Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui;--fz-1:12px;--fz-2:14px;--fz-3:16px;--fz-4:20px;--fz-5:24px;--text-scale:1}*{box-sizing:border-box}:before,:after{box-sizing:inherit}html,body{height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:calc(var(--fz-3)*var(--text-scale));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}html,body,#stage,#overlay,#hud,#topbar,#mobile-bar,#portrait-fs,.nav-edge{touch-action:manipulation}img,svg,video,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}fieldset{border:0;margin:0;padding:0}legend{padding:0}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.sr-focusable:focus,.sr-focusable:active{left:calc(var(--space-3) + env(safe-area-inset-left));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));clip:auto;white-space:normal;background:var(--color-surface);border-radius:var(--radius);width:auto;height:auto;box-shadow:var(--shadow);z-index:2000;border:1px solid #fff3;margin:0;padding:8px 12px;position:fixed!important}[hidden]{display:none!important}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.surface{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-6)}.stack{gap:var(--space-4);display:grid}.btn{appearance:none;background:var(--color-surface);color:var(--color-text);border-radius:calc(var(--radius) - 6px);cursor:pointer;border:1px solid #ffffff14;padding:8px 14px;transition:background .12s,border-color .12s,transform 80ms}.btn:hover{border-color:#ffffff2e}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--color-accent);color:#0b131a;border-color:#0000}.btn.ghost{background:0 0}.btn.danger{background:var(--danger);color:#1b0909;border-color:#0000}.btn.icon{justify-content:center;align-items:center;width:40px;height:36px;padding:8px;display:inline-flex}.btn.icon svg{width:22px;height:22px;color:var(--color-text)}.btn.icon .icon-mute,.btn.icon .icon-eye-off,#btn-mute[aria-pressed=true] .icon-sound,#m-btn-mute[aria-pressed=true] .icon-sound{display:none}#btn-mute[aria-pressed=true] .icon-mute,#m-btn-mute[aria-pressed=true] .icon-mute{display:inline}#btn-hide[aria-pressed=true] .icon-eye,#m-btn-hide[aria-pressed=true] .icon-eye{display:none}#btn-hide[aria-pressed=true] .icon-eye-off,#m-btn-hide[aria-pressed=true] .icon-eye-off{display:inline}#stage,#overlay,#hud,#topbar,#mobile-bar{position:fixed;left:0;right:0}#stage{z-index:0;background:var(--color-bg);pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;top:0;bottom:0}#overlay{z-index:10;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:cover;top:0;bottom:0}.nav-edge{width:clamp(56px,18vw,220px);color:var(--color-text);z-index:12;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:fixed;top:0;bottom:0}.nav-left{left:0}.nav-right{right:0}.nav-edge .nav-arrow{opacity:.85;filter:drop-shadow(0 1px 2px #0009);width:28px;height:28px}.nav-edge:hover .nav-arrow,.nav-edge:focus-visible .nav-arrow{opacity:1}@media (pointer:coarse){.nav-edge .nav-arrow{width:36px;height:36px}}#topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3)calc(var(--space-6) + env(safe-area-inset-right))var(--space-3)calc(var(--space-6) + env(safe-area-inset-left));background:0 0;display:flex;top:0}#topbar #title{font-size:var(--fz-4);color:var(--color-text);font-weight:600}#topbar .topbar-right{gap:var(--space-2);display:flex}#topbar .topbar-right .btn:not(.icon){align-items:center;height:36px;padding:0 12px;display:inline-flex}#top-menu.menu-panel{top:calc(48px + env(safe-area-inset-top));right:calc(var(--space-3) + env(safe-area-inset-right));gap:var(--space-2);z-index:120;width:min(380px,95vw);max-height:calc(100vh - (48px + env(safe-area-inset-top)) - env(safe-area-inset-bottom) - var(--space-3));-webkit-overflow-scrolling:touch;display:grid;position:fixed;overflow:auto}#top-menu .menu-item{text-align:left;width:100%}#top-menu .menu-section{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid #ffffff1a}#top-menu .menu-footer{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid #ffffff14}#top-menu .menu-footer .menu-app-name{font-weight:600}#top-menu .menu-footer .menu-app-meta{font-size:var(--fz-2);color:var(--color-muted)}#top-menu .menu-subtitle{margin-top:var(--space-2);margin-bottom:var(--space-1);opacity:.9;font-weight:600}#top-menu .modal-row{margin-bottom:var(--space-2)}#hud{z-index:15;padding:var(--space-6)calc(var(--space-6) + env(safe-area-inset-right))calc(var(--space-6) + env(safe-area-inset-bottom))calc(var(--space-6) + env(safe-area-inset-left));bottom:0}#choices{z-index:auto;gap:var(--space-2);margin-top:var(--space-3);padding:0;display:grid;position:static;transform:none}#mobile-bar{z-index:21;gap:var(--space-2);padding:var(--space-3)calc(var(--space-6) + env(safe-area-inset-right))var(--space-3)calc(var(--space-6) + env(safe-area-inset-left));backdrop-filter:blur(6px);background:#14141ab3;display:none;bottom:0}#mobile-bar .btn{flex:0;min-width:44px}#portrait-fs{top:calc(var(--space-3) + env(safe-area-inset-top));right:calc(var(--space-3) + env(safe-area-inset-right));z-index:21;align-items:center;gap:var(--space-2);display:none;position:fixed}#portrait-fs .btn.icon{backdrop-filter:blur(6px);background:#14141ab3}@media (width<=768px){#mobile-bar{display:flex}#topbar .topbar-right{display:none}#hud{padding:var(--space-3)calc(var(--space-3) + env(safe-area-inset-right))calc(var(--space-3) + env(safe-area-inset-bottom))calc(var(--space-3) + env(safe-area-inset-left))}.dialogue.panel{padding:var(--space-3)}.name-tag{margin-bottom:var(--space-2);padding:4px 8px}.line-box{min-height:64px}.dialogue #choices .choice{padding:8px 12px}}@media (orientation:portrait) and (width<=768px){#mobile-bar{display:none!important}#portrait-fs{display:flex}#m-btn-fullscreen{display:none!important}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (orientation:landscape) and (height<=500px){.dialogue .line-content{font-size:calc(clamp(14px,2.4vh,18px)*var(--text-scale))}.dialogue .name-tag{font-size:calc(clamp(12px,2vh,16px)*var(--text-scale))}#top-menu.menu-panel{width:min(360px,96vw);padding:var(--space-3)}}@media (pointer:coarse){.dialogue.panel{padding:var(--space-3)}}.dialogue{backdrop-filter:blur(2px);text-shadow:0 1px #000000b3;max-width:1000px;font-family:var(--font-serif);background:linear-gradient(#0a0a0c80,#0a0a0cc7);border:1px solid #ffffff14;margin:0 auto}.dialogue.panel{position:relative}.name-tag{margin-bottom:var(--space-3);color:var(--color-text);border:1px solid #ffffff14;padding:6px 10px;font-weight:600;display:inline-block}.line-box{position:relative}.global-progressbar{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);background:#ffffff1f;height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.global-progressbar .bar{background:linear-gradient(90deg,var(--color-accent),#bde2ff);width:0%;height:100%;transition:width .2s}.dialogue .line-content{font-size:calc(clamp(16px,calc(2.2vh + .8vw),var(--fz-5))*var(--text-scale));line-height:1.35}.dialogue .name-tag{font-family:var(--font-serif);font-size:calc(clamp(14px,calc(1.6vh + .6vw),var(--fz-4))*var(--text-scale));opacity:.9}.dialogue .name-inline{opacity:.95;font-weight:700;font-family:var(--font-serif);margin-right:.25em}.dialogue .line-content,.dialogue .name-inline{user-select:text;cursor:text}.dialogue #choices .choice{user-select:text;cursor:pointer}.next-indicator{color:var(--color-accent);opacity:0;user-select:none;margin-left:8px;transition:opacity .16s;animation:1.2s ease-in-out infinite nudge;display:inline-block}@keyframes nudge{0%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}to{opacity:.4;transform:translateY(0)}}.dialogue #choices{justify-items:stretch}.dialogue #choices .choice{text-align:left;width:100%;font-family:var(--font-serif);font-size:calc(var(--fz-4)*var(--text-scale));background:#00000059;border:1px solid #ffffff1f;border-left:0;border-right:0;padding:10px 16px}.dialogue #choices .choice:hover{background:#00000073}.dialogue #choices .choice:active{transform:translateY(1px)}.dialogue #choices .choice[aria-disabled=true],.dialogue #choices .choice:disabled{opacity:.6;cursor:not-allowed}.modal-backdrop{background:var(--overlay);z-index:100;place-items:center;display:grid;position:fixed;inset:0}.modal{width:min(560px,92vw)}.modal-title{font-size:var(--fz-5);margin-bottom:var(--space-4);font-weight:700}.modal-row{gap:var(--space-3);margin-bottom:var(--space-3);grid-template-columns:auto 1fr auto;align-items:center;display:grid}.modal-label{color:var(--color-muted)}.modal-value{color:var(--color-text)}.modal-range{width:100%}.modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}body.ui-hidden #topbar,body.ui-hidden #mobile-bar,body.ui-hidden #hud,body.ui-hidden #choices,body.ui-hidden #portrait-fs{display:none!important}.floating-toggle{top:calc(var(--space-3) + env(safe-area-inset-top));right:calc(var(--space-3) + env(safe-area-inset-right));z-index:200;opacity:.95;position:fixed!important}.loading-overlay{z-index:90;pointer-events:none;place-items:center;display:none;position:fixed;inset:0}body.loading-image #stage,body.loading-image #overlay{filter:blur(3px)saturate(110%)}.loading-overlay .spinner{border:3px solid #ffffff40;border-top-color:var(--color-accent);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin;box-shadow:0 0 0 4px #00000040}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}