:root{--paper:#eff0ed;--ink:#303431;--muted:#686e69;--line:#cdd2cc;--accent:#b93632;--accent-ink:#b93632;--font:Arial,'Microsoft YaHei',sans-serif;--mono:'Courier New',monospace}
*{box-sizing:border-box}
body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:14px var(--font);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer;color:inherit}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,.panel:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
::selection{background:var(--accent);color:var(--paper)}
main{width:calc(100% - 80px);max-width:1440px;margin:auto;flex:1}
.panel{padding:30px 0 60px}.panel[hidden]{display:none}



.focus-station{border:0}




.station-body{display:grid;grid-template-columns:1.45fr 1fr;min-height:330px}
.timer-area{grid-column:1;grid-row:1;padding:32px 32px 35px 0}
.focus-mode{display:flex;gap:24px}
.focus-mode button{padding:8px 0;background:none;border:0;border-bottom:1px solid transparent;font-size:12px;color:var(--muted)}
.focus-mode button.selected{color:var(--ink);border-color:var(--accent)}
.timer{font:400 clamp(92px,13.4vw,196px)/1.1 Georgia,'Times New Roman',serif;font-variant-numeric:tabular-nums;letter-spacing:-8px;margin:20px 0 8px}
#timer-status{margin:0;color:var(--muted);font-size:12px;min-height:20px}
.timer-actions{display:flex;gap:12px;margin-top:28px}
.timer-actions button{border:1px solid var(--line);padding:15px 24px;min-height:48px;font-size:12px}
.primary-button{background:var(--accent);color:#fff;border-color:var(--accent)!important;min-width:160px}
.primary-button:hover{background:#9f2c29}.secondary-button{background:transparent}.secondary-button:hover{background:#24251f08}
.record-area{grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;background:#e4e7e2;color:var(--accent);padding:24px;position:relative;overflow:hidden;margin:20px 0 20px 20px}
.signal-caption,.signal-scale{display:flex;justify-content:space-between;font:10px var(--mono);letter-spacing:1px}
.signal{display:block;width:100%;max-height:270px;flex:1;min-height:0;margin:16px 0}
.signal rect{transform-box:fill-box;transform-origin:center;animation:pulse 1.8s ease-in-out var(--delay) infinite alternate;animation-play-state:paused}
.running .signal rect{animation-play-state:running}
.signal-scale{padding-top:12px;border-top:1px solid var(--line)}
.empty-panel{min-height:450px}
footer{width:calc(100% - 80px);max-width:1440px;margin:auto;padding:18px 0;display:flex;justify-content:flex-end;align-items:center;color:var(--muted);font:10px var(--mono)}
@keyframes pulse{from{transform:scaleY(.42)}to{transform:scaleY(1)}}
@media(min-width:1600px){.panel{padding-top:40px}.station-body{min-height:430px}.timer-area{padding-top:40px}}
@media(max-width:900px){main,footer{width:calc(100% - 48px)}.station-body{grid-template-columns:1.35fr 1fr}.timer-area{padding-right:16px}.record-area{padding:16px;margin-left:6px}.timer{letter-spacing:-5px}.signal-caption{font-size:8px}.timer-actions button{padding:14px 18px}.primary-button{min-width:130px}}
@media(max-width:600px){main,footer{width:calc(100% - 36px)}.panel{padding-top:24px;padding-bottom:35px}.station-body{grid-template-columns:1fr}.timer-area{grid-row:1;grid-column:1;padding:24px 0 28px}.timer{font-size:clamp(90px,23vw,138px);margin:22px 0 12px}.record-area{grid-column:1;grid-row:2;height:190px;margin:0 0 20px;padding:16px}.signal{max-height:120px;margin:0}.timer-actions{margin-top:22px}.timer-actions button{flex:1}.signal-caption{font-size:9px}.empty-panel{min-height:60svh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}