/* Color tokens now live in the shared /theme.css, linked before this file. */
[hidden]{display:none!important}
.loading-screen{min-height:58vh;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:var(--muted);animation:loading-in .45s ease-out}.loading-screen strong{color:var(--fg);font-size:1.15rem;letter-spacing:-.01em}.loading-screen>span{font-size:.88rem}.loading-mark{position:relative;width:116px;height:76px;margin-bottom:8px}.loading-mark i{position:absolute;left:8px;width:94px;height:20px;border:2px solid var(--accent);border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-8deg);opacity:.35;animation:signal-drift 1.8s ease-in-out infinite}.loading-mark i:nth-child(1){top:9px;animation-delay:-.35s}.loading-mark i:nth-child(2){top:28px;width:104px;left:2px;opacity:.7;animation-delay:-.9s}.loading-mark i:nth-child(3){top:47px;left:12px;animation-delay:-1.4s}.loading-mark b{position:absolute;top:29px;right:3px;width:10px;height:10px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 5px color-mix(in srgb,var(--warm) 12%,transparent),0 0 20px var(--warm);animation:signal-pulse 1.2s ease-in-out infinite}.loading-track{width:150px;height:3px;margin-top:12px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--border) 65%,transparent)}.loading-track i{display:block;width:45%;height:100%;border-radius:inherit;background:var(--accent);animation:loading-sweep 1.35s ease-in-out infinite}@keyframes loading-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes signal-drift{0%,100%{transform:translateX(-3px) rotate(-8deg)}50%{transform:translateX(4px) rotate(-4deg)}}@keyframes signal-pulse{0%,100%{transform:scale(.8);opacity:.65}50%{transform:scale(1.2);opacity:1}}@keyframes loading-sweep{0%{transform:translateX(-110%)}100%{transform:translateX(340%)}}@media(prefers-reduced-motion:reduce){.loading-screen,.loading-mark i,.loading-mark b,.loading-track i{animation:none}.loading-mark b{opacity:1}.loading-track i{width:100%;transform:none}}
.board-skeleton{display:grid;gap:14px}.topic-hero.signal-card.is-skeleton{cursor:default;pointer-events:none}.skeleton-block{display:block;border-radius:8px;background:linear-gradient(100deg,color-mix(in srgb,var(--border) 55%,transparent) 30%,color-mix(in srgb,var(--border) 90%,transparent) 50%,color-mix(in srgb,var(--border) 55%,transparent) 70%);background-size:220% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-icon{width:46px;height:46px;border-radius:14px}.skeleton-line{height:16px;margin-bottom:8px}.skeleton-title{width:46%;height:22px}.skeleton-summary{width:78%}.skeleton-metric{width:64px;height:30px;display:inline-block;margin-right:10px}.skeleton-chart{grid-area:chart;height:62px;border-radius:10px}.skeleton-actions{grid-area:actions;height:70px;width:92px;border-radius:10px}
.topic-hero.is-skeleton{cursor:default;pointer-events:none}
.article-card.is-skeleton{cursor:default;pointer-events:none}
.skeleton-badge{width:76px;height:20px;border-radius:6px}
.skeleton-age{width:48px;height:14px;margin-left:8px;display:inline-block}
.skeleton-article-title{width:72%;height:18px}
.skeleton-article-excerpt{width:92%;height:14px;margin-bottom:0}
.skeleton-article-thumb{width:160px;height:100px;border-radius:9px}
.topic-nav-card.is-skeleton{cursor:default;pointer-events:none}
.skeleton-nav-title{width:70%;height:15px;margin-bottom:0}
@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-20% 0}}@media(prefers-reduced-motion:reduce){.skeleton-block{animation:none;background-position:0 0}}
.momentum{display:inline-flex;align-items:center;gap:4px;font-weight:800;letter-spacing:.01em;white-space:nowrap}.momentum-up{color:var(--up)}.momentum-down{color:var(--down)}.momentum-flat{color:var(--muted)}.candidate-momentum{display:flex;align-items:center;gap:4px;margin-top:-4px}.candidate-badge{background:color-mix(in srgb,var(--warm) 18%,var(--surface));color:var(--warm);border:1px solid color-mix(in srgb,var(--warm) 42%,var(--border))}
.signal-status{display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:4px 9px;border:1px solid currentColor;border-radius:6px;font-size:.76rem;line-height:1.35;white-space:nowrap;font-variant-numeric:tabular-nums;background:color-mix(in srgb,currentColor 7%,transparent)}.signal-status strong{font-weight:750;letter-spacing:.01em}.signal-status span{padding-left:9px;border-left:1px solid color-mix(in srgb,currentColor 35%,transparent);font-weight:750}.signal-status-up{color:var(--up)}.signal-status-down{color:var(--down)}.signal-status-flat,.signal-status-unrated{color:var(--muted)}.topic-nav-lift .signal-status{font-size:.68rem;padding:2px 6px;gap:5px}.topic-nav-lift .signal-status span{padding-left:5px}.candidate-momentum:has(.signal-status){flex-wrap:wrap;gap:7px}

*{box-sizing:border-box}
/* Auth gate: the unauthenticated front door. The top bar (brand mark, search,
   account menu) only shows once signed in (see .authenticated-shell below),
   so this card alone carries all brand presence and is solely responsible
   for the first impression -- hence its own brand mark, step indicator and
   background treatment instead of being a bare bordered box. */
body:not(.authenticated-shell) .app-layout{display:flex;justify-content:center;padding:6vh 20px 10vh;min-height:85vh;align-items:center}
body:not(.authenticated-shell) .app-layout #sidebar{display:none}
body:not(.authenticated-shell) .app-layout #view{width:100%;max-width:480px;min-height:0;padding:0;display:flex;justify-content:center}
.auth-gate{
  width:100%;max-width:480px;margin:0;padding:36px 32px;display:grid;gap:16px;
  border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:20px;
  background:radial-gradient(ellipse at 15% -20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 55%),var(--surface);
  box-shadow:0 30px 70px color-mix(in srgb,#000 32%,transparent);
}
.auth-brand{display:flex;align-items:center;gap:11px;justify-self:center}
.auth-brand .brand-mark{width:38px;height:38px}
.auth-brand-copy{display:flex;flex-direction:column;line-height:1.2}
.auth-brand-copy strong{font-size:1.05rem;letter-spacing:-.01em}
.auth-brand-copy span{color:var(--muted);font-size:.6rem;letter-spacing:.17em;font-weight:700;text-transform:uppercase;margin-top:1px}
.auth-steps{display:flex;gap:6px;justify-self:center}
.auth-step{width:22px;height:4px;border-radius:99px;background:color-mix(in srgb,var(--border) 70%,transparent)}
.auth-step.is-done{background:var(--accent)}
.auth-gate .section-heading{display:block;text-align:center;margin:0}
.auth-gate .section-heading h1{font-size:1.5rem;margin:0 0 6px}
.auth-gate .section-heading span{display:block}
.auth-form{display:grid;gap:14px;max-width:none}
.signal-preview-card{display:grid;gap:4px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--fg);text-decoration:none}.signal-preview-card:hover{text-decoration:none;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--surface))}.signal-preview-card strong{font-size:1.05rem;line-height:1.25}.signal-preview-card .eyebrow{font-size:.64rem}
.auth-form .field{display:grid;gap:6px;color:var(--muted);font-size:.9rem}
.auth-form button.filled{width:100%;min-height:46px;font-size:.95rem;font-weight:700;margin-top:2px}
.auth-google{display:grid;gap:12px;margin-top:18px}.auth-google-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.auth-google-divider span{height:1px;flex:1;background:color-mix(in srgb,var(--border) 70%,transparent)}.auth-google-divider b{font-weight:700}.google-sign-in-button{width:100%;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;border:1px solid #747775;border-radius:4px;background:#fff;color:#1f1f1f;font-family:Roboto,"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;line-height:20px;box-shadow:0 1px 2px rgba(60,64,67,.12);transition:background .15s,border-color .15s,box-shadow .15s}.google-sign-in-button:hover{background:#f8faff;border-color:#5f6368;box-shadow:0 1px 3px rgba(60,64,67,.2)}.google-sign-in-button:active{background:#f1f3f4;box-shadow:none}.google-sign-in-button:focus-visible{outline:2px solid #0b57d0;outline-offset:2px}.google-sign-in-mark{width:18px;height:18px;flex:none}
.auth-links{display:flex;flex-direction:column;align-items:center;gap:2px}
.auth-links .button.quiet{color:var(--muted);font-weight:600}
.auth-links .button.quiet:hover{color:var(--accent);background:transparent}
.auth-pitch{text-align:center;font-size:.85rem;color:var(--muted);margin:0 0 4px;line-height:1.55;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}
.auth-pitch strong{color:var(--fg);font-weight:700}
.auth-form input:not([type=checkbox]){width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);transition:border-color .15s,box-shadow .15s}.auth-form input:not([type=checkbox]):focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.source-option{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;transition:border-color .15s,background .15s}.source-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.source-option input{accent-color:var(--accent)}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:var(--accent)}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:-1000px;top:0;background:var(--surface);padding:8px;z-index:10}.skip:focus{left:8px}.brand{display:flex;gap:12px;align-items:center;color:var(--fg);text-decoration:none}.brand:hover{text-decoration:none}.brand-mark{width:44px;height:44px;flex:none}.brand strong{display:block;font-size:1.35rem;line-height:1.15;letter-spacing:-.02em}.brand span{display:block;color:var(--muted);font-size:.65rem;letter-spacing:.18em;font-weight:700;margin-top:3px}main{max-width:1120px;min-height:65vh;margin:auto;padding:20px 24px 70px}footer{max-width:1500px;margin:auto;padding:0 clamp(16px,3vw,42px) 28px;color:var(--muted);font-size:.82rem}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.stack{display:grid;gap:14px;max-width:760px;margin:auto}.stack.wide{max-width:960px}.overview{background:var(--raised);padding:22px;border-radius:22px}.eyebrow{color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.17em}.overview h1{font-size:clamp(1.45rem,3vw,1.85rem);line-height:1.25;margin:8px 0 14px;letter-spacing:-.025em}.overview-bottom,.card-top,.metrics,.actions,.section-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.overview-bottom{color:var(--muted);font-size:.88rem}.overview-bottom strong{color:var(--fg);font-size:1.05rem}.grow{flex:1}.panel{background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 36%,transparent);border-radius:20px;padding:19px 20px}.panel h2{font-size:1.45rem;line-height:1.2;margin:10px 0 12px;letter-spacing:-.025em}.panel h3{font-size:1rem;line-height:1.35;margin:8px 0}.panel-subheading{font-size:1rem;line-height:1.35;margin:8px 0}.card-top{gap:10px}.badge{background:var(--pill);color:var(--pill-text);font-size:.7rem;letter-spacing:.09em;font-weight:800;padding:5px 11px;border-radius:30px}.relevance-chip{font-size:.7rem;font-weight:800;padding:3px 8px;border-radius:30px;letter-spacing:.03em;flex:none}.relevance-chip.relevance-high{background:var(--pill);color:var(--pill-text)}.relevance-chip.relevance-mid{background:var(--raised);color:var(--fg)}.relevance-chip.relevance-low{background:transparent;color:var(--muted);border:1px solid var(--border)}.flair-chip{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:30px;letter-spacing:.02em;flex:none;background:transparent;border:1px solid var(--border);color:var(--muted);text-transform:capitalize}.muted{color:var(--muted)}.small{font-size:.83rem}.divider{border:0;border-top:1px solid color-mix(in srgb,var(--border) 40%,transparent);margin:14px 0}.metrics{gap:28px}.metric{display:grid;gap:1px}.metric strong{font-size:1.15rem}.metric span{font-size:.77rem;color:var(--muted)}.metric:last-child{margin-left:auto}.metric:last-child strong{color:var(--accent);font-size:.83rem}.button{border:1px solid var(--border);background:transparent;color:var(--accent);padding:7px 11px;border-radius:10px;font-weight:650;font-size:.86rem;min-height:38px}.button:hover{background:var(--pill)}.button.filled{background:var(--pill);border-color:transparent;color:var(--pill-text);box-shadow:0 8px 24px var(--glow)}.button.quiet{border-color:transparent}.button.danger{color:var(--danger-text);background:var(--danger);border-color:transparent}.button:disabled{opacity:.5;cursor:default}.topic-open{display:block;width:100%;border:0;background:none;padding:0;text-align:left;color:var(--fg);font-weight:700;font-size:1.5rem;line-height:1.3;letter-spacing:-.02em}.topic-open:hover{color:var(--accent)}.article-title{font-weight:650;font-size:1.05rem;line-height:1.4;margin:6px 0}.source-label{display:inline-flex;align-items:center;gap:7px;min-width:0}.source-logo,.source-logo-fallback{width:18px;height:18px;flex:none;border-radius:5px;object-fit:contain}.source-logo{background:var(--raised)}.source-logo-fallback{display:grid;place-items:center;background:var(--pill);color:var(--pill-text);font-size:.65rem;font-weight:800}.source-label .source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions{gap:5px;margin-top:12px}.section-heading{justify-content:space-between;margin:4px 0}.section-heading h1{font-size:1.5rem;margin:0}.notice{padding:15px;border-radius:14px;background:var(--raised);color:var(--muted)}.notice.error{background:var(--danger);color:var(--danger-text)}.error-box{background:var(--danger);color:var(--danger-text);padding:10px 14px;border-radius:10px;font-size:.9rem;font-weight:600}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.setting-row label{font-weight:650}.setting-row input{width:20px;height:20px;accent-color:var(--accent)}.history{display:grid;gap:10px}.history-entry{padding:15px;border-radius:14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 36%,transparent)}.history-entry p{margin:5px 0}.history-entry .button{margin-top:7px}.info-value{display:block;font-size:1.4rem;font-weight:750;overflow-wrap:anywhere}.info-detail{font-size:.85rem;color:var(--muted)}.loading{text-align:center;color:var(--muted);padding:80px 0}@media(min-width:850px){.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.results .panel{min-width:0}}

