:root{--bg: oklch(.185 .008 255);--surface: oklch(.221 .011 255);--surface-2: oklch(.255 .013 255);--surface-3: oklch(.29 .014 255);--border: oklch(.31 .013 255);--border-strong: oklch(.4 .016 255);--text: oklch(.95 .005 255);--text-2: oklch(.74 .012 255);--text-3: oklch(.58 .012 255);--ok: oklch(.74 .15 152);--warn: oklch(.81 .13 80);--error: oklch(.68 .18 25);--working: oklch(.72 .14 252);--idle: oklch(.62 .01 255);--accent: oklch(.72 .13 274);--accent-soft: oklch(.32 .06 274);--muted: var(--text-3);--ui: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--ui);color:var(--text);letter-spacing:-.005em;color-scheme:dark}:root[data-theme=light]{--bg: oklch(.985 .003 247);--surface: oklch(1 0 0);--surface-2: oklch(.972 .004 247);--surface-3: oklch(.955 .005 247);--border: oklch(.922 .005 247);--border-strong: oklch(.86 .007 247);--text: oklch(.27 .012 255);--text-2: oklch(.52 .012 255);--text-3: oklch(.66 .01 255);--ok: oklch(.62 .13 152);--warn: oklch(.72 .13 76);--error: oklch(.6 .18 25);--working: oklch(.6 .15 252);--idle: oklch(.7 .01 255);--accent: oklch(.52 .15 274);--accent-soft: oklch(.94 .03 274);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font-family:inherit}.brand{display:inline-flex;align-items:center;gap:8px}.brand-mark{position:relative;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.brand-mark:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--accent)}.brand-mark:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.brand-name{font-weight:700;font-size:16px}.board{display:flex;min-height:100vh}.rail{width:212px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:14px;padding:max(16px,env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));position:sticky;top:0;height:100vh}.rail-nav{display:flex;flex-direction:column;gap:4px}.rail-btn{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:none;background:none;color:var(--text-2);border-radius:9px;padding:8px 10px;font-size:14px;cursor:pointer}.rail-btn:hover{background:var(--surface-2)}.rail-btn.active{background:var(--accent-soft);color:var(--text);font-weight:600}.rail-btn .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--text-3)}.rail-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:0 10px}.rail-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.rail-user{font-family:var(--mono);font-size:11px;color:var(--text-3);padding:0 10px}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px;gap:2px}.segmented button{border:none;background:none;color:var(--text-2);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000026}.board-main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:58px;flex-shrink:0;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:0 max(16px,env(safe-area-inset-right)) 0 16px}.search{flex:1;max-width:520px;position:relative}.search input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px 12px;color:var(--text);font-size:14px;font-family:inherit}.search input::placeholder{color:var(--text-3)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.shown-count{font-family:var(--mono);font-size:11.5px;color:var(--text-3)}.live-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 11px;font-size:12px;color:var(--text-2);cursor:pointer}.live-pill.on{color:var(--ok);border-color:color-mix(in oklch,var(--ok) 40%,var(--border))}.ticker{height:40px;flex-shrink:0;border-bottom:1px solid var(--border);overflow:hidden;display:flex;align-items:center;background:var(--surface)}.ticker-track{display:inline-flex;gap:26px;white-space:nowrap;padding-left:16px;animation:ticker-scroll 34s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);background:none;border:none;cursor:pointer}.ticker-item .tk-kind{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3)}.ticker-item .tk-src{font-family:var(--mono);font-size:10.5px;color:var(--text-3)}.ticker-empty{padding-left:16px;font-size:12.5px;color:var(--text-3)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}.board-scroll{flex:1;overflow-y:auto}.board-content{max-width:880px;margin:0 auto;padding:22px max(24px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) 24px}.stream{display:flex;flex-direction:column}.stream.cards{gap:10px}.stream.compact{gap:6px}.slot{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px 15px;cursor:pointer;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 2px #0000000f}.slot:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #0000001a}.slot-head{display:flex;align-items:center;gap:10px}.type-badge{font-family:var(--mono);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:5px;padding:3px 5px;min-width:26px;text-align:center;color:var(--text-2);background:var(--surface-3);border:1px solid var(--border)}.slot-title{font-weight:600;font-size:14.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-meta{font-family:var(--mono);font-size:10.5px;color:var(--text-3);white-space:nowrap}.slot-preview{margin-top:12px}.needs-you{font-size:10px;font-weight:600;letter-spacing:.01em;line-height:1;color:#fff;background:var(--accent);border-radius:999px;padding:3px 8px;white-space:nowrap}.stream.compact .slot{padding:8px 13px;border-radius:10px}.stream.compact .slot-preview{display:none}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0;animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}}@media(prefers-reduced-motion:reduce){.live-dot{animation:none;opacity:1}}.pin{margin-left:4px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-3);cursor:pointer;border-radius:7px;font-size:15px}.pin:hover{background:var(--surface-2);color:var(--text-2)}.pin.on{color:var(--accent)}.metric{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.metric-value{font-size:31px;font-weight:700;letter-spacing:-.03em;line-height:1}.metric-unit{font-size:13px;font-weight:500;margin-left:6px}.spark{display:inline-flex;align-items:flex-end;gap:2px;height:34px;width:140px}.spark-bar{flex:1;border-radius:1px;min-height:2px}.tile-summary{margin:8px 0 0;color:var(--text-2);font-size:13px}.progress-track{height:8px;border-radius:4px;background:var(--surface-3);overflow:hidden;margin-top:4px}.progress-fill{height:100%;background:var(--working);border-radius:4px;transition:width .6s ease}.reminders-menu{position:relative;display:inline-flex}.reminders-trigger{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--text-2);cursor:pointer}.reminders-trigger:hover{border-color:var(--border-strong)}.reminders-count{font-family:var(--mono);font-size:11px;color:var(--warn)}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70}.reminders-sheet{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:min(360px,90vw);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px;box-shadow:0 16px 40px #00000047;display:flex;flex-direction:column;gap:2px}.reminders-sheet-head{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:4px 8px 6px}.reminder-row{display:flex;align-items:center;gap:6px;border-radius:9px;padding:2px}.reminder-row:hover{background:var(--surface-2)}.reminder-row-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:none;cursor:pointer;padding:6px 8px;color:var(--text);text-align:left}.reminder-row-main strong{font-size:13.5px;font-weight:600}.reminder-due{font-family:var(--mono);font-size:11px;color:var(--warn)}.reminder-row-actions{display:flex;gap:4px}.reminder-row-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer;border-radius:7px;padding:4px 9px;font-size:12px}.reminder-row-actions button:hover{border-color:var(--border-strong);color:var(--text)}.empty,.muted{color:var(--text-3);font-size:13.5px}.empty{padding:24px 2px}.error,.unavailable{color:var(--error);padding:1rem;border:1px solid var(--error);border-radius:8px}.centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90vh;text-align:center;gap:.4rem}.login-button{background:var(--accent);color:#fff;padding:.7rem 1.4rem;border-radius:10px;text-decoration:none;margin-top:.6rem}main.surface-page{max-width:880px;margin:0 auto;padding:1.5rem max(1rem,env(safe-area-inset-right)) calc(3rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.app-bar{position:sticky;top:0;z-index:50;background:color-mix(in oklch,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:max(.6rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) .6rem max(1rem,env(safe-area-inset-left))}.app-bar-inner{max-width:880px;margin:0 auto;display:flex;align-items:center;gap:.6rem}.app-bar-title{font-weight:700;color:var(--text);text-decoration:none}.app-bar-back{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:8px;text-decoration:none;color:var(--text);font-size:1.1rem;line-height:1}.app-bar-back:hover{background:var(--surface-2)}.source-banner{border-bottom:1px solid var(--border);padding-bottom:.8rem;margin-bottom:1rem}.source-banner h1{margin:.4rem 0 .2rem;font-size:25px;font-weight:700;letter-spacing:-.025em}.source-banner .ref-line{font-family:var(--mono);font-size:11px;color:var(--text-3)}.source-banner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.surface-page.has-response-composer{padding-bottom:calc(12rem + env(safe-area-inset-bottom))}.surface-body{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.2rem}.html-sandbox{width:100%;min-height:70vh;border:1px dashed var(--warn);border-radius:6px;background:#fff}.sandbox-note{font-size:.85rem;margin:0 0 .4rem}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.2rem;max-width:32rem;width:90%}.confirm-dialog .link-preview{word-break:break-all}.confirm-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.8rem}.versions{list-style:none;padding-left:0;display:flex;gap:.6rem;flex-wrap:wrap;font-family:var(--mono);font-size:12px}.organize{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;gap:.8rem;flex-wrap:wrap}.organize input{border:1px solid var(--border);border-radius:6px;padding:.2rem .5rem;background:var(--surface);color:var(--text)}.components{display:flex;flex-direction:column;gap:.6rem}.key-value div{display:flex;gap:.6rem}.key-value dt{font-weight:600;min-width:8rem;color:var(--text-2)}.key-value dd{margin:0}.badge{color:#fff;border-radius:999px;padding:.15rem .7rem;font-size:.85rem;display:inline-block}.progress-row{display:flex;align-items:center;gap:.6rem}.progress-row progress{flex:1}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--border);padding:.35rem .6rem;text-align:left}.checklist{list-style:none;padding-left:0}.code-block{background:var(--surface-2);border-radius:6px;padding:.8rem;overflow-x:auto;font-family:var(--mono)}.fallback{border:1px dashed var(--idle);border-radius:6px;padding:.6rem;color:var(--text-3);display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.surface-link{color:var(--working);border:none;background:none;text-decoration:underline;padding:0;cursor:pointer}.chip{border:1px solid var(--border);border-radius:999px;padding:.15rem .7rem;background:var(--surface);cursor:pointer;font-size:.85rem;color:var(--text-2)}.chip.small{font-size:.75rem;padding:.05rem .5rem;cursor:default}img{max-width:100%}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{line-height:1.25;margin:1.4em 0 .5em;letter-spacing:0;color:var(--text)}.markdown h1{font-size:1.55rem}.markdown h2{font-size:1.3rem}.markdown h3{font-size:1.12rem}.markdown h4{font-size:1rem}.markdown p{margin:.65em 0}.markdown ul,.markdown ol{padding-left:1.5em;margin:.65em 0}.markdown li{margin:.25em 0}.markdown blockquote{margin:.9em 0;padding:.2em 1em;border-left:3px solid var(--border);color:var(--text-3)}.markdown code{background:var(--surface-2);border-radius:4px;padding:.12em .35em;font-size:.9em;font-family:var(--mono)}.markdown pre{background:var(--surface-2);border-radius:6px;padding:.8rem;overflow-x:auto}.markdown pre code{background:none;padding:0;font-size:.85em}.markdown table{border-collapse:collapse;width:100%;margin:.9em 0}.markdown th,.markdown td{border:1px solid var(--border);padding:.35rem .6rem;text-align:left}.markdown a{color:var(--working)}.markdown hr{border:none;border-top:1px solid var(--border);margin:1.3em 0}.copy-ref{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:.15rem .45rem;cursor:pointer;font-size:.78rem;line-height:1.4;color:var(--text-3);white-space:nowrap;font-family:var(--mono)}.copy-ref:hover{background:var(--surface-2)}.copy-ref.copied{color:var(--ok);border-color:var(--ok)}.response-composer{position:fixed;left:50%;bottom:max(.8rem,env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;width:min(920px,calc(100vw - max(1rem,env(safe-area-inset-left)) - max(1rem,env(safe-area-inset-right))));background:#fffffff5;border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 36px #1b1f232e;padding:.7rem}.response-composer textarea{display:block;width:100%;min-height:2.7rem;max-height:8rem;resize:vertical;box-sizing:border-box;border:1px solid var(--border);border-radius:6px;padding:.55rem .65rem;font:inherit;line-height:1.35}.response-composer textarea:focus{min-height:5.5rem;outline:2px solid rgba(59,118,214,.24)}.composer-actions,.composer-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.45rem}.composer-actions{justify-content:flex-end}.composer-meta{color:var(--muted);font-size:.78rem;justify-content:flex-start}.composer-file{border:1px solid var(--border);background:#fff;border-radius:6px;padding:.3rem .7rem;cursor:pointer;font-size:.85rem}.composer-file:hover{background:#f3f4f6}.composer-file input{display:none}button.danger{color:var(--error);border-color:var(--error)}.composer-attachments{list-style:none;padding:0;margin:.45rem 0 0;display:flex;flex-direction:column;gap:.35rem;max-height:9rem;overflow:auto}.composer-attachments li{display:grid;grid-template-columns:minmax(7rem,1fr) auto minmax(10rem,18rem) auto;gap:.45rem;align-items:center;font-size:.82rem}.composer-attachments audio{width:100%;height:2rem}.composer-hint{margin:.35rem 0 0}.composer-error.error{margin:.45rem 0 0;padding:.45rem .6rem}@media(max-width:480px){.tile-grid{grid-template-columns:1fr}.surface-row{flex-direction:column;align-items:flex-start}.response-composer{bottom:env(safe-area-inset-bottom);border-radius:8px 8px 0 0;width:100vw;box-sizing:border-box}.composer-actions{justify-content:stretch}.composer-actions button,.composer-file{flex:1 1 auto;text-align:center}.composer-attachments li{grid-template-columns:1fr auto}.composer-attachments audio{grid-column:1 / -1}}@media(max-width:720px){.board{flex-direction:column}.rail{display:none}.topbar{flex-wrap:wrap;height:auto;padding:10px 14px}.mobile-classes{display:flex}}.mobile-classes{display:none;padding:10px 14px 0}
