:root{--bg:#f6f7fb;--surface:#fff;--surface-raised:#fff;--surface-input:#f8fafc;--border:#dbe1ea;--text:#1f2937;--text-strong:#0f172a;--text-muted:#64748b;--accent:#2563eb;--accent-glow:#2563eb29;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}button,textarea,input{font:inherit}h1,h2,h3,p{margin:0}a{color:inherit}.top-nav{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;display:flex}.top-nav-left{align-items:center;gap:20px;min-width:0;display:flex}.top-nav-brand{letter-spacing:.02em;color:var(--text-strong);align-items:baseline;gap:6px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.top-nav-brand-suffix{color:var(--text-muted);letter-spacing:.04em;font-size:11px;font-weight:500}.top-nav-links{align-items:center;gap:4px;display:flex}.top-nav-link{color:var(--text-muted);border-radius:6px;padding:5px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.top-nav-link:hover{background:var(--surface-input);color:var(--text)}.top-nav-link.active{background:var(--accent-glow);color:var(--accent)}.top-nav-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.top-nav-user{color:var(--text);align-items:center;gap:8px;font-size:13px;display:inline-flex}.top-nav-role{background:var(--surface-input);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:1px 8px;font-size:11px;font-weight:500}.top-nav-logout,.top-nav-login{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.top-nav-logout:hover,.top-nav-login:hover{background:var(--surface-input);border-color:var(--text-muted)}.admin-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.admin-main{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1080px;margin:0 auto;padding:24px 24px 64px;display:flex}.admin-header h1{color:var(--text-strong);font-size:24px;font-weight:650}.admin-header p{color:var(--text-muted);max-width:720px;margin-top:6px;font-size:13px;line-height:1.6}.admin-stats{flex-wrap:wrap;gap:10px;display:flex}.admin-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:92px;padding:10px 14px;display:flex}.admin-stat-flagged{background:#fff7f7;border-color:#fecaca}.admin-stat-value{color:var(--text-strong);font-size:18px;font-weight:650}.admin-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.admin-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.admin-section-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-section-header h2{color:var(--text-strong);font-size:16px;font-weight:650}.admin-section-copy{color:var(--text-muted);max-width:680px;font-size:13px;line-height:1.6}.admin-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-select,.admin-input{border:1px solid var(--border);background:var(--surface-input);color:var(--text);border-radius:8px;outline:none;padding:7px 10px;font-size:13px}.admin-select:focus,.admin-input:focus{border-color:var(--accent)}.admin-checkbox{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.admin-search{flex:1;gap:8px;min-width:220px;display:flex}.admin-search .admin-input{flex:1}.admin-ghost-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.admin-ghost-btn:hover:not(:disabled){background:var(--surface-input);border-color:var(--text-muted)}.admin-ghost-btn:disabled{opacity:.55;cursor:default}.admin-primary-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .15s}.admin-primary-btn:hover:not(:disabled){opacity:.9}.admin-primary-btn:disabled{opacity:.6;cursor:default}.admin-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:9px 12px;font-size:13px}.admin-notice{color:#166534;word-break:break-word;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:9px 12px;font-size:13px}.admin-table-wrapper{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;background:var(--surface-input);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:9px 12px}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table-row{cursor:pointer;transition:background .1s}.admin-table-row:hover{background:var(--surface-input)}.admin-table-empty{text-align:center;color:var(--text-muted);padding:22px 12px}.admin-cell-ts{white-space:nowrap;font-family:var(--mono);color:var(--text-muted);font-size:12px}.admin-cell-template,.admin-cell-username{font-family:var(--mono);font-size:12px}.admin-cell-input{max-width:420px}.admin-flag-pill{color:#b91c1c;background:#fef2f2;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.admin-pagination{align-items:center;gap:12px;display:flex}.admin-pagination-info{color:var(--text-muted);font-size:12px}.admin-create-user{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:14px;display:flex}.admin-create-user h3{color:var(--text);font-size:13px;font-weight:600}.admin-create-user-grid{flex-wrap:wrap;gap:10px;display:flex}.admin-create-user-grid .admin-input,.admin-create-user-grid .admin-select{min-width:170px}.admin-confirm-row{color:var(--text);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.drawer-backdrop{z-index:40;background:#0f172a59;position:fixed;inset:0}.detail-drawer{background:var(--surface);border-left:1px solid var(--border);z-index:50;flex-direction:column;width:min(560px,94vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 28px #0f172a1f}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.drawer-header h3{color:var(--text-strong);font-size:15px;font-weight:650}.drawer-request-id{font-family:var(--mono);color:var(--text-muted);word-break:break-all;margin-top:4px;font-size:11px;display:block}.drawer-close{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:6px;flex-shrink:0;width:28px;height:28px}.drawer-close:hover{background:var(--surface-input);color:var(--text)}.drawer-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px 28px;display:flex;overflow-y:auto}.drawer-loading{color:var(--text-muted);font-size:13px}.drawer-meta-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.drawer-meta{color:var(--text);flex-direction:column;gap:4px;font-size:13px;display:flex}.drawer-meta-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:600}.drawer-flagged{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.drawer-flag-block{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.drawer-flag-form{flex-direction:column;gap:8px;width:100%;display:flex}.drawer-flag-reason{resize:vertical;width:100%;font-family:var(--sans);line-height:1.5}.drawer-flag-actions{gap:8px;display:flex}.drawer-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.drawer-text{background:var(--surface-input);border:1px solid var(--border);font-size:13px;font-family:var(--sans);white-space:pre-wrap;word-break:break-word;color:var(--text);border-radius:8px;margin:0;padding:10px 12px;line-height:1.6}.drawer-empty{color:var(--text-muted);font-size:12px}.drawer-sources{flex-wrap:wrap;gap:8px;display:flex}.drawer-source-chip{font-size:12px;font-family:var(--mono);border:1px solid var(--border);background:var(--surface-input);color:var(--text);word-break:break-word;border-radius:999px;padding:5px 9px;display:inline-flex}.drawer-tool{border:1px solid var(--border);background:var(--surface-input);border-radius:8px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px 12px;display:flex}.drawer-tool-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-tool-name{font-family:var(--mono);color:var(--text);font-size:12px;font-weight:600}.drawer-tool-status{color:var(--text-muted);font-size:11px}.drawer-tool-args,.drawer-tool-result{font-size:11px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:6px;margin:0;padding:8px 10px;line-height:1.6}.drawer-tool-args{background:var(--surface);color:var(--text-muted)}.drawer-tool-result{background:var(--surface);color:var(--text)}.drawer-guard-finding{border-left:3px solid;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;padding:9px 12px;font-size:12px;display:flex}.drawer-guard-finding.severity-error{background:#fef2f2;border-color:#ef4444}.drawer-guard-finding.severity-warn{background:#fefce8;border-color:#eab308}.drawer-guard-finding.severity-info{background:#eff6ff;border-color:#3b82f6}.drawer-guard-severity{text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.drawer-guard-kind{font-family:var(--mono);color:var(--text-muted);font-size:10px}.drawer-guard-message{color:var(--text);flex-basis:100%;line-height:1.55}@media (width<=720px){.admin-main{padding:16px 14px 48px}.admin-section{padding:14px}}.rules-editor{margin:.6rem 0 1rem}.rules-editor-textarea{border:1px solid var(--border,#d3d9e4);background:var(--surface,#fbfcfe);resize:vertical;border-radius:8px;width:100%;padding:.6rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.45}.guardrail-field{margin-bottom:.7rem;display:block}.guardrail-field>span{color:var(--text-muted,#5b6472);margin-bottom:.25rem;font-size:.78rem;font-weight:600;display:block}.guardrail-input{border:1px solid var(--border,#d3d9e4);background:var(--surface,#fbfcfe);border-radius:8px;width:100%;padding:.45rem .6rem;font-size:.85rem}.guardrail-prompt{color:var(--text-muted,#5b6472);max-width:46ch;margin-top:.2rem;font-size:.75rem}.guardrail-row{cursor:pointer}.guardrail-row:hover{background:#f2f6fd}.guardrail-row--active{background:#e7eefc}.admin-tabs{border-bottom:1px solid var(--border,#d8dee9);gap:.25rem;margin:1.25rem 0 0;display:flex}.admin-tab{appearance:none;cursor:pointer;color:var(--text-muted,#5b6472);background:0 0;border:0;border-bottom:2px solid #0000;padding:.6rem .9rem;font-size:.9rem;font-weight:500}.admin-tab:hover{color:var(--text,#1c2330);background:#f4f7fc}.admin-tab--active{color:var(--accent,#2f6fed);border-bottom-color:var(--accent,#2f6fed)}.admin-tab-blurb{color:var(--text-muted,#5b6472);margin:.6rem 0 .25rem;font-size:.85rem}.admin-tabpanel{display:block}.admin-pill{color:#1c6b33;background:#e7f4ea;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;display:inline-block}.admin-pill--off{color:#6b7280;background:#f1f2f4}.admin-cell-history{color:var(--text-muted,#5b6472);white-space:nowrap;font-size:.8rem}.admin-cell-actions{white-space:nowrap;gap:.4rem;display:flex}.admin-danger-btn{appearance:none;cursor:pointer;color:#9b2c2c;background:0 0;border:1px solid #e3b7b7;border-radius:8px;padding:.3rem .6rem;font-size:.78rem}.admin-danger-btn:hover:not(:disabled){background:#fdecec}.admin-danger-btn:disabled{opacity:.45;cursor:not-allowed}.admin-confirm{background:snow;border:1px solid #e3b7b7;border-radius:10px;margin-top:.9rem;padding:.9rem 1rem}.admin-confirm h3{margin:0 0 .4rem;font-size:.95rem}.admin-confirm p{margin:0 0 .5rem;font-size:.85rem}.admin-confirm-label{margin-bottom:.5rem;font-size:.8rem;display:block}.admin-confirm-label .admin-input{max-width:320px;margin-top:.25rem;display:block}.admin-confirm-actions{gap:.5rem;display:flex}.admin-persona-editor{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.5}.admin-persona-actions{gap:.5rem;margin-top:.6rem;display:flex}.admin-persona-locked{border-top:1px dashed var(--border,#d8dee9);margin-top:1rem;padding-top:.8rem}.admin-persona-boundaries{border:1px solid var(--border,#d8dee9);white-space:pre-wrap;background:#f7f8fa;border-radius:8px;max-height:340px;padding:.7rem;font-size:.76rem;overflow:auto}.admin-row{cursor:pointer}.admin-row:hover{background:#f4f7fc}.admin-row--active{background:#e7eefc}.admin-session-thread-row>td{background:#fbfcfe;padding:.6rem .8rem}.admin-session-turn{border-bottom:1px solid var(--border,#eceff4);padding:.5rem 0}.admin-session-turn:last-child{border-bottom:0}.admin-session-turn-meta{color:var(--text-muted,#5b6472);font-size:.72rem}.admin-session-q{margin:.15rem 0;font-size:.85rem;font-weight:500}.admin-session-a{color:#333a45;white-space:pre-wrap;font-size:.83rem}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem .9rem;margin-bottom:.8rem;display:grid}.reg-template-tabs{flex-wrap:wrap;align-items:center;margin:.9rem 0 .6rem}.reg-template-tabs .admin-ghost-btn{margin-left:.4rem}.reg-template-new{align-items:center;gap:.35rem;margin-left:.4rem;padding-bottom:.25rem;display:inline-flex}.reg-template-new .guardrail-input{max-width:200px}.reg-rule-dims{border:1px solid var(--border,#d8dee9);border-radius:8px;margin:.6rem 0 .9rem;padding:.7rem .9rem .9rem}.reg-rule-dims legend{color:var(--text-muted,#5b6472);padding:0 .3rem;font-size:.78rem;font-weight:600}.reg-rule-dim-row{grid-template-columns:2fr .8fr 1fr auto;align-items:center;gap:.4rem;margin-bottom:.4rem;display:grid}.reg-rule-dim-cell{color:var(--text,#1c2330);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.reg-rule-codes{flex-wrap:wrap;gap:.35rem;margin-top:.3rem;display:flex}.reg-rule-code-chip{border:1px solid var(--border,#d8dee9);background:var(--surface,#fbfcfe);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.75rem;display:inline-flex}.reg-rule-code-chip--on{border-color:var(--accent,#2f6fed);color:var(--accent,#2f6fed);background:#e7eefc}.reg-rule-stmt-snippet{color:var(--text-muted,#5b6472);font-size:.72rem}.reg-rule-stmt-row{align-items:baseline;gap:.35rem;max-width:420px;margin:.1rem 0;display:flex}.reg-rule-code-mini{background:#eef2fa;border-radius:999px;margin:.05rem .15rem .05rem 0;padding:.1rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;display:inline-block}.reg-rule-badge--on{color:#1c6b33;background:#e7f4ea;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;display:inline-block}.reg-rule-badge--off{color:#6b7280;background:#f1f2f4;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;display:inline-block}.reg-rule-text{border:1px solid var(--border,#d8dee9);white-space:pre-wrap;background:#f7f8fa;border-radius:8px;margin:.3rem 0 .6rem;padding:.7rem;font-size:.8rem}.reg-rule-trace{color:#d1e0ff;background:#0f172a;border-radius:8px;max-height:320px;margin:.4rem 0 0;padding:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;overflow:auto}.admin-table-row--active{background:#e7eefc}.reg-rule-edit-row>td{border-bottom:1px solid var(--border,#d8dee9);background:#f8f9fa;padding:0}.rules-editor--inline{background:#f8f9fa;border-radius:0;margin:0;padding:14px 16px}.demo-editor-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=860px){.demo-editor-layout{grid-template-columns:1fr}}.demo-script-list{flex-direction:column;gap:.4rem;display:flex}.demo-script-item{border:1px solid var(--border,#d8dee9);background:var(--surface,#fff);border-radius:10px;padding:.45rem .55rem}.demo-script-item--active{border-color:var(--accent,#2f6fed);background:#eef3fe}.demo-script-item-main{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:.1rem 0;display:block}.demo-script-item-title{color:var(--text,#1c2330);font-size:.86rem;font-weight:600;display:block}.demo-script-item-meta{color:var(--text-muted,#5b6472);margin-top:.15rem;font-size:.74rem;display:block}.demo-script-item-actions{gap:.35rem;margin-top:.4rem;display:flex}.demo-mini-btn{padding:.25rem .55rem;font-size:.74rem}.admin-pill--draft{color:#8a5a00;background:#fff4e0}.demo-confirm{margin-top:.5rem;padding:.6rem .7rem}.demo-editor{flex-direction:column;gap:.8rem;min-width:0;display:flex}.demo-editor-toolbar{border:1px solid var(--border,#d8dee9);background:#f7f8fb;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.demo-editor-toolbar-actions{flex-wrap:wrap;gap:.4rem;display:flex}.demo-draft-status{color:var(--text-muted,#5b6472);font-size:.8rem}.demo-draft-status--dirty{color:#8a5a00;font-weight:600}.demo-step-card{border:1px solid var(--border,#d8dee9);background:var(--surface,#fff);border-radius:12px;flex-direction:column;gap:.3rem;padding:.8rem .9rem;display:flex}.demo-step-card--problem{background:snow;border-color:#e3b7b7}.demo-step-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.3rem;display:flex}.demo-step-id{max-width:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.demo-step-actions{gap:.3rem;margin-left:auto;display:flex}.demo-select{width:100%}.demo-checkbox{align-self:end;padding-bottom:.5rem}.demo-answer{font-family:inherit;line-height:1.45}.demo-toolcall-row{grid-template-columns:minmax(150px,.8fr) minmax(160px,1.2fr) minmax(160px,1.2fr) auto;align-items:center;gap:.4rem;margin-bottom:.4rem;display:grid}@media (width<=860px){.demo-toolcall-row{grid-template-columns:1fr}}.demo-input--invalid{background:#fff5f5;border-color:#d14343}.demo-problems{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:.2rem 0 .5rem;padding:.5rem .7rem .5rem 1.6rem;font-size:.8rem}.demo-problems code{background:#fee2e2;border-radius:4px;margin-right:.3rem;padding:0 .3rem;font-size:.74rem}.mode-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:10px;align-items:center;padding:1px 8px;font-size:10px;font-weight:600;line-height:1.6;display:inline-flex}.mode-badge--advisory{color:#166534;background:#dcfce7}.mode-badge--training{color:#1e40af;background:#dbeafe}.mode-badge--protocol{color:#5b21b6;background:#ede9fe}.mode-badge--regulatory{color:#92400e;background:#fef3c7}.mode-badge--claims{color:#115e59;background:#ccfbf1}.mode-badge--safety_escalation{color:#991b1b;background:#fee2e2}.mode-badge--out_of_scope{color:#4b5563;background:#f3f4f6}.mode-badge--default{background:var(--surface-input);color:var(--text-muted)}.mode-badge--template{background:var(--surface-input);color:var(--text-muted);border:1px solid var(--border);text-transform:none;letter-spacing:.02em;font-family:var(--mono)}.analysis-panel{background:var(--surface-raised);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.analysis-panel.collapsed{cursor:pointer;overflow:visible}.resize-handle{cursor:col-resize;z-index:20;width:4px;height:100%;transition:background .15s;position:absolute;top:0;left:0}.resize-handle:hover,.resize-handle:active{background:var(--accent)}.panel-header{border-bottom:1px solid var(--border);background:var(--surface-raised);z-index:10;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 12px;display:flex}.panel-header.collapsed-header{cursor:pointer;justify-content:center;padding:14px 8px}.panel-header.collapsed-header:hover{background:var(--surface-input)}.collapse-icon{color:var(--text-muted);align-items:center;display:flex}.panel-header h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:13px;font-weight:600}.panel-subtitle{color:var(--text-muted);margin:6px 0 0;font-size:12px;line-height:1.5}.collapse-btn{border:1px solid var(--border);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.collapse-btn:hover{background:var(--surface-input);color:var(--text)}.panel-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.panel-empty{height:100%;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex}.panel-empty-rich{text-align:left;align-items:flex-start}.panel-empty-rich strong,.panel-error strong{color:var(--text);margin-bottom:8px;font-size:14px;display:block}.panel-empty-rich p,.panel-error p{margin:0;line-height:1.6}.panel-error{color:#991b1b;background:#fef2f2;border-bottom:1px solid #fecaca;gap:8px;padding:16px;font-size:13px;display:grid}.analysis-hero{border-bottom:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-raised) 85%, var(--accent) 15%), var(--surface-raised));gap:14px;padding:16px;display:grid}.analysis-hero-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hero-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600;display:inline-block}.analysis-hero h4{color:var(--text);margin:0;font-size:16px;line-height:1.35}.analysis-hero-copy{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.metric-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-input) 88%, white 12%);border-radius:10px;gap:4px;padding:10px;display:grid}.metric-card-error{background:#fff1f2;border-color:#fecaca}.metric-card-warn{background:#fffbeb;border-color:#fde68a}.metric-label,.metric-hint{color:var(--text-muted);font-size:11px}.metric-value{color:var(--text);font-size:18px;line-height:1}.hero-meta-list{gap:8px;display:grid}.meta-row{gap:4px;display:grid}.meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.meta-value{color:var(--text);font-size:12px;font-family:var(--mono);word-break:break-all}.meta-value.is-placeholder{color:var(--text-muted)}.panel-section{border-bottom:1px solid var(--border)}.panel-section:last-child{border-bottom:none}.panel-section-summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;list-style:none;display:flex}.panel-section-summary::-webkit-details-marker{display:none}.panel-section-title-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.panel-section-title{color:var(--text);font-size:13px;font-weight:600}.panel-section-count{background:var(--surface-input);min-width:20px;height:20px;color:var(--text-muted);font-size:11px;font-family:var(--mono);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.panel-section-description{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.panel-section-chevron{color:var(--text-muted);transition:transform .18s}.panel-section[open] .panel-section-chevron{transform:rotate(180deg)}.panel-section-content{gap:12px;padding:0 16px 16px;display:grid}.section-badge{font-size:12px;font-weight:500;font-family:var(--mono);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge-advisory{color:#166534;background:#dcfce7}.badge-safety{color:#854d0e;background:#fef9c3}.badge-out_of_scope,.badge-oos{color:#4b5563;background:#f3f4f6}.badge-default{background:var(--surface-input);color:var(--text)}.empty-state{border:1px dashed var(--border);background:var(--surface);border-radius:10px;gap:6px;padding:12px;display:grid}.empty-state strong{color:var(--text);font-size:13px}.empty-state p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.55}.token-list{flex-wrap:wrap;gap:8px;display:flex}.token-chip{font-size:12px;line-height:1.3;font-family:var(--mono);border:1px solid var(--border);background:var(--surface-input);color:var(--text);border-radius:999px;align-items:center;padding:6px 9px;display:inline-flex}.token-chip-source{word-break:break-word}.token-chip-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.guard-section,.guard-list,.evidence-section,.tool-list{gap:10px;display:grid}.guard-summary-row{flex-wrap:wrap;gap:8px;display:flex}.severity-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.severity-error{color:#b91c1c;background:#fef2f2}.severity-warn{color:#a16207;background:#fefce8}.severity-info{color:#1d4ed8;background:#eff6ff}.guard-finding{border-left:3px solid;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.guard-finding.warn{background:#fefce8;border-color:#eab308}.guard-finding.error{background:#fef2f2;border-color:#ef4444}.guard-finding.info{background:#eff6ff;border-color:#3b82f6}.guard-finding-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.guard-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:10px;font-weight:600;font-family:var(--mono)}.guard-message{color:var(--text);line-height:1.55}.evidence-grid{gap:10px;display:grid}.tool-card{background:var(--surface-input);border:1px solid var(--border);border-radius:8px;overflow:hidden}.tool-card-header{font-size:12px;font-weight:500;font-family:var(--mono);color:var(--text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .1s;display:flex}.tool-card-header:hover{background:var(--surface-raised)}.tool-card-main,.tool-card-meta{align-items:center;gap:8px;display:flex}.tool-card-main{flex:1;min-width:0}.tool-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tool-index,.tool-status-label,.tool-toggle,.tool-detail-label{color:var(--text-muted)}.tool-index,.tool-status-label{font-size:11px}.tool-toggle{font-size:9px}.tool-status{background:#22c55e;border-radius:50%;flex-shrink:0;width:6px;height:6px}.tool-status.err{background:#ef4444}.tool-details{border-top:1px solid var(--border);gap:10px;padding:10px 12px 12px;display:grid}.tool-detail-block{gap:6px;display:grid}.tool-detail-label{text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.tool-args,.tool-result{font-size:11px;font-family:var(--mono);white-space:pre-wrap;word-break:break-word;scrollbar-width:thin;border-radius:6px;margin:0;padding:8px 10px;line-height:1.6;overflow-x:auto}.tool-args{color:var(--text-muted);background:var(--surface);border:1px solid var(--border)}.tool-result{color:var(--text);background:color-mix(in srgb, var(--surface-input) 92%, white 8%);border:1px solid var(--border)}@media (width<=960px){.hero-metrics{grid-template-columns:1fr}}.input-wrapper{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:flex-end;gap:8px;padding:16px;display:flex;box-shadow:0 -4px 12px #0000000f}.input-field{color:var(--text);background:var(--surface-input);border:1px solid var(--border);resize:none;border-radius:8px;outline:none;flex:1;min-height:44px;max-height:160px;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .15s,box-shadow .15s}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input-field:disabled{opacity:.5;cursor:not-allowed}.send-button{color:#fff;background:var(--accent);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:opacity .15s,transform .1s}.send-button:hover:not(:disabled){opacity:.9}.send-button:active:not(:disabled){transform:scale(.97)}.send-button:disabled{opacity:.4;cursor:not-allowed}.message-item{flex-direction:column;gap:4px;max-width:80%;display:flex}.message-item.user{align-self:flex-end;align-items:flex-end}.message-item.assistant{align-self:flex-start;align-items:flex-start}.message-item--status-fading{opacity:0;transition:opacity .22s,transform .22s;transform:translateY(-2px)}.message-role{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);align-items:center;gap:6px;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}.message-bubble{white-space:pre-wrap;word-break:break-word;color:var(--text);border-radius:14px;padding:10px 14px;font-size:14px;line-height:1.6}.message-bubble--status{color:var(--text-muted);background:color-mix(in srgb, var(--surface-raised) 82%, var(--accent-soft,#eef4ff) 18%);align-items:center;gap:10px;display:inline-flex}.message-status-dots{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.message-status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.message-status-dot:nth-child(2){animation-delay:.2s}.message-status-dot:nth-child(3){animation-delay:.4s}.user .message-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.assistant .message-bubble{background:var(--surface-raised);border:1px solid var(--border);border-bottom-left-radius:4px}.message-item--error .message-bubble{background:color-mix(in srgb, var(--surface-raised) 85%, #fee2e2 15%);color:#991b1b;border-color:#fca5a5}.message-failed-tag{text-transform:uppercase;letter-spacing:.06em;color:#b91c1c;cursor:help;background:#fee2e2;border:1px solid #fca5a5;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.flag-button{color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 4px;font-size:11px;text-decoration:underline}.flag-button:hover{color:#b91c1c}.flag-confirmation{color:#166534;padding:2px 4px;font-size:11px}.flag-form{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:6px;width:min(420px,100%);padding:8px;display:flex}.flag-reason-input{resize:vertical;border:1px solid var(--border);background:var(--surface-input);color:var(--text);border-radius:6px;outline:none;padding:6px 8px;font-size:12px}.flag-reason-input:focus{border-color:var(--accent)}.flag-error{color:#991b1b;font-size:11px}.flag-form-actions{gap:8px;display:flex}.flag-submit,.flag-cancel{cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:opacity .15s,background .15s}.flag-submit{color:#fff;background:#b91c1c;border:none}.flag-submit:hover:not(:disabled){opacity:.9}.flag-cancel{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.flag-cancel:hover:not(:disabled){background:var(--surface-input)}.flag-submit:disabled,.flag-cancel:disabled{opacity:.6;cursor:default}.inspect-button{border:1px solid var(--border,#d3d9e4);color:var(--text-muted,#5b6472);cursor:pointer;background:0 0;border-radius:999px;margin-left:.4rem;padding:.05rem .5rem;font-size:.72rem}.inspect-button:hover{border-color:var(--accent,#2f6fed);color:var(--accent,#2f6fed)}.message-list-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.message-list{overscroll-behavior:contain;scroll-behavior:smooth;flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 16px;display:flex;overflow-y:auto}.scroll-to-bottom{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;z-index:10;border:none;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:opacity .15s,transform .1s;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0000002e}.scroll-to-bottom:hover{opacity:.9;transform:translate(-50%)scale(1.03)}.scroll-to-bottom:active{transform:translate(-50%)scale(.97)}.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:40px 20px;font-size:14px;display:flex}.empty-state strong{color:var(--text);font-size:16px;font-weight:500}.example-prompts{flex-direction:column;gap:8px;width:100%;max-width:560px;margin-top:16px;display:flex}.example-prompt-chip{border:1px solid var(--border);background:var(--surface);text-align:left;width:100%;color:var(--text);cursor:pointer;border-radius:10px;align-items:baseline;gap:10px;padding:10px 14px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.example-prompt-chip:hover:not(:disabled){border-color:var(--accent);background:var(--surface-raised)}.example-prompt-chip:disabled{cursor:default;opacity:.7}.example-prompt-mode{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);flex-shrink:0;font-size:10px;font-weight:600}.example-prompt-text{color:var(--text);line-height:1.5}.loading-row{color:var(--text-muted);align-items:center;gap:8px;padding:4px;font-size:13px;display:flex}.loading-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-page{grid-template-columns:auto minmax(0, 1.6fr) minmax(280px, var(--panel-width,380px));background:var(--bg);grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.chat-page>.top-nav{grid-column:1/-1}.chat-shell{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;flex-shrink:0;padding:20px 20px 16px;position:sticky;top:0}.chat-title{color:var(--text-strong);margin:0;font-size:24px;font-weight:600}.chat-subtitle{color:var(--text-muted);margin-top:6px;font-size:13px;line-height:1.5}.chat-error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.chat-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-boundary-note{color:var(--text-muted);text-align:center;flex-shrink:0;margin:0;padding:6px 16px 10px;font-size:11px;line-height:1.5}@media (width<=960px){.chat-page{grid-template-rows:auto;grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.chat-shell{height:auto;min-height:65vh}.chat-main{overflow:visible}}.chat-sessions{border-right:1px solid var(--border,#e2e6ee);background:var(--surface,#f7f8fb);flex-direction:column;grid-row:2;width:240px;display:flex;overflow:hidden}.chat-sessions--collapsed{width:52px}.chat-sessions-header{border-bottom:1px solid var(--border,#e2e6ee);align-items:center;gap:.4rem;padding:.65rem .6rem;display:flex}.new-chat-button{border:1px solid var(--accent,#2f6fed);color:var(--accent,#2f6fed);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;flex:1;padding:.35rem .6rem;font-weight:600}.chat-sessions--collapsed .new-chat-button{display:none}.new-chat-button:hover{background:var(--accent,#2f6fed);color:#fff}.sessions-collapse{cursor:pointer;color:var(--text-muted,#5b6472);background:0 0;border:none;padding:.2rem .35rem;font-size:1rem}.chat-sessions-list{flex:1;padding:.4rem;overflow-y:auto}.chat-sessions-empty{color:var(--text-muted,#5b6472);padding:.4rem;font-size:.8rem}.chat-session-item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;width:100%;margin-bottom:.15rem;padding:.45rem .55rem;display:block}.chat-session-item:hover{background:#eef2f9}.chat-session-item--active{border-color:var(--accent,#2f6fed);background:#e7eefc}.chat-session-title{color:var(--text,#1c2330);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;display:block;overflow:hidden}.sessions-show-more{text-align:center;border:1px solid var(--border,#d8dee9);cursor:pointer;width:100%;color:var(--text-muted,#5b6472);background:0 0;border-radius:8px;margin-top:.3rem;padding:.4rem .55rem;font-size:.78rem;display:block}.sessions-show-more:hover{color:var(--text,#1c2330);background:#eef2f9}.demo-page{grid-template-columns:minmax(0, 1.6fr) minmax(280px, var(--panel-width,380px));background:var(--bg);grid-template-rows:auto auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.demo-page>.top-nav,.demo-page>.demo-bar{grid-column:1/-1}.demo-bar{color:#7c2d12;background:#fff7ed;border-bottom:1px solid #fed7aa;align-items:center;gap:12px;padding:8px 20px;font-size:13px;display:flex}.demo-pill{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#ea580c;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:11px;font-weight:700}.demo-bar-text{flex:1;min-width:0}.demo-bar-cache{font-style:normal;font-weight:600}.demo-bar-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.demo-toggle{color:#9a3412;cursor:pointer;background:#fff;border:1px solid #fdba74;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.demo-toggle:hover:not(:disabled){background:#ffedd5}.demo-toggle:disabled{opacity:.5;cursor:not-allowed}.demo-toggle--on{color:#fff;background:#ea580c;border-color:#ea580c}.demo-toggle--on:hover:not(:disabled){background:#c2410c}.demo-toggle--exit{border-color:var(--border);color:var(--text-muted)}.demo-script-picker{color:#9a3412;background:#fff;border:1px solid #fdba74;border-radius:6px;max-width:260px;padding:4px 8px;font-size:12px;font-weight:600}.demo-page--audience{grid-template-rows:auto minmax(0,1fr)}.demo-presenter-pill{z-index:20;color:#0000;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:2px 9px;font-size:11px;position:fixed;top:6px;right:10px}.demo-presenter-pill:hover,.demo-presenter-pill:focus-visible{color:#9a3412;background:#fff7ed;border-color:#fdba74}.demo-notes{color:#78350f;background:#fffbeb;border:1px dashed #f59e0b;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.5}.demo-notes strong{letter-spacing:.02em;text-transform:uppercase;margin-bottom:4px;font-size:12px;display:block}.demo-inline-retry{color:#991b1b;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;padding:2px 8px;font-size:12px}.demo-empty-intro{max-width:560px;font-size:13px;line-height:1.6}.demo-step-list{text-align:left;color:var(--text);margin:12px 0 0;padding-left:22px;font-size:13px;line-height:1.7}.demo-step-list-item--next{color:var(--accent);font-weight:600}.demo-empty-hint{color:var(--text-muted);margin-top:14px;font-size:13px}.input-field--scripted{cursor:default;caret-color:#0000}@media (width<=960px){.demo-page{grid-template-rows:auto;grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.demo-bar{flex-wrap:wrap}}:root{--color-primary-dark:#0b1638;--color-primary:#1a2b5e;--color-accent:#2b6cff;--color-accent-hover:#1d56e0;--color-accent-soft:#e7efff;--color-bg:#fff;--color-card:#eef3fc;--color-card-soft:#f5f8fd;--color-input-bg:#f7f9fc;--color-border:#e3e8f0;--color-divider:#e6ebf2;--color-text:#0f1b3d;--color-text-soft:#5a6478;--color-text-muted:#8892a6;--color-on-dark:#fff;--color-on-dark-soft:#b8c0d6;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 2px #0f1b3d0f;--shadow-md:0 8px 24px #0f1b3d14;--shadow-lg:0 20px 40px #0f1b3d1a;--container-w:1500px}.login-page,.login-page *,.login-page :before,.login-page :after{box-sizing:border-box}.login-page{min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;flex-direction:column;margin:0;padding:72px 0 0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.55;display:flex}.login-page img,.login-page svg{max-width:100%;display:block}.login-page a{color:inherit;text-decoration:none}.login-page button{font:inherit;cursor:pointer;background:0 0;border:0}.login-page input{font:inherit}.login-page .site-header{background:var(--color-primary-dark);color:var(--color-on-dark);z-index:999;height:72px;padding:0;position:fixed;top:0;left:0;right:0;overflow:visible}.login-page .nav-wrap{max-width:var(--container-w);align-items:center;height:100%;margin:0 auto;padding:0 24px;display:flex}.login-page .inner-nav-container{align-items:center;width:100%;max-width:1200px;margin:0 auto;display:flex}.login-page .brand{letter-spacing:.2px;color:inherit;align-items:flex-start;text-decoration:none;display:inline-flex}.login-page .nav-menu-wrap{flex:1;justify-content:center;display:flex}.login-page .nav-btn-wrap{margin-left:auto;display:flex}.login-page .inner-btn-wrap{align-items:center;gap:16px;padding-right:16px;display:flex}.login-page .nav-menu{color:var(--color-on-dark-soft);align-items:center;gap:95px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.login-page .nav-menu a{transition:color .15s}.login-page .nav-menu a:hover{color:#fff}.login-page .nav-menu .has-caret:after{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;margin-left:6px;display:inline-block;transform:translateY(-2px)rotate(45deg)}.login-page .brand-name-block{flex-direction:column;justify-content:center;align-items:flex-end;height:100%;display:flex}.login-page .brand-name-block .sam-text{color:#fff;font-size:43px;font-weight:700;line-height:1}.login-page .brand-name-block .by-line{align-items:center;gap:4px;margin-top:2px;display:inline-flex}.login-page .brand-name-block .by{color:#ffffffb3;font-size:11px;font-weight:400;line-height:1}.login-page .brand-logo.is-sam.dot-after{background:var(--color-accent);border-radius:50%;flex:none;width:11px;height:11px}.login-page .footer-brand .brand-name-block{flex-direction:column;justify-content:center;align-items:flex-end;height:auto;margin-left:0;display:flex}.login-page .brand small{opacity:.7;margin-left:2px;font-weight:400}.login-page .btn{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s,border-color .15s,transform 50ms;display:inline-flex}.login-page .btn:active{transform:translateY(1px)}.login-page .btn-ghost-light{color:#fff;border:1px solid #ffffff40}.login-page .btn-ghost-light:hover{background:#ffffff14}.login-page .btn-primary{background:var(--color-accent);color:#fff}.login-page .btn-primary:hover{background:var(--color-accent-hover)}.login-page .btn-primary:disabled{opacity:.6;cursor:default}.login-page .welcome{text-align:center;max-width:720px;margin:0 auto;padding:48px 24px 28px}.login-page .welcome h1{letter-spacing:-.5px;margin:0 0 8px;font-size:42px;font-weight:600}.login-page .welcome p{color:var(--color-text-soft);margin:0;font-size:22px}.login-page .main-wrap{max-width:var(--container-w);grid-template-columns:1.05fr 1fr;align-items:stretch;margin:16px auto 56px;padding:0 24px;display:grid}.login-page .left-panel{background:var(--color-card);border-radius:var(--radius-xl);flex-direction:column;padding:44px 44px 0;display:flex;position:relative;overflow:hidden}.login-page .left-panel h2{letter-spacing:-.6px;margin:0 0 16px;font-size:43px;font-weight:600;line-height:1.2}.login-page .left-panel h2 .accent{color:var(--color-accent)}.login-page .left-panel .lead{color:var(--color-text-soft);max-width:38ch;margin:0 0 28px;font-size:18px}.login-page .features{gap:27px;margin:0;padding:0;list-style:none;display:grid;transform:translate(30px)}.login-page .feature{grid-template-columns:min-content 1fr;align-items:start;gap:27px;display:grid}.login-page .feature-icon{width:65px;height:65px;color:var(--color-accent);box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;place-items:center;display:grid}.login-page .feature-title{color:var(--color-text);margin:2px 0;font-size:17px;font-weight:700}.login-page .feature-blurb{color:var(--color-text-soft);margin:0;font-size:15px}.login-page .mascot{aspect-ratio:1;background:0 0;align-self:flex-start;width:550px;margin-top:-200px;transform:translate(-3px)}.login-page .mascot img{object-fit:contain;object-position:center bottom;width:100%;height:100%}.login-page .right-panel{border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-md);background:#fff;padding:44px}.login-page .right-panel h3{margin:0 0 6px;font-size:34px;font-weight:600}.login-page .right-panel .sub{color:var(--color-text-soft);margin:0 0 50px;font-size:18px}.login-page .form{gap:40px;display:grid}.login-page .field{gap:6px;display:grid}.login-page .field label{color:var(--color-text);font-size:17px;font-weight:500}.login-page .input-wrap{align-items:center;display:flex;position:relative}.login-page .input-wrap .leading-icon{color:var(--color-text-muted);pointer-events:none;width:18px;height:18px;position:absolute;left:14px}.login-page .input-wrap input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);width:100%;color:var(--color-text);padding:12px 44px;transition:border-color .15s,box-shadow .15s,background .15s}.login-page .input-wrap input:focus{border-color:var(--color-accent);background:#fff;outline:none;box-shadow:0 0 0 4px #2b6cff1f}.login-page .input-wrap input::placeholder{color:var(--color-text-muted)}.login-page .input-wrap input:disabled{opacity:.6;cursor:default}.login-page .toggle-eye{width:28px;height:28px;color:var(--color-text-muted);border-radius:6px;place-items:center;transition:color .15s,background .15s;display:grid;position:absolute;right:12px}.login-page .toggle-eye:hover{color:var(--color-text);background:#0000000a}.login-page .form-row{justify-content:space-between;align-items:center;margin:-4px 0 4px;display:flex}.login-page .check{color:var(--color-text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;display:inline-flex}.login-page .check input{width:16px;height:16px;accent-color:var(--color-accent)}.login-page .link{color:var(--color-accent);font-size:14px;font-weight:500}.login-page .link:hover{color:var(--color-accent-hover);text-decoration:underline}.login-page .btn-block{width:100%;padding:12px 18px;font-size:15px}.login-page .login-loading{color:var(--color-text-muted);font-size:13px}.login-page .login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:9px 12px;font-size:13px}.login-page .login-guest-note{color:var(--color-text-muted);background:var(--color-input-bg);border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.6}.login-page .divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:22px 0;font-size:13px;display:flex}.login-page .divider:before,.login-page .divider:after{content:"";background:var(--color-divider);flex:1;height:1px}.login-page .social-btns{display:none}.login-page .btn-social{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);background:#fff;justify-content:center;align-items:center;gap:10px;padding:11px 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.login-page .btn-social:hover{background:var(--color-card-soft);border-color:#cdd5e2}.login-page .btn-social:disabled{opacity:.55;cursor:default}.login-page .signup-cta{text-align:center;color:var(--color-text-soft);margin-top:22px;font-size:14px}.login-page .security-strip{background:var(--color-card-soft);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:18px;max-width:1450px;margin:0 auto;padding:22px 0}.login-page .security-wrap{max-width:var(--container-w);grid-template-columns:1fr 1.4fr;align-items:stretch;gap:32px;margin:0 auto;padding:0 24px;display:grid}.login-page .security-lead{align-items:flex-start;gap:25px;display:flex;position:relative}.login-page .security-lead:after{content:"";background-color:var(--color-divider);width:1px;height:100%;position:absolute;top:0;right:-16px}.login-page .security-lead .lead-icon{background:var(--color-accent-soft);width:95px;height:95px;color:var(--color-accent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.login-page .security-lead>div.text-wrap{flex-direction:column;gap:8px;display:flex}.login-page .security-lead h3{margin:0;font-size:22px;font-weight:600}.login-page .security-lead p{color:var(--color-text-soft);max-width:38ch;margin:0;font-size:14.5px}.login-page .security-grid{gap:0;display:flex}.login-page .security-card{border:none;border-right:1px solid var(--color-divider);background:0 0;flex:1;align-items:center;gap:25px;padding:0 14px;display:flex}.login-page .security-card:last-child{border-right:none}.login-page .security-card .ic{width:70px;height:70px;color:var(--color-accent);background:#f5f8fd;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.login-page .security-card h4{margin:0;font-size:15px;font-weight:600}.login-page .security-card p{display:none}@media (width<=960px){.login-page .security-wrap{grid-template-columns:1fr;gap:28px}.login-page .security-lead:after{display:none}.login-page .security-grid{flex-wrap:wrap}.login-page .security-card{border-right:none;flex:42%;padding:10px 0}}@media (width<=640px){.login-page .security-card{flex:100%}}.login-page .site-footer{background:var(--color-primary-dark);color:var(--color-on-dark-soft);padding:25px 0 10px}.login-page .footer-wrap{max-width:var(--container-w);grid-template-columns:1.4fr 3fr;gap:48px;margin:0 auto;padding:0 24px;display:grid}.login-page .footer-brand .brand{color:#fff;margin-bottom:14px}.login-page .footer-brand p{max-width:32ch;color:var(--color-on-dark-soft);margin:0 0 18px;font-size:14px}.login-page .socials{gap:10px;display:flex}.login-page .socials a{color:#fff;background:#ffffff0f;border-radius:50%;place-items:center;width:36px;height:36px;transition:background .15s;display:grid}.login-page .socials a:hover{background:#ffffff24}.login-page .footer-cols{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.login-page .footer-col h5{color:#fff;letter-spacing:.2px;margin:0 0 14px;font-size:14px;font-weight:600}.login-page .footer-col ul{gap:10px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.login-page .footer-col a{transition:color .15s}.login-page .footer-col a:hover{color:#fff}.login-page .footer-bottom{max-width:var(--container-w);color:var(--color-on-dark-soft);border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:15px auto 0;padding:18px 24px 0;font-size:13.5px;display:flex}.login-page .footer-bottom .made-in{align-items:center;gap:8px;display:inline-flex}.login-page .footer-bottom .made-in .flag{object-fit:cover;border-radius:2px;width:18px;height:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff26}@media (width<=960px){.login-page .inner-btn-wrap{transform:none}.login-page .nav-menu{display:none}.login-page .main-wrap{grid-template-columns:1fr;gap:20px}.login-page .left-panel{padding:32px 28px 0}.login-page .left-panel h2{font-size:30px}.login-page .footer-wrap{grid-template-columns:1fr;gap:28px}.login-page .footer-cols{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.login-page .nav-wrap{gap:12px}.login-page .nav-wrap .btn-ghost-light{display:none}.login-page .welcome{padding:28px 24px 16px}.login-page .welcome h1,.login-page .left-panel h2{font-size:26px}.login-page .left-panel,.login-page .right-panel{border-radius:var(--radius-lg);padding:28px 22px}.login-page .security-strip{padding:36px 0}.login-page .security-grid{grid-template-columns:1fr}.login-page .footer-bottom{flex-direction:column;align-items:flex-start}}