/* Reddit-inspired reading shell, using TechDrift's own visual identity. */
.topbar{max-width:1120px;margin:auto;padding:16px 24px;display:flex;gap:16px;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;width:100%;max-width:none;min-height:76px;padding:12px clamp(16px,3vw,42px);display:grid;grid-template-columns:auto minmax(220px,560px) auto;gap:24px;align-items:center;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 45%,transparent);backdrop-filter:blur(14px);grid-template-columns:auto auto minmax(min-content,560px) auto;gap:16px;z-index:60}
.global-search{position:relative;height:44px;display:flex;gap:10px;align-items:center;padding:0 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--muted)}.global-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.global-search svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.global-search input{min-width:0;width:100%;border:0;outline:0!important;background:transparent;color:var(--fg)}.global-search input::placeholder{color:var(--muted)}.global-search.has-query{border-color:var(--accent)}.global-search-clear{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}.global-search-clear:hover{background:var(--raised);color:var(--fg)}kbd{font:600 .72rem/1.5 inherit;border:1px solid var(--border);border-radius:5px;padding:0 5px;color:var(--muted)}
.search-dropdown-panel{position:absolute;left:0;right:0;top:52px;z-index:80;max-height:70vh;overflow:auto;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 34px #0008}.search-dropdown-panel[hidden]{display:none}
.sd-heading{margin:10px 0 4px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.sd-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 6px;cursor:pointer;color:var(--fg);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent);border-radius:7px}.sd-row:last-child{border-bottom:0}.sd-row:hover,.sd-row:focus-visible{background:color-mix(in srgb,var(--raised) 55%,transparent);outline:2px solid color-mix(in srgb,var(--accent) 48%,transparent);outline-offset:-2px}.sd-signal-meta{display:flex;align-items:center;gap:6px;white-space:nowrap}.sd-signal-meta .signal-status-badge{font-size:.62rem}.sd-article-row{display:block}.sd-article-row span{display:block;margin-top:2px}
.sd-empty{padding:8px 2px;margin:0}.sd-viewall{margin-top:8px;width:100%}
.app-layout{display:grid;grid-template-columns:228px minmax(0,1fr);gap:28px;padding:24px 20px 64px}.app-layout #view{max-width:none;margin:0;min-width:0;min-height:65vh;padding:4px 0}.sidebar-label{margin:4px 14px 4px 0;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-align:left}.sidebar-link{display:flex;align-items:center;gap:10px;width:calc(100% - 14px);min-height:38px;margin:2px 8px 2px 0;padding:7px 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);text-align:left;text-decoration:none;font-size:.9rem;font-weight:600}.sidebar-link:hover{background:var(--raised);color:var(--fg);text-decoration:none}.sidebar-link[aria-current="page"]{background:transparent;color:var(--accent);text-decoration:none}.sidebar-link[aria-current="page"] .side-dot{opacity:1}.sidebar-link .side-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:.65;flex:none}.sidebar-link .side-count{margin-left:auto;color:var(--muted);font-size:.72rem}.sidebar-empty{margin:4px 14px;color:var(--muted);font-size:.82rem}
.sidebar-section-toggle{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;column-gap:7px;width:100%;min-height:38px;margin:2px 0;padding:7px 12px;border:0;border-radius:9px;background:transparent;cursor:pointer;font-family:inherit;text-align:left}.sidebar-section-toggle:hover{background:var(--raised);color:var(--fg)}.sidebar-section-toggle .section-icon{display:grid;width:20px;height:20px;place-items:center}.sidebar-section-toggle .topic-glyph{width:20px;height:20px}.sidebar-section-label{min-width:0;line-height:20px}.sidebar-chevron{justify-self:end;display:block;font-size:.8em;line-height:20px;transition:transform .15s}.sidebar-section-toggle.is-collapsed .sidebar-chevron{transform:rotate(-90deg)}
.sidebar-section-footer{color:var(--accent);font-size:.82rem}.sidebar-section-footer .section-icon{margin-right:2px}
.hidden-topics-section .sidebar-label{color:var(--muted)}
.hidden-topic-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:calc(100% - 14px);min-height:34px;margin:2px 8px 2px 0;padding:6px 12px;font-size:.85rem;color:var(--muted)}
.sidebar-mobile-brand{display:none}
.source-sidebar-link .source-sub-dot{opacity:.25}.source-sidebar-link .source-sub-dot.is-subscribed{opacity:1}
.stack.wide{max-width:1080px}.overview{border-radius:18px;border:1px solid color-mix(in srgb,var(--border) 28%,transparent)}.panel{border-radius:14px;padding:18px 20px;box-shadow:0 2px 10px #0002}.trend-title-row,.overview-title-row,.overview-controls,.topic-article-toolbar{display:flex;align-items:center;gap:10px}.overview-title-row{justify-content:space-between}.overview-title-row h1{margin:0}.overview-controls{margin-left:auto}.topic-article-toolbar{margin-top:14px}.toolbar-view-toggles{display:flex;gap:8px}.toolbar-sort-group{display:flex;align-items:center;gap:8px;margin-left:auto}.topic-sort{background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:9px;padding:6px 9px}.icon-action{min-width:36px;padding:6px 8px;display:inline-grid;place-items:center}.action-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.close-action{font-size:1.45rem;line-height:1}.star-action{font-size:1.3rem;line-height:1}.trend-title-row .topic-open{font-size:clamp(1.45rem,3.3vw,1.8rem);line-height:1.15}.trend-title-row .icon-action{border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}
.article-card{overflow:hidden;transform-origin:top;padding:16px;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-radius:0;box-shadow:none;transition:opacity .18s,transform .22s ease-in,max-height .22s ease-in,margin .22s ease-in,background .18s,border-color .18s}.article-card:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:var(--raised)}.article-card.is-read{opacity:.58;background:color-mix(in srgb,var(--surface) 72%,var(--raised))}.hiding-read-cards .article-card.is-read{opacity:0;transform:scaleY(.01);max-height:0;margin-top:0;margin-bottom:0}.showing-read-cards .article-card.is-read{animation:article-card-roll-down .28s ease-in both}.article-card.is-hiding{opacity:0;transform:scaleY(.01);max-height:0;overflow:hidden}.article-card.is-keyboard-focused{box-shadow:inset 0 0 0 2px var(--accent);border-radius:0}.article-card .card-top{margin-bottom:10px}.article-card .card-top>.source-label{min-width:0}.article-actions{display:flex;align-items:center;gap:2px;flex:none;flex-wrap:nowrap;white-space:nowrap}.article-card .article-actions{margin-top:10px;justify-content:flex-end}.article-related-signals{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--border) 48%,transparent)}.article-related-label{color:var(--muted);font-size:.72rem;font-weight:750}.article-related-signal{display:inline-flex;align-items:center;min-height:28px;padding:3px 8px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:999px;color:var(--accent);font-size:.76rem;font-weight:700;line-height:1.2;text-decoration:none}.article-related-signal:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);text-decoration:none}.article-related-signal:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.article-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,20%);align-items:start;gap:18px}.article-copy{min-width:0}.article-main .article-title{display:block;margin:0 0 8px;color:var(--fg);font-size:1.12rem;line-height:1.35;font-weight:700;text-decoration:none;letter-spacing:-.012em}.article-main a.article-title:hover{color:var(--accent);text-decoration:underline}.article-excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}.article-thumb{width:100%;height:104px;object-fit:cover;border-radius:0;background:var(--raised);display:block}.placeholder-mark{width:100%;height:104px;max-height:none;object-fit:cover}@keyframes article-card-roll-down{from{opacity:0;transform:scaleY(.01);max-height:0}to{opacity:.58;transform:scaleY(1);max-height:800px}}
.share-scrim{position:fixed;inset:0;background:#0009;z-index:30;display:grid;place-items:center;padding:20px}.share-dialog{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;display:grid;gap:12px;box-shadow:0 20px 60px #0008}.share-dialog input{width:100%;background:var(--raised);color:var(--fg);border:1px solid var(--border);border-radius:9px;padding:9px}
@media(max-width:1080px){.app-layout{grid-template-columns:195px minmax(0,1fr);gap:20px}}
@media(max-width:700px){.brand-mark{width:38px;height:38px}.global-search{grid-column:1/-1;grid-row:2}.app-layout{display:block;padding:10px 14px 48px}.sidebar-label,.sidebar-empty{display:none}.sidebar .sidebar-label{display:flex;align-items:center;flex:0 0 auto;margin:0 2px;padding:0 6px;white-space:nowrap;font-size:.62rem;letter-spacing:.1em}.sidebar .topic-list-label{margin-left:7px}.sidebar-link{width:auto;min-height:34px;white-space:nowrap;margin:0;padding:6px 10px;background:var(--surface);font-size:.8rem}.sidebar-link .side-dot{display:none}.sidebar-link[aria-current="page"]{background:var(--surface);box-shadow:none}#view{min-height:60vh}.stack,.stack.wide{max-width:none}.panel{padding:15px;border-radius:12px}.article-card{border-radius:0}.auth-gate{padding:24px 20px;margin:0}.overview{padding:17px}.overview-title-row{align-items:flex-start;gap:10px}.overview-title-row h1{font-size:1.45rem}.overview-controls{flex-wrap:wrap;justify-content:flex-end}.metrics{gap:14px}.metric:last-child{margin-left:0}.article-main{grid-template-columns:minmax(0,1fr) minmax(90px,24%);gap:12px}.article-thumb{height:90px}.article-excerpt{-webkit-line-clamp:3;font-size:.86rem}.article-main .article-title{font-size:1rem}.trend-title-row{gap:5px}.trend-title-row .topic-open{font-size:1.4rem}.actions .button{flex:1}footer{padding:0 16px 24px}}
@media(max-width:420px){.article-main{grid-template-columns:1fr}.article-thumb{grid-row:1;height:140px}.article-copy{grid-row:2}.overview-controls{margin-left:0}.overview-title-row{display:block}.overview-controls{margin-top:12px;justify-content:flex-start}.overview-controls .topic-sort{max-width:130px}}

/* Topic rail + full-width evidence stream. */
.topic-list-label{margin-top:6px}.topic-nav-card{margin:0;padding:9px 12px 11px;border:0;border-radius:0;transition:background .15s}.topic-nav-card:hover{background:var(--raised);color:var(--fg);border-radius:9px}.topic-nav-card.is-active{background:transparent;box-shadow:none}.topic-nav-card.is-active .topic-nav-title{color:var(--accent)}.topic-nav-main{display:block;color:var(--fg);text-decoration:none}.topic-nav-main:hover{text-decoration:none}.topic-nav-title-row{display:flex;align-items:center;gap:7px}.topic-glyph{width:20px;height:20px;flex:none;border-radius:6px;display:grid;place-items:center;background:var(--pill);color:var(--pill-text);font-size:.62rem;font-weight:800}.topic-glyph.is-saved{background:color-mix(in srgb,var(--warm) 22%,var(--pill));color:var(--warm)}.section-icon{display:inline-flex;flex:none;align-items:center;color:inherit}.topic-nav-title{display:block;font-size:.95rem;line-height:1.25;letter-spacing:-.01em}.topic-nav-main:hover .topic-nav-title{color:var(--accent)}.topic-nav-meta,.topic-nav-lift{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.3}.topic-nav-lift{margin-left:0}.topic-nav-new{margin-left:6px;padding:1px 7px;border-radius:30px;background:color-mix(in srgb,var(--warm) 22%,transparent);color:var(--warm);font-size:.66rem;font-weight:800}.topic-nav-title-row .topic-nav-new{margin-left:auto}.board-new{display:block;margin-top:2px;color:var(--warm);font-size:.8rem;font-weight:650}.topic-nav-lift .momentum{font-size:.7rem}.topic-nav-lift .momentum-up{color:var(--up)}.topic-nav-lift .momentum-down{color:var(--down)}.topic-nav-lift .momentum-flat{color:var(--muted)}.topic-nav-actions{display:flex;justify-content:flex-end;gap:2px;margin-top:4px}.topic-nav-actions .icon-action{width:30px;min-width:30px;height:28px;min-height:28px;padding:3px;border-radius:7px}.topic-nav-actions .action-icon{width:16px;height:16px}.evidence-section{display:grid;gap:12px;min-width:0}.topic-hero-note{margin:0;padding-top:12px;border-top:1px solid var(--border);line-height:1.5}.topic-stream{width:100%;max-width:none;display:grid;align-content:start;gap:16px}.stream-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 1px}.stream-count{display:block;margin-top:2px;color:var(--muted);font-size:.8rem}.stream-tools{display:flex;align-items:center;gap:8px}.sort-pills{display:inline-flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:11px}.sort-pill{border:0;background:transparent;color:var(--muted);padding:6px 11px;border-radius:8px;font-weight:650;font-size:.82rem;min-height:30px;cursor:pointer}.sort-pill:hover{color:var(--fg)}.sort-pill.is-active{background:var(--pill);color:var(--pill-text)}.button.is-active{background:var(--pill);color:var(--pill-text);border-color:transparent}.topic-hero-wrap{min-width:0}.topic-hero-sentinel{display:block;height:1px;margin-top:-1px}.topic-hero{padding:14px 16px 13px;border:0;border-radius:0;background:color-mix(in srgb,var(--raised) 82%,var(--surface));box-shadow:none;transition:padding .18s ease,background .18s ease}.topic-hero.is-condensed{position:sticky;top:var(--drawer-top,76px);z-index:15;padding:9px 16px;background:color-mix(in srgb,var(--surface) 96%,var(--raised));border-bottom:1px solid var(--border);box-shadow:0 5px 18px #0004}.topic-hero.is-condensed .eyebrow,.topic-hero.is-condensed .topic-hero-metadata{display:none}.topic-hero.is-condensed .topic-hero-top{min-height:30px}.topic-hero.is-condensed .topic-hero-title{margin:0;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-hero.is-condensed .topic-hero-title-row .topic-glyph{width:22px;height:22px;border-radius:7px}.topic-hero.is-condensed .topic-hero-title-row .signal-icon{width:14px;height:14px}.topic-hero.is-condensed .topic-hero-actions{flex:none}.topic-hero-comparison-text{margin-left:4px}.topic-hero-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.topic-hero-actions{display:flex;align-items:center;gap:6px}.topic-hero-actions .icon-action{border:0;background:transparent;box-shadow:none}.topic-hero-title-row{display:flex;align-items:center;gap:11px;min-width:0;flex:1}.topic-hero-title-row .topic-glyph{width:36px;height:36px;border-radius:10px}.topic-hero-title-row .signal-icon{width:21px;height:21px}.topic-hero-title{margin:5px 0 10px;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.04em}.topic-hero-metadata{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--fg);font-size:.9rem;font-weight:600}.topic-hero-comparison{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--border) 44%,transparent)}.story-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:0 2px}.story-section-heading h2{margin:3px 0 0;font-size:1.25rem;line-height:1.2;letter-spacing:-.02em}.story-section-heading .topic-article-toolbar{margin:0}.source-page-title{display:flex;align-items:center;gap:11px;min-width:0}.source-page-title .source-label{width:42px;height:42px;justify-content:center;flex:none}.source-page-title .source-label .source{display:none}.source-page-title .source-logo,.source-page-title .source-logo-fallback{width:42px;height:42px;border-radius:11px}.source-page-title .source-logo-fallback{font-size:1rem}.source-page-title h1{margin:0}.article-stream{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;margin:0;padding:0;list-style:none}.article-stream .article-card{width:100%;min-width:0}.article-stream .article-main{grid-template-columns:minmax(0,1fr) minmax(150px,22%);gap:22px}.article-stream .article-thumb{height:125px}
@media(max-width:1080px){.topic-nav-actions .icon-action{width:28px;min-width:28px}.article-stream .article-main{grid-template-columns:minmax(0,1fr) minmax(140px,21%)}}
@media(max-width:700px){.topic-nav-card{flex:0 0 205px;margin:0;padding:7px 9px;background:transparent;border-radius:0}.topic-nav-card.is-active{box-shadow:none}.topic-nav-title{font-size:.88rem}.topic-nav-meta,.topic-nav-lift{font-size:.68rem}.topic-nav-actions{margin-top:2px}.topic-nav-actions .icon-action{width:27px;min-width:27px;height:25px;min-height:25px}.stream-toolbar{align-items:flex-start}.stream-count{font-size:.72rem}.topic-hero{padding:11px 16px 10px}.topic-hero-title{font-size:1.65rem}.topic-hero-comparison{display:none}.story-section-heading{align-items:flex-start;flex-direction:column}.story-section-heading h2{font-size:1.1rem}.story-section-heading .topic-article-toolbar{width:100%;justify-content:space-between}.topic-article-toolbar{flex-wrap:wrap;gap:8px 10px}.toolbar-view-toggles{width:100%;order:2}.toolbar-view-toggles .button{flex:1;text-align:center}.toolbar-sort-group{width:100%;order:1;margin-left:0}.toolbar-sort-group .topic-sort{flex:1;min-width:0;max-width:none}.toolbar-count{flex:none;white-space:nowrap}.article-stream .article-main{grid-template-columns:minmax(0,1fr) minmax(90px,24%);gap:12px}.article-stream .article-thumb{height:95px}}
@media(max-width:420px){.stream-toolbar{display:block}.stream-tools{margin-top:8px;justify-content:flex-start}.topic-hero-top{align-items:flex-start}.topic-hero-comparison{align-items:flex-start}.article-stream .article-main{grid-template-columns:1fr}.article-stream .article-thumb{grid-row:1;height:140px}.article-stream .article-copy{grid-row:2}} /* end responsive topic stream */

/* Keep topic context visible while the evidence column scrolls. */
@media(min-width:1081px){
  .topic-stream{grid-template-columns:minmax(0,1fr);column-gap:0;align-items:start}
  .topic-hero-wrap{position:sticky;top:calc(var(--drawer-top,76px) + 14px);align-self:start}
  .topic-hero{padding-left:16px;padding-right:16px}
  .topic-hero.is-condensed{padding-left:16px;padding-right:16px}
  .topic-evidence-column{min-width:0;display:grid;gap:24px}
  .topic-evidence-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 16px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}
  .topic-evidence-heading .topic-article-toolbar{margin:0;flex-wrap:nowrap}
}
@media(max-width:1080px){
  .topic-evidence-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}
  .topic-evidence-heading .topic-article-toolbar{margin:0;flex-wrap:nowrap}
}


