*{box-sizing:border-box}:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1c2522;background:#f3f5f4;font-synthesis:none;letter-spacing:0}body{margin:0}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #cbd3cf;background:#fff;padding:8px 13px;border-radius:5px;color:inherit;cursor:pointer}button:hover{background:#e9efec}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #2d8870;outline-offset:3px}svg{width:18px;height:18px;flex-shrink:0}.primary{background:#176c53;color:#fff;border-color:#176c53}.primary:hover{background:#10543f}.danger{color:#ad3636}.icon{width:38px;padding:8px;flex-shrink:0}.error{color:#b33434;font-size:14px;line-height:1.5}.error:empty{display:none}[hidden]{display:none!important}header{height:76px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:#151918;color:#fff;border-bottom:3px solid #83c3a9}.brand,.login-brand{font-size:29px;font-weight:750;text-decoration:none;color:inherit;display:flex;align-items:center;gap:20px}.brand span,.login-brand span{font-size:10px;font-weight:500;color:#9fb4a9;letter-spacing:0}.header-actions,.actions{display:flex;align-items:center;gap:12px}.header-actions .icon{background:transparent;border-color:#47534d;color:#ddd}.account{font-size:13px;color:#c0c9c4}.server{font-size:13px;margin-right:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#74c8a4;margin-right:6px}main{max-width:1600px;margin:0 auto;padding:32px 36px;min-height:calc(100vh - 125px)}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:11px;color:#64756c;margin:0 0 8px;font-weight:650}h1{font-size:28px;line-height:1.2;margin:0;font-weight:650}h1 span{font-size:16px;vertical-align:middle;color:#6a7c71;margin-left:8px}h2{font-size:19px;margin:0}.overview{display:flex;gap:24px;align-items:center;padding:21px 0;border-bottom:1px solid #d7dfda;margin-bottom:24px;font-size:13px;color:#5b6b63}.overview b{color:#253e31;margin-right:5px}.overview-note{margin-left:auto}.devices{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,390px),1fr));gap:24px;align-items:start}.device{border:1px solid #d3ddd7;border-radius:7px;background:#fff;overflow:hidden;min-width:0}.device-head{padding:16px 18px;display:flex;align-items:center;gap:12px}.device-symbol{background:#e7f1eb;color:#226e52;display:grid;place-items:center;width:39px;height:44px;border-radius:5px}.device-meta{min-width:0;flex:1}.device-meta h2{font-size:17px;overflow-wrap:anywhere}.device-meta small{font-size:11px;color:#718278}.state{display:inline-flex;font-size:11px;align-items:center;gap:5px;margin-top:5px;color:#67776f}.state.online{color:#176c53}.state.offline{color:#a13d35}.screen{background:#171c1a;position:relative;display:flex;align-items:center;justify-content:center;height:440px;overflow:hidden}.screen canvas{display:block;max-width:100%;max-height:100%;object-fit:contain;touch-action:none;outline-offset:-3px}.screen .placeholder{color:#a6b7ae;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px;font-size:13px}.placeholder svg{width:40px;height:40px;color:#81978b}.screen .connect-state{position:absolute;bottom:16px;background:#252f29;color:#fff;border-radius:4px;font-size:12px;padding:7px 12px}.screen:fullscreen{height:100vh;width:100vw}.device-controls{padding:14px 18px}.presets{display:flex;gap:6px;margin-bottom:12px}.presets button{font-size:12px;min-height:29px;padding:5px 10px}.presets .selected{background:#e5f2eb;border-color:#78ad94;color:#146344}.settings{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:550}select,input{width:100%;min-width:0;background:#fff;border:1px solid #cbd5cf;border-radius:4px;padding:9px;color:#22362a}select{font-size:12px}.toggles{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0}.toggles label{flex-direction:row;align-items:center;font-weight:400}.toggles input{width:16px;height:16px;accent-color:#176c53}.session-actions{display:flex;align-items:center;gap:8px}.session-actions .connect{flex:1}.navkeys{display:flex;justify-content:center;gap:14px;padding:9px;border-bottom:1px solid #e4e9e6}.navkeys button{border:none;background:transparent;min-height:30px}.device .error{margin:10px 0}.device-bottom{display:flex;justify-content:space-between;margin-top:13px;gap:10px;color:#7c8881;font-size:10px}.device-bottom button{border:0;background:transparent;padding:0;min-height:20px;color:#687970;font-size:11px}.device-bottom svg{width:13px;height:13px}footer{padding:16px 36px;border-top:1px solid #d7dfda;display:flex;justify-content:space-between;color:#75847c;font-size:11px}dialog{border:1px solid #cbd5cf;border-radius:7px;padding:24px;width:min(440px,calc(100% - 32px));box-shadow:0 20px 70px #0003}dialog::backdrop{background:#17271b80}dialog form{display:grid;gap:18px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}#login{min-height:100vh;background:#151918;color:#fff;display:grid;align-content:center;justify-items:center;gap:32px;padding:24px}#login form{width:min(360px,100%);display:grid;gap:20px}#login h1{font-size:23px;margin-bottom:4px}#login input{background:#232d27;color:#fff;border-color:#4a5a50}#login label{color:#b8c9be}#login button{margin-top:5px}.empty{color:#61766a;padding:60px 20px;text-align:center}@media(min-width:1400px){.devices{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){header{padding:0 18px;height:65px}.brand{font-size:25px}.brand span{display:none}.server{margin:0}.account{display:none}main{padding:24px 16px}.page-heading{align-items:flex-start;flex-direction:column;gap:17px}.actions{width:100%}.actions .primary{margin-left:auto}h1{font-size:25px}.overview{gap:18px;flex-wrap:wrap}.overview-note{margin-left:0}.screen{height:410px}.device-controls{padding:14px}.devices{gap:18px}footer{padding:16px;gap:20px}.header-actions{gap:10px}}.screen{height:240px}.screen:has(canvas:not([hidden])){height:440px}.screen:fullscreen{height:100vh!important}@media(max-width:650px){.screen{height:180px}.screen:has(canvas:not([hidden])){height:410px}}
