:root{--bg: oklch(.17 .012 250);--panel: oklch(.205 .013 250 / .85);--hairline: oklch(.27 .014 250);--border: oklch(.31 .015 250);--ink: oklch(.94 .006 250);--ink-dim: oklch(.72 .01 250);--ink-faint: oklch(.62 .01 250);--accent: oklch(.82 .12 200)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 50% -10%,oklch(.24 .02 250 / .6),transparent);color:var(--ink);font-family:Sora,system-ui,sans-serif;font-weight:300}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.app-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:32px;width:min(360px,100%);position:relative}.panel:before,.panel:after{content:"";position:absolute;width:16px;height:16px;border-color:var(--accent);border-style:solid}.panel:before{top:-1px;left:-1px;border-width:2px 0 0 2px}.panel:after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.panel h1{font-size:20px;font-weight:400;margin:0 0 8px}.panel p.subtitle{color:var(--ink-faint);font-size:14px;margin:0 0 24px}label{display:block;font-size:10px;color:var(--ink-faint);margin-bottom:6px}input[type=text]{width:100%;min-height:44px;background:transparent;border:1px solid var(--border);border-radius:3px;color:var(--ink);font-size:16px;padding:0 12px;margin-bottom:16px}input[type=text]:focus{outline:2px solid var(--accent);outline-offset:1px}button{width:100%;min-height:44px;background:var(--accent);color:#0b1015;border:none;border-radius:3px;font-size:14px;font-weight:400;cursor:pointer}button:disabled{opacity:.5;cursor:default}.error{color:var(--accent);font-size:13px;margin-top:12px}.hairline-rule{border:none;border-top:1px solid var(--hairline);margin:20px 0}.conversation-shell{height:100%;display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding:16px}.conversation-header{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 16px;font-size:11px;color:var(--ink-faint)}.conversation-header-left{display:flex;align-items:center;gap:12px}.connection-state--connected{color:var(--accent)}.connection-state--reconnecting{color:var(--ink-dim)}.connection-state--offline{color:var(--ink-faint)}.offline-banner{background:var(--panel);border:1px solid var(--border);border-radius:3px;padding:10px 12px;font-size:11px;color:var(--ink-dim);margin:0 0 12px}.turn-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:4px}.empty-state{color:var(--ink-faint);font-size:14px}.turn{display:grid;grid-template-columns:72px 1fr;gap:12px}.turn-speaker{font-size:10px;color:var(--ink-faint);padding-top:2px}.turn-rail{border-left:2px solid var(--hairline);padding-left:12px}.turn--assistant .turn-rail{border-left-color:var(--accent)}.turn-text{font-size:14px;line-height:1.5;color:var(--ink);margin:0;white-space:pre-wrap}.turn--user .turn-text{color:var(--ink-dim)}.turn--pending .turn-text{opacity:.6}.turn-status{display:block;font-size:10px;color:var(--ink-faint);margin-top:4px}.turn-status--failed{color:var(--accent)}.turn-error{font-size:10px;color:var(--accent);margin:4px 0 0}.citation-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.citation-chip{font-size:10px;border:1px solid var(--border);border-radius:2px;padding:2px 6px;color:var(--accent);background:transparent;cursor:pointer}.link-button{background:none;border:none;color:var(--accent);text-decoration:underline;cursor:pointer;padding:0;width:auto;min-height:0;font:inherit}.jump-to-latest{align-self:center;width:auto;min-height:32px;padding:0 16px;margin-bottom:8px;font-size:10px;background:var(--panel);color:var(--ink);border:1px solid var(--border)}.confirm-card{border:1px solid var(--accent);border-radius:3px;padding:10px 12px;margin-top:8px}.confirm-summary{font-size:13px;color:var(--ink);margin:0 0 8px}.confirm-actions{display:flex;gap:8px}.confirm-actions button{min-height:44px;width:auto;flex:1;padding:0 12px}.confirm-reject{background:transparent;border:1px solid var(--border);color:var(--ink)}.confirm-status{font-size:11px;color:var(--accent);margin:0}.confirm-status--error{color:var(--ink-dim)}.composer{display:flex;gap:8px;padding-top:12px}.composer input[type=text]{flex:1;margin-bottom:0}.composer button{width:auto;padding:0 20px}.day-brief-shell{min-height:100%;display:flex;justify-content:center;padding:24px}.day-brief-panel{width:min(560px,100%);align-self:flex-start}.section-label{font-size:11px;color:var(--ink-faint);margin:16px 0 8px}.stale-banner{font-size:11px;color:var(--accent);margin:8px 0 16px}.nudge-list{list-style:none;padding:0;margin:8px 0 16px;display:flex;flex-direction:column;gap:6px}.nudge-row{font-size:13px;color:var(--accent);border-left:2px solid var(--accent);padding-left:8px}.pairing-code-display{font-size:12px;margin:8px 0 0}.pairing-code-display strong{font-size:16px;letter-spacing:.06em}.skeleton-row{height:20px;border-radius:3px;background:var(--hairline);margin-bottom:12px;opacity:.6}.calendar-list,.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.calendar-row{display:flex;gap:12px;align-items:baseline}.calendar-time{font-size:10px;color:var(--accent);min-width:56px}.calendar-title{font-size:14px;color:var(--ink)}.task-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}.task-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.task-checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.task-text{font-size:14px;color:var(--ink)}.task-row--done .task-text{text-decoration:line-through;color:var(--ink-faint)}.origin-chip{font-size:10px;border:1px solid var(--border);border-radius:2px;padding:2px 6px;color:var(--accent);flex-shrink:0}.day-brief-footer{display:flex;flex-direction:column;gap:8px}.dropzone{position:relative;border:1px dashed var(--border);border-radius:3px;padding:24px 12px;margin-bottom:16px;text-align:center;color:var(--ink-faint);font-size:12px;cursor:pointer}.dropzone--active{border-color:var(--accent);color:var(--accent)}.dropzone-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.document-skeleton{display:flex;flex-direction:column}.document-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.document-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:44px;border-bottom:1px solid var(--hairline);padding-bottom:8px}.document-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.document-filename{font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{font-size:10px;color:var(--ink-faint)}.document-row-side{display:flex;align-items:center;gap:12px;flex-shrink:0}.status-chip{font-size:10px;border:1px solid var(--border);border-radius:2px;padding:2px 6px;color:var(--ink-dim)}.status-chip--ready{color:var(--accent);border-color:var(--accent)}.status-chip--failed{color:var(--accent)}.document-delete{font-size:10px}.feed-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;min-height:44px}.feed-toggle input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.document-failure{flex-basis:100%;font-size:10px;color:var(--accent);margin:4px 0 0}.settings-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.settings-radio-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink);text-transform:none;letter-spacing:normal;cursor:pointer;min-height:44px}.settings-radio-label input[type=radio]{width:18px;height:18px;accent-color:var(--accent)}.voice-shell{min-height:100%;display:flex;justify-content:center;align-items:center;padding:24px}.voice-panel{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.voice-state-label{font-size:12px;color:var(--ink-dim);margin:0 0 8px}.voice-target{width:140px;height:140px;min-height:140px;border-radius:50%;border:1px solid var(--border);background:var(--panel);display:flex;align-items:center;justify-content:center;margin:8px 0;transition:border-color .2s ease}.voice-target:disabled{opacity:.5}.voice-target-dot{width:20px;height:20px;border-radius:50%;background:var(--accent)}.voice-target--idle .voice-target-dot{opacity:.7}.voice-target--listening,.voice-target--speaking{border-color:var(--accent)}.voice-target--listening .voice-target-dot,.voice-target--speaking .voice-target-dot{animation:voice-pulse 1.1s ease-in-out infinite}.voice-target--thinking .voice-target-dot{animation:voice-pulse 1.8s ease-in-out infinite}@keyframes voice-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.35);opacity:1}}@media(prefers-reduced-motion:reduce){.voice-target-dot{animation:none!important}}.voice-cancel{font-size:12px}.voice-answer-rule{border-top-color:var(--accent);width:100%}.voice-answer{font-size:16px;color:var(--ink);line-height:1.5;margin:0}.voice-full-note{font-size:10px;color:var(--ink-faint);margin:0}.voice-debug{font-size:10px;color:var(--ink-faint);margin:4px 0 0;white-space:pre-line}.memory-grid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.memory-card{border:1px solid var(--border);border-radius:3px;padding:14px}.memory-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.memory-card-class{font-size:11px;color:var(--accent)}.memory-pinned-badge{font-size:10px;border:1px solid var(--accent);border-radius:2px;padding:2px 6px;color:var(--accent)}.memory-card-text{font-size:14px;color:var(--ink);line-height:1.5;margin:0 0 8px;cursor:text}.memory-card-textarea{width:100%;min-height:72px;background:transparent;border:1px solid var(--accent);border-radius:3px;color:var(--ink);font-family:inherit;font-size:14px;padding:8px;margin-bottom:8px;resize:vertical}.memory-card-provenance{font-size:10px;color:var(--ink-faint);margin:0 0 8px}.memory-pinned-note{font-size:11px;color:var(--accent);margin:0 0 8px}.memory-card-actions{display:flex;gap:16px}.memory-card-actions button{width:auto;padding:0 16px}.memory-card-delete{color:var(--ink-faint)}.memory-contradiction-pair{border:1px solid var(--accent);border-radius:3px;padding:14px}.memory-contradiction-label{font-size:11px;color:var(--accent);margin:0 0 12px}.memory-contradiction-sides{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:480px){.memory-contradiction-sides{grid-template-columns:1fr}}.memory-contradiction-side{display:flex;flex-direction:column;gap:8px}.memory-contradiction-side button{width:100%}