.topbar-actions{display:flex;align-items:center;gap:10px}
.account-menu{position:relative;display:flex;justify-content:flex-end}.avatar-button{width:42px;height:42px;border:1px solid var(--accent);border-radius:50%;background:var(--pill);color:var(--pill-text);font-weight:800;cursor:pointer;overflow:hidden;padding:0}.avatar-button img{width:100%;height:100%;object-fit:cover;display:block}.account-menu-panel{position:absolute;right:0;top:50px;z-index:80;min-width:170px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 34px #0008}.account-menu-panel[hidden]{display:none}.account-menu-panel a,.account-menu-panel button{display:block;width:100%;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:var(--fg);text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer}.account-menu-panel a:hover,.account-menu-panel button:hover{background:var(--raised)}.profile-form{display:grid;gap:12px;max-width:520px}.profile-actions{display:flex;justify-content:flex-start;margin-top:8px}.avatar-upload{display:grid;gap:8px}.avatar-upload input{max-width:100%}
.notification-menu{position:relative;display:flex}
.notification-bell{position:relative;width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:var(--raised);color:var(--muted);cursor:pointer;display:grid;place-items:center}
.notification-bell svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-bell:hover{color:var(--accent);border-color:var(--accent)}
.notification-bell.has-unread{border-color:var(--accent);color:var(--accent)}
.notification-count{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#d64545;color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--bg)}
.notification-count[hidden]{display:none}
.notification-panel{position:absolute;right:0;top:50px;z-index:80;width:340px;max-width:calc(100vw - 32px);max-height:70vh;overflow-y:auto;padding:4px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 34px #0008}
.notification-panel[hidden]{display:none}
.notification-panel-title{margin:6px 8px 2px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.notification-panel .panel{border:0;box-shadow:none;margin:0;background:transparent;padding:6px 8px}
@media(max-width:700px){.notification-panel{right:-8px;width:min(320px,calc(100vw - 24px))}}

.drawer-toggle{width:40px;height:40px;display:inline-grid;place-items:center;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg)}
.drawer-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.drawer-backdrop{position:fixed;inset:var(--drawer-top,76px) 0 0;z-index:40;padding:0;border:0;background:#02070caa;backdrop-filter:blur(2px)}
.drawer-backdrop[hidden]{display:none}
body.drawer-open{overflow:hidden}
.app-layout{display:block;padding:24px 20px 64px}
.app-layout #view{max-width:none;margin:0;min-width:0;min-height:65vh;padding:4px 0}
.sidebar{position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);overflow-y:auto;padding:8px 0 20px;border-right:1px solid color-mix(in srgb,var(--border) 36%,transparent);padding-right:8px;position:fixed;z-index:50;top:var(--drawer-top,76px);bottom:0;left:0;width:min(350px,calc(100vw - 40px));max-height:none;display:block;overflow:auto;padding:8px 0 24px;background:var(--bg);border-right:1px solid color-mix(in srgb,var(--border) 65%,transparent);transform:translateX(-105%);visibility:hidden;transition:transform .2s ease-in,visibility .2s;box-shadow:12px 0 30px #0004}
.sidebar.is-open{transform:translateX(0);visibility:visible}
.sidebar .sidebar-label,.sidebar .sidebar-empty{display:block}
.sidebar .topic-nav-card{flex:none;width:auto;margin:0;padding:9px 12px 11px;background:transparent}
.sidebar .topic-nav-card.is-active{background:color-mix(in srgb,var(--raised) 48%,transparent)}
.sidebar .topic-nav-card.is-active .topic-nav-title{color:var(--accent)}
@media(max-width:1080px){.topbar{grid-template-columns:auto auto minmax(min-content,1fr) auto;grid-template-rows:auto;gap:12px}.drawer-toggle{grid-column:1;grid-row:1}.brand{grid-column:2;grid-row:1}.global-search{grid-column:3;grid-row:1}.app-layout{display:block}.sidebar{padding-right:0;min-height:0;max-height:calc(100dvh - var(--drawer-top,76px));overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.sidebar .sidebar-collapse-toggle{display:none}}
@media(max-width:700px){.drawer-toggle{grid-column:1;grid-row:1}.global-search{grid-column:2;grid-row:1}.app-layout{display:block;padding:10px 14px 48px}.sidebar .sidebar-label,.sidebar .sidebar-empty{display:block}.sidebar .sidebar-link{width:calc(100% - 14px);min-height:38px;margin:2px 8px 2px 0;padding:7px 12px;background:transparent;font-size:.9rem;white-space:normal}.sidebar .sidebar-link .side-dot{display:block}.sidebar .sidebar-link[aria-current="page"]{background:transparent;color:var(--accent)}.sidebar .topic-nav-card{flex:none;width:auto;margin:0;padding:7px 12px;background:transparent}.sidebar .topic-nav-card.is-active{background:color-mix(in srgb,var(--raised) 48%,transparent)}}


@media(min-width:1081px){.account-menu{grid-column:3;grid-row:1}}
@media(max-width:1080px) and (min-width:701px){.account-menu{grid-column:4;grid-row:1}}
@media(max-width:700px){.account-menu{grid-column:3;grid-row:1}}

/* Authenticated chrome only: the logged-out screen should not expose empty navigation. */
.topbar{display:none}
.authenticated-shell .topbar{display:grid}
.drawer-backdrop[hidden]{display:none!important}
.authenticated-shell .drawer-backdrop{display:block}

@media(min-width:1081px){
  .topbar{grid-template-columns:auto minmax(220px,560px) auto}
  .drawer-toggle{display:none}
  .drawer-backdrop{display:none!important}
  body.drawer-open{overflow:auto}
  .app-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:28px;transition:grid-template-columns .24s ease-in,gap .24s ease-in}
  .app-layout:has(.sidebar .sidebar-top-row:only-child){grid-template-columns:164px minmax(0,1fr);gap:16px}
  .sidebar{position:sticky;top:84px;left:auto;bottom:auto;width:auto;max-height:calc(100vh - 100px);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:0 0 20px 0;background:transparent;border-right:1px solid color-mix(in srgb,var(--border) 36%,transparent);transform:none;visibility:visible;box-shadow:none}
  .sidebar:has(.sidebar-top-row:only-child){padding-right:0;border-right:0;overflow:visible}
  .sidebar-collapse-toggle{width:36px;height:36px;display:grid;place-items:center;margin:0 -8px 6px auto;padding:0;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--accent);font-size:1.45rem;line-height:1;position:relative;z-index:2;flex:none}
  .sidebar-collapse-toggle:hover{background:var(--pill)}
  .sidebar.is-open{transform:none;visibility:visible}
}
@media(max-width:1080px){
  .drawer-toggle{display:inline-grid}
}

@media(min-width:1081px){
  .sidebar{
    scrollbar-width:thin;
    scrollbar-color:transparent transparent;
  }
  .sidebar:hover{
    scrollbar-color:color-mix(in srgb,var(--muted) 72%,transparent) transparent;
  }
  .sidebar::-webkit-scrollbar{width:8px}
  .sidebar::-webkit-scrollbar-track{background:transparent}
  .sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}
  .sidebar:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 72%,transparent)}
  .sidebar::-webkit-scrollbar-thumb:hover{background:var(--accent)}
}
.explore-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.explore-toolbar .candidate-search{flex:1;min-width:0}
.explore-mode-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border);overflow-x:auto}
.explore-mode-tab{flex:none;padding:9px 4px;margin-right:18px;color:var(--muted);font-size:.92rem;font-weight:700;text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}
.explore-mode-tab:hover{color:var(--fg)}
.explore-mode-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.explore-mode-tab.is-active{color:var(--fg);border-bottom-color:var(--accent)}
.explore-window-filter{display:flex;gap:6px;flex:none}
.explore-direction-filter{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.chip{-webkit-appearance:none;appearance:none;cursor:pointer;background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:99px;padding:6px 14px;font-size:.82rem;font-weight:600;line-height:1.1;text-decoration:none;display:inline-block}
.chip:hover{color:var(--fg);border-color:color-mix(in srgb,var(--border) 40%,var(--accent))}
.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.chip.is-active{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);border-color:var(--accent)}
.explore-results-status{margin:0 0 10px}
.explore-load-more{display:flex;justify-content:center;margin-top:18px}
.guest-explore{max-width:760px}.guest-explore .candidate-search{width:100%;margin:8px 0 14px}.guest-explore-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.guest-explore-row{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.guest-explore-rank{color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums}.guest-explore-link{font-weight:750;color:var(--fg)}.guest-explore-link.is-locked{color:var(--muted)}.guest-explore-status{justify-self:end;min-width:0}.guest-explore-status .signal-status{font-size:.68rem;padding:2px 6px;gap:5px}.guest-explore-status .signal-status span{padding-left:5px}
.candidate-search{-webkit-appearance:none;appearance:none;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:9px;padding:8px 14px;font-size:.92rem}
.candidate-search::placeholder{color:var(--muted)}
.candidate-search::-webkit-search-cancel-button{-webkit-appearance:none}
.candidate-search:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:520px){.explore-toolbar{align-items:stretch;flex-direction:column}.explore-toolbar .topic-sort{width:100%}.explore-window-filter{justify-content:space-between}.explore-direction-filter{justify-content:space-between}.chip{flex:1;text-align:center;padding:6px 8px}.explore-mode-tabs{margin-right:-20px;padding-right:20px}}

