:root{color-scheme:dark;--bg:#111820;--card:#192431;--line:#344453;--accent:#70dece;--muted:#a1b4c6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#e7eff5;font:15px system-ui,-apple-system,sans-serif}main{max-width:480px;margin:auto;padding:12px 10px max(18px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;gap:10px}h1{font-size:20px;margin:0;flex:1}#connection{font-size:12px;color:var(--muted)}#connection.online{color:var(--accent)}button{font:inherit;min-height:43px;background:#233449;color:#edf5ff;border:1px solid var(--line);border-radius:9px;padding:8px;touch-action:manipulation;cursor:pointer}button:active{background:#3a556d}button:disabled{opacity:.4;cursor:wait}button.small{min-height:33px;font-size:12px;padding:5px 9px}#message{font-size:12px;line-height:1.5;min-height:35px;margin:8px 2px;color:#bacbdd;overflow-wrap:anywhere}#message.error{color:#ffc099}#screen{background:#05080c;min-height:150px;border:1px solid #293849;border-radius:11px;overflow:hidden;display:flex;align-items:center;justify-content:center}#empty{padding:35px 16px;color:var(--muted);text-align:center}#shot{display:block;width:auto;height:auto;max-width:100%;max-height:60vh;max-height:60dvh;user-select:none;-webkit-user-select:none;touch-action:none;cursor:crosshair}#shot.stale{opacity:.55}#screen [hidden]{display:none}.row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.four{grid-template-columns:repeat(4,1fr)}.accent{background:#1d4b55}#dingtalk{width:100%;margin-top:8px;background:#214b43;border-color:#3a7668}details{margin-top:11px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:12px;line-height:1.6;color:var(--muted)}summary{cursor:pointer}details button{min-height:34px;font-size:12px}pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}footer{text-align:center;font-size:11px;color:#7f95a8;padding-top:12px}
:root .framebar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:0 2px 6px;font-size:11px;color:var(--muted)}.framebar label{white-space:nowrap}.framebar input{vertical-align:middle}.framebar span{text-align:right;overflow-wrap:anywhere}.pinrow{display:flex;gap:5px;margin-top:5px}.pinrow input{min-width:0;flex:1;width:80px;background:#111820;color:#eef;border:1px solid var(--line);border-radius:7px;padding:7px;font:inherit}.pinrow button{white-space:nowrap}
