:root{--gb0:#0f380f;--gb1:#305a30;--gb2:#7d9a2b;--gb3:#9bbc0f;--bg:#c4cd9f;--panel:#d3dab2;--panel-inset:#b7c18f;--ink:#14260d;--muted:#4f5e2c;--line:#24340f;--accent:#0f380f;--accent-ink:#cdd7a0;--field:#e6ebc7;--shadow:3px 3px 0 rgba(20,52,15,0.35);--shadow-sm:2px 2px 0 rgba(20,52,15,0.3);--mono:"SFMono-Regular",ui-monospace,"Cascadia Code","Courier New",Menlo,Consolas,monospace}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background-color:var(--bg);background-image:radial-gradient(rgba(20,52,15,.06) 1px,transparent 0);background-size:3px 3px;color:var(--ink);font-family:var(--mono);font-size:15px;line-height:1.55;-webkit-font-smoothing:none}main{max-width:900px;margin:0 auto;padding:2.2rem 1.25rem 4rem}h1{font-size:1.5rem;letter-spacing:.02em;text-transform:uppercase;margin:0 0 1.1rem}h1:before{content:"\25BA  ";color:var(--gb1)}h2{font-size:1.15rem;letter-spacing:.06em;margin:0 0 .8rem}h2,h3{text-transform:uppercase}h3{font-size:.86rem;letter-spacing:.14em;margin:0 0 .6rem;color:var(--ink)}p{margin:0 0 .8rem}a{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--gb1)}a:not(.ws *):hover{background:var(--gb3);color:var(--gb0)}strong{font-weight:700}.muted{color:var(--muted);font-size:.85rem}.panel{background:var(--panel);border:2px solid var(--line);border-radius:0;padding:1rem 1.1rem;margin-bottom:1rem;box-shadow:var(--shadow)}.panel h3{border-bottom:2px solid var(--line);padding-bottom:.4rem;margin-bottom:.8rem}.btn,button{display:inline-block;font-family:var(--mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;background:var(--accent);color:var(--accent-ink);border:2px solid var(--line);border-radius:0;padding:.6rem 1.15rem;cursor:pointer;box-shadow:3px 3px 0 var(--gb0);transition:transform .05s ease,box-shadow .05s ease,background .12s ease}.btn:not(.ws *):hover,button:not(.ws *):hover{background:var(--gb1)}.btn:not(.ws *):active,button:not(.ws *):active{transform:translate(3px,3px);box-shadow:none}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;font-family:var(--mono);font-size:.9rem;background:var(--field);color:var(--ink);border:2px solid var(--line);border-radius:0;padding:.6rem .7rem;margin-bottom:.75rem}input:not(.ws *)::placeholder,textarea:not(.ws *)::placeholder{color:#8a9560}input:not(.ws *):focus,select:not(.ws *):focus,textarea:not(.ws *):focus{outline:none;box-shadow:inset 2px 2px 0 rgba(20,52,15,.22)}.uri-bar{height:14px;border:2px solid var(--line);border-radius:0;background-color:var(--panel-inset);background-image:repeating-linear-gradient(90deg,transparent 0 9px,rgba(20,52,15,.28) 9px 11px);overflow:hidden}.uri-bar>div{height:100%;background-color:var(--gb1);background-image:repeating-linear-gradient(90deg,transparent 0 9px,rgba(15,56,15,.55) 9px 11px);transition:width .6s steps(14)}.stage-rail{display:flex;gap:.5rem;flex-wrap:wrap}.stage{flex:1 1;min-width:130px;border:2px solid var(--line);border-radius:0;padding:.7rem;background:var(--panel);box-shadow:var(--shadow-sm)}.stage.locked{opacity:.5;box-shadow:none;background:var(--panel-inset)}@keyframes blink{50%{opacity:0}}.chat-wrap{display:grid;grid-template-columns:1fr 300px;grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:760px){.chat-wrap{grid-template-columns:1fr}}.chat-log,.chat-main{display:flex;flex-direction:column}.chat-log{gap:.6rem;background:var(--panel);box-shadow:var(--shadow);padding:1rem;min-height:40vh;max-height:62vh;overflow-y:auto;margin-bottom:.8rem}.bubble,.chat-log{border:2px solid var(--line)}.bubble{max-width:82%;padding:.6rem .8rem;white-space:pre-wrap;font-size:.9rem;line-height:1.5}.bubble.user{align-self:flex-end;background:var(--gb0);color:var(--gb3)}.bubble.assistant{align-self:flex-start;background:var(--field);color:var(--ink)}.bubble .cur{animation:blink 1.05s steps(1) infinite}.chat-input{display:flex;gap:.5rem;align-items:stretch}.chat-input input{margin-bottom:0}.chat-input button{white-space:nowrap}.chat-cards{border:2px solid var(--line);background:var(--panel);box-shadow:var(--shadow);padding:.9rem;position:-webkit-sticky;position:sticky;top:1rem}.chat-cards h3{border-bottom:2px solid var(--line);padding-bottom:.4rem}.pcard{border:2px solid var(--line);background:var(--field);padding:.6rem .7rem;margin-bottom:.6rem}.pcard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.pcard .score{font-weight:700;background:var(--gb0);color:var(--gb3);padding:0 .4rem;border:2px solid var(--line)}.pcard .fid{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);padding:0 .3rem}.pcard .fid.full{background:var(--gb2);color:var(--gb0)}.pcard strong{display:block;font-size:.85rem;margin-bottom:.2rem}.pcard p{font-size:.78rem;margin:0 0 .3rem}.btn-sm{font-size:.68rem;padding:.3rem .6rem;box-shadow:2px 2px 0 var(--gb0)}.btn-ghost{background:var(--panel);color:var(--ink)}.btn-ghost:not(.ws *):hover{background:var(--gb3)}.pcard-promote{margin-top:.4rem}.approval{border:2px solid var(--line);background:var(--field);padding:.7rem .8rem;margin-bottom:.7rem}.approval.approved{border-left:6px solid var(--gb1)}.approval.rejected{opacity:.55}.approval-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.3rem}.tag{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--line);padding:0 .35rem;white-space:nowrap}.tag.approved{background:var(--gb1);color:var(--gb3)}.tag.rejected{background:var(--panel-inset)}.tag.executed{background:var(--gb0);color:var(--gb3)}.approval-copy{white-space:pre-wrap;background:var(--panel);border:2px solid var(--line);padding:.5rem .6rem;margin:.4rem 0;font-size:.85rem}.approval-actions{display:flex;gap:.5rem;margin-top:.4rem}.approval-actions form{margin:0}.stat-row{display:flex;gap:.6rem;flex-wrap:wrap}.stat{border:2px solid var(--line);background:var(--field);padding:.6rem .9rem;box-shadow:var(--shadow-sm);min-width:90px}.stat .n{font-size:1.5rem;font-weight:700}.stat .l{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.transcript{font-family:var(--mono);font-size:.82rem;white-space:pre-wrap;background:var(--gb0);color:var(--gb3);border:2px solid var(--line);border-radius:0;padding:1rem;max-height:60vh;overflow-y:auto}