/* Mobile shell and compact signal hierarchy. */
.topic-nav-card{display:flex;flex-direction:column}
.tnc-row1{display:flex;align-items:center;min-width:0}
.tnc-row2{display:flex;align-items:center;gap:6px;padding-top:4px;min-width:0}
.topic-nav-main{flex:1;display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden}
.topic-nav-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topic-nav-actions{flex:none;margin-left:6px}
.tnc-row2 .topic-nav-meta,.tnc-row2 .topic-nav-lift{display:inline-flex;align-items:center;margin:0}.topic-nav-last-active{display:inline-flex;align-items:center;margin-left:auto;font-size:.72rem;color:var(--muted);white-space:nowrap}.topic-nav-quiet{color:color-mix(in srgb,var(--down) 65%,var(--muted))}
.topic-hero-top{justify-content:flex-end;min-height:30px;padding-bottom:15px}
.topic-hero-title{margin:0 0 9px}.topic-hero-title-link{color:inherit;text-decoration:none}.topic-hero-title-link:hover{text-decoration:underline}.topic-hero-title-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}
.topic-hero-metadata{flex-wrap:nowrap;gap:6px;white-space:nowrap;overflow:hidden;font-size:.85rem}
.topic-hero-metadata .topic-hero-comparison-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-form .field{display:grid;gap:6px;color:var(--muted);font-size:.9rem}
.profile-form input:not([type=checkbox]){width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg)}
footer{text-align:center}.app-foot{max-width:none;margin-top:48px;padding:38px clamp(16px,6vw,96px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;background:#0b1118;color:#b8c2ca;text-align:left}.app-foot section{display:grid;align-content:start;gap:9px}.app-foot h2{margin:0 0 4px;color:#fff;font:700 .75rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.12em;text-transform:uppercase}.app-foot a{color:#b8c2ca;text-decoration:none;font-size:.88rem}.app-foot a:hover{color:#72d5c5;text-decoration:underline}.app-foot .social-badges{display:flex;flex-wrap:wrap;gap:8px}.app-foot .social-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:9px;font-size:.8rem;font-weight:700}.app-foot .social-badge-icon{width:17px;height:17px;flex:none;fill:currentColor}.app-foot .social-badge-icon-mastodon{color:#6364ff}@media(max-width:700px){.app-foot{grid-template-columns:1fr;gap:26px}}
@media(max-width:700px){
  .topbar{position:sticky;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;padding:10px 12px;gap:8px}
  .brand{display:none}
  .drawer-toggle{grid-column:1;grid-row:1;width:40px;height:40px;padding:3px;border:1px solid var(--border);background:transparent;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}
  .global-search{grid-column:2;grid-row:1;min-width:0;height:40px}
  .account-menu{grid-column:3;grid-row:1}
  .sidebar{padding-right:0;position:fixed;display:block;top:var(--drawer-top,56px);bottom:auto;height:calc(100dvh - var(--drawer-top,56px));max-height:calc(100dvh - var(--drawer-top,56px));overflow-y:auto!important;overflow-x:hidden;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;contain:paint;padding:0 0 20px;margin:0;border-right:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-bottom:0;min-height:0}
  .sidebar .sidebar-collapse-toggle{display:none}
  .sidebar .sidebar-mobile-brand{display:flex;gap:12px;align-items:center;padding:14px 16px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 45%,transparent);margin-bottom:4px;color:var(--fg);text-decoration:none}
  .sidebar .sidebar-mobile-brand:hover{text-decoration:none}
  .sidebar .sidebar-mobile-brand .brand-mark{width:38px;height:38px;flex:none}
  .sidebar .sidebar-mobile-brand strong{font-size:1.2rem;line-height:1.15;letter-spacing:-.02em}
  .sidebar .sidebar-mobile-brand span{display:block;color:var(--muted);font-size:.6rem;letter-spacing:.18em;font-weight:700;margin-top:2px}
  .topic-nav-card{flex:none;width:auto}
  .topic-nav-actions{align-items:center}
  .topic-hero-metadata{font-size:.76rem;gap:5px}
}
.topic-hero-top{align-items:center}
.topic-hero-status-row{display:flex;align-items:center;gap:12px;min-width:0}
.topic-hero-status-row .trend-explainer{margin-left:auto;flex:none}
.trend-explainer-toggle{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.trend-explainer-icon{font-size:.9em;line-height:1}
.signal-history-chart{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:10px;margin:12px 0 2px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent)}
.signal-history-label{color:var(--muted);font-size:.64rem;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.signal-history-chart svg{display:block;width:100%;height:34px;overflow:visible}
.signal-history-baseline{fill:none;stroke:color-mix(in srgb,var(--border) 85%,transparent);stroke-width:1}
.signal-history-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.signal-history-summary{color:var(--muted);font-size:.72rem;white-space:nowrap}
.signal-history-sparkline{display:block;width:56px;height:17px;margin-right:2px;overflow:visible}
.tnc-row2{flex-wrap:wrap}
.tnc-row2 .topic-nav-meta{white-space:nowrap}
.tnc-row2 .topic-nav-last-active{flex-basis:100%;margin-left:0}
@media(max-width:700px){.topic-hero-status-row{align-items:flex-start;flex-wrap:wrap;gap:7px}.topic-hero-status-row .trend-explainer{margin-left:0;flex-basis:100%}.signal-history-chart{grid-template-columns:1fr auto;gap:5px 10px}.signal-history-label{grid-column:1/-1}.signal-history-summary{font-size:.68rem}}
.topic-hero-title{min-width:0;flex:1;margin:0;overflow:visible;overflow-wrap:anywhere;white-space:normal}
.topic-hero-actions,.topic-nav-actions{align-items:center}
.topic-hero-actions .icon-action,.topic-nav-actions .icon-action{align-self:center;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.topic-nav-actions .close-action{font-size:1.35rem;line-height:1}
.sidebar .topic-nav-card:hover{background:var(--raised);color:var(--fg);border-radius:9px;transition:background .15s}.sidebar .topic-nav-card:focus-within{background:var(--raised);color:var(--fg);border-radius:9px}.sidebar .topic-nav-card.is-active:hover,.sidebar .topic-nav-card.is-active:focus-within{background:color-mix(in srgb,var(--raised) 48%,transparent)}
.sidebar .topic-nav-card .topic-nav-actions .icon-action:hover,.sidebar .topic-nav-card .topic-nav-actions .icon-action:focus-visible{background:var(--pill);color:var(--fg)}
/* Authenticated signal cards are compact market reads, not miniature nav widgets. */
.topic-hero.signal-card{display:grid;grid-template-columns:auto minmax(170px,1.25fr) auto minmax(210px,.9fr) auto;grid-template-areas:"icon identity metrics chart actions" "icon explainer explainer explainer actions";align-items:start;gap:10px 20px;padding:16px 22px 8px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-left:3px solid var(--accent);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 7%,var(--raised)),var(--raised) 46%);box-shadow:0 12px 32px #0000000a}
.signal-card-icon{align-self:start;padding-top:3px}.signal-card-icon .topic-glyph{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--accent) 13%,var(--pill));color:var(--accent)}.signal-card-icon .signal-icon{width:25px;height:25px}
.signal-card-title-row{display:flex;align-items:center;gap:8px;min-width:0}.signal-banner-status{flex:none;font-size:.61rem;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.signal-card-identity{grid-area:identity;min-width:0}.topic-hero.signal-card .topic-hero-title{margin:0;font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.035em}.signal-card-active{color:var(--muted);font-size:.78rem;font-weight:700;white-space:nowrap}.signal-card-summary{margin:5px 0 10px;max-width:42ch;color:var(--muted);font-size:.86rem;line-height:1.45}.signal-card-movement{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;font-weight:700}.signal-card-movement .momentum{font-size:.82rem}
.signal-card-metrics{grid-area:metrics;display:grid;gap:8px;min-width:110px}.signal-card-metric{display:grid;gap:2px}.signal-card-metric:nth-child(n+2){display:flex;align-items:baseline;gap:5px;white-space:nowrap}.signal-card-metric-value{font-size:1.08rem;font-weight:800;line-height:1;color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}.signal-card-metric:first-child .signal-card-metric-value{font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.035em}.signal-card-metric-label,.signal-history-label{color:var(--muted);font-size:.61rem;font-weight:800;letter-spacing:.07em;line-height:1.2;white-space:nowrap}.signal-card-metric-up .signal-card-metric-value{color:var(--up)}.signal-card-metric-down .signal-card-metric-value{color:var(--down)}.signal-card-metric-flat .signal-card-metric-value{color:var(--muted)}
.signal-results{grid-template-columns:minmax(0,1fr)}
.topic-hero.signal-card .signal-history-chart{grid-area:chart;display:grid;grid-template-columns:1fr auto;align-items:end;gap:7px 10px;min-width:0;margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:10px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.topic-hero.signal-card .signal-history-label{grid-column:1/-1}.topic-hero.signal-card .signal-history-chart svg{width:100%;height:62px;color:var(--accent);overflow:visible}.signal-history-area{stroke:none}.topic-hero.signal-card .signal-history-summary{font-size:.68rem;line-height:1.1;text-align:right}.signal-history-empty{display:block;min-height:62px;padding-top:18px;color:var(--muted);font-size:.8rem;border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}
.topic-hero.signal-card .signal-card-actions{grid-area:actions;display:grid;gap:8px;align-self:start;width:92px}.topic-hero.signal-card .signal-card-actions .button{width:100%;min-height:32px;padding:7px 10px;font-size:.78rem}.signal-card-explainer{grid-area:explainer;min-width:0}.topic-hero.signal-card .trend-explainer{margin:0}.topic-hero.signal-card .trend-explainer-copy{margin:8px 0 0;max-width:68ch}
/* Guest hero has 3 real actions (Follow, Open full brief, Share), not 2 - the
   shared 92px actions column was sized for 2 stacked buttons and wrapped
   "Follow <topic> free" across 3 lines once a 3rd button landed in it. Widen
   and give every guest action button identical icon+text chrome. */
.topic-hero.signal-card .signal-card-actions.guest-signal-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
/* Guest's two secondary actions were plain colored text with a transparent
   background/border (same as not being a button at all) - low contrast on
   light theme and easy to miss entirely. Give them a real visible border and
   fill so all three read as buttons, with Follow kept the most saturated as
   the primary action. */
.button.bordered{background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--fg);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));font-weight:700}
.button.bordered:hover{background:color-mix(in srgb,var(--accent) 16%,var(--surface));border-color:color-mix(in srgb,var(--accent) 65%,var(--border))}
.guest-action-primary{box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 35%,transparent)}
/* "Active today" drifted far from the title once the identity column grew
   wider (see .no-chart below) because .topic-hero-title inherits flex:1 from
   the shared title-row rule elsewhere on the page - that stretches it to
   fill the row instead of sizing to its own text, shoving the sibling pill
   to the far right edge. Keep it sized to its text here so the pill sits
   right after it. */
