/* Shared finish for application surfaces; generated artifacts keep their own styles. */
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]):not([data-theme="dark"]){color-scheme:dark;--bg:#262624;--bg-deep:#1f1f1d;--surface:#30302e;--surface-2:#353532;--surface-3:#41413c;--ink:#eeeae2;--ink-2:#c1bdb3;--ink-3:#a6a298;--line:#4a4943;--line-soft:#363631}}
@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light}}
.app,.admin{accent-color:var(--accent);text-rendering:optimizeLegibility}
.app .chat .msg.user{align-self:stretch;width:100%;max-width:100%}
.app .chat .msg.user .bubble{width:fit-content;max-width:min(88%,680px);margin-left:auto;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere}
.app :is(button,a,input,textarea,select):focus-visible,.admin :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.app .btn,.admin .btn{transition:background-color .15s,border-color .15s;box-shadow:none}
.app button:disabled,.admin button:disabled{cursor:not-allowed;opacity:.55}
.app .page-topbar,.app .topbar,.admin .admin-topbar{background:var(--bg);border-color:var(--line-soft)}
.app .page-inner{max-width:1180px}
.app .preferences-page{position:relative!important;inset:auto;width:100%;max-width:none;height:100%;max-height:none;flex:1;display:flex!important;flex-direction:column;margin:0;z-index:auto;border:0;border-radius:0;box-shadow:none;background:var(--bg)}
.app .preferences-page .preferences-header{height:64px;min-height:64px;background:var(--bg);padding:12px 28px;border-bottom:1px solid var(--line-soft)}
.app .preferences-page .preferences-header strong{font-size:17px;font-weight:600}
.app .preferences-page .settings-layout{width:100%;max-width:none;flex:1;min-height:0;height:auto;grid-template-columns:208px minmax(0,1fr);margin:0;padding:0;gap:0}
.app .preferences-page .settings-nav{background:var(--bg);padding:20px 14px;border-right:1px solid var(--line-soft)}
.app .preferences-page .settings-link{font-size:13px;min-height:38px;border-radius:8px;padding:9px 10px}
.app .preferences-page .settings-nav>small{font-size:11px;letter-spacing:.02em;margin-top:22px}
.app .preferences-page .settings-body{padding:30px clamp(20px,3vw,48px) 70px;overflow:auto}
.app .preferences-page .settings-body>.anim-fade{max-width:800px;width:100%;margin:0 auto}
.app .preferences-page h2{font-size:20px;font-weight:600;letter-spacing:-.35px;margin-bottom:24px}
.app .preferences-page :is(.settings-note,.settings-lead,.preference-row small){font-size:13px;line-height:1.65}
.app .preferences-page .preference-row{font-size:14px;min-height:68px;padding:18px 0}
.app .preferences-page .preference-control .btn{font-size:13px;min-height:34px}
.app .preferences-page :is(input.input,select.select,textarea.input){font-size:14px}
.app .preferences-page .section,.app .preferences-page .chrome-info{border-color:var(--line-soft)}
.app :is(.empty,.empty-state){color:var(--ink-2);line-height:1.65}
.app :is(.plugin-card,.skill-card,.project-card),.admin :is(.stat-card,.section,.card){border-color:var(--line-soft);box-shadow:none;border-radius:14px}
.admin-main .page::before{background:none;pointer-events:none}
.admin :is(.input,.select,.textarea){font-size:14px}
.admin :is(.field-label,label){line-height:1.5}
.admin .table-wrap{overflow:auto;max-width:100%}
.admin .section>h2{letter-spacing:-.3px}
.extension-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.app .chat-empty .welcome h1{min-width:0;overflow-wrap:anywhere;text-wrap:balance}
.app .chat-empty .welcome-plan{width:fit-content;max-width:100%;align-self:center;margin-inline:auto}
@media(max-width:760px){.app .chat-empty .welcome{padding:clamp(28px,7vh,64px) 20px 24px;align-items:center}.app .chat-empty .welcome-plan{margin-bottom:24px}.app .welcome-heading{flex-direction:column;align-items:center;gap:13px;max-width:420px}.app .chat-empty .welcome h1{width:100%;max-width:100%;margin:0;text-align:center;font-size:clamp(27px,7.5vw,34px);line-height:1.22;letter-spacing:-.65px}.app .welcome-greeting,.app .welcome-name{display:block}.app .chat-empty .welcome-symbol{flex:0 0 34px;width:34px;height:34px;margin:0}.app .chat-empty .welcome-symbol .ic{width:34px;height:34px}.app .chat .msg.ai .clarification{padding:18px 16px}.app .chat .msg.ai .clarification h3{font-size:17px;overflow-wrap:anywhere}.app .chat .msg.ai .clarification-option{font-size:14px;line-height:1.5}.app .chat .msg.ai .clarification>label>.input{font-size:16px}}
@media(prefers-color-scheme:dark){html:not([data-theme])[data-suvi-code-dark=light] .code-workspace pre,html[data-theme=light][data-suvi-code-light=system] .code-workspace pre{background:#181b20;color:#dfdfdf;border-color:#393939}html:not([data-theme])[data-suvi-code-dark=light] .code-workspace pre{background:#fcfcfc;color:#222;border-color:#ddd}html[data-theme=dark][data-suvi-code-dark=system] .code-workspace pre{background:#181b20;color:#dfdfdf;border-color:#393939}}
@media(prefers-color-scheme:light){html:not([data-theme])[data-suvi-code-light=dark] .code-workspace pre{background:#181b20;color:#dfdfdf;border-color:#393939}html[data-theme=dark][data-suvi-code-dark=system] .code-workspace pre,html[data-theme=light][data-suvi-code-light=system] .code-workspace pre{background:#fcfcfc;color:#222;border-color:#ddd}}
@media(max-width:1100px) and (min-width:761px){.app .preferences-page .settings-layout{grid-template-columns:180px minmax(0,1fr)}.app .preferences-page .settings-body{padding-inline:22px}.app .preferences-page .preference-row{gap:14px;flex-wrap:wrap}.app .preferences-page .preference-control{max-width:100%}}
@media(max-width:760px){.app .preferences-page .preferences-header{height:56px;min-height:56px;padding:8px 16px}.app .preferences-page .settings-body{padding:24px 18px 80px;width:100%}.app .preferences-page .settings-layout{height:auto;flex:1}.app .preferences-page .preference-row{gap:12px;flex-wrap:wrap}.app .preferences-page .preference-control{max-width:100%}.app .preferences-page .settings-link,.app .settings-home .settings-home-link{min-height:44px}.app .preferences-page .btn:not(.icon){min-height:40px}.app .page-inner{padding-inline:18px}.admin .page-inner{padding-inline:16px}.admin :is(.input,.select){max-width:100%}}
@media(prefers-reduced-motion:reduce){.app *,.admin *{scroll-behavior:auto!important;transition:none!important}}
