.popover-layer[data-v-04d14c5c]{position:fixed;inset:0;z-index:3000;display:grid;place-items:center}.popover-backdrop[data-v-04d14c5c]{position:absolute;inset:0;background:rgba(6,10,20,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.login-modal[data-v-04d14c5c]{position:relative;width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2.1rem 1.9rem 1.7rem;border-radius:22px;background:var(--popover-bg);border:1px solid var(--popover-border);box-shadow:0 30px 70px rgba(6,10,20,.45),inset 0 1px 0 hsla(0,0%,100%,.08)}.login-logo-wrap[data-v-04d14c5c]{width:112px;display:flex;align-items:center;justify-content:center;margin-bottom:.15rem}.login-logo[data-v-04d14c5c]{width:112px;height:112px;-o-object-fit:contain;object-fit:contain;display:block}.login-title[data-v-04d14c5c]{font-weight:800;font-size:1.15rem;color:var(--text-primary);text-align:center}.login-message[data-v-04d14c5c]{font-size:.86rem;line-height:1.4;color:var(--text-secondary);text-align:center;margin-bottom:.4rem}.login-field[data-v-04d14c5c]{display:flex;flex-direction:column;gap:.35rem;width:100%}.login-label[data-v-04d14c5c]{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.login-input-wrap[data-v-04d14c5c]{position:relative;display:flex;align-items:center}.input-icon[data-v-04d14c5c]{position:absolute;left:.75rem;width:17px;height:17px;stroke:var(--text-secondary);stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .2s}.login-input[data-v-04d14c5c]{width:100%;height:44px;padding:0 .8rem 0 2.4rem;border-radius:12px;border:1.5px solid var(--border);background:var(--input-bg,#fff);color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.login-input[data-v-04d14c5c]::-moz-placeholder{color:var(--text-secondary);opacity:.55}.login-input[data-v-04d14c5c]::placeholder{color:var(--text-secondary);opacity:.55}.login-input[data-v-04d14c5c]:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.login-input-wrap:focus-within .input-icon[data-v-04d14c5c]{stroke:var(--primary)}.login-actions[data-v-04d14c5c]{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem;width:100%}.login-btn[data-v-04d14c5c]{padding:.65rem 1.25rem;border-radius:12px;font-weight:700;font-size:.88rem;cursor:pointer;border:none;font-family:inherit;transition:transform .15s,background .2s,box-shadow .2s}.login-btn[data-v-04d14c5c]:hover{transform:translateY(-1px)}.login-btn.ghost[data-v-04d14c5c]{background:transparent;border:1.5px solid var(--border);color:var(--text-secondary)}.login-btn.ghost[data-v-04d14c5c]:hover{background:var(--hover-bg);color:var(--text-primary)}.login-btn.solid[data-v-04d14c5c]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 10px 24px rgba(var(--primary-rgb),.4)}.login-btn.solid[data-v-04d14c5c]:hover{box-shadow:0 12px 28px rgba(var(--primary-rgb),.52)}.popover-fade-enter-active .login-modal[data-v-04d14c5c],.popover-fade-leave-active .login-modal[data-v-04d14c5c]{transition:opacity .2s ease,transform .2s ease}.popover-fade-enter-from .login-modal[data-v-04d14c5c],.popover-fade-leave-to .login-modal[data-v-04d14c5c]{opacity:0;transform:scale(.92) translateY(8px)}.popover-fade-enter-active .popover-backdrop[data-v-04d14c5c],.popover-fade-leave-active .popover-backdrop[data-v-04d14c5c]{transition:opacity .2s ease}.popover-fade-enter-from .popover-backdrop[data-v-04d14c5c],.popover-fade-leave-to .popover-backdrop[data-v-04d14c5c]{opacity:0}.duyuru-btn[data-v-08b68a80],.duyuru[data-v-08b68a80]{position:relative;display:inline-flex}.duyuru-btn[data-v-08b68a80]{width:36px;height:38px;align-items:center;justify-content:center;flex-shrink:0;padding:0;border-radius:10px;border:1px solid var(--p-line,#e4e8ef);background:var(--p-panel,#fff);color:var(--p-muted,#5a6a82);cursor:pointer}.duyuru-btn[data-v-08b68a80]:hover{color:var(--p-ink,#0c1220);background:var(--p-panel-2,#f8fafc)}.duyuru-btn.is-open[data-v-08b68a80]{color:var(--p-teal,#0d9488);background:var(--p-teal-soft,rgba(13,148,136,.1));border-color:rgba(20,184,166,.35)}.duyuru-btn.has-items[data-v-08b68a80]{color:var(--p-bad,#b91c1c)}.duyuru-svg[data-v-08b68a80]{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.duyuru-rozet[data-v-08b68a80]{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#dc2626;color:#fff;font-size:.68rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px var(--p-panel,#fff)}.duyuru-menu[data-v-08b68a80]{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(360px,calc(100vw - 24px));max-height:min(70vh,520px);display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--p-line,#e4e8ef);background:var(--p-panel,#fff);box-shadow:var(--p-shadow,0 12px 32px -8px rgba(16,24,40,.14));overflow:hidden;color:var(--p-ink,#0c1220)}.duyuru-head[data-v-08b68a80]{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.75rem .9rem;border-bottom:1px solid var(--p-line,#e4e8ef);font-size:.92rem}.duyuru-link[data-v-08b68a80]{border:none;background:none;padding:.2rem 0;color:var(--p-teal,#0d9488);font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap}.duyuru-link[data-v-08b68a80]:disabled{opacity:.6;cursor:default}.duyuru-list[data-v-08b68a80]{list-style:none;margin:0;padding:.3rem;overflow-y:auto}.duyuru-item[data-v-08b68a80]{width:100%;display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .6rem;border:none;border-radius:10px;background:transparent;color:inherit;font-family:inherit;text-align:left;cursor:pointer}.duyuru-item[data-v-08b68a80]:hover{background:var(--p-panel-2,#f8fafc)}.duyuru-item.is-unread[data-v-08b68a80]{background:rgba(220,38,38,.06)}.duyuru-dot[data-v-08b68a80]{flex:none;width:9px;height:9px;margin-top:.35rem;border-radius:50%;background:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.18)}.duyuru-item:not(.is-unread) .duyuru-dot[data-v-08b68a80]{background:var(--p-muted,#8b97a8);box-shadow:none}.duyuru-text[data-v-08b68a80]{min-width:0;display:flex;flex-direction:column;gap:.15rem}.duyuru-title[data-v-08b68a80]{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.86rem}.duyuru-tag[data-v-08b68a80]{padding:.05rem .4rem;border-radius:6px;background:rgba(220,38,38,.12);color:var(--p-bad,#b91c1c);font-size:.68rem;font-weight:800;letter-spacing:.02em}.duyuru-line[data-v-08b68a80]{font-size:.84rem;line-height:1.35;color:var(--p-ink,#0c1220);overflow-wrap:anywhere}.duyuru-time[data-v-08b68a80]{font-size:.74rem;color:var(--p-muted,#5a6a82)}.duyuru-empty[data-v-08b68a80]{margin:0;padding:1.2rem .9rem;font-size:.86rem;color:var(--p-muted,#5a6a82);text-align:center}.duyuru-push[data-v-08b68a80]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .6rem;padding:.65rem .9rem;border-top:1px solid var(--p-line,#e4e8ef);font-size:.78rem;color:var(--p-muted,#5a6a82)}.duyuru-push-not[data-v-08b68a80]{flex-basis:100%;margin:0;color:var(--p-bad,#b91c1c)}@media (max-width:720px){.duyuru-btn[data-v-08b68a80]{height:34px}.duyuru-menu[data-v-08b68a80]{position:fixed;top:calc(var(--p-header-h, 58px) + env(safe-area-inset-top, 0px) + 6px);left:8px;right:8px;width:auto;max-height:calc(100vh - var(--p-header-h, 58px) - var(--p-bottom-h, 64px) - 24px)}}.duyuru-toast{position:fixed;left:50%;bottom:calc(var(--p-bottom-h, 0px) + 18px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:10050;width:min(460px,calc(100vw - 24px));display:flex;align-items:center;gap:.6rem;padding:.7rem .75rem .7rem .9rem;border-radius:14px;border:1px solid var(--panel-danger-border,rgba(255,59,48,.32));background:var(--card-bg,#fff);color:var(--text-primary,#0c1220);box-shadow:0 16px 40px -10px rgba(16,24,40,.35);font-size:.86rem}.duyuru-toast-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#dc2626}.duyuru-toast-text{flex:1;min-width:0;overflow-wrap:anywhere}.duyuru-toast-btn{flex:none;border:none;border-radius:9px;padding:.4rem .75rem;background:var(--primary,#0d9488);color:#fff;font-family:inherit;font-weight:700;cursor:pointer}.duyuru-toast-x{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--text-secondary,#5a6a82);cursor:pointer}.duyuru-toast-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}@media (max-width:1023px){.duyuru-toast{bottom:calc(78px + env(safe-area-inset-bottom, 0px))}}.portal-page[data-v-a000161a]{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden}.portal-bg[data-v-a000161a]{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 20% 20%,rgba(var(--primary-rgb),.22),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 75%,rgba(0,160,200,.16),transparent 50%),linear-gradient(160deg,var(--bg-primary),var(--bg-secondary));pointer-events:none}.portal-card[data-v-a000161a]{position:relative;width:min(420px,100%);display:flex;flex-direction:column;align-items:stretch;gap:.75rem;padding:2.2rem 1.9rem 1.8rem;border-radius:24px;background:var(--popover-bg,#f4f7fb);border:1px solid var(--popover-border,rgba(15,23,42,.12));box-shadow:0 30px 70px rgba(6,10,20,.28)}.portal-company-icon[data-v-a000161a]{align-self:center;width:132px;height:132px;-o-object-fit:contain;object-fit:contain}.portal-logo-wrap[data-v-a000161a]{align-self:center;width:min(280px,100%);display:flex;align-items:center;justify-content:center;margin-bottom:.15rem}.portal-logo[data-v-a000161a]{width:100%;height:auto;max-height:72px;-o-object-fit:contain;object-fit:contain;display:block;filter:brightness(0) saturate(100%)}.portal-sub[data-v-a000161a]{margin:0 0 .45rem;text-align:center;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.portal-field[data-v-a000161a]{display:flex;flex-direction:column;gap:.35rem}.portal-label[data-v-a000161a]{font-size:.78rem;font-weight:700;color:var(--text-secondary)}.portal-input[data-v-a000161a]{width:100%;height:46px;padding:0 .95rem;border-radius:12px;border:1.5px solid var(--border);background:var(--input-bg,#fff);color:var(--text-primary);font-size:.95rem;font-family:inherit;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.portal-input[data-v-a000161a]:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.portal-input[readonly][data-v-a000161a]{opacity:.7;cursor:default}.portal-code[data-v-a000161a]{font-size:1.15rem;font-weight:700;letter-spacing:.35em}.portal-code[data-v-a000161a]::-moz-placeholder{font-size:.95rem;font-weight:400;letter-spacing:normal}.portal-code[data-v-a000161a]::placeholder{font-size:.95rem;font-weight:400;letter-spacing:normal}.portal-forgot[data-v-a000161a]{align-self:flex-end;margin-top:-.35rem;border:none;background:transparent;color:var(--primary);font-weight:650;font-size:.82rem;font-family:inherit;cursor:pointer;padding:.25rem .1rem}.portal-forgot[data-v-a000161a]:hover{text-decoration:underline}.portal-hint[data-v-a000161a]{margin:0;padding:.6rem .8rem;border-radius:12px;background:rgba(var(--primary-rgb),.1);color:var(--text-primary);font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}.portal-error[data-v-a000161a]{margin:0;font-size:.84rem;font-weight:600;color:#d70015;text-align:center}.portal-info[data-v-a000161a]{margin:0;font-size:.84rem;font-weight:600;color:#9a5b00;text-align:center;line-height:1.4}.portal-info.is-ok[data-v-a000161a]{color:var(--primary)}.portal-submit[data-v-a000161a]{margin-top:.35rem;height:48px;border:none;border-radius:14px;font-weight:750;font-size:.95rem;font-family:inherit;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 12px 28px rgba(var(--primary-rgb),.38);transition:transform .15s,box-shadow .2s,opacity .2s}.portal-submit[data-v-a000161a]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px rgba(var(--primary-rgb),.48)}.portal-submit[data-v-a000161a]:disabled{opacity:.65;cursor:wait}.portal-switch[data-v-a000161a]{margin-top:.15rem;border:none;background:transparent;color:var(--primary);font-weight:700;font-size:.86rem;font-family:inherit;cursor:pointer;padding:.4rem}.portal-switch[data-v-a000161a]:hover:not(:disabled){text-decoration:underline}.portal-switch[data-v-a000161a]:disabled{opacity:.55;cursor:wait}.portal-apk[data-v-a000161a]{align-self:center;display:inline-flex;align-items:center;gap:.45rem;margin-top:.2rem;padding:.55rem .95rem;border:1px solid var(--border);border-radius:12px;color:var(--text-secondary);font-size:.84rem;font-weight:700;text-decoration:none;transition:color .2s,border-color .2s}.portal-apk[data-v-a000161a]:hover{color:var(--primary);border-color:var(--primary)}.portal-apk svg[data-v-a000161a]{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.portal-page[data-v-b09ebccc]{--p-ink:#0f172a;--p-muted:#64748b;--p-teal:#0d9488;--p-teal-soft:rgba(13,148,136,.1);--p-surface:#f4f6fa;--p-panel:#fff;--p-panel-2:#f8fafc;--p-line:#e4e8ef;--p-line-soft:#eef1f5;--p-bad:#b91c1c;--p-shadow:0 12px 32px -8px rgba(16,24,40,.14),0 4px 8px -4px rgba(16,24,40,.06);--p-sidebar-w:256px;--p-rail-w:76px;--p-header-h:64px;--p-bottom-h:64px;position:relative;min-height:100vh;background:var(--p-surface);color:var(--p-ink)}.dark-mode .portal-page[data-v-b09ebccc]{--p-ink:#e8edf5;--p-muted:#8b97a8;--p-teal:#2dd4bf;--p-teal-soft:rgba(45,212,191,.12);--p-surface:#090d14;--p-panel:#10151f;--p-panel-2:#141a26;--p-line:hsla(0,0%,100%,.08);--p-line-soft:hsla(0,0%,100%,.05);--p-bad:#f87171;--p-shadow:0 16px 40px -8px rgba(0,0,0,.6)}.portal-bg[data-v-b09ebccc]{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 60% 40% at 70% -10%,rgba(13,148,136,.07),transparent 60%)}.portal-backdrop[data-v-b09ebccc]{display:none}.portal-sidebar[data-v-b09ebccc]{position:fixed;top:0;bottom:0;left:0;z-index:40;width:var(--p-sidebar-w);display:flex;flex-direction:column;background:var(--p-panel);border-right:1px solid var(--p-line);transition:width .24s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1)}.portal-sidebar-head[data-v-b09ebccc]{display:flex;align-items:center;justify-content:space-between;height:var(--p-header-h);padding:0 1.1rem 0 1.25rem;flex-shrink:0;border-bottom:1px solid var(--p-line-soft)}.portal-brand[data-v-b09ebccc],.portal-header-brand[data-v-b09ebccc]{display:flex;align-items:center;min-width:0;text-decoration:none;color:inherit}.portal-logo[data-v-b09ebccc]{height:30px;width:auto;filter:brightness(0) saturate(100%)}.dark-mode .portal-logo[data-v-b09ebccc]{filter:none}.portal-logo-mark[data-v-b09ebccc]{display:none;width:34px;height:34px}.portal-company-icon[data-v-b09ebccc]{flex-shrink:0;-o-object-fit:contain;object-fit:contain;border-radius:50%}.dark-mode .portal-company-icon[data-v-b09ebccc]{padding:2px;background:rgba(241,245,249,.94);box-shadow:0 0 0 1px hsla(0,0%,100%,.12)}.portal-header-icon[data-v-b09ebccc]{width:38px;height:38px}.portal-sidebar-close[data-v-b09ebccc]{display:none}.portal-nav[data-v-b09ebccc]{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.5rem .75rem 1rem;scrollbar-width:thin}.portal-nav-group+.portal-nav-group[data-v-b09ebccc]{margin-top:.35rem}.portal-nav-label[data-v-b09ebccc]{margin:0;padding:.95rem .75rem .45rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--p-muted);white-space:nowrap}.portal-nav-note[data-v-b09ebccc]{flex:1 1 auto;margin:0;padding:1.25rem 1rem;font-size:.9rem;font-weight:700;color:var(--p-bad)}.portal-nav-item[data-v-b09ebccc]{position:relative;display:flex;align-items:center;gap:.75rem;height:42px;padding:0 .8rem;margin:2px 0;border-radius:10px;color:var(--p-muted);font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap}.portal-nav-item[data-v-b09ebccc]:hover{color:var(--p-ink);background:var(--p-panel-2)}.dark-mode .portal-nav-item[data-v-b09ebccc]:hover{background:hsla(0,0%,100%,.04)}.portal-nav-item.router-link-active[data-v-b09ebccc]{color:var(--p-teal);background:var(--p-teal-soft);font-weight:700}.portal-nav-item.router-link-active[data-v-b09ebccc]:before{content:"";position:absolute;left:-.75rem;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--p-teal)}.portal-nav-icon[data-v-b09ebccc]{width:calc(20px*var(--ui, 1));height:calc(20px*var(--ui, 1));flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-nav-text[data-v-b09ebccc]{min-width:0;overflow:hidden;text-overflow:ellipsis}.portal-sidebar-foot[data-v-b09ebccc]{flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-top:1px solid var(--p-line-soft)}.portal-user[data-v-b09ebccc]{display:flex;align-items:center;gap:.6rem;padding:.35rem;border-radius:12px}.portal-avatar[data-v-b09ebccc]{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#14b8a6,#0e7490);color:#fff;font-size:.95rem;font-weight:800}.portal-user-meta[data-v-b09ebccc]{min-width:0;display:flex;flex-direction:column;line-height:1.2;flex:1 1 auto}.portal-user-name[data-v-b09ebccc]{font-size:.88rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-user-role[data-v-b09ebccc]{font-size:.72rem;font-weight:600;color:var(--p-muted)}.portal-login[data-v-b09ebccc],.portal-logout[data-v-b09ebccc]{flex-shrink:0;border:1px solid transparent;background:transparent;color:var(--p-muted);cursor:pointer;font-family:inherit}.portal-logout[data-v-b09ebccc]{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;padding:0}.portal-logout[data-v-b09ebccc]:hover{color:var(--p-bad);background:rgba(239,68,68,.08)}.portal-login[data-v-b09ebccc]{height:38px;border-radius:10px;border-color:var(--p-line);background:var(--p-panel-2);font-weight:700;font-size:.85rem;color:var(--p-teal)}.portal-rail-toggle[data-v-b09ebccc]{display:flex;align-items:center;gap:.75rem;height:36px;padding:0 .8rem;border:none;border-radius:10px;background:transparent;color:var(--p-muted);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap}.portal-rail-toggle[data-v-b09ebccc]:hover{color:var(--p-ink);background:var(--p-panel-2)}.dark-mode .portal-rail-toggle[data-v-b09ebccc]:hover{background:hsla(0,0%,100%,.04)}.portal-svg[data-v-b09ebccc]{width:calc(17px*var(--ui, 1));height:calc(17px*var(--ui, 1));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.portal-shell[data-v-b09ebccc]{position:relative;z-index:1;width:100%;max-width:100%;min-width:0;min-height:100vh;padding-left:var(--p-sidebar-w);display:flex;flex-direction:column;transition:padding-left .24s cubic-bezier(.4,0,.2,1)}.portal-header[data-v-b09ebccc]{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;gap:1rem;height:var(--p-header-h);padding:0 1.5rem;background:rgba(244,246,250,.8);border-bottom:1px solid var(--p-line);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.dark-mode .portal-header[data-v-b09ebccc]{background:rgba(9,13,20,.78)}.portal-header-left[data-v-b09ebccc],.portal-header-right[data-v-b09ebccc]{display:flex;align-items:center;gap:.5rem;min-width:0}.portal-header-right[data-v-b09ebccc]{flex-shrink:0}.portal-header .portal-header-brand[data-v-b09ebccc],.portal-header .portal-menu-btn[data-v-b09ebccc]{display:none}.portal-crumbs[data-v-b09ebccc]{display:flex;align-items:center;gap:.4rem;min-width:0;white-space:nowrap}.portal-crumb-root[data-v-b09ebccc]{font-size:.85rem;font-weight:500;color:var(--p-muted)}.portal-crumb-sep[data-v-b09ebccc]{width:14px;height:14px;fill:none;stroke:var(--p-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.portal-crumb-current[data-v-b09ebccc]{font-size:.95rem;font-weight:700;overflow:hidden;text-overflow:ellipsis}.portal-clock[data-v-b09ebccc]{display:flex;align-items:center;gap:.55rem;height:38px;padding:0 .85rem;border-radius:999px;border:1px solid var(--p-line);background:var(--p-panel)}.portal-clock-dot[data-v-b09ebccc]{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.18)}.portal-clock.is-stale .portal-clock-dot[data-v-b09ebccc]{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.18)}.portal-clock-time[data-v-b09ebccc]{font-family:var(--font-mono);font-size:.84rem;font-weight:700;font-variant-numeric:tabular-nums}.portal-clock-date[data-v-b09ebccc]{padding-left:.55rem;border-left:1px solid var(--p-line);font-size:.76rem;color:var(--p-muted);white-space:nowrap}.portal-icon-btn[data-v-b09ebccc]{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;border-radius:10px;border:1px solid var(--p-line);background:var(--p-panel);color:var(--p-muted);cursor:pointer}.portal-icon-btn[data-v-b09ebccc]:hover{color:var(--p-ink);background:var(--p-panel-2)}.dark-mode .portal-icon-btn[data-v-b09ebccc]:hover{background:hsla(0,0%,100%,.06)}.portal-icon-btn.is-open[data-v-b09ebccc]{color:var(--p-teal);background:var(--p-teal-soft);border-color:rgba(20,184,166,.35)}.portal-robot[data-v-b09ebccc]{position:relative}.portal-robot-btn[data-v-b09ebccc]{display:inline-flex;align-items:center;gap:.45rem;height:38px;padding:0 .7rem 0 .75rem;border-radius:999px;border:1px solid var(--p-line);background:var(--p-panel);color:var(--p-ink);font-family:inherit;cursor:pointer}.portal-robot.is-open .portal-robot-btn[data-v-b09ebccc]{border-color:rgba(20,184,166,.45)}.portal-robot.is-foxglove .portal-robot-btn[data-v-b09ebccc]{border-color:rgba(34,197,94,.6)}.portal-robot.is-rosbridge .portal-robot-btn[data-v-b09ebccc]{border-color:rgba(245,158,11,.7)}.portal-robot-label[data-v-b09ebccc]{display:inline-flex;align-items:baseline;min-width:0;font-family:var(--font-mono);font-size:.82rem;font-weight:700}.portal-robot-kind-text[data-v-b09ebccc]{font-weight:800;letter-spacing:.04em}.portal-robot-kind-text.is-online[data-v-b09ebccc]{color:#30d158}.portal-robot-kind-text.is-offline[data-v-b09ebccc]{color:#ff453a}.portal-robot-kind-text.is-unknown[data-v-b09ebccc]{color:var(--p-muted)}.portal-robot-text[data-v-b09ebccc]{font-weight:700}.portal-caret[data-v-b09ebccc]{width:14px;height:14px;fill:none;stroke:var(--p-muted);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.portal-robot-menu[data-v-b09ebccc]{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:180px;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:12px;border:1px solid var(--p-line);background:var(--p-panel);box-shadow:var(--p-shadow)}.portal-kind-mark[data-v-b09ebccc]{flex-shrink:0;padding:.08rem .38rem;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.06em;line-height:1.4}.portal-kind-mark.is-fpr[data-v-b09ebccc],.portal-robot-kind.is-fpr[data-v-b09ebccc]{color:#0f766e;background:rgba(13,148,136,.14)}.portal-kind-mark.is-spr[data-v-b09ebccc],.portal-robot-kind.is-spr[data-v-b09ebccc]{color:#b45309;background:rgba(245,158,11,.18)}.dark-mode .portal-kind-mark.is-fpr[data-v-b09ebccc],.dark-mode .portal-robot-kind.is-fpr[data-v-b09ebccc]{color:#5eead4}.dark-mode .portal-kind-mark.is-spr[data-v-b09ebccc],.dark-mode .portal-robot-kind.is-spr[data-v-b09ebccc]{color:#fbbf24}.portal-robot-kind[data-v-b09ebccc]{margin:.35rem .2rem .1rem;width:-moz-fit-content;width:fit-content;padding:.12rem .45rem;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.08em}.portal-robot-kind[data-v-b09ebccc]:first-child{margin-top:.1rem}.portal-robot-empty[data-v-b09ebccc]{padding:.6rem .7rem;font-size:.82rem;color:var(--p-muted)}.portal-robot-empty.is-warn[data-v-b09ebccc]{color:var(--p-bad);font-weight:650}.portal-robot-item[data-v-b09ebccc]{display:flex;align-items:center;gap:.55rem;padding:.5rem .65rem;border:none;border-radius:8px;background:transparent;color:var(--p-ink);font-family:inherit;font-size:.86rem;font-weight:650;cursor:pointer;text-align:left}.portal-robot-item[data-v-b09ebccc]:hover{background:var(--p-panel-2)}.dark-mode .portal-robot-item[data-v-b09ebccc]:hover{background:hsla(0,0%,100%,.05)}.portal-robot-item.is-fpr[data-v-b09ebccc]{box-shadow:inset 3px 0 0 #0d9488}.portal-robot-item.is-spr[data-v-b09ebccc]{box-shadow:inset 3px 0 0 #f59e0b}.portal-robot-item.is-fpr.is-active[data-v-b09ebccc]{background:var(--p-teal-soft);color:var(--p-teal)}.portal-robot-item.is-spr.is-active[data-v-b09ebccc]{background:rgba(245,158,11,.14);color:#b45309}.dark-mode .portal-robot-item.is-spr.is-active[data-v-b09ebccc]{color:#fbbf24}.portal-robot-name.is-license-bad[data-v-b09ebccc]{color:#ff453a}.portal-unverified[data-v-b09ebccc]{max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;color:var(--p-bad)}.robot-online-dot[data-v-b09ebccc]{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:#8e8e93}.robot-online-dot.is-online[data-v-b09ebccc]{background:#30d158;animation:robot-online-pulse-b09ebccc 1.4s ease-in-out infinite}.robot-online-dot.is-offline[data-v-b09ebccc]{background:#ff453a;animation:robot-offline-pulse-b09ebccc 1.4s ease-in-out infinite}.robot-online-dot.is-unknown[data-v-b09ebccc]{opacity:.7}@keyframes robot-online-pulse-b09ebccc{0%,to{box-shadow:0 0 0 0 rgba(48,209,88,.55)}50%{box-shadow:0 0 0 5px rgba(48,209,88,0)}}@keyframes robot-offline-pulse-b09ebccc{0%,to{box-shadow:0 0 0 0 rgba(255,69,58,.5)}50%{box-shadow:0 0 0 5px rgba(255,69,58,0)}}.portal-lang[data-v-b09ebccc]{position:relative}.portal-lang-menu[data-v-b09ebccc]{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:160px;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:12px;border:1px solid var(--p-line);background:var(--p-panel);box-shadow:var(--p-shadow)}.portal-lang-item[data-v-b09ebccc]{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border:none;border-radius:8px;background:transparent;color:var(--p-ink);font-family:inherit;font-size:.86rem;font-weight:600;text-align:left;cursor:pointer}.portal-lang-item[data-v-b09ebccc]:hover{background:var(--p-panel-2)}.dark-mode .portal-lang-item[data-v-b09ebccc]:hover{background:hsla(0,0%,100%,.05)}.portal-lang-item.is-active[data-v-b09ebccc]{color:var(--p-teal);background:var(--p-teal-soft)}.portal-lang-code[data-v-b09ebccc]{min-width:28px;height:20px;display:grid;place-items:center;border-radius:6px;border:1px solid var(--p-line);font-size:.62rem;font-weight:800;color:var(--p-muted)}.portal-main[data-v-b09ebccc]{flex:1 1 auto;width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column}.page-view[data-v-b09ebccc]{flex:1;width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column}.page-view[data-v-b09ebccc]>*{flex:1 1 auto;width:100%;max-width:100%;min-width:0}.unverified-robot-panel[data-v-b09ebccc]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1.25rem;text-align:center}.unverified-robot-title[data-v-b09ebccc]{margin:0;font-size:1.3rem;font-weight:800;color:#ff453a}.unverified-robot-hint[data-v-b09ebccc]{margin:0;max-width:28rem;color:var(--text-secondary);font-size:.95rem;line-height:1.45}.portal-bottom[data-v-b09ebccc]{display:none}@media (min-width:1024px){.portal-page.is-rail .portal-sidebar[data-v-b09ebccc]{width:var(--p-rail-w)}.portal-page.is-rail .portal-shell[data-v-b09ebccc]{padding-left:var(--p-rail-w)}.portal-page.is-rail .portal-sidebar-head[data-v-b09ebccc]{justify-content:center;padding:0}.portal-page.is-rail .portal-logo[data-v-b09ebccc]{display:none}.portal-page.is-rail .portal-logo-mark[data-v-b09ebccc]{display:block}.portal-page.is-rail .portal-nav-label[data-v-b09ebccc]{height:1px;padding:0;margin:.9rem .6rem .5rem;overflow:hidden;color:transparent;background:var(--p-line)}.portal-page.is-rail .portal-nav-item[data-v-b09ebccc],.portal-page.is-rail .portal-rail-toggle[data-v-b09ebccc]{justify-content:center;padding:0}.portal-page.is-rail .portal-nav-text[data-v-b09ebccc],.portal-page.is-rail .portal-user-meta[data-v-b09ebccc]{display:none}.portal-page.is-rail .portal-user[data-v-b09ebccc]{justify-content:center}}@media (max-width:1180px){.portal-clock-date[data-v-b09ebccc]{display:none}}@media (max-width:1023px){.portal-page[data-v-b09ebccc]{--p-header-h:58px;--p-bottom-h:72px}.portal-sidebar[data-v-b09ebccc]{left:auto;right:0;z-index:70;width:50vw;transform:translateX(102%);border-right:none;border-left:1px solid var(--p-line)}.portal-page.is-drawer-open .portal-sidebar[data-v-b09ebccc]{transform:translateX(0);box-shadow:-16px 0 40px rgba(0,0,0,.28)}.portal-backdrop[data-v-b09ebccc]{display:block;position:fixed;inset:0;z-index:65;background:rgba(15,23,42,.45);opacity:0;pointer-events:none;transition:opacity .24s ease}.portal-page.is-drawer-open .portal-backdrop[data-v-b09ebccc]{opacity:1;pointer-events:auto}.portal-sidebar-head[data-v-b09ebccc]{height:auto;justify-content:flex-start;padding:calc(.9rem + env(safe-area-inset-top)) .85rem .85rem}.portal-sidebar .portal-brand[data-v-b09ebccc]{width:100%}.portal-sidebar .portal-logo[data-v-b09ebccc]{display:block;width:100%;height:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.portal-sidebar .portal-nav-item[data-v-b09ebccc]{height:auto;min-height:44px;white-space:normal;padding-top:.45rem;padding-bottom:.45rem}.portal-sidebar .portal-nav-text[data-v-b09ebccc]{overflow:visible;text-overflow:unset;white-space:normal;line-height:1.25}.portal-sidebar-foot[data-v-b09ebccc]{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.portal-rail-toggle[data-v-b09ebccc]{display:none}.portal-shell[data-v-b09ebccc]{padding-left:0}.portal-header[data-v-b09ebccc]{padding:0 .85rem;padding-left:calc(.85rem + env(safe-area-inset-left));padding-right:calc(.85rem + env(safe-area-inset-right));padding-top:env(safe-area-inset-top);height:calc(var(--p-header-h) + env(safe-area-inset-top))}.portal-header .portal-header-brand[data-v-b09ebccc],.portal-header .portal-menu-btn[data-v-b09ebccc]{display:inline-flex}.portal-crumbs[data-v-b09ebccc]{display:none}.portal-main[data-v-b09ebccc]{padding-bottom:calc(var(--p-bottom-h) + env(safe-area-inset-bottom))}.portal-bottom[data-v-b09ebccc]{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);height:calc(var(--p-bottom-h) + env(safe-area-inset-bottom));padding:0 .25rem env(safe-area-inset-bottom);background:hsla(0,0%,100%,.92);border-top:1px solid var(--p-line);backdrop-filter:blur(16px) saturate(170%);-webkit-backdrop-filter:blur(16px) saturate(170%)}.dark-mode .portal-bottom[data-v-b09ebccc]{background:rgba(16,21,31,.92)}.portal-bottom-item[data-v-b09ebccc]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0;border:none;background:transparent;color:var(--p-muted);font-family:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.portal-bottom-icon[data-v-b09ebccc]{display:grid;place-items:center;width:52px;height:30px;border-radius:999px}.portal-bottom-icon svg[data-v-b09ebccc]{width:calc(21px*var(--ui, 1));height:calc(21px*var(--ui, 1));fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.portal-bottom-text[data-v-b09ebccc]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:600}.portal-bottom-item.is-active[data-v-b09ebccc],.portal-bottom-item.router-link-active[data-v-b09ebccc]{color:var(--p-teal)}.portal-bottom-item.is-active .portal-bottom-icon[data-v-b09ebccc],.portal-bottom-item.router-link-active .portal-bottom-icon[data-v-b09ebccc]{background:var(--p-teal-soft)}}@media (max-width:720px){.portal-fullscreen-btn[data-v-b09ebccc]{display:none}.portal-header-icon[data-v-b09ebccc]{width:32px;height:32px}.portal-clock[data-v-b09ebccc]{height:34px;padding:0 .6rem}.portal-clock-time[data-v-b09ebccc]{font-size:.76rem}.portal-icon-btn[data-v-b09ebccc]{width:34px;height:34px}.portal-robot-btn[data-v-b09ebccc]{height:34px;padding:0 .55rem}}.portal-drawer-prefs[data-v-b09ebccc]{display:none}.portal-drawer-lang[data-v-b09ebccc]{display:flex;gap:.25rem;padding:.2rem;border-radius:11px;background:var(--p-line-soft)}.portal-drawer-pref[data-v-b09ebccc]{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:42px;height:34px;padding:0 .6rem;border:none;border-radius:9px;background:transparent;color:var(--p-muted);font-family:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.portal-drawer-pref.is-active[data-v-b09ebccc]{background:var(--p-teal-soft);color:var(--p-teal)}.portal-drawer-theme[data-v-b09ebccc]{flex:1;border:1px solid var(--p-line);font-weight:700}@media (max-width:440px){.portal-header .portal-lang[data-v-b09ebccc],.portal-header .portal-theme-btn[data-v-b09ebccc]{display:none}.portal-drawer-prefs[data-v-b09ebccc]{display:flex;align-items:center;gap:.5rem}.portal-clock-dot[data-v-b09ebccc]{display:none}.portal-clock[data-v-b09ebccc]{padding:0 .55rem}}@media (prefers-reduced-motion:reduce){.portal-backdrop[data-v-b09ebccc],.portal-shell[data-v-b09ebccc],.portal-sidebar[data-v-b09ebccc]{transition:none}.robot-online-dot[data-v-b09ebccc]{animation:none}}@media (min-width:1024px){.portal-backdrop[data-v-b09ebccc],.portal-bottom[data-v-b09ebccc],.portal-crumbs[data-v-b09ebccc],.portal-header-brand[data-v-b09ebccc],.portal-menu-btn[data-v-b09ebccc],.portal-rail-toggle[data-v-b09ebccc],.portal-sidebar[data-v-b09ebccc]{display:none!important}}.portal-shell[data-v-b09ebccc]{padding-left:0!important}.portal-header[data-v-b09ebccc]{height:auto;min-height:0;flex-wrap:nowrap;align-items:center;gap:.3rem .45rem;padding-right:.75rem;padding-left:.75rem;padding-top:calc(.7rem + env(safe-area-inset-top));padding-bottom:.35rem}.portal-header .portal-header-right[data-v-b09ebccc]{gap:.3rem;flex-shrink:0}.portal-header .portal-clock[data-v-b09ebccc],.portal-header .portal-icon-btn[data-v-b09ebccc],.portal-header .portal-robot-btn[data-v-b09ebccc]{height:36px}.portal-header .portal-icon-btn[data-v-b09ebccc]{width:36px;border-radius:10px}.portal-header .portal-clock[data-v-b09ebccc]{gap:.4rem;padding:0 .15rem 0 .55rem;border-color:transparent;background:transparent}.portal-header .portal-clock-time[data-v-b09ebccc]{font-size:.95rem;font-weight:700}.portal-header .portal-clock-date[data-v-b09ebccc]{padding-left:.4rem;border-left-color:transparent;font-size:.68rem;font-weight:500;opacity:.72}.portal-header .portal-robot-btn[data-v-b09ebccc]{padding:0 .5rem 0 .6rem;gap:.3rem}.portal-top-brand[data-v-b09ebccc]{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}.portal-top-logo[data-v-b09ebccc]{height:40px;width:auto;max-width:min(176px,28vw);-o-object-fit:contain;object-fit:contain}.portal-topnav[data-v-b09ebccc]{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:.2rem;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.portal-topnav[data-v-b09ebccc]::-webkit-scrollbar{display:none}.portal-topnav-item[data-v-b09ebccc]{display:inline-flex;align-items:center;height:34px;padding:0 .72rem;border-radius:999px;color:var(--p-muted);font-size:.92rem;font-weight:650;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.portal-topnav-item[data-v-b09ebccc]:hover{color:var(--p-ink);background:var(--p-panel-2)}.dark-mode .portal-topnav-item[data-v-b09ebccc]:hover{background:hsla(0,0%,100%,.06)}.portal-topnav-item.router-link-active[data-v-b09ebccc]{color:#0f766e;background:rgba(16,185,129,.14);box-shadow:inset 0 0 0 1.5px rgba(13,148,136,.55)}.portal-topnav-item.router-link-active[data-v-b09ebccc]:hover{color:#0f766e;background:rgba(16,185,129,.22)}.dark-mode .portal-topnav-item.router-link-active[data-v-b09ebccc]{color:#5eead4;background:rgba(16,185,129,.16);box-shadow:inset 0 0 0 1.5px rgba(45,212,176,.78)}.dark-mode .portal-topnav-item.router-link-active[data-v-b09ebccc]:hover{color:#99f6e4;background:rgba(16,185,129,.24);box-shadow:inset 0 0 0 1.5px rgba(94,234,212,.9)}.portal-header-right[data-v-b09ebccc]{margin-left:auto}@media (max-width:1023px){.portal-header .portal-fullscreen-btn[data-v-b09ebccc],.portal-header .portal-header-logout[data-v-b09ebccc],.portal-header .portal-lang[data-v-b09ebccc],.portal-header .portal-theme-btn[data-v-b09ebccc],.portal-topnav[data-v-b09ebccc]{display:none!important}.portal-drawer-prefs[data-v-b09ebccc]{display:flex!important;flex-wrap:wrap;align-items:center;gap:.4rem}.portal-clock-date[data-v-b09ebccc]{display:none!important}.portal-top-logo[data-v-b09ebccc]{height:32px;max-width:min(150px,44vw)}.portal-main[data-v-b09ebccc]{padding-bottom:calc(var(--p-bottom-h) + .85rem + env(safe-area-inset-bottom))!important}.portal-bottom-text[data-v-b09ebccc]{font-size:.68rem;font-weight:650;line-height:1.1;white-space:normal;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.portal-bottom-icon[data-v-b09ebccc]{width:52px;height:30px}.portal-bottom-item.is-active[data-v-b09ebccc],.portal-bottom-item.router-link-active[data-v-b09ebccc]{color:#0f9f6e}.dark-mode .portal-bottom-item.is-active[data-v-b09ebccc],.dark-mode .portal-bottom-item.router-link-active[data-v-b09ebccc]{color:#6ee7b7}.portal-bottom-item.is-active .portal-bottom-icon[data-v-b09ebccc],.portal-bottom-item.router-link-active .portal-bottom-icon[data-v-b09ebccc]{background:rgba(16,185,129,.16);box-shadow:inset 0 0 0 1px rgba(52,211,153,.38)}body.fpr-control-mode .portal-bottom{display:none!important}body.fpr-control-mode .portal-main{padding-bottom:0!important}}@font-face{font-family:Outfit;src:url(/fonts/outfit-400.3735857b.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-500.26143ffe.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-600.78a6d831.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-700.ed29d16f.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Outfit;src:url(/fonts/outfit-800.42dcd8e8.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-500.af2e87f5.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-700.9545a3d1.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--font-ui:"Outfit","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--bg-primary:#e8eef5;--bg-secondary:#e3eaf3;--card-bg:#fff;--popover-bg:#f4f7fb;--popover-border:rgba(15,23,42,.12);--input-bg:hsla(0,0%,100%,.72);--text-primary:#0c1220;--text-secondary:#5a6a82;--border:#d3dae6;--nav-bg:hsla(0,0%,100%,.42);--hover-bg:rgba(13,148,136,.1);--primary:#0d9488;--primary-dark:#0f766e;--primary-rgb:13,148,136;--shadow:rgba(15,23,42,.14);--glass-fill:#fff;--glass-fill-strong:#fff;--glass-fill-soft:#fff;--glass-border:#cfd6e2;--glass-border-soft:#d5dce7;--glass-highlight:none;--glass-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 28px -12px rgba(16,24,40,.14);--glass-shadow-sm:0 1px 2px rgba(16,24,40,.04),0 6px 16px -8px rgba(16,24,40,.1);--glass-specular:linear-gradient(115deg,hsla(0,0%,100%,.55),hsla(0,0%,100%,0) 42%);--panel-shell-bg:var(--glass-fill);--panel-shell-border:var(--glass-border-soft);--panel-shell-shadow:var(--glass-shadow);--panel-card-bg:var(--glass-fill-soft);--panel-card-border:var(--glass-border-soft);--panel-card-shadow:var(--glass-shadow-sm);--panel-joystick-bg:#e6edf5;--panel-chip-bg:#fff;--panel-chip-border:#d0d7e3;--panel-accent:#0d9488;--panel-ghost-bg:#f7f9fc;--panel-ghost-border:#d0d7e3;--panel-ghost-hover:#eef3f8;--panel-secondary-bg:rgba(13,148,136,.12);--panel-secondary-border:rgba(13,148,136,.28);--panel-secondary-text:#0f766e;--panel-warning-bg:rgba(255,159,10,.14);--panel-warning-border:rgba(255,159,10,.38);--panel-warning-text:#8a4b00;--panel-danger-bg:rgba(255,59,48,.12);--panel-danger-border:rgba(255,59,48,.32);--panel-danger-text:#9b1c14;--panel-urgent-bg:rgba(52,199,89,.12);--panel-urgent-border:rgba(52,199,89,.28);--panel-urgent-text:#0b6b2e;--panel-success-text:#1a7f37;--panel-tour-text:#5b21b6;--panel-charge-text:#0e7490;--joystick-ring-bg:rgba(13,148,136,.14);--joystick-ring-border:rgba(13,148,136,.4);--joystick-ring-shadow:0 0 26px rgba(13,148,136,.2);--joystick-knob-bg:rgba(13,148,136,.55);--joystick-knob-border:rgba(13,148,136,.75);--joystick-knob-shadow:0 0 16px rgba(13,148,136,.32);--chrome-bg:linear-gradient(180deg,rgba(28,34,48,.92),rgba(18,22,34,.94));--chrome-border:hsla(0,0%,100%,.14);--chrome-text:#f5f7fa;--chrome-muted:rgba(235,240,248,.62);--chrome-chip:linear-gradient(160deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.06));--chrome-chip-border:hsla(0,0%,100%,.22);--chrome-hover:hsla(0,0%,100%,.16);--chrome-glass-highlight:inset 0 1px 0 hsla(0,0%,100%,.28),inset 0 -1px 0 rgba(0,0,0,.18);--page-max-width:none;--radius-pill:999px;--radius-control:14px;--radius-card:22px;--radius-glass:26px;--control-font-weight:600;--page-title-size:1.85rem;--page-title-weight:700;--focus-ring:0 0 0 3px rgba(var(--primary-rgb),0.22);--ambient-a:transparent;--ambient-b:transparent;--ambient-c:transparent}.dark-mode{--bg-primary:#090d14;--bg-secondary:#10151f;--card-bg:#10151f;--popover-bg:#161c2a;--popover-border:hsla(0,0%,100%,.14);--input-bg:rgba(28,36,54,.72);--text-primary:#f2f5fa;--text-secondary:#8b9bb3;--border:hsla(0,0%,100%,.12);--nav-bg:rgba(12,16,28,.72);--hover-bg:rgba(45,212,191,.14);--primary:#2dd4bf;--primary-dark:#5eead4;--primary-rgb:45,212,191;--shadow:rgba(0,0,0,.5);--glass-fill:#10151f;--glass-fill-strong:#141a26;--glass-fill-soft:#141a26;--glass-border:hsla(0,0%,100%,.08);--glass-border-soft:hsla(0,0%,100%,.06);--glass-highlight:none;--glass-shadow:0 1px 2px rgba(0,0,0,.4);--glass-shadow-sm:0 1px 2px rgba(0,0,0,.4);--glass-specular:linear-gradient(115deg,hsla(0,0%,100%,.18),hsla(0,0%,100%,0) 42%);--panel-shell-bg:var(--glass-fill);--panel-shell-border:var(--glass-border-soft);--panel-shell-shadow:var(--glass-shadow);--panel-card-bg:var(--glass-fill-soft);--panel-card-border:var(--glass-border-soft);--panel-card-shadow:var(--glass-shadow-sm);--panel-joystick-bg:rgba(10,14,26,.55);--panel-chip-bg:hsla(0,0%,100%,.06);--panel-chip-border:hsla(0,0%,100%,.12);--panel-accent:#2dd4bf;--panel-ghost-bg:hsla(0,0%,100%,.05);--panel-ghost-border:hsla(0,0%,100%,.12);--panel-ghost-hover:hsla(0,0%,100%,.1);--panel-secondary-bg:rgba(45,212,191,.16);--panel-secondary-border:rgba(45,212,191,.36);--panel-secondary-text:#ccfbf1;--panel-warning-bg:rgba(255,159,10,.16);--panel-warning-border:rgba(255,159,10,.4);--panel-warning-text:#ffe8b8;--panel-danger-bg:rgba(255,69,58,.16);--panel-danger-border:rgba(255,69,58,.4);--panel-danger-text:#ffd4d1;--panel-urgent-bg:rgba(48,209,88,.12);--panel-urgent-border:rgba(48,209,88,.32);--panel-urgent-text:rgba(90,230,130,.95);--panel-success-text:#86efac;--panel-tour-text:#ddd6fe;--panel-charge-text:#5ac8fa;--joystick-ring-bg:rgba(45,212,191,.16);--joystick-ring-border:rgba(45,212,191,.48);--joystick-ring-shadow:0 0 30px rgba(45,212,191,.28);--joystick-knob-bg:rgba(45,212,191,.58);--joystick-knob-border:rgba(45,212,191,.85);--joystick-knob-shadow:0 0 18px rgba(45,212,191,.4);--chrome-bg:linear-gradient(180deg,rgba(22,26,38,.94),rgba(8,10,18,.96));--chrome-border:hsla(0,0%,100%,.1);--chrome-text:#f5f7fa;--chrome-muted:rgba(200,210,225,.55);--chrome-chip:linear-gradient(160deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.04));--chrome-chip-border:hsla(0,0%,100%,.16);--chrome-hover:rgba(45,212,191,.18);--chrome-glass-highlight:inset 0 1px 0 hsla(0,0%,100%,.2),inset 0 -1px 0 rgba(0,0,0,.25);--ambient-a:transparent;--ambient-b:transparent;--ambient-c:transparent}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light;--ui:1;font-size:calc(16px*var(--ui));background-color:var(--bg-primary);overflow-x:clip;scrollbar-color:rgba(100,116,139,.55) var(--bg-primary)}body,html{margin:0!important;padding:0!important}html.dark-mode,html:has(body.dark-mode){color-scheme:dark;background-color:#090d14;scrollbar-color:rgba(148,163,184,.55) #090d14}html.portal-drawer-lock,html.portal-drawer-lock body{overflow:hidden}.dark-mode{color-scheme:dark}body.dark-mode,body.dark-mode:before{background-color:#090d14}select optgroup,select option{background-color:#fff;color:#0f172a}select option:disabled{color:#8a94a6}.dark-mode select optgroup,.dark-mode select option{background-color:#161c2a;color:#f1f5f9}.dark-mode select option:disabled{color:#6b7a90}@media (max-width:1600px){html{font-size:15px}}body{font-family:var(--font-ui);font-feature-settings:"ss01" on,"cv11" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);letter-spacing:-.011em;overflow-x:clip;min-height:100vh;min-height:100dvh}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--bg-primary);background-image:radial-gradient(ellipse 95% 60% at 12% -12%,var(--ambient-a),transparent 58%),radial-gradient(ellipse 70% 55% at 92% 108%,var(--ambient-b),transparent 60%),radial-gradient(ellipse 45% 35% at 68% 8%,var(--ambient-c),transparent 52%),radial-gradient(ellipse 50% 40% at 40% 70%,hsla(0,0%,100%,.06),transparent 55%);will-change:transform}#app{position:relative;z-index:1;min-height:100vh;background:transparent}h1,h2,h3,h4{letter-spacing:-.03em;font-weight:700}.license-id-text,.plc-clock-time,code,kbd,pre{font-family:var(--font-mono)}::-moz-selection{background:rgba(var(--primary-rgb),.28);color:var(--text-primary)}::selection{background:rgba(var(--primary-rgb),.28);color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}html.dark-mode::-webkit-scrollbar-track,html:has(body.dark-mode)::-webkit-scrollbar-track{background:#090d14}::-webkit-scrollbar-thumb{background:rgba(148,163,184,.38);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(148,163,184,.62);border:2px solid transparent;background-clip:padding-box}.btn,.desktop-nav-link,.icon-btn,.sidebar-link,a,button{transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease,opacity .2s ease}input,select,textarea{font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}button{font-family:inherit}.page-soft-enter-active{transition:opacity .12s cubic-bezier(.22,1,.36,1),transform .12s cubic-bezier(.22,1,.36,1)}.page-soft-leave-active{transition:opacity .08s cubic-bezier(.4,0,.7,.2),transform .08s cubic-bezier(.4,0,.7,.2)}.page-soft-enter-from{opacity:0;transform:translate3d(0,4px,0)}.page-soft-leave-to{opacity:0;transform:translate3d(0,-2px,0)}.page-soft-enter-to,.page-soft-leave-from{opacity:1;transform:translateZ(0)}@media (prefers-reduced-motion:reduce){.page-soft-enter-active,.page-soft-leave-active{transition-duration:.01ms!important}.page-soft-enter-from,.page-soft-leave-to{transform:none}}.glass-surface{background:var(--glass-fill);border:1px solid var(--glass-border-soft);box-shadow:var(--glass-shadow-sm);border-radius:var(--radius-card);position:relative;overflow:hidden}.glass-surface:before{content:"";position:absolute;inset:0;background:var(--glass-specular);pointer-events:none;border-radius:inherit}.glass-chip{border:1px solid var(--panel-chip-border);border-radius:var(--radius-control)}.glass-chip,.glass-icon{background:var(--panel-chip-bg);box-shadow:var(--glass-highlight)}.glass-icon{display:inline-flex;align-items:center;justify-content:center;width:calc(28px*var(--ui, 1));height:calc(28px*var(--ui, 1));border-radius:10px;border:1px solid var(--panel-chip-border);color:var(--text-primary);flex-shrink:0}.glass-icon svg{width:calc(15px*var(--ui, 1));height:calc(15px*var(--ui, 1));stroke:currentColor;stroke-width:1.85;fill:none;stroke-linecap:round;stroke-linejoin:round}body.msgui-feed-fs .modal-overlay{visibility:hidden!important;pointer-events:none!important}body.msgui-feed-fs .feed-panel-fullscreen{background:#e8eef6!important}body.dark-mode.msgui-feed-fs .feed-panel-fullscreen{background:#070b14!important}body.msgui-feed-fs .feed-panel-fullscreen .feed-topbar{background:#f4f7fb!important}body.dark-mode.msgui-feed-fs .feed-panel-fullscreen .feed-topbar{background:#0d1424!important}