:root{--bg: #ffffff;--bg2: #fbfaf8;--panel: #f6f5f1;--side: rgba(0, 122, 94, .04);--card: #ffffff;--border: #eceae5;--border2: #e0ded8;--text: #1d2b27;--mut: #5f6a65;--faint: #727c77;--accent: #007a5e;--accent2: #00614b;--chip: #e3efeb;--hover: rgba(0, 122, 94, .07);--shadow: 0 1px 2px rgba(0, 0, 0, .04);--red: #c0392b}[data-theme=dark]{--bg: #171d1b;--bg2: #1b2220;--panel: #121816;--side: rgba(79, 209, 165, .05);--card: #202825;--border: #2b3430;--border2: #354039;--text: #e8edeb;--mut: #aab8b2;--faint: #93a19b;--accent: #2fbf95;--accent2: #5cd6ae;--chip: rgba(47, 191, 149, .16);--hover: rgba(79, 209, 165, .09);--shadow: none;--red: #ff8073}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:14px;transition:background .25s}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;color:var(--text)}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 14px;font-weight:600;font-size:12.5px;transition:background .15s,opacity .15s}.btn-primary:hover{background:var(--accent2)}.btn-primary:active{background:var(--accent2);filter:brightness(.96)}.btn-primary:disabled{opacity:.5;cursor:default;background:var(--accent)}.btn-ghost{background:transparent;color:var(--mut);border:1px solid var(--border2);border-radius:6px;padding:7px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.btn-ghost:hover{background:var(--hover);color:var(--text)}.btn-ghost:disabled{opacity:.5;cursor:default;background:transparent;color:var(--mut)}.chip{border-radius:10px;padding:2px 9px;font-size:10.5px;font-weight:600;white-space:nowrap;display:inline-block}.input{border:1px solid var(--border2);border-radius:6px;padding:7px 10px;font-size:13px;background:var(--bg);color:var(--text);outline:none}.input:focus{border-color:var(--accent)}.row-hover:hover{background:var(--hover)}.link-hover:hover{color:var(--accent2)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.proj-act{background:transparent;border:none;color:var(--faint);font-size:12px;line-height:1;padding:2px 3px;opacity:0;transition:opacity .12s,color .12s}.proj-row:hover .proj-act,.proj-act:focus-visible{opacity:.8}.proj-act:hover{color:var(--text);opacity:1}
