:root{--sidebar-bg: color-mix(in srgb, var(--surface) 55%, var(--bg));--sidebar-width: 232px;--heat-cool: color-mix(in srgb, var(--accent) 70%, var(--surface));--heat-hot: var(--recording)}@media(prefers-color-scheme:dark){:root{--sidebar-bg: color-mix(in srgb, var(--surface) 45%, var(--bg));--heat-cool: color-mix(in srgb, var(--accent) 62%, var(--surface))}}[hidden]{display:none!important}.app{display:flex;align-items:stretch;min-height:100vh}.main{display:flex;flex:1;flex-direction:column;min-width:0}.sidebar{position:sticky;top:0;display:flex;flex:none;flex-direction:column;width:var(--sidebar-width);height:100dvh;overflow-y:auto;padding:var(--space-5) var(--space-3) var(--space-4);border-right:1px solid var(--border);background:var(--sidebar-bg)}.brand{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);color:var(--text);font-size:.96875rem;font-weight:600;letter-spacing:-.01em;text-decoration:none}.brand:hover{color:var(--text)}.brand-mark{flex:none;width:22px;height:22px}.brand-mark-frame{fill:none;stroke:var(--accent);stroke-width:1.5}.brand-mark-play{fill:var(--accent)}.nav{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-5)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .12s ease,color .12s ease}.nav-item:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--text)}.nav-glyph{flex:none;width:18px;height:18px}.nav-glyph-stroke{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-glyph-fill{fill:currentColor;stroke:none}.nav-item[aria-current=page] .nav-glyph-stroke{stroke:var(--accent)}.nav-item[aria-current=page] .nav-glyph-fill{fill:var(--accent)}.nav-live{flex:none;width:7px;height:7px;margin-left:auto;border-radius:50%;background:var(--recording);animation:nav-live-pulse 1.6s ease-in-out infinite}@keyframes nav-live-pulse{50%{opacity:.3}}.sidebar-foot{display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}.badge-secure{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);color:var(--text-faint);font-size:.78125rem;line-height:1.4}.badge-lock{flex:none;width:14px;height:14px}.badge-lock-shackle{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.badge-lock-body{fill:none;stroke:currentColor;stroke-width:1.5}.account{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.account-identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.account-monogram{display:flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.8125rem;font-weight:600}.account-lines{display:flex;flex-direction:column;min-width:0;line-height:1.3}.account-email{overflow:hidden;color:var(--text);font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.account-signout{align-self:flex-start;padding:0;border:none;background:none;color:var(--text-faint);font-size:.75rem;font-weight:400;cursor:pointer}.account-signout:hover:not(:disabled){background:none;border-color:transparent;color:var(--accent)}.account-hint{color:var(--text-faint);font-size:.75rem;line-height:1.4}.account-hint:empty{display:none}#auth-button{min-width:0;max-width:100%;overflow:hidden}.demanded{border-radius:var(--radius-sm);outline:2px solid var(--accent);outline-offset:3px;animation:demand-ring 1.1s ease-out 2}@keyframes demand-ring{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}70%,to{box-shadow:0 0 0 10px transparent}}.link-button{align-self:flex-start;padding:0;border:none;background:none;color:var(--text-faint);font-size:.75rem;font-weight:400;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link-button:hover:not(:disabled){background:none;border-color:transparent;color:var(--accent)}.hint,.analytics-note{font-size:.8125rem;line-height:1.5}.stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.stat-card{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.stat-label{color:var(--text-faint);font-size:.78125rem}.stat-value{color:var(--text);font-size:1.375rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.015em}@media(max-width:780px){.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.heat-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.heat-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.heat-title{color:var(--text);font-size:.84375rem;font-weight:500}.heat-peak{color:var(--text-faint);font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}.heatmap{display:flex;align-items:flex-end;gap:1px;height:84px}.heat-bar{flex:1;min-width:0;min-height:2px;border-radius:2px 2px 0 0;background:var(--accent);background:color-mix(in srgb,var(--heat-hot) var(--heat-mix, 0%),var(--heat-cool))}.heat-bar.hot{background:var(--heat-hot)}.heat-axis{display:flex;justify-content:space-between;color:var(--text-faint);font-family:var(--font-mono);font-size:.71875rem;font-variant-numeric:tabular-nums}.viewer-table{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.viewer-row{display:grid;grid-template-columns:10ch 6.5rem minmax(0,1fr) 5rem minmax(0,11rem);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-size:.84375rem}.viewer-row+.viewer-row{border-top:1px solid var(--border)}.viewer-head{border-bottom:1px solid var(--border);color:var(--text-faint);font-size:.75rem;font-weight:500}.viewer-head+.viewer-row{border-top:none}.viewer-id{overflow:hidden;color:var(--text-muted);font-family:var(--font-mono);font-size:.8125rem;text-overflow:ellipsis;white-space:nowrap}.viewer-head .viewer-id{font-family:inherit;font-size:inherit}.viewer-plays{color:var(--text);white-space:nowrap}.viewer-attention{min-width:0}.viewer-attention .heatmap{height:26px;gap:1px}.viewer-attention .heat-bar{border-radius:1px}.viewer-coverage{color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.viewer-when{overflow:hidden;font-size:.78125rem;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.viewer-head .viewer-plays,.viewer-head .viewer-coverage,.viewer-head .viewer-when{color:inherit;font-size:inherit}.viewer-more{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.viewer-more .link-button{align-self:auto;font-size:.78125rem}@media(max-width:720px){.viewer-head{display:none}.viewer-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"who   seen" "map   map" "plays when";gap:var(--space-2) var(--space-3)}.viewer-id{grid-area:who}.viewer-coverage{grid-area:seen}.viewer-attention{grid-area:map}.viewer-plays{grid-area:plays}.viewer-when{grid-area:when}}@media(max-width:900px){.app{flex-direction:column}.sidebar{position:sticky;top:0;z-index:20;flex-direction:row;align-items:center;gap:var(--space-4);width:auto;height:auto;overflow-y:visible;padding:var(--space-2) var(--space-4);border-right:none;border-bottom:1px solid var(--border)}.nav{flex-direction:row;gap:var(--space-1);margin-top:0}.sidebar-foot{flex-direction:row;align-items:center;gap:var(--space-3);margin-top:0;margin-left:auto}.account{flex-direction:row;align-items:center;gap:var(--space-3);padding-top:0;padding-left:var(--space-3);border-top:none;border-left:1px solid var(--border)}.account-email{max-width:14rem}.account-hint{max-width:18rem}.nav-live{margin-left:0}}@media(max-width:620px){.nav-label,.badge-label,.account-email{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.brand-name,.account-hint{display:none}}@media(prefers-reduced-motion:reduce){.nav-item{transition:none}.demanded,.nav-live{animation:none}}
