.app-shell{min-height:100dvh}.shell-header{z-index:50;border-top:2px solid #0000;border-image:linear-gradient(90deg, var(--accent), transparent 55%) 1;position:relative}.shell-header *{min-width:0}.shell-header-inner{justify-content:space-between;align-items:center;gap:var(--space-3);max-width:1280px;min-height:52px;padding:var(--space-1) max(var(--space-1), env(safe-area-inset-right)) var(--space-1) max(var(--space-4), env(safe-area-inset-left));margin:0 auto;display:flex}.shell-brand{min-height:var(--tap);font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;font-size:.85rem;font-weight:500;display:inline-flex}.shell-id{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.shell-maker{font:500 11.5px var(--font-mono);letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.shell-maker svg{width:11px;height:11px;display:block}.shell-maker:hover{color:var(--accent)}.brand-mark{border-radius:var(--radius-full);background:var(--accent);flex:none;width:10px;height:10px}.dev-badge{border:1px solid var(--warning-muted);border-radius:var(--radius-full);color:var(--warning);font-size:var(--text-caption);-webkit-user-select:none;user-select:none;padding:1px 6px;font-weight:600;line-height:1.4}.shell-nav{z-index:60;padding:0 max(var(--space-1), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--space-1), env(safe-area-inset-left));border-top:1px solid var(--border);background:var(--surface-1);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.shell-nav-item{height:var(--tabbar-height);color:var(--text-muted);font-size:var(--text-caption);white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color var(--motion);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:500;line-height:1.2;display:flex}.shell-nav-icon{border-radius:var(--radius-full);width:52px;height:28px;transition:background-color var(--motion), color var(--motion);place-items:center;display:grid}.shell-nav svg{width:20px;height:20px}.shell-nav-item:hover{color:var(--text)}.shell-nav-item:is([aria-current=page],[data-active=true]){color:var(--text);font-weight:600}.shell-nav-item:is([aria-current=page],[data-active=true]) .shell-nav-icon{background:var(--accent-soft);color:var(--accent)}.shell-nav-item:focus-visible{outline-offset:-4px;border-radius:var(--radius-lg)}.shell-menu summary{list-style:none}.shell-menu summary::-webkit-details-marker{display:none}.shell-menu[open]>summary:before{content:"";inset:0 0 calc(var(--tabbar-height) + env(safe-area-inset-bottom));z-index:-1;cursor:default;background:#00000073;position:fixed}.shell-menu-popover{right:var(--space-2);bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-2));left:var(--space-2);gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-3);display:grid;position:fixed}.shell-menu-group{display:grid}.shell-menu-group+.shell-menu-group{border-top:1px solid var(--border);padding-top:var(--space-2)}.shell-menu-group-label{padding:var(--space-1) var(--space-3);color:var(--text-muted);font-size:var(--text-caption)}.shell-menu-popover a{align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-row);transition:background-color var(--motion), color var(--motion);display:flex}.shell-menu-popover a:hover{background:var(--surface-3);color:var(--text)}.shell-menu-popover a[aria-current=page]{background:var(--surface-3);color:var(--text);font-weight:600}.shell-menu-popover a[aria-current=page] svg{color:var(--accent)}.shell-tools{align-items:center;gap:var(--space-1);display:flex}.ticker-search-trigger,.freshness-contract-trigger,.theme-switch-trigger{justify-content:center;align-items:center;gap:var(--space-2);width:var(--tap);height:var(--tap);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-detail);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion), color var(--motion);list-style:none;display:inline-flex}.ticker-search-trigger svg,.freshness-contract-trigger svg,.theme-switch-trigger svg{width:20px;height:20px}.freshness-contract-trigger::-webkit-details-marker{display:none}.theme-switch-trigger::-webkit-details-marker{display:none}.ticker-search-trigger:hover,.freshness-contract-trigger:hover,.theme-switch-trigger:hover,.freshness-contract[open]>.freshness-contract-trigger,.theme-switch[open]>.theme-switch-trigger{background:var(--surface-2);color:var(--text)}.ticker-search-trigger-placeholder,.ticker-search-shortcut,.freshness-label{display:none}.ticker-search-shortcut{background:var(--surface-3);color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-caption);border-radius:6px;padding:1px 6px}.freshness-contract,.theme-switch{display:inline-flex;position:relative}.freshness-contract-popover{top:calc(100% + var(--space-2));right:var(--space-1);z-index:60;width:min(320px,100vw - 32px);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-3);box-shadow:var(--shadow-2);color:var(--text-secondary);font-size:var(--text-detail);line-height:1.4;position:absolute}.theme-switch-popover{top:calc(100% + var(--space-2));z-index:60;min-width:148px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--surface-3);box-shadow:var(--shadow-2);display:grid;position:absolute;right:0}.theme-switch-popover button{align-items:center;gap:var(--space-3);min-height:40px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-row);cursor:pointer;text-align:left;display:flex}.theme-switch-popover button svg{width:16px;height:16px}.theme-switch-popover button:hover{background:var(--surface-2);color:var(--text)}.theme-switch-popover button[aria-pressed=true]{color:var(--text);font-weight:600}.theme-switch-popover button[aria-pressed=true] svg{color:var(--accent)}.freshness-contract-popover dl{gap:var(--space-2);display:grid}.freshness-contract-popover dt{color:var(--text-muted);font-size:var(--text-caption)}.freshness-contract-popover dd{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0}.search-palette-overlay{z-index:9999;padding:max(var(--space-2), env(safe-area-inset-top)) var(--space-2) 0;background:#080a11b8;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.search-palette-card{border-radius:var(--radius-lg);background:var(--surface-1);width:100%;max-width:560px;box-shadow:var(--shadow-3);animation:.16s palette-in;overflow:hidden}@keyframes palette-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.search-palette-form{align-items:center;gap:var(--space-3);min-height:56px;padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--border);display:flex}.search-palette-icon{color:var(--text-muted);flex:none}.search-palette-input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1}.search-palette-input::placeholder{color:var(--text-muted)}.search-palette-close{width:var(--tap);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background-color var(--motion), color var(--motion);place-items:center;display:grid}.search-palette-close:hover{background:var(--surface-2);color:var(--text)}.search-palette-results{max-height:min(360px,60dvh);overflow-y:auto}.search-palette-status{padding:var(--space-2) var(--space-4);color:var(--text-muted);font-size:var(--text-caption);font-weight:600}.search-palette-status.is-covered{color:var(--positive)}.search-palette-status.is-missing{color:var(--negative)}.search-palette-list{flex-direction:column;display:flex}.search-palette-result{align-items:center;gap:var(--space-1) var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);text-align:left;cursor:pointer;transition:background-color var(--motion);grid-template-columns:minmax(0,1fr) auto;display:grid}.search-palette-result:hover,.search-palette-result.active{background:var(--surface-2);outline:none}.search-palette-result-main{flex-direction:column;grid-row:1/span 2;min-width:0;display:flex}.search-palette-result-ticker{color:var(--text);font-family:var(--font-mono);font-size:var(--text-row)}.search-palette-result-meta{color:var(--text-muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-palette-result-scores{gap:var(--space-3);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-caption);font-variant-numeric:tabular-nums;white-space:nowrap;grid-column:2;justify-content:flex-end;display:flex}.search-palette-empty{padding:var(--space-6) var(--space-4);color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;display:flex}.search-palette-tip{padding:var(--space-3) var(--space-4);color:var(--text-muted);font-size:var(--text-caption)}.search-palette-tip kbd{background:var(--surface-3);font-family:var(--font-mono);border-radius:6px;padding:1px 5px}.shell-main{gap:var(--space-4);max-width:1280px;padding:var(--space-2) max(var(--space-4), env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + var(--space-6)) max(var(--space-4), env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex}:where(.app-shell:has(.shell-nav)) .shell-main{padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + var(--space-6))}.shell-main>*{min-width:0}.shell-main:focus{outline:none}.page-intro h1{font-family:var(--font-display);font-size:var(--text-page);font-weight:500}.page-intro-description{max-width:68ch;margin-top:var(--space-1);color:var(--text-secondary);font-size:var(--text-detail)}.skip-link{z-index:1000;top:var(--space-2);left:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--text);color:var(--text-on-accent);position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}html{scroll-padding-top:var(--space-4)}@media (min-width:960px){.shell-header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--base) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.shell-header-inner{gap:var(--space-6);min-height:60px;padding-inline:var(--space-6)}.shell-nav{align-items:center;gap:var(--space-1);box-shadow:none;background:0 0;border:0;padding:0;display:flex;position:static}.shell-nav-item{gap:var(--space-2);height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);transition:background-color var(--motion), color var(--motion);flex-direction:row;font-size:.875rem}.shell-nav-icon{border-radius:0;width:auto;height:auto}.shell-nav svg{width:16px;height:16px}.shell-nav-item:hover,.shell-nav-item:is([aria-current=page],[data-active=true]){background:var(--surface-2)}.shell-nav-item:is([aria-current=page],[data-active=true]) .shell-nav-icon{background:0 0}.shell-nav-item:focus-visible{outline-offset:2px;border-radius:var(--radius-md)}.shell-menu{position:relative}.shell-menu[open]>summary:before{background:0 0;inset:0}.shell-menu-popover{top:calc(100% + var(--space-2));width:240px;box-shadow:var(--shadow-2);position:absolute;bottom:auto;left:auto;right:0}.shell-menu-popover a{min-height:40px;font-size:.875rem}.shell-menu-popover svg{width:16px;height:16px}.shell-tools{gap:var(--space-2)}.ticker-search-trigger{width:160px;height:36px;padding:0 var(--space-2) 0 var(--space-3);background:var(--surface-2);color:var(--text-muted);justify-content:flex-start}.ticker-search-trigger:hover{background:var(--surface-3)}.ticker-search-trigger svg,.freshness-contract-trigger svg,.theme-switch-trigger svg{width:16px;height:16px}.ticker-search-trigger-placeholder{text-align:left;flex:1;display:inline}.ticker-search-shortcut{display:inline}.freshness-contract-trigger,.theme-switch-trigger{width:36px;height:36px}.freshness-contract-popover{right:0}.search-palette-overlay{padding-top:12vh}.shell-main{gap:var(--space-6);padding:var(--space-6) var(--space-6) var(--space-8)}html{scroll-padding-top:84px}}@media (min-width:1280px){.ticker-search-trigger{width:220px}.freshness-contract-trigger{width:auto;padding:0 var(--space-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.freshness-label{display:inline}}