.topic-hero.signal-card .signal-card-title-row .topic-hero-title{flex:0 1 auto;min-width:0}
.signal-card-brief-link{color:var(--accent);font-weight:700;text-decoration:none;white-space:nowrap}
.signal-card-brief-link:hover{text-decoration:underline}
/* Guests never see a chart (no signed-in-only history data for them), but the
   shared desktop grid reserved a whole minmax(210px,.9fr) column for it
   regardless - that's the ~250px dead gap between the metrics and the action
   buttons. Drop that column for guests and let identity's existing flexible
   track absorb the freed width instead. Only above the 1000px breakpoint:
   narrower layouts already turn "chart" into a content-sized (collapsing)
   row, not a reserved column, so there's nothing to fix there. */
@media(min-width:1001px){
  .topic-hero.signal-card.no-chart{grid-template-columns:auto minmax(170px,1.25fr) auto auto;grid-template-areas:"icon identity metrics actions" "icon explainer explainer actions"}
  .topic-hero.signal-card.no-chart .signal-card-summary{max-width:72ch}
}
@media(min-width:621px){.topic-hero.signal-card .signal-card-actions.guest-signal-actions{width:180px}.topic-hero.signal-card .signal-card-actions.guest-signal-actions .button{min-height:36px;padding:8px 10px;font-size:.82rem}}
.guest-board-note{margin:0 0 18px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,var(--raised))}
.guest-board-note-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.guest-board-note .eyebrow{margin:0 0 6px}.guest-board-note-dismiss{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--raised);color:var(--muted);font:inherit;font-size:1.35rem;line-height:1;cursor:pointer}.guest-board-note-dismiss:hover{border-color:var(--accent);color:var(--accent)}.guest-board-note-dismiss:focus-visible,.guest-board-note-restore:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent);outline-offset:2px}.guest-board-note-restore{margin:0 0 18px;min-height:40px}
.guest-board-note p+p{margin:6px 0 0;color:var(--muted);font-size:.86rem;line-height:1.5}
@media(max-width:1000px){.topic-hero.signal-card{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon identity actions" "icon metrics actions" "chart chart chart" "explainer explainer explainer";gap:14px 16px}.signal-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.topic-hero.signal-card .signal-history-chart{padding-top:12px;border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent)}}
@media(max-width:620px){.topic-hero.signal-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon identity" "metrics actions" "chart chart" "explainer explainer";padding:18px;gap:14px}.signal-card-icon .topic-glyph{width:42px;height:42px}.topic-hero.signal-card .topic-hero-title{font-size:1.38rem}.signal-card-summary{font-size:.82rem}.topic-hero.signal-card .signal-card-actions{grid-template-columns:1fr 1fr;width:auto}.topic-hero.signal-card .signal-history-chart svg{height:70px}.topic-hero.signal-card .signal-history-summary{font-size:.66rem}}
@media(max-width:620px){.topic-hero-wrap:has(.signal-card){position:sticky;top:var(--drawer-top,56px);z-index:25}.topic-hero.signal-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon identity" "metrics metrics" "chart chart" "actions actions";gap:10px;padding:12px 14px}.topic-hero-toggle{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.topic-hero-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.topic-hero.signal-card .signal-card-icon{grid-area:icon;justify-self:start}.topic-hero.signal-card:not(.is-expanded)>.signal-card-metrics,.topic-hero.signal-card:not(.is-expanded)>.signal-history-chart,.topic-hero.signal-card:not(.is-expanded)>.signal-card-actions,.topic-hero.signal-card:not(.is-expanded)>.topic-hero-changes{display:none}.topic-hero.signal-card .signal-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.topic-hero.signal-card .signal-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.topic-hero.signal-card .signal-history-chart{width:100%}.topic-hero.signal-card .signal-card-icon::after{display:none}}
.guest-board{max-width:920px;margin:0 auto}.guest-board-intro{margin-bottom:18px;padding:26px 28px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--raised)),var(--raised) 58%);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:none}.guest-board-intro .board-title{max-width:20ch;margin:.18em 0;font-size:clamp(1.9rem,5vw,2.9rem);line-height:1.06;letter-spacing:-.045em}.guest-board-intro .section-intro{max-width:64ch;margin:0;color:var(--muted);font-size:1rem;line-height:1.55}.guest-board-intro .profile-actions{gap:10px;margin-top:18px}.guest-topic-stream{margin:0 0 32px}.guest-topic-stream .topic-hero-wrap{position:static}.guest-topic-stream .topic-hero{padding:20px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:0;background:var(--raised);box-shadow:none}.guest-signal-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.guest-signal-identity{display:flex;align-items:center;gap:10px;min-width:0}.guest-signal-identity .topic-glyph{width:28px;height:28px}.guest-signal-identity .topic-hero-title{min-width:0;margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.12;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}.guest-signal-actions{display:flex;align-items:center;gap:8px;flex:none}.guest-signal-actions .button{white-space:nowrap}.guest-topic-stream .topic-hero-metadata{margin-top:14px}.guest-topic-stream .trend-explainer{margin-top:14px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--border) 62%,transparent)}.guest-topic-stream .trend-explainer p{max-width:70ch}.guest-topic-stream .topic-evidence-column{margin-top:12px}.guest-topic-stream .evidence-section{padding:0 4px}.guest-article-share{min-height:32px;padding:4px 9px;font-size:.78rem}.guest-share{min-height:38px}
@media(max-width:700px){.guest-board{margin:0}.guest-board-intro{padding:20px 18px;margin-bottom:14px}.guest-board-intro .board-title{font-size:2rem;line-height:1.08}.guest-board-intro .section-intro{font-size:.95rem;line-height:1.5}.guest-board-intro .profile-actions{display:grid;grid-template-columns:1fr auto}.guest-board-intro .profile-actions .button{justify-content:center;text-align:center}.guest-topic-stream{margin-bottom:24px}.guest-topic-stream .topic-hero{padding:17px}.guest-signal-header{align-items:stretch;flex-direction:column;gap:13px}.guest-signal-identity{gap:9px}.guest-signal-identity .topic-hero-title{font-size:1.55rem;line-height:1.12;overflow-wrap:break-word}.guest-signal-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.guest-signal-actions .button{min-height:40px;padding:7px 9px;font-size:.84rem}.guest-topic-stream .topic-hero-metadata{margin-top:12px}.guest-topic-stream .trend-explainer{margin-top:12px;padding-top:12px}.guest-topic-stream .evidence-section{padding:0}.guest-topic-stream .article-card{padding:14px}.guest-topic-stream .article-main{grid-template-columns:minmax(0,1fr) 104px}.guest-topic-stream .article-thumb{height:88px}.feedback-btn{bottom:16px;right:16px}}
@media(max-width:390px){.guest-signal-actions{grid-template-columns:minmax(0,1fr) auto}.guest-signal-actions .guest-share{grid-column:2}.guest-signal-actions a:last-child{grid-column:1/-1}.guest-topic-stream .article-main{grid-template-columns:1fr}.guest-topic-stream .article-thumb{grid-row:1;height:156px}.guest-topic-stream .article-copy{grid-row:2}}
body.is-compact .article-excerpt,body.is-compact .article-thumb,body.is-compact .placeholder-mark{display:none}
body.is-compact .article-main{grid-template-columns:1fr;gap:0}
body.is-compact .article-card{padding-top:8px;padding-bottom:8px}
body.is-compact .article-title{margin:2px 0}

