:root {
  font-family: Arial, "Noto Sans KR", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  color-scheme: dark;
  --bg: #000;
  --sidebar: #000;
  --surface: #191919;
  --composer: #212121;
  --hover: #1c1c1c;
  --text: #eee;
  --muted: #999;
  --faint: #727272;
  --border: #242424;
  --accent: #9eb7df;
  --button-bg: #f0f0f0;
  --button-text: #151515;
  --modal: #181818;
  --danger: #f08080;
  --sidebar-width: 280px;
  --color-background: var(--modal);
  --color-foreground: var(--text);
  --color-border: var(--border);
  --color-muted: var(--surface);
  --color-muted-foreground: var(--muted);
  --color-primary: var(--surface);
  --color-primary-foreground: var(--text);
}
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #fff;
  --sidebar: #f9f9f9;
  --surface: #f1f1f1;
  --composer: #f4f4f4;
  --hover: #eaeaea;
  --text: #222;
  --muted: #6f6f6f;
  --faint: #888;
  --border: #e8e8e8;
  --accent: #45699b;
  --button-bg: #252525;
  --button-text: #fff;
  --modal: #fff;
  --danger: #bf3939;
}
/* The pre-React shell and the application use the same geometry and theme. */
:root{--message-width:min(840px,calc(100% - 80px));--composer-width:var(--message-width);--message-top:26px;--topbar-height:68px;--composer-height:110px;--composer-top:9px;--composer-bottom:max(10px,env(safe-area-inset-bottom));--composer-note-size:10px;--composer-note-gap:11px}
@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg:#fff;--sidebar:#f9f9f9;--surface:#f1f1f1;--composer:#f4f4f4;--hover:#eaeaea;--text:#222;--muted:#6f6f6f;--faint:#888;--border:#e8e8e8;--accent:#45699b;--button-bg:#252525;--button-text:#fff;--modal:#fff;--danger:#bf3939}}
html,body{margin:0;background:var(--bg);color:var(--text)}
.boot-shell,.boot-shell *{box-sizing:border-box}
.boot-shell{position:fixed;inset:0;display:flex;background:var(--bg);color:var(--text);font-family:Arial,"Noto Sans KR",sans-serif}
.boot-shell aside{width:var(--sidebar-width);flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--border);padding:0 16px}
.boot-shell aside header{height:var(--topbar-height);display:flex;align-items:center;font-size:26px}
.boot-shell aside i{margin-top:28px;width:82%}.boot-shell aside i:nth-child(even){width:64%}
.boot-shell main{display:flex;flex-direction:column;min-width:0;flex:1}
.boot-shell main>header{height:var(--topbar-height);padding:0 30px;display:flex;align-items:center;flex-shrink:0;font-size:20px}
.boot-content{display:flex;flex:1;min-height:0;align-items:center;justify-content:center}
.boot-lines{width:min(600px,var(--message-width));margin:0 auto}
.boot-lines i{margin:20px 0}.boot-lines i:nth-child(2){width:80%}.boot-lines i:last-child{width:58%}
.boot-shell i,.loading-card i{display:block;height:14px;border-radius:7px;background:var(--hover);animation:vaze-loading 1.6s ease-in-out infinite}
.boot-composer-wrap{width:var(--composer-width);margin:0 auto;padding:var(--composer-top) 0 var(--composer-bottom);flex-shrink:0}
.boot-composer{height:var(--composer-height);background:var(--composer);border-radius:30px;border:1px solid #ffffff06}
.boot-help{font-size:var(--composer-note-size);line-height:1.7;text-align:center;color:var(--faint);margin:var(--composer-note-gap) 0 0;white-space:nowrap}
.boot-help a{color:inherit}.boot-help a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.loading-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.loading-lines{width:100%;padding:0;margin:0}.loading-card{padding:12px 0 28px}.loading-card i{margin:12px 0;height:12px}.loading-card i:nth-child(2){width:80%}.loading-card i:last-child{width:55%}
.loading-lines.memory .loading-card{padding:14px 0}.history-error{padding:12px 0;color:var(--text)}
.boot-error{padding:24px;max-width:600px;font-size:14px;line-height:1.8}
:root[data-boot-error] .boot-lines{display:none}
.boot-recovery-page{font:16px/1.8 Arial,sans-serif;max-width:460px;margin:15vh auto;padding:24px}.boot-recovery-page a{color:var(--text)}
@keyframes vaze-loading{50%{opacity:.45}}
@media(min-width:1700px){:root{--sidebar-width:320px;--message-top:32px;--composer-note-size:11px}}
@media(max-width:1100px){:root{--sidebar-width:250px;--message-width:calc(100% - 48px);--composer-width:var(--message-width)}}
@media(max-width:767px){:root{--message-width:calc(100% - 36px);--composer-width:calc(100% - 24px);--message-top:18px;--topbar-height:60px;--composer-height:106px;--composer-top:6px;--composer-bottom:max(9px,env(safe-area-inset-bottom));--composer-note-size:9px;--composer-note-gap:9px}.boot-shell aside{display:none}.boot-composer{border-radius:27px}.boot-shell main>header{padding:0 24px}}
@media(prefers-reduced-motion:reduce){.boot-shell i,.loading-card i{animation:none}}
