*,:before,:after{box-sizing:border-box}:root{--keyboard-inset:0px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}html,body,#root{width:100%;height:100%;margin:0}html{height:100dvh}body{color:#c8facc;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#050505;min-height:100dvh;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}.app{width:100%;height:100%;position:relative}.scene-root{z-index:1;position:absolute;inset:0}.terminal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#00000047;border:1px solid #1f3d24;flex:1;align-items:center;gap:.65rem;min-width:0;padding:.85rem 1rem;transition:background .25s,border-color .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;display:flex;position:relative}.terminal-form{flex:1;order:1;align-items:stretch;gap:.5rem;min-width:0;display:flex}.bottom-dock{z-index:2;pointer-events:auto;align-items:stretch;gap:.5rem;width:min(42rem,100% - 2rem);margin-inline:auto;display:flex;position:absolute;bottom:2.5rem;left:0;right:0}.bottom-dock__toolbar{flex-shrink:0;order:2;align-items:stretch;gap:.5rem;display:flex}.bottom-dock__toolbar .settings{z-index:3;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex;position:fixed;top:3.25rem;right:1rem}.bottom-dock--flight .terminal__reset,.bottom-dock--flight .terminal__send,.terminal-form--flight .terminal__send{opacity:.35}.terminal--full{border-color:#5a3d24}.terminal--flight{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.terminal--flight .terminal__prompt,.terminal--flight .terminal__left{opacity:.25}.terminal__prompt{color:#5dff7a;-webkit-user-select:none;user-select:none;flex-shrink:0}.terminal__left{letter-spacing:.04em;text-transform:uppercase;color:#5dff7a;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;font-size:.7rem}.terminal__left-label{color:#3d6b45}.terminal__left--empty{color:#c48a4a}.terminal__left--empty .terminal__left-label{color:#6b4a2a}.terminal__reset{color:#7ad98a;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#000000b8;border:1px solid #1f3d24;flex-shrink:0;padding:0 .9rem;font-size:.7rem}.terminal__send{color:#5dff7a;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#000000b8;border:1px solid #5dff7a;flex-shrink:0;padding:0 .9rem;font-size:.7rem;display:none}.terminal__send:disabled{opacity:.35;cursor:default}.terminal__reset:hover:not(:disabled),.terminal__send:hover:not(:disabled){color:#5dff7a;border-color:#5dff7a}.terminal__reset:disabled{cursor:default}.terminal__input{color:#c8facc;min-width:0;font:inherit;caret-color:#5dff7a;background:0 0;border:0;outline:none;flex:1}.terminal__input::selection{background:#5dff7a40}.terminal__input::placeholder{color:#3d6b45}.hud{z-index:3;pointer-events:none;flex-direction:column;gap:.35rem;display:flex;position:absolute;top:1rem;left:1rem}.hud__title{letter-spacing:.08em;text-transform:uppercase;color:#5dff7a;margin:0;font-size:.75rem}.hud__hint{color:#3d6b45;margin:0;font-size:.75rem}.hud__hint--mobile{display:none}.hud__perf{letter-spacing:.02em;color:#4a8f58;font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.model-switch{z-index:3;gap:.35rem;display:flex;position:absolute;top:1rem;right:1rem}.model-switch button{color:#7ad98a;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#000000b8;border:1px solid #1f3d24;padding:.4rem .7rem;font-size:.7rem}.model-switch button[aria-pressed=true]{color:#5dff7a;border-color:#5dff7a}.settings__toggle{color:#7ad98a;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#000000b8;border:1px solid #1f3d24;padding:.4rem .7rem;font-size:.7rem}.settings--open .settings__toggle{color:#5dff7a;border-color:#5dff7a}.settings--open{z-index:5;position:relative}.settings__panel{background:#000000d1;border:1px solid #1f3d24;flex-direction:column;gap:.65rem;width:min(16.5rem,100vw - 2rem);padding:.75rem .85rem;display:flex}.settings__note{color:#3d6b45;margin:0;font-size:.65rem;line-height:1.35}.settings__row{flex-direction:column;gap:.3rem;display:flex}.settings__label{letter-spacing:.04em;text-transform:uppercase;color:#7ad98a;justify-content:space-between;gap:.5rem;font-size:.68rem;display:flex}.settings__value{color:#5dff7a;font-variant-numeric:tabular-nums}.settings__row input[type=range]{accent-color:#5dff7a;cursor:pointer;width:100%}.settings__reset{color:#5a9a68;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #1f3d24;margin-top:.15rem;padding:.4rem .55rem;font-size:.65rem}.settings__reset:hover{color:#5dff7a;border-color:#5dff7a}.settings__derived{letter-spacing:.04em;text-transform:uppercase;color:#3d6b45;grid-template-columns:1fr 1fr;gap:.35rem .75rem;margin:0;font-size:.65rem;display:grid}.settings__derived div{justify-content:space-between;gap:.35rem;display:flex}.settings__derived dt{margin:0}.settings__derived dd{color:#5a9a68;font-variant-numeric:tabular-nums;margin:0}.load-dialog{z-index:10;pointer-events:auto;place-items:center;display:grid;position:absolute;inset:0}.load-dialog__backdrop{cursor:pointer;background:#0000009e;border:0;position:absolute;inset:0}.load-dialog__card{z-index:1;background:#000000eb;border:1px solid #1f3d24;flex-direction:column;gap:.65rem;width:min(22rem,100% - 2rem);padding:1.1rem 1.15rem;display:flex;position:relative}.load-dialog__title{letter-spacing:.08em;text-transform:uppercase;color:#5dff7a;margin:0;font-size:.75rem}.load-dialog__warn{color:#c8facc;margin:0;font-size:.78rem;line-height:1.45}.load-dialog__hint{color:#3d6b45;margin:0;font-size:.7rem;line-height:1.4}.load-dialog__actions{flex-direction:column;gap:.4rem;margin-top:.25rem;display:flex}.load-dialog__btn{color:#7ad98a;font:inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left;background:#0000008c;border:1px solid #1f3d24;padding:.55rem .75rem;font-size:.72rem}.load-dialog__btn--primary{color:#5dff7a;border-color:#5dff7a}.load-dialog__btn--ghost{color:#3d6b45}.load-dialog__btn:hover{color:#5dff7a;border-color:#5dff7a}@media (width<=720px){.hud{top:calc(.85rem + var(--safe-top));left:calc(.85rem + var(--safe-left));gap:.2rem;max-width:calc(100vw - 5.75rem)}.hud__hint--desktop{display:none}.hud__hint--mobile{font-size:.65rem;display:block}.hud__perf{font-size:.58rem}.model-switch{top:calc(.85rem + var(--safe-top));right:calc(.85rem + var(--safe-right));flex-direction:column;align-items:stretch;gap:.3rem}.model-switch button{text-align:center;min-height:2.05rem;padding:.4rem .6rem;font-size:.62rem}.bottom-dock{width:auto;left:.85rem;right:.85rem;bottom:calc(.9rem + var(--safe-bottom) + var(--keyboard-inset));flex-direction:column;align-items:stretch;gap:.45rem;margin-inline:0}.bottom-dock__toolbar{order:0;align-self:flex-end;gap:.4rem}.bottom-dock__toolbar .settings{z-index:auto;position:relative;top:auto;right:auto}.bottom-dock__toolbar .settings--open{z-index:5}.settings__toggle{min-height:2.4rem;padding:.45rem .75rem;font-size:.65rem}.settings__panel{width:min(16.5rem,100vw - 1.7rem);position:absolute;bottom:calc(100% + .4rem);right:0}.terminal-form{order:1;gap:.4rem;width:100%}.terminal{gap:.45rem;padding:.75rem .8rem}.terminal__left-label{display:none}.terminal__send{min-height:2.85rem;padding:0 .9rem;font-size:.65rem;display:block}.terminal__reset{min-height:2.4rem;padding:0 .75rem;font-size:.65rem}.terminal__input{font-size:16px}}
