
:root{color-scheme:dark;--bg:#101313;--panel:#181c1c;--line:#303938;--text:#eef3f1;--muted:#9aa9a4;--accent:#abe6c5;font:15px/1.5 system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#263c32;color:#dffcea;border:1px solid #41614e;border-radius:7px;padding:8px 13px}button:hover{background:#365140}button:disabled{opacity:.45;cursor:default}input,textarea,select{width:100%;background:#121716;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:10px}textarea{resize:vertical}label{display:block;color:#c9d4cf;font-size:14px;margin:14px 0}label input,label textarea,label select{margin-top:6px}.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}aside{background:#151b19;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:22px;color:var(--accent);font-weight:750;display:flex;gap:12px;align-items:center}.brand span{font-size:18px;color:var(--text);font-weight:550}.side-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;letter-spacing:1.5px;margin:28px 8px 8px}.side-heading button{padding:0 8px;font-size:20px;background:none;border:none}nav button{display:block;width:100%;background:none;border:none;text-align:left;padding:10px;margin:4px 0;color:#cad7d0;overflow-wrap:anywhere}nav button.active{background:#26372e;color:#ddfbe8}nav small{display:block;color:var(--muted);font-size:11px}.side-bottom{margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:12px;color:var(--muted);font-size:12px}main{max-width:1100px;width:100%;margin:auto;padding:32px 40px;align-self:start}header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px}h1{font-size:24px;letter-spacing:-.5px;margin:6px 0}header small{font-size:11px;letter-spacing:1.8px;color:var(--muted)}#connection{font-size:12px;color:var(--muted);white-space:nowrap}.welcome{padding:80px 20px;max-width:650px}.welcome h2{font-size:32px;line-height:1.25;letter-spacing:-1px}.welcome p{color:var(--muted)}.notice{padding:13px 16px;margin:18px 0;background:#34301e;border:1px solid #665a32;border-radius:8px;color:#f3e3b0;white-space:pre-wrap}.session-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0}.pill{background:#233c2d;color:var(--accent);padding:4px 10px;border-radius:20px;font-size:12px}#budget{font-size:12px;color:var(--muted)}.actions{display:flex;gap:7px;margin-left:auto}.actions button,.actions a{padding:5px 9px;font-size:12px}.actions a{color:var(--accent);text-decoration:none}.danger{background:#352322;color:#f1aaa0;border-color:#6a423c}.scope{color:var(--muted);font-size:12px;padding-bottom:15px;overflow-wrap:anywhere}.messages{min-height:260px;display:flex;flex-direction:column;gap:16px;padding:16px 0 28px}.message{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:15px 18px;white-space:pre-wrap;overflow-wrap:anywhere}.message small{display:block;color:var(--accent);font-size:11px;margin-bottom:7px;white-space:normal}.message.user{background:#1b2a23;margin-left:35px}.message.system{color:var(--muted);font-size:13px;border-style:dashed}.composer{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel)}.composer textarea{border:none;background:none;padding:5px}.composer div{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer span{font-size:11px;color:var(--muted)}.question{border:1px solid #637f55;background:#202d21;padding:16px;border-radius:10px;margin-bottom:12px}.question p{white-space:pre-wrap;overflow-wrap:anywhere}.question textarea{margin:8px 0}.login{min-height:100vh;display:grid;place-items:center;padding:25px}.login form{max-width:430px;width:100%;border:1px solid var(--line);background:var(--panel);padding:32px;border-radius:16px}.login h1{margin-top:30px}.login p{color:var(--muted)}#login-error{color:#f0b6a8}dialog{max-width:580px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);padding:25px}dialog::backdrop{background:#000a}dialog h2{margin-top:0}dialog p{font-size:12px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}summary{cursor:pointer;color:var(--muted)}.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:18px 0}.conn{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:16px}.conn h3{margin:0 0 4px;font-size:16px;overflow-wrap:anywhere}.conn .where{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.conn .next{margin:10px 0 0;font-size:13px}.conn .row{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.conn .row button{padding:6px 10px;font-size:12px}.state{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;letter-spacing:.4px;margin-bottom:8px}.state.read_only{background:#233c2d;color:var(--accent)}.state.change_with_approval{background:#34301e;color:#f3e3b0}.state.needs_setup{background:#26313d;color:#a8c8ef}.state.expired{background:#3a2e1c;color:#efc98f}.state.revoked{background:#352322;color:#f1aaa0}.ladder{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.rung{padding:5px 11px;border-radius:20px;font-size:12px;border:1px solid var(--line)}.rung.done{background:#233c2d;color:var(--accent);border-color:#41614e}.rung.todo{color:var(--muted)}.history{border-top:1px solid var(--line);margin-top:8px;padding-top:6px}.history .note{padding-left:12px;overflow-wrap:anywhere}.idea-controls .goal{white-space:pre-wrap}.idea-controls .actions{display:flex;flex-wrap:wrap;gap:8px}.side-add{margin:6px 0 0;width:100%}fieldset.choice{border:1px solid var(--line);border-radius:8px;padding:8px 10px}fieldset.choice label{display:flex;gap:8px;align-items:flex-start}.rung.partial{background:#34301e;color:#f3e3b0;border-color:#665a32}.alert{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}pre.check{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:280px;overflow:auto;background:#101313;border:1px solid var(--line);border-radius:8px;padding:8px}#setup-script{font:11px/1.4 ui-monospace,monospace}.alert button{padding:5px 10px;font-size:12px}.hint{color:var(--muted);font-size:13px;max-width:70ch}label.checkbox{display:flex;align-items:center;gap:9px}label.checkbox input{width:auto;margin:0}#connections h2{margin-top:26px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.cards{grid-template-columns:1fr}.conn .row button{flex:1 1 auto}.app{grid-template-columns:180px minmax(0,1fr)}aside{padding:18px 9px}main{padding:20px 16px}.brand span{font-size:14px}.brand{gap:8px}header{display:block}header h1{font-size:20px}.welcome{padding:30px 0}.welcome h2{font-size:25px}.actions{margin-left:0}.message.user{margin-left:10px}.composer span{display:none}}@media(max-width:440px){.app{display:block}aside{position:static;height:auto;max-height:250px;border-bottom:1px solid var(--line)}.side-heading{margin-top:12px}.side-bottom{display:none}nav{display:flex;gap:5px;overflow:auto}nav button{min-width:140px}.brand{display:none}}
