/* Lucian UX/UI Prompt #009 · MIT License (c) 2026 Seokwoooo · https://lucianlabs.dev/uxui-prompt/#009 */
/* Centered navigation. The logo stays separate above the compact blue rail. */
/* Shared assistant: launcher motion from #215, panel width follows the left rail. */
/* Lucian UX/UI Prompt #215 · MIT License (c) 2026 Seokwoooo · https://lucianlabs.dev/uxui-prompt/#215 */
.assistant-launcher.u215{position:fixed;right:25px;bottom:24px;width:54px;height:54px;background:none;border:0;padding:0;border-radius:50%;box-shadow:none;z-index:90;overflow:visible}
.assistant-launcher[hidden]{display:none!important}
.u215-ln{position:relative;width:54px;height:54px;border:0;border-radius:50%;padding:0;background:var(--ux-accent);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 28px -10px var(--ux-accent);transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.u215-ln:hover{background:var(--ux-accent);box-shadow:0 17px 32px -10px var(--ux-accent);transform:translateY(-2px)}
.u215-ln svg{position:absolute;width:24px;height:24px;transition:transform .35s cubic-bezier(.3,1.5,.5,1),opacity .2s}
.u215-ln .x{transform:rotate(-90deg) scale(.5);opacity:0}
.u215.is-open .u215-ln .c{transform:rotate(90deg) scale(.5);opacity:0}
.u215.is-open .u215-ln .x{transform:none;opacity:1}
.u215-ln:active{transform:scale(.92)}
.u215-ln:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.assistant-scrim{position:fixed;inset:0;z-index:45;border:0;border-radius:0;background:#11213835;padding:0;cursor:default;box-shadow:none}
.assistant-scrim:hover{background:#11213835;transform:none;box-shadow:none}
.assistant-scrim[hidden]{display:none!important}
#warden-assistant{position:fixed;top:16px;right:16px;bottom:16px;z-index:55;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 80px #12335330;display:flex;flex-direction:column;overflow:hidden;transform:translateX(calc(100% + 32px));opacity:0;transition:transform .45s cubic-bezier(.3,1.15,.4,1),opacity .25s;pointer-events:none}
#warden-assistant.is-open{transform:none;opacity:1;pointer-events:auto}
#warden-assistant[hidden]{display:none!important}
.assistant-heading{padding:23px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex:none;background:linear-gradient(110deg,var(--surface),var(--soft))}
.assistant-heading span{font-size:10px;letter-spacing:.15em;color:var(--accent);font-weight:700}
.assistant-heading h2{font-size:25px;margin:5px 0 0}
.assistant-heading>button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--line);background:var(--surface);font-size:24px;border-radius:50%;color:var(--ink)}
#assistant-content{flex:1;min-height:0;overflow:hidden;display:flex;justify-content:center;padding:20px 25px}
#assistant-content>.ai-panel{margin:0;width:min(960px,100%);height:100%;border:0;box-shadow:none;display:flex;flex-direction:column;background:none;overflow:hidden;border-radius:0}
#assistant-content .ai-head{display:none}
#assistant-content .ai-controls{padding:0 0 10px;margin:0;flex:none}
#assistant-content .ai-log{flex:1;min-height:100px;max-height:none!important;overflow-y:auto;margin:0;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:18px}
#assistant-content .message{max-width:85%;font-size:14px;line-height:1.7}
#assistant-content .chat-suggestions{padding:10px 0;margin:0;flex:none}
#assistant-content .ai-error{margin:0;font-size:12px;flex:none}
#assistant-content .ai-form{padding:14px;margin:0;border-radius:18px;flex:none}
#assistant-content .ai-form textarea{min-height:70px;max-height:120px}
#assistant-content .ai-compose-foot{gap:12px;padding:0}
#assistant-content .ai-source-note{font-size:10px;line-height:1.5;margin:8px 0 0;padding:0;flex:none}
#assistant-content .ai-upload-row{padding:0;margin:0;justify-content:flex-start;flex:none}
#assistant-content .ai-compose-foot small{font-size:10px}
/* Uploads: no browser-native chooser; chat plus is small and has no background. */
input[type=file][hidden]{display:none!important}
body .ai-upload-row .plus-upload{height:28px;width:28px;min-width:28px;min-height:28px;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;color:var(--muted);border-radius:7px}
body .ai-upload-row .plus-upload span{font-size:25px;line-height:1;font-weight:400}
body .ai-upload-row .plus-upload:hover{background:none!important;transform:none;color:var(--accent)}
body .file-picker>.plus-upload{background:#0875df;border-color:#0875df;color:#fff;width:46px;height:46px;box-shadow:0 6px 16px #007aff20}
body .file-picker>.plus-upload:hover{background:#0668ca;color:#fff}
/* Phone and password fields have a single explicit layout, with the eye inside. */
.password-suggestion .suggestion-input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:54px;padding:14px 54px 14px 14px!important;border-radius:16px;font-size:14px;line-height:1.5}
.password-suggestion .password-eye:hover{transform:translateY(-50%)}
.vault-layout #demo-account,.vault-layout #demo-pass{height:56px;line-height:1.5}
.vault-layout .password-field{display:block}
.vault-layout .password-eye{top:50%;transform:translateY(-50%)}
.phone-demo .phone-caption,.phone-demo .phone-note{opacity:1!important}
.phone-demo .phone-otp-card .otp-code{color:#152a46!important;font-weight:700;font-variant-numeric:tabular-nums}
@media  (max-width:1100px){}
@media  (max-width:700px){#warden-assistant{top:8px;right:8px;bottom:8px;border-radius:20px}
.assistant-heading{padding:17px 15px}
.assistant-heading h2{font-size:18px}
.assistant-heading>button{width:30px;height:30px}
#assistant-content{padding:12px}
#assistant-content .ai-controls{flex-wrap:wrap;gap:5px;font-size:10px}
#assistant-content .message{font-size:12px;max-width:95%}
#assistant-content .chat-suggestions{display:none}
#assistant-content .ai-compose-foot{flex-wrap:wrap}
#assistant-content .ai-compose-foot>small{display:none}
#assistant-content .ai-form{padding:10px}
#assistant-content .ai-source-note{max-height:42px;overflow:auto}
#assistant-content .ai-log{padding:10px}
#assistant-content .ai-form textarea{min-height:58px}
.assistant-launcher.u215{bottom:16px;right:16px}}
/* v27.4 · #040 geometry, retained Warden blue palette. */
.u215-ln .ai-letter{position:absolute;font-size:19px;line-height:1;font-weight:800;letter-spacing:-.04em;transition:transform .35s cubic-bezier(.3,1.5,.5,1),opacity .2s}
#assistant-content{padding:20px 25px}
#assistant-content .message{max-width:92%}
#assistant-content .ai-form textarea{width:100%;min-height:100px;max-height:170px}
#assistant-content .ai-upload-row{width:auto}
/* A two-column field keeps the eye inside without translate/absolute offsets. */
.password-suggestion .password-field{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:0;border:1px solid #b8c7dc;border-radius:16px;background:var(--surface);padding:0 4px 0 0;min-height:54px}
.password-suggestion .password-field>.suggestion-input{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:16px 0 0 16px;width:100%;height:52px;min-height:0;min-width:0;padding:12px 10px 12px 14px!important;line-height:28px}
.password-suggestion .password-field>.password-eye{position:static!important;inset:auto!important;transform:none!important;translate:none!important;margin:0!important;align-self:center;justify-self:center;display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:7px!important;border:0;border-radius:50%;background:transparent!important;box-shadow:none!important}
.password-suggestion .password-field>.password-eye:hover{transform:none!important;background:var(--soft)!important}
.password-suggestion .password-field>.password-eye svg{width:22px;height:22px;display:block}
/* Keep OTP confirmation entirely visible at ordinary desktop/laptop heights. */
#modal:has(.otp-layout){width:min(820px,calc(100vw - 28px));max-width:820px;padding:22px 26px;max-height:calc(100svh - 24px);overflow:auto}
#modal:has(.otp-layout)>h2{font-size:22px;line-height:1.3;margin:0 30px 12px 0}
#modal:has(.otp-layout) .modal-body>p{margin:6px 0;font-size:12px}
.otp-layout{grid-template-columns:minmax(190px,.8fr) minmax(300px,1.2fr);gap:28px;padding:10px 0;align-items:center}
.otp-layout .phone-demo{min-height:280px;max-width:225px;padding:8px!important;border-radius:28px}
.otp-layout .phone-screen{min-height:262px;padding:12px 12px 22px;border-radius:19px}
.phone-status{margin-bottom:13px}
.phone-app-heading{margin:10px 0;font-size:11px}
.phone-otp-card{padding:12px 8px}
.phone-demo .phone-otp-card .otp-code{font-size:26px;margin:8px 0}
.phone-demo .phone-note{font-size:9px;margin:10px 0 0}
.phone-caption{font-size:8px}
.phone-speaker{top:11px}
.phone-home{bottom:13px;height:3px}
.otp-entry.u026{min-height:225px}
#modal:has(.otp-layout) .row{gap:8px;flex-wrap:wrap}
#modal:has(.otp-layout) .row>button{padding:9px 14px;font-size:12px}
#lab-otp-error:empty{display:none}
#modal:has(.otp-layout) .error{margin:6px 0;font-size:12px}
/* Each track contains two real 26px glyph rows; flex cannot compress the copy. */
html[data-theme=dark] .password-suggestion .password-field{border-color:#52647f;background:#182232}
@media  (max-width:700px){#assistant-content{padding:12px}
#assistant-content .ai-form textarea{min-height:80px}
.otp-layout{grid-template-columns:1fr;gap:12px;padding:6px 0}
.otp-layout .phone-demo{min-height:158px;max-width:235px}
.otp-layout .phone-screen{min-height:140px;padding:9px 12px 13px}
.phone-status,.phone-caption,.phone-note,.phone-app-heading{display:none!important}
.phone-otp-card{margin:10px 0 0;padding:8px}
.phone-home{bottom:11px}
.otp-entry.u026{min-height:185px}
.otp-entry .u026-ic{width:42px;height:42px;border-radius:13px}
.otp-entry .u026-t{margin-top:10px}
.otp-entry .u026-s{margin:6px 0 12px}
#modal:has(.otp-layout){padding:20px 16px}
#modal:has(.otp-layout)>h2{font-size:18px}
.otp-entry .u026-c{height:49px;width:36px}}
@media  (max-height:620px) and (min-width:701px){.otp-layout .phone-demo{min-height:220px}
.otp-layout .phone-screen{min-height:202px}
.phone-status,.phone-note{display:none!important}
.phone-app-heading{margin-top:10px}
.otp-entry.u026{min-height:190px}
.otp-entry .u026-ic{width:42px;height:42px}
.otp-entry .u026-t{margin-top:10px}
#modal:has(.otp-layout){padding:18px 24px}}
/* v27.8: one continuous rounded rail, with the logo inside. */
.shell>main{grid-column:2}
.shell>.sidebar{box-sizing:border-box;position:fixed;left:20px;top:50%;transform:translateY(-50%);width:236px;height:min(760px,calc(100svh - 40px));max-height:calc(100svh - 40px);padding:24px 12px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--line);border-radius:28px;background:var(--surface);overflow:visible;z-index:65}
.shell .nav{min-height:0;flex:1;overflow-y:auto;scrollbar-width:none}
.shell .sidebar-bottom{margin-top:auto;padding-top:16px;flex:none}
.shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}
.shell.sidebar-collapsed>.sidebar{width:68px;height:auto;max-height:calc(100svh - 40px);padding:14px 10px;gap:18px;border:0;border-radius:34px;background:linear-gradient(170deg,#1680eb,#0755bc);box-shadow:0 12px 28px #1268cb24;overflow:visible;isolation:auto}
.shell.sidebar-collapsed>.sidebar::before{display:none}
.shell.sidebar-collapsed .brand-home{box-sizing:border-box;display:grid;place-items:center;width:48px;height:48px;min-height:48px;padding:7px;margin:0;border:0;border-radius:50%;background:#ffffff1c;flex:none}
.shell.sidebar-collapsed .brand-home img{width:34px;height:34px;object-fit:contain;filter:brightness(0) invert(1)}
.shell.sidebar-collapsed .brand-home span,.shell.sidebar-collapsed .nav-text,.shell.sidebar-collapsed .u040-it span,.shell.sidebar-collapsed .nav-section-label,.shell.sidebar-collapsed .sidebar-bottom{display:none}
.shell.sidebar-collapsed .nav{box-sizing:border-box;width:48px;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px;background:none;border:0;border-radius:24px;box-shadow:none;max-height:calc(100svh - 138px);overflow-y:auto;flex:0 1 auto}
.shell.sidebar-collapsed .nav button{box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;aspect-ratio:1;flex:0 0 44px;display:grid;place-items:center;padding:11px;border:0;border-radius:50%;background:transparent;color:#deecff;box-shadow:none}
.shell.sidebar-collapsed .nav button svg{display:block;width:22px;height:22px;color:inherit;transform:none}
.shell.sidebar-collapsed .nav button.active{background:#fff;color:#1067d4;box-shadow:0 3px 10px #083c8515}
.shell.sidebar-collapsed .nav button.active svg{color:inherit}
.shell.sidebar-collapsed .nav button:hover:not(.active){background:#ffffff20;color:#fff}
#workspace-sidebar #sidebar-toggle{position:absolute;right:-15px;top:22px;z-index:4;box-sizing:border-box;width:30px;height:30px;min-width:30px;min-height:30px;padding:6px;margin:0!important;display:grid;place-items:center;border:1px solid var(--line)!important;border-radius:50%;background:var(--surface)!important;color:var(--muted);box-shadow:0 3px 10px #122a4b20!important;transform:none}
#workspace-sidebar #sidebar-toggle svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor}
.shell.sidebar-collapsed #workspace-sidebar #sidebar-toggle{right:-14px;top:76px}
@media(max-width:1100px){.shell>.sidebar{left:14px;width:205px}
.shell.sidebar-collapsed>.sidebar{width:68px}}
@media(max-width:700px){.shell.u040,.shell.sidebar-collapsed{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;padding:10px}
.shell>.sidebar{left:8px;width:220px;height:calc(100svh - 24px);max-height:calc(100svh - 24px);padding:20px 10px}
.shell.sidebar-collapsed>.sidebar{width:58px;height:auto;padding:12px 7px;gap:14px;border-radius:29px;max-height:calc(100svh - 24px)}
.shell.sidebar-collapsed .brand-home{width:44px;height:44px;min-height:44px;padding:7px}
.shell.sidebar-collapsed .brand-home img{width:30px;height:30px}
.shell.sidebar-collapsed .nav{width:44px;gap:10px;max-height:calc(100svh - 120px)}
.shell.sidebar-collapsed .nav button{width:40px;height:40px;min-width:40px;min-height:40px;flex-basis:40px;padding:9px}
#workspace-sidebar #sidebar-toggle{right:-12px;top:19px;width:26px;height:26px;min-width:26px;min-height:26px;padding:5px}
.shell.sidebar-collapsed #workspace-sidebar #sidebar-toggle{right:-12px;top:68px}}
/* v27.4 status controls restored. */
.language-mark{font-size:10px;white-space:nowrap;font-weight:700;letter-spacing:-.04em}
.language-mark>span{opacity:.5;margin:0 1px}
.top :is(.theme-toggle,.language-toggle,[data-action=notifications]){display:grid;place-items:center;width:42px;min-width:42px;height:42px;min-height:42px;border-radius:50%;background:var(--surface)!important;border:1px solid var(--line)!important;box-shadow:0 4px 12px #1b335b08!important;padding:10px!important}
.top .avatar[data-action=profile]{background:#202126!important;color:#fff;border:1px solid #202126!important;border-radius:50%;width:44px;height:44px}
.top .avatar[data-action=profile] svg{color:#fff}
@media   (max-width:700px){.top .language-mark{font-size:9px}}
.top .language-toggle{width:auto!important;min-width:78px!important;height:42px;border-radius:999px!important;padding:0 17px!important;display:flex!important;align-items:center;justify-content:center;background:var(--surface)!important}
.language-mark{font-size:13px;font-weight:700;letter-spacing:0;line-height:1;display:block;text-align:center}
.top .theme-toggle{background:var(--surface)!important;display:grid!important;place-items:center}
.top .theme-toggle svg{display:block;width:20px;height:20px}
.top .theme-toggle .theme-sun{display:none}
html[data-theme=dark] .top .theme-toggle .theme-sun{display:block}
html[data-theme=dark] .top .theme-toggle .theme-moon{display:none}
@media   (max-width:700px){.top .language-toggle{min-width:64px!important;height:36px;padding:0 12px!important}
.language-mark{font-size:12px}}
/* First-entry prompt sits just above its launcher and can be dismissed. */
.assistant-hint{position:absolute;right:0;bottom:70px;width:230px;padding:12px 10px 12px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 12px 32px #0a254325}
.assistant-hint[hidden]{display:none!important}
.assistant-hint::after{content:"";position:absolute;bottom:-7px;right:20px;width:12px;height:12px;transform:rotate(45deg);background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.assistant-hint-open{border:0;background:transparent;padding:5px 0;font-size:14px;color:var(--ink);box-shadow:none;white-space:nowrap}
.assistant-hint-close{display:grid;place-items:center;flex:none;border:0;border-radius:50%;width:27px;height:27px;padding:0;font-size:21px;background:var(--soft);color:var(--muted);box-shadow:none}
/* Full available width: transcript/composer left, settings right. */
#assistant-content{padding:16px 20px 12px;min-width:0}
#assistant-content>.ai-panel{box-sizing:border-box;width:100%;max-width:none;min-width:0;height:100%;padding:0;display:grid;grid-template-columns:minmax(0,1fr) 225px;grid-template-rows:minmax(90px,1fr) auto auto auto auto;gap:0 22px;overflow:hidden}
#assistant-content .ai-controls{grid-column:2;grid-row:1 / -1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;box-sizing:border-box;min-width:0;padding:20px 16px 76px;margin:0;border:1px solid var(--line);border-radius:18px;background:var(--soft);font-size:12px;overflow-y:auto}
#assistant-content .ai-controls .ai-mode-label{font-weight:700}
#assistant-content .ai-controls button{width:100%;min-height:38px;margin:0;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
#assistant-content .ai-log{grid-column:1;grid-row:1;box-sizing:border-box;width:100%;max-width:none;min-height:0;overflow:auto}
#assistant-content .chat-suggestions{grid-column:1;grid-row:2}
#assistant-content .ai-error{grid-column:1;grid-row:3}
#assistant-content .ai-form{grid-column:1;grid-row:4;box-sizing:border-box;width:100%;max-width:none;min-width:0;margin:0;padding:12px}
#assistant-content .ai-source-note{grid-column:1;grid-row:5;margin:8px 0 0;max-height:36px;overflow:auto}
#assistant-content .message{max-width:94%;overflow-wrap:anywhere;min-width:0}
#assistant-content .ai-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:72px;max-height:145px}
@media(max-width:900px){#assistant-content>.ai-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(90px,1fr) auto auto auto auto;gap:0}
#assistant-content .ai-controls{grid-column:1;grid-row:1;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:flex-end;padding:8px 10px;margin-bottom:10px;gap:8px;overflow:visible}
#assistant-content .ai-controls button{width:auto;min-height:34px}
#assistant-content .ai-log{grid-row:2}
#assistant-content .chat-suggestions{grid-row:3}
#assistant-content .ai-error{grid-row:4}
#assistant-content .ai-form{grid-row:5}
#assistant-content .ai-source-note{grid-row:6}
.assistant-open .assistant-launcher{display:none!important}}
/* Back in the normal document flow, with backgrounds for the two text controls. */
.top .guide-button,.top .description-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px!important;border:1px solid var(--line)!important;border-radius:14px;background:var(--surface)!important;color:var(--ink);box-shadow:0 3px 10px #16355b08!important;font-size:12px;line-height:1.4;font-weight:650;white-space:nowrap;text-align:center}
.top .guide-button{margin-right:0}
.top .description-button{margin-right:auto}
.top .guide-button>span{display:grid;place-items:center;flex:none;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;line-height:1;font-size:12px}
.top .guide-button:hover,.top .description-button:hover{background:var(--soft)!important;color:var(--accent);border-color:var(--accent)!important}
@media(max-width:700px){.top .guide-button,.top .description-button{gap:5px;min-height:36px;padding:8px 10px!important;font-size:10px}
.top .guide-button>span{width:17px;height:17px;font-size:10px}
#assistant-content{padding:10px 12px 12px}
#assistant-content>.ai-panel{width:100%;max-width:none}
#assistant-content .ai-controls .ai-mode-label{font-size:10px}
#assistant-content .ai-controls button{font-size:10px}
.assistant-hint{width:210px}}
/* Explicit chat mode buttons replace the old select. */
#assistant-content .ai-mode-label{font-weight:700}
#assistant-content .ai-mode-buttons{display:grid;grid-template-columns:1fr;gap:8px;min-width:0}
#assistant-content .ai-mode-buttons button{width:100%;padding:11px 10px;min-height:42px;line-height:1.4;font-weight:600;white-space:normal}
#assistant-content .ai-mode-buttons button[aria-pressed=true]{color:var(--accent);font-weight:750;text-decoration:underline;text-underline-offset:5px}
#assistant-content .ai-mode-buttons button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:900px){#assistant-content .ai-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
#assistant-content .ai-mode-buttons button{width:auto;min-height:36px;padding:8px 11px;font-size:11px}}

/* V28.1 compact assistant header and controls leave more room for replies. */
.assistant-heading{padding:9px 18px;min-height:44px;gap:12px}
.assistant-heading>div{display:flex;align-items:center;gap:12px;min-width:0}
.assistant-heading h2{font-size:17px;line-height:1.4;margin:0}
.assistant-heading>button{flex:none;width:32px;height:32px}
#assistant-content{padding:10px 14px}
#assistant-content>.ai-panel{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(90px,1fr) auto auto auto auto;gap:0}
#assistant-content .ai-controls{grid-column:1;grid-row:1;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:5px 8px;margin:0 0 8px;gap:8px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
#assistant-content .ai-mode-buttons{display:flex;gap:6px}
#assistant-content .ai-controls button,#assistant-content .ai-mode-buttons button{width:auto;min-height:30px;padding:5px 10px;font-size:11px;border:0;background:transparent;box-shadow:none;color:var(--muted)}
#assistant-content .ai-controls button:hover{background:transparent;box-shadow:none;color:var(--accent);transform:none}
#assistant-content .ai-log{grid-column:1;grid-row:2}
#assistant-content .chat-suggestions{grid-row:3}
#assistant-content .ai-error{grid-row:4}
#assistant-content .ai-form{grid-row:5;padding:8px}
#assistant-content .ai-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
#assistant-content .ai-compose-foot>button{flex:none;margin-left:auto}
#assistant-content .ai-form textarea{display:block}
#assistant-content .ai-upload-row{padding-bottom:8px}
#assistant-content .ai-form textarea{min-height:54px;max-height:110px}
#assistant-content .ai-source-note{grid-row:6;margin-top:4px}
.message strong{font-weight:750}.message pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:12px;border-radius:10px}.message code{font-family:monospace}
warden-rolling-button{margin:18px 0;--wr-ink:var(--ink);--wr-page:var(--surface)}
#landing warden-rolling-button,#page>.hero warden-rolling-button{--wr-ink:#f3f7ff;--wr-page:#081327}
@media(max-width:600px){.assistant-heading span{display:none}.assistant-heading h2{font-size:15px}#assistant-content .ai-mode-label{display:none}}

/* V28.4: readable product descriptions inside the existing dialog. */
#modal:has(.tab-description){width:min(800px,calc(100vw - 28px));max-width:800px;max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain}
.tab-description{font-size:14px;line-height:1.75;overflow-wrap:anywhere}
.tab-description section+section{margin-top:20px}
.tab-description h3{font-size:15px;line-height:1.5;margin:0 0 6px;color:var(--ink)}
.tab-description p{margin:0;color:var(--muted)}
.tab-description .description-ai{margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.tab-description .description-ai p{margin-top:10px}
@media(max-width:600px){.tab-description{font-size:13px}.tab-description section+section{margin-top:16px}}
