:root{--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--mobile-nav-height:calc(76px + var(--safe-area-bottom));--fs-xs:0.72rem;--fs-sm:0.82rem;--fs-md:0.9rem;--fs-base:0.95rem;--fs-lg:1.05rem;--fs-xl:1.6rem;--fs-2xl:2rem;--sp-1:0.25rem;--sp-2:0.5rem;--sp-3:0.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-8:3rem;--r-sm:8px;--r-md:10px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--shadow-sm:0 1px 3px rgba(0,0,0,0.25);--shadow-md:0 8px 32px rgba(0,0,0,0.5);--shadow-lg:0 16px 48px rgba(0,0,0,0.6);--brand:#2481cc;--brand-hover:#1a6fad;--brand-contrast:#ffffff;--up:#26a269;--down:#e5534b;--warn:#d2992b;--gold:#f1c40f;--silver:#bdc3c7;--bronze:#cd7f32}.theme-dark{--bg-page:#0e1821;--bg:#1b2832;--surface-1:#1c2733;--surface-2:#232e3c;--surface-3:#2b3a4a;--border:#243447;--border-strong:#314a62;--text:#ffffff;--text-muted:#708499;--text-subtle:#4a5568;--input-bg:#1c2733;--hover:#1f2d3d;--selection:#2b5278;--selection-hover:#2e5a88;--divider:rgba(112,132,153,0.12);--glass-card:rgba(28,39,51,0.85);--brand-tint:rgba(36,129,204,0.15);--warn-tint:rgba(210,153,43,0.08);--chip-bg:rgba(112,132,153,0.14);--bubble-out:#2b5278;--bubble-in:var(--surface-2);--input-pill-bg:#1c2733;--input-pill-radius:20px;--scrollbar-thumb:rgba(112,132,153,0.35);--scrollbar-thumb-hover:rgba(112,132,153,0.6);--scrollbar-size:4px}.theme-light{--bg:#ffffff;--surface-1:#ffffff;--surface-2:#f6f8fa;--surface-3:#eef1f5;--border:#e6e8eb;--border-strong:#d0d4d9;--text:#111111;--text-muted:#555555;--text-subtle:#8b949e;--input-bg:#ffffff;--hover:#f6f8fa}.theme-dark{-webkit-user-select:none;-moz-user-select:none;user-select:none}.theme-dark [contenteditable=true],.theme-dark input,.theme-dark textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.theme-dark *{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.theme-dark ::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}.theme-dark ::-webkit-scrollbar-track{background:transparent}.theme-dark ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}.theme-dark ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*,:after,:before{box-sizing:border-box}html{font-size:85%;scroll-behavior:smooth}body,html{margin:0;padding:0;background:#0e1821;height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.theme-light{min-height:100vh;background:var(--bg);color:var(--text)}.theme-light a{transition:color .18s ease,opacity .18s ease}.theme-light button{transition:background .18s ease,color .18s ease,border-color .18s ease,transform .15s ease,box-shadow .18s ease}.theme-dark{min-height:100%;background:var(--bg-page);color:var(--text)}figure,h1,h2,h3,h4,h5,h6,p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}[role=button],a,button,label,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:600;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--brand-contrast)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--hover)}.input{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-md)}.input::placeholder{color:var(--text-subtle)}.input:focus-visible{outline:none;border-color:var(--brand)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.terminalMain{height:100dvh;padding:.65rem;overflow:hidden}@media (max-width:768px){.terminalMain{padding:0}html{font-size:90%;text-size-adjust:100%}.theme-dark [role=button],.theme-dark [role=tab],.theme-dark button{min-height:44px}}