/* Sidebar section contract: one header row, a 7px icon gap, and a shared hover. */
.sidebar .sidebar-section{display:block;margin:0 0 6px;border-bottom:1px solid color-mix(in srgb,var(--border, #4b5563) 70%,transparent)}
.sidebar .sidebar-section-toggle{display:flex;align-items:center;flex-wrap:nowrap;gap:0;width:100%;min-height:40px;margin:0;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:var(--accent);font:inherit;font-size:1rem;font-weight:800;letter-spacing:.06em;line-height:20px;text-transform:uppercase;white-space:nowrap;text-align:left}
.sidebar .sidebar-section-toggle .section-icon{display:grid;flex:0 0 20px;width:20px;height:20px;place-items:center;margin:0 7px 0 0}
.sidebar .sidebar-section-toggle .sidebar-section-label{display:block;flex:1;min-width:0;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .sidebar-section-toggle .sidebar-chevron{display:block;flex:0 0 20px;width:20px;height:20px;margin-left:auto;line-height:20px;text-align:center}
.sidebar .sidebar-section-toggle:hover{background:var(--raised);color:var(--fg)}
/* Keep every left-nav icon on the same 20px visual grid. */
.sidebar .topic-glyph,.sidebar .topic-glyph.is-saved,.sidebar .section-icon,.sidebar .source-logo,.sidebar .source-logo-fallback{width:20px;height:20px;background:transparent}
.sidebar .topic-glyph .signal-icon,.sidebar .section-icon .signal-icon,.sidebar .section-icon .action-icon,.sidebar .topic-nav-actions .action-icon{width:20px;height:20px}
.sidebar .topic-nav-actions .star-action,.sidebar .topic-nav-actions .close-action{font-size:20px}
/* Article cards use the same hover treatment as left-nav text links. */
.article-card:hover,.article-stream .article-card:hover{background:var(--raised);border-color:color-mix(in srgb,var(--accent) 48%,var(--border));color:var(--fg)}

/* SportsDrift: a modern sports desk, with scorebug structure and matchday energy. */
body[data-brand="sportsdrift"] .topbar{border-bottom:2px solid color-mix(in srgb,var(--accent) 72%,transparent)}
body[data-brand="sportsdrift"] .overview{position:relative;overflow:hidden;border-top:3px solid var(--accent);background:linear-gradient(118deg,color-mix(in srgb,var(--accent) 13%,var(--raised)),var(--raised) 48%,color-mix(in srgb,var(--warm) 8%,var(--raised)))}
body[data-brand="sportsdrift"] .overview::after{content:"THE SPORTS DESK";position:absolute;top:17px;right:20px;color:color-mix(in srgb,var(--fg) 38%,transparent);font-size:.66rem;font-weight:900;letter-spacing:.16em}
body[data-brand="sportsdrift"] .topic-hero{border-left:3px solid var(--accent);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 11%,var(--raised)),var(--raised) 45%)}
body[data-brand="sportsdrift"] .badge,body[data-brand="sportsdrift"] .sort-pills{border-radius:5px}
body[data-brand="sportsdrift"] .section-heading h1,body[data-brand="sportsdrift"] .overview-title-row h1{letter-spacing:-.045em}

/* GamingDrift: a creator broadcast desk with neon HUD accents, not a generic feed. */
body[data-brand="gamingdrift"] .topbar{border-bottom:2px solid color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 4px 26px color-mix(in srgb,var(--accent) 10%,transparent)}
body[data-brand="gamingdrift"] .overview{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 46%,var(--border));background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 18%,var(--raised)),var(--raised) 52%,color-mix(in srgb,var(--warm) 10%,var(--raised)))}
body[data-brand="gamingdrift"] .overview::after{content:"CREATOR SIGNAL FEED";position:absolute;top:17px;right:20px;color:var(--warm);font-size:.64rem;font-weight:900;letter-spacing:.14em}
body[data-brand="gamingdrift"] .topic-hero{border-left:3px solid var(--warm);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 13%,var(--raised)),var(--raised) 48%)}
body[data-brand="gamingdrift"] .badge,body[data-brand="gamingdrift"] .sort-pills{border-radius:7px;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
body[data-brand="gamingdrift"] .topic-glyph{box-shadow:0 0 16px color-mix(in srgb,var(--accent) 20%,transparent)}
.upgrade-dialog{width:min(520px,calc(100vw - 28px));max-height:85dvh;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--fg);box-shadow:0 24px 80px #0009}
.upgrade-dialog::backdrop{background:#02060bcc;backdrop-filter:blur(3px)}
.upgrade-dialog h2{margin:0}
.upgrade-dialog .setting-row{gap:16px}
.upgrade-dialog .profile-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
@media(max-width:520px){.upgrade-dialog{padding:18px}.upgrade-dialog .setting-row{align-items:flex-start}}
.empty-state-cta{display:flex;flex-direction:column;align-items:center;padding:24px 0;gap:14px;text-align:center}
.getting-started-hint{max-width:520px;text-align:left;cursor:pointer}
.last-visit-brief-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.last-visit-brief-heading .eyebrow{margin:0 0 3px}.last-visit-brief-list{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:.9rem}.last-visit-brief-list li+li{margin-top:4px}
.share-toast{position:fixed;left:50%;bottom:88px;z-index:120;transform:translateX(-50%);isolation:isolate;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:9px;background-color:var(--surface);background:var(--surface);backdrop-filter:none;box-shadow:0 4px 0 var(--surface),0 14px 32px #000c;color:var(--fg);font-size:.86rem;font-weight:700;max-width:calc(100vw - 32px)}
.share-toast-error{border-color:color-mix(in srgb,#d64545 60%,var(--border))}
.share-toast-success{border-color:color-mix(in srgb,#2e9e5b 55%,var(--border))}
.share-toast-cta{flex:none;padding:4px 10px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);font-weight:800;font-size:.82rem;cursor:pointer;white-space:nowrap}
.share-toast-cta:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.search-shortcut-hint{flex:none;padding:1px 6px;border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:.72rem;color:var(--muted);background:var(--raised);line-height:1.5}
.global-search:focus-within .search-shortcut-hint{display:none}
.global-search input:not(:placeholder-shown)~.search-shortcut-hint{display:none}
@media(max-width:700px){.search-shortcut-hint{display:none}}
.sidebar-empty-link{color:var(--accent);text-decoration:none}.sidebar-empty-link:hover{text-decoration:underline}
.onboarding-tip{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;background:color-mix(in srgb,var(--raised) 80%,transparent);border:1px solid color-mix(in srgb,var(--border) 50%,transparent);border-radius:10px;font-size:.86rem}
.digest-notice{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 12%,transparent);color:var(--fg);font-size:.86rem;line-height:1.45}.digest-notice a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}.digest-notice .button{margin-left:auto;flex:none}@media(max-width:700px){.digest-notice{align-items:flex-start;flex-wrap:wrap;padding:12px 14px}.digest-notice .button{margin-left:auto}}
.button.small{padding:4px 8px;min-height:28px;font-size:.78rem}
.onboarding-list{margin:8px 0;padding-left:18px;display:grid;gap:8px;color:var(--fg);font-size:.95rem}
.suggest-topic{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.suggest-topic input{accent-color:var(--accent)}

/* Signal Watch: "Since you were here" panel and per-card change markers */
.signal-watch-list{margin:10px 0 0;padding-left:20px;color:var(--muted);font-size:.9rem;display:grid;gap:5px}
.signal-watch-list li{list-style:disc}
.signal-watch-list a{color:var(--fg);font-weight:600;text-decoration:none}
.signal-watch-list a:hover{text-decoration:underline;text-underline-offset:2px;color:var(--accent)}
.signal-watch-detail{margin-left:7px;color:var(--muted);font-size:.82rem}
.signal-watch-article{margin-left:7px;color:var(--accent);font-size:.82rem;text-decoration:underline;text-underline-offset:2px}
.signal-watch-marker{display:inline-flex;align-items:center;margin-left:7px;padding:1px 6px;border-radius:5px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.01em;white-space:nowrap}.topic-hero-changes{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.topic-hero-changes .signal-watch-marker{margin-left:0}
/* Inline "View updates" notice lives inside the Signal Watch section heading */
.signal-watch-updates-notice{margin-left:auto;flex:none}

/* Unified tip bar - Tier 1 one-time education tips */
.tip-bar{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));border-left:3px solid var(--accent);border-radius:10px;background:color-mix(in srgb,var(--accent) 13%,var(--raised));box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 10%,transparent);color:var(--fg);font-size:.86rem;line-height:1.5}
.tip-bar .tip-bar-text{flex:1}
.tip-bar a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.tip-bar .icon-action{flex:none;margin-left:auto}

.topic-nav-new{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warm) 55%,transparent)}.signal-activity-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:30px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-size:.75rem;font-weight:750;white-space:nowrap;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.trending-inline-heading{margin:8px 0 4px;padding:0 2px;font-size:.72rem;letter-spacing:.08em;color:var(--muted)}.new-since-visit-notice{display:block;margin-top:7px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--accent) 56%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--fg);font:700 .78rem/1.35 inherit;text-align:left;cursor:pointer}.new-since-visit-notice:hover,.new-since-visit-notice:focus-visible{background:color-mix(in srgb,var(--accent) 24%,var(--surface));outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.trend-explainer{margin-top:10px}.trend-explainer-toggle{border:0;padding:0;background:transparent;color:var(--accent);font:700 .82rem/1.4 inherit;cursor:pointer}.trend-explainer-toggle:hover,.trend-explainer-toggle:focus-visible{text-decoration:underline;text-underline-offset:3px}.trend-explainer-copy{margin:5px 0 0;max-width:70ch;line-height:1.5}
.sidebar-top-row{display:flex;align-items:center;gap:6px;min-height:42px;margin-bottom:6px}.sidebar-home-link{display:flex;align-items:center;gap:7px;min-width:0;flex:1;padding:7px 12px;color:var(--muted);font-size:.9rem;font-weight:600;text-decoration:none;white-space:nowrap}.sidebar-home-link .section-icon{width:20px;height:20px;font-size:20px;line-height:20px;justify-content:center}.sidebar-home-link:hover{color:var(--fg);background:var(--raised);border-radius:9px;text-decoration:none}.sidebar-external-icon{margin-left:auto;color:var(--muted);font-size:.85em}.board-title{margin:0 0 6px;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.04em;line-height:1.05}.topic-stream.source-stream,.history-page{width:100%;max-width:none}.topic-stream.source-stream .topic-evidence-column{width:100%}.history-page{display:grid;gap:14px}.history{display:grid;gap:10px;width:100%}.history-entry{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(100px,18%) auto;align-items:center;gap:14px}.history-entry-main{min-width:0}.history-entry-main p{margin:0 0 4px}.history-thumb,.history-entry .placeholder-mark{width:100%;height:82px;object-fit:cover;border-radius:9px}@media(min-width:1081px){.app-layout:has(.sidebar .sidebar-top-row:only-child){grid-template-columns:44px minmax(0,1fr)}.sidebar:has(.sidebar-top-row:only-child) .sidebar-home-label{display:none}.sidebar:has(.sidebar-top-row:only-child) .sidebar-home-link{flex:none;width:36px;padding:8px}.sidebar:has(.sidebar-top-row:only-child) .sidebar-collapse-toggle{margin-left:0}}@media(max-width:700px){.history-entry{grid-template-columns:auto minmax(0,1fr) auto}.history-thumb,.history-entry .placeholder-mark{display:none}}@media(prefers-reduced-motion:reduce){.app-layout,.article-card{transition:none!important}.showing-read-cards .article-card.is-read{animation:none}}

.feedback-btn{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid var(--border);border-radius:30px;background:var(--surface);color:var(--muted);font:inherit;font-size:.84rem;font-weight:650;box-shadow:0 4px 18px #00060c18;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.feedback-btn:hover{background:var(--raised);color:var(--fg);box-shadow:0 6px 24px #00060c26}.feedback-btn[hidden]{display:none}.feedback-panel{position:fixed;bottom:72px;right:24px;z-index:95;width:min(340px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 16px 46px #0009;display:grid;gap:14px}.feedback-panel[hidden]{display:none}.feedback-panel-heading{margin:0;font-size:1rem;letter-spacing:-.01em}.feedback-type{display:flex;gap:6px}.feedback-type-btn{flex:1;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:650;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.feedback-type-btn:hover{color:var(--fg);background:var(--raised)}.feedback-type-btn.is-active{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.feedback-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit;font-size:.9rem;resize:vertical;min-height:84px}.feedback-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);outline:none}.feedback-actions{display:flex;gap:8px;justify-content:flex-end}.feedback-thanks{margin:4px 0;color:var(--muted);text-align:center;font-size:.9rem}
@media(max-width:700px){.last-visit-brief-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.last-visit-brief-heading>div{min-width:0}.brief-title{margin:0;font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}.brief-quiet{margin:8px 0 0;color:var(--muted);line-height:1.5}.signal-watch-list{padding-left:20px}.signal-watch-list li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;overflow-wrap:anywhere}.candidate-badge{background:color-mix(in srgb,var(--warm) 18%,var(--surface));color:var(--warm)}}

/* Source pack cards (onboarding + settings source picker) */
.source-pack-card{border:1px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--surface);display:grid;gap:11px;transition:border-color .15s}
.source-pack-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
.source-pack-header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.source-pack-label{font-size:1rem;font-weight:700;letter-spacing:-.01em;text-transform:capitalize}
.source-pack-icons{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.source-pack-icon-wrap{position:relative;display:inline-flex;align-items:center;border-radius:6px;overflow:visible}
.source-pack-icon-wrap .source-logo,.source-pack-icon-wrap .source-logo-fallback{width:22px;height:22px;border-radius:6px;box-shadow:0 1px 3px #0004}
.source-pack-icon-wrap:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 8px;background:var(--fg);color:var(--bg);font-size:.72rem;font-weight:600;border-radius:6px;pointer-events:none;z-index:30;box-shadow:0 2px 8px #0006}
.source-pack-apply{width:100%;min-height:40px;font-size:.9rem;font-weight:700}

/* Profile page tabs */
.profile-tabs{margin-bottom:2px}
.profile-tab-btn{min-width:90px;text-align:center}

/* Settings panel titles - now h2 (was h3) so the heading sequence doesn't
   skip a level under the page's h1; .panel h2 alone has a bigger, different
   look for panel section titles elsewhere, so this needs the extra class in
   the selector to win on specificity, not just declaration order. */
.panel h2.settings-panel-title{margin:0 0 14px;font-size:.72rem;font-weight:800;letter-spacing:.17em;color:var(--accent)}

/* Styled select for settings screens */
.settings-select-wrap{position:relative;display:inline-flex;align-items:center;min-width:180px}
.settings-select-wrap::after{content:'▾';position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--muted);font-size:.8rem}
.settings-select{appearance:none;-webkit-appearance:none;width:100%;padding:8px 30px 8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit;font-size:.9rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.settings-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);outline:none}
.settings-select:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}
.setting-row:has(.settings-select-wrap){align-items:center}

