:root{--font-body:"Outfit","Pretendard Variable","Noto Sans KR",sans-serif;--font-display:"Outfit",sans-serif;--font-code:"JetBrains Mono","D2Coding","Consolas",monospace;--radius-xl:20px;--radius-lg:14px;--radius-md:10px;--radius-sm:6px;--ease-out:cubic-bezier(.22,1,.36,1);--transition-fast:.16s var(--ease-out);--transition-base:.22s var(--ease-out);--transition-slow:.34s var(--ease-out);--top-bar-height:52px;--composer-clearance:240px}html[data-theme=dark]{--bg-base:#0a0e14;--bg-elevated:#141922;--bg-soft:#1c2333;--bg-surface:#1e2534;--text-main:#e8edf4;--text-secondary:#8b97ab;--text-muted:#5c6a7e;--line:#8b97ab1f;--line-strong:#8b97ab38;--accent:#8b5cf6;--accent-glow:#8b5cf640;--accent-subtle:#8b5cf61a;--accent-2:#06b6d4;--accent-2-glow:#06b6d433;--accent-2-subtle:#06b6d414;--danger:#f43f5e;--danger-subtle:#f43f5e1f;--success:#10b981;--success-subtle:#10b9811f;--warning:#f59e0b;--warning-subtle:#f59e0b1f;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 32px #0006;--shadow-lg:0 16px 48px #00000080;--shadow-glow:0 0 40px var(--accent-glow)}html[data-theme=light]{--bg-base:#f8f9fc;--bg-elevated:#fff;--bg-soft:#f0f2f7;--bg-surface:#e8ebf2;--text-main:#1a1e2e;--text-secondary:#4a5568;--text-muted:#8592a6;--line:#1e283c1a;--line-strong:#1e283c2e;--accent:#7c3aed;--accent-glow:#7c3aed2e;--accent-subtle:#7c3aed0f;--accent-2:#0891b2;--accent-2-glow:#0891b226;--accent-2-subtle:#0891b20f;--danger:#e11d48;--danger-subtle:#e11d4814;--success:#059669;--success-subtle:#05966914;--warning:#d97706;--warning-subtle:#d9770614;--shadow-sm:0 2px 6px #0000000f;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 40px #0000001a;--shadow-glow:0 0 30px var(--accent-glow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body{min-height:100dvh}body{font-family:var(--font-body);color:var(--text-main);background:var(--bg-base);font-size:15px;font-weight:400;line-height:1.6}a{color:var(--accent-2);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-shell{flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow-x:hidden}.top-bar{z-index:90;-webkit-backdrop-filter:blur(24px)saturate(1.8);background:color-mix(in srgb,var(--bg-base)80%,transparent);border-bottom:1px solid var(--line);height:52px;transition:transform var(--transition-base),background var(--transition-base);justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.scrolled .top-bar,.scrolled .top-bar:hover{background:var(--bg-elevated);box-shadow:var(--shadow-md)}.brand{align-items:center;gap:10px;display:flex}.brand-text{align-items:baseline;gap:8px;display:flex}.brand-icon{object-fit:contain;image-rendering:auto;flex-shrink:0;width:34px;height:34px}.brand-title{font-family:var(--font-display);color:var(--text-main);white-space:nowrap;margin:0;font-size:1.05rem;font-weight:700}.brand-subtitle{color:var(--text-muted);margin:0;font-size:.72rem;font-weight:400}.top-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.status-container{display:flex;position:relative}.system-status-chip-compact{background:var(--bg-soft);border-radius:var(--radius-md);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);cursor:pointer;height:34px;transition:all var(--transition-fast);align-items:center;gap:10px;padding:6px 14px;display:flex}.system-status-chip-compact:hover,.system-status-chip-compact.active{background:var(--bg-surface);border-color:var(--accent)}.system-status-icon-mini{filter:drop-shadow(0 0 2px var(--warning));font-size:.72rem;line-height:1}.system-status-meter-mini{background:var(--bg-base);border-radius:999px;width:40px;height:4px;overflow:hidden}.system-status-fill-mini{height:100%;transition:width 1s var(--ease-out),background .5s ease;border-radius:999px;display:block}.system-status-fill-mini.status-high{background:linear-gradient(90deg,var(--success),#34d399);box-shadow:0 0 4px var(--success-subtle)}.system-status-fill-mini.status-mid{background:linear-gradient(90deg,var(--warning),#fbbf24);box-shadow:0 0 4px var(--warning-subtle)}.system-status-fill-mini.status-low{background:linear-gradient(90deg,var(--danger),#fb7185);box-shadow:0 0 4px var(--danger-subtle)}.system-status-percent-mini{font-family:var(--font-display);color:var(--text-main);text-align:right;min-width:32px;font-size:.8rem;font-weight:800}.token-chip-mini{background:var(--bg-soft);border-radius:var(--radius-md);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);cursor:pointer;height:34px;transition:all var(--transition-fast);align-items:center;gap:10px;padding:6px 14px;display:flex}.token-chip-mini:hover,.token-chip-mini.active{background:var(--bg-surface);border-color:var(--accent)}.auth-chip-mini{background:var(--bg-soft);border-radius:var(--radius-md);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm);cursor:pointer;height:34px;transition:all var(--transition-fast);align-items:center;gap:10px;padding:6px 14px;display:flex}.auth-chip-mini:hover{background:var(--bg-surface);border-color:var(--accent)}.auth-chip-mini:disabled{opacity:.7;cursor:not-allowed}.auth-chip-label{font-family:var(--font-display);color:var(--text-muted);font-size:.7rem;font-weight:700}.auth-chip-value{font-family:var(--font-display);color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.8rem;font-weight:700;overflow:hidden}.token-info-mini{align-items:center;gap:8px;display:flex}.token-refill-mini-always{font-family:var(--font-display);color:var(--text-muted);border-left:1px solid var(--line-strong);padding-left:8px;font-size:.7rem;font-weight:500}.info-popover{background:color-mix(in srgb,var(--bg-elevated)90%,transparent);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:260px;box-shadow:var(--shadow-lg);z-index:100;pointer-events:auto;padding:16px;animation:.24s cubic-bezier(.2,.8,.2,1) popoverIn;position:absolute;top:calc(100% + 12px);left:0}.info-popover.right-align{left:auto;right:0}@keyframes popoverIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.info-popover p{color:var(--text-main);margin:0;font-size:.88rem;line-height:1.4}.popover-metrics{background:var(--bg-soft);border-radius:var(--radius-sm);flex-direction:column;gap:6px;margin:12px 0;padding:10px;display:flex}.popover-metrics span{font-size:.8rem;font-family:var(--font-code);color:var(--text-secondary)}.popover-note{color:var(--text-muted)!important;font-size:.75rem!important}.coupon-redeem-row{gap:8px;margin-top:12px;display:flex}.coupon-input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-soft);min-width:0;height:34px;color:var(--text-main);font-family:var(--font-code);flex:1;padding:0 10px;font-size:.8rem}.coupon-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #34d39926}.coupon-apply-btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-surface);height:34px;color:var(--text-main);font-family:var(--font-display);cursor:pointer;white-space:nowrap;padding:0 12px;font-weight:700}.coupon-apply-btn:hover{border-color:var(--accent)}.coupon-result{margin:10px 0 0;font-size:.78rem}.coupon-result.success{color:var(--success)}.coupon-result.error{color:var(--danger)}.token-meter-mini{background:var(--bg-base);border-radius:999px;width:50px;height:5px;overflow:hidden}.token-meter-fill-mini{background:linear-gradient(90deg,var(--accent),var(--accent-2));height:100%;box-shadow:0 0 4px var(--accent-glow);display:block}.token-info-mini{align-items:center;gap:6px;line-height:1;display:flex}.token-text-mini{font-family:var(--font-display);color:var(--text-main);white-space:nowrap;font-size:.82rem;font-weight:800}.token-refill-mini{font-family:var(--font-display);color:var(--text-muted);border-left:1px solid var(--line-strong);padding-left:8px;font-size:.68rem;font-weight:500}.theme-toggle-btn{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:.9rem;display:flex}.theme-toggle-btn:hover{background:var(--bg-surface);border-color:var(--line-strong)}.ghost-btn-sm{border:1px solid var(--line);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:4px 10px;font-size:.78rem;font-weight:500}.ghost-btn-sm:hover{border-color:var(--text-secondary);color:var(--text-main);background:var(--bg-soft)}.ghost-btn{border:1px solid var(--line);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);background:0 0;padding:8px 14px;font-size:.85rem;font-weight:500}.ghost-btn:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-main)}.chat-main{width:100%;padding:calc(var(--top-bar-height) + 20px)20px var(--composer-clearance);flex:1;justify-content:center;display:flex}.chat-column{flex-direction:column;gap:24px;width:min(100%,720px);display:flex}.hero-icon{object-fit:contain}.empty-state{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--shadow-md);text-align:center;z-index:1;justify-items:center;gap:12px;padding:48px 32px 36px;display:grid;position:relative}.empty-state h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-main);margin:0;font-size:1.3rem;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:420px;margin:0;font-size:.92rem}.prompt-grid{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;margin-top:16px;display:grid}.prompt-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);color:var(--text-secondary);text-align:left;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);padding:14px 16px;font-size:.88rem;line-height:1.45}.prompt-card:hover{border-color:var(--accent);background:var(--accent-subtle);color:var(--text-main);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.message-list{flex-direction:column;gap:16px;display:flex}.message-row{animation:messageSlideIn var(--transition-slow)both;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-bubble{border-radius:var(--radius-lg)var(--radius-lg)var(--radius-sm)var(--radius-lg);background:var(--accent);color:#fff;max-width:75%;box-shadow:var(--shadow-sm);border:none;padding:12px 16px;font-size:.92rem;line-height:1.5}.assistant-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg-elevated);width:100%;max-width:100%;box-shadow:var(--shadow-md);gap:14px;padding:20px;display:grid}.assistant-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.assistant-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.assistant-avatar{object-fit:contain;width:24px;height:24px}.assistant-brand{color:var(--text-main);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.cache-badge{background:var(--accent-2-subtle);border:1px solid color-mix(in srgb,var(--accent-2)30%,transparent);color:var(--accent-2);letter-spacing:.03em;border-radius:999px;padding:2px 10px;font-size:.72rem;font-weight:600}.policy-badge{letter-spacing:.03em;border:1px solid var(--line);background:var(--bg-soft);color:var(--text-muted);border-radius:999px;padding:2px 10px;font-size:.7rem;font-weight:700}.policy-badge.allow{color:#10b981;background:#10b98129;border-color:#10b98166}.policy-badge.block{color:#ef4444;background:#ef444429;border-color:#ef44446b}.policy-badge.ask{color:#d97706;background:#f59e0b2e;border-color:#f59e0b6b}.assistant-explanation{color:var(--text-main);margin:0;font-size:.93rem;line-height:1.65}.assistant-explanation.streaming:after{content:"▋";color:var(--accent);margin-left:2px;animation:.8s step-end infinite blinkCursor;display:inline-block}@keyframes blinkCursor{0%,49%{opacity:1}50%,to{opacity:0}}.assistant-notes{color:var(--text-muted);margin:0;font-size:.85rem;font-style:italic}.code-block{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);overflow:hidden}.code-head{border-bottom:1px solid var(--line);background:var(--bg-surface);font-size:.75rem;font-family:var(--font-code);color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;display:flex}.copy-btn-icon{border:1px solid var(--line);width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.copy-btn-icon:hover{background:var(--bg-soft);color:var(--accent);border-color:var(--accent)}.code-lines-wrap{background:0 0;padding:0;overflow-x:auto}.code-actions{border-top:1px solid var(--line);background:var(--bg-surface);justify-content:flex-end;gap:10px;padding:8px 12px;display:flex}.code-actions-right{align-items:center;gap:6px;display:flex}.code-regenerate-btn{border:1px solid var(--line);border-radius:var(--radius-sm);height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);background:0 0;padding:0 10px;font-size:.82rem;font-weight:600}.code-regenerate-btn:hover{background:var(--bg-soft);border-color:var(--text-secondary);transform:translateY(-1px)}.code-regenerate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.code-lines{min-width:max-content;margin:0;padding:12px 0;list-style:none}.code-line{grid-template-columns:48px 1fr;align-items:baseline;gap:12px;padding:0 16px;display:grid}.code-line-number{font-family:var(--font-code);color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;font-size:.75rem}.code-line-content{font-family:var(--font-code);color:var(--text-main);white-space:pre;tab-size:4;font-size:.84rem;line-height:1.6}.code-token.token-keyword{color:#38bdf8}.code-token.token-string{color:#f59e0b}.code-token.token-variable{color:#22c55e}.code-token.token-comment{color:var(--text-muted);font-style:italic}.validation-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.validation-badge{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:700}.validation-badge.pass{color:var(--success);border-color:color-mix(in srgb,var(--success)40%,transparent);background:var(--success-subtle)}.validation-badge.fail{color:var(--danger);border-color:color-mix(in srgb,var(--danger)40%,transparent);background:var(--danger-subtle)}.validation-profile{color:var(--text-muted);font-size:.78rem;font-family:var(--font-code)}.error-details,.source-details{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);padding:10px 14px}.error-details summary,.source-details summary{cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast);font-size:.88rem;font-weight:600}.error-details summary:hover,.source-details summary:hover{color:var(--text-main)}.error-details ul,.source-details ul{color:var(--text-secondary);gap:6px;margin:10px 0 0;padding:0 0 0 18px;font-size:.85rem;display:grid}.source-details li{justify-content:space-between;gap:12px;display:flex}.source-details a{color:var(--accent-2)}.source-details a:hover{color:var(--accent)}.feedback-row{gap:6px;display:flex}.feedback-btn{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);background:0 0;place-items:center;font-size:.85rem;display:grid}.feedback-btn:hover{background:var(--bg-soft);transform:scale(1.08)}.feedback-btn.active{border-color:var(--accent);background:var(--accent-subtle)}.composer-wrap{z-index:20;pointer-events:none;padding:0 20px 24px;position:fixed;bottom:0;left:0;right:0}.status-bar{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-elevated);width:min(100%,720px);box-shadow:var(--shadow-sm);animation:statusSlideUp var(--transition-base)both;margin:0 auto 12px;padding:10px 14px}@keyframes statusSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.status-track{background:var(--bg-soft);border-radius:999px;width:100%;height:4px;overflow:hidden}.status-track span{background:linear-gradient(90deg,var(--accent),var(--accent-2));height:100%;transition:width var(--transition-base);border-radius:999px;display:block;position:relative}.status-bar:not(.tone-success):not(.tone-error) .status-track span:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff40 50%,#0000 100%);animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.status-bar p{color:var(--text-secondary);margin:8px 0 0;font-size:.84rem}.status-bar.tone-success .status-track span{background:var(--success);box-shadow:0 0 8px var(--success-subtle)}.status-bar.tone-error .status-track span{background:var(--danger);box-shadow:0 0 8px var(--danger-subtle)}.composer-notice{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;padding:6px 12px;animation:.3s fadeIn;display:flex}.composer-notice p{color:var(--text-secondary);margin:0;font-size:.78rem}.composer-notice button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.1rem;line-height:1;transition:color .2s}.composer-notice button:hover{color:var(--text-main)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.error-inline{width:min(100% - 40px,720px);color:var(--danger);background:var(--danger-subtle);border:1px solid color-mix(in srgb,var(--danger)30%,transparent);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);margin:0 auto 10px;padding:10px 16px;font-size:.78rem;font-weight:600}.composer-panel{pointer-events:auto;flex-direction:column;gap:12px;width:min(100%,720px);margin:0 auto;display:flex;position:relative}.composer-menu-overlay{z-index:10;animation:menuSlideUp .24s var(--ease-out);position:absolute;bottom:calc(100% + 12px);left:0;right:0}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.composer-menu-card{background:color-mix(in srgb,var(--bg-elevated)80%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 20px #0003;flex-direction:column;gap:14px;width:240px;padding:16px;display:flex}.menu-section{flex-direction:column;gap:6px;display:flex}.menu-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.7rem;font-weight:700}.menu-options{gap:6px;display:flex}.menu-opt-btn{background:var(--bg-soft);border:1px solid var(--line);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex:1;padding:8px;font-size:.82rem;font-weight:600}.menu-opt-btn:hover{border-color:var(--line-strong);background:var(--bg-surface)}.menu-opt-btn.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.menu-grid{grid-template-columns:1fr;gap:8px;display:grid}.reasoning-card{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:10px;min-height:40px;padding:8px 12px;display:flex}.reasoning-card:hover{border-color:var(--line-strong);background:var(--bg-surface);transform:translate(2px)}.reasoning-card.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent);box-shadow:var(--shadow-sm)}.reasoning-info{flex:1;align-items:center;gap:8px;display:flex}.status-indicator{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:block;box-shadow:0 0 3px #0006}.reasoning-name{color:var(--text-main);white-space:nowrap;font-size:.75rem;font-weight:800}.reasoning-desc-inline{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.ghost-btn-full{background:var(--bg-soft);border:1px solid var(--line);width:100%;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);padding:10px;font-size:.82rem;font-weight:600}.ghost-btn-full:hover{border-color:var(--line-strong);background:var(--bg-surface)}.composer-main-row{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:8px;padding:8px;display:flex}.composer-main-row .composer-input-wrap{flex-direction:column;flex:1;padding:4px;display:flex}.composer-main-row textarea{resize:none;width:100%;color:var(--text-main);background:0 0;border:none;outline:none;max-height:200px;padding:8px 12px;font-size:.95rem;line-height:1.5}.composer-footer-row{border-top:1px solid color-mix(in srgb,var(--line)40%,transparent);justify-content:space-between;align-items:center;gap:12px;padding:4px 8px 4px 4px;display:flex}.composer-toggles{gap:10px;display:flex}.segment-control{background:color-mix(in srgb,var(--bg-soft)80%,black);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:flex;position:relative;box-shadow:inset 0 2px 4px #0000001a}.segment-item{color:var(--text-muted);cursor:pointer;white-space:nowrap;z-index:1;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:5px 14px;font-size:.72rem;font-weight:700;transition:all .25s cubic-bezier(.23,1,.32,1);display:flex;position:relative}.segment-item:hover:not(.active){color:var(--text-main)}.segment-item.active{background:var(--item-accent,var(--accent));box-shadow:0 2px 10px color-mix(in srgb,var(--item-accent,var(--accent))40%,transparent),0 1px 2px #0003;color:#fff!important}.theme-segment .segment-item.active{background:var(--bg-elevated);box-shadow:0 2px 6px #0003;color:var(--accent)!important}.status-dot{background-color:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 2px #0003}.segment-item.active .status-dot{background-color:#fff}.segment-wrapper{align-items:center;gap:6px;display:flex}.help-container{position:relative}.help-icon-btn{border:1px solid var(--line);background:var(--bg-soft);width:20px;height:20px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.help-icon-btn:hover,.help-icon-btn.active{background:var(--bg-surface);color:var(--accent);border-color:var(--accent)}.grade-info-popover{background:color-mix(in srgb,var(--bg-elevated)85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:240px;box-shadow:var(--shadow-lg),0 4px 20px #0000004d;z-index:50;padding:14px;animation:.2s cubic-bezier(.16,1,.3,1) popoverSlideUp;position:absolute;bottom:calc(100% + 12px);right:0}@keyframes popoverSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.popover-title{color:var(--text-main);font-size:.85rem;font-family:var(--font-display);margin:0 0 10px}.grade-list-mini{flex-direction:column;gap:10px;display:flex}.grade-item-mini{flex-direction:column;gap:3px;display:flex}.grade-item-head{white-space:nowrap;align-items:center;gap:8px;display:flex}.grade-label-mini{color:var(--text-main);min-width:24px;font-size:.75rem;font-weight:800}.grade-desc-mini-row{color:var(--text-muted);flex:1;font-size:.68rem}.grade-token-info-mini{color:var(--accent);opacity:.8;font-size:.65rem;font-weight:800}.theme-segment{min-width:80px}.theme-segment .segment-item{flex:1;justify-content:center;padding:4px 0;font-size:.85rem}.send-btn{border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;cursor:pointer;height:32px;transition:all var(--transition-fast);box-shadow:0 2px 8px var(--accent-glow);border:none;padding:0 14px;font-size:.82rem;font-weight:700}.send-btn:hover:not(:disabled){box-shadow:0 6px 16px var(--accent-glow);transform:translateY(-2px)}.send-btn:disabled{opacity:.5;filter:grayscale();cursor:not-allowed}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);animation:fadeIn var(--transition-fast)both;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border-radius:var(--radius-xl);border:1px solid var(--line-strong);background:var(--bg-elevated);width:min(100%,420px);box-shadow:var(--shadow-lg);animation:modalSlideIn var(--transition-base)both;gap:16px;padding:24px;display:grid}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.source-modal-trigger{color:var(--accent);font-size:inherit;text-underline-offset:2px;cursor:pointer;text-align:left;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.source-modal-trigger:hover{color:var(--accent-2)}.source-modal{flex-direction:column;width:min(100% - 40px,600px);max-height:85vh;display:flex;overflow:hidden}.modal-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.close-icon-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:4px;font-size:1.5rem;line-height:1}.close-icon-btn:hover{color:var(--text-main)}.modal-scroll-body{border-radius:var(--radius-md);background:#00000026;flex:1;margin-bottom:20px;padding-right:8px;overflow-y:auto}.source-content-pre{font-family:var(--font-body);white-space:pre-wrap;word-break:break-all;color:var(--text-main);padding:16px;font-size:.92rem;line-height:1.7}.no-content-msg{text-align:center;color:var(--text-muted);padding:40px;font-style:italic}.source-modal .modal-scroll-body{margin-bottom:0}.setting-row{border-bottom:1px solid var(--line);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:.92rem;display:flex}.setting-row:last-of-type{border-bottom:none}.setting-actions{gap:6px;display:flex}.setting-actions button,.setting-row>button{border:1px solid var(--line);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);background:0 0;padding:6px 12px;font-size:.85rem}.setting-actions button:hover,.setting-row>button:hover{background:var(--bg-soft);color:var(--text-main)}.setting-actions button.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent);font-weight:600}.close-btn{border:1px solid var(--line);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:background var(--transition-fast),color var(--transition-fast);background:0 0;padding:8px 16px;font-size:.9rem;font-weight:500}.close-btn:hover{background:var(--bg-soft);color:var(--text-main)}.scroll-top-btn{background:color-mix(in srgb,var(--bg-elevated)80%,transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line-strong);width:44px;height:44px;color:var(--accent);cursor:pointer;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:40;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:30px;right:30px;transform:translateY(20px)scale(.9)}.scroll-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.scroll-top-btn:hover{background:var(--bg-surface);border-color:var(--accent);color:var(--accent);box-shadow:0 0 15px var(--accent-glow),var(--shadow-lg);transform:translateY(-5px)scale(1.05)}.toggle{color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;display:flex}.toggle input{width:16px;height:16px;accent-color:var(--accent)}@media (max-width:767px){.top-bar{padding:10px 14px}.brand-subtitle{display:none}.token-chip{min-width:140px;padding:8px 10px}.chat-main{padding:calc(var(--top-bar-height) + 16px)12px 200px}.prompt-grid{grid-template-columns:1fr}.empty-state{padding:32px 20px 28px}.composer-wrap{padding:8px 12px 12px}.composer-panel{padding:12px}.composer-input-wrap{grid-template-columns:1fr}.send-btn{width:100%;height:44px}}@media (min-width:768px) and (max-width:1023px){.chat-main{padding:calc(var(--top-bar-height) + 18px)16px 220px}}.drag-overlay{z-index:200;background:color-mix(in srgb,var(--accent)15%,transparent);-webkit-backdrop-filter:blur(12px);pointer-events:none;animation:fadeIn var(--transition-fast)both;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.drag-content{border:3px dashed var(--accent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--bg-elevated)60%,transparent);flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;display:flex}.drag-icon{filter:drop-shadow(0 0 10px var(--accent-glow));font-size:3.5rem}.drag-content p{color:var(--text-main);font-size:1.4rem;font-weight:700;font-family:var(--font-display)}.drag-subtext{color:var(--text-secondary);font-size:.9rem;font-family:var(--font-code)}.integrated-details{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-soft);margin-top:12px;padding:10px 14px}.integrated-details summary{cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast);font-size:.88rem;font-weight:600}.integrated-details summary:hover{color:var(--text-main)}.details-content{flex-direction:column;gap:16px;margin-top:12px;display:flex}.detail-section h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.82rem;font-weight:700}.detail-section ul{color:var(--text-secondary);gap:6px;margin:0;padding:0 0 0 18px;font-size:.85rem;display:grid}.detail-section li{justify-content:space-between;gap:12px;display:flex}.detail-section a{color:var(--accent-2)}.detail-section a:hover{color:var(--accent)}
