.app-v2{background:var(--bg);min-height:100vh;color:var(--fg);font-variant-numeric:tabular-nums}.app-v2 a.app-link{color:var(--accent-text);font-weight:500}.app-v2 .app-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px}.app-v2 .app-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.app-v2 table.app-table{border-collapse:collapse;width:100%;font-size:13.5px}.app-v2 .app-table caption{text-align:left;color:var(--muted);padding:0 0 8px;font-size:12.5px}.app-v2 .app-table th,.app-v2 .app-table td{text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top;padding:10px 12px}.app-v2 .app-table thead th{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px;font-weight:600}.app-v2 .app-table tbody th{font-weight:600}.app-v2 .app-scroll{overflow-x:auto}.app-v2 .dir-long{color:var(--up)}.app-v2 .dir-short{color:var(--down)}.app-v2 .dir-neutral{color:var(--neutral)}.app-v2 .is-context{color:var(--neutral);font-style:italic}.app-v2 .app-chip{border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:baseline;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.app-v2 .app-warning{color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 40%, transparent);border-radius:10px;padding:10px 14px;font-size:13.5px}.app-v2 .app-nav a{white-space:nowrap;color:var(--muted);border-radius:8px;padding:6px 12px;font-size:13.5px;font-weight:500}.app-v2 .app-nav a[aria-current=page]{color:var(--on-accent-fixed);background:var(--accent)}.app-v2 .app-button{background:var(--surface-strong);border:1px solid var(--border-control);color:var(--fg);cursor:pointer;border-radius:8px;padding:7px 13px;font-size:13.5px;font-weight:500}.app-v2 .app-button:disabled{opacity:.6;cursor:not-allowed}.app-v2 .app-input{background:var(--surface);border:1px solid var(--border-control);width:100%;color:var(--fg);border-radius:8px;padding:8px 10px;font-size:14px}.app-v2 .app-field{color:var(--muted);gap:6px;margin-bottom:14px;font-size:13px;display:grid}.app-v2 dialog.app-jump{border:1px solid var(--border-control);background:var(--bg);color:var(--fg);border-radius:14px;width:min(480px,100vw - 32px);padding:16px}.app-v2 dialog.app-jump::backdrop{background:var(--bg-deep);opacity:.7}.app-v2 .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-v2 .ws-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.app-v2 .ws-side{border-right:1px solid var(--border);align-self:start;height:100vh;padding:18px 12px 24px;position:sticky;top:0;overflow-y:auto}.app-v2 .ws-wordmark{letter-spacing:-.01em;padding:2px 10px 18px;font-size:18px;font-weight:700;display:inline-block}.app-v2 .ws-sidenav-group+.ws-sidenav-group{margin-top:18px}.app-v2 .ws-sidenav-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 6px;padding:0 10px;font-size:11px;font-weight:600}.app-v2 .ws-sidenav ul,.app-v2 .ws-avatar-menu ul{margin:0;padding:0;list-style:none}.app-v2 .ws-sidenav a{color:var(--muted);border-radius:8px;min-height:24px;padding:7px 10px;font-size:14px;display:block}.app-v2 .ws-sidenav a:hover{color:var(--fg)}.app-v2 .ws-sidenav a[aria-current=page]{color:var(--fg);background:var(--accent-tint);box-shadow:inset 2px 0 0 var(--ws-teal);font-weight:600}.app-v2 .ws-body{flex-direction:column;min-width:0;display:flex}.app-v2 .ws-header{z-index:20;border-bottom:1px solid var(--border);padding:10px 24px;position:sticky;top:0}.app-v2 .ws-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.app-v2 .ws-pill,.app-v2 .ws-seg{border:1px solid var(--border-control);border-radius:999px;align-items:center;gap:6px;min-height:32px;font-size:13px;display:inline-flex}.app-v2 .ws-pill{padding:0 12px}.app-v2 .ws-seg{gap:2px;padding:2px}.app-v2 .ws-seg button{min-height:26px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 12px;font-size:13px}:root[data-mode=day] .app-v2 .ws-seg .ws-seg-day,:root:not([data-mode=day]) .app-v2 .ws-seg .ws-seg-night{color:var(--fg);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--ws-teal);font-weight:600}.app-v2 .ws-avatar{position:relative}.app-v2 .ws-avatar summary{border:1px solid var(--border-control);width:34px;height:34px;color:var(--fg);cursor:pointer;border-radius:999px;place-items:center;font-size:14px;font-weight:600;list-style:none;display:grid}.app-v2 .ws-avatar summary::-webkit-details-marker{display:none}.app-v2 .ws-avatar-menu{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);z-index:30;border-radius:12px;min-width:220px;padding:12px;position:absolute;top:calc(100% + 8px);right:0}.app-v2 .ws-avatar-menu li a{color:var(--fg);padding:6px 0;font-size:14px;display:block}.app-v2 .ws-avatar-menu .app-button{margin-top:8px}.app-v2 .ws-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 24px 64px}.app-v2 .ws-footer{border-top:1px solid var(--border);padding:14px 24px;font-size:12.5px}@media (max-width:900px){.app-v2 .ws-shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.app-v2 .ws-side{border-right:0;border-bottom:1px solid var(--border);min-width:0;height:auto;padding:12px 16px 0;position:static;overflow:visible}.app-v2 .ws-wordmark{padding:0 0 8px}.app-v2 .ws-sidenav{min-width:0;padding:0 var(--nav-tail,12px) 8px 12px;scroll-snap-type:x mandatory;gap:4px;scroll-padding-inline:12px;display:flex;position:relative;overflow-x:auto}.app-v2 .ws-sidenav[data-overflow-end=true]{-webkit-mask-image:linear-gradient(to right, var(--fg) calc(100% - 12px), transparent);mask-image:linear-gradient(to right, var(--fg) calc(100% - 12px), transparent)}.app-v2 .ws-sidenav[data-overflow-start=true]{-webkit-mask-image:linear-gradient(to right, transparent, var(--fg) 12px);mask-image:linear-gradient(to right, transparent, var(--fg) 12px)}.app-v2 .ws-sidenav[data-overflow-start=true][data-overflow-end=true]{-webkit-mask-image:linear-gradient(to right, transparent, var(--fg) 12px, var(--fg) calc(100% - 12px), transparent);mask-image:linear-gradient(to right, transparent, var(--fg) 12px, var(--fg) calc(100% - 12px), transparent)}.app-v2 .ws-sidenav li{scroll-snap-align:start;flex-shrink:0}.app-v2 .ws-sidenav-group,.app-v2 .ws-sidenav-group+.ws-sidenav-group{margin:0}.app-v2 .ws-sidenav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-v2 .ws-sidenav ul{gap:4px;display:flex}.app-v2 .ws-sidenav a{white-space:nowrap}.app-v2 .ws-sidenav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--ws-teal)}.app-v2 .ws-header,.app-v2 .ws-main,.app-v2 .ws-footer{padding-left:16px;padding-right:16px}.app-v2 .ws-header{position:static}}.app-v2 .app-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;margin:0 0 24px;display:flex}.app-v2 .app-h1{letter-spacing:-.015em;margin:0;font-size:32px;font-weight:600;line-height:1.12}.app-v2 .app-sub{color:var(--muted);max-width:76ch;margin:8px 0 0;font-size:14px;line-height:1.55}.app-v2 .app-tabs,.app-v2 .ws-main .app-nav{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;margin:0 0 20px;display:flex;overflow-x:auto}.app-v2 .ws-main .app-nav{padding:0!important}.app-v2 .app-tabs a,.app-v2 .ws-main .app-nav a{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;border-radius:0;padding:9px 12px;font-size:14px;font-weight:500}.app-v2 .app-tabs a:hover,.app-v2 .ws-main .app-nav a:hover{color:var(--fg)}.app-v2 .app-tabs a[aria-current=page],.app-v2 .ws-main .app-nav a[aria-current=page]{color:var(--fg);background:var(--bg);border-bottom-color:var(--ws-teal)}.app-v2 .app-tabs.is-small{border-bottom:0;gap:2px;margin:-6px 0 14px}.app-v2 .app-tabs.is-small a{padding:5px 10px;font-size:13px}.app-v2 .app-tabbar{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin:0 0 16px;display:flex}.app-v2 .app-tabbar .app-tabs{border-bottom:0;flex:1;min-width:0;margin:0}.app-v2 .app-menu{position:relative}.app-v2 .app-menu>summary{cursor:pointer;color:var(--muted);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;list-style:none;display:inline-flex}.app-v2 .app-menu>summary::-webkit-details-marker{display:none}.app-v2 .app-menu>summary b{color:var(--fg);font-weight:600}.app-v2 .app-menu[open]>summary{border-color:var(--border-control)}.app-v2 .app-menu-pop{z-index:15;border:1px solid var(--border-control);background:var(--bg);border-radius:10px;gap:2px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.app-v2 .app-menu-pop a{color:var(--fg);border-radius:6px;padding:6px 10px;font-size:13.5px}.app-v2 .app-menu-pop a[aria-current=true]{box-shadow:inset 2px 0 0 var(--ws-teal);font-weight:600}.app-v2 .app-table tr.is-quiet>*{color:var(--muted)}.app-v2 .app-table tr.is-quiet a.app-link{color:var(--muted);font-weight:400}.app-v2 .rg-hero{box-shadow:inset 3px 0 0 var(--neutral);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px 40px;padding:24px 28px;display:grid}.app-v2 .rg-hero.rg-on{box-shadow:inset 3px 0 0 var(--up)}.app-v2 .rg-hero.rg-off{box-shadow:inset 3px 0 0 var(--down)}.app-v2 .rg-state{letter-spacing:-.02em;color:var(--fg);margin:2px 0 8px;font-size:46px;font-weight:500;line-height:1.02}.app-v2 .rg-on .rg-state{color:var(--up)}.app-v2 .rg-off .rg-state{color:var(--down)}.app-v2 .rg-meta{color:var(--muted);margin:0;font-size:13.5px}.app-v2 .rg-gauge{gap:8px;display:grid}.app-v2 .rg-svg{display:block;overflow:visible}.app-v2 .rg-track{fill:var(--surface-strong);stroke:var(--border)}.app-v2 .rg-zero{stroke:var(--border-strong)}.app-v2 .rg-fill{fill:var(--neutral-tint)}.app-v2 .rg-on .rg-fill{fill:var(--up-tint)}.app-v2 .rg-off .rg-fill{fill:var(--down-tint)}.app-v2 .rg-mark{fill:var(--neutral);stroke:var(--bg);stroke-width:3px}.app-v2 .rg-on .rg-mark{fill:var(--up)}.app-v2 .rg-off .rg-mark{fill:var(--down)}.app-v2 .rg-scale{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.app-v2 .rg-top{border-top:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:10px 0 0;padding-top:12px;font-size:14px;display:flex}.app-v2 .rg-top .app-eyebrow{margin:0}@media (max-width:720px){.app-v2 .rg-hero{grid-template-columns:minmax(0,1fr);padding:20px}.app-v2 .rg-state{font-size:38px}.app-v2 table.ws-list thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app-v2 table.ws-list,.app-v2 table.ws-list tbody,.app-v2 table.ws-list tr,.app-v2 table.ws-list caption{display:block}.app-v2 table.ws-list tr{border-bottom:1px solid var(--border-soft);padding:10px 0}.app-v2 table.ws-list tbody tr:last-child{border-bottom:0}.app-v2 table.ws-list td,.app-v2 table.ws-list tbody th{text-align:right;border:0;justify-content:space-between;align-items:baseline;gap:12px;padding:3px 0;display:flex}.app-v2 table.ws-list td[data-label]:before,.app-v2 table.ws-list tbody th[data-label]:before{content:attr(data-label);color:var(--muted);text-align:left;font-weight:400}.app-v2 table.ws-list tbody th:not([data-label]){flex-wrap:wrap;padding-bottom:6px;font-size:15px}.app-v2 table.ws-list td.ws-empty-cell{display:none}}:root[data-mode=day] .app-v2 .app-card{background:var(--panel-raised);border-color:var(--border-strong);box-shadow:0 1px 2px var(--rm-shadow)}:root[data-mode=day] .app-v2 .rg-hero{box-shadow:inset 3px 0 0 var(--neutral), 0 1px 2px var(--rm-shadow)}:root[data-mode=day] .app-v2 .rg-hero.rg-on{box-shadow:inset 3px 0 0 var(--up), 0 1px 2px var(--rm-shadow)}:root[data-mode=day] .app-v2 .rg-hero.rg-off{box-shadow:inset 3px 0 0 var(--down), 0 1px 2px var(--rm-shadow)}:root[data-mode=day] .app-v2 .app-button{background:var(--panel-raised);border-color:var(--border-control)}.app-v2 .app-button:not(:disabled):hover{border-color:var(--ws-teal)}.app-v2 a.app-button{align-items:center;min-height:36px;text-decoration:none;display:inline-flex}.app-v2 a.app-button.app-button-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent-fixed);font-weight:600}