/* Native radios keep their familiar keyboard behavior while the full label
   remains an easy-to-hit target. The selected option is never color-only. */
.theme-selector{display:grid;gap:8px;margin:0;padding:0;border:0}
.theme-selector legend{padding:0;color:var(--fg);font-weight:750}
.theme-selector-help{margin:0 0 2px}
.theme-option{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);cursor:pointer}
.theme-option:has(input:checked){border:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));font-weight:750}
.theme-option:hover{border-color:var(--accent)}
.theme-option input[type=radio]{width:20px;height:20px;margin:0;flex:none;accent-color:var(--accent)}
.theme-option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}

/* High Contrast removes translucency and decorative motion from the app shell,
   makes all boundaries explicit, and preserves a non-color focus indicator. */
body[data-theme="high-contrast"] .app-foot{background:var(--bg);color:var(--fg);border-top:2px solid var(--border)}
body[data-theme="high-contrast"] .app-foot h2,body[data-theme="high-contrast"] .app-foot a{color:var(--fg)}
body[data-theme="high-contrast"] .app-foot a:hover,body[data-theme="high-contrast"] a:hover{color:var(--accent)}
body[data-theme="high-contrast"] .panel,body[data-theme="high-contrast"] .overview,body[data-theme="high-contrast"] .topic-hero,body[data-theme="high-contrast"] .auth-gate,body[data-theme="high-contrast"] .article-card,body[data-theme="high-contrast"] .search-dropdown-panel,body[data-theme="high-contrast"] .account-menu-panel,body[data-theme="high-contrast"] .share-dialog,body[data-theme="high-contrast"] .upgrade-dialog{background:var(--surface);border:2px solid var(--border);box-shadow:none}
body[data-theme="high-contrast"] .topbar,body[data-theme="high-contrast"] .sidebar,body[data-theme="high-contrast"] .drawer-backdrop{backdrop-filter:none}
body[data-theme="high-contrast"] .topbar{background:var(--bg);border-bottom:2px solid var(--border)}
body[data-theme="high-contrast"] .button,body[data-theme="high-contrast"] button,body[data-theme="high-contrast"] select,body[data-theme="high-contrast"] input:not([type=radio]):not([type=checkbox]),body[data-theme="high-contrast"] textarea{border:2px solid var(--border)}
body[data-theme="high-contrast"] .button.filled{background:var(--accent);color:#000000;border-color:var(--accent)}
body[data-theme="high-contrast"] :focus-visible{outline:4px solid var(--accent)!important;outline-offset:4px!important;box-shadow:none!important}
body[data-theme="high-contrast"] .theme-option:has(input:checked),body[data-theme="high-contrast"] [aria-current="page"]{background:var(--bg);border:3px solid var(--accent);color:var(--fg)}
body[data-theme="high-contrast"] *,body[data-theme="high-contrast"] *::before,body[data-theme="high-contrast"] *::after{transition:none!important;animation:none!important;text-shadow:none!important;box-shadow:none!important}

/* Source pack grid - 2 columns */
.source-pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:520px){.source-pack-grid{grid-template-columns:1fr}}

/* Profile page - wider layout and 2-column source grid */
.profile-page.stack.wide{max-width:1080px}
.profile-form{max-width:none}
.source-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(max-width:600px){.source-options-grid{grid-template-columns:1fr}}

/* Source pack cards - 3-row flex layout (title / icons / button) */
.source-pack-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px}
.source-pack-title{font-size:.95rem;font-weight:700;letter-spacing:-.01em;text-transform:capitalize}
.source-pack-icons{display:flex;flex-wrap:wrap;gap:5px;flex:1}
.source-pack-apply{width:100%;margin-top:auto}

