@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#0a100c;--panel:#111b14;--line:#2a3a2d;--green:#a5ce50;--yellow:#f0c94b;--text:#edf2e8;--muted:#91a08d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -20%,#263b28,#0a100c 60%);color:var(--text);font-family:Inter,Arial,sans-serif;min-height:100vh}.top{height:76px;border-bottom:1px solid var(--line);background:#080e0a;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1100px)/2),22px)}.brand{display:flex;gap:12px;align-items:center}.mark{border:1px solid var(--green);color:var(--green);padding:5px 12px;font:800 25px 'Barlow Condensed'}.mark span{color:var(--yellow)}.brand strong{display:block;font:700 17px 'Barlow Condensed';letter-spacing:2px}.brand small{display:block;color:var(--muted);font:9px 'IBM Plex Mono';letter-spacing:1px;margin-top:3px}.demo,button,small,.eyebrow,footer{font-family:'IBM Plex Mono',monospace}.demo{font-size:10px;color:#c4d0bc;letter-spacing:1px}.demo i,#led{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);margin-right:7px}button{cursor:pointer}#soundToggle{background:#18251a;border:1px solid #405238;color:var(--green);padding:10px 13px;font-size:10px}.wrap{max-width:1100px;margin:auto;padding:52px 22px 24px}.eyebrow,small{color:var(--green);font-size:10px;letter-spacing:1.5px}.eyebrow span{color:var(--muted)}h1{font:800 clamp(44px,7vw,70px)/.95 'Barlow Condensed';letter-spacing:1px;margin:17px 0 8px}h1 em{font-style:normal;color:var(--green)}.sub{font-size:13px;color:var(--muted);margin:0 0 30px}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.panel{background:linear-gradient(145deg,#152219,#101811);border:1px solid var(--line);padding:22px;position:relative;margin-bottom:16px}.panel:before{content:'';position:absolute;top:0;left:0;width:42px;height:2px;background:var(--green)}h2{font:600 22px 'Barlow Condensed';margin:5px 0 0}.heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.heading label{font:9px 'IBM Plex Mono';color:var(--yellow);border:1px solid #66592d;padding:6px}.main{min-height:475px}.sos-area{height:280px;display:grid;place-items:center;position:relative}.ring{position:absolute;border:1px solid #78944a35;border-radius:50%;aspect-ratio:1}.r1{width:245px}.r2{width:190px;border-style:dashed}.sos{z-index:1;width:145px;height:145px;border-radius:50%;border:1px solid #f5dc79;background:radial-gradient(circle at 40% 25%,#ffe782,#c49a2e 65%,#72591c);color:#171b10;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 9px #dcb84412,0 0 42px #dcb84430;transition:.2s}.sos:hover{transform:scale(1.05)}.sos b{font:700 22px 'IBM Plex Mono'}.sos strong{font:800 46px 'Barlow Condensed';line-height:1}.sos small{color:#222;font-size:8px;margin-top:5px;font-weight:bold}.status{display:flex;align-items:center;gap:12px;border-block:1px solid var(--line);padding:14px 2px}.status div{display:grid;gap:4px}.status small,.metric small{font-size:9px;color:var(--muted)}.status strong{font:600 12px 'IBM Plex Mono';color:var(--green)}time{margin-left:auto;color:#abb7a5;font:12px 'IBM Plex Mono'}#helper{font-size:11px;color:var(--muted);margin:13px 0}.stop{width:100%;padding:11px;background:#20291d;border:1px solid #465438;color:#d3dfc9;font-size:10px}.stop:disabled{opacity:.4;cursor:not-allowed}.metric{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:14px 0}.metric>b{color:var(--green);font-size:20px}.metric div{display:grid;gap:4px}.metric strong{font:600 11px 'IBM Plex Mono'}.metric>i{margin-left:auto;color:var(--yellow);font-style:normal}.metric>.ok{color:var(--green)}.note{background:#202a1e;color:#aab69f;padding:10px;font-size:10px;line-height:1.5}.protocol p{border-top:1px solid var(--line);padding:10px 0;margin:0;color:#c6d0c0;font-size:11px}.protocol p b{color:var(--yellow);font:11px 'IBM Plex Mono';margin-right:12px}.history{margin-top:0}.history button{background:transparent;border:1px solid #405238;color:#b6c3ac;padding:7px;font-size:9px}.empty{padding:15px 0;color:var(--muted);font-size:11px}.event{border-top:1px solid var(--line);padding:11px 0;font:10px 'IBM Plex Mono';display:flex;gap:10px}.event time{font-size:10px}.event i{color:var(--yellow)}footer{display:flex;justify-content:space-between;gap:12px;color:#72816e;font-size:8px;letter-spacing:1px;padding:8px 0} .toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;background:#26321e;border:1px solid var(--yellow);padding:12px 17px;color:#f1e7bd;font:11px 'IBM Plex Mono';transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}body.alerting .sos{animation:pulse 1s infinite}body.alerting #led{background:var(--yellow);box-shadow:0 0 14px var(--yellow)}body.alerting .status strong{color:var(--yellow)}body.alerting .r1{border-color:#f0c94b88;animation:ring 1.4s infinite}@keyframes pulse{50%{box-shadow:0 0 0 17px #dcb84420,0 0 60px #dcb84470}}@keyframes ring{50%{transform:scale(1.12);opacity:.4}}@media(max-width:740px){.top{padding:0 14px;height:66px}.demo{display:none}.wrap{padding:35px 14px 20px}.grid{grid-template-columns:1fr}.main{min-height:450px}.sos-area{height:250px}.r1{width:220px}.r2{width:175px}footer{flex-direction:column;line-height:1.7}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}