:root{font:15px system-ui,sans-serif;color:#dce7f3;background:#101720;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{background:#5ee3b1;border:0;border-radius:8px;padding:11px 16px;color:#0c2920;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.4;cursor:default}.secondary{background:#243242;color:#e0eafa}.danger{background:#532b32;color:#ffced3}h1,h2,h3,p{margin:0}h1{font-size:25px}h2{font-size:19px}h3{font-size:15px;margin:20px 0 8px}.eyebrow{font-size:10px;letter-spacing:2px;color:#78cbb0;display:block;margin-bottom:8px}#login{min-height:100vh;display:grid;place-items:center;padding:25px}#login-form{background:#192330;padding:35px;border-radius:16px;max-width:480px;width:100%;display:grid;gap:22px}label{display:grid;gap:8px}input{width:100%;padding:12px;border:1px solid #3d5066;border-radius:7px;background:#101720}#login-error,#message{color:#ffcc8c}#dashboard{max-width:1700px;margin:auto;padding:26px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.notice{background:#2e2930;color:#eed8a8;padding:12px 16px;border-radius:8px;margin-bottom:22px;font-size:13px}main{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px}aside,.viewer{background:#192330;border:1px solid #283646;border-radius:12px;padding:20px}.aside-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:20px}.aside-title button{padding:8px 10px;font-size:13px}#stations{display:grid;gap:10px}.station{text-align:left;background:#202e3d;color:#cddae8;border:1px solid transparent;width:100%;display:grid;gap:7px}.station.active{border-color:#5ee3b1}.station small{font-weight:400;color:#92a8bd}.station .online{color:#72e4b7}.viewer-title{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:16px}#station-meta,#freshness,.hint{font-size:12px;color:#9bb0c6;margin-top:6px}.screen-wrap{background:#090d13;border:1px solid #314050;border-radius:8px;min-height:300px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;position:relative}#screen{max-width:100%;max-height:68vh;display:block;object-fit:contain;touch-action:none;user-select:none;cursor:crosshair}#screen[hidden]{display:none}#placeholder{padding:40px;text-align:center;color:#8197ae}.controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.controls button{font-size:13px}#message{min-height:22px;margin-top:12px}.event{padding:9px 0;border-top:1px solid #2a3848;font-size:12px}.event span{color:#9bb0c6}#pairing{background:#0d2824;border:1px solid #326451;padding:14px;border-radius:9px;margin-bottom:20px;font-size:12px}#pair-code{display:block;margin:12px 0;font-size:20px;letter-spacing:1px;overflow-wrap:anywhere}#events{overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:850px){#dashboard{padding:15px}main{grid-template-columns:1fr}.screen-wrap{min-height:220px}#stations{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.viewer-title{flex-direction:column}h1{font-size:22px}}
a{color:#7ee8bf}.updates{border-top:1px solid #314050;margin-top:20px;padding-top:4px;display:grid;gap:13px}.updates h3{margin-top:15px}.updates button{justify-self:start}.updates select{max-width:100%;padding:10px;background:#101720;border:1px solid #3d5066;border-radius:7px;font:inherit}.updates input[type=file]{font-size:13px}.updates .check{display:flex;align-items:center;gap:10px;font-size:13px}.updates .check input{width:auto}.updates #update-info{font-size:12px;overflow-wrap:anywhere;color:#aadbc7}
.station-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.station-actions button{font-size:12px;padding:8px 12px}.modal{position:fixed;inset:0;background:#0009;z-index:10;display:grid;place-items:center;padding:20px}.modal-card{background:#192330;border:1px solid #42556b;border-radius:14px;padding:24px;display:grid;gap:16px;width:min(100%,440px);box-shadow:0 16px 70px #0008}.modal-actions{display:flex;flex-wrap:wrap;gap:10px}#editor-error{color:#ffcc8c;font-size:13px}#screen{-webkit-touch-callout:none;-webkit-user-select:none}#screen-wrap{-yandex-copysearch:none}#pair-code{font-size:32px;letter-spacing:7px;font-variant-numeric:tabular-nums}
.screen-options{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.screen-options label{display:flex;gap:8px;align-items:center;font-size:13px}.screen-options select{padding:8px;background:#243242;border:0;border-radius:6px}.screen-options button{font-size:12px}.screen-wrap{max-height:68vh;overflow:auto}.screen-wrap.zoom-150,.screen-wrap.zoom-200,.screen-wrap.zoom-300{justify-content:flex-start;align-items:flex-start}.screen-wrap.zoom-150 #screen{width:150%;max-width:none;max-height:none;flex-shrink:0}.screen-wrap.zoom-200 #screen{width:200%;max-width:none;max-height:none;flex-shrink:0}.screen-wrap.zoom-300 #screen{width:300%;max-width:none;max-height:none;flex-shrink:0}.screen-wrap.pan-mode #screen{touch-action:pan-x pan-y;cursor:grab}.advanced-update{display:grid;gap:14px;margin-top:16px}summary{cursor:pointer;color:#a9c9e3;padding:10px 0}.updates,.advanced-update{min-width:0}button{min-height:42px}@media(max-width:500px){.controls button{flex:1 1 40%}.updates button{width:100%;justify-self:stretch}.viewer,aside{padding:14px}header h1{font-size:20px}.screen-options{gap:8px}}
