@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";
:root{--bg:#0d0f1a;--panel:#171a2b;--line:#2c3150;--shadow:#05060c;--ink:#e8ebff;--muted:#9aa3d1;--lime:#c6ff3d;--lime-dark:#6f9a12;--amber:#ffb547;--red:#ff6b6b;--pixel:"Press Start 2P", monospace;--body:"VT323", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--body);margin:0;font-size:22px;line-height:1.2}a{color:var(--lime)}a:hover{color:#e4ff9a}button{cursor:pointer;font:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.wrap{flex-direction:column;gap:32px;max-width:1080px;margin:0 auto;padding:28px 20px 40px;display:flex}.pixel{font-family:var(--pixel)}.muted{color:var(--muted)}.panel{background:var(--panel);border:4px solid var(--line);box-shadow:6px 6px 0 var(--shadow)}.panel-head{border-bottom:4px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:18px 20px;display:flex}.h2{font-family:var(--pixel);margin:0;font-size:13px;line-height:1.6}.section-title{font-family:var(--pixel);margin:0;font-size:18px;line-height:1.5}.btn{font-family:var(--pixel);border:3px solid var(--line);background:var(--bg);min-height:48px;color:var(--ink);padding:14px 16px;font-size:11px}.btn-primary{background:var(--lime);color:var(--bg);box-shadow:0 6px 0 var(--lime-dark);border:none;min-height:64px;padding:20px;font-size:15px}.btn-primary:disabled{background:var(--line);color:var(--muted);box-shadow:none}.btn[aria-pressed=true]{background:var(--lime);color:var(--bg);border-color:var(--lime)}.chip{background:var(--panel);border:3px solid var(--line);align-items:center;gap:8px;padding:8px 14px;font-size:20px;display:flex}.dot{background:var(--lime);width:10px;height:10px;display:inline-block}.badge{font-family:var(--pixel);color:var(--bg);padding:4px 6px;font-size:9px}.badge-ok{background:var(--lime)}.badge-low{background:var(--amber)}.badge-bad{background:var(--red)}.badge-wait{background:var(--line);color:var(--ink)}.badge-hold{background:var(--ink)}.row{border-bottom:2px dashed var(--line);align-items:center;gap:16px;padding:14px 20px;display:flex}.avatar{background:var(--line);width:44px;height:44px;font-family:var(--pixel);flex:none;justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:4px solid var(--line);flex-direction:column;gap:10px;padding:20px;display:flex}.step-num{font-family:var(--pixel);color:var(--bg);background:var(--lime);justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;display:flex}.stage{min-height:320px;position:relative;overflow:hidden}.poof{animation:.5s steps(4,end) forwards poof}@keyframes poof{0%{opacity:1;transform:translate(0)}40%{opacity:.7;transform:translate(14px)}to{opacity:0;transform:translate(48px)}}.broom-run{z-index:3;pointer-events:none;width:88px;height:88px;animation:3s steps(30,end) infinite sweep;position:absolute;top:-6px;left:-96px}.broom-run svg{transform-origin:70% 20%;animation:.28s steps(2,end) infinite bob}@keyframes sweep{0%{top:-6px;left:-96px}50%{top:160px}to{top:300px;left:calc(100% + 16px)}}@keyframes bob{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}.dust{background:var(--muted);z-index:2;opacity:0;width:8px;height:8px;animation:1.1s steps(6,end) infinite dust;position:absolute}@keyframes dust{0%{opacity:0;transform:translate(0)}25%{opacity:1}to{opacity:0;transform:translate(var(--dx), -40px)}}.blink{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.pop{animation:.5s steps(5,end) pop}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:10ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}