/* ---- Signal Profiles: username field and Sharing tab ---- */
.username-field{display:grid;gap:6px;color:var(--muted);font-size:.9rem}
.username-field label{font-weight:650}
.field-help{margin:0;color:var(--muted);font-size:.8rem}
.field-status{min-height:1.25em;margin:0;font-size:.84rem;font-weight:650;color:var(--muted)}
.field-status.is-error{color:var(--down)}
.field-status.is-ok{color:var(--up)}
.field-status.is-pending{color:var(--muted);font-weight:500}
.username-field input[aria-invalid="true"]{border-color:var(--down)}
.profile-url-row{margin-bottom:12px}
.profile-url-row input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:.92rem;text-overflow:ellipsis}
.sharing-row{align-items:flex-start;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--border) 45%,transparent)}
.sharing-row:first-of-type{border-top:0}
.sharing-row-copy{flex:1;min-width:0}
.sharing-row-copy p{margin:2px 0 0}
.sharing-state{align-self:center;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.sharing-row input[type=checkbox]{flex:none;align-self:center;width:22px;height:22px}
.sharing-status{min-height:1.3em;margin:10px 0 0;color:var(--muted);font-size:.86rem;font-weight:650}
.sharing-status.is-error{color:var(--down)}
.sharing-bio{width:100%;box-sizing:border-box}
.sharing-bio-meta{display:flex;justify-content:space-between;gap:12px;margin:6px 0 12px}
.username-prompt .button.quiet{white-space:nowrap}
.username-prompt{flex-wrap:wrap}
.avatar-file-picker{display:flex;align-items:center;min-height:42px;max-width:100%}
.avatar-upload{display:flex;align-items:flex-start;gap:16px}
.avatar-upload-controls{min-width:0;flex:1}
.profile-avatar-preview{display:grid;place-items:center;flex:0 0 96px;width:96px;height:96px;border:1px solid var(--border);border-radius:50%;overflow:hidden;background:var(--pill);color:var(--pill-text);font-size:1.6rem;font-weight:800}
.profile-avatar-image{width:100%;height:100%;object-fit:cover}
.profile-avatar-initials{line-height:1}
.avatar-file-input{max-width:100%;color:var(--muted);font:inherit}
.avatar-file-input::file-selector-button{margin-right:10px;min-height:40px;padding:0 14px;border:1px solid var(--border-strong,var(--border));border-radius:7px;background:var(--surface);color:var(--fg);font:700 .9rem/1 system-ui,sans-serif;box-shadow:0 1px 2px #00000012;cursor:pointer}
.avatar-file-input:hover::file-selector-button{background:var(--pill)}
.avatar-file-input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px;border-radius:7px}
@media (max-width:520px){
  .sharing-row{gap:12px}
  .sharing-state{display:none}
  .profile-tabs{flex-wrap:wrap}
  .avatar-upload{align-items:center}
  .profile-avatar-preview{flex-basis:76px;width:76px;height:76px}
  .sharing-tab .profile-actions{flex-wrap:wrap}
  .sharing-tab .profile-actions .button{flex:1 1 100%;text-align:center}
}

/* Public board intentionally keeps the same workspace geometry as the signed-in board. */
.guest-signup-avatar{display:none}
@media(min-width:1081px){body.guest-shell .guest-signup-avatar{display:grid;grid-column:4;grid-row:1;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--raised);color:var(--muted)}body.guest-shell .guest-signup-avatar:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}body.guest-shell .guest-signup-avatar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}}
body.guest-shell .topbar{display:grid}body.guest-shell .topbar-actions{display:none}body.guest-shell .app-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:28px;justify-content:normal;align-items:start;min-height:0;padding:24px 20px 64px}body.guest-shell .app-layout #sidebar{position:sticky;top:84px;left:auto;bottom:auto;width:auto;max-height:calc(100vh - 100px);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:0 8px 20px 0;background:transparent;border-right:1px solid color-mix(in srgb,var(--border) 36%,transparent);transform:none;visibility:visible;box-shadow:none}body.guest-shell .app-layout #view{width:auto;max-width:none;min-height:65vh;padding:4px 0;display:block;justify-content:normal}.guest-shell .guest-board{max-width:none;width:100%;margin:0}.guest-shell .guest-board-toolbar{align-items:flex-end;margin:0 0 18px;padding:0 4px 16px;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.guest-shell .guest-board-toolbar .board-title{margin:2px 0 0;font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;letter-spacing:-.035em}.guest-shell .guest-board-toolbar .stream-tools{display:flex;gap:8px;align-items:center}.guest-shell .guest-board-tools .candidate-search{width:170px}.guest-shell .guest-board-tools .topic-sort{max-width:160px}.guest-shell .guest-topic-stream{max-width:none;margin:0}.guest-shell .guest-topic-stream .topic-hero{padding:18px 20px;border-left:3px solid var(--accent);border-radius:0;background:var(--raised)}.guest-shell .guest-topic-stream .topic-evidence-column{margin-top:16px}.guest-shell .guest-topic-stream .evidence-section{padding:0}.guest-shell .guest-topic-nav{align-items:flex-start;gap:9px;width:calc(100% - 8px);margin:0 8px 2px 0;padding:9px 10px;background:transparent}.guest-shell .guest-topic-nav[aria-current="page"]{background:color-mix(in srgb,var(--accent) 10%,var(--raised));color:var(--fg)}.guest-shell .guest-topic-nav-copy{display:grid;gap:2px;min-width:0}.guest-shell .guest-topic-nav .topic-nav-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-shell .guest-topic-nav .topic-nav-meta{margin:0;font-size:.72rem}.guest-shell .guest-sidebar-section{margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.guest-shell .guest-sidebar-section .sidebar-label{display:block;margin:8px 10px 6px;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.08em}.guest-shell .guest-sidebar-note .sidebar-empty{margin:0 10px 8px;line-height:1.45}.guest-shell .guest-sidebar-note .sidebar-link{color:var(--accent)}
@media(max-width:1080px){body.guest-shell .app-layout{display:block;padding:18px 20px 64px}body.guest-shell .app-layout #sidebar{position:fixed;z-index:50;top:var(--drawer-top,76px);bottom:0;left:0;width:min(350px,calc(100vw - 40px));max-height:none;display:block;overflow:auto;padding:8px 0 24px;background:var(--bg);border-right:1px solid color-mix(in srgb,var(--border) 65%,transparent);transform:translateX(-105%);visibility:hidden;box-shadow:12px 0 30px #0004}body.guest-shell .app-layout #sidebar.is-open{transform:translateX(0);visibility:visible}.guest-shell .drawer-toggle{display:inline-grid}.guest-shell .topbar{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto}.guest-shell .brand{grid-column:2;grid-row:1}}
@media(max-width:700px){.guest-shell .topbar{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;grid-template-rows:auto auto;padding:10px 12px;gap:8px}.guest-shell .drawer-toggle{grid-column:1;grid-row:1}.guest-shell .brand{display:flex;position:absolute;grid-column:auto;grid-row:auto;left:50%;top:10px;transform:translateX(-50%);z-index:1}.guest-shell .brand>div{display:none}.guest-shell .brand-mark{width:40px;height:40px}.guest-shell .global-search{display:flex;grid-column:1/-1;grid-row:2;width:100%}.guest-shell .guest-signup-avatar{display:grid;grid-column:3;grid-row:1;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--raised);color:var(--muted);z-index:2}.guest-shell .guest-signup-avatar:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.guest-shell .guest-signup-avatar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.guest-shell .guest-topic-stream .topic-hero.is-condensed{position:sticky;top:var(--drawer-top,104px);z-index:25}body.guest-shell .app-layout{padding:14px 14px 48px}.guest-shell .guest-topic-stream .topic-hero{padding:16px}.guest-shell .guest-topic-stream .article-main{grid-template-columns:1fr;gap:10px}.guest-shell .guest-topic-stream .article-thumb,.guest-shell .guest-topic-stream .placeholder-mark{grid-row:1;height:180px}.guest-shell .guest-topic-stream .article-copy{grid-row:2}.guest-shell .guest-topic-stream .article-card{padding:14px}body.guest-shell .app-layout #sidebar{top:var(--drawer-top,56px)}}
@media(max-width:700px){body.guest-shell .guest-board-toolbar .guest-board-tools{display:grid;grid-template-columns:1fr;gap:8px}body.guest-shell .guest-topic-nav{align-items:stretch}body.guest-shell .guest-topic-nav .tnc-row1{width:100%}.guest-shell .guest-signal-header{flex-direction:row;align-items:center;gap:10px}.guest-shell .guest-signal-identity{flex:1}.guest-shell .guest-signal-actions{display:flex;align-items:center;gap:4px;flex:none}.guest-shell .guest-signal-actions .icon-action{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.guest-shell .guest-topic-stream .topic-hero-wrap{position:sticky;top:var(--drawer-top,104px);z-index:25}.guest-shell .guest-topic-stream .topic-hero{padding:14px 16px}.guest-shell .guest-topic-stream .topic-hero-metadata{margin-top:9px}}
@media(min-width:1081px){.guest-shell .guest-topic-stream .topic-hero-wrap{position:sticky;top:calc(var(--drawer-top,76px) + 14px);z-index:25}}
.guest-topic-nav .topic-nav-actions{margin-left:auto;flex:none}
.auth-value-list{margin:0 0 14px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--raised));color:var(--muted);font-size:.84rem;line-height:1.45}.auth-value-list strong{display:block;color:var(--fg);margin-bottom:5px}.auth-value-list ul{display:grid;gap:3px;margin:0;padding-left:18px}.auth-value-list li::marker{color:var(--accent)}
@media(max-width:700px){body.guest-shell .brand>div{display:block;min-width:0}body.guest-shell .brand strong{font-size:1rem;white-space:nowrap}body.guest-shell .brand span{display:block;font-size:.5rem;letter-spacing:.14em;white-space:nowrap}}
.guest-evidence-label{display:flex;align-items:baseline;gap:8px;min-width:0;white-space:nowrap}.guest-evidence-label .eyebrow{flex:none}.guest-evidence-label .guest-evidence-title{margin:0;font-size:1.1rem;font-weight:600;letter-spacing:-.02em}.guest-signup-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:10px 0 0;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:14px;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 13%,var(--raised)),var(--raised) 68%)}.guest-signup-card h3{margin:3px 0 5px;font-size:1.1rem}.guest-signup-card p:not(.eyebrow){max-width:58ch;margin:0;color:var(--muted);font-size:.9rem}.guest-signup-card .button{flex:none;white-space:nowrap}@media(max-width:700px){.guest-evidence-heading{align-items:flex-start;flex-direction:column}.guest-evidence-heading .guest-article-toolbar{margin-left:0;width:100%;flex:none}.guest-signup-card{align-items:flex-start;flex-direction:column;gap:12px}.guest-signup-card .button{width:100%;text-align:center}}

/* TDUX first-impression: an unlabeled silhouette reads like "my account", not
   "create one". Keep the compact account affordance, but give guests visible
   sign-up words at every breakpoint. */
body.guest-shell .guest-signup-avatar{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 11px;border:1px solid var(--border);border-radius:999px;background:var(--raised);color:var(--muted);font-size:.82rem;font-weight:750;line-height:1;white-space:nowrap}body.guest-shell .guest-signup-avatar:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}body.guest-shell .guest-signup-avatar svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.guest-signup-label{display:inline}
@media(min-width:1081px){body.guest-shell .guest-signup-avatar{grid-column:4;grid-row:1;width:auto;height:40px}}
@media(max-width:700px){.guest-shell .topbar{box-sizing:border-box;width:100%;grid-template-columns:40px minmax(0,1fr) auto}.guest-shell .guest-signup-avatar{grid-column:3;grid-row:1;width:auto;min-width:0;padding:0 9px;z-index:2}}

/* Guest controls stay comfortably tappable, while every unbounded identifier
   has a legal wrap point at the 320px reflow width. */
body.guest-shell .button,body.guest-shell select,body.guest-shell .topic-nav-main,body.guest-shell .global-search-clear{min-height:40px}.guest-shell .icon-action,.guest-shell .action-icon{min-width:24px;min-height:24px}.guest-shell .article-title,.guest-shell .article-excerpt,.guest-shell .topic-hero-title,.guest-shell .sd-row{overflow-wrap:anywhere;word-break:break-word}.guest-shell .sd-row[aria-selected="true"]{outline:2px solid var(--accent);outline-offset:-2px}
@media(min-width:480px){body.guest-shell .button,body.guest-shell select,body.guest-shell .topic-nav-main{min-height:44px}}
@media(max-width:359px){.app-layout{padding-left:8px;padding-right:8px}}
