:root{--bg: #101214;--fg: #d8d8d4;--dim: #8b9199;--faint: #626870;--line: #2a2e32;--line-hi: #454b52;--panel: rgba(14, 16, 18, .9);--panel-solid: #0e1012;--accent: #9fb4cc;--warn: #cc9f7a;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;--pad: 6px}#ui{font:12px/1.45 var(--mono);color:var(--fg)}.shell{position:absolute;inset:0;pointer-events:none}.shell>*{pointer-events:auto}.shell>.prompt,.shell>.hint,.shell>.wipe,.shell>.touch{pointer-events:none}#ui button,#ui input,#ui select,#ui textarea{font:inherit;color:var(--fg);background:var(--panel-solid);border:1px solid var(--line);border-radius:0;padding:3px 6px;min-height:24px}#ui button{cursor:pointer;white-space:nowrap}#ui button:hover{border-color:var(--line-hi)}#ui button:active{color:var(--bg);background:var(--accent)}#ui button[aria-pressed=true],#ui button.on{color:var(--bg);background:var(--accent);border-color:var(--accent)}#ui button:disabled{color:var(--faint);cursor:default}#ui :focus-visible{outline:1px solid var(--accent);outline-offset:1px}#ui a{color:var(--accent)}.bar{position:absolute;top:0;left:0;right:0;display:flex;gap:var(--pad);align-items:flex-start;justify-content:space-between;padding:4px;pointer-events:none}.bar>*{pointer-events:auto}.loc{display:flex;flex-wrap:wrap;gap:0 10px;align-items:baseline;max-width:62vw;padding:3px 8px;background:var(--panel);border:1px solid var(--line)}.loc b{font-weight:600;color:var(--fg)}.loc span{color:var(--dim)}.loc .coord{color:var(--faint)}.loc .off{color:var(--warn)}.tabs{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}.dock{position:absolute;top:34px;right:4px;bottom:4px;width:min(380px,46vw);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);pointer-events:auto;overflow:hidden}.dock h2{font:inherit;font-weight:600;padding:4px 8px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:var(--pad);align-items:center}.dock h2 .sub{font-weight:400;color:var(--faint)}.body{overflow:auto;padding:6px 8px;flex:1;overscroll-behavior:contain}.rows{display:flex;flex-direction:column;gap:4px}.row{display:flex;gap:var(--pad);align-items:center}.row.wrap{flex-wrap:wrap}.row input,.row textarea,.row select{flex:1;min-width:0}.grow{flex:1}.k{color:var(--faint)}.entry{border-top:1px solid var(--line);padding:4px 0}.entry:first-child{border-top:0}.meta{color:var(--faint);display:flex;gap:8px;flex-wrap:wrap}.text{white-space:pre-wrap;overflow-wrap:anywhere}pre.raw{white-space:pre;overflow:auto;max-height:46vh;color:var(--dim);border:1px solid var(--line);padding:4px;font-size:11px}table.kv{width:100%;border-collapse:collapse}table.kv td{padding:1px 4px 1px 0;vertical-align:top}table.kv td:first-child{color:var(--faint);white-space:nowrap}.err{color:var(--warn);overflow-wrap:anywhere}.list{display:flex;flex-direction:column;gap:2px;max-height:34vh;overflow:auto}.list button{text-align:left;white-space:normal;background:transparent;border-color:transparent;border-bottom:1px solid var(--line);padding:3px 2px}.list button:hover{border-color:var(--line-hi)}.log{position:absolute;left:4px;bottom:4px;width:min(360px,52vw);background:var(--panel);border:1px solid var(--line);pointer-events:auto;display:flex;flex-direction:column}.log .lines{max-height:22vh;overflow:auto;padding:3px 6px;display:flex;flex-direction:column-reverse;gap:1px}.log .line{overflow-wrap:anywhere}.log .who{color:var(--accent)}.log form{display:flex;gap:3px;padding:3px;border-top:1px solid var(--line)}.log form input{flex:1;min-width:0}.log .head{display:flex;justify-content:space-between;align-items:center;gap:var(--pad);padding:2px 4px 2px 6px;color:var(--faint)}.log .head button{border:0;background:transparent;color:var(--dim);padding:2px 4px}.prompt{position:absolute;left:50%;transform:translate(-50%);bottom:76px;display:flex;gap:var(--pad);align-items:center;padding:3px 9px;background:var(--panel);border:1px solid var(--line-hi);pointer-events:none}.prompt.ack{border-color:var(--accent);color:var(--accent)}.key{border:1px solid var(--line-hi);padding:0 5px;color:var(--accent)}.also{position:absolute;left:50%;transform:translate(-50%);bottom:52px;display:flex;gap:8px;color:var(--dim);pointer-events:none;max-width:min(92vw,900px);overflow:hidden;white-space:nowrap}.also span{background:var(--panel);border:1px solid var(--line);padding:1px 6px}.also i{font-style:normal;color:var(--line-hi);margin-left:6px}.has-touch .also{display:none}.hint{position:absolute;left:50%;transform:translate(-50%);bottom:30px;color:var(--dim);background:var(--panel);border:1px solid var(--line);padding:2px 8px;pointer-events:none;display:flex;gap:10px}.status{position:absolute;right:4px;bottom:4px;color:var(--faint);background:var(--panel);border:1px solid var(--line);padding:2px 6px;pointer-events:auto;display:flex;gap:8px;align-items:center}.status .live{color:var(--accent)}.telemetry{position:absolute;left:4px;top:34px;max-width:min(560px,70vw);max-height:62vh;overflow:auto;background:var(--panel);border:1px solid var(--line);padding:4px 8px;pointer-events:auto;color:var(--dim);white-space:pre;font-size:11px}.touch{position:absolute;inset:0;pointer-events:none}.stick{position:absolute;left:26px;bottom:26px;width:116px;height:116px;border:1px solid var(--line-hi);border-radius:50%;opacity:.5}.stick i{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid var(--accent);border-radius:50%;transition:none}#ui .touch .act{position:absolute;right:20px;bottom:26px;width:84px;height:84px;border-radius:50%;pointer-events:auto;background:var(--panel);border:1px solid var(--line-hi);display:flex;align-items:center;justify-content:center;font-size:13px;padding:0}#ui .touch .act.sec{width:58px;height:58px;right:118px;bottom:40px;font-size:11px}.wipe{position:absolute;inset:0;pointer-events:none;overflow:hidden}.wipe div{position:absolute;top:0;bottom:0;width:51%;background:#0b0d0e;border-right:1px solid var(--line-hi);border-left:1px solid var(--line-hi)}.wipe .l{left:0}.wipe .r{right:0}.err-dock{inset:34px auto auto 4px;max-height:40vh;width:min(520px,62vw)}@media(orientation:portrait){.bar{flex-direction:column;align-items:stretch;gap:3px}.tabs{justify-content:flex-start}.dock{inset:auto 4px 4px;width:auto;max-height:58vh}.err-dock{width:auto;right:4px}.loc{max-width:100%;font-size:11px}.log{width:auto;right:4px;bottom:34px}.log .lines{max-height:14vh}.prompt{bottom:40vh}.hint{bottom:34px;max-width:92vw;flex-wrap:wrap;justify-content:center}.status{bottom:4px;left:4px;right:4px;justify-content:space-between;flex-wrap:wrap}.telemetry{max-width:calc(100vw - 8px);max-height:40vh}}.shell.has-touch{--footer: 152px}.shell.has-touch .log{top:auto;bottom:var(--footer);left:4px;right:auto;width:min(340px,60vw)}.shell.has-touch .log .lines{max-height:16vh}.shell.has-touch .status{top:auto;left:auto;right:4px;bottom:var(--footer);flex-wrap:wrap;justify-content:flex-end;max-width:36vw}.shell.has-touch .prompt{bottom:calc(var(--footer) + 34px)}.shell.has-touch .dock{bottom:var(--footer);max-height:calc(100vh - var(--footer) - 76px)}.shell.has-touch .hint,.status.tucked{display:none}.shell.has-touch:not(.portrait){--footer: 116px}.shell.has-touch:not(.portrait) .stick{left:18px;bottom:14px;width:92px;height:92px}#ui .shell.has-touch:not(.portrait) .touch .act{width:70px;height:70px;right:14px;bottom:16px}#ui .shell.has-touch:not(.portrait) .touch .act.sec{width:48px;height:48px;right:92px;bottom:26px}@media(pointer:coarse){#ui button,#ui input,#ui select{min-height:34px;padding:5px 9px}.list button{min-height:30px}}@media(prefers-reduced-motion:reduce){.wipe div{transition:none}}
