*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:30;background:color-mix(in oklab,var(--bg) 80%,transparent);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--border-faint)}.app-header-inner{max-width:720px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:24px;letter-spacing:-.01em;color:var(--text)}:root[data-brand-mark=on] .brand{font-size:28px}:root[data-brand-mark=off] .brand-mark{display:none}.brand-mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);flex-shrink:0}.brand-mark svg{width:22px;height:22px;display:block}.header-actions{display:flex;align-items:center;gap:8px}.theme-toggle{display:inline-flex;align-items:center;gap:0;padding:3px;background:var(--surface-2);border:1px solid var(--border-faint);border-radius:999px}.theme-toggle button{width:36px;height:32px;display:grid;place-items:center;background:transparent;border:0;border-radius:999px;color:var(--text-muted);cursor:pointer;transition:background-color .15s,color .15s}.theme-toggle button:hover{color:var(--text)}.theme-toggle button[aria-pressed=true]{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-sm)}.theme-toggle button svg{width:22px;height:22px}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:var(--section-gap) 20px 80px;display:flex;flex-direction:column;gap:var(--section-gap)}@media (max-width: 540px){.app-header-inner{padding:12px 16px}.app-main{padding:var(--section-gap) 14px 60px}}.card{background:var(--surface);border:1px solid var(--border-faint);border-radius:var(--r-lg);padding:var(--card-pad);box-shadow:var(--shadow-sm)}.section{display:flex;flex-direction:column;gap:16px}.section-head{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:12px}.section-title{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.015em;margin:0;font-family:var(--font-display)}.section-head-count{font-size:var(--fs-sm);color:var(--text-muted);font-family:var(--font-mono);font-feature-settings:"tnum"}.bundle-segmented{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--r-md)}.bundle-segment{flex:1;height:38px;padding:0 12px;border:0;background:transparent;border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-md);font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.bundle-segment:hover:not(:disabled){color:var(--text)}.bundle-segment[aria-pressed=true]{background:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm);font-weight:600}.bundle-segment:disabled{opacity:.45;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:var(--r-md);border:1px solid transparent;background:var(--surface-2);color:var(--text);font-size:var(--fs-md);font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .15s,border-color .15s,color .15s,transform .15s;text-decoration:none;font-family:inherit}.btn:hover{background:var(--bg-hover)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(.5px)}.btn-primary{background:var(--text);color:var(--text-inverse);border-color:var(--text)}.btn-primary:hover{background:oklch(from var(--text) calc(l + .08) c h)}[data-theme=dark] .btn-primary:hover{background:oklch(from var(--text) calc(l - .08) c h)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:hover{background:var(--bg-hover)}.btn-outline{background:transparent;border-color:var(--border);color:var(--text)}.btn-outline:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn-danger{background:transparent;color:var(--danger);border-color:color-mix(in oklab,var(--danger) 30%,var(--border))}.btn-danger:hover{background:var(--danger-soft);border-color:color-mix(in oklab,var(--danger) 60%,var(--border))}.btn-danger.btn-solid{background:var(--danger);color:var(--text-inverse);border-color:var(--danger)}.btn-danger.btn-solid:hover{background:oklch(from var(--danger) calc(l - .04) c h)}[data-theme=dark] .btn-danger.btn-solid{color:var(--text)}.btn-sm{height:30px;padding:0 10px;font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-lg{height:46px;padding:0 22px;font-size:var(--fs-lg)}.btn svg{width:22px;height:22px;flex-shrink:0}.btn-sm svg{width:22px;height:22px}.btn-lg svg{width:22px;height:22px}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.01em;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border-faint);height:22px;white-space:nowrap}.chip-ok{background:var(--surface-2);color:var(--text);border-color:var(--border)}.chip-warn{background:var(--pending-soft);color:var(--text-muted);border-color:var(--pending-border)}.chip-accent{background:var(--accent-soft);color:var(--on-accent-text);border-color:color-mix(in oklab,var(--accent) 25%,transparent)}.chip-danger{background:var(--danger-soft, var(--pending-soft));color:var(--danger, var(--text));border-color:color-mix(in oklab,var(--danger, var(--text)) 25%,transparent)}.chip-rotated{background:var(--pending-soft, var(--bg-elev));color:var(--text-muted);border-color:var(--pending-border, var(--border-faint));font-size:var(--fs-xs)}.input{width:100%;height:42px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-elev);color:var(--text);font-size:var(--fs-md);transition:border-color .15s,box-shadow .15s,background-color .15s;font-family:inherit}.input::placeholder{color:var(--text-faint)}.input:hover{border-color:var(--border-strong)}.input:focus{outline:none}.input.input-mono{font-family:var(--font-mono);letter-spacing:.04em}.code-box{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--code-bg);border:1px solid var(--border-faint);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);word-break:break-all;line-height:1.5}.icon-btn{width:32px;height:32px;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--text-muted);border-radius:var(--r-sm);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.icon-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--border-faint)}.icon-btn.danger:hover{color:var(--danger);border-color:color-mix(in oklab,var(--danger) 30%,var(--border))}.icon-btn svg{width:22px;height:22px}.empty-state{text-align:center;padding:32px 16px;border:1.5px dashed var(--border);border-radius:var(--r-md);background:var(--bg-sunken);color:var(--text-muted)}.empty-state .icon{width:32px;height:32px;margin:0 auto 12px;display:grid;place-items:center;color:var(--text-muted)}.empty-state .icon svg{width:32px;height:32px}.empty-state .title{color:var(--text);font-weight:600;margin-bottom:4px;font-size:var(--fs-md)}.empty-state .body{font-size:var(--fs-sm);max-width:380px;margin:0 auto;line-height:1.55}.empty-state .empty-state-action{margin-top:16px}.platform-tabs{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--r-md);margin-bottom:12px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.platform-tabs::-webkit-scrollbar{display:none}.platform-tab{flex:1;height:36px;padding:0 10px;border:0;background:transparent;border-radius:var(--r-sm);color:var(--text-muted);font-size:var(--fs-sm);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;white-space:nowrap}.platform-tab:hover{color:var(--text)}.platform-tab[aria-pressed=true]{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-sm)}.slots-gauge{position:relative;display:flex;align-items:center;justify-content:center;padding:8px 0 4px}.slots-gauge svg{display:block}.slots-gauge-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.slots-gauge-value{font-family:var(--font-display);font-size:36px;font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--text);display:flex;align-items:baseline;gap:2px}.slots-gauge-value .sep{color:var(--text-muted);font-weight:500}.slots-gauge-value .den{color:var(--text-muted);font-size:22px}.slots-gauge-cap{margin-top:6px;font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:.02em}.traffic-gauge-cap{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.25;letter-spacing:0}.slots-total{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 0 8px;min-height:160px}.slots-total-num{position:relative;font-family:var(--font-display);font-size:56px;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--text)}.slots-total-cap{position:relative;margin-top:8px;font-size:var(--fs-sm);color:var(--text-muted)}.numeric-stat{min-height:172px;padding:8px 0 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.numeric-stat-value{max-width:100%;display:flex;align-items:baseline;justify-content:center;gap:6px;color:var(--text);font-family:var(--font-display);line-height:1;letter-spacing:0}.numeric-stat-value .num{font-size:52px;font-weight:600}.numeric-stat-value .unit{color:var(--text-muted);font-size:18px;font-weight:600;white-space:nowrap}.numeric-stat-cap{margin-top:10px;color:var(--text-muted);font-size:var(--fs-sm)}.stats-refresh-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-faint)}.stats-refresh-label{font-size:var(--fs-xs);color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.stats-refresh-value{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums}.stats-refresh-unit{margin-left:3px;color:var(--text-muted);font-size:var(--fs-xs)}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--section-gap)}.modal-blur{position:fixed;inset:0;z-index:100;background:color-mix(in oklab,var(--bg-sunken) 88%,transparent);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%);animation:backdrop-in .2s ease}.modal-backdrop{position:fixed;top:var(--vv-top, 0);left:0;right:0;height:var(--vv-h, 100dvh);z-index:101;display:grid;place-items:center;padding:20px;pointer-events:none}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:440px;max-height:calc(var(--vv-h, 100dvh) * .9);overflow-y:auto;background:var(--surface);border:1px solid var(--border-faint);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);animation:modal-in .22s cubic-bezier(.2,.8,.2,1);pointer-events:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.modal-head{padding:var(--card-pad) var(--card-pad) 0}.modal-head .modal-title{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em;font-family:var(--font-display);color:var(--text);margin:0;line-height:1.25}.modal-body{padding:16px var(--card-pad) 0;display:flex;flex-direction:column;gap:16px;font-size:var(--fs-md);color:var(--text);line-height:1.55;min-width:0}.modal-foot{padding:20px var(--card-pad) var(--card-pad);display:flex;flex-direction:column;gap:10px}.modal-foot .btn{width:100%;min-width:0}.modal-foot .btn-ghost,.pin-actions .btn-ghost,.error-actions .btn-ghost,.token-card .btn-ghost{border-color:var(--border);background:var(--bg-elev)}.modal-foot .btn-ghost:hover,.pin-actions .btn-ghost:hover,.error-actions .btn-ghost:hover,.token-card .btn-ghost:hover{background:var(--bg-hover);border-color:var(--border-strong)}.modal-help{margin:0;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.55}.deep-link-body{display:flex;flex-direction:column;gap:12px}.deep-link-hint{margin:0;font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.deep-link-warning{display:flex;flex-wrap:wrap;gap:4px;padding:12px 14px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent-warning, #f59e0b) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent-warning, #f59e0b) 38%,transparent);color:var(--text);font-size:var(--fs-sm);line-height:1.5}.deep-link-warning strong{font-weight:600}.deep-link-source{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:var(--fs-sm);line-height:1.5}.deep-link-source svg{width:15px;height:15px;flex:none;margin-top:1px}.deep-link-source strong{font-weight:600}.deep-link-source.is-official{color:var(--ok)}.deep-link-source.is-unofficial{color:var(--accent-warning)}.confirm-revoke-list{margin:0;padding-left:18px;color:var(--text-muted);font-size:var(--fs-sm);display:flex;flex-direction:column;gap:4px;list-style:disc}.modal:has(.confirm-revoke-list) .modal-foot{padding-top:16px}.modal-body>p{margin:0}.icon-btn-lg{width:44px;height:44px;flex-shrink:0;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.icon-btn-lg:hover{background:var(--bg-hover);border-color:var(--border-faint)}.icon-btn-lg svg{width:22px;height:22px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:var(--fs-sm);font-weight:500;color:var(--text);display:block}.toggle-row-helper{font-size:var(--fs-xs);color:var(--text-muted)}.toggle-switch{position:relative;display:inline-flex;flex:0 0 auto;width:44px;height:26px;cursor:pointer}.toggle-switch.is-disabled{cursor:not-allowed;opacity:.5}.toggle-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.toggle-track{display:block;width:100%;height:100%;border-radius:999px;background:color-mix(in oklab,var(--text) 18%,transparent);transition:background .16s ease;position:relative}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .16s ease}.toggle-switch input:checked~.toggle-track{background:var(--accent, #2563eb)}.toggle-switch input:checked~.toggle-track .toggle-thumb{transform:translate(18px)}.toggle-switch input:focus-visible~.toggle-track{outline:2px solid var(--accent, #2563eb);outline-offset:2px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in oklab,var(--text) 20%,transparent);border-top-color:var(--accent);animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:10px 12px;border-radius:var(--r-sm);background:var(--danger-soft);border:1px solid color-mix(in oklab,var(--danger) 25%,transparent);color:var(--danger);font-size:var(--fs-sm)}[data-theme=dark] .alert{color:oklch(.85 .13 25)}.token-input-row{display:flex;gap:8px;align-items:stretch}.desktop-nav{position:fixed;top:calc(68px + var(--section-gap) + 1px);left:max(20px,calc(50% - 540px));width:160px;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border-faint);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);z-index:20}.nav-item{border:0;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;font-family:inherit}.nav-item svg{width:21px;height:21px;flex:0 0 auto}.nav-icon{position:relative;width:21px;height:21px;display:grid;place-items:center;flex:0 0 auto}.nav-icon svg{width:21px;height:21px}.nav-badge{position:absolute;top:-7px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:color-mix(in oklab,#c6a04e 78%,var(--surface-3));border:1px solid color-mix(in oklab,#c6a04e 58%,var(--border));color:var(--text);font-family:var(--font-mono);font-size:10px;line-height:1;box-shadow:0 2px 8px #00000047}.nav-item:hover{color:var(--text)}.nav-item:focus{outline:none}.nav-item:focus-visible{outline:1px solid var(--border-strong);outline-offset:2px}.nav-item[aria-current=page]{background:var(--surface-2);color:var(--text);box-shadow:var(--shadow-sm)}.desktop-nav .nav-item{justify-content:flex-start;width:100%;height:42px;padding:0 12px;border-radius:var(--r-md)}.mobile-tabbar-wrap{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;justify-content:center;padding:12px 14px calc(12px + env(safe-area-inset-bottom));pointer-events:none}.mobile-tabbar{width:min(100%,380px);display:grid;grid-template-columns:repeat(var(--nav-count, 6),1fr);gap:4px;padding:5px;border:1px solid var(--border-faint);border-radius:999px;background:color-mix(in oklab,var(--bg) 82%,transparent);box-shadow:0 8px 30px #00000052;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);pointer-events:auto}.mobile-tabbar .nav-item{height:48px;border-radius:999px}.mobile-tabbar .nav-item svg{width:22px;height:22px}.mobile-tabbar .nav-icon{width:24px;height:24px}.page{display:block}.stack{display:flex;flex-direction:column;gap:var(--section-gap)}.page-hero{display:flex;flex-direction:column;gap:8px;margin:2px 0 0}.page-title{margin:0;font-family:var(--font-display);font-size:28px;line-height:1.15;font-weight:700;letter-spacing:0}.page-subtitle,.helper{margin:0;color:var(--text-muted);font-size:var(--fs-sm);line-height:1.5}.page-subtitle{max-width:560px}.action-list,.mode-list,.client-list,.device-list{list-style:none;margin:0;padding:0;border:1px solid var(--border-faint);border-radius:var(--r-md);overflow:hidden;clip-path:inset(0 round var(--r-md));background:var(--surface-3)}.action-row,.mode-row,.client-row{--toggle-thumb-bg: var(--surface-3);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:58px;padding:10px 14px;border-bottom:1px solid var(--border-faint);background:transparent;color:var(--text);text-align:left;font:inherit;text-decoration:none}.action-row{width:100%;border-left:0;border-right:0;border-top:0;cursor:pointer;transition:background .15s}.action-row:hover{background:color-mix(in oklab,var(--surface-3) 72%,var(--surface-2))}.mode-row:last-child,.client-row:last-child,.action-row:last-child{border-bottom:0}.standalone-row{border:1px solid var(--border-faint);border-radius:var(--r-md);background:var(--surface-3)}.standalone-row:last-child{border-bottom:1px solid var(--border-faint)}.summary-icon,.country-chip,.client-mark,.device-icon{position:relative;width:28px;height:28px;display:grid;place-items:center;color:var(--row-icon);background:transparent;border:0;flex:0 0 auto}.summary-icon svg,.device-icon svg{width:22px;height:22px}.country-chip,.client-mark{font-family:var(--font-mono);font-size:12px;font-weight:650;letter-spacing:.03em}.mode-main,.client-main,.device-main{min-width:0}.row-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:var(--fs-md);font-weight:650}.row-sub{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--fs-xs)}.action-arrow{width:24px;height:24px;display:grid;place-items:center;justify-self:end;color:var(--text-muted)}.action-arrow svg{width:20px;height:20px}.soft-tabs,.platform-tabs,.bundle-segmented{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--r-md);overflow-x:auto;scrollbar-width:none}.soft-tabs::-webkit-scrollbar,.platform-tabs::-webkit-scrollbar{display:none}.soft-tab,.platform-tab,.bundle-segment{flex:1;min-width:max-content;height:38px;padding:0 12px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);font-size:var(--fs-md);font-weight:550;cursor:pointer;white-space:nowrap;font-family:inherit}.soft-tab:hover,.platform-tab:hover,.bundle-segment:hover{color:var(--text)}.soft-tab[aria-pressed=true],.platform-tab[aria-pressed=true],.bundle-segment[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.soft-tabs.is-compact{flex:0 0 auto;padding:3px}.soft-tabs.is-compact .soft-tab{flex:0 0 auto;height:32px;padding:0 10px;font-size:var(--fs-sm)}.group-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--text);font-size:var(--fs-sm);font-weight:650}.group-description{margin:3px 0 8px;color:var(--text-muted);font-size:var(--fs-xs);line-height:1.45}.mode-row .row-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;overflow:hidden}.more-row{grid-template-columns:1fr;min-height:29px;padding:0}.more-btn{width:100%;min-height:29px;border:0;border-radius:0;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-md);font-weight:650;cursor:pointer;transition:color .15s}.more-btn:hover{color:var(--text)}.more-btn svg{width:20px;height:20px}.more-icon-up{display:none;transform:rotate(180deg)}.more-btn[aria-expanded=true] .more-icon-down{display:none}.more-btn[aria-expanded=true] .more-icon-up{display:inline-flex}.card-action-buttons{display:flex;justify-content:flex-end;gap:8px}.card-action-buttons>.btn{min-width:240px}.card-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.card-action-buttons.is-single{grid-template-columns:minmax(0,1fr);justify-items:stretch}.card-action-buttons.is-single>.btn{width:100%;min-width:0}.btn svg{width:22px;height:22px}.value-box{flex:1;min-width:0;height:44px;padding:0 12px;display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border-faint);color:var(--text);font-size:var(--fs-md);font-weight:550}.value-input{font:inherit;outline:none}.value-input:focus{border-color:var(--border)}.traffic-chart-panel{position:relative;min-height:0;padding:12px;border:1px solid var(--border-faint);border-radius:var(--r-md);background:var(--surface-3);overflow:hidden}.traffic-chart{width:100%;height:auto;display:block;overflow:visible}.traffic-grid-line{stroke:var(--border-faint);stroke-width:1}.traffic-axis-unit{fill:var(--text-muted);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:650;letter-spacing:0}.traffic-area{fill:color-mix(in oklab,var(--text) 8%,transparent)}.traffic-line{fill:none;stroke:var(--text);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.traffic-point{fill:var(--surface-3);stroke:var(--text);stroke-width:3}.traffic-axis-label{fill:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-xs)}@media (max-width: 1120px){.desktop-nav{display:none}.mobile-tabbar-wrap{display:flex}}@media (max-width: 720px){.status-grid{grid-template-columns:1fr}}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.status-dot--ok{background:var(--status-success)}.status-dot--warn{background:var(--status-warn)}.status-dot--danger{background:var(--status-danger)}.status-dot--off{background:var(--text-faint)}.palette-backdrop{position:fixed;inset:0;z-index:80;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:color-mix(in oklab,var(--bg-sunken) 60%,transparent);backdrop-filter:blur(2px)}.palette{width:min(560px,92vw);max-height:60vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-faint);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.palette-input{width:100%;padding:14px 16px;border:0;border-bottom:1px solid var(--border-faint);background:transparent;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-lg);outline:none}.palette-list{overflow-y:auto;padding:6px}.palette-empty{padding:20px;text-align:center;color:var(--text-faint);font-size:var(--fs-sm)}.palette-group-label{padding:8px 8px 4px;font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-faint)}.palette-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer}.palette-item[data-active=true]{background:var(--bg-hover)}.palette-item-icon>svg{width:14px;height:14px;color:var(--text-faint)}.toast-stack{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface);border:1px solid var(--border-faint);border-radius:var(--r-md);box-shadow:var(--shadow-md);font-size:var(--fs-sm);color:var(--text)}.toast-icon>svg{width:14px;height:14px;color:var(--status-success)}.alert{display:flex;align-items:center;gap:8px}.alert-icon{display:inline-flex;flex:none}.alert-icon>svg{width:15px;height:15px}.banner-msg{flex:1;min-width:0}.alert--info{background:var(--status-info-soft);border-color:color-mix(in oklab,var(--status-info) 25%,transparent);color:var(--text)}.alert--ok{background:var(--status-success-soft);border-color:color-mix(in oklab,var(--status-success) 30%,transparent);color:var(--text)}.alert--warn{background:var(--status-warn-soft);border-color:color-mix(in oklab,var(--status-warn) 35%,transparent);color:var(--text)}.alert--danger{background:var(--status-danger-soft);border-color:color-mix(in oklab,var(--status-danger) 25%,transparent);color:var(--danger)}.kbd{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-sunken);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.log-stream{display:flex;flex-direction:column;font-family:var(--font-mono);font-size:var(--fs-xs);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.log-stream-head{display:grid;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.log-stream-body{max-height:460px;overflow-y:auto;scrollbar-width:none}.log-stream-body::-webkit-scrollbar{display:none}.log-line{display:grid;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border-faint);border-left:2px solid transparent;align-items:baseline}.log-line:last-child{border-bottom:0}.log-line[data-level=warn]{border-left-color:var(--status-warn);background:var(--status-warn-soft)}.log-line[data-level=danger],.log-line[data-level=error]{border-left-color:var(--status-danger);background:var(--status-danger-soft)}.log-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-cell.log-c-action,.log-cell.log-c-target,.log-cell.log-c-event,.log-cell.log-c-dst,.log-cell.log-c-message{white-space:normal;word-break:break-word}.log-stream.is-compact .log-line{padding:3px 12px}.log-stream-empty{padding:28px 12px;text-align:center;color:var(--text-muted)}
