.shell{--sidebar-w:200px;min-height:100vh;display:flex}:root[data-sidebar=collapsed] .shell{--sidebar-w:60px}.sidebar{inset:var(--ticker-h) auto 0 0;width:var(--sidebar-w);background:var(--panel);color:var(--text-2);border-right:1px solid var(--line);z-index:5;flex-direction:column;gap:6px;padding:12px 10px;transition:width .18s;display:flex;position:fixed;overflow:hidden}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;padding:4px 8px 14px;font-size:14px;font-weight:650;display:flex}.sidebar nav{gap:2px;display:grid}.sidebar nav a,.sidebar-button{height:32px;color:var(--text-2);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:0 8px;font-size:13px;font-weight:500;display:flex}.sidebar nav a svg,.sidebar-button svg{color:var(--muted);flex:none}.sidebar nav a:hover,.sidebar-button:hover{color:var(--text);background:var(--panel-3)}.sidebar nav a.active{color:var(--brand);background:var(--brand-soft);font-weight:600}.sidebar nav a.active svg{color:var(--brand)}.sidebar-foot{border-top:1px solid var(--line);gap:2px;margin-top:auto;padding-top:8px;display:grid}.sidebar-button{text-align:left;width:100%}.sidebar nav a span,.sidebar-button span,.brand-text{white-space:nowrap}:root[data-sidebar=collapsed] .sidebar{padding-inline:8px}:root[data-sidebar=collapsed] .brand{justify-content:center;padding-inline:0}:root[data-sidebar=collapsed] .sidebar nav a,:root[data-sidebar=collapsed] .sidebar-button{justify-content:center;padding:0}:root[data-sidebar=collapsed] .sidebar nav a span,:root[data-sidebar=collapsed] .sidebar-button span,:root[data-sidebar=collapsed] .brand-text{display:none}.main{min-width:0;margin-left:var(--sidebar-w);padding-top:var(--ticker-h);flex:1;transition:margin-left .18s}.top-stack{top:var(--ticker-h);z-index:4;position:sticky}.topbar{background:var(--topbar-bg);-webkit-backdrop-filter:saturate(180%)blur(10px);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;height:48px;padding:0 20px;display:flex}.topbar-left,.topbar-right{align-items:center;gap:8px;display:flex}.user-chip{max-width:240px;height:32px;color:var(--text-2);background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.user-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content{width:100%;padding:16px 20px 32px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.page-head p{color:var(--muted);margin:0;font-size:13px}.bottom-nav{display:none}@media (max-width:900px){.sidebar{display:none}.main{padding-bottom:calc(52px + env(safe-area-inset-bottom));margin-left:0}.topbar{padding:0 10px}.content{padding:12px 10px 20px}.user-chip span{display:none}.bottom-nav{z-index:6;scrollbar-width:none;height:calc(52px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);grid-auto-columns:minmax(64px,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0;overflow-x:auto;box-shadow:0 -4px 16px #11182710}.bottom-nav a{min-width:0;color:var(--muted);align-content:center;place-items:center;gap:2px;padding:0 2px;font-size:10px;font-weight:500;display:grid}.bottom-nav a span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav svg{width:18px;height:18px}.bottom-nav a.active{color:var(--brand)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:520px){.topbar-right>.badge{display:none}}.session-badge b{font-weight:600}@media (max-width:520px){.session-badge{padding:0 8px;font-size:11px}.session-phase{display:none}}.shell{--ticker-h:30px}.ticker{z-index:7;height:var(--ticker-h);color:var(--text-2);background:var(--panel-3);border-bottom:1px solid var(--line);white-space:nowrap;font-size:12px;position:fixed;inset:0 0 auto;overflow:hidden}.ticker-track{width:max-content;height:100%;animation:linear infinite ticker-scroll;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-group{align-items:center;display:flex}.tick{border-right:1px solid var(--line-strong);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;padding:0 18px;display:inline-flex}.tick-name{color:var(--muted);letter-spacing:.02em;font-weight:500}.tick b{color:var(--text);font-weight:600}.tick-change.up{color:var(--up)}.tick-change.down{color:var(--down)}.tick-dir{margin-right:3px}@keyframes ticker-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker{scrollbar-width:none;overflow-x:auto}.ticker-track{animation:none}.ticker-group[aria-hidden]{display:none}}.theme-toggle{background:var(--panel-3);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.theme-toggle button{width:28px;height:26px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.theme-toggle button:hover{color:var(--text)}.theme-toggle button.active{color:var(--text);background:var(--panel);box-shadow:0 1px 2px #1118271f}@media (max-width:520px){.theme-toggle button{width:24px}}.session-badge .dot.live{position:relative}.session-badge .dot.live:after{content:"";background:currentColor;border-radius:50%;animation:1.6s ease-out infinite live-pulse;position:absolute;inset:0}@keyframes live-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.sidebar,.main{transition:none}.session-badge .dot.live:after{animation:none}}.select-trigger.profile-switcher{max-width:240px}@media (max-width:900px){.select-trigger.profile-switcher{max-width:150px}.select-trigger.profile-switcher>svg:first-child{display:none}}@media (max-width:520px){.select-trigger.profile-switcher{max-width:120px}}@media (max-width:640px){.topbar{flex-wrap:wrap;row-gap:6px;height:auto;padding:6px 10px}.topbar-left,.topbar-right{width:100%;min-width:0}.topbar-right{flex-wrap:wrap;justify-content:flex-end}.topbar-right>*{flex-shrink:0}.select-trigger.profile-switcher{flex:auto;min-width:0;max-width:none}}
