@font-face{font-family:Vazirmatn;src:url("./fonts/Vazirmatn-Variable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{font-family:Vazirmatn,Tahoma,sans-serif;color:#183d36;background:#f7f7f0;font-size:20px;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0}button{font:inherit;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:4px solid #a24d19;outline-offset:5px}button:disabled{cursor:default}.header{max-width:1060px;margin:auto;padding:28px 32px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #d5ddd0}.mark{height:54px;width:54px;flex-shrink:0;border-radius:50%;background:#173f3b;color:#ead4a8;display:grid;place-items:center;font-size:42px;line-height:1}.header h1{font-size:29px;line-height:1.2;letter-spacing:normal;margin:0}.header p{font-size:20px;margin:3px 0 0;text-align:start;color:#4b6357}main{max-width:1060px;margin:auto;padding:27px 32px 45px}.intro{margin-bottom:26px}.intro h2{font-size:28px;line-height:1.3;margin:0 0 7px;letter-spacing:normal}.intro p{font-size:20px;color:#415e4f;margin:0}.stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.station{background:#fffefa;border:2px solid #d4dece;border-radius:16px;padding:24px;display:flex;flex-direction:column;min-width:0;gap:22px;justify-content:space-between}.station.active{border-color:#1a5c45;background:#f1f8ed}.station h3{font-size:26px;line-height:1.3;margin:0;font-weight:700;overflow-wrap:anywhere}.station .persian{font-size:23px;line-height:1.6;color:#395541;text-align:start;margin:7px 0 0;overflow-wrap:anywhere}.station .station-state{font-size:18px;font-weight:650;color:#22563d;margin:10px 0 0;min-height:27px}.station .station-state:empty{display:none}.station-button{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;border:0;background:#173f3b;color:#fffefa;min-height:64px;width:100%;padding:12px 20px;border-radius:10px;font-weight:700;font-size:23px;line-height:1.4}.station-button:hover{background:#225a4b}.station-button.is-stop{background:#963824}.station-button.is-stop:hover,.stop-button:hover{background:#782a1b}.station-button:active,.stop-button:active{transform:translateY(1px)}.footer-note{font-size:17px;color:#4b6357;margin:28px 0 0}#load-message{font-size:21px;line-height:1.5}#load-message:empty{display:none}.player{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#173f3b;color:#fffdf1;box-shadow:0 -5px 24px #0f2f2420;padding:18px 32px max(18px,env(safe-area-inset-bottom))}.player[hidden]{display:none}.player-inner{max-width:996px;margin:auto;display:flex;align-items:center;gap:24px;justify-content:space-between}.now{min-width:0;flex:1}.now strong{display:block;font-size:23px;line-height:1.3;overflow-wrap:anywhere}.now span{display:block;font-size:18px;line-height:1.5;margin-top:5px;color:#eff2df;overflow-wrap:anywhere}.stop-button{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:#fff6e5;color:#63301e;border:2px solid #fff6e5;min-height:64px;padding:12px 22px;border-radius:10px;font-size:23px;font-weight:750;flex-shrink:0}.stop-button:hover{background:#f3d9be;color:#4a2315}.stop-button:focus-visible{outline-color:#f0c882}.stop-button:disabled{opacity:.65}body.has-player main{padding-bottom:calc(var(--player-height,150px) + 34px)}
@media(min-width:1200px){.station{padding:28px}.header{padding-top:32px;padding-bottom:32px}}
@media(max-width:600px){.header{padding:20px;gap:12px}.header h1{font-size:26px}.mark{height:48px;width:48px;font-size:36px}.header p{font-size:19px}main{padding:22px 18px 32px}.intro{margin-bottom:20px}.intro h2{font-size:26px}.intro p{font-size:19px;max-width:25em}.stations{grid-template-columns:1fr;gap:16px}.station{padding:21px;gap:18px}.station h3{font-size:25px}.station .persian{font-size:23px}.station-button{min-height:64px;font-size:23px}.player{padding:16px 18px max(16px,env(safe-area-inset-bottom))}.player-inner{flex-wrap:wrap;gap:14px}.now{flex-basis:100%}.now strong{font-size:23px}.now span{font-size:18px}.stop-button{width:100%;min-height:60px;font-size:22px}.footer-note{font-size:17px}}
@media(prefers-reduced-motion:reduce){.station-button:active,.stop-button:active{transform:none}}
html{scroll-padding-top:20px;scroll-padding-bottom:calc(var(--player-height,0px) + 24px)}.station-button{scroll-margin-block:20px}

/* Persian text follows the natural reading direction at every size. */
body{text-align:start}.header h1{font-weight:800;font-size:32px;line-height:1.6}.header p{font-size:20px;line-height:1.7}.intro h2{font-size:27px;line-height:1.7}.intro p{line-height:1.9}.station h3{font-size:27px;line-height:1.7}.station .location{font-size:18px;line-height:1.8;margin:5px 0 0;color:#415e4f}.station-button,.stop-button{font-weight:750;font-size:24px;line-height:1.8;min-height:68px}.now strong{font-size:24px;line-height:1.8}.now span{line-height:1.9}.station .station-state{line-height:1.9}
@media(max-width:600px){.header h1{font-size:30px}.header p{font-size:19px}.intro h2{font-size:26px}.station h3{font-size:26px}.station-button{min-height:68px}.stop-button{min-height:64px}}
/* Icons use fixed vector paths, never font glyphs or emoji. */
button{-webkit-appearance:none;appearance:none}.control-icon{display:block;width:26px;height:26px;flex:0 0 26px;fill:currentColor;color:inherit;pointer-events:none;transform:none}.mark svg{display:block;width:34px;height:34px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.station .station-state.error{color:#8a3020}
@media(orientation:landscape){.header,main{padding-inline-start:max(32px,env(safe-area-inset-right));padding-inline-end:max(32px,env(safe-area-inset-left))}.player{padding-inline-start:max(32px,env(safe-area-inset-right));padding-inline-end:max(32px,env(safe-area-inset-left))}}
