:root{color:var(--text);background:var(--page);font-family:var(--font-interface);font-synthesis:none;text-rendering:optimizeLegibility;--font-interface: "Google Sans", Roboto, Inter, "Segoe UI", system-ui, "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans JP", "Yu Gothic UI", "Hiragino Sans", "Noto Sans SC", "Microsoft YaHei", "PingFang SC", sans-serif;--page: #f8f9fa;--surface: #ffffff;--surface-soft: #f8f9fa;--field: #f1f3f4;--border: #e3e6ea;--border-strong: #dadce0;--text: #202124;--text-secondary: #3c4043;--text-disabled: #9aa0a6;--muted: #5f6368;--on-accent: #ffffff;--accent: #1a73e8;--accent-hover: #1765cc;--accent-active: #185abc;--accent-soft: #e8f0fe;--accent-pressed: #d2e3fc;--accent-border: #aecbfa;--accent-wash: rgba(26, 115, 232, .12);--focus-ring: rgba(26, 115, 232, .28);--focus-ring-strong: rgba(26, 115, 232, .5);--changed: rgba(251, 188, 4, .34);--state-hover: rgba(60, 64, 67, .07);--state-press: rgba(60, 64, 67, .13);--success: #1e8e3e;--success-text: #137333;--danger: #d93025;--danger-hover: #b3261e;--danger-border: #f6c7c3;--danger-soft: #fce8e6;--manager-bg: #f1f3f4;--manager-surface: var(--surface);--manager-line: #dadce0;--manager-border-strong: #bdc1c6;--manager-control-height: 28px;--manager-control-radius: 8px;--manager-field-height: 34px;--manager-row-top: 44px;--manager-row-command: 36px;--manager-row-toolbar: 40px;--manager-font-xs: 11px;--manager-font-sm: 12px;--manager-font-md: 13px;--manager-font-lg: 15px;--manager-dialog-radius: 16px;--manager-muted: #5f6368;--manager-ink: #202124;--manager-bar: #f1f3f4;--table-header: #f8f9fa;--tooltip-bg: #3c4043;--manager-backdrop: rgba(32, 33, 36, .4);--dialog-backdrop: rgba(32, 33, 36, .4);--scrollbar-thumb: rgba(95, 99, 104, .3);--scrollbar-thumb-hover: rgba(95, 99, 104, .5);--room-cursor-0: #202124;--room-cursor-1: #1a73e8;--room-cursor-2: #1e8e3e;--room-cursor-3: #d93025;--room-cursor-4: #e37400;--room-cursor-5: #9334e6;--shadow-select: 0 1px 2px rgba(60, 64, 67, .3), 0 2px 6px 2px rgba(60, 64, 67, .15);--shadow-popover: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-window: 0 1px 2px rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-window-active: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--shadow-dialog: 0 4px 8px 3px rgba(60, 64, 67, .15), 0 8px 28px rgba(60, 64, 67, .3);--shadow-traffic: 0 4px 8px 3px rgba(60, 64, 67, .15), 0 8px 28px rgba(60, 64, 67, .3);--shadow-tooltip: 0 1px 3px rgba(60, 64, 67, .3);--motion-easing: cubic-bezier(.22, 1, .36, 1);--motion-fast: .14s;--motion-panel: .18s}:root[data-theme=light-plus]{--page: #f3f3f3;--surface: #ffffff;--surface-soft: #f8f8f8;--field: #f3f3f3;--border: #e5e5e5;--border-strong: #cecece;--text: #333333;--text-secondary: #3b3b3b;--text-disabled: #a0a0a0;--muted: #6e7681;--on-accent: #ffffff;--accent: #007acc;--accent-hover: #0062a3;--accent-active: #005084;--accent-soft: #dbecf8;--accent-pressed: #bddcf2;--accent-border: #8cc3e8;--accent-wash: rgba(0, 122, 204, .16);--focus-ring: rgba(0, 122, 204, .28);--focus-ring-strong: rgba(0, 122, 204, .5);--success: #388a34;--success-text: #2d6e2a;--danger: #e51400;--danger-hover: #b81000;--danger-border: #f3958c;--danger-soft: #fbdedb;--manager-bg: #f3f3f3;--manager-surface: #ffffff;--manager-line: #e5e5e5;--manager-border-strong: #cecece;--manager-muted: #6e7681;--manager-ink: #333333;--manager-bar: #f8f8f8;--table-header: #f8f8f8;--tooltip-bg: #252526;--manager-backdrop: rgba(0, 0, 0, .128);--dialog-backdrop: rgba(0, 0, 0, .128);--scrollbar-thumb: rgba(51, 51, 51, .24);--scrollbar-thumb-hover: rgba(51, 51, 51, .42);--room-cursor-0: #333333;--room-cursor-1: #007acc;--room-cursor-2: #388a34;--room-cursor-3: #e51400;--state-hover: rgba(51, 51, 51, .08);--state-press: rgba(51, 51, 51, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .08);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .128);--shadow-window: 0 3px 11px rgba(0, 0, 0, .112);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .144);--shadow-dialog: 0 16px 48px rgba(0, 0, 0, .192);--shadow-traffic: 0 12px 36px rgba(0, 0, 0, .192);--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .16)}:root[data-theme=github-light]{--page: #f6f8fa;--surface: #ffffff;--surface-soft: #f6f8fa;--field: #f6f8fa;--border: #d8dee4;--border-strong: #afb8c1;--text: #1f2328;--text-secondary: #31373d;--text-disabled: #8c959f;--muted: #59636e;--on-accent: #ffffff;--accent: #0969da;--accent-hover: #0550ae;--accent-active: #044290;--accent-soft: #ddeafa;--accent-pressed: #bfd8f5;--accent-border: #90bcee;--accent-wash: rgba(9, 105, 218, .16);--focus-ring: rgba(9, 105, 218, .28);--focus-ring-strong: rgba(9, 105, 218, .5);--success: #1a7f37;--success-text: #116329;--danger: #cf222e;--danger-hover: #a40e26;--danger-border: #e99ca1;--danger-soft: #f8e0e2;--manager-bg: #f6f8fa;--manager-surface: #ffffff;--manager-line: #d8dee4;--manager-border-strong: #afb8c1;--manager-muted: #59636e;--manager-ink: #1f2328;--manager-bar: #f6f8fa;--table-header: #f6f8fa;--tooltip-bg: #24292f;--manager-backdrop: rgba(0, 0, 0, .128);--dialog-backdrop: rgba(0, 0, 0, .128);--scrollbar-thumb: rgba(31, 35, 40, .24);--scrollbar-thumb-hover: rgba(31, 35, 40, .42);--room-cursor-0: #1f2328;--room-cursor-1: #0969da;--room-cursor-2: #1a7f37;--room-cursor-3: #cf222e;--state-hover: rgba(31, 35, 40, .08);--state-press: rgba(31, 35, 40, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .08);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .128);--shadow-window: 0 3px 11px rgba(0, 0, 0, .112);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .144);--shadow-dialog: 0 16px 48px rgba(0, 0, 0, .192);--shadow-traffic: 0 12px 36px rgba(0, 0, 0, .192);--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .16)}:root[data-theme=solarized-light]{--page: #eee8d5;--surface: #fdf6e3;--surface-soft: #f5efdc;--field: #eee8d5;--border: #ddd6c1;--border-strong: #c9c2ad;--text: #586e75;--text-secondary: #657b83;--text-disabled: #a3b0b1;--muted: #7b8d91;--on-accent: #fdf6e3;--accent: #268bd2;--accent-hover: #1a6fa8;--accent-active: #165d8e;--accent-soft: #dfe7e1;--accent-pressed: #c5dadf;--accent-border: #9cc6db;--accent-wash: rgba(38, 139, 210, .16);--focus-ring: rgba(38, 139, 210, .28);--focus-ring-strong: rgba(38, 139, 210, .5);--success: #859900;--success-text: #5f6e00;--danger: #dc322f;--danger-hover: #b02522;--danger-border: #ee9e92;--danger-soft: #f8dbca;--manager-bg: #eee8d5;--manager-surface: #fdf6e3;--manager-line: #ddd6c1;--manager-border-strong: #c9c2ad;--manager-muted: #7b8d91;--manager-ink: #586e75;--manager-bar: #f5efdc;--table-header: #f5efdc;--tooltip-bg: #073642;--manager-backdrop: rgba(0, 0, 0, .16);--dialog-backdrop: rgba(0, 0, 0, .16);--scrollbar-thumb: rgba(88, 110, 117, .24);--scrollbar-thumb-hover: rgba(88, 110, 117, .42);--room-cursor-0: #586e75;--room-cursor-1: #268bd2;--room-cursor-2: #859900;--room-cursor-3: #dc322f;--state-hover: rgba(88, 110, 117, .08);--state-press: rgba(88, 110, 117, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .1);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .16);--shadow-window: 0 3px 11px rgba(0, 0, 0, .14);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .18);--shadow-dialog: 0 16px 48px rgba(0, 0, 0, .24);--shadow-traffic: 0 12px 36px rgba(0, 0, 0, .24);--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .2)}:root[data-theme=dark]{--page: #202124;--surface: #292a2d;--surface-soft: #303134;--field: #202124;--border: #3c4043;--border-strong: #5f6368;--text: #e8eaed;--text-secondary: #bdc1c6;--text-disabled: #5f6368;--muted: #9aa0a6;--on-accent: #202124;--accent: #8ab4f8;--accent-hover: #aecbfa;--accent-active: #91b8f8;--accent-soft: #373d49;--accent-pressed: #424e62;--accent-border: #556888;--accent-wash: rgba(138, 180, 248, .16);--focus-ring: rgba(138, 180, 248, .28);--focus-ring-strong: rgba(138, 180, 248, .5);--success: #81c995;--success-text: #81c995;--danger: #f28b82;--danger-hover: #f6aea9;--danger-border: #835653;--danger-soft: #453839;--manager-bg: #202124;--manager-surface: #292a2d;--manager-line: #3c4043;--manager-border-strong: #5f6368;--manager-muted: #9aa0a6;--manager-ink: #e8eaed;--manager-bar: #303134;--table-header: #303134;--tooltip-bg: #3c4043;--manager-backdrop: rgba(0, 0, 0, .8);--dialog-backdrop: rgba(0, 0, 0, .8);--scrollbar-thumb: rgba(232, 234, 237, .24);--scrollbar-thumb-hover: rgba(232, 234, 237, .42);--room-cursor-0: #e8eaed;--room-cursor-1: #8ab4f8;--room-cursor-2: #81c995;--room-cursor-3: #f28b82;--state-hover: rgba(232, 234, 237, .08);--state-press: rgba(232, 234, 237, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .5);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .8);--shadow-window: 0 3px 11px rgba(0, 0, 0, .7);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .9);--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px #000000}:root[data-theme=dark-plus]{--page: #1e1e1e;--surface: #252526;--surface-soft: #2d2d30;--field: #3c3c3c;--border: #3c3c3c;--border-strong: #505050;--text: #d4d4d4;--text-secondary: #cccccc;--text-disabled: #6e7076;--muted: #9da0a6;--on-accent: #ffffff;--accent: #0e639c;--accent-hover: #1177bb;--accent-active: #0e659f;--accent-soft: #222e37;--accent-pressed: #1f3545;--accent-border: #1b415b;--accent-wash: rgba(14, 99, 156, .16);--focus-ring: rgba(14, 99, 156, .28);--focus-ring-strong: rgba(14, 99, 156, .5);--success: #4ec9b0;--success-text: #4ec9b0;--danger: #f14c4c;--danger-hover: #d93a3a;--danger-border: #813737;--danger-soft: #422a2b;--manager-bg: #1e1e1e;--manager-surface: #252526;--manager-line: #3c3c3c;--manager-border-strong: #505050;--manager-muted: #9da0a6;--manager-ink: #d4d4d4;--manager-bar: #2d2d30;--table-header: #2d2d30;--tooltip-bg: #3c3c3c;--manager-backdrop: rgba(0, 0, 0, .64);--dialog-backdrop: rgba(0, 0, 0, .64);--scrollbar-thumb: rgba(212, 212, 212, .24);--scrollbar-thumb-hover: rgba(212, 212, 212, .42);--room-cursor-0: #d4d4d4;--room-cursor-1: #0e639c;--room-cursor-2: #4ec9b0;--room-cursor-3: #f14c4c;--state-hover: rgba(212, 212, 212, .08);--state-press: rgba(212, 212, 212, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .4);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .64);--shadow-window: 0 3px 11px rgba(0, 0, 0, .56);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .72);--shadow-dialog: 0 16px 48px rgba(0, 0, 0, .96);--shadow-traffic: 0 12px 36px rgba(0, 0, 0, .96);--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .8)}:root[data-theme=vs-dark]{--page: #1f1f1f;--surface: #2d2d30;--surface-soft: #333337;--field: #3f3f46;--border: #3f3f46;--border-strong: #54545c;--text: #f1f1f1;--text-secondary: #dcdcdc;--text-disabled: #6d6d6d;--muted: #9b9b9b;--on-accent: #ffffff;--accent: #007acc;--accent-hover: #1c97ea;--accent-active: #1486d4;--accent-soft: #273846;--accent-pressed: #214159;--accent-border: #195076;--accent-wash: rgba(0, 122, 204, .16);--focus-ring: rgba(0, 122, 204, .28);--focus-ring-strong: rgba(0, 122, 204, .5);--success: #6bc46d;--success-text: #6bc46d;--danger: #f48771;--danger-hover: #e0624a;--danger-border: #87564d;--danger-soft: #493a39;--manager-bg: #1f1f1f;--manager-surface: #2d2d30;--manager-line: #3f3f46;--manager-border-strong: #54545c;--manager-muted: #9b9b9b;--manager-ink: #f1f1f1;--manager-bar: #333337;--table-header: #333337;--tooltip-bg: #1b1b1c;--manager-backdrop: rgba(0, 0, 0, .72);--dialog-backdrop: rgba(0, 0, 0, .72);--scrollbar-thumb: rgba(241, 241, 241, .24);--scrollbar-thumb-hover: rgba(241, 241, 241, .42);--room-cursor-0: #f1f1f1;--room-cursor-1: #007acc;--room-cursor-2: #6bc46d;--room-cursor-3: #f48771;--state-hover: rgba(241, 241, 241, .08);--state-press: rgba(241, 241, 241, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .45);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .72);--shadow-window: 0 3px 11px rgba(0, 0, 0, .63);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .81);--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .9)}:root[data-theme=one-dark]{--page: #21252b;--surface: #282c34;--surface-soft: #2c313a;--field: #1d2026;--border: #3a3f4b;--border-strong: #4b5263;--text: #abb2bf;--text-secondary: #c8ccd4;--text-disabled: #5c6370;--muted: #8b93a1;--on-accent: #1b1f27;--accent: #61afef;--accent-hover: #4d9bdc;--accent-active: #338dd7;--accent-soft: #303e4e;--accent-pressed: #374e65;--accent-border: #426788;--accent-wash: rgba(97, 175, 239, .16);--focus-ring: rgba(97, 175, 239, .28);--focus-ring-strong: rgba(97, 175, 239, .5);--success: #98c379;--success-text: #98c379;--danger: #e06c75;--danger-hover: #c75862;--danger-border: #7b4951;--danger-soft: #42353d;--manager-bg: #21252b;--manager-surface: #282c34;--manager-line: #3a3f4b;--manager-border-strong: #4b5263;--manager-muted: #8b93a1;--manager-ink: #abb2bf;--manager-bar: #2c313a;--table-header: #2c313a;--tooltip-bg: #181a1f;--manager-backdrop: rgba(0, 0, 0, .64);--dialog-backdrop: rgba(0, 0, 0, .64);--scrollbar-thumb: rgba(171, 178, 191, .24);--scrollbar-thumb-hover: rgba(171, 178, 191, .42);--room-cursor-0: #abb2bf;--room-cursor-1: #61afef;--room-cursor-2: #98c379;--room-cursor-3: #e06c75;--state-hover: rgba(171, 178, 191, .08);--state-press: rgba(171, 178, 191, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .4);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .64);--shadow-window: 0 3px 11px rgba(0, 0, 0, .56);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .72);--shadow-dialog: 0 16px 48px rgba(0, 0, 0, .96);--shadow-traffic: 0 12px 36px rgba(0, 0, 0, .96);--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .8)}:root[data-theme=dracula]{--page: #21222c;--surface: #282a36;--surface-soft: #303243;--field: #1e1f29;--border: #44475a;--border-strong: #5a5e75;--text: #f8f8f2;--text-secondary: #e2e2dc;--text-disabled: #6272a4;--muted: #a4a8c0;--on-accent: #21222c;--accent: #bd93f9;--accent-hover: #a779f0;--accent-active: #955ded;--accent-soft: #3d3951;--accent-pressed: #4f4569;--accent-border: #6b598e;--accent-wash: rgba(189, 147, 249, .16);--focus-ring: rgba(189, 147, 249, .28);--focus-ring-strong: rgba(189, 147, 249, .5);--success: #50fa7b;--success-text: #50fa7b;--danger: #ff5555;--danger-hover: #e03f3f;--danger-border: #893d44;--danger-soft: #46303a;--manager-bg: #21222c;--manager-surface: #282a36;--manager-line: #44475a;--manager-border-strong: #5a5e75;--manager-muted: #a4a8c0;--manager-ink: #f8f8f2;--manager-bar: #303243;--table-header: #303243;--tooltip-bg: #191a21;--manager-backdrop: rgba(0, 0, 0, .72);--dialog-backdrop: rgba(0, 0, 0, .72);--scrollbar-thumb: rgba(248, 248, 242, .24);--scrollbar-thumb-hover: rgba(248, 248, 242, .42);--room-cursor-0: #f8f8f2;--room-cursor-1: #bd93f9;--room-cursor-2: #50fa7b;--room-cursor-3: #ff5555;--state-hover: rgba(248, 248, 242, .08);--state-press: rgba(248, 248, 242, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .45);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .72);--shadow-window: 0 3px 11px rgba(0, 0, 0, .63);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .81);--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .9)}:root[data-theme=monokai]{--page: #1e1f1c;--surface: #272822;--surface-soft: #2f302a;--field: #1e1f1c;--border: #3e3d32;--border-strong: #5a594a;--text: #f8f8f2;--text-secondary: #e6e6dc;--text-disabled: #75715e;--muted: #a6a79b;--on-accent: #272822;--accent: #a6e22e;--accent-hover: #8fc41f;--accent-active: #7caa1b;--accent-soft: #394224;--accent-pressed: #485825;--accent-border: #607c27;--accent-wash: rgba(166, 226, 46, .16);--focus-ring: rgba(166, 226, 46, .28);--focus-ring-strong: rgba(166, 226, 46, .5);--success: #a6e22e;--success-text: #a6e22e;--danger: #f92672;--danger-hover: #d81a60;--danger-border: #862746;--danger-soft: #44282d;--manager-bg: #1e1f1c;--manager-surface: #272822;--manager-line: #3e3d32;--manager-border-strong: #5a594a;--manager-muted: #a6a79b;--manager-ink: #f8f8f2;--manager-bar: #2f302a;--table-header: #2f302a;--tooltip-bg: #1a1b18;--manager-backdrop: rgba(0, 0, 0, .72);--dialog-backdrop: rgba(0, 0, 0, .72);--scrollbar-thumb: rgba(248, 248, 242, .24);--scrollbar-thumb-hover: rgba(248, 248, 242, .42);--room-cursor-0: #f8f8f2;--room-cursor-1: #a6e22e;--room-cursor-2: #a6e22e;--room-cursor-3: #f92672;--state-hover: rgba(248, 248, 242, .08);--state-press: rgba(248, 248, 242, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .45);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .72);--shadow-window: 0 3px 11px rgba(0, 0, 0, .63);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .81);--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .9)}:root[data-theme=solarized-dark]{--page: #00212b;--surface: #002b36;--surface-soft: #073642;--field: #00212b;--border: #0e4452;--border-strong: #1d5a6a;--text: #93a1a1;--text-secondary: #a8b4b4;--text-disabled: #586e75;--muted: #8a9d9f;--on-accent: #fdf6e3;--accent: #268bd2;--accent-hover: #3a9fe6;--accent-active: #1f92e3;--accent-soft: #05384c;--accent-pressed: #0a445f;--accent-border: #11567c;--accent-wash: rgba(38, 139, 210, .16);--focus-ring: rgba(38, 139, 210, .28);--focus-ring-strong: rgba(38, 139, 210, .5);--success: #859900;--success-text: #a3b800;--danger: #dc322f;--danger-hover: #ec4743;--danger-border: #632e33;--danger-soft: #1f2c35;--manager-bg: #00212b;--manager-surface: #002b36;--manager-line: #0e4452;--manager-border-strong: #1d5a6a;--manager-muted: #8a9d9f;--manager-ink: #93a1a1;--manager-bar: #073642;--table-header: #073642;--tooltip-bg: #001a22;--manager-backdrop: rgba(0, 0, 0, .8);--dialog-backdrop: rgba(0, 0, 0, .8);--scrollbar-thumb: rgba(147, 161, 161, .24);--scrollbar-thumb-hover: rgba(147, 161, 161, .42);--room-cursor-0: #93a1a1;--room-cursor-1: #268bd2;--room-cursor-2: #859900;--room-cursor-3: #dc322f;--state-hover: rgba(147, 161, 161, .08);--state-press: rgba(147, 161, 161, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .5);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .8);--shadow-window: 0 3px 11px rgba(0, 0, 0, .7);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .9);--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px #000000}:root[data-theme=github-dark]{--page: #010409;--surface: #0d1117;--surface-soft: #161b22;--field: #0d1117;--border: #30363d;--border-strong: #484f58;--text: #e6edf3;--text-secondary: #c9d1d9;--text-disabled: #6e7681;--muted: #8b949e;--on-accent: #ffffff;--accent: #1f6feb;--accent-hover: #388bfd;--accent-active: #1a79fd;--accent-soft: #101e35;--accent-pressed: #12294e;--accent-border: #153b76;--accent-wash: rgba(31, 111, 235, .16);--focus-ring: rgba(31, 111, 235, .28);--focus-ring-strong: rgba(31, 111, 235, .5);--success: #3fb950;--success-text: #3fb950;--danger: #f85149;--danger-hover: #da3633;--danger-border: #772e2e;--danger-soft: #2e1a1e;--manager-bg: #010409;--manager-surface: #0d1117;--manager-line: #30363d;--manager-border-strong: #484f58;--manager-muted: #8b949e;--manager-ink: #e6edf3;--manager-bar: #161b22;--table-header: #161b22;--tooltip-bg: #21262d;--manager-backdrop: rgba(0, 0, 0, .8);--dialog-backdrop: rgba(0, 0, 0, .8);--scrollbar-thumb: rgba(230, 237, 243, .24);--scrollbar-thumb-hover: rgba(230, 237, 243, .42);--room-cursor-0: #e6edf3;--room-cursor-1: #1f6feb;--room-cursor-2: #3fb950;--room-cursor-3: #f85149;--state-hover: rgba(230, 237, 243, .08);--state-press: rgba(230, 237, 243, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .5);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .8);--shadow-window: 0 3px 11px rgba(0, 0, 0, .7);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .9);--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px #000000}:root[data-theme=nord]{--page: #2b303b;--surface: #2e3440;--surface-soft: #3b4252;--field: #272c36;--border: #434c5e;--border-strong: #4c566a;--text: #d8dee9;--text-secondary: #e5e9f0;--text-disabled: #6b7589;--muted: #9aa5ba;--on-accent: #2e3440;--accent: #88c0d0;--accent-hover: #6fb0c2;--accent-active: #5aa4b9;--accent-soft: #3b4854;--accent-pressed: #455865;--accent-border: #577381;--accent-wash: rgba(136, 192, 208, .16);--focus-ring: rgba(136, 192, 208, .28);--focus-ring-strong: rgba(136, 192, 208, .5);--success: #a3be8c;--success-text: #a3be8c;--danger: #bf616a;--danger-hover: #a84f58;--danger-border: #6f4853;--danger-soft: #423a46;--manager-bg: #2b303b;--manager-surface: #2e3440;--manager-line: #434c5e;--manager-border-strong: #4c566a;--manager-muted: #9aa5ba;--manager-ink: #d8dee9;--manager-bar: #3b4252;--table-header: #3b4252;--tooltip-bg: #242933;--manager-backdrop: rgba(0, 0, 0, .64);--dialog-backdrop: rgba(0, 0, 0, .64);--scrollbar-thumb: rgba(216, 222, 233, .24);--scrollbar-thumb-hover: rgba(216, 222, 233, .42);--room-cursor-0: #d8dee9;--room-cursor-1: #88c0d0;--room-cursor-2: #a3be8c;--room-cursor-3: #bf616a;--state-hover: rgba(216, 222, 233, .08);--state-press: rgba(216, 222, 233, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .4);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .64);--shadow-window: 0 3px 11px rgba(0, 0, 0, .56);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .72);--shadow-dialog: 0 16px 48px rgba(0, 0, 0, .96);--shadow-traffic: 0 12px 36px rgba(0, 0, 0, .96);--shadow-tooltip: 0 3px 10px rgba(0, 0, 0, .8)}:root[data-theme=tokyo-night]{--page: #16161e;--surface: #1a1b26;--surface-soft: #24283b;--field: #16161e;--border: #2f334d;--border-strong: #414868;--text: #c0caf5;--text-secondary: #a9b1d6;--text-disabled: #565f89;--muted: #8089b3;--on-accent: #16161e;--accent: #7aa2f7;--accent-hover: #6190ee;--accent-active: #457deb;--accent-soft: #272e43;--accent-pressed: #333e5c;--accent-border: #455884;--accent-wash: rgba(122, 162, 247, .16);--focus-ring: rgba(122, 162, 247, .28);--focus-ring-strong: rgba(122, 162, 247, .5);--success: #9ece6a;--success-text: #9ece6a;--danger: #f7768e;--danger-hover: #e0566f;--danger-border: #7d4455;--danger-soft: #392835;--manager-bg: #16161e;--manager-surface: #1a1b26;--manager-line: #2f334d;--manager-border-strong: #414868;--manager-muted: #8089b3;--manager-ink: #c0caf5;--manager-bar: #24283b;--table-header: #24283b;--tooltip-bg: #101018;--manager-backdrop: rgba(0, 0, 0, .8);--dialog-backdrop: rgba(0, 0, 0, .8);--scrollbar-thumb: rgba(192, 202, 245, .24);--scrollbar-thumb-hover: rgba(192, 202, 245, .42);--room-cursor-0: #c0caf5;--room-cursor-1: #7aa2f7;--room-cursor-2: #9ece6a;--room-cursor-3: #f7768e;--state-hover: rgba(192, 202, 245, .08);--state-press: rgba(192, 202, 245, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .5);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .8);--shadow-window: 0 3px 11px rgba(0, 0, 0, .7);--shadow-window-active: 0 4px 15px rgba(0, 0, 0, .9);--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px #000000}:root[data-theme=high-contrast]{--page: #000000;--surface: #000000;--surface-soft: #0a0a0a;--field: #000000;--border: #6fc3df;--border-strong: #ffffff;--text: #ffffff;--text-secondary: #ffffff;--text-disabled: #8c8c8c;--muted: #d0d0d0;--on-accent: #000000;--accent: #1aebff;--accent-hover: #5ff3ff;--accent-active: #40f1ff;--accent-soft: #042124;--accent-pressed: #073d42;--accent-border: #0c6a73;--accent-wash: rgba(26, 235, 255, .16);--focus-ring: rgba(26, 235, 255, .28);--focus-ring-strong: rgba(26, 235, 255, .5);--success: #3fe08a;--success-text: #3fe08a;--danger: #ff6b6b;--danger-hover: #ff9090;--danger-border: #733030;--danger-soft: #240f0f;--manager-bg: #000000;--manager-surface: #000000;--manager-line: #6fc3df;--manager-border-strong: #ffffff;--manager-muted: #d0d0d0;--manager-ink: #ffffff;--manager-bar: #0a0a0a;--table-header: #0a0a0a;--tooltip-bg: #1a1a1a;--manager-backdrop: rgba(0, 0, 0, .96);--dialog-backdrop: rgba(0, 0, 0, .96);--scrollbar-thumb: rgba(255, 255, 255, .24);--scrollbar-thumb-hover: rgba(255, 255, 255, .42);--room-cursor-0: #ffffff;--room-cursor-1: #1aebff;--room-cursor-2: #3fe08a;--room-cursor-3: #ff6b6b;--state-hover: rgba(255, 255, 255, .08);--state-press: rgba(255, 255, 255, .14);--changed: rgba(251, 188, 4, .3);--shadow-select: 0 8px 18px rgba(0, 0, 0, .6);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .96);--shadow-window: 0 3px 11px rgba(0, 0, 0, .84);--shadow-window-active: 0 4px 15px #000000;--shadow-dialog: 0 16px 48px #000000;--shadow-traffic: 0 12px 36px #000000;--shadow-tooltip: 0 3px 10px #000000}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scaleY(.99)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}*{box-sizing:border-box}html,body{width:100%;height:100%}body{min-width:320px;margin:0;overflow:hidden;background:var(--page);color:var(--text)}button{appearance:none;border:0;border-radius:7px;background:var(--surface);color:var(--text);cursor:pointer;font:inherit;font-size:12px;font-weight:500;outline:none;padding:.6rem .9rem;transition:background-color var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing),outline-color var(--motion-fast) var(--motion-easing),transform var(--motion-fast) var(--motion-easing);-webkit-appearance:none;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}button:active{outline:none!important;box-shadow:none!important}button:active:not(:disabled):not(.manager-resize-handle){transform:scale(.98)}button::-moz-focus-inner{border:0;padding:0}button:disabled{background:var(--surface-soft);color:var(--text-disabled);cursor:not-allowed}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track,*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background-color:var(--scrollbar-thumb);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.custom-input,.custom-select{width:100%;border:0;border-radius:var(--manager-control-radius);background:var(--field);color:var(--text)}.custom-input{min-height:36px;outline:none;overflow-wrap:anywhere;padding:.58rem .7rem;white-space:pre-wrap;-webkit-tap-highlight-color:transparent}.custom-input:focus{border-color:var(--accent)}.custom-select,.custom-select-trigger,.custom-select-option{display:block;-webkit-tap-highlight-color:transparent}.custom-select:active,.custom-select-trigger:active,.custom-select-option:active{outline:none!important;box-shadow:none!important}.custom-input:empty:before{color:var(--muted);content:attr(data-placeholder)}.custom-select{position:relative;padding:0}.custom-select.is-disabled{opacity:.55}.custom-select-trigger{appearance:none;width:100%;min-height:36px;border:0;background:transparent;color:var(--text);cursor:pointer;outline:none;text-align:left;-webkit-appearance:none}.custom-select.is-disabled .custom-select-trigger{cursor:not-allowed}.custom-select-trigger:after{float:right;color:var(--muted);content:"▾"}.custom-select-menu{position:fixed;z-index:1000;top:0;left:0;max-height:320px;max-height:min(320px,calc(100vh - 16px));border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-select);overflow-y:auto;padding:4px}dialog>.custom-select-menu{position:absolute}.custom-select-option{appearance:none;width:100%;min-height:32px;border:0;border-radius:6px;background:transparent;color:var(--text);font-size:12px;outline:none;padding:0 10px;text-align:left;white-space:nowrap;-webkit-appearance:none}.custom-select-option--action{margin-top:4px;box-shadow:inset 0 1px 0 var(--border);border-radius:0 0 6px 6px;color:var(--accent-hover);font-weight:600}.custom-select-option:hover,.custom-select-option[aria-selected=true]{background:var(--accent-soft);color:var(--accent-hover)}.custom-select-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.custom-select-option:disabled{color:var(--muted);cursor:not-allowed}.custom-select-menu{animation:menu-in var(--motion-panel) var(--motion-easing) both;transform-origin:top center}.custom-input,.custom-select{transition:background-color var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing),outline-color var(--motion-fast) var(--motion-easing),transform var(--motion-fast) var(--motion-easing)}#manager-port-select .custom-select-trigger{min-height:32px;overflow:hidden;padding:0 8px;color:var(--manager-ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.webmodbus-language-select,.webmodbus-baud-select{flex:0 0 auto;min-height:30px;border:1px solid var(--border-strong);border-radius:var(--manager-control-radius);background:var(--field);color:var(--text);font:inherit;font-size:12px;padding:0;transition:border-color var(--motion-fast) var(--motion-easing),background-color var(--motion-fast) var(--motion-easing),outline-color var(--motion-fast) var(--motion-easing)}.webmodbus-language-select{width:76px}.webmodbus-baud-select{width:73px}.manager-connection-dialog .webmodbus-baud-select{width:100%;max-width:none}.webmodbus-language-select .custom-select-trigger,.webmodbus-baud-select .custom-select-trigger{min-height:28px;padding:0 8px;font-size:12px}@media(max-width:480px){.webmodbus-baud-select{max-width:82px}}.manager-icon-button,.manager-button{appearance:none;border:1px solid transparent;border-radius:var(--manager-control-radius);background:transparent;color:var(--manager-ink);cursor:pointer;font:inherit;outline:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.manager-icon-button{position:relative;display:inline-grid;width:30px;height:30px;flex:0 0 30px;place-items:center;padding:0}.manager-icon-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.manager-icon-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.manager-icon-button:active:not(:disabled){background:var(--accent-pressed)}.manager-icon-button:focus-visible,.manager-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.manager-icon-button:disabled,.manager-button:disabled{color:var(--text-disabled);cursor:not-allowed}.manager-icon-button--accent{border-color:var(--accent-border);background:var(--surface);color:var(--accent-hover)}.manager-icon-button--accent:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.manager-icon-button--close:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger-hover)}.manager-button{min-height:32px;border:1px solid var(--manager-border-strong);background:var(--surface);padding:0 12px;font-size:12px;font-weight:600}.manager-button:hover:not(:disabled){border-color:var(--manager-border-strong);background:var(--surface-soft)}.manager-button--primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.manager-button--primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:var(--on-accent)}.manager-button--danger{border-color:var(--danger);background:var(--danger);color:var(--on-accent)}.manager-button--danger:hover:not(:disabled){border-color:var(--danger-hover);background:var(--danger-hover);color:var(--on-accent)}.manager-button--secondary{color:var(--text-secondary)}.manager-button--secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.manager-button--secondary:active:not(:disabled){background:var(--accent-soft)}#manager-quick-connect .icon-unplug,#manager-quick-connect.is-connected .icon-plug{display:none}#manager-quick-connect.is-connected .icon-unplug{display:block}#manager-quick-connect.is-connected{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}#manager-quick-connect.is-connected:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft);color:var(--danger-hover)}.manager-text-button{width:auto;min-width:30px;flex-basis:auto;padding:0 6px;font-size:12px;font-weight:600;letter-spacing:0}.manager-icon-button--danger{color:var(--danger)}.manager-icon-button--danger:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger-hover)}.modbus-manager-page{position:fixed;z-index:200;inset:0;display:flex;width:100%;height:100vh;height:100dvh;min-width:320px;min-height:0;flex-direction:column;overflow:hidden;background:var(--manager-bg);color:var(--manager-ink);font-size:12px}.modbus-manager-page[hidden]{display:none!important}.manager-app-header{position:relative;z-index:20;display:flex;flex:0 0 auto;flex-direction:column;border-bottom:1px solid var(--manager-line);background:var(--manager-surface)}.manager-topbar{display:flex;min-height:var(--manager-row-top);flex:0 0 auto;align-items:center;gap:12px;border-bottom:1px solid var(--manager-line);background:var(--manager-surface);padding:0 10px 0 14px}.manager-brand{display:flex;flex:0 0 auto;align-items:center}.manager-brand-mark{width:30px;height:28px;flex:0 0 30px}.manager-brand-mark .mk-linka,.manager-brand-mark .mk-linkb{fill:none;stroke-linecap:round;stroke-width:7}.manager-brand-mark .mk-linka{stroke:url(#mka)}.manager-brand-mark .mk-linkb{stroke:url(#mkb)}.manager-brand-mark .mk-node{fill:url(#mkn)}.manager-brand-mark .mk-hub{fill:url(#mkh)}.manager-brand-mark .mk-hole{fill:#fff}.manager-brand{min-width:0;gap:8px}.manager-topbar-actions{display:flex;min-width:0;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}.manager-topbar-icon{width:30px;height:30px}.manager-topbar-button{display:inline-flex;height:30px;flex:0 0 auto;align-items:center;gap:6px;border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--manager-surface);color:var(--manager-ink);cursor:pointer;font:inherit;font-size:var(--manager-font-sm);padding:0 10px;transition:border-color var(--motion-fast) var(--motion-easing),background-color var(--motion-fast) var(--motion-easing)}.manager-topbar-button:before{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--manager-muted);content:""}.manager-topbar-button:hover{border-color:var(--accent-border);background:var(--accent-soft)}.manager-topbar-button:focus-visible{outline:2px solid var(--focus-ring-strong);outline-offset:1px}.manager-topbar-button[data-state=hosting]:before{background:var(--accent)}.manager-topbar-button[data-state=joined]:before{background:var(--success)}.manager-topbar-button[data-state=pending]:before{background:var(--room-cursor-4)}@font-face{font-display:swap;font-family:WebModbus Title;font-style:normal;font-weight:600;src:url(/fonts/ibmplexsanskr-600-title.woff2) format("woff2");unicode-range:U+4d,U+57,U+62,U+64-65,U+6f,U+73,U+75,U+1103,U+1106-1107,U+1109,U+110b,U+1165,U+1169,U+1170,U+1173,U+11b8,U+b354,U+b365,U+b3c4,U+b3d5,U+b488,U+b499,U+b4dc,U+b4ed,U+ba38,U+ba49,U+baa8,U+bab9,U+bb6c,U+bb7d,U+bbc0,U+bbd1,U+bc84,U+bc95,U+bcf4,U+bd05,U+bdb8,U+bdc9,U+be0c,U+be1d,U+c11c,U+c12d,U+c18c,U+c19d,U+c250,U+c261,U+c2a4,U+c2b5,U+c5b4,U+c5c5,U+c624,U+c635,U+c6e8,U+c6f9,U+c73c,U+c74d}.manager-brand h1{overflow:hidden;color:var(--manager-ink);font-family:"WebModbus Title",var(--font-interface);font-size:16px;font-weight:600;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.manager-command-bar{display:flex;min-height:var(--manager-row-command);flex:0 0 auto;align-items:center;gap:8px;border-bottom:1px solid var(--manager-line);background:var(--manager-surface);padding:0 10px 0 8px}.manager-session-bar{display:flex;flex:0 0 auto;align-items:center;gap:10px;min-width:0;color:var(--manager-muted);font-size:var(--manager-font-sm)}#manager-connection-state{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:240px;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#manager-connection-state:before{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--manager-muted);content:"";transition:background-color var(--motion-fast) var(--motion-easing)}#manager-connection-state[data-state=connected]:before{background:var(--success)}.manager-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.manager-session-bar [data-state=connected]{color:var(--success-text)}.manager-session-bar [data-state=disconnected]{color:var(--manager-muted)}.manager-workspace{position:relative;z-index:0;min-width:0;min-height:0;flex:1 1 auto;overflow:hidden;background:var(--manager-bg)}.manager-workspace>#manager-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--manager-muted);font-size:12px;pointer-events:none}.manager-workspace>#manager-empty[hidden]{display:none}@media(max-width:720px){.manager-topbar{gap:8px;padding:0 6px 0 10px}.manager-brand h1{font-size:14px}.manager-command-bar{flex-wrap:wrap;min-height:0;row-gap:2px;padding:4px 6px}.manager-session-bar{order:-1;flex:0 0 100%;justify-content:space-between;min-height:28px}.manager-menu-bar{order:0;flex:0 0 100%}}@media(max-width:540px){.manager-topbar{flex-wrap:wrap;row-gap:4px;padding-top:6px;padding-bottom:6px}.manager-topbar-actions{margin-left:auto}.manager-brand h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.manager-brand-mark{width:18px;height:18px;flex-basis:18px}}.manager-connection-form{display:flex;min-width:0;flex-direction:column;gap:14px}.manager-serial-controls,.manager-network-controls{display:grid;min-width:0;gap:12px}.manager-serial-controls{grid-template-columns:minmax(0,1fr) 140px auto;align-items:end}.manager-network-controls{grid-template-columns:minmax(0,1fr) 128px}.manager-serial-controls[hidden],.manager-network-controls[hidden]{display:none!important}.manager-port-actions{display:flex;align-items:center;gap:4px}.manager-port-actions .manager-icon-button{width:34px;height:34px;flex-basis:34px}.manager-network-controls .manager-dialog-note{grid-column:1 / -1}.manager-connection-dialog{width:min(560px,calc(100vw - 24px))}.connection-mode{display:grid;min-width:0;gap:10px}.connection-mode.is-disabled{opacity:.6}.connection-transport{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;border:1px solid var(--manager-line);border-radius:8px;background:var(--manager-bar);padding:3px}.connection-transport-tab{appearance:none;min-height:30px;border:0;border-radius:6px;background:transparent;color:var(--manager-muted);cursor:pointer;font:inherit;font-size:var(--manager-font-sm);font-weight:600;outline:none;-webkit-appearance:none;transition:background-color var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing),box-shadow var(--motion-fast) var(--motion-easing)}.connection-transport-tab:hover:not(:disabled):not([aria-selected=true]){color:var(--manager-ink)}.connection-transport-tab[aria-selected=true]{background:var(--manager-surface);box-shadow:0 1px 2px #1f2d3d1f;color:var(--accent-hover)}.connection-transport-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.connection-transport-tab:disabled{cursor:not-allowed;color:var(--text-disabled)}.connection-framing{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.connection-framing-label{color:var(--manager-muted);font-size:var(--manager-font-sm);font-weight:500}.connection-framing-options{display:inline-flex;max-width:100%;gap:2px;overflow:hidden;border:1px solid var(--manager-border-strong);border-radius:10px;background:var(--manager-surface);padding:2px}.connection-framing-option{position:relative;display:inline-flex;min-height:28px;overflow:hidden;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:var(--manager-font-sm);font-weight:500;transition:background-color var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing)}.connection-framing-option>span{display:inline-flex;min-height:28px;align-items:center;border-radius:8px;padding:0 12px}.connection-framing-option:hover:not(.is-checked){background:var(--state-hover);color:var(--manager-ink)}.connection-framing-option[hidden]{display:none}.connection-framing-option.is-checked{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.connection-framing input:focus-visible+span{box-shadow:inset 0 0 0 2px var(--accent)}.connection-framing input[type=radio]{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;opacity:0;pointer-events:none}.connection-mode-hint{min-height:16px;margin:0;color:var(--manager-muted);font-size:var(--manager-font-xs);line-height:1.5}@media(max-width:480px){.manager-serial-controls,.manager-network-controls{grid-template-columns:minmax(0,1fr)}.manager-serial-controls{grid-template-columns:minmax(0,1fr) auto}.manager-serial-controls .manager-port-field{grid-column:1;grid-row:1}.manager-serial-controls .manager-port-actions{grid-column:2;grid-row:1;align-self:end}.manager-serial-controls .manager-baud-field{grid-column:1 / -1;grid-row:2}}.manager-port-tabs-row{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:4px;align-self:stretch}@media(max-width:540px){.manager-port-tabs-row{order:1;flex:0 0 100%}}.manager-port-tabs{display:flex;min-width:0;max-width:100%;height:32px;flex:0 1 auto;align-items:stretch;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.manager-port-tabs[data-dragging=true]{position:relative;z-index:2;overflow:visible}.manager-port-tabs::-webkit-scrollbar{display:none}.manager-port-tab-new{display:grid;width:var(--manager-control-height);height:var(--manager-control-height);flex:0 0 var(--manager-control-height);align-self:center;place-items:center;border:1px solid var(--manager-line);border-radius:var(--manager-control-radius);background:var(--surface);color:var(--manager-muted);padding:0;transition:background-color var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing)}.manager-port-tab-new:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}.manager-port-tab-new:disabled{opacity:.5}.manager-port-tab-new svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.manager-port-tab{display:flex;min-width:104px;max-width:260px;height:32px;flex:0 0 auto;align-items:stretch;border:1px solid transparent;border-radius:8px;background:transparent;cursor:grab;touch-action:none;user-select:none;transition:transform var(--motion-fast) var(--motion-easing),background-color var(--motion-fast) var(--motion-easing)}.manager-port-tab:hover:not([data-active=true]){background:var(--manager-bar)}.manager-port-tab[data-dragging=true]{position:relative;z-index:1;border-color:var(--manager-line);background:var(--surface);box-shadow:var(--shadow-window);cursor:grabbing;transition:none}.manager-port-tab[data-active=true]{border-color:var(--accent-border);background:var(--accent-soft)}.manager-port-tab .manager-port-tab__select:hover:not(:disabled),.manager-port-tab .manager-port-tab__select:active:not(:disabled){background:transparent}.manager-port-tab__select{display:flex;min-width:0;flex:1 1 auto;align-items:center;gap:8px;overflow:hidden;border:0;border-radius:7px 0 0 7px;background:transparent;color:inherit;font-size:var(--manager-font-sm);padding:0 6px 0 10px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.manager-port-tab__select:before{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--manager-muted);content:"";transition:background-color var(--motion-fast) var(--motion-easing)}.manager-port-tab__select[data-state=connected]:before{background:var(--success)}.manager-port-tab[data-active=true] .manager-port-tab__select{color:var(--accent-hover);font-weight:600}.manager-port-tab__close{display:grid;width:22px;height:22px;flex:0 0 22px;align-self:center;margin-right:4px;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--manager-muted);padding:0}.manager-port-tab__close:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-hover)}.manager-port-tab__close svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}@media(max-width:480px){.manager-port-tab{min-width:96px;max-width:236px}}.manager-menu-bar button,.manager-menu-item{appearance:none;border:1px solid transparent;border-radius:var(--manager-control-radius);background:transparent;color:var(--manager-ink);cursor:pointer;font:inherit;outline:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.manager-menu-bar button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.manager-menu-bar button:active:not(:disabled),.manager-menu-item:active:not(:disabled){background:var(--accent-pressed)}.manager-menu-bar button:focus-visible,.manager-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.manager-menu-bar button:disabled,.manager-menu-item:disabled{color:var(--text-disabled);cursor:not-allowed}.manager-menu-bar{position:relative;z-index:20;display:flex;min-width:0;flex:1 1 auto;align-items:stretch;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.manager-menu-bar::-webkit-scrollbar{display:none}.manager-menu-bar button{flex:0 0 auto;height:28px;min-width:0;padding:0 10px;font-size:var(--manager-font-sm);font-weight:500;white-space:nowrap}.manager-menu-bar button[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.manager-menu-panel{position:fixed;z-index:1000;min-width:220px;max-width:320px;max-width:min(320px,calc(100vw - 16px));max-height:480px;max-height:min(70vh,480px);overflow:auto;border:1px solid var(--manager-border-strong);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-popover);padding:4px}.manager-menu-panel[hidden]{display:none!important}.manager-menu-panel:not([hidden]){animation:menu-in var(--motion-panel) var(--motion-easing) both;transform-origin:top left}.manager-menu-item{position:relative;display:flex;width:100%;min-height:31px;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;padding:6px 9px;text-align:left;white-space:nowrap}.manager-menu-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.manager-menu-shortcut{flex:0 0 auto;color:var(--manager-muted);font-size:var(--manager-font-xs)}.manager-menu-item:disabled .manager-menu-shortcut{color:var(--text-disabled)}.manager-menu-item--check{padding-left:30px}.manager-menu-item--check[aria-checked=true]:before{position:absolute;top:50%;left:12px;width:5px;height:10px;border:solid var(--accent);border-width:0 2px 2px 0;content:"";transform:translateY(-65%) rotate(45deg)}.manager-menu-panel[data-menu=functions]{min-width:300px;max-width:360px;max-width:min(360px,calc(100vw - 16px))}.manager-menu-item:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-hover)}.manager-menu-arrow{flex:0 0 auto;width:6px;height:6px;border:solid currentcolor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}.manager-submenu{z-index:1001}.manager-menu-separator{display:block;height:1px;margin:4px 5px;background:var(--border)}@media(max-width:720px){.manager-menu-bar{padding-right:4px;padding-left:4px}.manager-menu-bar button{padding-right:7px;padding-left:7px}}@media(max-width:480px){.manager-menu-bar{gap:0;padding-right:3px;padding-left:3px}.manager-menu-bar button{min-width:36px;padding-right:4px;padding-left:4px}}.manager-toolbar,.manager-toolbar-group{display:flex;align-items:center}.manager-toolbar::-webkit-scrollbar{display:none}.manager-toolbar{position:relative;z-index:10;min-height:var(--manager-row-toolbar);flex:0 0 auto;justify-content:space-between;gap:8px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--manager-line);background:var(--manager-surface);padding:0 8px;scrollbar-width:none}.manager-toolbar-group{min-width:max-content;gap:2px}.manager-toolbar-divider{width:1px;height:18px;margin:0 4px;background:var(--manager-line)}@media(max-width:720px){.manager-toolbar{gap:4px;padding:0 6px}}.manager-window-heading,.manager-window-actions,.manager-window-statusline{display:flex;align-items:center}.manager-request-window{position:absolute;display:flex;min-width:280px;min-height:220px;flex-direction:column;overflow:hidden;border:1px solid var(--manager-border-strong);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-window);transition:border-color var(--motion-fast) var(--motion-easing),box-shadow var(--motion-fast) var(--motion-easing)}.manager-request-window[hidden]{display:none!important}.manager-request-window.is-active{border-color:var(--accent-border);box-shadow:var(--shadow-window-active)}.manager-request-window.is-maximized .manager-resize-handle{display:none!important}.manager-window-titlebar{display:flex;min-height:36px;flex:0 0 36px;align-items:center;justify-content:space-between;gap:5px;border-bottom:1px solid var(--manager-line);background:var(--surface-soft);padding:3px 4px 3px 7px;cursor:move;touch-action:none;transition:background-color var(--motion-fast) var(--motion-easing);user-select:none;-webkit-user-select:none}.manager-window-heading{min-width:0;flex:1 1 auto;gap:6px}.manager-window-heading strong{overflow:hidden;color:var(--manager-ink);font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;cursor:text;user-select:text;-webkit-user-select:text}.manager-window-heading strong[data-window-title]:hover{color:var(--accent-hover)}.manager-window-heading strong[data-window-title]:focus{border-radius:2px;background:var(--surface);outline:1px solid var(--accent-border);outline-offset:2px}.manager-metric+.manager-metric:before{display:inline-block;height:.8em;margin:0 8px;border-left:1px solid var(--manager-border-strong);content:"";pointer-events:none;vertical-align:-1px;user-select:none;-webkit-user-select:none}.manager-metric{cursor:text;user-select:text;-webkit-user-select:text}.manager-window-actions{position:relative;z-index:10;flex:0 0 auto;gap:1px}.manager-window-actions .manager-icon-button{width:25px;height:26px;flex-basis:25px}.manager-window-actions .manager-icon-button svg{width:14px;height:14px}.manager-window-statusline{min-height:25px;flex:0 0 25px;justify-content:flex-start;gap:8px;overflow:hidden;border-bottom:1px solid var(--border);background:var(--surface);color:var(--manager-muted);padding:0 8px;font-size:11px;white-space:nowrap}.manager-window-statusline>span{overflow:hidden;text-overflow:ellipsis}.manager-window-state{flex:0 1 auto;margin-left:auto;color:var(--danger);font-weight:600}.manager-window-state[hidden]{display:none}.manager-sheet-wrap{min-width:0;min-height:0;flex:1 1 auto;overflow:auto;background:var(--surface);outline:none;overscroll-behavior:contain;scrollbar-color:var(--manager-border-strong) var(--table-header);scrollbar-width:thin}.manager-sheet-wrap:focus-visible{outline:2px solid var(--focus-ring-strong);outline-offset:-2px}.manager-sheet{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;table-layout:fixed;color:var(--manager-ink);font-size:11px;font-variant-numeric:tabular-nums}.manager-sheet th,.manager-sheet td{height:27px;overflow:hidden;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:2px 5px;text-overflow:ellipsis;white-space:nowrap}.manager-sheet th{position:sticky;z-index:2;top:0;height:28px;background:var(--surface-soft);color:var(--manager-muted);font-size:11px;font-weight:600;text-align:left}.manager-sheet th:nth-child(1),.manager-sheet td:nth-child(1){width:86px;text-align:center}.manager-sheet th:nth-child(2),.manager-sheet td:nth-child(2){width:30%}.manager-sheet th:nth-child(3),.manager-sheet td:nth-child(3){width:34%}.manager-sheet th:nth-child(4),.manager-sheet td:nth-child(4){width:36%}.manager-sheet-blocks{display:flex;width:100%;min-width:0;align-items:flex-start}.manager-sheet-blocks>.manager-sheet{flex:1 1 0}.manager-sheet-blocks.is-multi{width:max-content;min-width:100%}.manager-sheet-blocks.is-multi>.manager-sheet{flex:0 0 auto;width:480px;min-width:0}.manager-sheet-blocks.is-multi>.manager-sheet+.manager-sheet{border-left:2px solid var(--manager-border-strong)}.manager-request-window.is-hide-names .manager-sheet th:nth-child(2),.manager-request-window.is-hide-names .manager-sheet td:nth-child(2){display:none}.manager-request-window.is-hide-raw .manager-sheet th:nth-child(3),.manager-request-window.is-hide-raw .manager-sheet td:nth-child(3),.manager-request-window.is-hide-values .manager-sheet th:nth-child(4),.manager-request-window.is-hide-values .manager-sheet td:nth-child(4){display:none}.manager-value-cell{display:flex;min-width:0;align-items:center;gap:4px}.manager-value-cell .manager-value-input{flex:1 1 auto}.manager-cell-address{display:none;flex:0 0 auto;color:var(--manager-muted)}.manager-request-window.is-address-in-cell .manager-cell-address{display:inline-block}.manager-data-row:hover td{background:var(--accent-soft)}.manager-data-row td{transition:background-color var(--motion-fast) var(--motion-easing)}.manager-data-row>td.is-selected{background:var(--accent);color:var(--on-accent)}.manager-data-row>td.manager-row-number.is-selected{background:var(--accent-soft);color:var(--manager-ink)}.manager-data-row>td.is-selected input,.manager-data-row>td.is-selected .manager-cell-address{background:transparent;color:inherit}.manager-sheet.is-selecting,.manager-sheet-blocks.is-selecting{user-select:none;-webkit-user-select:none}.manager-row-number{background:var(--surface-soft);color:var(--manager-muted)}.manager-alias-input,.manager-value-input{width:100%;min-width:0;height:22px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--manager-ink);font:inherit;padding:2px 4px;transition:border-color var(--motion-fast) var(--motion-easing),background-color var(--motion-fast) var(--motion-easing),outline-color var(--motion-fast) var(--motion-easing)}.manager-value-input{text-align:right}.manager-alias-input:focus,.manager-value-input:focus{border-color:var(--accent);outline:1px solid var(--focus-ring);background:var(--surface)}.manager-value-input:read-only{color:var(--manager-ink)}.manager-value-toggle{width:15px;height:15px;margin:0;accent-color:var(--accent);vertical-align:middle}.manager-empty-row td{height:88px;color:var(--manager-muted);text-align:center;white-space:normal}.manager-window-footer{display:flex;min-height:25px;flex:0 0 25px;align-items:center;overflow:hidden;border-top:1px solid var(--border);background:var(--surface-soft);color:var(--manager-muted);padding:0 8px;font-size:11px}.manager-window-footer [data-tone=error]{color:var(--danger)}.manager-window-footer [data-tone=success]{color:var(--success-text)}.manager-window-footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-resize-handle{position:absolute;z-index:8;border:0;border-radius:0;background:transparent;color:var(--manager-muted);padding:0;transition:background-color var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing);touch-action:none}.manager-resize-handle--n,.manager-resize-handle--s{right:12px;left:12px;height:7px;cursor:ns-resize}.manager-resize-handle--n{top:0}.manager-resize-handle--s{bottom:0}.manager-resize-handle--e,.manager-resize-handle--w{top:12px;bottom:12px;width:7px;cursor:ew-resize}.manager-resize-handle--e{right:0}.manager-resize-handle--w{left:0}.manager-resize-handle--nw,.manager-resize-handle--ne,.manager-resize-handle--sw,.manager-resize-handle--se{width:14px;height:14px}.manager-resize-handle--nw{top:0;left:0;cursor:nwse-resize}.manager-resize-handle--ne{top:0;right:0;cursor:nesw-resize}.manager-resize-handle--sw{bottom:0;left:0;cursor:nesw-resize}.manager-resize-handle--se{right:0;bottom:0;cursor:nwse-resize}.manager-resize-handle:hover{background:var(--accent-wash);color:var(--accent-hover)}@media(max-width:720px){.manager-window-titlebar{min-height:34px;flex-basis:34px;gap:3px;padding-left:5px}.manager-window-actions .manager-icon-button{width:23px;flex-basis:23px}}@media(max-width:480px){.manager-request-window{min-width:280px}.manager-window-actions{gap:0}.manager-window-actions .manager-icon-button{width:22px;height:25px;flex-basis:22px}.manager-window-actions .manager-icon-button svg{width:13px;height:13px}.manager-sheet{min-width:520px}}.manager-alias-input:focus,.manager-value-input:focus{border-color:var(--accent);outline:1px solid var(--focus-ring);background:var(--surface);box-shadow:0 0 0 2px var(--focus-ring)}.manager-sheet-blocks.is-sized>.manager-sheet{flex:0 0 auto;width:var(--sheet-width);min-width:0}.manager-sheet-blocks.is-sized.is-multi>.manager-sheet{flex:0 0 auto}.manager-sheet-blocks.is-sized .manager-sheet th:nth-child(1),.manager-sheet-blocks.is-sized .manager-sheet td:nth-child(1){width:var(--col-0)}.manager-sheet-blocks.is-sized .manager-sheet th:nth-child(2),.manager-sheet-blocks.is-sized .manager-sheet td:nth-child(2){width:var(--col-1)}.manager-sheet-blocks.is-sized .manager-sheet th:nth-child(3),.manager-sheet-blocks.is-sized .manager-sheet td:nth-child(3){width:var(--col-2)}.manager-sheet-blocks.is-sized .manager-sheet th:nth-child(4),.manager-sheet-blocks.is-sized .manager-sheet td:nth-child(4){width:var(--col-3)}.manager-col-resize{position:absolute;top:0;right:0;bottom:0;z-index:3;width:7px;cursor:col-resize;touch-action:none}.manager-col-resize:hover{background:var(--accent-border)}.manager-sheet th{cursor:pointer;user-select:none;-webkit-user-select:none}.manager-data-row.is-continuation .manager-value-input{color:var(--manager-muted)}.manager-request-window.has-custom-colors .manager-sheet td,.manager-request-window.has-custom-colors .manager-sheet input{background:var(--window-bg, transparent);color:var(--window-fg, inherit)}.manager-request-window.has-custom-font .manager-sheet td,.manager-request-window.has-custom-font .manager-sheet input{font-size:var(--window-font-size)}.manager-form-dialog{width:calc(100vw - 24px);width:min(440px,calc(100vw - 24px))}.manager-form-body{display:flex;flex-direction:column;gap:8px;padding:4px 0 8px}.manager-form-row{display:flex;align-items:center;gap:10px}.manager-form-row>.manager-poll-label{flex:0 0 120px}.manager-form-row--check{gap:8px}.manager-form-row--check>.manager-poll-label{flex:0 1 auto}.manager-form-row--stack{flex-direction:column;align-items:stretch;gap:4px}.manager-poll-input.manager-form-area{height:auto;min-height:60px;font-family:var(--font-interface);line-height:1.5;resize:vertical}.manager-form-color{width:64px;height:30px;padding:0}.manager-window-titlebar{position:relative}.manager-poll-bar{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--success);opacity:0;pointer-events:none;transform:scaleX(0);transform-origin:left center}.manager-request-window[data-poll-state=waiting] .manager-poll-bar{opacity:.9;transform:scaleX(1)}.manager-request-window[data-poll-state=reading] .manager-poll-bar{background:var(--accent);opacity:1;transform:scaleX(1)}.manager-request-window[data-poll-state=error] .manager-poll-bar{background:var(--danger);opacity:.9;transform:scaleX(1)}.manager-poll-dot{width:8px;height:8px;flex:0 0 8px;border:1.5px solid var(--text-disabled);border-radius:50%;background:transparent;transition:background-color var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing)}.manager-request-window[data-poll-state=idle] .manager-poll-dot{border-color:var(--muted);background:var(--muted)}.manager-request-window[data-poll-state=waiting] .manager-poll-dot{border-color:var(--success);background:var(--success)}.manager-request-window[data-poll-state=reading] .manager-poll-dot{border-color:var(--accent);background:var(--accent)}.manager-request-window[data-poll-state=error] .manager-poll-dot{border-color:var(--danger);background:var(--danger)}.manager-window-last{color:var(--muted);font-variant-numeric:tabular-nums}.manager-window-last[hidden]{display:none}.manager-request-window[data-polling=true] .manager-window-actions [data-action=poll],.manager-icon-button.is-polling{background:var(--accent-soft);color:var(--accent)}.manager-data-row.is-changed .manager-value-input,.manager-data-row.is-changed .manager-value-toggle,.manager-data-row.is-changed>td:nth-child(3){box-shadow:inset 0 0 0 999px var(--changed)}@media(prefers-reduced-motion:no-preference){@keyframes poll-sweep-a{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes poll-sweep-b{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes poll-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes poll-pulse{0%{box-shadow:0 0 0 0 var(--accent-wash)}70%,to{box-shadow:0 0 0 6px transparent}}@keyframes value-fade{0%{box-shadow:inset 0 0 0 999px var(--changed)}to{box-shadow:inset 0 0 0 999px transparent}}.manager-request-window[data-poll-state=waiting][data-sweep=a] .manager-poll-bar{animation:poll-sweep-a var(--poll-interval, 1s) linear forwards}.manager-request-window[data-poll-state=waiting][data-sweep=b] .manager-poll-bar{animation:poll-sweep-b var(--poll-interval, 1s) linear forwards}.manager-request-window[data-poll-state=reading] .manager-poll-bar{background:linear-gradient(90deg,var(--accent) 0%,var(--accent-border) 50%,var(--accent) 100%);background-size:200% 100%;animation:poll-shimmer .9s linear infinite}.manager-request-window[data-poll-state=waiting] .manager-poll-dot,.manager-request-window[data-poll-state=reading] .manager-poll-dot{animation:poll-pulse 1.6s ease-out infinite}.manager-request-window[data-polling=true] .manager-window-actions [data-action=poll] svg,.manager-icon-button.is-polling svg{animation:poll-pulse 1.6s ease-out infinite;border-radius:50%}.manager-data-row.is-changed .manager-value-input,.manager-data-row.is-changed .manager-value-toggle,.manager-data-row.is-changed>td:nth-child(3){animation:value-fade .9s var(--motion-easing) forwards}}.manager-statusbar [data-tone=error]{color:var(--danger)}.manager-statusbar [data-tone=success]{color:var(--success-text)}.manager-statusbar{display:flex;min-height:32px;flex:0 0 32px;align-items:center;overflow:hidden;border-top:1px solid var(--manager-line);background:var(--manager-bar);color:var(--manager-muted);padding:0 12px;font-size:11px}.manager-statusbar>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-statusbar-info{display:flex;flex:0 0 auto;align-items:center;gap:6px;margin-left:12px;white-space:nowrap}.manager-statusbar-copyright{color:var(--manager-muted)}.manager-statusbar-button{border:0;border-radius:var(--manager-control-radius);background:transparent;color:var(--accent-hover);cursor:pointer;font:inherit;font-weight:500;padding:2px 6px}.manager-statusbar-button:hover{background:var(--accent-soft)}@media(max-width:720px){.manager-statusbar-copyright{display:none}}.manager-tooltip{position:fixed;z-index:9999;max-width:280px;max-width:min(280px,calc(100vw - 16px));border:1px solid var(--tooltip-bg);border-radius:4px;background:var(--manager-ink);box-shadow:var(--shadow-tooltip);color:var(--surface);padding:6px 8px;font-size:11px;font-weight:500;line-height:1.35;pointer-events:none;overflow-wrap:anywhere}.manager-tooltip[hidden]{display:none!important}.manager-tooltip:not([hidden]){animation:tooltip-in var(--motion-fast) var(--motion-easing) both}dialog.manager-traffic-dialog[data-dialog-fallback=nonmodal]{display:flex}.manager-traffic-dialog{position:fixed;z-index:300;inset:auto 12px 12px auto;width:calc(100vw - 24px);max-width:760px;width:min(760px,calc(100vw - 24px));height:440px;height:min(440px,calc(100vh - 24px));height:min(440px,calc(100dvh - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;margin:0;border:1px solid var(--manager-border-strong);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-traffic);color:var(--manager-ink);padding:0}.manager-traffic-dialog[open]{display:flex}.manager-traffic-frame{display:flex;min-width:0;min-height:0;flex:1 1 auto;flex-direction:column}.manager-traffic-titlebar{display:flex;min-height:44px;flex:0 0 44px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--manager-line);background:var(--page);padding:0 10px 0 14px;cursor:move;touch-action:none;user-select:none}.manager-traffic-titlebar h2{overflow:hidden;color:var(--manager-ink);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.manager-traffic-actions{display:flex;flex:0 0 auto;align-items:center;gap:5px;cursor:default}.manager-traffic-actions .manager-button{min-height:28px;padding:0 9px;font-size:11px}.manager-traffic-scroll{min-height:0;flex:1 1 auto;overflow:auto}.manager-traffic-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.manager-traffic-table th,.manager-traffic-table td{border-bottom:1px solid var(--manager-line);padding:6px 9px;text-align:left;vertical-align:top}.manager-traffic-table th{position:sticky;top:0;z-index:1;background:var(--surface-soft);color:var(--manager-muted);font-size:11px;font-weight:600}.manager-traffic-table th:nth-child(1),.manager-traffic-table td:nth-child(1){width:56px;color:var(--manager-muted);font-variant-numeric:tabular-nums;text-align:right}.manager-traffic-table th:nth-child(2),.manager-traffic-table td:nth-child(2){width:104px;white-space:nowrap}.manager-traffic-table th:nth-child(3),.manager-traffic-table td:nth-child(3){width:66px;text-align:right}html:not([lang=ko]):not([lang=ja]):not([lang=zh]) .manager-traffic-table th:nth-child(3),html:not([lang=ko]):not([lang=ja]):not([lang=zh]) .manager-traffic-table td:nth-child(3){width:84px}.manager-traffic-table th:nth-child(4),.manager-traffic-table td:nth-child(4){width:64px;font-size:11px;font-weight:700}.manager-traffic-table tr[data-direction=tx] td:nth-child(4){color:var(--accent-hover)}.manager-traffic-table tr[data-direction=rx] td:nth-child(4){color:var(--success-text)}.manager-traffic-table td:last-child code{color:var(--manager-ink);font-family:var(--font-interface);font-size:11px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.manager-traffic-toolbar{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:6px;border-bottom:1px solid var(--manager-line);background:var(--page);padding:8px 10px}.manager-traffic-toolbar .manager-button{min-height:28px;padding:0 12px;font-size:12px}.manager-traffic-check,.manager-chart-radio{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.manager-traffic-check{margin-left:6px}dialog.manager-chart-dialog[data-dialog-fallback=nonmodal],.manager-chart-dialog[open]{display:flex}.manager-chart-dialog{position:fixed;z-index:300;top:64px;left:50%;width:calc(100vw - 24px);width:min(1120px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:560px;height:min(560px,calc(100vh - 80px));height:min(560px,calc(100dvh - 80px));overflow:hidden;margin:0;border:1px solid var(--manager-border-strong);border-radius:6px;background:var(--surface);box-shadow:var(--shadow-traffic);color:var(--manager-ink);padding:0;transform:translate(-50%)}.manager-chart-controls{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:flex-start;gap:8px;border-bottom:1px solid var(--manager-line);background:var(--page);padding:8px 10px}.manager-chart-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;margin:0;border:1px solid var(--manager-line);border-radius:4px;padding:2px 8px 6px}.manager-chart-group>legend{padding:0 4px;color:var(--manager-muted);font-size:11px}.manager-chart-group .manager-button{min-height:28px;padding:0 10px;font-size:12px}.manager-chart-group .manager-poll-input{flex:0 0 64px;width:64px}.manager-chart-field{display:inline-flex;align-items:center;gap:6px;font-size:12px}.manager-chart-side{display:flex;min-width:0;flex-direction:column;gap:6px;margin-left:auto}.manager-chart-side .manager-poll-select{flex:0 0 auto;width:148px}.manager-chart-side .manager-button{min-height:28px;font-size:12px}.manager-chart-series{display:flex;flex:0 0 auto;max-height:120px;flex-direction:column;gap:4px;overflow:auto;border-bottom:1px solid var(--manager-line);padding:6px 10px;font-size:12px}.manager-chart-series[hidden]{display:none}.manager-chart-series-row{display:flex;align-items:center;gap:10px}.manager-chart-series-row span{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-chart-series-row .manager-button{min-height:26px;padding:0 10px;font-size:11px}.manager-chart-plot{min-height:0;flex:1 1 auto;background:#000}.manager-chart-canvas{display:block;width:100%;height:100%}.dialog-actions{display:flex;flex-wrap:wrap;gap:.55rem}dialog{width:min(380px,calc(100% - 2rem));border:0;border-radius:14px;background:var(--surface);color:var(--text);padding:1.3rem}dialog:not([open]){display:none}dialog[data-dialog-fallback=modal]{position:fixed;z-index:400;top:50%;left:50%;display:block;margin:0;transform:translate(-50%,-50%)}body.has-fallback-modal:before{position:fixed;z-index:300;inset:0;animation:backdrop-in var(--motion-panel) var(--motion-easing) both;background:var(--manager-backdrop);content:""}dialog::backdrop{background:var(--dialog-backdrop)}dialog h2{color:var(--manager-ink);font-size:15px}dialog p{margin:.7rem 0 1rem;color:var(--muted);font-size:12px;line-height:1.5}.dialog-actions{justify-content:flex-end;margin-top:1rem}dialog[open]{animation:dialog-in var(--motion-panel) var(--motion-easing) backwards}dialog[open]::backdrop{animation:backdrop-in var(--motion-panel) var(--motion-easing) both}dialog[data-dialog-fallback=modal][open]{animation:dialog-fade-in var(--motion-panel) var(--motion-easing) both;transform:translate(-50%,-50%)}.manager-dialog-header,.manager-dialog-actions{display:flex;align-items:center}.manager-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:min(720px,calc(100vh - 24px));max-height:min(720px,calc(100dvh - 24px));overflow:auto;border:1px solid var(--manager-border-strong);border-radius:var(--manager-dialog-radius);background:var(--surface);box-shadow:var(--shadow-dialog);color:var(--manager-ink);padding:0}.manager-dialog::backdrop{background:var(--manager-backdrop)}.manager-dialog-frame{padding:20px}.manager-dialog-header{min-height:40px;justify-content:space-between;gap:12px;margin-bottom:16px}.manager-dialog-header h2{color:var(--manager-ink);font-size:15px;font-weight:600}.manager-dialog-header p{margin-top:4px;color:var(--manager-muted);font-size:11px}.manager-field{display:flex;min-width:0;flex-direction:column;gap:6px;color:var(--text-secondary);font-size:var(--manager-font-sm);font-weight:500}.manager-field--wide{grid-column:1 / -1}.manager-field[hidden]{display:none!important}.manager-field input,.manager-field .custom-select{appearance:none;width:100%;min-width:0;min-height:var(--manager-field-height);border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--surface);color:var(--manager-ink);font:inherit;font-size:var(--manager-font-sm);padding:0 10px;-webkit-appearance:none}.manager-field .custom-select{padding:0}.manager-field .custom-select-trigger{min-height:32px;padding:0 9px;font-size:12px}.manager-field input:hover,.manager-field .custom-select:hover{border-color:var(--manager-border-strong)}.manager-field input{transition:border-color var(--motion-fast) var(--motion-easing),background-color var(--motion-fast) var(--motion-easing),outline-color var(--motion-fast) var(--motion-easing)}.manager-dialog-note{margin-top:10px;color:var(--manager-muted);font-size:var(--manager-font-xs);line-height:1.5}.manager-dialog-note:empty{display:none}.manager-dialog-note--warning{color:var(--danger)}.manager-dialog-feedback{margin:12px 0 0;color:var(--manager-muted);font-size:11px;line-height:1.5}.manager-dialog-feedback:empty{margin:0}.manager-dialog-feedback[data-tone=error]{color:var(--danger)}.manager-dialog-feedback[data-tone=success]{color:var(--success-text)}.manager-dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px}.manager-confirm-dialog{width:calc(100vw - 24px);max-width:440px;width:min(440px,calc(100vw - 24px))}.manager-confirm-dialog .manager-dialog-frame{padding:16px}@media(max-width:480px){.manager-dialog-frame{padding:16px}.manager-field--wide{grid-column:auto}}.manager-field input:focus{border-color:var(--accent)}.manager-poll-dialog{--poll-label-width: 104px;width:calc(100vw - 24px);max-width:460px;width:min(460px,calc(100vw - 24px));max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.manager-definition-dialog{--poll-label-width: 88px;max-width:528px;width:min(528px,calc(100vw - 24px))}.manager-poll-dialog .manager-dialog-frame{display:flex;flex-direction:column;gap:10px}.manager-poll-dialog .manager-dialog-header{margin-bottom:4px}.manager-poll-dialog .manager-dialog-note,.manager-poll-dialog .manager-dialog-feedback{margin:0}.manager-poll-dialog .manager-dialog-feedback:empty{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.manager-poll-dialog .manager-dialog-feedback[data-tone=success]{color:var(--success-text)}.manager-group{min-width:0;margin:0;border:1px solid var(--manager-line);border-radius:6px;background:transparent;padding:6px 12px 12px}.manager-group>legend{padding:0 6px;color:var(--manager-muted);font-size:var(--manager-font-xs);font-weight:600}.manager-group--inner{border-color:var(--border);background:var(--surface-soft);padding:4px 10px 8px}.manager-group--inner+.manager-group--inner{margin-top:6px}.manager-group--result{display:flex;flex-direction:column;gap:8px}.manager-group[hidden],.manager-poll-row[hidden],.manager-poll-details[hidden]{display:none!important}.manager-poll-fields{display:flex;min-width:0;flex-direction:column;gap:8px}.manager-poll-row{display:flex;min-width:0;align-items:center;gap:8px}.manager-poll-row--stack{flex-direction:column;align-items:stretch;gap:4px}.manager-poll-label{flex:0 0 var(--poll-label-width);color:var(--text-secondary);font-size:var(--manager-font-sm);font-weight:500;line-height:1.3}.manager-poll-row--stack .manager-poll-label{flex-basis:auto}.manager-poll-input{appearance:none;flex:1 1 auto;width:100%;min-width:0;height:30px;border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--surface);color:var(--manager-ink);font:inherit;font-size:var(--manager-font-sm);padding:0 8px;transition:border-color var(--motion-fast) var(--motion-easing),outline-color var(--motion-fast) var(--motion-easing);-webkit-appearance:none}.manager-poll-input--short{flex:0 0 64px;width:64px}.manager-poll-input--medium{flex:0 0 112px;width:112px}.manager-poll-input:focus{border-color:var(--accent);outline:1px solid var(--focus-ring)}.manager-poll-input:read-only{background:var(--surface-soft)}.manager-poll-unit{min-width:0;color:var(--manager-muted);font-size:var(--manager-font-sm);white-space:nowrap}.manager-poll-select{flex:1 1 auto;min-width:0}.manager-poll-select--compact{flex:0 1 148px}.manager-poll-select .custom-select{border:1px solid var(--manager-border-strong);background:var(--surface);color:var(--manager-ink)}.manager-poll-select .custom-select-trigger{min-height:28px;overflow:hidden;padding:0 9px;font-size:var(--manager-font-sm);text-overflow:ellipsis;white-space:nowrap}.manager-poll-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 14px}.manager-poll-actions{display:flex;min-width:92px;flex-direction:column;gap:8px}.manager-poll-actions .manager-button{min-width:92px}.manager-poll-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.manager-poll-toolbar .manager-button{min-height:30px;padding:0 10px}.manager-radio-row{display:flex;align-items:center;gap:16px}.manager-radio-row--wrap{flex-wrap:wrap;row-gap:6px}.manager-radio-stack{display:flex;flex-direction:column;gap:8px}.manager-radio,.manager-check{display:inline-flex;min-width:0;align-items:center;gap:6px;color:var(--manager-ink);cursor:pointer;font-size:var(--manager-font-sm);line-height:1.3}.manager-radio input,.manager-check input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--accent)}.manager-check input:disabled+span{color:var(--text-disabled)}.manager-check input:disabled,.manager-radio input:disabled{cursor:not-allowed}.manager-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-top:8px}.manager-frame{display:block;min-height:28px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--manager-ink);font:inherit;font-size:var(--manager-font-sm);font-variant-numeric:tabular-nums;line-height:1.5;overflow-wrap:anywhere;padding:4px 8px;user-select:text;-webkit-user-select:text}.manager-frame[data-state=invalid]{color:var(--manager-muted);font-style:italic}.manager-values-grid{display:grid;max-height:176px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;overflow-y:auto;padding:2px}.manager-values-cell{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--manager-muted);font-size:var(--manager-font-xs)}.manager-values-cell input[type=text]{width:100%;min-width:0;height:28px;border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--surface);color:var(--manager-ink);font:inherit;font-size:var(--manager-font-sm);padding:0 6px}.manager-values-cell input[type=text]:focus{border-color:var(--accent);outline:1px solid var(--focus-ring)}.manager-values-cell input[type=checkbox]{width:16px;height:16px;margin:4px 0;accent-color:var(--accent)}.manager-poll-result{min-height:20px;margin:0;color:var(--manager-ink);font-size:var(--manager-font-sm);line-height:1.5}.manager-poll-result[data-tone=error]{color:var(--danger)}.manager-poll-result[data-tone=success]{color:var(--success-text)}.manager-poll-pairs{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0;font-size:var(--manager-font-sm)}.manager-poll-pairs dt{color:var(--manager-muted)}.manager-poll-pairs dd{min-width:0;margin:0;color:var(--manager-ink);overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}.manager-poll-dialog .manager-dialog-frame.manager-definition-frame{display:grid;grid-template-columns:minmax(0,1fr) 124px;gap:8px 14px;grid-template-areas:"head head" "slave ok" "func cancel" "mode ." "addr ." "qty ." "rate apply" "disable once" "view view" "request request" "feedback feedback"}.manager-definition-frame>.manager-dialog-header{grid-area:head}.manager-definition-slave{grid-area:slave}.manager-definition-function{grid-area:func}.manager-definition-mode{grid-area:mode}.manager-definition-address{grid-area:addr;flex-wrap:wrap}.manager-definition-quantity{grid-area:qty}.manager-definition-rate{grid-area:rate}.manager-definition-disable{display:flex;flex-direction:column;gap:8px;grid-area:disable}.manager-definition-view{grid-area:view}.manager-definition-request{grid-area:request}.manager-definition-feedback{grid-area:feedback}.manager-definition-ok{grid-area:ok}.manager-definition-cancel{grid-area:cancel}.manager-definition-apply{grid-area:apply}.manager-definition-once{align-self:end;grid-area:once}.manager-definition-frame .manager-button{align-self:start;min-width:0;padding:0 8px}.manager-definition-frame .manager-definition-once{align-self:end}@media(max-width:480px){.manager-poll-dialog{--poll-label-width: 88px}.manager-poll-row--select{flex-direction:column;align-items:stretch;gap:4px}.manager-poll-row--select .manager-poll-label{flex-basis:auto}.manager-poll-layout{grid-template-columns:minmax(0,1fr)}.manager-poll-actions{flex-direction:row}.manager-poll-actions .manager-button{flex:1 1 0;min-width:0}.manager-check-grid{grid-template-columns:minmax(0,1fr)}.manager-poll-dialog .manager-dialog-frame.manager-definition-frame{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "slave" "func" "mode" "addr" "qty" "rate" "disable" "once" "view" "request" "feedback" "ok" "cancel" "apply"}.manager-definition-frame .manager-button,.manager-definition-frame .manager-definition-once{align-self:stretch}}.manager-test-dialog,.manager-scan-dialog{max-width:540px;width:min(540px,calc(100vw - 24px))}.manager-poll-log{max-height:184px;overflow:auto;border:1px solid var(--border);border-radius:4px;background:var(--surface);outline:none}.manager-poll-log:focus-visible{outline:2px solid var(--focus-ring-strong);outline-offset:-2px}.manager-poll-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--manager-ink);font-size:var(--manager-font-xs);font-variant-numeric:tabular-nums}.manager-poll-table caption{padding:6px 8px;color:var(--manager-muted);caption-side:top;text-align:left}.manager-poll-table th,.manager-poll-table td{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:4px 8px;text-align:left;vertical-align:top}.manager-poll-table th{position:sticky;z-index:1;top:0;background:var(--table-header);color:var(--manager-muted);font-weight:600}.manager-poll-table code{font:inherit;user-select:text;-webkit-user-select:text}.manager-poll-table code[data-tone=error]{color:var(--danger)}.manager-poll-table tr[data-direction=tx] td:nth-child(2){color:var(--accent-hover);font-weight:600}.manager-poll-table tr[data-direction=rx] td:nth-child(2){color:var(--success-text);font-weight:600}.manager-poll-empty{margin:0;padding:14px 8px;color:var(--manager-muted);font-size:var(--manager-font-xs);text-align:center}.manager-poll-empty[hidden]{display:none}.manager-poll-progress{min-height:1.5em;margin:8px 0 0;color:var(--manager-muted);font-size:var(--manager-font-xs);line-height:1.5}.manager-scan-dialog .manager-poll-toolbar .manager-poll-label{flex:0 0 auto}@media(max-width:480px){.manager-scan-dialog .manager-poll-toolbar .manager-poll-select--compact{flex:1 1 100%}}.app-settings-dialog{width:min(420px,calc(100vw - 24px))}.app-settings-section{display:grid;gap:10px;margin-top:14px;border-top:1px solid var(--manager-line);padding-top:14px}.app-settings-heading{margin:0;color:var(--manager-ink);font-size:12px;font-weight:600}.app-settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.app-settings-confirm{display:grid;gap:10px;border:1px solid var(--manager-line);border-radius:6px;background:var(--manager-bar);padding:10px 12px}.app-settings-confirm[hidden]{display:none}.app-settings-confirm p{margin:0;color:var(--manager-ink);font-size:12px;line-height:1.5}.app-about-dialog{width:440px;width:min(440px,calc(100vw - 24px))}.app-about-list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 16px;margin:14px 0 0;border-top:1px solid var(--manager-line);padding-top:14px;font-size:12px}.app-about-list dt{color:var(--manager-muted)}.app-about-list dd{margin:0;color:var(--manager-ink);overflow-wrap:anywhere}.app-about-list a{color:var(--accent-hover)}.app-about-note{margin:12px 0 0;color:var(--manager-muted);font-size:11px;line-height:1.6}.manager-room-dialog{width:min(520px,calc(100vw - 24px))}.manager-join-dialog{width:min(420px,calc(100vw - 24px))}.room-section{display:grid;gap:10px}.room-section[hidden]{display:none}.room-status{margin:0;color:var(--manager-muted);font-size:12px;line-height:1.5}.room-invite{display:grid;gap:8px}.room-invite-actions,.room-participant-actions,.room-grants{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.room-participants{display:grid;gap:8px;margin:0;padding:0;list-style:none}.room-participant{display:grid;gap:8px;border:1px solid var(--manager-line);border-radius:6px;padding:8px 10px}.room-participant-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.room-participant-name{min-width:0;overflow:hidden;color:var(--manager-ink);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.room-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.room-permission{display:flex;align-items:center;gap:6px;color:var(--manager-ink);font-size:11px}.room-permission input{accent-color:var(--accent)}.room-guest-host{margin:0;color:var(--manager-ink);font-size:12px;font-weight:600}.room-chip{display:inline-flex;max-width:100%;align-items:center;gap:6px;overflow:hidden;border:1px solid var(--manager-line);border-radius:4px;color:var(--manager-muted);font-size:11px;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.room-chip[data-state=online]{border-color:var(--success);color:var(--success-text)}.room-chip[data-state=pending]{border-color:var(--room-cursor-4);color:var(--room-cursor-4)}.room-chip--share{border-color:var(--accent-border);color:var(--accent)}.room-person-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--room-cursor-0)}.room-person-dot--c1{background:var(--room-cursor-1)}.room-person-dot--c2{background:var(--room-cursor-2)}.room-person-dot--c3{background:var(--room-cursor-3)}.room-person-dot--c4{background:var(--room-cursor-4)}.room-person-dot--c5{background:var(--room-cursor-5)}.room-panel{position:absolute;z-index:30;top:12px;right:12px;bottom:12px;display:flex;width:min(360px,calc(100% - 24px));flex-direction:column;overflow:hidden;border:1px solid var(--manager-border-strong);border-radius:6px;background:var(--manager-surface);box-shadow:var(--shadow-window)}.room-panel[hidden]{display:none}.room-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--manager-line);padding:6px 8px 6px 12px}.room-panel-title{margin:0;color:var(--manager-ink);font-size:12px;font-weight:600}.room-panel-body{display:grid;min-height:0;flex:1 1 auto;align-content:start;gap:14px;overflow:auto;padding:12px}.room-panel-body[hidden]{display:none}.room-source{display:grid;gap:8px}.room-source-header{display:flex;align-items:center;min-width:0}.room-source-title{min-width:0;margin:0;overflow:hidden;color:var(--manager-ink);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.room-session-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.room-window{display:grid;gap:6px;border:1px solid var(--manager-line);border-radius:6px;background:var(--manager-bar);padding:8px}.room-window-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px}.room-window-title{margin:0;color:var(--manager-ink);font-size:12px;font-weight:600}.room-window-meta,.room-window-note{margin:0;color:var(--manager-muted);font-size:11px}.room-window-table-wrap{max-height:220px;overflow:auto;border:1px solid var(--manager-line);border-radius:4px;background:var(--manager-surface)}.room-window-table{width:100%;border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums}.room-window-table th,.room-window-table td{border-bottom:1px solid var(--manager-line);padding:4px 6px;text-align:left;white-space:nowrap}.room-window-table th{position:sticky;top:0;background:var(--table-header);color:var(--manager-muted);font-weight:600}.room-window-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.room-write-input{min-width:0;flex:1 1 140px;height:var(--manager-control-height);border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--surface);color:var(--manager-ink);font:inherit;font-size:11px;padding:0 8px}.room-write-input:focus-visible{outline:2px solid var(--focus-ring-strong);outline-offset:1px}.room-window-feedback{min-height:0;margin:0;color:var(--manager-muted);font-size:11px;line-height:1.5}.room-window-feedback[data-tone=error]{color:var(--danger)}.room-window-feedback[data-tone=success]{color:var(--success-text)}.room-cursor-layer{position:fixed;z-index:500;inset:0;overflow:hidden;pointer-events:none}.room-cursor-layer[hidden]{display:none}.room-cursor{position:absolute;top:0;left:0;display:flex;align-items:flex-start;transition:transform var(--motion-fast) var(--motion-easing);will-change:transform}.room-cursor--c1{color:var(--room-cursor-1)}.room-cursor--c2{color:var(--room-cursor-2)}.room-cursor--c3{color:var(--room-cursor-3)}.room-cursor--c4{color:var(--room-cursor-4)}.room-cursor--c5{color:var(--room-cursor-5)}.room-cursor-tip{width:14px;height:16px;background:currentColor;clip-path:polygon(0 0,100% 56%,54% 60%,36% 100%,0 0)}.room-cursor-label{margin:12px 0 0 2px;border-radius:4px;background:currentColor;color:#fff;font-size:11px;line-height:1.4;padding:1px 6px;white-space:nowrap}@media(max-width:720px){.room-panel{inset:auto 8px 8px;width:auto;max-height:55%}.room-permission-grid{grid-template-columns:1fr}}.cloud-dialog{width:min(460px,calc(100vw - 24px))}.cloud-dialog [hidden]{display:none}.cloud-account{margin:0;color:var(--manager-ink);font-size:13px;font-weight:600;overflow-wrap:anywhere}.cloud-state{margin:0;color:var(--manager-muted);font-size:12px}.cloud-state[data-state=synced]{color:var(--success-text)}.cloud-state[data-state=offline]{color:var(--danger)}.cloud-state[data-state=conflict],.cloud-state[data-state=pending]{color:var(--room-cursor-4)}.cloud-google-button{display:flex;min-height:44px;align-items:center}.manager-topbar-button[data-state=synced]:before{background:var(--success)}.manager-topbar-button[data-state=connecting]:before{background:var(--accent)}.manager-topbar-button[data-state=offline]:before{background:var(--danger)}.manager-topbar-button[data-state=conflict]:before{background:var(--room-cursor-4)}.share-popup{position:fixed;right:12px;bottom:44px;z-index:250;display:flex;width:340px;width:min(340px,calc(100vw - 24px));max-height:70vh;max-height:min(70vh,calc(100vh - 140px));flex-direction:column;overflow:hidden;border:1px solid var(--manager-border-strong);border-radius:var(--manager-dialog-radius);background:var(--surface);box-shadow:var(--shadow-popover);color:var(--text);font-size:var(--manager-font-sm)}.share-popup[hidden]{display:none}.share-popup-header{display:flex;width:100%;align-items:center;gap:8px;border:0;background:var(--surface-soft);color:inherit;cursor:pointer;font:inherit;font-size:var(--manager-font-sm);font-weight:600;padding:9px 12px;text-align:left}.share-popup-header:hover{background:var(--accent-soft)}.share-popup-header:focus-visible{outline:2px solid var(--focus-ring-strong);outline-offset:-2px}.share-popup-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--success)}.share-popup[data-state=opening] .share-popup-dot,.share-popup[data-state=reconnecting] .share-popup-dot{background:var(--room-cursor-4)}.share-popup-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-popup-badge{flex:0 0 auto;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:11px;padding:1px 8px}.share-popup-badge[hidden]{display:none}.share-popup-chevron{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;transition:transform var(--motion-fast) var(--motion-easing)}.share-popup[data-collapsed=true] .share-popup-chevron{transform:rotate(180deg)}.share-popup-people{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--manager-line);padding:8px 12px}.share-popup-people:empty{display:none}.share-popup-people[hidden]{display:none}.share-popup-body{display:grid;min-height:0;gap:10px;overflow:auto;border-top:1px solid var(--manager-line);padding:10px 12px 12px}.share-popup-body[hidden]{display:none}.share-popup-host,.share-popup-guest{display:grid;gap:10px}.share-popup-host[hidden],.share-popup-guest[hidden]{display:none}.share-popup-link{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.share-popup-link input{appearance:none;min-width:0;min-height:var(--manager-control-height);border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--field);color:var(--manager-ink);font:inherit;font-size:var(--manager-font-xs);padding:0 8px}.share-popup-actions{display:flex;justify-content:flex-end;gap:8px}.manager-field input[type=number]{max-width:120px}.room-default-permissions{margin:0;border:1px solid var(--manager-line);border-radius:var(--manager-control-radius);padding:8px 10px 10px}.room-default-permissions legend{color:var(--text-secondary);font-size:var(--manager-font-sm);font-weight:500;padding:0 4px}@media(max-width:480px){.share-popup{right:8px;bottom:40px}}.analytics-banner{position:fixed;bottom:44px;left:12px;z-index:240;box-sizing:border-box;width:340px;width:min(340px,calc(100vw - 24px));border:1px solid var(--manager-border-strong);border-radius:var(--manager-dialog-radius);background:var(--surface);box-shadow:var(--shadow-popover);color:var(--text);font-size:var(--manager-font-sm);padding:12px 14px}.analytics-banner[hidden]{display:none}.analytics-banner-text{margin:0;color:var(--text-secondary);line-height:1.55}.analytics-banner-link{margin:6px 0 0;font-size:var(--manager-font-xs)}.analytics-banner-link a{color:var(--accent)}.analytics-banner-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.tour-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.tour-overlay.is-centered{background:#0000008c}.tour-spotlight{position:fixed;z-index:1001;border-radius:8px;box-shadow:0 0 0 9999px #0000008c,0 0 0 2px var(--accent);pointer-events:none;transition:left var(--motion-panel) var(--motion-easing),top var(--motion-panel) var(--motion-easing),width var(--motion-panel) var(--motion-easing),height var(--motion-panel) var(--motion-easing)}.tour-spotlight[hidden]{display:none}.tour-card{position:fixed;z-index:1002;box-sizing:border-box;border:1px solid var(--manager-border-strong);border-radius:var(--manager-dialog-radius);background:var(--surface);box-shadow:var(--shadow-dialog);color:var(--text);font-size:var(--manager-font-sm);padding:14px 16px 12px;outline:none}.tour-close{position:absolute;top:6px;right:8px;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:18px;line-height:1}.tour-close:hover{background:var(--accent-soft);color:var(--text)}.tour-title{margin:0 28px 6px 0;color:var(--manager-ink);font-size:var(--manager-font-md);font-weight:600}.tour-body{margin:0;color:var(--text-secondary);line-height:1.55}.tour-footer{margin-top:10px;color:var(--muted);font-size:var(--manager-font-xs)}.tour-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.tour-spacer{flex:1}.tour-button{min-height:var(--manager-control-height);border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--surface);color:var(--manager-ink);cursor:pointer;font:inherit;font-size:var(--manager-font-sm);padding:0 12px}.tour-button[hidden]{display:none}.tour-button:hover{border-color:var(--accent-border);background:var(--accent-soft)}.tour-button--primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.tour-button--primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.tour-button--text{border-color:transparent;background:transparent;color:var(--muted);padding:0 6px}.tour-button:focus-visible,.tour-close:focus-visible{outline:2px solid var(--focus-ring-strong);outline-offset:1px}.app-guide-dialog{width:min(980px,calc(100vw - 24px))}.guide-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;height:min(68vh,640px);margin-top:10px}.guide-nav{display:grid;align-content:start;gap:12px;overflow:auto;border-right:1px solid var(--manager-line);padding-right:10px}.guide-nav-group{display:grid;gap:2px}.guide-nav-title{margin:0 0 2px;color:var(--muted);font-size:var(--manager-font-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.guide-nav-item{border:0;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:var(--manager-font-sm);padding:6px 8px;text-align:left}.guide-nav-item:hover{background:var(--accent-soft);color:var(--text)}.guide-nav-item[aria-current=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.guide-nav-item:focus-visible,.guide-back:focus-visible,.guide-action:focus-visible{outline:2px solid var(--focus-ring-strong);outline-offset:1px}.guide-article{display:grid;align-content:start;gap:10px;min-width:0;overflow:auto;padding-right:4px}.guide-back{display:none;justify-self:start;border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:var(--manager-font-sm);padding:0}.guide-article-title{margin:0;color:var(--manager-ink);font-size:18px;font-weight:600}.guide-article-intro{margin:0;color:var(--text-secondary);font-size:var(--manager-font-md);line-height:1.6}.guide-media{margin:0;overflow:hidden;border:1px solid var(--manager-line);border-radius:var(--manager-control-radius);background:var(--surface-soft)}.guide-media-item{display:block;width:100%;height:auto}.guide-heading{margin:6px 0 0;color:var(--manager-ink);font-size:var(--manager-font-md);font-weight:600}.guide-steps{display:grid;gap:6px;margin:0;color:var(--text-secondary);font-size:var(--manager-font-md);line-height:1.55;padding-left:20px}.guide-tip{margin:0;border-left:3px solid var(--accent);border-radius:4px;background:var(--accent-soft);color:var(--text-secondary);font-size:var(--manager-font-md);line-height:1.55;padding:8px 10px}.guide-tip strong{color:var(--accent)}.guide-actions{display:flex;flex-wrap:wrap;gap:8px}.guide-action{display:inline-flex;min-height:34px;align-items:center;gap:8px;border:1px solid var(--manager-border-strong);border-radius:var(--manager-control-radius);background:var(--surface);color:var(--manager-ink);cursor:pointer;font:inherit;font-size:var(--manager-font-sm);padding:3px 12px 3px 4px}.guide-action:hover{border-color:var(--accent-border);background:var(--accent-soft)}.guide-action--plain{padding-left:12px}.guide-action-face{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid var(--manager-line);border-radius:5px;background:var(--surface-soft);color:var(--manager-ink);font-size:var(--manager-font-sm);font-weight:600}.guide-action-face[hidden]{display:none}.guide-action-face svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(max-width:720px){.guide-layout{grid-template-columns:minmax(0,1fr);height:min(66vh,560px)}.guide-nav{border-right:0;padding-right:0}.guide-article,.app-guide-dialog.is-reading .guide-nav{display:none}.app-guide-dialog.is-reading .guide-article{display:grid}.app-guide-dialog.is-reading .guide-back{display:block}}.manager-icon-button,.manager-menu-bar button,.manager-menu-item,.manager-button{transition:background-color var(--motion-fast) var(--motion-easing),box-shadow var(--motion-fast) var(--motion-easing),color var(--motion-fast) var(--motion-easing),border-color var(--motion-fast) var(--motion-easing)}.manager-icon-button{border-radius:50%}.manager-icon-button:hover:not(:disabled){border-color:transparent;background:var(--state-hover);color:var(--manager-ink)}.manager-icon-button:active:not(:disabled){background:var(--state-press)}.manager-icon-button--accent{border-color:transparent;background:var(--accent-soft);color:var(--accent)}.manager-icon-button--accent:hover:not(:disabled){border-color:transparent;background:var(--accent-pressed);color:var(--accent-hover)}.manager-icon-button--close:hover:not(:disabled),.manager-icon-button--danger:hover:not(:disabled),#manager-quick-connect.is-connected:hover:not(:disabled){border-color:transparent;background:var(--danger-soft);color:var(--danger-hover)}#manager-quick-connect.is-connected{border-color:transparent}.manager-text-button{border-radius:16px}.manager-button{min-height:32px;border-color:var(--border-strong);border-radius:16px;padding:0 16px;font-size:13px;font-weight:500}.manager-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--state-hover)}.manager-button--secondary{color:var(--accent)}.manager-button--secondary:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-hover)}.manager-button--primary{border-color:transparent}.manager-button--primary:hover:not(:disabled){border-color:transparent;box-shadow:var(--shadow-select)}.manager-button--danger{border-color:transparent}.manager-button--danger:hover:not(:disabled){border-color:transparent;box-shadow:var(--shadow-select)}.manager-button:disabled{border-color:var(--border);background:var(--surface-soft);box-shadow:none}.manager-menu-bar button{height:28px;border-radius:8px;padding:0 10px;font-weight:500}.manager-menu-bar button:hover:not(:disabled){border-color:transparent;background:var(--state-hover);color:var(--manager-ink)}.manager-menu-bar button[aria-expanded=true]{border-color:transparent;background:var(--accent-soft);color:var(--accent)}.manager-menu-panel{border:1px solid var(--border);border-radius:8px;padding:4px 0}.manager-menu-item{min-height:30px;border-radius:0;padding:4px 16px}.manager-menu-item:disabled,.manager-menu-item[aria-disabled=true]{background:transparent}.manager-menu-item:hover:not(:disabled),.manager-menu-item:focus-visible{background:var(--state-hover);color:var(--manager-ink)}.manager-menu-item:focus-visible{outline:none;background:var(--state-press)}.manager-menu-item--check{padding-left:38px}.manager-menu-item--check[aria-checked=true]:before{left:16px}.manager-menu-separator{margin:4px 0}.manager-port-tab{border-radius:18px}.manager-port-tab:hover:not([data-active=true]){background:var(--state-hover)}.manager-port-tab[data-active=true]{border-color:transparent;background:var(--accent-soft);color:var(--accent)}.manager-port-tab__select{border-radius:18px 0 0 18px}.manager-port-tab-new{border-color:transparent;border-radius:50%;background:transparent}.manager-port-tab-new:hover:not(:disabled){background:var(--state-hover);color:var(--manager-ink)}.manager-request-window{border-color:var(--border);border-radius:12px;transition:border-color var(--motion-fast) var(--motion-easing),border-radius var(--motion-fast) var(--motion-easing),box-shadow var(--motion-fast) var(--motion-easing)}.manager-request-window[data-flat~=tl]{border-top-left-radius:0}.manager-request-window[data-flat~=tr]{border-top-right-radius:0}.manager-request-window[data-flat~=bl]{border-bottom-left-radius:0}.manager-request-window[data-flat~=br]{border-bottom-right-radius:0}.manager-request-window.is-active{border-color:var(--accent-border)}.manager-window-titlebar{border-bottom-color:var(--border);background:var(--surface)}.manager-request-window.is-active .manager-window-titlebar{background:var(--accent-soft)}.manager-sheet th{font-weight:500;letter-spacing:.01em}.manager-data-row{transition:background-color var(--motion-fast) var(--motion-easing)}.manager-data-row:hover>td:not(.manager-row-number){background-color:var(--state-hover)}.custom-input,.custom-select{transition:box-shadow var(--motion-fast) var(--motion-easing)}.custom-input:hover,.custom-select:hover:not(.is-disabled){box-shadow:inset 0 0 0 1px var(--border-strong)}.custom-input:focus{box-shadow:inset 0 0 0 2px var(--accent)}.custom-select:has(:focus-visible){box-shadow:inset 0 0 0 2px var(--accent)}.manager-dialog,.app-guide-dialog{border-radius:var(--manager-dialog-radius)}.manager-dialog-header h2{font-weight:500}.manager-tooltip{border-radius:4px}@media(max-width:540px){.manager-brand-mark{width:26px;height:24px;flex-basis:26px}}.legacy-browser-notice{max-width:560px;margin:12vh auto;padding:24px;color:var(--text);font:16px / 1.6 var(--font-interface)}.legacy-browser-notice__title{margin:0 0 12px;font-size:24px;font-weight:600;line-height:1.2}.legacy-browser-notice__message{margin:0}
