:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ink:#e9f2fc;--muted:#9aabc0;--bg:#0c1526;--border:#2a3a50;--accent:#6be6d0}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(ellipse 65% 42% at 78% 0%,#203a48 0%,transparent 78%),linear-gradient(180deg,#0b1524 0%,#101b2c 95%);color:var(--ink)}.page-shell{max-width:1150px;margin:0 auto;padding:0 38px}.topbar{height:97px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2b3d51}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.brand>b,.brand span>b{letter-spacing:.16em;font-weight:800;font-size:19px}.brand small{display:block;color:#8c9cae;font-size:10px;letter-spacing:.23em;text-transform:uppercase;margin-top:3px}.brand-mark{height:35px;width:35px;border:1px solid #628d8c;display:flex;align-items:end;gap:3px;justify-content:center;padding:7px;border-radius:9px}.brand-mark span{display:block;background:#83e4d2;width:3px;border-radius:4px}.brand-mark span:nth-child(1){height:8px}.brand-mark span:nth-child(2){height:16px}.brand-mark span:nth-child(3){height:11px}.brand-mark span:nth-child(4){height:20px}.top-right{display:flex;align-items:center;gap:10px;color:#b3c4d6;font-size:10px;font-weight:650;letter-spacing:.19em}.lan-tag{border:1px solid #627f8a;border-radius:5px;padding:6px 9px;color:#91e4d5;letter-spacing:.09em;margin-left:14px}.tiny-led{height:6px;width:6px;border-radius:50%;background:#5fdac5;box-shadow:0 0 10px #4bdec3}.intro-row{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:60px;padding:68px 0 56px}.eyebrow,.overline{color:#75ddca;font-size:11px;font-weight:750;letter-spacing:.22em}.eyebrow{margin:0 0 19px}h1{font-size:clamp(38px,4.4vw,59px);letter-spacing:-.05em;line-height:1.12;margin:0 0 19px;font-weight:750}h1 span{color:#79dfd2}.lead{font-size:15px;max-width:540px;line-height:1.82;color:var(--muted);margin:0}.radio-card{background:linear-gradient(160deg,#223d4b,#122335);border:1px solid #3a6070;border-radius:15px;padding:18px 20px 15px;box-shadow:0 19px 65px #0007;transform:rotate(1.6deg)}.radio-card-header,.radio-card-bottom{display:flex;justify-content:space-between;color:#a5bacb;font-size:10px;letter-spacing:.14em;font-weight:600}.power-bulb{height:8px;width:8px;border-radius:50%;background:#6de5cc;box-shadow:0 0 16px #6de5cc}.freq-readout{font-family:ui-monospace,Consolas,monospace;font-size:42px;letter-spacing:-.06em;color:#d2f7ed;font-weight:600;margin:21px 0 2px}.separator{opacity:.6}.unit{font-size:13px;margin-left:8px;letter-spacing:0;font-weight:500}.wave-window{height:90px;background:repeating-linear-gradient(90deg,transparent 0,transparent 23px,#41647344 24px),repeating-linear-gradient(0deg,transparent 0,transparent 19px,#41647344 20px),#102330;border:1px solid #31505e;overflow:hidden;border-radius:4px}.wave-window svg{width:100%;height:100%}.radio-card-bottom{margin-top:12px}.control-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(275px,.88fr);gap:21px;margin-bottom:55px}.panel{border:1px solid var(--border);background:#17263aee;border-radius:13px;box-shadow:0 6px 27px #06111c40}.main-panel{padding:32px 34px 30px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:9px}.state-badge{display:inline-flex;gap:8px;align-items:center;border:1px solid #627c91;border-radius:5px;padding:7px 10px;color:#aec4d3;font-weight:700;font-size:10px;letter-spacing:.09em;white-space:nowrap}.status-dot{height:7px;width:7px;background:currentColor;border-radius:50%}.state-idle{color:#85dbc7;border-color:#3a806f;background:#173a37}.state-active{color:#85ebc9;border-color:#3a806f;background:#173a37}.state-busy,.state-starting,.state-stopping{color:#e8cb8a;border-color:#856e40;background:#403522}.state-fault{color:#efa2a3;border-color:#884748;background:#3d262b}.main-panel h2{font-size:30px;line-height:1.25;letter-spacing:-.035em;margin:22px 0 9px}.description{font-size:13px;color:var(--muted);line-height:1.6;max-width:490px;margin:0 0 30px;min-height:40px}.session-readout{display:flex;align-items:end;justify-content:space-between}.micro-label{font-size:10px;font-weight:750;color:#8297ad;letter-spacing:.17em}.countdown{font-family:ui-monospace,Consolas,monospace;font-size:45px;font-weight:700;letter-spacing:-.08em;margin:7px 0 12px}.time-caption{text-align:right;margin-bottom:18px}.time-limit{font-size:14px;font-weight:650;margin-top:10px}.track{height:4px;border-radius:5px;background:#2e4255;overflow:hidden;margin-bottom:25px}.fill{height:100%;border-radius:5px;background:#6fe6d0;transition:width .75s linear}.login-form label,.duration-label{display:block;font-size:12px;color:#d6e7f2;font-weight:600;margin-bottom:9px}.duration-label span{font-weight:400;color:var(--muted)}.login-fields{display:flex;gap:8px}.login-fields input{flex:1;min-width:0}.login-form input,.controls select{border:1px solid #42576d;color:#eaf5fc;background:#102034;padding:13px 14px;border-radius:7px;font:inherit;font-size:14px;outline-offset:3px}.login-form input:focus,.controls select:focus{border-color:#72d9cb}.form-helper{font-size:11px;color:#839bb2;margin-top:10px}.btn{appearance:none;display:inline-flex;gap:10px;justify-content:center;align-items:center;text-align:center;border-radius:7px;border:1px solid transparent;padding:13px 17px;font:inherit;font-weight:750;font-size:13px;text-decoration:none;cursor:pointer;min-height:46px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#7cebd7;color:#0b2b31}.btn-primary:hover:not(:disabled){background:#a1ffe7}.btn-secondary{background:#263b4e;color:#e2eff9;border-color:#50697f}.btn-danger{background:#432b35;color:#ffd1d4;border-color:#a05f69}.controls{display:grid;grid-template-columns:1fr auto;gap:11px;align-items:end}.controls label{grid-column:1/-1;margin:0}.controls select{height:46px}.controls #openButton,.controls #stopButton{grid-column:1/-1}.controls #startButton{align-self:stretch}.btn-arrow{margin-left:18px}.text-button{grid-column:1/-1;justify-self:end;background:none;color:#8ab9c4;border:0;cursor:pointer;padding:10px 2px;font-size:12px}.text-button:hover{text-decoration:underline}.message{margin:16px 0 0;color:#ffc1b7;font-size:13px}.side-panel{padding:32px 27px;display:flex;flex-direction:column}.side-panel h3{font-size:22px;line-height:1.3;letter-spacing:-.03em;margin:17px 0 28px}.rule{display:flex;gap:14px;margin-bottom:24px}.rule-icon{flex:0 0 36px;height:36px;border:1px solid #456c74;border-radius:9px;color:#7de3d2;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:750}.rule strong{font-size:13px}.rule p{font-size:12px;color:#9badc0;line-height:1.65;margin:6px 0 0}.side-footer{border-top:1px solid var(--border);padding-top:21px;margin-top:auto;display:flex;align-items:center;gap:9px;color:#86a0b1;font-size:11px}.footer{border-top:1px solid #2b3c50;display:flex;justify-content:space-between;gap:15px;padding:23px 0 34px;color:#718599;font-size:10px;letter-spacing:.10em}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #8aead9;outline-offset:3px}[hidden]{display:none!important}@media(max-width:820px){.intro-row{gap:30px;grid-template-columns:1fr .8fr;padding:49px 0}.control-layout{grid-template-columns:1fr}.side-panel{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.side-panel>.overline,.side-panel h3,.side-footer{grid-column:1/-1}.side-panel h3{margin:5px 0 15px}.side-footer{padding-top:17px}}@media(max-width:600px){.page-shell{padding:0 19px}.topbar{height:80px}.top-right{font-size:9px}.top-right>span:nth-child(2){display:none}.lan-tag{margin:0}.intro-row{grid-template-columns:1fr;gap:34px;padding:43px 0 36px}.radio-card{max-width:420px;transform:none}.control-layout{margin-bottom:30px}.main-panel,.side-panel{padding:24px 20px}.side-panel{display:block}.footer{flex-direction:column}.countdown{font-size:38px}.main-panel h2{font-size:26px}.login-fields{flex-wrap:wrap}.login-fields input{flex-basis:100%}.controls{grid-template-columns:1fr}.controls #startButton{grid-column:1}.side-panel h3{margin:14px 0 25px}}

.duration-pick{margin-bottom:16px}.duration-pick label{display:block;font-size:12px;color:#d6e7f2;font-weight:600;margin-bottom:8px}.duration-pick select{width:100%;border:1px solid #42576d;color:#eaf5fc;background:#102034;padding:13px;border-radius:7px}.login-form>.btn{width:100%;margin-top:14px}.waiting-hint{padding:13px 16px;border:1px solid #3a806f;border-radius:8px;color:#8ce9d6;font-size:13px}.controls #startButton,.controls #duration,.controls .duration-label{display:none!important}

/* No fake percentage while the hardware controller reports STARTING/STOPPING. */
.track.is-busy .fill {animation:oe6vagBusy 2.8s ease-in-out infinite;transition:none;}
@keyframes oe6vagBusy {from{transform:translateX(-110%)}to{transform:translateX(350%)}}
