:root{--bg:#faf7f5;--bg-dots:#1d151912;--surface:#fff;--surface-2:#f3eeeb;--border:#e4dcd8;--text:#1d1519;--muted:#6b6064;--accent:#c2185b;--accent-soft:#c2185b1a;--led-bg:#1a1718;--led-text:#ff4f9a;--pill-bg:#1d1519;--pill-text:#fff;--ok:#1d7a4a;--bad:#b3261e;--code-bg:#f3eeeb;--focus:#c2185b;--shadow:0 1px 2px #1d15190f, 0 8px 24px #1d15190f;--radius:16px;--font-body:"Lato", system-ui, -apple-system, "Segoe UI", sans-serif;--font-head:"Raleway", system-ui, sans-serif;--font-led:"Silkscreen", ui-monospace, monospace;--font-mono:ui-monospace, "Cascadia Code", "Consolas", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f0d0e;--bg-dots:#ffffff0d;--surface:#1a1718;--surface-2:#232021;--border:#2f2a2b;--text:#f4f0f1;--muted:#a39b9e;--accent:#ff4f9a;--accent-soft:#ff4f9a1f;--led-bg:#120f10;--led-text:#ff4f9a;--pill-bg:#f6f1f3;--pill-text:#141112;--ok:#5bd394;--bad:#ff8a80;--code-bg:#120f10;--focus:#ff4f9a;--shadow:0 1px 2px #0006, 0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f0d0e;--bg-dots:#ffffff0d;--surface:#1a1718;--surface-2:#232021;--border:#2f2a2b;--text:#f4f0f1;--muted:#a39b9e;--accent:#ff4f9a;--accent-soft:#ff4f9a1f;--led-bg:#120f10;--led-text:#ff4f9a;--pill-bg:#f6f1f3;--pill-text:#141112;--ok:#5bd394;--bad:#ff8a80;--code-bg:#120f10;--focus:#ff4f9a;--shadow:0 1px 2px #0006, 0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--bg);background-image:radial-gradient(var(--bg-dots) 1px, transparent 1px);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-size:6px 6px;margin:0;font-size:16px;line-height:1.55}h1,h2,h3{font-family:var(--font-head);margin:0;font-weight:500;line-height:1.2}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.85rem}.pill-button{background:var(--pill-bg);color:var(--pill-text);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;align-items:center;gap:.4em;padding:.55rem 1.2rem;font-weight:700;display:inline-flex}.pill-button:disabled{opacity:.45;cursor:not-allowed}.pill-button--secondary{color:var(--text);box-shadow:inset 0 0 0 1px var(--border);background:0 0}.ghost-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.35rem .85rem;font-size:.9rem}.ghost-button:hover:not(:disabled){border-color:var(--accent)}.ghost-button:disabled{opacity:.45;cursor:not-allowed}.ghost-button.danger{color:var(--bad)}.icon-button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:.25rem .4rem;line-height:1}.icon-button:hover{color:var(--text);background:var(--surface-2)}.count{background:var(--accent-soft);min-width:1.4em;color:var(--accent);text-align:center;border-radius:999px;margin-left:.4em;padding:0 .35em;font-size:.8em;display:inline-block}.app{grid-template-rows:auto auto auto 1fr auto;max-width:880px;height:100%;margin:0 auto;padding:0 16px;display:grid}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:14px 0 10px;display:flex}.brand{align-items:center;gap:.6rem;display:flex}.wordmark{font-family:var(--font-head);letter-spacing:.01em;color:inherit;font-size:1.4rem;font-weight:500;text-decoration:none}.led{font-family:var(--font-led);letter-spacing:.12em;color:var(--led-text);background:var(--led-bg);text-shadow:0 0 6px #ff4f9aa6;border:1px solid #3a3335;border-radius:8px;padding:.15rem .5rem;font-size:.72rem}.led--thinking{animation:1.1s steps(2,jump-none) infinite led-blink}.led--error{color:#ff8a80;text-shadow:0 0 6px #ff8a8099}.led--done{color:#7ef0b5;text-shadow:0 0 6px #7ef0b599}@keyframes led-blink{50%{opacity:.45}}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.usage{color:var(--muted);font-size:.85rem}.modes{border-bottom:1px solid var(--border);scrollbar-width:none;gap:.4rem;padding-bottom:10px;display:flex;overflow-x:auto}.mode{cursor:pointer;white-space:nowrap;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .9rem;font-size:.92rem;display:inline-flex}.mode--active{color:var(--text);background:var(--surface);border-color:var(--border)}.mode:disabled{cursor:not-allowed}.soon{font-family:var(--font-led);letter-spacing:.08em;color:var(--accent);font-size:.6rem}.thread{flex-direction:column;gap:18px;min-height:0;padding:20px 2px 12px;display:flex;overflow-y:auto}.empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin:auto 0;padding:24px 0;display:flex}.empty h1{font-size:clamp(1.6rem,4vw,2.2rem)}.empty .muted{max-width:34rem;margin:0}.empty-mascot{margin-bottom:.5rem}.suggestions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.suggestion{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;max-width:100%;padding:.45rem .95rem;font-size:.9rem}.suggestion:hover:not(:disabled){border-color:var(--accent)}.message{flex-direction:column;gap:8px;min-width:0;display:flex}.message--user{align-items:flex-end}.bubble{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 4px;max-width:min(85%,36rem);padding:.6rem .95rem}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown pre{background:var(--code-bg);border:1px solid var(--border);border-radius:12px;padding:.8rem 1rem;font-size:.88rem;overflow-x:auto}.markdown code{font-family:var(--font-mono);font-size:.9em}.markdown :not(pre)>code{background:var(--surface-2);border-radius:6px;padding:.1em .35em}.markdown table{border-collapse:collapse;display:block;overflow-x:auto}.markdown th,.markdown td{border:1px solid var(--border);padding:.35rem .6rem}.hljs-keyword,.hljs-built_in,.hljs-literal{color:var(--accent)}.hljs-string,.hljs-attr{color:#3d9b6c}.hljs-number,.hljs-title{color:#c48a1e}.hljs-comment{color:var(--muted);font-style:italic}.tool{font-size:.88rem}.tool summary{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:.5rem;max-width:100%;padding:.25rem .75rem;list-style:none;display:inline-flex}.tool summary::-webkit-details-marker{display:none}.tool-label{font-weight:700}.tool-subject{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.tool-dot--running{background:var(--accent);animation:.9s steps(2,jump-none) infinite led-blink}.tool-dot--done{background:var(--ok)}.tool-dot--error,.tool-dot--declined{background:var(--bad)}.tool-detail{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-top:.5rem;padding:.6rem .8rem}.tool-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-mono);max-height:16rem;margin:.25rem 0 .6rem;font-size:.8rem;overflow-y:auto}.tool-detail-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem}.tool-error{color:var(--bad);margin:0}.attribution{color:var(--muted);margin:.35rem 0 0;font-size:.8rem}.thinking{color:var(--muted);font-size:.9rem}.error-banner{border:1px solid var(--bad);background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.error-banner p{flex:16rem;margin:0}.composer-wrap{padding:8px 0 16px}.composer{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:10px 12px}.composer--dragging{border-color:var(--accent);border-style:dashed}.composer textarea{resize:none;field-sizing:content;background:0 0;border:0;outline:none;width:100%;min-height:2.4rem;max-height:12rem;padding:.25rem .25rem .5rem;display:block}.composer-actions{align-items:center;gap:.6rem;display:flex}.composer-hint{color:var(--muted);flex:1;font-size:.78rem}.file-list ul{flex-wrap:wrap;gap:.4rem;margin:0 0 .4rem;padding:0;list-style:none;display:flex}.file-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-items:center;gap:.4rem;max-width:100%;padding:.15rem .2rem .15rem .7rem;font-size:.85rem;display:inline-flex}.file-name{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;overflow:hidden}.file-size{color:var(--muted)}.file-note{color:var(--muted);margin:0 0 .5rem;font-size:.78rem}.modal{border:1px solid var(--border);background:var(--surface);color:var(--text);width:min(32rem,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow);border-radius:20px;padding:0}.modal::backdrop{background:#0a08098c}.modal-body{flex-direction:column;gap:.75rem;padding:18px 20px 20px;display:flex}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:1.3rem}.modal-footer{justify-content:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.settings section{border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;display:flex}.settings h3{font-size:1.05rem}.settings p{margin:0}.settings label{font-size:.85rem;font-weight:700}.settings input:not([type=radio]),.settings select,.memory-list input{border:1px solid var(--border);background:var(--bg);border-radius:10px;width:100%;min-width:0;padding:.5rem .7rem}.settings select:disabled,.settings input:disabled{opacity:.5;cursor:not-allowed}.input-row{align-items:center;gap:.4rem;display:flex}.status{margin:0;font-size:.88rem}.status--ok{color:var(--ok)}.status--bad{color:var(--bad)}.segmented{border:1px solid var(--border);border-radius:999px;align-self:flex-start;padding:3px;display:inline-flex}.segmented label{cursor:pointer;border-radius:999px;padding:.3rem .9rem;font-weight:400}.segmented label.active{background:var(--pill-bg);color:var(--pill-text)}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:focus-visible){outline:2px solid var(--focus)}.memory-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.memory-list li{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.memory-list li>form{flex:1}.memory-text{overflow-wrap:anywhere}.memory-actions{flex:none;gap:.3rem;display:flex}.empty-note{color:var(--muted);font-style:italic}.turnstile{justify-content:center;min-height:70px;display:flex}@media (width<=560px){.composer-hint{display:none}.composer-actions{justify-content:space-between}.usage{flex-basis:100%}.memory-list li{flex-direction:column;align-items:stretch}.memory-actions{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.markdown--plain{white-space:pre-wrap}.repo-bar{padding-top:12px}.repo-form{flex-wrap:wrap;gap:.5rem;display:flex}.repo-form input{border:1px solid var(--border);background:var(--surface);border-radius:999px;flex:16rem;min-width:0;padding:.5rem 1rem}.repo-error{flex-basis:100%}.repo-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.repo-card-main{flex:18rem;min-width:0}.repo-name{font-family:var(--font-head);overflow-wrap:anywhere;font-size:1.1rem;font-weight:500}.repo-desc{margin:.2rem 0 0;font-size:.9rem}.repo-facts{color:var(--muted);flex-wrap:wrap;gap:.3rem 1rem;margin:.5rem 0 0;padding:0;font-size:.82rem;list-style:none;display:flex}.repo-facts code{font-family:var(--font-mono)}.led--scanning{animation:1.1s steps(2,jump-none) infinite led-blink}.repo-bar:empty{padding:0}.repo-bar{flex-direction:column;gap:10px;display:flex}.dev-tabs button{cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.3rem .9rem;font-size:.9rem}.dev-tabs button.active{background:var(--pill-bg);color:var(--pill-text)}.deps-hint{margin:0}.deps-hint code,.scan code{font-family:var(--font-mono);font-size:.9em}.scan{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:.75rem;min-width:0;padding:.9rem 1rem;display:flex}.scan-header{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.scan-header p{overflow-wrap:anywhere;margin:.15rem 0 0}.scan-title{font-size:1.15rem}.scan-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.scan-totals{color:var(--muted);flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.scan-totals strong{color:var(--text)}.scan-filters{flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.88rem;display:flex}.scan-filters select{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:.2rem .4rem}.scan-table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.scan-table{border-collapse:collapse;width:100%;font-size:.86rem}.scan-table th,.scan-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap;padding:.45rem .6rem}.scan-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);font-size:.75rem}.scan-table tbody tr:last-child>*{border-bottom:0}.scan-table .pkg{font-weight:700}.scan-table .eco{color:var(--muted);margin-left:.4rem;font-size:.75rem}.scan-table .ids{white-space:normal;min-width:10rem}.scan-table .ids a{font-family:var(--font-mono);margin-right:.5rem;font-size:.8rem}.scan-table .flags{white-space:normal}.tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;margin:0 .25rem .15rem 0;padding:0 .45rem;font-size:.75rem;display:inline-block}.tag--warn{color:#c48a1e;border-color:#c48a1e;margin-left:.35rem}.tag--bad{border-color:var(--bad);color:var(--bad)}.bad{color:var(--bad)}.sev{text-transform:capitalize;font-weight:700}.sev--critical{color:var(--bad);text-decoration:underline}.sev--high{color:var(--bad)}.sev--moderate{color:#c48a1e}.sev--low,.sev--unknown{color:var(--muted)}.scan-notes summary{cursor:pointer;color:var(--muted);font-size:.85rem}.scan-notes ul{color:var(--muted);margin:.4rem 0 0;padding-left:1.2rem;font-size:.85rem}.scan p{margin:0}.verify-warning{color:#c48a1e;border:1px solid #c48a1e;border-radius:10px;margin:0;padding:.4rem .7rem;font-size:.85rem}.data-drop{border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem 1.1rem}.data-drop--active{border-color:var(--accent);background:var(--accent-soft)}.data-drop p{margin:0 0 .35rem}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.data-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;display:flex}.data-card-main{flex:20rem;min-width:0}.data-card-main p{margin:.15rem 0 .4rem}.data-columns{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.col{font-family:var(--font-mono);border:1px solid var(--border);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:14rem;padding:.05rem .45rem;font-size:.75rem;overflow:hidden}.col--numeric{color:#3d9b6c;border-color:#3d9b6c}.col--datetime{color:#c48a1e;border-color:#c48a1e}.col--categorical{border-color:var(--accent);color:var(--accent)}.data-problems{color:#c48a1e;margin:.5rem 0 0;padding-left:1.1rem;font-size:.82rem}.chart{border:1px solid var(--border);background:#fff;border-radius:12px;max-width:44rem;margin:.5rem 0 0;overflow:hidden}.chart img{width:100%;height:auto;display:block}.chart figcaption{background:var(--surface);border-top:1px solid var(--border);padding:.3rem .6rem;font-size:.78rem}.led--studying{animation:1.1s steps(2,jump-none) infinite led-blink}.study-inputs{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.5rem 0;display:flex}.study-range{color:var(--muted);align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.study-range input{border:1px solid var(--border);background:var(--bg);width:4.2rem;color:var(--text);font:inherit;border-radius:8px;padding:.3rem .4rem}.study-url{flex:18rem;min-width:0}.study-actions{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.deck,.quiz{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:44rem;margin:.6rem 0 0;padding:.8rem 1rem}.deck-header{flex-wrap:wrap;justify-content:space-between;gap:.25rem .75rem;margin-bottom:.6rem;display:flex}.card{border:1.5px solid var(--border);background:var(--bg);width:100%;min-height:9rem;color:var(--text);font:inherit;text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;gap:.5rem;padding:1rem 1.2rem;display:flex}.card--back{border-color:var(--accent);background:var(--accent-soft)}.card-side{font-family:var(--font-led);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-size:.68rem}.card-text{overflow-wrap:anywhere;font-size:1.05rem;line-height:1.45}.card-source{color:var(--muted);font-size:.78rem}.deck-actions{justify-content:center;gap:.6rem;margin-top:.7rem;display:flex}.deck-footer{gap:1rem;margin-top:.7rem;font-size:.85rem;display:flex}.quiz-list{gap:.9rem;margin:0;padding-left:1.3rem;display:grid}.quiz-question{margin:0 0 .4rem;font-weight:600}.quiz-choices{gap:.35rem;margin-bottom:.4rem;display:grid}.choice{text-align:left;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:.45rem .7rem}.choice:hover:not(:disabled){border-color:var(--accent)}.choice:disabled{cursor:default}.choice--right{border-color:var(--ok);color:var(--ok)}.choice--wrong{border-color:var(--bad);color:var(--bad)}.quiz-short{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.quiz-short textarea{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);font:inherit;resize:vertical;border-radius:10px;flex:16rem;padding:.45rem .6rem}.api-results{gap:.9rem;display:grid}.api-block{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;padding:.8rem 1rem}.api-block>summary{cursor:pointer}.api-block .scan-table-wrap{margin-top:.5rem}.api-sub{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.6rem 0 .2rem;font-size:.8rem}.api-table td{white-space:normal;overflow-wrap:anywhere}.api-table td code{white-space:nowrap}.api-table .row--bad td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.cli-command{background:var(--led-bg);color:#f4f0f1;font-family:var(--font-mono);border-radius:10px;margin:.3rem 0 0;padding:.5rem .7rem;font-size:.82rem;overflow-x:auto}.docs-preview{border-top:1px solid var(--border);max-height:32rem;margin-top:.6rem;padding-top:.4rem;overflow:auto}.spec-paste{gap:.4rem;margin-top:.6rem;display:grid}.spec-paste textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font-family:var(--font-mono);resize:vertical;border-radius:10px;padding:.5rem .6rem;font-size:.82rem}.spec-paste-actions{gap:.5rem;display:flex}.spec-problems{margin:.3rem 0 0;padding-left:1.1rem;font-size:.82rem}.spec-problems code{font-family:var(--font-mono);font-size:.78rem}
