:root{--bg:#12151c;--panel:#191e28;--raised:#232a37;--line:#2c3444;--ink:#e4e9f2;--muted:#8b95a8;--accent:#4fd1ff;--accent-deep:#1aa9dd;--accent-dim:rgba(79,209,255,0.12);--green:#4ade80;--red:#ff6b6b;--radius:8px;--font-display:"Chakra Petch","Segoe UI",sans-serif;--font-body:"Inter","Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55}.display,button,h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:.02em}h1{font-size:1.35rem;margin:0;text-transform:uppercase}h2{font-size:1.1rem;margin:0 0 .5rem}a{color:var(--accent)}input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.6rem .8rem;width:100%}input::placeholder,textarea::placeholder{color:var(--muted)}select{color-scheme:dark}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{min-height:220px;resize:vertical;line-height:1.6}button{font-size:.95rem;border:1px solid var(--accent);border-radius:6px;padding:.55rem 1.1rem;background:var(--accent);color:#0b1017;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}button:hover{background:#7ddfff;border-color:#7ddfff}button:disabled{background:var(--raised);border-color:var(--raised);color:var(--muted);cursor:default}button.quiet{background:transparent;color:var(--accent)}button.quiet:hover{background:var(--accent-dim)}button.danger{background:transparent;border-color:transparent;color:var(--red)}button.danger:hover{background:rgba(255,107,107,.12)}button.danger:disabled{background:transparent;color:var(--line)}.shell{display:grid;grid-template-rows:auto 1fr;height:100dvh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;background:var(--panel);border-bottom:1px solid var(--line)}.topbar h1 span{color:var(--accent)}.tabs{display:none;gap:.25rem}.tabs button{background:transparent;border-color:transparent;color:var(--muted);padding:.4rem .9rem}.tabs button.on{color:var(--accent);border-bottom:2px solid var(--accent);border-radius:0}.panes{display:grid;grid-template-columns:5fr 7fr;min-height:0}.pane{min-height:0;display:flex;flex-direction:column}.pane.chat{border-right:1px solid var(--line);background:var(--panel)}@media (max-width:820px){.tabs{display:flex}.panes{grid-template-columns:1fr}.pane{display:none}.pane.show{display:flex}.pane.chat{border-right:0}}.chat-head{display:flex;gap:.5rem;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--line)}.chat-head select{flex:1 1;width:auto}.thread{flex:1 1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem}.msg{max-width:85%;padding:.7rem 1rem;border-radius:var(--radius);white-space:pre-wrap}.msg.user{align-self:flex-end;background:var(--raised);border-bottom-right-radius:2px}.msg.buddy{align-self:flex-start;background:var(--accent-dim);border-left:3px solid var(--accent);border-radius:2px var(--radius) var(--radius) 2px}.msg.thinking{color:var(--muted);font-style:italic;border-left-color:var(--line);background:transparent}.composer{display:flex;gap:.5rem;padding:.9rem 1.25rem;border-top:1px solid var(--line)}.composer input{flex:1 1}.work{padding:1.25rem;overflow-y:auto;gap:1rem}.work-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.work-head select{width:auto;flex:1 1;min-width:180px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.card+.card{margin-top:1rem}.title-input{font-family:var(--font-display);font-size:1.2rem;background:transparent;border-color:transparent;border-bottom-color:var(--line);border-radius:0;padding-inline:0}.title-input:focus{box-shadow:none;border-bottom-color:var(--accent)}.q{display:grid;grid-template-columns:auto 1fr;grid-gap:.5rem .75rem;gap:.5rem .75rem;align-items:start;padding:.75rem 0;border-top:1px solid var(--line)}.q:first-of-type{border-top:0}.q .num{font-family:var(--font-display);color:var(--muted);padding-top:.5rem}.q .row{display:flex;gap:.5rem;flex-wrap:wrap}.q .row select{width:auto}.q .row input{flex:1 1;min-width:160px}.save-row{flex-wrap:wrap;gap:.6rem;margin-top:1rem}.linkbox,.save-row{display:flex;align-items:center}.linkbox{gap:.5rem;background:var(--bg);border:1px solid var(--accent);border-radius:6px;padding:.35rem .35rem .35rem .75rem;flex:1 1;min-width:240px}.linkbox code{font-size:.9rem;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1}.empty{color:var(--muted);text-align:center;padding:3rem 1rem;border:1px dashed var(--line);border-radius:var(--radius)}.empty .big{font-family:var(--font-display);font-size:1.2rem;color:var(--ink);margin-bottom:.4rem}.muted{color:var(--muted);font-size:.92rem}.public{max-width:640px;margin:0 auto;padding:2rem 1.25rem 4rem}.public .card{margin-top:1rem}.public label{display:block;font-family:var(--font-display);font-size:1.05rem;margin-bottom:.5rem}.public .opts{display:flex;flex-wrap:wrap;gap:.5rem}.public .opts label{font-family:var(--font-body);font-size:.95rem;display:flex;gap:.45rem;align-items:center;background:var(--bg);border:1px solid var(--line);padding:.4rem .8rem;border-radius:6px;margin:0;cursor:pointer}.public .opts label:has(input:checked){border-color:var(--accent);background:var(--accent-dim)}.public .opts input{width:auto;accent-color:var(--accent)}.note-body{white-space:pre-wrap;line-height:1.7}table{border-collapse:collapse;width:100%;font-size:.92rem}td,th{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-family:var(--font-display);font-weight:600;color:var(--muted)}.tally{display:flex;align-items:center;gap:.6rem;margin:.35rem 0}.tally .bar{height:10px;background:var(--accent);border-radius:2px;min-width:3px}.login{min-height:100dvh;display:grid;place-items:center;padding:1rem}.login .card{width:min(360px,100%);text-align:center}.login input{text-align:center;font-family:var(--font-display);font-size:1.6rem;letter-spacing:.4em;margin:1rem 0}.err{color:var(--red);margin:.5rem 0 0;font-size:.92rem}