:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#dce4ef;background:#0c111b;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;background:#222d3e;border:1px solid #354157;color:#e4ebf5;border-radius:7px;padding:9px 13px;transition:background .16s}button:hover{background:#33425a}button:disabled{opacity:.5;cursor:wait}.primary{background:#60dfbb;color:#0b2822;border:0;font-weight:700}.primary:hover{background:#89f0d2}.ghost{background:transparent;border-color:transparent;color:#9aabc0}input,textarea{background:#101823;border:1px solid #354157;border-radius:7px;color:#eaf1fa;padding:12px;outline:none}input:focus,textarea:focus{border-color:#60dfbb}header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #283141;background:#101722}.brand{font-size:22px;font-weight:700;letter-spacing:-.7px}.brand span{font-size:12px;font-weight:400;color:#8a9bb1;margin-left:15px;letter-spacing:0}.route{font-size:12px;color:#9bacc0;display:flex;align-items:center;gap:9px}.route i,.mini-dot{width:6px;height:6px;border-radius:50%;background:#60dfbb;display:inline-block}main{height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;padding:20px}.desktop-panel{min-width:0;display:flex;flex-direction:column;background:#070b11;border:1px solid #2c3646;border-radius:12px;overflow:hidden}.panel-head{height:62px;flex-shrink:0;padding:0 17px;display:flex;align-items:center;justify-content:space-between;background:#151d2a;gap:10px}.panel-head b{font-size:13px}.panel-head #desktopStatus{font-size:11px;color:#90a1b6;margin-left:12px}.dot{display:inline-block;width:7px;height:7px;background:#e0ad63;border-radius:50%;margin-right:9px}.dot.connected{background:#60dfbb}.actions{display:flex;gap:7px}.actions button{font-size:12px;padding:7px 10px}#screen{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#080b10}#screenHint{position:absolute;color:#8396af;font-size:14px;z-index:1;pointer-events:none}#screen canvas{outline:none}footer{height:35px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:#111924;color:#6d819b;font-size:11px}aside{display:flex;flex-direction:column;min-height:0;border:1px solid #2c3646;border-radius:12px;background:#121a27;overflow:hidden}.tabbar{display:flex;border-bottom:1px solid #2b3546;padding:9px 12px;gap:8px}.tab{flex:1;background:transparent;border-color:transparent;color:#91a3bb;font-size:13px}.tab.active{background:#26364a;color:#8fe8cf}aside section{padding:20px;overflow:auto;flex:1}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}h2{font-size:16px;margin:0}.muted{font-size:12px;line-height:1.7;color:#8ea1b8}.folder-label{font-size:11px;color:#8fa0b6;margin-top:24px;padding-bottom:12px;border-bottom:1px solid #273345}.folder-label code{display:block;margin-top:7px;font-size:11px;color:#bdcce0}#dropzone{margin-top:18px;border:1px dashed #426052;border-radius:9px;background:#142a27;padding:22px 8px;display:flex;align-items:center;flex-direction:column;gap:9px;cursor:pointer}#dropzone.drag{border-color:#8fffd8;background:#20433a}#dropzone strong{font-size:13px;color:#c1f3e4}#dropzone small{font-size:10px;color:#84ac9f}.upload-icon{font-size:24px;line-height:1;color:#60dfbb}.file-list{margin-top:6px}.file{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #253042;gap:8px}.file-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.file-size{font-size:10px;color:#70849d;margin-top:5px}.file a{font-size:11px;text-decoration:none;color:#7ce4c6}.aside-footer{font-size:10px;color:#73869d;padding:15px;border-top:1px solid #263244}.mini-dot{margin-right:6px;width:5px;height:5px}textarea{width:100%;height:270px;resize:vertical;font-family:Consolas,"Microsoft YaHei",monospace;font-size:12px;line-height:1.7;margin:12px 0}.clipboard-buttons{display:grid;gap:8px}.tip{margin-top:18px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#d5fbed;color:#15392e;padding:12px 22px;border-radius:8px;font-size:13px;display:none;z-index:20}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 25% 15%,#163b38 0,transparent 48%),#0c111b}.login-card{width:390px;padding:36px;border:1px solid #32463e;background:#141e29;border-radius:18px;box-shadow:0 22px 70px #0005}.eyebrow{font-size:9px;letter-spacing:2.3px;color:#84c8b3}.login-card h1{font-size:38px;margin:20px 0 6px;letter-spacing:-1.8px}.login-card h1 span{color:#60dfbb;float:right;font-weight:400}.login-card p{color:#91a7bd;font-size:13px;margin-bottom:29px}.login-card label{display:block;font-size:12px;margin-top:18px;color:#b8c6d7}.login-card input{width:100%;margin-top:9px}.login-card button{width:100%;margin-top:26px;padding:13px}.login-note{color:#728c87;font-size:10px;text-align:center;margin-top:25px}.error{font-size:12px;color:#ff9c9c;margin-top:14px}[hidden]{display:none!important}@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 300px;padding:10px;gap:10px}.route{display:none}.panel-head{height:auto;min-height:65px;flex-wrap:wrap;padding:10px}.actions{flex-wrap:wrap}.brand span{display:none}}@media(max-width:700px){main{height:auto;grid-template-columns:1fr}.desktop-panel{height:66vh}aside{min-height:440px}.login-card{width:90%}}

/* Browser pointer is always visible; the overlay never intercepts input. */
#screen, #screen canvas { cursor: default !important; }
#cursorIndicator { position: absolute; width: 20px; height: 20px; margin: 0; border: 2px solid #88f8d5; border-radius: 50%; background: transparent; box-shadow: 0 0 0 1px #142a35, 0 1px 5px #0009; transform: translate(-50%, -50%); pointer-events: none; z-index: 30; display: none; }
#cursorIndicator.pressed { border-color: #fff; background: #88f8d530; }

.scroll-control{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#9aabc0}.scroll-control select{font:inherit;background:#172333;color:#dce4ef;border:1px solid #354157;border-radius:6px;padding:5px}

#macDevice{font:inherit;font-size:12px;margin-left:10px;background:#172333;color:#dce4ef;border:1px solid #354157;border-radius:6px;padding:5px;max-width:190px}
