:root{--ui-scale: 1;font-size:calc(93.75% * var(--ui-scale));color-scheme:dark;--bg: #101418;--panel: #1a2027;--panel-2: #222a33;--border: #2d3742;--text: #e6edf3;--muted: #8b949e;--accent: #3fa9f5;--accent-press: #2c8fd6;--danger: #f2545b;--ok: #3fb950;--on-accent: var(--on-accent);--warn: #e3b341}:root[data-theme=daylight]{color-scheme:light;--bg: #f2f5f9;--panel: #ffffff;--panel-2: #eef1f6;--border: #d6dde6;--text: #17202b;--muted: #5b6773;--accent: #2563eb;--accent-press: #1d4fd7;--danger: #d92d3a;--ok: #1a9c46;--on-accent: #ffffff;--warn: #b4690e}:root[data-theme=neon]{color-scheme:dark;--bg: #05070d;--panel: #0c1120;--panel-2: #131a2e;--border: #263154;--text: #e9f6ff;--muted: #7f8db3;--accent: #00e5ff;--accent-press: #19c8de;--danger: #ff3d68;--ok: #39ffb0;--on-accent: #04121a;--warn: #ffd23f}:root[data-theme=synthwave]{color-scheme:dark;--bg: #140a24;--panel: #1f1038;--panel-2: #2a1650;--border: #3f2270;--text: #ffe9fb;--muted: #a98fc7;--accent: #ff4fd8;--accent-press: #e637bf;--danger: #ff5470;--ok: #6ef2c3;--on-accent: #1a0620;--warn: #ffcf5c}:root[data-theme=forest]{color-scheme:dark;--bg: #0b1310;--panel: #12201a;--panel-2: #182b22;--border: #244034;--text: #e4f3ea;--muted: #85a495;--accent: #43d98a;--accent-press: #2fbf73;--danger: #f2685f;--ok: #5fce7a;--on-accent: #05140c;--warn: #e6b84a}:root[data-theme=paper]{color-scheme:light;--bg: #f7f3ea;--panel: #fffdf7;--panel-2: #f1ebdd;--border: #ddd3bf;--text: #2d261a;--muted: #7a6f5c;--accent: #b5772a;--accent-press: #9c6420;--danger: #c23a2e;--ok: #4a8c3f;--on-accent: #fffdf7;--warn: #a06a10}:root[data-theme=sakura]{color-scheme:light;--bg: #fdf2f6;--panel: #ffffff;--panel-2: #fbe8ef;--border: #edd0dc;--text: #33212b;--muted: #8a6e7c;--accent: #d6467e;--accent-press: #bf3a6f;--danger: #cf3030;--ok: #2f9e63;--on-accent: #ffffff;--warn: #ad6a1c}:root[data-theme=ember]{color-scheme:dark;--bg: #141010;--panel: #1e1715;--panel-2: #292019;--border: #46342a;--text: #f4e9e2;--muted: #a89386;--accent: #f0762e;--accent-press: #d96524;--danger: #f25555;--ok: #6cc06a;--on-accent: #1c0e05;--warn: #e8b23c}:root[data-theme=ocean]{color-scheme:dark;--bg: #08131a;--panel: #0e1e28;--panel-2: #142a36;--border: #25455a;--text: #e2f2f7;--muted: #7fa0ae;--accent: #2dd4bf;--accent-press: #23bba8;--danger: #f26a6a;--ok: #4fd07f;--on-accent: #04231e;--warn: #e0bb4a}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body{font:1rem/1.5 system-ui,-apple-system,Segoe UI,sans-serif}#app{height:100%;display:flex;flex-direction:column;position:relative;z-index:1}.shell{width:100%;max-width:1080px;margin:0 auto;padding:1.1rem 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:calc(1.1rem + env(safe-area-inset-bottom));flex:1}.muted{color:var(--muted)}.small{font-size:.85rem}.topbar{display:flex;align-items:center;gap:.5rem;padding:.45rem 1rem;padding-top:calc(.45rem + env(safe-area-inset-top));padding-right:calc(1rem + env(safe-area-inset-right));padding-left:calc(1rem + env(safe-area-inset-left));background:var(--panel);border-bottom:1px solid var(--border)}.brand{font-weight:700;letter-spacing:.02em}.spacer{flex:1}.btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;padding:.45rem .9rem;font:inherit;cursor:pointer}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-press)}.btn.subtle{background:transparent}.btn.danger{color:var(--danger)}input,select{width:100%;padding:.5rem .65rem;margin:.25rem 0 .9rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}input:focus{outline:2px solid var(--accent);outline-offset:-1px}label{font-size:.85rem;color:var(--muted)}.form-error{color:var(--danger);font-size:.9rem}.topbar .search{width:14rem;margin:0;padding:.4rem .65rem}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.tag{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:.15rem .65rem;font:inherit;font-size:.85rem;cursor:pointer}.tag:hover{border-color:var(--accent);color:var(--text)}.tag.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.tag.small{font-size:.75rem;padding:0 .5rem}.card-tags{display:inline-flex;flex-wrap:wrap;gap:.3rem;margin-left:.25rem}.login-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1.75rem}.login-card h1{margin:0 0 .25rem;font-size:1.5rem}.login-card p{margin-top:0}.login-card button{width:100%;margin-top:.5rem;padding:.6rem}.pw-field{position:relative}.pw-field input{padding-right:4.25rem}.login-card .pw-toggle{position:absolute;top:0;right:0;bottom:0;width:auto;margin:0;padding:0 .75rem;display:inline-flex;align-items:center;min-height:0;border:none;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer}.login-card .pw-toggle:hover{color:var(--text)}.login-card .pw-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.device-grid.compact{grid-template-columns:1fr;gap:.4rem}.device-grid.compact .card.device{display:grid;grid-template-columns:minmax(12rem,1fr) auto;align-items:center;column-gap:1rem;padding:.5rem .8rem}.device-grid.compact .card.device>p{margin:0;grid-column:1}.device-grid.compact .card-actions{grid-column:2;grid-row:1 / span 3;margin:0}@media(max-width:640px){.device-grid.compact .card.device{grid-template-columns:1fr}.device-grid.compact .card-actions{grid-column:1;grid-row:auto}}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem}.device-head{display:flex;align-items:center;gap:.5rem}.device-name{font-weight:650;font-size:1.05rem}.card p{margin:.35rem 0}.card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.card.device.collapsed .card-detail{display:none}.device-grid:not(.compact) .card.device.collapsed{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.75rem;padding:.6rem .8rem}.device-grid:not(.compact) .card.device.collapsed .device-head{grid-column:1 / -1}.device-grid:not(.compact) .card.device.collapsed>p{grid-column:1;margin:.2rem 0 0}.device-grid:not(.compact) .card.device.collapsed .card-actions{grid-column:2;grid-row:2 / span 2;flex-wrap:nowrap;margin:.2rem 0 0}.device-head .device-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card .card-tags{display:flex;margin:.35rem 0}.card-note{white-space:pre-wrap;overflow-wrap:anywhere}.card-expand{flex:none;border:none;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:.95rem;line-height:1;padding:.2rem .3rem;cursor:pointer}.card-expand:hover{color:var(--text)}.card-expand:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fav-toggle{margin-left:auto;flex:none;border:none;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:1.15rem;line-height:1;padding:.2rem .3rem;cursor:pointer}.fav-toggle:hover{color:var(--text)}.fav-toggle.on{color:var(--warn)}.fav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.list-bar{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.list-bar .tag-row{flex:1;min-width:0;margin-bottom:0}.device-sort{width:auto;margin:0 0 0 auto;padding:.2rem .45rem;border-radius:6px;background:var(--panel);font-size:.85rem}.wake-status{color:var(--accent)}.live-sessions{margin-bottom:1rem}.live-sessions h2{margin:0 0 .25rem;font-size:1.05rem}.live-sessions .passkey-list{margin-bottom:0}.live-sessions .passkey-row{flex-wrap:wrap}.live-sessions .passkey-name{min-width:10rem}.disk-gauge{margin:.35rem 0}.disk-bar{height:5px;border-radius:3px;background:var(--panel-2);border:1px solid var(--border);overflow:hidden;margin-bottom:.2rem}.disk-bar>span{display:block;height:100%;background:var(--accent)}.disk-bar>span.warn{background:var(--danger)}.dot{width:10px;height:10px;border-radius:50%;flex:none}.dot.on{background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot.off{background:var(--muted);opacity:.5}.empty-state{text-align:center;padding:3rem 1rem}.brand-ver{color:var(--muted);font-size:.8rem}.h2-note{font-weight:400;margin-left:.6rem}.check-updates{font-size:.8rem;padding:.2rem .7rem;white-space:nowrap}.pc-downloads{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.pc-downloads .btn.small{font-size:.8rem;padding:.2rem .7rem;white-space:nowrap}.pc-downloads>.muted.small{white-space:nowrap}.pc-entry{display:inline-flex;align-items:center;gap:.3rem}.pc-entry .stat{width:.55rem;height:.55rem;border-radius:50%;flex:none;background:var(--muted)}.pc-entry .stat.ok{background:var(--ok);box-shadow:0 0 6px var(--ok)}.pc-entry .stat.warn{background:var(--warn);box-shadow:0 0 6px var(--warn)}.pc-entry .stat.bad{background:var(--danger);box-shadow:0 0 6px var(--danger)}.pc-entry .stat.dim{background:var(--muted);opacity:.45}@media(max-width:900px){.pc-downloads,.check-updates,.brand-ver{display:none}}.modal{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:1.5rem;width:min(520px,92vw);max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain}.modal::backdrop{background:#0009}.modal h2{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.identity-gate label{display:block;margin:.9rem 0 .3rem}.identity-gate .code{margin:0}.identity-gate .gate-ttl{display:flex;align-items:center;gap:.5rem}.identity-gate .gate-ttl select{width:auto}.identity-gate .gate-confirm{display:flex;align-items:center;gap:.5rem;cursor:pointer}.identity-gate .gate-confirm input{width:auto;margin:0}.code{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem;font:.85rem/1.5 ui-monospace,Cascadia Mono,Menlo,monospace;overflow-x:auto;user-select:all;white-space:pre-wrap;word-break:break-all}.session-view{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#000;z-index:100}.session-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;row-gap:.3rem;min-width:0;padding:.4rem .6rem;padding-top:calc(.4rem + env(safe-area-inset-top));padding-right:calc(.6rem + env(safe-area-inset-right));padding-left:calc(.6rem + env(safe-area-inset-left));background:var(--panel);border-bottom:1px solid var(--border);flex:none}.session-toolbar .session-status,.session-toolbar .session-stats{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-toolbar .btn{padding:.3rem .55rem}.session-toolbar .device-name{font-weight:600}.session-status{color:var(--muted);font-size:.9rem}.presence-badge{font-size:.9rem;color:var(--ok);white-space:nowrap;cursor:default}.presence-badge.contested{color:var(--warn)}.zoom-chip{white-space:nowrap;font-variant-numeric:tabular-nums}.slider-wrap{display:flex;align-items:center;gap:.35rem;color:var(--muted)}.quality-slider{width:7.33rem;margin:0}.monitor-select{width:auto;margin:0;padding:.3rem .5rem}.stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.screen-canvas{max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto;cursor:none;touch-action:none}.remote-cursor{position:absolute;top:0;left:0;width:0;height:0;border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;filter:drop-shadow(0 0 1px #000);pointer-events:none;will-change:transform}.stage.local-pointer .screen-canvas{cursor:crosshair}.remote-cursor.shaped{border:0;filter:none;background-repeat:no-repeat;background-size:100% 100%}.files-fullscreen{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;z-index:100;background:var(--bg)}.files-view{display:flex;flex-direction:column;height:100%}.roots-bar{display:flex;gap:.35rem;flex-wrap:wrap;padding:.4rem 1rem 0;overflow-x:auto}.roots-bar:empty{display:none}.path-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;padding:.4rem 1rem;background:var(--panel-2);border-bottom:1px solid var(--border);font:.85rem/1.5 ui-monospace,Menlo,monospace}.path-bar .path-label{overflow-x:auto;white-space:nowrap;min-width:0;max-width:100%}.file-filter,.file-sort{font:.85rem/1.3 system-ui,sans-serif;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.2rem .45rem;margin:0}.file-filter{width:12rem;max-width:100%}.file-list{flex:1;overflow-y:auto;padding:.25rem 0;padding-bottom:calc(.25rem + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.file-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--text) 7%,transparent)}.file-row:hover{background:var(--panel)}.file-icon{flex:none}.file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name.dir{color:var(--accent);cursor:pointer}.file-size{flex:none;width:80px;text-align:right;font-size:.85rem}.file-actions{flex:none;display:flex;gap:.25rem}.btn.small{padding:.2rem .5rem;font-size:.85rem}.empty-dir{padding:2rem;text-align:center}.transfers{border-top:1px solid var(--border);max-height:30vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}.transfer{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem}.transfer-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.transfer-track{flex:2;height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden}.transfer-fill{height:100%;width:0;background:var(--accent);transition:width .2s}.transfer.done .transfer-fill{background:var(--ok)}.transfer.failed .transfer-fill{background:var(--danger)}.transfer-pct{flex:none;width:70px;text-align:right;font-size:.85rem}.login-alt{display:flex;align-items:center;gap:.6rem;margin-top:.4rem}.login-alt:before,.login-alt:after{content:"";flex:1;border-top:1px solid var(--border)}.login-alt .btn{flex:none}.passkey-list{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 1rem}.passkey-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.passkey-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.audit-view{display:flex;flex-direction:column;height:100%}.audit-view>main{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.audit-filter{display:block;width:min(100%,26rem);margin:0 0 .6rem}.audit-table{width:100%;border-collapse:collapse;font-size:.9rem}.audit-table th,.audit-table td{text-align:left;padding:.45rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.audit-table th{color:var(--muted);font-weight:600}.audit-table tr:hover{background:var(--panel)}.audit-table .nowrap{white-space:nowrap}.audit-table tr.alert td{background:#f2545b14}.badge{display:inline-block;padding:.05rem .4rem;border-radius:6px;font-size:.75rem;border:1px solid var(--border)}.badge.warn{color:var(--warn);border-color:var(--warn)}.virtual-cursor{position:absolute;top:0;left:0;width:22px;height:22px;margin:-11px 0 0 -11px;border:2px solid var(--accent);border-radius:50%;background:#3fa9f540;pointer-events:none;will-change:transform;z-index:5;transition:width .1s,height .1s}.virtual-cursor.tap{width:34px;height:34px;margin:-17px 0 0 -17px;background:#3fa9f580}.vk-bar{display:flex;flex-wrap:wrap;gap:.3rem;padding:.4rem .6rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom));padding-right:calc(.6rem + env(safe-area-inset-right));padding-left:calc(.6rem + env(safe-area-inset-left));background:var(--panel);border-top:1px solid var(--border)}.vk-key{min-width:2.67rem;padding:.5rem .6rem;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;font:inherit;cursor:pointer;touch-action:manipulation}.vk-key.vk-mod.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.reconnect-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#101418bf;color:var(--text);z-index:10}.spinner{width:42px;height:42px;border:4px solid rgb(255 255 255 / .2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.idle-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1rem;text-align:center;background:#101418d1;color:var(--text);z-index:11}.idle-panel p{margin:0;max-width:28rem}.idle-select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.15rem .3rem;font:inherit}.session-stats{font-variant-numeric:tabular-nums;white-space:nowrap}.stats-overlay{position:absolute;top:.6rem;left:.6rem;z-index:11;min-width:148px;padding:.5rem .7rem;border-radius:8px;background:#0b0e11d1;border:1px solid var(--border);color:var(--text);font:.8rem/1.5 ui-monospace,Menlo,Consolas,monospace;pointer-events:none}.stats-row{display:flex;justify-content:space-between;gap:1.2rem}.stats-label{color:var(--muted)}.stats-value{font-variant-numeric:tabular-nums}.macro-overlay{position:absolute;top:.6rem;right:.6rem;z-index:12;width:min(92%,340px);padding:.6rem .8rem;border-radius:8px;background:#0b0e11eb;border:1px solid var(--border);color:var(--text);display:flex;flex-direction:column;gap:.5rem}.macro-head{font-weight:600}.typetext-input{width:100%;min-height:5rem;margin:0;resize:vertical;font:inherit;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85rem;-webkit-user-select:text;user-select:text}.macro-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.macro-name-input{flex:1;min-width:0;margin:0}.macro-note{color:var(--warn);font-size:.82rem}.macro-empty{color:var(--muted);font-size:.85rem}.macro-list{display:flex;flex-direction:column;gap:.3rem;max-height:40vh;overflow:auto}.macro-row{display:flex;align-items:center;gap:.5rem}.macro-row .macro-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.macro-meta{color:var(--muted);font-size:.8rem;white-space:nowrap;font-variant-numeric:tabular-nums}.btn.rec{color:#ff6b6b;animation:securePulse 1.2s ease-in-out infinite}.secure-overlay{position:absolute;top:.6rem;left:.6rem;z-index:12;max-width:min(90%,460px);padding:.7rem .9rem;border-radius:8px;background:#0b0e11eb;border:1px solid var(--border);color:var(--text)}.secure-title{font-weight:600;margin-bottom:.35rem}.secure-fp{font:.82rem/1.5 ui-monospace,Menlo,Consolas,monospace;word-break:break-all;color:var(--accent)}.secure-hint{margin-top:.4rem;color:var(--muted);font-size:.82rem}.secure-badge.firstuse{animation:securePulse 1.2s ease-in-out infinite}.secure-badge.insecure{color:#ff6b6b}@keyframes securePulse{0%,to{opacity:1}50%{opacity:.45}}.session-mini{position:absolute;top:calc(.3rem + env(safe-area-inset-top));right:calc(.4rem + env(safe-area-inset-right));z-index:60;display:flex;align-items:center;gap:.3rem}.session-mini .btn{padding:.2rem .55rem;opacity:.85;background:#0b0e11c7}.chrome-toggle{opacity:.6}.session-mini .btn:hover,.session-mini .btn:focus-visible{opacity:1}.session-toolbar{padding-right:calc(3rem + env(safe-area-inset-right))}.session-view.chrome-hidden .session-toolbar{display:none}.virtual-cursor.dragging{border-color:var(--accent);box-shadow:0 0 0 3px #4f8ef773}.caret-chip{position:absolute;z-index:14;padding:.25rem .6rem;background:var(--accent);color:#fff;border:none;box-shadow:0 2px 8px #0006;white-space:nowrap}.session-view>.session-toolbar{position:absolute;top:0;left:0;right:0;z-index:30;border-bottom:none;background:var(--panel);background:color-mix(in srgb,var(--panel) 58%,transparent);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3)}.session-dock{position:absolute;left:0;right:0;bottom:0;z-index:30;display:flex;flex-direction:column}.session-view .vk-bar,.session-view .compose{border-top:1px solid rgb(0 0 0 / .35);background:var(--panel);background:color-mix(in srgb,var(--panel) 62%,transparent);backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3)}.session-view>.session-toolbar{gap:.35rem;padding-top:calc(.25rem + env(safe-area-inset-top));padding-bottom:.25rem}.session-view>.session-toolbar .btn{padding:.25rem .45rem}.session-view .vk-bar{padding-top:.25rem}.session-view>.session-toolbar{box-shadow:0 1px #00000059}.menu{position:relative;flex:none}.menu>summary{list-style:none;cursor:pointer;user-select:none;display:inline-flex;align-items:center}.menu>summary::-webkit-details-marker{display:none}.menu[open]>summary{border-color:var(--accent)}.menu-panel{position:fixed;top:0;left:0;z-index:200;display:flex;flex-direction:column;gap:.1rem;width:16rem;max-height:min(70vh,460px);overflow-y:auto;padding:.4rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 34px #00000059}.menu-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:.4rem 0 .2rem .4rem}.menu-label:first-child{margin-top:.1rem}.menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .5rem;background:transparent;border-color:transparent;text-align:left}.menu-item:hover:not(:disabled){background:var(--panel-2)}.menu-item.active{background:var(--panel-2);background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--text)}.menu-item-label{flex:1}.menu-panel .slider-wrap{flex-wrap:wrap}.menu-panel .quality-slider{flex:1 0 100%;width:100%}.resolution-menu{display:flex;flex-direction:column;gap:.1rem}.resolution-now{font-variant-numeric:tabular-nums}.menu-panel .resolution-select{flex:1 0 100%;width:100%;margin:.2rem 0 0;padding:.3rem .5rem}.tooltip{position:fixed;top:0;left:0;z-index:200;max-width:min(22rem,calc(100vw - 16px));padding:.35rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:.82rem;line-height:1.4;box-shadow:0 8px 22px #0006;pointer-events:none}.compose{flex:none;display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;padding-right:calc(.6rem + env(safe-area-inset-right));padding-left:calc(.6rem + env(safe-area-inset-left))}.compose-input{flex:1;min-width:0;margin:0;padding:.4rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px}.compose-send{flex:none;padding:.35rem .7rem}.compose-send:disabled{opacity:.35}.drop-overlay{position:absolute;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;background:#0b0e11b3;border:2px dashed var(--accent);color:var(--text);font-size:1.05rem;pointer-events:none}.drop-transfers{position:absolute;right:.6rem;bottom:.6rem;z-index:12;width:min(340px,85%);display:flex;flex-direction:column;gap:4px;pointer-events:none}.drop-transfers .transfer{background:#0b0e11d9;border:1px solid var(--border);border-radius:8px;padding:.45rem .7rem}.drop-note{color:var(--muted);font-size:.85rem;justify-content:center}.files-view.droptarget .file-list{outline:2px dashed var(--accent);outline-offset:-2px}.print-panel{position:absolute;left:.6rem;bottom:.6rem;z-index:12;width:min(360px,90%);display:flex;flex-direction:column;gap:6px;pointer-events:none}.print-hint{pointer-events:auto;background:#0b0e11e0;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:.55rem .7rem;font-size:.85rem;color:var(--text)}.print-hint-title{font-weight:600;margin-bottom:.25rem}.print-hint-body{color:var(--muted)}.print-hint-body.muted{margin-top:.25rem}.print-hint-path{display:block;margin:.35rem 0;padding:.3rem .45rem;background:var(--panel-2);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:var(--text);word-break:break-all;user-select:all}.print-toasts{display:flex;flex-direction:column;gap:6px}.print-toast{pointer-events:auto;background:#0b0e11e6;border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem;gap:.5rem}.print-toast .btn{flex:none}.print-toast.failed{border-color:var(--danger)}.clipfiles-chip{position:absolute;left:50%;bottom:.6rem;transform:translate(-50%);z-index:12;width:max-content;max-width:min(560px,calc(100% - 1.2rem));background:#0b0e11e6;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:.4rem .6rem;gap:.5rem;color:var(--text)}.clipfiles-chip .btn{flex:none}#ed-bgfx{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}:root:has(.session-view) #ed-bgfx,:root:has(.files-fullscreen) #ed-bgfx{display:none}:root[data-bg=stripes] #ed-bgfx{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--accent) 7%,transparent) 0 2px,transparent 2px 24px)}:root[data-bg=particles] #ed-bgfx span{position:absolute;bottom:-12px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:var(--accent);opacity:0;will-change:transform,opacity;animation:ed-float var(--dur) linear var(--delay) infinite}@keyframes ed-float{0%{transform:translateZ(0);opacity:0}12%{opacity:var(--op)}88%{opacity:var(--op)}to{transform:translate3d(var(--drift),-100vh,0);opacity:0}}@media(prefers-reduced-motion:reduce){:root[data-bg=particles] #ed-bgfx span{animation:none;opacity:var(--op)}}:root[data-theme=neon] #ed-bgfx span,:root[data-theme=synthwave] #ed-bgfx span{box-shadow:0 0 6px var(--accent),0 0 12px var(--accent)}:root[data-theme=neon][data-bg=stripes] #ed-bgfx,:root[data-theme=synthwave][data-bg=stripes] #ed-bgfx{background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--accent) 12%,transparent) 0 2px,transparent 2px 22px)}:root[data-theme=neon] .brand,:root[data-theme=synthwave] .brand{color:var(--accent);text-shadow:0 0 8px color-mix(in srgb,var(--accent) 70%,transparent)}:root[data-theme=neon] .btn.primary,:root[data-theme=synthwave] .btn.primary{box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent)}:root[data-theme=neon] input:focus,:root[data-theme=synthwave] input:focus{box-shadow:0 0 9px color-mix(in srgb,var(--accent) 50%,transparent)}.appearance{position:relative}.appearance>summary{display:inline-flex;align-items:center;list-style:none;cursor:pointer;user-select:none}.appearance>summary::-webkit-details-marker{display:none}.appearance-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:16rem;padding:.8rem;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 34px #00000059}.appearance-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .45rem}.swatch-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}.swatch{position:relative;width:2.27rem;height:2.27rem;padding:0;border-radius:9px;border:2px solid transparent;background:var(--sw-bg);cursor:pointer}.swatch:hover{border-color:var(--muted)}.swatch.active{border-color:var(--text)}.swatch-dot{position:absolute;top:6px;left:6px;width:12px;height:12px;border-radius:50%;background:var(--sw-ac)}.bg-row{display:flex;gap:.4rem}.bg-opt{flex:1;padding:.35rem .3rem;font:inherit;font-size:.8rem;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);cursor:pointer}.bg-opt:hover{color:var(--text)}.bg-opt.active{border-color:var(--accent);color:var(--text)}.tour-btn{flex:none;width:2.27rem;height:2.27rem;border-radius:50%;border:1px solid var(--accent);background:transparent;color:var(--accent);font:inherit;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 0 8px color-mix(in srgb,var(--accent) 45%,transparent)}.tour-btn:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.tour-btn.pulse{animation:tour-pulse 2.2s ease-in-out infinite}@keyframes tour-pulse{0%,to{box-shadow:0 0 6px color-mix(in srgb,var(--accent) 40%,transparent)}50%{box-shadow:0 0 16px 2px color-mix(in srgb,var(--accent) 78%,transparent)}}@media(prefers-reduced-motion:reduce){.tour-btn.pulse{animation:none}}.tour-mask{position:fixed;inset:0;z-index:2000}.tour-mask.no-target{background:#05070da8}.tour-hole{position:fixed;z-index:2001;border-radius:10px;pointer-events:none;box-shadow:0 0 0 9999px #05070da8,0 0 0 2px var(--accent),0 0 18px 3px color-mix(in srgb,var(--accent) 60%,transparent);transition:left .25s ease,top .25s ease,width .25s ease,height .25s ease}.tour-card{position:fixed;z-index:2002;width:min(340px,calc(100vw - 24px));padding:1rem 1.1rem;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px #00000073}.tour-card.center{left:50%;top:50%;transform:translate(-50%,-50%)}.tour-card h3{margin:0 0 .4rem;font-size:1.05rem}.tour-card p{margin:0 0 .9rem;font-size:.92rem}.tour-foot{display:flex;align-items:center;gap:.5rem}.tour-step{color:var(--muted);font-size:.8rem}@media(max-width:900px){.shell{padding-top:.9rem;padding-bottom:calc(.9rem + env(safe-area-inset-bottom))}.device-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}}@media(max-width:640px){.topbar{flex-wrap:wrap}.topbar .spacer{display:none}.topbar .search{width:8rem}.session-toolbar{flex-wrap:wrap;gap:.35rem;padding-right:calc(9rem + env(safe-area-inset-right))}.session-toolbar .device-name{display:none}.quality-slider{width:4.67rem}.menu-panel{width:min(20rem,calc(100vw - 20px));max-height:none}.menu-panel .menu-item{min-height:2.25rem;padding-top:.3rem;padding-bottom:.3rem}.menu-panel .menu-label{margin:.3rem 0 .1rem .4rem}.vk-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.vk-bar::-webkit-scrollbar{display:none}.vk-key{flex:0 0 auto}.btn{min-height:2.67rem}.vk-key{min-height:2.93rem}.device-grid{grid-template-columns:1fr}.card-actions .btn{flex:1}.fav-toggle,.card-expand{min-width:2.4rem;min-height:2.4rem}.file-size{display:none}.audit-table th,.audit-table td{padding:.45rem .5rem}.appearance-menu{position:fixed;top:auto;left:auto;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:min(17.33rem,calc(100vw - 24px))}}@media(max-width:480px){.topbar{gap:.35rem;padding-right:max(.6rem,env(safe-area-inset-right));padding-left:max(.6rem,env(safe-area-inset-left))}.topbar .brand{font-size:.95rem}.topbar .search{flex:1 1 100%;width:auto;min-width:0;order:1}.btn{padding:.4rem .6rem}.shell{padding-right:max(.7rem,env(safe-area-inset-right));padding-left:max(.7rem,env(safe-area-inset-left))}.card{padding:.75rem .8rem;border-radius:10px}.device-name{font-size:1rem}.empty-state{padding:2rem 1rem}.session-toolbar .session-stats{display:none}.session-status{font-size:.8rem}.session-view>.session-toolbar .session-status{flex:1 1 100%;order:1;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.3}}@media(max-height:560px){.topbar{padding-top:calc(.25rem + env(safe-area-inset-top));padding-bottom:.25rem}.session-toolbar{padding-top:calc(.2rem + env(safe-area-inset-top));padding-bottom:.2rem}.vk-bar{padding-top:.25rem;padding-bottom:calc(.25rem + env(safe-area-inset-bottom))}.btn{min-height:2.27rem;padding-top:.25rem;padding-bottom:.25rem}.vk-key{min-height:2.4rem}.menu-panel{max-height:none}.menu-panel .menu-item{min-height:2rem}}@media(display-mode:window-controls-overlay){.topbar,.session-toolbar{-webkit-app-region:drag;app-region:drag;padding-left:calc(1rem + env(titlebar-area-x,0px));padding-right:calc(1rem + 100% - env(titlebar-area-x,0px) - env(titlebar-area-width,100%))}.topbar :is(button,input,a,details,summary),.session-toolbar :is(button,input,a,details,summary){-webkit-app-region:no-drag;app-region:no-drag}}.console{padding:1rem;display:grid;gap:1rem;max-width:1100px;margin:0 auto;width:100%;box-sizing:border-box}.console-card h2{margin:0 0 .25rem;font-size:1.05rem}.console-card>p.muted{margin-top:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.stat{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:.85rem 1rem}.stat-label{color:var(--muted);font-size:.85rem}.stat-value{font-size:2rem;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}.badge.ok{color:var(--ok);border-color:var(--ok)}.chart-wrap{position:relative;margin:.5rem 0 .25rem}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid,.chart-axis{stroke:var(--border);stroke-width:1}.chart-tick{fill:var(--muted);font-size:11px}.chart-bar{fill:var(--accent);transition:opacity .1s}.chart-bar.is-hover{opacity:.75}.chart-hit{fill:transparent;cursor:default;outline:none}.chart-hit:focus-visible{fill:color-mix(in srgb,var(--accent) 10%,transparent)}.chart-tip{position:absolute;top:0;transform:translate(-50%,-110%);background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.25rem .55rem;font-size:.85rem;white-space:nowrap;pointer-events:none}.chart-table summary{cursor:pointer}.chart-table table{margin-top:.5rem}.fold{margin-top:1rem}.fold summary{cursor:pointer}.fold>:not(summary){margin-top:.5rem}.console-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:.75rem 0}.console-controls label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}.console-controls input{margin:0;min-width:14rem}.console-check{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .75rem;font-size:.9rem}.console-check input{width:auto;margin:0}.invite-code{font-size:1.35rem;letter-spacing:.06em;text-align:center;user-select:all}.console-table td.num{text-align:right;font-variant-numeric:tabular-nums}.console-table th:nth-child(n+3):nth-child(-n+6){text-align:right}.console-actions{white-space:nowrap;text-align:right}.console-actions .btn+.btn{margin-left:.35rem}.feedback textarea,.note-dialog textarea{width:100%;min-height:7rem;padding:.5rem .65rem;margin:.25rem 0 .9rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;resize:vertical}.feedback textarea:focus,.note-dialog textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.feedback input:disabled,.feedback textarea:disabled,.feedback select:disabled{opacity:.5}.feedback-counter{text-align:right;margin:-.7rem 0 .5rem}.feedback-check{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .1rem;font-size:.9rem;color:var(--text)}.feedback-check input{width:auto;margin:0}.feedback-note{margin:0 0 .5rem 1.6rem}.feedback-foot{margin:.75rem 0 0}.feedback-foot a{color:inherit}
