:root{color:#101418;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;background:#d7e1df;font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}body{background-color:#d7e1df;background-image:linear-gradient(90deg,#1014180f 1px,#0000 1px),linear-gradient(#1014180f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}#root{min-height:100vh}.app-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:20px}.pixel-frame,.metric-tile,.panel,input,textarea,button,.status-badge,.capabilities span{border:2px solid #101418;border-radius:0;box-shadow:4px 4px #101418}.topbar{background:#f8f2dc;justify-content:space-between;align-items:center;gap:18px;min-height:104px;padding:18px;display:flex}.eyebrow{color:#b3324f;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.76rem;font-weight:900}h1,h2,h3,p{margin:0}h1{color:#101418;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.05}h2{color:#101418;text-transform:uppercase;font-size:.96rem}h3{color:#101418;font-size:.94rem;line-height:1.35}.server-pill,.runtime-status,.status-badge,.capabilities span{align-items:center;display:inline-flex}.server-pill{color:#101418;overflow-wrap:anywhere;background:#fff;border:2px solid #101418;gap:10px;min-height:44px;padding:8px 10px;box-shadow:3px 3px #101418}.server-pill small{color:#465059}.dot{background:#25b36a;border:2px solid #101418;flex:none;width:12px;height:12px;box-shadow:2px 2px #101418}.dot.offline{background:#ee4b4b}.metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.metric-tile,.panel{background:#fff}.metric-tile{min-height:122px;padding:14px}.metric-tile span,label,dt,time{color:#465059;text-transform:uppercase;font-size:.74rem;font-weight:900}.metric-tile strong{color:#101418;overflow-wrap:anywhere;margin-top:12px;font-size:clamp(1.35rem,3vw,1.9rem);line-height:1;display:block}.metric-tile small{color:#465059;overflow-wrap:anywhere;min-height:18px;margin-top:12px;font-size:.75rem;line-height:1.35;display:block}.workspace-grid{grid-template-columns:minmax(340px,.82fr) minmax(420px,1.18fr);gap:16px;margin-top:16px;display:grid}.workspace-grid.lower{grid-template-columns:minmax(560px,1.3fr) minmax(360px,.7fr)}.panel{min-height:260px;padding:16px}.panel-heading{background:#77d6d1;border-bottom:2px solid #101418;justify-content:space-between;align-items:center;gap:12px;margin:-16px -16px 16px;padding:12px 14px;display:flex}.panel-heading span{color:#101418;font-size:.78rem;font-weight:900}.create-panel{background:#fffdf3;flex-direction:column;gap:14px;display:flex}label{gap:8px;display:grid}input,textarea{color:#101418;background:#fff;outline:none;width:100%}input{min-height:44px;padding:0 12px}textarea{resize:vertical;min-height:138px;padding:12px;line-height:1.45}input:focus,textarea:focus{outline-offset:0;background:#fffbcc;outline:3px solid #f0c747}button{color:#fff;text-transform:uppercase;background:#2e67b1;min-height:44px;padding:0 14px;font-weight:900}button:hover:not(:disabled){transform:translate(1px,1px);box-shadow:3px 3px #101418}.runtime-body{gap:18px;display:grid}.runtime-status{background:#f8f2dc;border:2px solid #101418;gap:10px;min-height:40px;padding:10px}.runtime-status strong{color:#101418;overflow-wrap:anywhere}.runtime-status em{color:#465059;text-transform:uppercase;margin-left:auto;font-size:.82rem;font-style:normal;font-weight:900}dl{gap:10px;margin:0;display:grid}dl div{grid-template-columns:128px minmax(0,1fr);gap:12px;display:grid}dd{color:#101418;overflow-wrap:anywhere;margin:0}.capabilities{flex-wrap:wrap;gap:8px;display:flex}.capabilities span{color:#101418;background:#b7e779;min-height:30px;padding:4px 8px;font-size:.74rem;font-weight:900}.requirement-list{gap:14px;display:grid}.requirement-row{background:#fffdf3;border:2px solid #101418;grid-template-columns:minmax(0,1fr) 132px;gap:16px;padding:14px;display:grid;box-shadow:3px 3px #101418}.requirement-row p{color:#29333b;overflow-wrap:anywhere;margin-top:8px;line-height:1.5}.task-meta{background:#fff;border:2px solid #101418;margin-top:12px;padding:10px}.task-meta div{grid-template-columns:128px minmax(0,1fr)}.requirement-row pre{color:#b7e779;white-space:pre-wrap;background:#151a1f;border:2px solid #101418;max-height:240px;margin:12px 0 0;padding:12px;font-size:.78rem;line-height:1.5;overflow:auto}.requirement-row aside{align-content:start;justify-items:end;gap:10px;display:grid}.requirement-row aside small{color:#465059;text-transform:uppercase;font-weight:900}.status-badge{color:#101418;background:#b7e779;min-height:30px;padding:4px 8px;font-size:.74rem;font-weight:900}.status-badge.review,.status-badge.assigned,.status-badge.in_progress{background:#f0c747}.status-badge.failed{color:#fff;background:#ee4b4b}.requirement-row aside button{background:#25a46a;width:96px;min-height:36px;font-size:.76rem}.timeline{gap:12px;margin:0;padding:0;list-style:none;display:grid}.timeline li{background:#f8f2dc;border:2px solid #101418;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:10px;display:grid}.timeline strong{color:#101418;overflow-wrap:anywhere;font-size:.78rem;display:block}.timeline p{color:#29333b;overflow-wrap:anywhere;max-height:112px;margin-top:6px;font-size:.78rem;line-height:1.45;overflow:auto}.empty-state{color:#465059;text-transform:uppercase;font-weight:900}@media (width<=1020px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-grid,.workspace-grid.lower{grid-template-columns:1fr}}@media (width<=640px){.app-shell{padding:12px}.topbar{flex-direction:column;align-items:flex-start}.metrics-grid,.requirement-row{grid-template-columns:1fr}.requirement-row aside{justify-items:start}dl div,.task-meta div,.timeline li{grid-template-columns:1fr}}
