*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.viz-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-plane:#0d0f1a;--surface-1:#141827;--surface-2:#1b2033;--border:#282e45;--border-strong:#384060;--content-fill:#1b2033;--content-fill-hover:#232a40;--text-primary:#e8ebf2;--text-secondary:#aab2c2;--text-muted:#7a84a0;--accent:#8b9cff;--status-upcoming:#7aa2ff;--status-good:#3fcf8e;--status-critical:#ff6b6b;--status-maintenance:#f0a93b;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--sans:var(--font-inter), var(--font-noto-tc), -apple-system, "Segoe UI", "Microsoft JhengHei", system-ui, sans-serif;background:var(--page-plane) radial-gradient(900px 420px at 12% -8%, #8b9cff1c, transparent 70%) no-repeat;min-height:100vh;color:var(--text-primary);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:13px;line-height:1.5;display:flex}a{color:var(--accent)}:where(button,a,summary,input,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--mono)}.site-header{z-index:20;border-bottom:1px solid var(--border);background:#0d0f1af5;position:sticky;top:0}.site-header-inner{align-items:center;gap:14px;max-width:1180px;min-height:42px;margin:0 auto;padding:0 14px;display:flex}.brand{color:var(--text-primary);flex-shrink:0;align-items:center;gap:7px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);color:#0b0d12;border-radius:6px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:grid}.brand-name{letter-spacing:.01em;font-size:14px}.site-nav{scrollbar-width:none;flex:1;align-items:center;gap:0;min-width:0;display:flex;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.nav-group{border-left:1px solid var(--border);flex-shrink:0;align-items:center;gap:1px;padding:0 8px;display:flex}.nav-group:first-child{border-left:0}.nav-link{color:var(--text-secondary);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:12.5px;text-decoration:none;display:inline-flex}.nav-link:hover{background:var(--surface-2);color:var(--text-primary)}.nav-link.is-active{background:color-mix(in srgb, var(--card-accent,var(--accent)) 20%, transparent);color:var(--text-primary);box-shadow:inset 0 -2px 0 var(--card-accent,var(--accent))}.page{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:14px}.site-footer{text-align:center;color:var(--text-muted);padding:10px 14px 16px;font-size:11px}.nav-toggle,.nav-current,.nav-group-title{display:none}@media (max-width:767.98px){.site-header-inner{gap:10px;min-height:48px;position:relative}.nav-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;font-size:13px;display:block;overflow:hidden}.nav-toggle{border:1px solid var(--border);background:var(--surface-2);min-height:40px;color:var(--text-primary);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.site-nav{background:var(--bg,#0d0f1a);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:10px;max-height:calc(100dvh - 48px);padding:10px 14px 14px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #00000080}.site-nav.is-open{display:flex}.nav-group{border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0;display:grid}.nav-group-title{letter-spacing:.08em;color:var(--text-muted);grid-column:1/-1;font-size:11px;display:block}.nav-link{border:1px solid var(--border);background:var(--surface-1);min-height:44px;padding:0 12px;font-size:14px}.page{padding:10px}}.service-panel{border:1px solid var(--border);background:var(--surface-1);border-radius:10px;padding:14px}.panel-heading{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.panel-heading .status-line{margin:0 0 0 auto}.panel-icon{background:color-mix(in srgb, var(--card-accent,var(--accent)) 24%, transparent);border:1px solid color-mix(in srgb, var(--card-accent,var(--accent)) 50%, transparent);width:28px;height:28px;color:color-mix(in srgb, var(--card-accent,var(--accent)) 70%, #fff);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.service-panel h2{letter-spacing:-.005em;margin:0;font-size:18px;font-weight:700;line-height:1.25}.panel-meta{color:var(--text-muted);margin:2px 0 0;font-size:11px}.panel-divider{border-top:1px solid var(--border);margin:12px 0 10px}.subsection-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.subsection-heading h3{margin:0;font-size:13px;font-weight:600}.description{color:var(--text-secondary);margin:8px 0 0;font-size:12.5px;line-height:1.55}.hint{color:var(--text-muted);margin:6px 0 0;font-size:11.5px}.status-line{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-top:8px;padding:3px 9px;font-size:11.5px;display:inline-flex}.status-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.is-up{background:#4ccf97;box-shadow:0 0 6px 1px #4ccf978c}.status-dot.is-down{background:#f07272;box-shadow:0 0 6px 1px #f0727280}.status-dot.is-asleep{background:var(--status-upcoming);box-shadow:0 0 6px 1px #8b9cff66}.status-dot.is-maintenance,.status-dot.is-warn{background:var(--status-maintenance)}.mini-status{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.player-chips{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.player-chips:empty{display:none}.player-chip{background:color-mix(in srgb, var(--card-accent,var(--accent)) 22%, transparent);border:1px solid color-mix(in srgb, var(--card-accent,var(--accent)) 45%, transparent);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px}.pal-map-wrap{margin-top:10px}.pal-map{aspect-ratio:1;background:var(--page-plane);border:1px solid var(--border);border-radius:8px;width:100%;max-width:240px;display:block}.conn-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.conn-label{color:var(--text-muted);min-width:64px;font-size:11.5px}.conn-value{background:var(--page-plane);border:1px solid var(--border);min-width:160px;color:var(--text-primary);white-space:nowrap;border-radius:6px;flex:1;padding:5px 10px;font-size:12.5px;overflow-x:auto}.copy-btn{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);font:inherit;cursor:pointer;border-radius:6px;padding:4px 11px;font-size:11.5px}.copy-btn:hover{border-color:var(--accent);color:var(--accent)}.copy-btn.copied{color:var(--status-good);border-color:var(--status-good)}.install-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.install-card{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;min-width:0;padding:12px}.install-label{color:#c3a56b;letter-spacing:.08em;font-size:10.5px}.install-card h3{margin:4px 0 6px;font-size:14px}.install-card p,.install-card li,.install-help p{color:var(--text-secondary);margin:4px 0;font-size:12.5px;line-height:1.65}.install-card ol{margin:6px 0 0;padding-left:18px}.install-card li+li{margin-top:3px}.download-actions{flex-wrap:wrap;gap:6px;display:flex}.download-link{color:#fff;background:#2f63b8;border-radius:6px;align-items:center;min-height:32px;padding:5px 12px;font-size:12.5px;text-decoration:none;display:inline-flex}.download-link:hover{background:#3b72cc}.download-link.secondary{background:var(--surface-1);border:1px solid var(--border-strong)}.install-help{border-top:1px solid var(--border);padding:10px 0 0}.install-help summary{cursor:pointer}@media (max-width:800px){.install-grid{grid-template-columns:1fr}}.usage-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}@media (min-width:480px){.usage-stats{grid-template-columns:repeat(4,1fr)}}.stat-tile{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;padding:9px 11px;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.stat-label{color:var(--text-muted);font-size:10.5px}.usage-models{margin-top:12px}.usage-models-title{color:var(--text-secondary);margin:0 0 6px;font-size:12px;font-weight:600}.usage-bar-row{grid-template-columns:96px 1fr auto;align-items:center;gap:8px;margin-top:6px;font-size:11.5px;display:grid}.usage-bar-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.usage-bar-track{background:var(--surface-2);border-radius:3px;height:6px;display:block;overflow:hidden}.usage-bar-fill{border-radius:3px;height:100%;display:block}.usage-bar-value{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.prose{border:1px solid var(--border);background:var(--surface-1);border-radius:10px;max-width:760px;margin:0 auto;padding:18px 20px}.prose .kicker{color:var(--text-muted);letter-spacing:.06em;font-size:11px}.prose h1{margin:2px 0 4px;font-size:21px}.prose .lede{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.75}.prose .notice{color:var(--text-secondary);background:#ff6b6b12;border:1px solid #ff6b6b40;border-radius:8px;margin:12px 0 0;padding:8px 12px;font-size:12px;line-height:1.6}.prose h2{border-top:1px solid var(--border);margin:22px 0 8px;padding-top:14px;font-size:16px}.prose h3{margin:14px 0 6px;font-size:13.5px}.prose p{color:var(--text-secondary);margin:8px 0;font-size:13px;line-height:1.75}.prose ul,.prose ol{color:var(--text-secondary);padding-left:20px;font-size:13px;line-height:1.7}.prose li{margin:4px 0}.prose table{border-collapse:collapse;width:100%;margin:10px 0;font-size:12px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.prose th{color:var(--text-muted);white-space:nowrap;font-weight:600}.prose td{color:var(--text-secondary)}.prose .verdict{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:8px 12px}.prose .verdict b{color:var(--text-primary)}.prose .sources{color:var(--text-muted);font-size:11.5px;line-height:1.8}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.code-block{margin-top:8px;position:relative}.code-block pre{background:var(--page-plane);border:1px solid var(--border);white-space:pre;color:var(--text-primary);border-radius:6px;margin:0;padding:36px 12px 10px;font-size:12px;line-height:1.55;overflow-x:auto}.code-block .copy-btn{position:absolute;top:6px;right:6px}.guide-item{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;margin-top:8px}.guide-item summary{cursor:pointer;padding:9px 12px;font-size:13px;font-weight:600}.guide-item[open] summary{border-bottom:1px solid var(--border)}.guide-body{padding:4px 12px 12px}.note-list{color:var(--text-secondary);margin:8px 0 0;padding-left:18px;font-size:12.5px;line-height:1.7}.description code,.hint code,.note-list code{background:var(--page-plane);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:0 5px;font-size:11.5px}.nav-link svg,.panel-icon svg{flex-shrink:0}.panel-icon svg{display:block}@media (hover:hover){.service-panel{transition:border-color .2s}}
