:root{--font-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--font-body: "Noto Sans SC", "PingFang SC", sans-serif;--bg: #f5f6f8;--workspace-bg: #f0f5f5;--surface: #ffffff;--sidebar: #0c1526;--sidebar-2: #111f38;--sidebar-line: rgba(255, 255, 255, .08);--side-text: #b9c5d4;--side-muted: #7f8fa3;--text: #1a2332;--muted: #6b7686;--line: #e3e7ee;--hairline: rgba(16, 35, 61, .1);--accent: #ffa940;--accent-ink: #241300;--accent-soft: rgba(255, 169, 64, .14);--button-blue: #015bb4;--button-blue-hover: #004b95;--button-secondary: #0874cc;--button-secondary-hover: #0663ad;--green: #18a874;--green-soft: #e7f8f1;--danger: #dc3545;--danger-soft: #fff0f1;--radius: 2px;--shadow-1: 0 2px 8px rgba(16, 35, 61, .06);--shadow-2: 0 8px 28px rgba(16, 35, 61, .1);--shadow-3: 0 24px 64px rgba(10, 25, 47, .22);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .16s;--dur-base: .32s;--rail-w: 180px;--rail-mini: 68px}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.hidden{display:none!important}.logo-startup{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(20,77,188,.18),transparent 34%),#03050c;opacity:1;visibility:visible;transition:opacity .34s ease-out,visibility .34s step-end;animation:logo-startup-safety-out .26s 3.2s forwards}.logo-startup:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(95,137,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(95,137,255,.035) 1px,transparent 1px);background-size:68px 68px;mask-image:radial-gradient(circle at center,#000,transparent 70%);-webkit-mask-image:radial-gradient(circle at center,#000,transparent 70%)}.logo-startup.is-leaving{opacity:0;visibility:hidden}.logo-startup-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .18s ease-out}.logo-startup-canvas.is-visible{opacity:1}.logo-startup-fallback{position:relative;width:min(66vw,680px);overflow:hidden;filter:drop-shadow(0 0 24px rgba(52,82,254,.25));animation:logo-startup-enter .76s cubic-bezier(.16,1,.3,1) both}.logo-startup-canvas.is-visible+.logo-startup-fallback{opacity:0}.logo-startup-fallback img{display:block;width:100%;height:auto}.logo-startup-fallback i{position:absolute;inset:-40% auto -40% -28%;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);filter:blur(8px);transform:skew(-14deg);animation:logo-startup-scan 1.25s .18s cubic-bezier(.4,0,.2,1) both}.logo-startup-caption{position:absolute;left:50%;top:calc(50% + min(13vw,128px));transform:translate(-50%);color:#bacdff7a;font:500 10px/1 var(--font-mono);letter-spacing:.36em;white-space:nowrap;animation:logo-startup-caption-in .7s .36s ease-out both}@keyframes logo-startup-enter{0%{opacity:0;transform:scale(.94);filter:blur(7px) drop-shadow(0 0 0 rgba(52,82,254,0))}to{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 24px rgba(52,82,254,.25))}}@keyframes logo-startup-scan{0%{left:-28%;opacity:0}20%,72%{opacity:1}to{left:112%;opacity:0}}@keyframes logo-startup-caption-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes logo-startup-safety-out{to{opacity:0;visibility:hidden;pointer-events:none}}.workspace:before{display:none}.workspace>*{position:relative;z-index:1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-wrap{height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:min(430px,100%);padding:40px 42px 28px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-3)}.login-eyebrow{margin:0 0 18px;font-family:var(--font-mono);font-size:11px;letter-spacing:.32em;color:var(--muted)}.logo,.brand-mark img{display:block;object-fit:contain;box-sizing:border-box}.logo{width:220px;max-width:72%;height:62px;margin-bottom:20px;object-position:left center}.login-card h1{margin:0 0 8px;font-size:27px;letter-spacing:.02em}.login-sub{margin:0 0 26px;color:var(--muted)}label{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;color:#4d5a6e;font-size:14px;letter-spacing:.03em}input,select{width:100%;padding:12px 14px;border:1px solid #d4dbe6;border-radius:var(--radius);background:#fff;color:var(--text);outline:none;transition:border-color var(--dur-fast) ease-out,box-shadow var(--dur-fast) ease-out}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.primary,.secondary,.text-btn,.nav-item,.close,.action-btn{border:0;border-radius:var(--radius)}.primary{width:auto;min-height:34px;padding:6px 13px;border:1px solid var(--button-blue);border-radius:var(--radius);background:var(--button-blue);color:#fff;font-weight:700;letter-spacing:.04em;transition:background var(--dur-fast) ease-out,border-color var(--dur-fast) ease-out}.login-card .primary{width:100%;letter-spacing:.12em}.primary:hover{border-color:var(--button-blue-hover);background:var(--button-blue-hover)}.primary:active{background:var(--button-blue-hover)}.primary:disabled{opacity:.55;cursor:not-allowed}.primary.compact{width:auto;min-height:34px;padding:6px 13px}.primary.member-add-btn{min-height:34px;padding:6px 13px;font-size:13px}.primary.member-add-btn.toolbar-icon-btn{width:30px;min-width:30px;height:30px;min-height:30px;padding:0}.settings-tab-action{align-self:center;margin-left:auto;flex:none}.settings-tab-status{align-self:center;margin-left:auto;min-width:0;display:flex;align-items:center;color:var(--muted);font-size:13px;white-space:nowrap}.device-filter{margin:0;padding:4px 8px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;line-height:1.4;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background-color var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.device-filter b{font-weight:700;font-variant-numeric:tabular-nums}.device-filter.is-on{background:var(--accent-soft);color:#1f2b3d}.device-filter-sep{color:var(--muted)}@media(hover:hover)and (pointer:fine){.device-filter:hover{background:#f3f6fa;color:#1f2b3d}.device-filter.is-on:hover{background:var(--accent-soft)}}@media(prefers-reduced-motion:reduce){.device-filter{transition:none}}.settings-tab-status+.settings-tab-action{margin-left:-16px}#btnAddMember.morph-source{visibility:hidden}.secondary{min-height:34px;padding:6px 13px;border:1px solid var(--button-secondary);border-radius:var(--radius);background:var(--button-secondary);color:#fff;letter-spacing:.04em;transition:background var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.page .primary.compact:not(.icon-btn),.page .secondary:not(.icon-btn),.page-action{min-height:34px;padding:6px 13px;font-size:13px}.secondary:hover{border-color:var(--button-secondary-hover);background:var(--button-secondary-hover);color:#fff}.text-btn{min-height:44px;padding:9px;background:transparent;color:var(--side-muted)}.status{min-height:20px;margin:10px 0;color:var(--muted);font-size:14px}.status:empty{min-height:0;margin:0}.copy{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.6;text-align:center}.app{position:relative;height:100vh;width:100%;display:flex;overflow:hidden}.app.rail{--rail-w: var(--rail-mini)}.sidebar{position:relative;height:100%;flex:none;width:var(--rail-w);display:flex;flex-direction:column;padding:16px 12px;background:var(--sidebar);color:#fff;transition:width var(--dur-base) var(--ease-out),padding var(--dur-base) var(--ease-out);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.side-top{display:flex;align-items:center;justify-content:flex-start;height:52px;min-height:52px;flex:none;margin:-16px -12px 18px;padding:8px 12px 8px 16px;overflow:hidden;background:#1680dc}.brand{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-width:0;height:36px;min-height:36px}.brand-mark{position:fixed;z-index:6;top:8px;left:16px;width:36px;height:36px;display:grid;place-items:center;overflow:hidden;padding:0;border-radius:var(--radius);background:#fff;contain:strict;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.brand-mark img{width:100%;height:100%;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.brand-text{margin-left:44px}.brand-text strong{display:block;white-space:nowrap;font-size:15px;line-height:18px;letter-spacing:.02em}.brand-text>span{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;color:#ffffffc2;font-size:12px;line-height:16px;margin-top:2px;font-family:var(--font-mono);letter-spacing:.02em}.brand-text,.nav-label,.sidebar .cast-full,.sidebar .cast-mini,.sidebar .gateway-state span,.side-bottom .copy{transition:opacity .14s ease-out}.app.rail-transitioning .brand-text,.app.rail-transitioning .nav-label,.app.rail-transitioning .sidebar .cast-full,.app.rail-transitioning .sidebar .cast-mini,.app.rail-transitioning .sidebar .gateway-state span,.app.rail-transitioning .side-bottom .copy{opacity:0;visibility:hidden}.brand-label{line-height:16px}button.app-version{display:inline-flex;align-items:center;justify-content:center;height:16px;margin:0;padding:0;min-height:0;border:0;background:transparent;color:inherit;font:inherit;font-size:6px;line-height:16px;letter-spacing:.02em;-webkit-appearance:none;-moz-appearance:none;appearance:none}.update-info{margin:0;display:grid;gap:12px}.update-info>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:baseline}.update-info dt{color:var(--muted);font-size:13px}.update-info dd{margin:0;font-size:15px;font-weight:650;word-break:break-word}.update-info dd.update-note{font-weight:500;white-space:pre-wrap;max-height:40vh;overflow:auto}@keyframes rail-collapse-bounce{0%{width:180px}72%{width:64px}86%{width:71px}to{width:68px}}.app.rail-bounce .sidebar{animation:rail-collapse-bounce .42s cubic-bezier(.2,.9,.22,1) both}nav{position:relative;display:grid;gap:6px}.nav-active-indicator{position:absolute;z-index:0;left:0;right:-12px;top:0;height:52px;border-radius:var(--radius) 0 0 var(--radius);background:var(--workspace-bg);opacity:0;pointer-events:none;transform:translateZ(0);transition:transform .38s cubic-bezier(.2,.9,.22,1),height .24s var(--ease-out),opacity var(--dur-fast) ease-out;will-change:transform,height}.nav-active-indicator.no-motion{transition:none}.nav-item{position:relative;z-index:1;display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 12px;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:transparent;color:var(--side-text);text-align:left;font-size:15px;letter-spacing:.04em;white-space:nowrap;transition:background var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.nav-item:focus:not(:focus-visible){outline:none}.nav-item svg{flex:none;transition:transform var(--dur-base) var(--ease-out)}.nav-item:hover{background:var(--sidebar-2);color:#fff}.nav-item.active,.nav-item.active:hover{background:transparent;color:var(--text)}.side-bottom{margin-top:auto}.cast-panel{background:var(--sidebar-2);border:1px solid var(--sidebar-line);border-radius:var(--radius);padding:8px;margin-bottom:12px}#castPanel.morph-source{visibility:hidden}.cast-full{height:72px}.cast-overview{display:grid;grid-template-columns:minmax(0,1fr) 148px;align-items:stretch;height:100%}.cast-status{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:4px 16px 4px 2px}.cast-secret{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-left:14px;border-left:1px solid var(--sidebar-line)}.cast-manage,.cast-eye{border:0;background:transparent;color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.cast-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--side-muted)}.cast-panel.live .cast-dot{background:#34d399}.cast-status-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.cast-status-copy strong{font-size:13px;font-weight:500;letter-spacing:.02em;color:#fff}.cast-status-copy em{font-style:normal;font-size:12px;color:var(--side-muted)}.cast-manage{position:absolute;top:2px;right:0;padding:2px 0;color:var(--side-muted);font-size:12px}.cast-manage:hover{color:#fff}.cast-panel-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--side-muted)}.cast-eye{width:28px;height:28px;display:grid;place-items:center;color:var(--side-muted)}.cast-eye.on{color:var(--accent)}.cast-eye.on .cast-eye-slash{display:none}.cast-code-hit{display:flex;flex-direction:column;justify-content:center;width:100%;flex:1;min-height:0;padding:0;text-align:left}.cast-code{display:block;font-family:var(--font-mono);font-size:22px;font-weight:700;letter-spacing:.08em;color:var(--accent);margin:0;font-variant-numeric:tabular-nums}.cast-mini{display:none}#btnLogout{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:52px;padding-inline:12px;white-space:nowrap;transition:color var(--dur-fast) ease-out}#btnLogout svg{flex:none;transition:transform var(--dur-base) var(--ease-out)}#btnLogout:hover{color:#fff}.side-bottom .copy.muted{margin-top:12px;color:var(--side-muted);font-size:11px;white-space:nowrap}.app.rail .sidebar{width:var(--rail-mini);padding-inline:12px}.app.rail .side-top{margin:-16px -12px 18px;padding:8px 12px 8px 16px}.app.rail .brand-text strong,.app.rail .brand-label,.app.rail .app-version{display:none}.app.rail .brand-text{display:block;position:absolute;left:0;top:0;width:36px;height:36px;margin:0;overflow:visible}.app.rail .brand-text>span{margin:0;min-height:36px;align-items:flex-start;justify-content:flex-end}.app.rail nav{gap:6px}.app.rail .nav-item{min-height:52px;flex-direction:row;justify-content:center;gap:12px;padding:10px 12px;text-align:left}.app.rail .nav-item svg{transform:translateY(-7px)}.app.rail nav .nav-label{position:absolute;left:2px;right:2px;bottom:4px;display:block;overflow:hidden;text-align:center;color:inherit;font-size:10px;line-height:12px;letter-spacing:0;text-overflow:ellipsis}.app.rail .nav-item.active:before{left:-10px}.app.rail .sidebar .cast-full{display:none}.app.rail .sidebar .cast-panel{padding:0;border:0;background:transparent;margin-bottom:10px}.app.rail .sidebar .cast-mini{display:grid;place-items:center;width:100%;aspect-ratio:1;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:18px;font-weight:700;transition:transform var(--dur-fast) ease-out,box-shadow var(--dur-fast) ease-out}.app.rail .sidebar .cast-mini:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ffa94059}.app.rail .copy{display:none}.app.rail #btnLogout{position:relative;min-height:52px;flex-direction:row;justify-content:center;gap:8px;padding:9px 12px}.app.rail #btnLogout svg{transform:translateY(-7px)}.app.rail #btnLogout .nav-label{position:absolute;left:2px;right:2px;bottom:4px;display:block;overflow:hidden;text-align:center;font-size:10px;line-height:12px;letter-spacing:0;text-overflow:ellipsis}.workspace{--workspace-pad-left: 16px;--workspace-pad-right: 16px;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;background:var(--workspace-bg);padding:0 var(--workspace-pad-right) 8px var(--workspace-pad-left);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.workspace-footer{flex:none;margin-top:auto;padding-top:28px;color:var(--muted);font-size:11px;line-height:1.5;text-align:center}.topbar{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px}.topbar.is-empty,.top-eyebrow,.topbar h2{display:none}.topbar p:not(.top-eyebrow),.toolbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.screen-state{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);background:var(--green-soft);color:#0f6b4a;font-size:13px;font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap}.screen-state i{width:8px;height:8px;border-radius:50%;background:var(--green)}.page{display:none;width:100%;max-width:100%;min-width:0;padding-top:24px}.page.active{display:block}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px}.toolbar .search{flex:1;max-width:420px}.toolbar h3{margin:0;letter-spacing:.02em}.toolbar>div:first-child:not(.search){flex:1}.table-wrap{width:100%;max-width:100%;min-width:0;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}table{width:100%;border-collapse:collapse}.roster-sheet{--member-cols: minmax(118px, .9fr) 56px 64px minmax(84px, .72fr) minmax(100px, .85fr) minmax(138px, 1.05fr) 90px;min-width:720px}.group-sheet{--member-cols: minmax(72px, 1fr) 46px minmax(92px, 1fr) minmax(84px, .85fr) 122px;width:100%;min-width:0}th,td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f8fafc;color:var(--muted);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em}td:nth-child(3),td:nth-child(5){font-family:var(--font-mono);font-variant-numeric:tabular-nums}.group-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 12px;margin-bottom:4px}#monitorPage>.group-bar{align-items:flex-end;flex-wrap:nowrap;margin-bottom:16px}.group-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}.member-tab-bar{margin-bottom:16px}.member-page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:14px}.member-page-head .member-tab-bar{flex:1;min-width:0;margin-bottom:0}.member-tab-actions{flex:none;display:flex;align-items:center;gap:8px;padding-bottom:4px}.member-tab-actions .member-search{width:260px}.member-tab-actions .member-search input{min-height:40px}.settings-tab-bar.monitor-tab-bar{flex:1;min-width:0;margin-bottom:0;overflow-x:auto;overflow-y:hidden;border-bottom:0;box-shadow:inset 0 -2px 0 var(--line);scrollbar-width:none;overscroll-behavior-inline:contain}.monitor-tab-bar::-webkit-scrollbar{display:none}.monitor-tab-bar .elastic-tab-indicator{bottom:0}.monitor-group-tab{flex:none;white-space:nowrap}.member-subpage{width:100%;min-width:0}.roster-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;margin-bottom:0}.roster-toolbar .status{margin:0;flex:1;color:var(--muted);font-size:13px}.roster-toolbar .status:not(:empty){margin-bottom:14px}.member-count{flex:none;color:var(--muted);font-size:13px;white-space:nowrap}@keyframes pad-spin{to{transform:rotate(360deg)}}@keyframes pad-load-bar{0%{transform:translate(-100%)}to{transform:translate(100%)}}.icon-btn.is-loading svg{animation:pad-spin .9s linear infinite}.icon-btn.is-done svg{color:var(--accent)}.icon-btn:not(.is-loading) svg{transition:color .3s ease-out}#btnReloadDevices:active svg{transform:rotate(90deg);transition:transform .12s ease-out}.sum-item.is-loading{position:relative;overflow:hidden;pointer-events:none}.sum-item.is-loading:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:pad-load-bar .9s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.icon-btn.is-loading svg,.sum-item.is-loading:after{animation:none}}.roster-ops{flex:none;display:flex;align-items:center;gap:8px}.group-layout{display:grid;grid-template-columns:220px 1fr;gap:8px;align-items:start;min-height:520px}.group-master-pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);display:flex;flex-direction:column;overflow:hidden}.group-pane-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:#f8fafc}.icon-btn{width:30px;min-width:30px;height:30px;min-height:30px;display:inline-grid;place-items:center;padding:0;font-size:22px;line-height:24px;font-weight:400}.group-pane-title{font-size:14px;font-weight:600;color:#1f2b3d;letter-spacing:.02em}.group-list{display:flex;flex-direction:column;padding:8px;gap:4px;max-height:calc(100vh - 270px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.group-item-shell{position:relative;flex:none;min-height:44px;overflow:hidden;border-radius:var(--radius);background:var(--surface)}.group-item-actions{position:absolute;z-index:1;inset:0 0 0 auto;display:flex;align-items:stretch;width:132px;background:#eef1f6;border-radius:0 var(--radius) var(--radius) 0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-fast) ease-out,visibility var(--dur-fast) ease-out}.group-item-shell.swiped .group-item-actions{z-index:2;opacity:1;visibility:visible;pointer-events:auto}.group-item-shell.swiped .group-item{border-radius:var(--radius) 0 0 var(--radius)}.group-item-action{flex:1;border:0;padding:0 4px;color:#334155;background:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.group-item-action:hover{background:#cbd5e1}.group-item-action.delete{color:#fff;background:#ef4444}.group-item-action.delete:hover{background:#dc2626}.group-item{position:relative;z-index:2;transform:translate(0);display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:11px 14px;border-radius:var(--radius);border:1px solid transparent;background:var(--surface);color:#3d4c63;font-size:14px;text-align:left;cursor:pointer;transition:transform .22s cubic-bezier(.16,1,.3,1),background var(--dur-fast) ease-out,border-color var(--dur-fast) ease-out;touch-action:pan-y;user-select:none;-webkit-user-select:none}.group-item-shell.swiped .group-item{transform:translate(-132px)}.group-item:hover{background:#f1f4f8;color:#1a2332}.group-item.active{background:#fff6eb;color:var(--accent-ink);font-weight:600;border-color:#ffa94073}.group-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-item-badge{flex:none;padding:2px 8px;border-radius:var(--radius);background:#e9eef5;color:#5a6a80;font-size:12px;font-family:var(--font-mono)}.group-item.active .group-item-badge{background:var(--accent);color:#fff;font-weight:700}.group-item.dragging{opacity:.72;background:#fff;box-shadow:0 8px 18px #10233d2e;border-color:var(--accent)}.group-list.sorting .group-item{touch-action:none}.group-detail-pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);display:flex;flex-direction:column;padding:18px 20px;min-width:0}.group-detail-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:12px}.group-detail-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 14px;min-width:0}.group-detail-title{margin:0;font-size:14px;font-weight:600;color:#1f2b3d;letter-spacing:.02em}.group-detail-count{font-size:13px;color:var(--muted);white-space:nowrap}.group-detail-meta .status{margin:0;font-size:13px;color:var(--muted)}.group-table-wrap{border:0;box-shadow:none;border-radius:0;margin:0}.member-search input{width:100%;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:#1f2b3d;font-size:14px}.member-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.group-chip{min-height:36px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);font-size:13px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.group-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.group-chip.dragging{opacity:.72;box-shadow:0 8px 18px #10233d2e}.group-ops{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}.member-create{display:flex;flex-wrap:nowrap;gap:8px;align-items:center}.app.monitor-full{display:flex;width:100%;min-width:0;height:100vh}.app.monitor-full .sidebar,.app.monitor-full .topbar{display:none}.app.monitor-full .workspace{flex:1 1 auto;width:auto;max-width:none;min-width:0;height:100%;padding:0 10px 12px}.app.monitor-full .workspace-footer{display:none}.app.monitor-full #monitorPage{position:relative;width:100%;min-height:0;flex:1;display:flex;flex-direction:column;padding-top:0;opacity:1;transform:none;animation:none}.app.monitor-full #monitorPage .group-bar{position:relative;width:calc(100% + 20px);height:52px;min-height:52px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;margin:0 0 8px -10px;padding:0 16px;background:#fff}.app.monitor-full .monitor-tab-bar{flex:1 1 auto;min-width:0;width:auto}.app.monitor-full .monitor-group-tab{white-space:nowrap}.app.monitor-full #monitorGrid{width:100%}.app.monitor-full .wall-side{flex:0 0 clamp(92px,40%,132px);width:auto;max-width:132px;display:flex;align-items:center;justify-content:center}.app.monitor-full .wall-ring{width:min(100%,128px);max-width:128px;aspect-ratio:1 / 1;margin:auto}.app.monitor-full .ring-svg{width:100%;height:100%;object-fit:contain}.app.monitor-full #monitorEmpty{flex:1;display:flex;align-items:center;justify-content:center;width:100%;text-align:center;white-space:normal;padding:24px}.monitor-full{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;flex:none;width:30px;height:30px;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius);line-height:0;background:#fff;color:#1a2332;box-shadow:var(--shadow-1)}.monitor-full-ico{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.monitor-full svg{display:block;width:16px;height:16px}.monitor-full:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.app.monitor-full .monitor-full{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.monitor-full .icon-compress{display:none}.monitor-full:active{background:#eef1f6}.app.monitor-full .monitor-full .icon-expand{display:none}.app.monitor-full .monitor-full .icon-compress{display:block}@media(prefers-reduced-transparency:reduce){.monitor-full{background:#fff;color:#1a2332;backdrop-filter:none;-webkit-backdrop-filter:none}}.monitor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wall-card{container-type:inline-size;display:flex;flex-direction:column;min-width:0;background:#fff;color:#1a2332;border-radius:var(--radius);overflow:hidden;border:1.5px solid #64748b;box-shadow:0 8px 24px #10233d1f}.wall-name{flex:none;margin:0;padding:.45em .5em;text-align:center;font-size:clamp(12px,5.6cqw,16px);font-weight:700;line-height:1.2;letter-spacing:.02em;color:#fff;background:#2563eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-card.green{border-color:#16a34a}.wall-card.green .wall-name{background:#16a34a}.wall-card.green .wall-foot:after{background:#16a34a}.wall-card.blue{border-color:#278db8}.wall-card.blue .wall-name{background:#278db8}.wall-card.blue .wall-foot:after{background:#278db8}.wall-card.yellow{border-color:#b4c51b}.wall-card.yellow .wall-name{background:#b4c51b;color:#172006}.wall-card.yellow .wall-foot:after{background:#b4c51b}.wall-card.red{border-color:#ef4444;animation:wall-alarm 1s ease-in-out infinite}.wall-card.red .wall-name{background:#dc2626}.wall-card.red .wall-foot:after{background:#dc2626}.wall-card.gray{border-color:#64748b}.wall-card.gray .wall-name{background:#64748b}.wall-card.gray .wall-foot:after{background:#64748b}@keyframes wall-alarm{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 22px 4px #ef444473}}@media(prefers-reduced-motion:reduce){.wall-card.red{animation:none;box-shadow:0 0 0 3px #ef4444}}.wall-body{display:flex;align-items:center;gap:clamp(4px,2cqw,10px);padding:clamp(6px,2.4cqw,12px) clamp(6px,2.4cqw,12px) clamp(4px,1.6cqw,8px);background:#fff}.wall-side{flex:0 1 44%;width:44%;max-width:148px;min-width:0}.wall-ring{container-type:inline-size;position:relative;width:100%;aspect-ratio:1}.ring-svg{display:block;width:100%;height:auto}.ring-score{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;font-size:21.8cqw;font-weight:800;color:#0d1b2a;font-variant-numeric:tabular-nums;pointer-events:none}.ring-labels{position:absolute;left:54.55%;top:76.36%;z-index:2;display:flex;flex-direction:column;pointer-events:none}.side-line{margin:0;display:flex;align-items:center;height:9.09cqw;font-size:7.27cqw;font-weight:400;line-height:1;white-space:nowrap;color:#5c6b80;font-variant-numeric:tabular-nums}.side-line strong{margin-right:2px;font-weight:700}.side-line.aero strong{color:#1f91b5}.side-line.ana strong{color:#0f5d77}.wall-split{flex:none;align-self:stretch;width:1px;background:#e7eef2}.wall-metrics{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.metric-box{display:flex;flex-direction:column;gap:2px;min-width:0}.metric-head{display:flex;align-items:center;gap:4px;font-size:clamp(10px,4.4cqw,13px);font-weight:500;color:#5f6b76;line-height:1;white-space:nowrap}.metric-head.intensity-head{justify-content:space-between}.icon-heart{width:14px;height:14px;color:#ef4444;flex:none}.metric-val{display:flex;align-items:baseline;gap:6px;line-height:1;white-space:nowrap}.hr-num,.pct-num{font-size:clamp(16px,11cqw,34px);font-weight:800;line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#0d1b2a}.hr-unit{font-size:clamp(10px,4.6cqw,13px);font-weight:600;color:#5f6b76}.pct-unit{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:2px}.pct-unit b{font-size:clamp(10px,4.6cqw,13px);font-weight:700;color:#5f6b76}.pct-unit small{font-size:clamp(8px,3.2cqw,10px);font-weight:600;color:#8ca8b8}.icon-heart{width:1.15em;height:1.15em}.metric-line{height:1px;margin:4px 0;background:#e7eef2}.wall-card .ztag{display:inline-block;padding:2px 6px;border-radius:var(--radius);font-size:clamp(9px,4cqw,11px);font-weight:700;line-height:1;white-space:nowrap;background:#e8edf3;color:#5c6b80;font-variant-numeric:tabular-nums}.wall-card .ztag.z1{background:#3dbe7e24;color:#22995c}.wall-card .ztag.z2{background:#18a87424;color:#0f6b4a}.wall-card .ztag.z3{background:#ca8a0429;color:#92600a}.wall-card .ztag.z4{background:#ea580c29;color:#c2410c}.wall-card .ztag.z5{background:#dc354529;color:#b42318}.wall-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:clamp(2px,1cqw,8px);padding:clamp(4px,1.5cqw,7px) clamp(4px,1.6cqw,10px) clamp(8px,2.5cqw,11px);background:#fff}.wall-foot:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#0a63c4}.foot-item{display:flex;flex-direction:row;align-items:center;gap:.25em;min-width:0}.foot-icon{width:1.15em;height:1.15em;color:#7b8796;flex:none}.foot-val{font-size:clamp(8px,4.4cqw,14px);font-weight:700;color:#1a2332;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.foot-val strong{font-weight:700;color:#1a2332}.foot-val.dur-val{font-size:clamp(8px,3.8cqw,13px)}.foot-unit{margin-left:1px;font-size:.78em;font-weight:500;color:#7b8796}.foot-empty{color:#7b8796}.group-tags{display:flex;flex-wrap:wrap;gap:4px}.group-tag{display:inline-flex;padding:2px 8px;border-radius:var(--radius);background:var(--accent-soft);color:#8a5a13;font-size:12px}.pick-list{max-height:min(42vh,320px);overflow:auto;display:flex;flex-direction:column;gap:8px}.pick-list label{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;min-height:40px}.pick-list input[type=checkbox]{width:20px;height:20px;min-width:20px;padding:0;margin:0;flex:none;box-shadow:none}.pick-list label span{margin-left:auto;color:var(--muted);font-family:var(--font-mono)}.belt-list{max-height:min(46vh,360px);overflow:auto;display:flex;flex-direction:column;gap:8px}.belt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-align:left}.belt-row strong{display:block;font-size:15px;font-weight:500}.belt-row em{display:block;margin-top:2px;color:var(--muted);font-style:normal;font-family:var(--font-mono);font-size:12px}.belt-row-side{display:flex;align-items:center;gap:8px;flex:none}.belt-row-side .compact{min-height:32px;padding:4px 12px;font-size:13px}.belt-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:8px 0;color:var(--muted);font-size:14px}.belt-empty p{margin:0}tbody tr{transition:background var(--dur-fast) ease-out}tbody tr:hover{background:#fafbfd}tbody tr:last-child td{border-bottom:0}.member-name{display:flex;align-items:center;gap:8px;min-width:0;font-weight:500}.member-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-avatar{position:relative;flex:none;display:inline-grid;place-items:center;width:28px;height:28px;overflow:hidden;border-radius:50%;background:var(--av, #0874cc);color:#fff;font-size:13px;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.member-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.member-avatar.lg{width:64px;height:64px;font-size:26px}.avatar-field{display:flex;align-items:center;gap:14px;margin-bottom:16px}.avatar-pick{position:relative;flex:none;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.avatar-pick-badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#015bb4;color:#fff}.avatar-field-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.avatar-field-meta strong{font-size:14px;color:#1f2b3d}.avatar-field-meta small{color:var(--muted);font-size:12px}.member-sex{color:var(--muted);font-weight:400;font-size:13px}.member-age{font-variant-numeric:tabular-nums}.member-sheet-head,.member-swipe-face{display:grid;grid-template-columns:var(--member-cols);align-items:center}.member-sheet-head{position:sticky;top:0;z-index:3;background:#f8fafc;color:var(--muted);border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.12em}.member-sheet-head span,.member-swipe-face>*{padding:15px 18px;min-width:0}.roster-sheet .member-sheet-head span,.roster-sheet .member-swipe-face>*{padding-right:12px;padding-left:12px}.group-sheet .member-sheet-head span,.group-sheet .member-swipe-face>*{padding-right:10px;padding-left:10px}.roster-sheet .member-sheet-head span:nth-child(2),.roster-sheet .member-sheet-head span:nth-child(3),.roster-sheet .member-sheet-head span:nth-child(7),.roster-sheet .member-swipe-face>:nth-child(2),.roster-sheet .member-swipe-face>:nth-child(3){white-space:nowrap}.group-sheet .member-sheet-head span:nth-child(2),.group-sheet .member-sheet-head span:nth-child(5),.group-sheet .member-swipe-face>:nth-child(2){white-space:nowrap}.member-swipe-shell{position:relative;overflow:hidden;background:var(--surface);border-bottom:1px solid var(--line)}.member-swipe-shell:last-child{border-bottom:0}.member-swipe-actions{position:absolute;z-index:1;inset:0 0 0 auto;display:flex;align-items:stretch;width:var(--swipe-w, 156px);background:#eef1f6;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-fast) ease-out,visibility var(--dur-fast) ease-out}.member-swipe-shell.swiped .member-swipe-actions{z-index:2;opacity:1;visibility:visible;pointer-events:auto}.member-swipe-action{flex:1;border:0;padding:0 6px;color:#334155;background:#e2e8f0;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.member-swipe-action.danger{color:#fff;background:#ef4444}.member-inline-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.member-inline-action{min-height:30px;padding:4px 10px;border:1px solid var(--button-secondary);border-radius:var(--radius);background:var(--button-secondary);color:#fff;font-size:12px;font-weight:600;cursor:pointer}.member-inline-action.icon-only{display:inline-grid;place-items:center;width:30px;min-width:30px;height:30px;padding:0}.member-inline-action.accent{border-color:var(--button-blue);background:var(--button-blue);color:#fff}.member-inline-action.danger{border-color:#ef4444;background:#ef4444;color:#fff}.member-swipe-face{position:relative;z-index:1;transform:translate(0);background:var(--surface);min-height:52px;transition:transform .22s cubic-bezier(.16,1,.3,1);touch-action:pan-y;user-select:none;-webkit-user-select:none}.member-swipe-shell.swiped .member-swipe-face{transform:translate(calc(-1 * var(--swipe-w, 156px)));border-radius:0}@media(hover:hover)and (pointer:fine){.member-swipe-shell:hover .member-swipe-face{background:#fafbfd}.member-swipe-action:hover{background:#cbd5e1}.member-swipe-action.danger:hover{background:#dc2626}.member-inline-action:hover{border-color:var(--button-secondary-hover);background:var(--button-secondary-hover)}.member-inline-action.accent:hover{border-color:var(--button-blue-hover);background:var(--button-blue-hover)}.member-inline-action.danger:hover{border-color:#dc2626;background:#dc2626}}@media(prefers-reduced-motion:reduce){.member-swipe-face,.member-swipe-actions{transition:none}}.badge{display:inline-flex;padding:4px 10px;border-radius:var(--radius);background:#eef1f6;color:#65738a;font-size:12px;font-family:var(--font-mono)}.badge.online{background:var(--green-soft);color:#0f6b4a}.badge.bound{background:var(--accent-soft);color:#8a5a13}.bind-state{display:inline-flex;align-items:center;gap:7px;color:var(--muted);white-space:nowrap}.bind-state i{width:9px;height:9px;border-radius:50%;background:#c5ced8}.bind-state.restoring{color:#8a5a13}.bind-state.restoring i{background:var(--accent)}.bind-state.nowear{color:#8a5a13}.bind-state.nowear i{background:var(--accent)}.bind-state.nodata{color:#b42318}.bind-state.nodata i{background:var(--danger)}.bind-state.linked,.bind-state.receiving,.bind-state.remote{color:#0f6b4a}.bind-state.linked i,.bind-state.receiving i,.bind-state.remote i{background:var(--green)}.action-btn{min-height:34px;padding:6px 12px;font-size:13px;border:1px solid var(--button-blue);border-radius:var(--radius);background:var(--button-blue);color:#fff;letter-spacing:.02em;transition:background var(--dur-fast) ease-out}.action-btn:hover{border-color:var(--button-blue-hover);background:var(--button-blue-hover)}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.action-btn.danger{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.empty{padding:52px 20px;text-align:center;color:var(--muted)}.settings-device-wrap{width:100%;min-width:0}.settings-device-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.settings-device-toolbar .status{flex:1;margin:0}.settings-device-toolbar .settings-small-btn{flex:none}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:16px}.device-card{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);transition:transform var(--dur-fast) ease-out,box-shadow var(--dur-fast) ease-out}.device-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}.device-card header{display:flex;justify-content:space-between;align-items:center;gap:12px}.device-card h4{margin:0;min-width:0;font-size:16px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card dl{margin:18px 0 0;display:grid;grid-template-columns:auto 1fr;gap:9px 14px;font-size:13px}.device-card dt{color:var(--muted)}.device-card dd{margin:0;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.device-card dd.bound-user{color:#0066b4;font-weight:700}.device-card dd.battery-low{color:#d92d20;font-weight:700}.device-card-actions{display:flex;justify-content:flex-end;margin-top:14px}.device-card-actions [data-link-action].hidden{display:none}.page .device-card .device-card-actions [data-link-action]{min-height:28px;height:28px;padding:0 14px;font-size:12px;line-height:26px}dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;height:fit-content;width:min(520px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:0;border:0;overflow:auto;border-radius:var(--radius);box-shadow:var(--shadow-3)}dialog::backdrop{background:#0c152680}.dialog-card{padding:24px}.dialog-card header{display:flex;justify-content:space-between;margin-bottom:22px}.dialog-card h3{margin:0;font-size:20px;letter-spacing:.02em}.dialog-card header p{margin:5px 0 0;color:var(--muted);font-size:13px}.close{width:36px;height:36px;background:#eef1f6;color:#526078;font-size:22px;transition:background var(--dur-fast) ease-out}.close:hover{background:#e2e8f1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.topbar.reveal{opacity:0;transform:translateY(18px);animation:pad-in .46s var(--ease-out) forwards}.page.reveal{opacity:1;transform:none;animation:none}@keyframes pad-in{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.logo-startup{animation-delay:.65s}.logo-startup-fallback,.logo-startup-fallback i,.logo-startup-caption{animation:none}.reveal{opacity:1;transform:none;animation:none}.nav-active-indicator,.sidebar,.primary,.action-btn,.device-card,.nav-item,input,select{transition:none}.app.rail-bounce .sidebar{animation:none}}@media(max-width:860px){.workspace{--workspace-pad-left: 8px;--workspace-pad-right: 8px;padding-left:var(--workspace-pad-left);padding-right:var(--workspace-pad-right)}.table-wrap{overflow-x:auto}table{min-width:720px}}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.sess-screen{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:12px}.sess-screen select{min-height:36px;padding:5px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:#2c3648;font-size:13px;max-width:210px}.sess-tools .text-btn{min-height:36px;color:#8a5a13}.sess-tools .text-btn:hover{text-decoration:underline}.sess-dialog{width:min(880px,calc(100% - 32px))}.sess-legend{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:var(--muted);font-size:12px}.sess-legend .mini{display:inline-block;width:14px;height:8px;border-radius:var(--radius);margin-left:2px}.mini.z1,.mzseg i.z1{background:#2563eb}.mini.z2,.mzseg i.z2{background:#16a34a}.mini.z3,.mzseg i.z3{background:#ca8a04}.mini.z4,.mzseg i.z4{background:#ea580c}.mini.z5,.mzseg i.z5{background:#dc2626}.mzseg{display:flex;width:100%;max-width:190px;height:10px;border-radius:var(--radius);overflow:hidden;background:#e9edf3}.mzseg i{display:block;height:100%;min-width:2px}.mztext{margin-top:5px;font-size:12px;color:var(--muted)}.cell-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sess-dialog .table-wrap{max-height:54vh;overflow:auto}.sess-dialog td:nth-child(2),.sess-dialog td:nth-child(4),.sess-dialog td:nth-child(5){font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sess-empty{text-align:center;color:var(--muted);padding:26px 0}#summaryPage{padding-top:0}#summaryPage>.sum-range-picker{width:calc(100% + var(--workspace-pad-left) + var(--workspace-pad-right));height:52px;margin-left:calc(0px - var(--workspace-pad-left));border:0;border-radius:0;box-shadow:none}#summaryPage .sum-range-main{height:100%;border-radius:0}#summaryPage .sum-range-toggle{height:100%;min-height:0}#summaryPage .sum-range-preview .sum-day{height:38px}.sum-range-picker{--sum-range-left: 230px;position:relative;width:100%;margin-bottom:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:visible}.sum-range-main{display:grid;grid-template-columns:var(--sum-range-left) minmax(0,1fr);align-items:center;gap:12px;padding-right:14px;border-radius:var(--radius);overflow:hidden}.sum-range-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:72px;padding:10px 18px;border:0;background:var(--surface);color:var(--text);text-align:left}.sum-range-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.sum-range-toggle small{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.16em}.sum-range-toggle strong{font-family:var(--font-mono);font-size:15px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.sum-range-controls{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.sum-range-preview{display:flex;flex:0 1 50%;max-width:470px;align-items:stretch;gap:4px;min-width:260px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.sum-range-preview .sum-day{flex:1 1 0;min-width:30px;height:52px;border-radius:var(--radius);font-size:15px}.sum-range-preview .sum-day.selected{margin-right:-4px}.sum-range-preview .sum-handle{width:15px;height:15px;border-width:3px}.sum-range-preview .sum-handle.start{left:-6px}.sum-range-preview .sum-handle.end{right:-6px}.sum-range-controls>#btnSumRefresh{flex:none;width:30px;min-width:30px;height:30px;min-height:30px;margin-left:auto;padding:0;font-size:13px}.sum-calendar{position:absolute;z-index:20;top:calc(100% + 8px);left:calc(var(--sum-range-left) + 12px);width:clamp(450px,calc(75% - 278px),780px);max-height:0;opacity:0;transform:translateY(-10px);overflow:hidden;pointer-events:none;border:1px solid transparent;border-radius:var(--radius);background:var(--surface);box-shadow:none;transition:max-height .36s var(--ease-out),opacity .18s ease-out,transform .36s var(--ease-out),border-color .18s ease-out,box-shadow .18s ease-out}.sum-range-picker.open .sum-calendar{max-height:580px;opacity:1;transform:translateY(0);pointer-events:auto;border-color:var(--line);box-shadow:var(--shadow-3)}.sum-calendar-inner{padding:14px}.sum-dual-month{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;touch-action:none;-webkit-user-select:none;user-select:none}.sum-month-panel{min-width:0;padding:6px}.sum-month-panel+.sum-month-panel{border-left:1px solid var(--line);padding-left:16px}.sum-month-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin-bottom:8px;text-align:center}.sum-month-head strong{font-size:14px;letter-spacing:.04em}.sum-month-head button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:#4d5a6e;font-size:22px;line-height:26px}.sum-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.sum-day{position:relative;flex:0 0 50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:58px;padding:0;border:1px solid #d7dde7;border-radius:var(--radius);background:#f8fafc;color:#344156;font-family:var(--font-mono);font-size:18px;isolation:isolate;transition:flex-basis .18s var(--ease-out),margin .18s var(--ease-out),border-color .14s ease-out,background-color .14s ease-out}.sum-day span{line-height:1}.sum-day small{color:#8b95a5;font-size:9px;font-weight:600;letter-spacing:.06em}.sum-day:hover{border-color:#bfc8d6;background:#f1f4f8}.sum-day.selected{margin-right:-6px;border-color:transparent;border-radius:0;background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.sum-day.selected.range-row-start{border-radius:var(--radius) 0 0 var(--radius)}.sum-day.selected.range-row-end{margin-right:0;border-radius:0 var(--radius) var(--radius) 0}.sum-day.selected.range-row-start.range-row-end{border-radius:var(--radius)}.sum-day.today:not(.selected){color:#b56a0c;font-weight:700}.sum-day.blank{pointer-events:none}.sum-month-days .sum-day{width:100%;min-width:0;height:42px;font-size:13px;border-radius:var(--radius)}.sum-month-days .sum-day small{font-size:7px}.sum-month-days .sum-day.selected{margin-right:0;border-radius:0}.sum-month-days .sum-day.selected.range-row-start{border-radius:var(--radius) 0 0 var(--radius)}.sum-month-days .sum-day.selected.range-row-end{border-radius:0 var(--radius) var(--radius) 0}.sum-month-days .sum-day.selected.range-row-start.range-row-end{border-radius:var(--radius)}.sum-month-days .sum-handle{width:14px;height:14px;border-width:3px}.sum-month-days .sum-handle.start{left:-6px}.sum-month-days .sum-handle.end{right:-6px}.sum-handle{position:absolute;z-index:2;top:50%;width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 1px 4px #24130047;transform:translateY(-50%);opacity:0;pointer-events:none}.sum-handle.start{left:-8px}.sum-handle.end{right:-8px}.sum-day.range-start .sum-handle.start,.sum-day.range-end .sum-handle.end{opacity:1;pointer-events:auto}.sum-range-hint{margin:10px 2px 0;color:var(--muted);font-size:11px;line-height:1.5}.sum-range-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.sum-range-actions .primary{min-width:76px}@media(max-width:1100px){.sum-range-picker{--sum-range-left: 210px}.sum-range-toggle strong{font-size:13px}}.sum-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sum-item{display:flex;min-width:0;flex-direction:column;gap:12px;padding:14px 15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) ease-out,transform var(--dur-fast) ease-out;content-visibility:auto;contain-intrinsic-size:102px}.sum-item:hover{border-color:var(--accent);transform:translateY(-1px)}.sum-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sum-item.morph-source{visibility:hidden}.sum-item .sum-head{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}.sum-item h4{min-width:0;margin:0;overflow:hidden;color:#202b3b;font-size:15px;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.sum-item .sum-time{flex:none;color:var(--muted);font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sum-motion-tags{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:20px}.sum-motion-tags span,.sum-motion-tags small{padding:3px 7px;border-radius:var(--radius);background:var(--accent-soft);color:#8a4a00;font-size:10px;font-weight:600;line-height:14px}.sum-stats{display:grid;grid-template-columns:1.25fr 1fr 1fr;padding-top:10px;border-top:1px solid var(--line)}.sum-stats>span{min-width:0;padding:0 8px;border-left:1px solid var(--line)}.sum-stats>span:first-child{padding-left:0;border-left:0}.sum-stats>span:last-child{padding-right:0}.sum-stats em{display:block;margin-bottom:4px;overflow:hidden;color:var(--muted);font-size:9px;font-style:normal;white-space:nowrap;text-overflow:ellipsis}.sum-stats strong{display:flex;align-items:baseline;gap:3px;overflow:hidden;color:#263348;font-family:var(--font-mono);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.sum-stats small{color:#8a95a5;font-family:var(--font-body);font-size:8px;font-weight:500}@media(min-width:1500px){.sum-list{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:1900px){.sum-list{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(min-width:2400px){.sum-list{grid-template-columns:repeat(7,minmax(0,1fr))}}@media(min-width:2900px){.sum-list{grid-template-columns:repeat(8,minmax(0,1fr))}}.sum-more-wrap{display:flex;justify-content:center;padding:18px 0 6px}.sum-more-wrap .secondary{min-width:132px}#summaryPage .sum-mode-switch{display:inline-flex;flex:none;gap:2px;margin-left:auto;padding:3px;border:1px solid var(--line);border-radius:var(--radius);background:#f3f5f9}#summaryPage .sum-mode-switch+#btnSumRefresh{margin-left:0}#summaryPage .sum-mode-switch button{min-height:0;height:30px;padding:0 16px;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;box-shadow:none;color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.04em;transition:background var(--dur-fast) ease-out,color var(--dur-fast) ease-out,box-shadow var(--dur-fast) ease-out}#summaryPage .sum-mode-switch button.active{background:var(--surface);color:#1f2b3d;box-shadow:var(--shadow-1)}.sum-team-row{display:flex}.sum-team-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;padding:3px 7px;border-radius:var(--radius);background:#eef2f8;color:#3d4a60;font-size:10px;font-weight:600;line-height:14px;white-space:nowrap;text-overflow:ellipsis;transition:background var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.sum-team-tag i{font-style:normal;font-size:12px;line-height:12px}.sum-team-tag:hover{background:var(--accent-soft);color:#8a4a00}.sum-team-tag:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sum-motion-tags small.warn{background:#fdecec;color:#b3261e}.sess-dialog.team-report-dialog{width:min(980px,calc(100% - 32px))}.team-sort{display:flex;align-items:center;gap:6px;margin:2px 0 10px}.team-sort>span{margin-right:4px;color:var(--muted);font-size:12px}.team-sort button{min-height:0;height:28px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:#4d5a6e;font-size:12px;font-weight:500;transition:background var(--dur-fast) ease-out,border-color var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.team-sort button.active{border-color:var(--accent);background:var(--accent-soft);color:#7b4300}.team-report-dialog td:nth-child(n){font-family:inherit;font-variant-numeric:normal}.team-report-dialog td.cell-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.team-report-dialog .team-member-row{cursor:pointer;transition:background var(--dur-fast) ease-out}.team-report-dialog .team-member-row:hover,.team-report-dialog .team-member-row:focus-visible{background:#f6f8fc;outline:0}.team-report-dialog .team-member-row.is-loading{opacity:.55;pointer-events:none}.team-report-dialog .team-nick{font-weight:600;color:#202b3b}.team-report-dialog .team-go{text-align:right;white-space:nowrap}.team-report-dialog .team-go i{margin-left:8px;color:#98a2b3;font-style:normal;font-size:16px}.team-flag{padding:2px 7px;border-radius:var(--radius);font-size:10px;font-weight:600;line-height:14px}.team-flag.warn{background:#fdecec;color:#b3261e}.team-flag.muted{background:#f1f3f7;color:#8a95a5}.rep-stat b small{font-size:12px;font-weight:500;color:var(--muted)}.team-report-dialog .table-wrap{max-height:none}.team-section{margin:0 0 16px}.team-section h4{margin:0 0 8px;color:#202b3b;font-size:14px;letter-spacing:.02em}.team-section h4 small{margin-left:8px;color:var(--muted);font-size:11px;font-weight:400;letter-spacing:0}.team-section .rep-zone{height:16px;margin:0 0 8px}.team-curve{height:300px;margin:0}.team-zone-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;color:#526078;font-size:12px}.team-zone-legend span{display:inline-flex;align-items:center;gap:6px}.team-zone-legend i{width:9px;height:9px;border-radius:2px}.team-zone-legend i.z1{background:#2563eb}.team-zone-legend i.z2{background:#16a34a}.team-zone-legend i.z3{background:#ca8a04}.team-zone-legend i.z4{background:#ea580c}.team-zone-legend i.z5{background:#dc2626}.team-zone-cell{min-width:150px}.team-zone-cell .mzseg{max-width:150px;height:8px}.team-zone-cell .mztext{margin-top:4px;font-size:11px}.rep-motion-tags{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:4px 0 12px}.rep-motion-tags>strong{margin-right:2px;color:var(--muted);font-size:12px;font-weight:500}.rep-motion-tags>.rep-seg-tag{display:inline-flex;align-items:center;gap:7px;min-height:0;padding:5px 8px;border:1px solid rgba(255,169,64,.35);border-radius:var(--radius);background:var(--accent-soft);color:#7b4300;line-height:16px;cursor:pointer;font:inherit;letter-spacing:0;transition:background var(--dur-fast) ease-out,border-color var(--dur-fast) ease-out}.rep-motion-tags>.rep-seg-tag:hover{border-color:#ff8c0099}.rep-motion-tags>.rep-seg-tag.active{border-color:#ff8c00d9;background:#ffa94057}.rep-motion-tags b{font-size:12px;font-weight:600}.rep-motion-tags small{color:#9a6631;font-family:var(--font-mono);font-size:9px;font-variant-numeric:tabular-nums}.rep-curve{position:relative;height:320px;margin:4px 0 14px;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfe;overflow:hidden;touch-action:pan-y}.rep-vigor-note{margin:6px 2px 0;font-size:12px;color:#98a2b3}.rep-chart-empty{display:grid;place-items:center;height:100%;margin:0}.rep-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 16px}.rep-stat{padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.rep-stat b{display:block;font-size:20px;font-family:var(--font-mono);font-weight:500;font-variant-numeric:tabular-nums;color:#1f2b3d}.rep-stat span{font-size:12px;color:var(--muted)}.rep-zone{max-width:none;height:14px;margin:2px 0 4px}.rep-zone i{min-width:3px}.rep-vitality{margin:10px 0 4px;padding:10px 12px;border-radius:var(--radius);background:#eef4ee;color:#0f6b4a;font-size:13px;line-height:1.6}.rep-vitality.low{background:#fdf1ea;color:#9a4a12}.rep-h{margin:18px 0 8px;font-size:14px;letter-spacing:.02em}.rep-rule{margin:0 0 6px;padding-left:20px}.rep-rule li{margin:4px 0;font-size:13px;line-height:1.7;color:#2c3648}.rep-ai{margin:0;padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);font-size:13px;line-height:1.8;color:#2c3648;white-space:pre-line}.rep-ai.pending{color:#98a2b3}.rep-legend{margin-bottom:6px}.rep-legend .mini{margin:0 2px}.toolbar-note{flex:1;margin:0;color:var(--muted);font-size:13px}.side-screen{margin:0 0 10px;padding:6px 10px;background:#34d3991f;color:#6ee7b7;border:1px solid rgba(52,211,153,.25);border-radius:var(--radius);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-screen i{width:7px;height:7px;border-radius:50%;background:#34d399}button.side-screen{width:100%;border:0;cursor:pointer;font:inherit;text-align:left}.rail .sidebar .side-screen{display:none}.gateway-state.down{background:#fb71851f;color:#fda4af;border-color:#fb718547}.gateway-state.down i{background:#fb7185}.gateway-state.retry{background:#ffa94024;color:#fdba74;border-color:#ffa94052}.gateway-state.retry i{background:#ffa940}.rail .sidebar .gateway-state{display:flex;justify-content:center;padding-inline:0}.rail .sidebar .gateway-state span{display:none}.screen-list{display:flex;flex-direction:column;gap:8px}.screen-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius)}.screen-row span{font-family:var(--font-mono);font-size:13px;word-break:break-all}.screen-row .secondary{min-height:36px;padding:6px 14px}.screen-row span{flex:1}.screen-online{font-style:normal;font-size:12px;padding:2px 8px;border-radius:var(--radius);background:#eef1f6;color:var(--muted)}.screen-online.on{background:var(--green-soft);color:#0f6b4a}.page-note{display:none}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-actions .secondary{min-height:40px}.top-search input{width:230px;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:#1f2b3d;font-size:14px}.top-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.course-type{padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.course-h{margin:0 0 12px;font-size:14px;letter-spacing:.02em;color:#1f2b3d}.course-type-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}.course-type-head .course-h,.course-type-head .course-hint{margin:0}.course-type-row{display:flex;align-items:flex-start;gap:10px}.course-type-row .type-chips{flex:1;min-width:0}.course-type-row .motion-manage,.course-type-row .motion-fold{flex:none;margin-top:2px}.motion-manage,.motion-fold{min-height:34px;padding:6px 13px;font-size:13px}.motion-fold .fold-less,.motion-fold.is-open .fold-more{display:none}.motion-fold.is-open .fold-less{display:block}.type-chips{position:relative;display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden}.type-chips.is-open{flex-wrap:wrap;overflow:visible}.type-chips.sorting{touch-action:none}.course-type-indicator{position:absolute;z-index:2;left:0;top:0;width:0;height:0;border-radius:var(--radius);background:var(--accent);pointer-events:none;opacity:0;transition:left .36s cubic-bezier(.2,.9,.22,1),top .36s cubic-bezier(.2,.9,.22,1),width .36s cubic-bezier(.2,.9,.22,1),height .36s cubic-bezier(.2,.9,.22,1),opacity var(--dur-fast) ease-out}.course-type-indicator.no-motion{transition:none}.course-type-indicator.moving{opacity:.62!important}.type-chip.is-folded{display:none}.type-chip{position:relative;flex:none;min-height:32px;padding:5px 12px;cursor:pointer;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#3d4c63;font-size:13px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:border-color var(--dur-fast) ease-out,background var(--dur-fast) ease-out,color var(--dur-fast) ease-out}.type-chip>span{position:relative;z-index:3}@media(hover:hover)and (pointer:fine){.type-chip:hover{border-color:var(--accent)}}.type-chip.active{background:transparent;border-color:transparent;color:#fff;font-weight:500}.type-chip-drop-marker{position:fixed;z-index:70;box-sizing:border-box;pointer-events:none;border:1px dashed var(--accent);border-radius:var(--radius);background:#ffa94014}.type-chip.drag-floating{position:fixed;z-index:80;margin:0;pointer-events:none;opacity:.9;box-shadow:0 10px 24px #10233d38;transition:none;will-change:transform}.type-chip.drag-floating.active{background:var(--accent);border-color:var(--accent)}.type-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.course-switch-popover{--arrow-x: 28px;position:fixed;z-index:120;width:min(300px,calc(100vw - 24px));padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-3);transform-origin:var(--arrow-x) top;animation:course-pop-in .18s var(--ease-out)}.course-switch-popover:before{content:"";position:absolute;top:-6px;left:calc(var(--arrow-x) - 6px);width:11px;height:11px;transform:rotate(45deg);border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff}.course-switch-popover.above{transform-origin:var(--arrow-x) bottom}.course-switch-popover.above:before{top:auto;bottom:-6px;transform:rotate(225deg)}.course-switch-popover p{margin:0;color:#2b3749;font-size:13px;line-height:1.65}.course-switch-popover>div{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}.course-switch-popover .secondary,.course-switch-popover .primary{width:auto;min-height:32px;padding:5px 12px;font-size:12px}@keyframes course-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.course-hint{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.settings-card{max-width:520px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.gateway-screen-layout{display:grid;grid-template-columns:minmax(0,520px) minmax(280px,360px);align-items:start;gap:16px}.gateway-screen-layout .settings-card{width:100%;max-width:none}.settings-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.settings-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.gateway-mode-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.gateway-mode-tabs{flex:1;gap:24px;margin:0;padding:0}.gateway-mode-tabs .settings-tab{padding:7px 2px 9px;font-size:14px}.gateway-mode-panel{margin-bottom:16px}.gateway-mode-panel>.course-hint:first-child{margin-top:0}.settings-section-title{margin:0;color:#1f2b3d;font-size:15px;font-weight:700;letter-spacing:.02em}.gateway-status-icon{position:relative;flex:none;width:28px;height:28px;padding:0;display:grid;place-items:center;border:1px solid rgba(24,168,116,.24);border-radius:50%;background:var(--green-soft);color:var(--green)}.gateway-status-icon i{width:9px;height:9px;border-radius:50%;background:currentColor}.gateway-status-icon span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gateway-status-icon.down{border-color:#dc35453d;background:var(--danger-soft);color:var(--danger)}.gateway-status-icon.retry{border-color:#ffa94052;background:var(--accent-soft);color:#c27616}.screen-access-card{width:100%;margin:0;padding:10px 12px;background:linear-gradient(145deg,#f6f9fd,#eef5fa);border-color:#dce7f0;box-shadow:none}.screen-access-card .cast-full{height:72px}.screen-access-card .cast-secret{border-left-color:#d9e5ee}.screen-access-card .cast-status-copy strong{color:#253247}.screen-access-card .cast-status-copy em,.screen-access-card .cast-manage,.screen-access-card .cast-panel-head,.screen-access-card .cast-eye{color:#73839a}.screen-access-card .cast-manage:hover,.screen-access-card .cast-eye:hover{color:#253247}.screen-access-card .cast-dot{background:#94a3b8}.screen-access-card.live .cast-dot{background:var(--green)}.settings-screen-list{margin-top:10px;padding-top:10px;border-top:1px solid #d9e5ee}.screen-access-card .screen-row{background:#ffffffb8}.screen-access-card .screen-row .secondary{min-height:30px;padding:4px 16px;font-size:12px}.screen-access-card .empty{padding:14px 12px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);font-size:13px;text-align:center}.screen-access-card #screenExitStatus{margin-top:8px;font-size:12px;text-align:center}.screen-list-actions{display:flex;justify-content:center;margin-top:8px}.screen-list-actions .settings-small-btn{min-height:30px;padding:4px 16px;font-size:12px}.settings-card .dialog-actions{margin-top:16px}#settingsPage{display:none}#settingsPage.active{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0;overflow:visible}#settingsPage.has-tabs .course-h{display:none}.settings-tab-bar{position:relative;display:flex;align-items:flex-end;gap:28px;border-bottom:2px solid var(--line);margin-bottom:4px;padding:0 4px}.settings-tab{position:relative;padding:8px 4px 12px;border:0;background:transparent;color:#6b7686;font-size:16px;font-weight:500;cursor:pointer;user-select:none;-webkit-user-select:none;transition:color var(--dur-fast) ease-out}.settings-tab:hover{color:#1f2b3d}.settings-tab.active{color:#1f2b3d;font-weight:700}.settings-tab:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:transparent;border-radius:var(--radius) var(--radius) 0 0;transition:background-color var(--dur-fast) ease-out}.settings-tab.active:after{background:var(--accent)}.settings-tab-bar.has-elastic-indicator .settings-tab:after{display:none}.elastic-tab-indicator{position:absolute;bottom:-2px;left:0;width:0;height:3px;background:var(--accent);border-radius:var(--radius) var(--radius) 0 0;pointer-events:none;z-index:2;will-change:left,width;transition:opacity var(--dur-fast) ease-out}#membersPage,#monitorPage,#coursePage,#summaryPage,#settingsPage{padding-top:0}.member-page-head,#monitorPage>.monitor-tab-top,#coursePage .course-type-row,#settingsPage>#settingsTabs{width:calc(100% + var(--workspace-pad-left) + var(--workspace-pad-right));height:52px;min-height:52px;flex:none;margin-left:calc(0px - var(--workspace-pad-left));padding:0 var(--workspace-pad-right) 0 var(--workspace-pad-left);background:var(--surface);border:0;border-radius:0;box-shadow:none}.member-page-head{align-items:center;margin-bottom:14px;flex:none}.member-page-head .member-tab-bar{height:100%;margin:0;padding:0;border:0}.member-tab-actions{padding-bottom:0}#membersPage.active,#monitorPage.active,#coursePage.active,#summaryPage.active{flex:1;min-height:0;display:flex;flex-direction:column;overflow:visible}.page-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}#monitorPage>.page-scroll{display:flex;flex-direction:column}#monitorPage>.page-scroll>*{flex:none}#membersPage>.member-subpage:not(.hidden){flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}#memberRosterView .roster-toolbar{flex:none}#memberRosterView .table-wrap,#memberGroupsView .group-layout{flex:1;min-height:0}#memberGroupsView .group-layout{height:auto;align-items:stretch}#memberGroupsView .group-master-pane,#memberGroupsView .group-detail-pane{min-height:0;height:100%;overflow:hidden}#memberGroupsView .group-list{flex:1;min-height:0;max-height:none}#memberGroupsView .group-table-wrap{flex:1;min-height:0;overflow:auto}#membersPage .member-sheet-head{position:sticky;top:0;z-index:3}#monitorPage>.monitor-tab-top{align-items:center;margin-bottom:16px}#monitorPage>.monitor-tab-top .monitor-tab-bar{height:100%;margin:0;padding:0;border:0;box-shadow:none}#coursePage .course-type{display:flex;flex-direction:column;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}#coursePage .course-type-row{order:-1;height:auto;min-height:52px;align-items:flex-start;margin-bottom:0;padding-top:7px;padding-bottom:7px}#coursePage .course-type-row .motion-manage,#coursePage .course-type-row .motion-fold{margin-top:2px}#settingsPage>#settingsTabs{align-items:flex-end;margin-bottom:0}.member-page-head .elastic-tab-indicator,#monitorPage>.monitor-tab-top .elastic-tab-indicator,#settingsPage>#settingsTabs .elastic-tab-indicator{bottom:0}.app.monitor-full #monitorPage>.monitor-tab-top{width:calc(100% + 20px);height:52px;min-height:52px;margin-left:-10px;padding:0 16px;background:#fff}.motion-manage-wrap{width:100%;min-width:0;display:flex;flex-direction:column;gap:14px}.motion-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}.motion-toolbar .status{margin:0;font-size:13px}.motion-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;min-height:520px}.motion-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);display:flex;flex-direction:column;overflow:hidden;min-width:0}.motion-col-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:#f8fafc;min-height:48px}.motion-col-meta,.motion-col-actions{display:flex;align-items:center;gap:8px}.motion-add-box{display:inline-flex;align-items:center;overflow:hidden;width:0;opacity:0;margin-right:-8px;pointer-events:none;clip-path:inset(0 100% 0 0);transition:width .28s cubic-bezier(.16,1,.3,1),clip-path .28s cubic-bezier(.16,1,.3,1),opacity .2s ease-out,margin-right .28s cubic-bezier(.16,1,.3,1);will-change:width,clip-path}.motion-add-box.open{width:170px;opacity:1;margin-right:0;pointer-events:auto;clip-path:inset(0 0 0 0)}.motion-add-box input{width:170px;min-width:170px;min-height:32px;padding:5px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:#1f2b3d;font-size:13px;box-sizing:border-box;transform:translate(100%);transition:transform .28s cubic-bezier(.16,1,.3,1),border-color var(--dur-fast) ease-out}.motion-add-box.open input{transform:translate(0)}.motion-add-box input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.motion-col-title{font-size:14px;font-weight:600;color:#1f2b3d;letter-spacing:.02em}.motion-col-badge{padding:2px 8px;border-radius:var(--radius);background:#e9eef5;color:#5a6a80;font-size:12px;font-family:var(--font-mono)}.motion-batch-btn{min-height:28px;padding:4px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:#4d5a6e;font-size:12px;cursor:pointer;transition:all var(--dur-fast) ease-out}.toolbar-icon-btn{display:inline-grid;place-items:center;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;line-height:0}.toolbar-icon-btn svg{display:block}.toolbar-icon-btn .motion-save-icon,.motion-batch-btn#btnAddMotion.active .motion-add-icon{display:none}.motion-batch-btn#btnAddMotion.active .motion-save-icon{display:block}.motion-batch-btn.motion-batch-start:not(:disabled){color:#fff;background:var(--green);border-color:var(--green)}.motion-batch-btn.motion-batch-stop:not(:disabled){color:#fff;background:var(--danger);border-color:var(--danger)}.motion-batch-btn.motion-batch-start:hover:not(:disabled){color:#fff;background:#129463;border-color:#129463}.motion-batch-btn.motion-batch-stop:hover:not(:disabled){color:#fff;background:#c42d3c;border-color:#c42d3c}.motion-batch-btn:hover:not(:disabled){border-color:#cbd5e1;color:#1f2b3d;background:#f8fafc}.motion-batch-btn#btnAddMotion:not(.active):not(:disabled){color:#fff;background:var(--green);border-color:var(--green)}.motion-batch-btn#btnAddMotion:not(.active):hover:not(:disabled){color:#fff;background:#129463;border-color:#129463}.motion-batch-btn#btnAddMotion.active{background:var(--accent-soft);color:var(--accent-ink);border-color:#ffa94080;font-weight:600}.motion-batch-btn:disabled{opacity:.45;cursor:not-allowed;background:transparent;border-color:transparent}.motion-list{display:flex;flex-direction:column;padding:10px;gap:6px;max-height:calc(100vh - 300px);overflow-y:auto;overscroll-behavior:contain;min-height:380px}.motion-list.sorting{touch-action:none}.motion-empty{margin:0;color:var(--muted);font-size:13px;text-align:center;line-height:180px}.motion-row{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 8px 4px 6px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:all var(--dur-fast) ease-out}.motion-row:hover{border-color:#cbd5e1;background:#fafbfc}.motion-row.motion-row-enter{animation:motion-row-in .22s cubic-bezier(.22,1,.36,1)}@keyframes motion-row-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.motion-row.motion-row-enter{animation:none}}.motion-row.dragging{position:relative;z-index:2;opacity:.88;background:#fff;border-color:var(--accent);box-shadow:0 8px 18px #10233d2e}.motion-grip{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius);background:transparent;color:#8297a5;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.motion-grip:hover{color:#1f2b3d;background:#eef2f6}.motion-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#1f2b3d}.motion-rename{flex:1;min-width:0;width:auto;padding:6px 8px;font-size:14px;border:1px solid var(--accent);border-radius:var(--radius)}.motion-ops{display:grid;grid-template-columns:repeat(3,30px);flex:none;gap:6px}.motion-ops button{display:inline-grid;place-items:center;width:30px;min-width:30px;height:30px;min-height:30px;padding:0;border:1px solid var(--button-secondary);border-radius:var(--radius);background:var(--button-secondary);color:#fff;line-height:0}.motion-op-placeholder{display:block;width:30px;height:30px}.motion-ops button:hover:not(:disabled){border-color:var(--button-secondary-hover);background:var(--button-secondary-hover)}.motion-ops button:disabled{opacity:.38;cursor:not-allowed;border-color:transparent;background:transparent}.motion-ops .motion-del,.motion-ops .motion-del:disabled{border-color:var(--danger);background:var(--danger);color:#fff}.motion-ops .motion-del:hover:not(:disabled){border-color:#c42d3c;background:#c42d3c;color:#fff}.motion-row.is-off .motion-name{color:var(--muted)}.gateway-row{display:flex;gap:10px;align-items:stretch}.gateway-row input{flex:1;width:auto;min-width:0}.gateway-row .gateway-action-btn{flex:none;width:auto;min-width:0;min-height:34px;padding:6px 10px;font-size:13px}.settings-small-btn{min-height:34px;padding:6px 13px;font-size:13px}.page .settings-tab-bar .settings-unbind-all,.page .settings-tab-bar .settings-release-all{align-self:center;flex:none;height:30px;min-height:30px;padding:0 12px;font-size:12px;line-height:28px}.gateway-test-drawer{display:block;max-height:0;margin-top:-8px;overflow:hidden;opacity:0;transform:translateY(-7px);transition:max-height .26s var(--ease-out),margin-top .26s var(--ease-out),opacity .16s ease-out,transform .26s var(--ease-out)}.gateway-test-drawer.open{max-height:44px;margin-top:0;opacity:1;transform:translateY(0)}.gateway-test-drawer>span{display:block;padding:8px 10px;border-left:2px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--accent-soft);color:#79501a;font-size:12px;line-height:1.5}.lan-scan-bar{align-items:center;justify-content:space-between}.lan-scan-copy{flex:1;min-width:0}.lan-scan-copy .course-hint{margin:0}.lan-scan-bar .lan-gateway-line{margin:2px 0 0}.lan-scan-bar #btnLanScan{flex:none;align-self:center}.gateway-bind-fields{margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}.gateway-bind-row{display:flex;gap:10px;align-items:flex-end}.gateway-bind-row label{margin-bottom:0;gap:6px;font-size:13px;min-width:0}.gateway-bind-row .gateway-bind-mac{flex:1.5 1 0}.gateway-bind-row .gateway-bind-code{flex:1 1 0}.gateway-bind-row input{height:36px;padding:6px 12px;font-size:13px}.page .gateway-bind-row .primary.compact.gateway-action-btn{flex:none;min-height:36px;padding:6px 16px;font-size:13px}.bound-gateways{display:flex;flex-direction:column;gap:8px;margin-top:10px}.bound-gateways:empty{display:none}.bound-gateway{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.bound-gateway strong{flex:1;font-family:var(--font-mono);font-weight:500;letter-spacing:.03em;color:#8a5a13}.bound-gateway span{color:var(--muted);font-size:12px}.bound-gateway .secondary{flex:none;min-height:32px;padding:4px 14px;font-size:13px}.lan-gateway-line{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.lan-gateway-line span{font-family:var(--font-mono);letter-spacing:.04em}.lan-scan{margin-top:12px}.lan-scan .secondary:disabled{opacity:.55;cursor:not-allowed}.lan-scan-status{margin:8px 0 0;min-height:0;color:var(--muted);font-size:12px;line-height:1.6}.lan-scan-status:empty{display:none}.lan-devices{display:flex;flex-direction:column;gap:8px;margin-top:8px}.lan-devices:empty{display:none}.lan-device{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text)}.lan-device strong{font-family:var(--font-mono);font-weight:500;letter-spacing:.03em;color:#8a5a13}.lan-device span{color:var(--muted);font-size:12px}.lan-device.active{border-color:var(--accent);background:var(--accent-soft)}@media(max-width:980px){.gateway-screen-layout{grid-template-columns:1fr}}#loginStatus:not(:empty):not(.busy){color:var(--danger)}.course-manage-bar{display:flex;align-items:center;gap:12px;min-height:46px;margin:8px 0 6px;padding:0 8px 0 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.course-group-tabs{flex:1;min-width:0;height:44px;margin:0;padding:0 2px;align-items:flex-end;gap:20px;overflow-x:auto;overflow-y:hidden;border:0;scrollbar-width:none}.course-group-tabs::-webkit-scrollbar{display:none}.course-group-tabs .settings-tab{flex:none;min-height:44px;padding:8px 2px 10px;white-space:nowrap;font-size:13px}.course-group-tabs .elastic-tab-indicator{bottom:0}.course-batch-summary{flex:none;color:var(--muted);font-size:12px;white-space:nowrap}.course-batch-actions{display:flex;flex:none;gap:7px}.course-batch-actions button{min-height:32px;padding:5px 10px;font-size:12px}.danger-outline{border-color:#dc354552!important;color:#b3382c!important;background:#fff!important}.danger-outline:disabled{border-color:var(--line)!important;color:var(--muted)!important;opacity:.5}.course-status{min-height:18px;margin:0 0 5px;font-size:12px}.wear-toast{position:fixed;z-index:80;left:50%;top:76px;transform:translate(-50%) translateY(-6px);max-width:min(560px,calc(100vw - 32px));margin:0;padding:10px 18px;border-radius:999px;background:#1c2026eb;color:#fff;font-size:14px;line-height:1.45;text-align:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease}.wear-toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.app.monitor-full .wear-toast{top:60px}.course-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:8px;margin-top:0}.course-item{position:relative;min-width:0;min-height:92px;padding:11px 12px;background:var(--surface);text-align:left;border:1px solid var(--line);border-left:3px solid #aab5c3;border-radius:var(--radius);box-shadow:var(--shadow-1);cursor:pointer}.course-item.ready{border-left-color:var(--accent)}.course-item.training{border-left-color:var(--green)}.course-item.offline{border-left-color:var(--danger)}.course-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.course-item{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.course-item.selected{border-color:var(--accent);background:#ffa9401f;box-shadow:0 0 0 2px var(--accent) inset}.course-item.selected:after{content:"✓";position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:700;line-height:1}.course-item.select-dim{opacity:.45}.course-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.course-card-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2b3d;font-size:15px;font-weight:700}.course-card-state{display:inline-flex;align-items:center;gap:5px;flex:none;color:var(--muted);font-size:11px;white-space:nowrap}.course-card-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#aab5c3}.course-item.ready .course-card-state:before{background:var(--accent)}.course-item.training .course-card-state:before{background:var(--green)}.course-item.offline .course-card-state:before{background:var(--danger)}.course-card-main{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:13px}.course-card-motion{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.course-card-time{flex:none;color:#243247;font-family:var(--font-mono);font-size:14px;font-variant-numeric:tabular-nums}.course-card-icon{display:none}.course-list.dense{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.course-list.dense .course-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;padding:8px 4px 7px;text-align:center}.course-list.dense .course-card-icon{position:relative;display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;color:#8a97a8;background:#aab5c32e}.course-list.dense .course-card-icon svg{position:relative;z-index:1;width:16px;height:16px;display:block}.course-list.dense .course-item.ready .course-card-icon{color:var(--accent);background:#ffa94029}.course-list.dense .course-item.training .course-card-icon{color:#e53935;background:#e539351f}.course-list.dense .course-item.offline .course-card-icon{color:var(--danger);background:#dc35451f}.course-list.dense .course-card-top{display:block;width:100%}.course-list.dense .course-card-name{display:block;font-size:12px;line-height:1.25;text-align:center}.course-list.dense .course-card-state,.course-list.dense .course-card-main{display:none}.course-list.dense .course-item.training .course-card-icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#e53935;opacity:0;animation:course-ico-ripple 1.6s ease-out infinite}.course-list.dense .course-item.training .ico-heart{transform-box:fill-box;transform-origin:center;animation:course-ico-beat 1.6s ease-in-out infinite}.course-list.dense .course-item.offline .course-card-icon svg{animation:course-ico-blink 1.8s ease-in-out infinite}@keyframes course-ico-beat{0%,40%,to{transform:scale(1)}12%{transform:scale(1.22)}26%{transform:scale(.96)}32%{transform:scale(1.12)}}@keyframes course-ico-ripple{0%{transform:scale(.8);opacity:.38}70%,to{transform:scale(1.5);opacity:0}}@keyframes course-ico-blink{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.course-list.dense .course-item.training .course-card-icon:before,.course-list.dense .course-item.training .ico-heart,.course-list.dense .course-item.offline .course-card-icon svg{animation:none}}.course-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0 0;color:var(--muted);font-size:12px}.course-island{position:fixed;z-index:45;left:calc(100vw - 10px);top:55%;display:none;width:10px;height:100px;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.course-island.visible{display:block}.course-island-core{position:relative;z-index:3;width:10px;height:100px;min-height:100px;padding:0;display:block;border:0;border-radius:10px 0 0 10px;background:#26262a80;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:grab;transition:transform .2s var(--ease-out),opacity .22s ease-out,background .18s ease-out}.course-island-core:before{content:"";position:absolute;top:-10px;right:0;bottom:-10px;left:-18px}.course-island-core:after{content:"";position:absolute;left:3px;top:50%;width:2px;height:18px;margin-top:-9px;border-radius:1px;background:#fff9}.course-island-core:active,.course-island.open .course-island-core{background:#26262ac7}.course-island.dragging .course-island-core{cursor:grabbing;background:#26262ad9;transform:translate(-4px);box-shadow:0 4px 14px #00000047,inset 0 0 0 1px #ffffff2e}.course-island.idle .course-island-core{opacity:.45}.course-island-core .assist-ring,.course-island-core .assist-badge{display:none}.assist-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent;pointer-events:none}.course-island.open .assist-scrim{pointer-events:auto}.course-orbit-menu{position:fixed;z-index:2;right:0;top:0;margin:0;display:flex;flex-direction:column;gap:4px;padding:8px 0 8px 8px;box-sizing:border-box;border-radius:22px 0 0 22px;background:#222226c7;box-shadow:0 14px 36px #0000004d,inset 0 0 0 1px #ffffff14;backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);opacity:0;visibility:hidden;pointer-events:none;transform:translate(100%);transform-origin:right center;transition:transform .3s cubic-bezier(.22,1.1,.36,1),opacity .16s ease-out,visibility 0s linear .3s}.course-island.open .course-orbit-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:transform .3s cubic-bezier(.22,1.1,.36,1),opacity .16s ease-out}.course-island.open .course-island-core{opacity:0;pointer-events:none}.assist-item{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;width:132px;height:52px;min-height:0;padding:0 16px;border:0;border-radius:16px 0 0 16px;background:transparent;color:#fff;font-size:14px;font-weight:500;-webkit-tap-highlight-color:transparent;transition:background .14s ease-out,transform .14s ease-out}.assist-item svg{display:block}.assist-item:active:not(:disabled){background:#ffffff29;transform:scale(.94)}.assist-item.start{color:#5fe0a2}.assist-item.danger{color:#ff7b80}.assist-item span{color:#ffffffeb}.assist-item:disabled{opacity:.32}.assist-item .icon-compress,.course-island.in-monitor .assist-item .icon-expand{display:none}.course-island.in-monitor .assist-item .icon-compress{display:block}.course-action-popover{--arrow-x: 50%;position:fixed;z-index:80;width:min(330px,calc(100vw - 20px));padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fffffffa;box-shadow:var(--shadow-3);transform-origin:var(--arrow-x) top;animation:course-popover-in .16s var(--ease-out) both}.course-action-popover:before{content:"";position:absolute;left:var(--arrow-x);top:-6px;width:10px;height:10px;transform:translate(-50%) rotate(45deg);background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line)}.course-action-popover.above{transform-origin:var(--arrow-x) bottom}.course-action-popover.above:before{top:auto;bottom:-6px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}@keyframes course-popover-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.course-popover-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.course-popover-identity{display:flex;align-items:center;min-width:0;gap:7px}.course-popover-identity strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2b3d;font-size:14px}.course-popover-identity span{flex:none;color:var(--muted);font-size:11px}.course-popover-identity span.idle{color:#94a3b8;font-weight:400}.course-popover-identity span.training{color:#16a34a;font-weight:600}.course-motion-tags{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:170px;overflow-y:auto;overscroll-behavior:contain}.course-motion-tag{min-width:0;min-height:27px;padding:4px 7px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;color:#4d5a6e;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-motion-tag.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.course-motion-tag:disabled:not(.active){opacity:.45;cursor:not-allowed}.course-primary-action{position:relative;z-index:1;flex:none;width:auto;min-width:58px;min-height:30px;padding:5px 12px;font-size:12px}.course-primary-action.course-primary-action-small{min-width:44px;min-height:26px;padding:3px 9px;font-size:11px}.course-action-popover .status{position:relative;z-index:1;min-height:0;margin:7px 0 0;font-size:11px;text-align:center}.course-action-popover .status:empty{display:none}@media(max-width:1050px){.course-batch-summary{display:none}.course-group-tabs{gap:14px}}@media(prefers-reduced-motion:reduce){.course-island-core,.course-island.snapping,.course-orbit-menu,.assist-item,.assist-scrim{transition:none}}
