:root{--ink:oklch(17% .006 255);--ink-soft:oklch(27% .008 255);--header-border:oklch(32% .01 255);--header-text:oklch(93% .004 255);--header-text-soft:oklch(68% .01 255);--paper:oklch(98.5% .002 255);--surface:oklch(100% 0 0);--border:oklch(88% .004 255);--border-strong:oklch(78% .004 255);--text:oklch(42% .006 255);--text-h:oklch(16% .006 255);--text-soft:oklch(58% .006 255);--accent:oklch(40% .1 240);--accent-hover:oklch(32% .1 240);--accent-soft:oklch(95% .02 240);--accent-border:oklch(80% .05 240);--intro-bg:oklch(96.5% .01 240);--danger:oklch(52% .19 25);--danger-soft:oklch(96% .03 25);--radius:3px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--heading:var(--sans);--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.01em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{box-sizing:border-box;flex-direction:column;height:100svh;display:flex}body{background:var(--paper);margin:0}h1{font-family:var(--heading);color:var(--text-h);font-weight:600}p{margin:0}.app-shell{background:var(--paper);flex-direction:column;flex:1;height:100%;display:flex}.topbar{background:var(--ink);border-bottom:1px solid var(--header-border);flex-shrink:0;justify-content:space-between;align-items:center;height:68px;padding:0 40px;display:flex}.brand{align-items:center;gap:12px;display:flex}.mark{background:var(--accent);color:#fff;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;height:30px;padding:0 7px;font-size:12px;font-weight:700;display:flex}.brand-name{color:var(--header-text);letter-spacing:.1em;white-space:nowrap;font-size:13px;font-weight:600}.topbar-right{align-items:center;gap:16px;display:flex}.user-pill{color:var(--header-text-soft);white-space:nowrap;font-size:13px}.btn-ghost-dark{border:1px solid var(--header-border);color:var(--header-text);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;display:flex}.btn-ghost-dark:hover{background:#ffffff0f;border-color:#ffffff59}.btn-ghost-dark svg{width:15px;height:15px}.site-footer{border-top:1px solid var(--border);background:var(--surface);text-align:center;flex-shrink:0;padding:14px 40px}.site-footer p{color:var(--text-soft);font-size:12px}.page{flex:1;justify-content:center;min-height:0;padding:40px;display:flex;overflow-y:auto}.page-inner{flex-direction:column;width:100%;max-width:820px;min-height:0;display:flex}.page-inner--wide{max-width:1160px}.eyebrow{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.page-head h1{margin-bottom:6px;font-size:26px}.page-head-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.lede{color:var(--text-soft);font-size:15px}.intro{background:var(--intro-bg);border:1px solid var(--accent-border);border-radius:4px;flex-shrink:0;margin-bottom:20px;overflow:hidden}.intro-toggle{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.intro-toggle-left{align-items:center;gap:10px;display:flex}.intro-icon{width:18px;height:18px;color:var(--accent);flex-shrink:0}.intro-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-h);font-size:12px;font-weight:700}.intro-chevron{width:16px;height:16px;color:var(--text-soft);flex-shrink:0;transition:transform .15s}.intro-chevron.open{transform:rotate(180deg)}.intro-body{padding:0 20px 20px}.intro-body p{color:var(--text);margin-bottom:12px;font-size:14.5px;line-height:1.65}.intro-body p:last-child{margin-bottom:0}.intro-body .privacy-note{color:var(--text-soft);border-top:1px solid var(--accent-border);margin-top:2px;padding-top:12px;font-size:13px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:4px}.transcript-panel{flex:1;min-height:320px;padding:24px;overflow-y:auto}.transcript{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.turn{border-radius:3px;max-width:70%;padding:12px 16px}.turn p{white-space:pre-wrap;margin:4px 0 0;font-size:15px;line-height:1.55}.turn-role{color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.turn-user{background:var(--surface);border:1px solid var(--border);border-right:3px solid var(--accent);align-self:flex-end}.turn-assistant{background:var(--paper);border:1px solid var(--border);align-self:flex-start}.loading-indicator{color:var(--text-soft);margin-top:12px;font-size:14px;font-style:italic}.error-message{color:var(--danger);margin-top:12px;font-size:14px}.composer{flex-shrink:0;gap:10px;margin-top:16px;display:flex}.composer input{min-width:0;font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-h);background:var(--surface);flex:1;padding:12px 14px;font-size:15px}.composer input::placeholder{color:var(--text-soft)}.composer input:disabled{opacity:.6;cursor:not-allowed}.btn-primary{font:inherit;background:var(--ink);color:#fff;border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.btn-primary:hover{background:var(--ink-soft)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary svg{width:16px;height:16px}.btn-primary--block{justify-content:center;width:100%}#login-view{flex-direction:column;flex:1;min-height:100svh;display:flex}.login-shell{flex:1;grid-template-columns:5fr 7fr;display:grid}.login-aside{background:var(--ink);color:var(--header-text);flex-direction:column;padding:56px;display:flex;position:relative;overflow:hidden}.login-aside:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-160px;right:-120px}.login-aside:before{content:"";border:1px solid #ffffff14;border-radius:50%;width:280px;height:280px;position:absolute;bottom:-60px;right:-40px}.login-aside .brand{z-index:1;position:relative}.claim{z-index:1;flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.claim .eyebrow{color:var(--header-text-soft);margin-bottom:14px}.login-aside h2{color:#fff;max-width:400px;margin:0;font-size:34px;font-weight:600;line-height:1.32}.login-main{background:var(--surface);justify-content:center;align-items:center;padding:40px;display:flex}.login-card{width:100%;max-width:380px}.login-card h1{margin-bottom:6px;font-size:24px}.login-mode-toggle{border-bottom:1px solid var(--border);margin:28px 0 24px;display:flex}.login-mode-toggle button{text-align:center;font:inherit;letter-spacing:.02em;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px 0;font-size:13px;font-weight:600}.login-mode-toggle button.active{color:var(--text-h);border-bottom-color:var(--accent)}#login-view form{flex-direction:column;gap:16px;display:flex}.field{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field input,.field textarea{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-h);background:var(--surface);padding:11px 13px;font-family:inherit;font-size:15px;font-weight:400}.field textarea{resize:vertical;min-height:84px}.field textarea.textarea-lg{min-height:240px}#login-view button:disabled,.admin-form button:disabled{opacity:.6;cursor:not-allowed}.callout{background:var(--accent-soft);border:1px solid var(--accent-border);border-left:3px solid var(--accent);color:var(--text-h);border-radius:3px;margin-bottom:28px;padding:16px 20px;font-size:14px}.callout p{margin:3px 0}.admin-grid{grid-template-columns:1fr 1fr;align-items:start;gap:28px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:28px}.card h2{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin:0 0 20px;font-size:12px;font-weight:700}.admin-form{flex-direction:column;gap:16px;display:flex}.user-table{border-collapse:collapse;width:100%;font-size:14px}.user-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);border-bottom:1px solid var(--border-strong);padding:0 0 10px;font-size:11px;font-weight:700}.user-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:top;padding:13px 0}.user-table td strong{color:var(--text-h)}.user-table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.confirm-delete{color:var(--text-soft);align-items:center;gap:8px;font-size:13px;display:inline-flex}.btn-ghost{font:inherit;border:1px solid var(--border-strong);color:var(--text-h);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.btn-ghost:hover{background:var(--paper)}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.link-button:hover{color:var(--accent-hover);text-decoration:underline}.log-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.empty-state{color:var(--text-soft);font-size:14px}@media (width<=768px){.topbar{height:56px;padding:0 16px}.mark{height:26px;padding:0 6px;font-size:11px}.brand-name{letter-spacing:.05em;font-size:11px}.site-footer{padding:12px 16px}.site-footer p{font-size:11px;line-height:1.4}.page{padding:16px}.page-head h1{font-size:20px}.transcript-panel{min-height:220px;padding:14px}.turn{max-width:88%}.intro-body p{font-size:13px}.login-shell{flex-direction:column;display:flex}.login-aside{padding:20px}.login-aside:before,.login-aside:after{display:none}.claim{flex:none}.login-aside h2{display:none}.login-main{padding:24px 20px}.admin-grid{grid-template-columns:1fr}.card{padding:20px}.user-table thead{display:none}.user-table,.user-table tbody,.user-table tr,.user-table td{width:100%;display:block}.user-table tr{border:1px solid var(--border);border-radius:4px;margin-bottom:10px;padding:10px 14px}.user-table tr:last-child{margin-bottom:0}.user-table td{border:none;padding:4px 0}.user-table td:before{content:attr(data-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);margin-bottom:2px;font-size:10px;font-weight:700;display:block}.user-table td.user-table-actions{flex-wrap:wrap;gap:8px;display:flex}}
