:root{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#edf1eb;background:#101613;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:760px;margin:auto;padding:28px 20px max(20px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #35433a;padding-bottom:22px}.eyebrow{font-size:11px;letter-spacing:2px;color:#9cb7a5}h1{font-size:24px;margin:8px 0 0}h2{font-size:30px;line-height:1.4}#badge{font-size:12px;padding:7px 12px;border:1px solid #526459;border-radius:30px}#welcome{padding:20px 0}p{line-height:1.8;color:#b8c5bc}.note,footer{font-size:12px;color:#91a499}label{display:block;margin-bottom:10px}input{width:100%;padding:14px;border:1px solid #56695c;border-radius:8px;background:#1b251f;color:#fff;font-size:16px}button{min-height:46px;padding:12px 18px;border:0;border-radius:8px;background:#c0f0b8;color:#142116;font-weight:600;font-size:15px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}form button{width:100%;margin-top:14px}#status{font-size:14px;border-left:2px solid #91b78f;padding-left:12px}#remote{height:min(68dvh,740px);background:#070b08;overflow:hidden;border:1px solid #35433a;border-radius:12px}iframe{width:100%;height:100%;border:0;display:block}nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}nav button{flex:1;white-space:nowrap;background:#28392e;color:#e3f2e5}#exit{background:#49352c}#camera{flex-basis:100%;background:#c0f0b8;color:#142116}footer{margin-top:26px;border-top:1px solid #35433a;padding-top:16px}a{color:#c0f0b8;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:480px){main{padding:18px 12px}h1{font-size:21px}h2{font-size:27px}#remote{height:65dvh}nav button{font-size:13px;padding:10px}}

#quality{width:100%;min-height:44px;padding:10px;border:1px solid #56695c;border-radius:8px;background:#1b251f;color:#fff;font:inherit}#performance{font-variant-numeric:tabular-nums}

nav button[aria-pressed="true"]{outline:2px solid #c0f0b8;background:#395741}details{margin-top:16px}summary{cursor:pointer;padding:12px 0}#camera-closed{width:auto;margin-right:8px}#camera-status{font-size:14px}

/* Connected view gives the viewport to Android; controls overlay only on demand. */
body:has(#screen:not([hidden])) { overflow:hidden; }
body:has(#screen:not([hidden])) main { max-width:none;padding:0; }
body:has(#screen:not([hidden])) header,
body:has(#screen:not([hidden])) footer { display:none; }
body:has(#screen:not([hidden])) #status {
 position:fixed;z-index:3;top:env(safe-area-inset-top);left:12px;right:12px;
 margin:0;border:0;padding:4px 0;font-size:12px;line-height:24px;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#screen {
 position:fixed;inset:0; height:100vh;height:100dvh;
 padding:calc(32px + env(safe-area-inset-top)) 0 calc(56px + env(safe-area-inset-bottom));
 background:#101613;
}
#screen #remote { width:100%;height:100%;border:0;border-radius:0; }
#controls {
 position:absolute;z-index:4;bottom:env(safe-area-inset-bottom);left:8px;right:8px;
 max-width:720px;margin:0 auto;background:#1b251f;border:1px solid #526459;border-radius:12px;
 box-shadow:0 -4px 24px #0005;
}
#controls > summary { min-height:48px;padding:13px 16px;font-size:14px;cursor:pointer; }
#controls[open] > summary { border-bottom:1px solid #35433a; }
.controls-body { padding:0 16px 16px;max-height:60vh;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain; }
#controls nav { margin-bottom:12px; }
@media (orientation:landscape) and (max-height:500px) {
 #screen { padding-top:calc(28px + env(safe-area-inset-top));padding-bottom:calc(48px + env(safe-area-inset-bottom)); }
 #controls > summary { min-height:40px;padding:9px 16px; }
}
