/* AM-IA / Cyber editorial system. Public pages only. */
body.cyber-site{--wrap-pad:clamp(20px,4vw,64px);--bg-void:#070910;--bg-void-2:#0d101d;--bg-panel:#10141f;--bg-panel-2:#161b2c;--neon-cyan:#79ffe1;--neon-blue:#87a0ff;--neon-violet:#bd9bff;--text-primary:#f0f3ff;--text-secondary:#a0adc3;--text-dim:#8793ab;--border-soft:#a4b4e025;--border-glow:#79ffe180;--radius:12px;background:radial-gradient(ellipse at 90% 5%,#45327220,transparent 35%),var(--bg-void);overflow-x:clip}
:root[data-theme=light] body.cyber-site{--bg-void:#f1f4fa;--bg-void-2:#e6edf5;--bg-panel:#fff;--bg-panel-2:#f4f6fb;--text-primary:#171e33;--text-secondary:#495773;--text-dim:#647088;--neon-cyan:#007f71;--neon-blue:#3655bf;--neon-violet:#7544c7;--border-soft:#354c722b;--border-glow:#1479697a;background:radial-gradient(ellipse at 90% 2%,#b2a1ed33,transparent 38%),var(--bg-void)}
.cyber-site :focus-visible{outline:2px solid var(--neon-cyan);outline-offset:5px}.cyber-site .site-header{background:color-mix(in srgb,var(--bg-void) 87%,transparent);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-soft)}.cyber-site .header-inner{height:82px}.cyber-site .logo-lockup{font-size:24px;letter-spacing:-1px}.cyber-site .logo-badge{filter:drop-shadow(0 0 10px #79ffe140)}.cyber-site .main-nav a{font-size:12px;font-weight:500}.cyber-site .nav-desktop-links{gap:32px}.cyber-site .nav-desktop-links a.active{color:var(--neon-cyan)}.cyber-site .nav-account-link{border:1px solid var(--border-soft);border-radius:6px;padding:10px 16px}.cyber-site .ticker{background:var(--bg-panel);border-block:1px solid var(--border-soft);height:40px}.cyber-site .ticker-label{background:var(--bg-panel-2);color:var(--neon-cyan);font-size:10px;letter-spacing:.09em;padding-inline:24px}.cyber-site .ticker-item{font-size:11px}.cyber-site .ticker-item .tag{font-size:9px}.cyber-site .progress-bar-fill{background:linear-gradient(90deg,#79ffe1,#bd9bff);box-shadow:0 0 14px #79ffe1}
.cyber-site .hero{padding:82px 0 56px;min-height:710px;border-bottom:1px solid var(--border-soft);isolation:isolate}.cyber-site .hero-grid{grid-template-columns:1.08fr 1fr;align-items:center;gap:5%;justify-items:stretch}.cyber-site .hero-copy{max-width:760px;align-items:flex-start;text-align:left}.cyber-site .hero .eyebrow{background:none;border:none;border-radius:0;padding:0;letter-spacing:.1em;font-size:10px;line-height:1.8;gap:5px;max-width:500px;margin-bottom:27px}.cyber-site .eyebrow .acro{font-size:1em;color:inherit}.cyber-site .hero h1{font-size:clamp(43px,4.9vw,80px);letter-spacing:-.065em;line-height:1.04;margin-bottom:27px}.cyber-site .hero h1 .grad{background:linear-gradient(105deg,#79ffe1 10%,#96c7ff 55%,#c3a0ff);background-clip:text;-webkit-background-clip:text;color:transparent}.cyber-site .hero p.sub{max-width:570px;font-size:15px;line-height:1.85;margin-bottom:0}.cyber-hero-actions{display:flex;gap:27px;align-items:center;margin:30px 0 36px}.cyber-cta{background:#ccff6b;color:#152413;display:inline-flex;align-items:center;gap:34px;padding:16px 22px;font-size:13px;font-weight:700;border:1px solid #ccff6b;border-radius:5px;box-shadow:0 0 30px #ccff6b14;transition:box-shadow .25s,transform .25s}.cyber-cta:hover{transform:translateY(-3px);box-shadow:0 0 40px #ccff6b35}.cyber-cta span{font-size:22px;line-height:1}.cyber-secondary{font-size:12px;display:flex;gap:16px;align-items:center;color:var(--text-secondary)}.cyber-secondary:hover{color:var(--neon-cyan)}.cyber-site .hero-stats{justify-content:flex-start;gap:0;width:100%;max-width:540px;border-top:1px solid var(--border-soft);padding-top:24px}.cyber-site .stat{padding-right:30px;margin-right:30px;border-right:1px solid var(--border-soft)}.cyber-site .stat:last-child{border:0;padding:0;margin:0}.cyber-site .stat b{font-size:27px;line-height:1.2;letter-spacing:-1px}.cyber-site .stat span{display:block;font-size:8px;letter-spacing:.07em;margin-top:9px}.cyber-site .hero-copy .search-wrap{justify-content:flex-start;padding-top:30px;gap:8px}.cyber-site .search-field{max-width:540px;width:100%}.cyber-site .search-input{width:100%;border-radius:6px;background:var(--bg-panel);border:1px solid var(--border-soft);height:51px;font-size:12px;padding-left:45px}.cyber-site .search-input:focus{border-color:var(--neon-cyan);box-shadow:0 0 0 3px #79ffe111}.cyber-site .search-icon{font-size:0;width:15px;height:15px;border:1.7px solid var(--text-secondary);border-radius:50%;left:19px;top:16px;transform:none}.cyber-site .search-icon:after{content:'';position:absolute;width:6px;height:1.7px;background:var(--text-secondary);transform:rotate(45deg);right:-5px;bottom:-3px}.cyber-site .search-hint{font-size:11px}
.cyber-grid-plane{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#8eabdb09 1px,transparent 1px),linear-gradient(90deg,#8eabdb09 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}.cyber-grid-plane:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 48%,#9174ff13,transparent 55%)}.cyber-observatory{min-width:0;position:relative}.cyber-orb{position:relative;aspect-ratio:1;width:100%;max-width:590px;margin:auto;isolation:isolate;transform:perspective(1000px) rotateX(var(--orb-x,0deg)) rotateY(var(--orb-y,0deg));transition:transform .5s ease-out}.cyber-orb:before{content:'';position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle at 45% 35%,#b091ff25,transparent 52%),radial-gradient(circle at 50% 50%,#060d14 30%,#183d3a66 62%,#79ffe133 69%,transparent 70%);box-shadow:0 0 100px #79ffe10c;z-index:-1}.cyber-orb canvas{position:absolute;inset:0;width:100%;height:100%}.cyber-orbit{position:absolute;inset:7%;border:1px solid #79ffe14a;border-radius:50%;box-shadow:0 0 16px #79ffe10a;animation:cyber-orbit 24s linear infinite}.cyber-orbit:after{content:'';position:absolute;left:14%;top:14%;width:7px;height:7px;border-radius:50%;background:#bafff0;box-shadow:0 0 18px #79ffe1,0 0 4px #fff}.orbit-b{inset:1%;border-style:dashed;border-color:#bd9bff40;animation-duration:42s;animation-direction:reverse}.orbit-c{inset:21% -2%;transform:rotate(-27deg);border-color:#bd9bff60;animation:cyber-orbit-wide 32s linear infinite}.orbit-c:after{background:#bd9bff;box-shadow:0 0 15px #bd9bff}.cyber-orb-core{position:absolute;inset:37%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #9aeddf55;border-radius:22%;background:#08111bbb;backdrop-filter:blur(7px);box-shadow:0 0 40px #79ffe112,inset 0 0 24px #79ffe10c;color:#e5fff9;transform:rotate(-7deg)}.cyber-orb-core strong{font-family:var(--font-display);font-size:clamp(35px,5vw,76px);line-height:1.05;letter-spacing:-.08em}.cyber-orb-core>span,.cyber-orb-core small{font-family:var(--font-mono);font-size:10px;letter-spacing:.4em;color:#a1d1c8}.cyber-orb-label{position:absolute;background:color-mix(in srgb,var(--bg-panel) 85%,transparent);border:1px solid var(--border-soft);border-left:2px solid var(--neon-cyan);padding:10px 17px;font-family:var(--font-mono);font-size:10px;backdrop-filter:blur(10px);color:var(--text-primary);max-width:45%;animation:cyber-hover 6s ease-in-out infinite}.label-a{left:0;top:18%}.label-b{right:-1%;top:39%;border-left-color:var(--neon-violet);animation-delay:-2s}.label-c{left:8%;bottom:12%;animation-delay:-4s}.cyber-cross{position:absolute;color:var(--text-dim);font:22px var(--font-mono)}.cross-a{right:6%;top:4%}.cross-b{left:1%;bottom:5%}.cyber-instrument{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border-soft);margin:17px 0 0;padding-top:17px;font:9px var(--font-mono);letter-spacing:.05em;color:var(--text-dim)}.cyber-instrument button{color:var(--text-secondary);background:none;border:0;font:inherit;text-decoration:underline;text-underline-offset:4px;min-height:26px;text-align:right}.cyber-instrument button:hover{color:var(--neon-cyan)}
.cyber-feed-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:55px 0 30px}.cyber-kicker{color:var(--neon-cyan);font:9px var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.cyber-feed-heading h2{font:700 clamp(28px,2.8vw,43px)/1.15 var(--font-display);letter-spacing:-.05em;margin-top:14px}.cyber-feed-note{font-size:12px;color:var(--text-secondary);padding-bottom:3px}#cyber-feed{scroll-margin-top:95px}.cyber-site .filters{padding:0 0 22px;gap:8px;justify-content:flex-start;border-bottom:1px solid var(--border-soft)}.cyber-site .filter-btn{border-radius:5px;padding:9px 12px;font-size:10px;box-shadow:none;background:var(--bg-panel);transition:background .2s,border-color .2s,transform .2s}.cyber-site .filter-btn.active{background:var(--neon-cyan);color:var(--bg-void);border-color:var(--neon-cyan);box-shadow:0 0 22px #79ffe11c}.cyber-site .filter-btn:hover{transform:translateY(-2px)}.cyber-site .filter-count{font-size:9px}.cyber-site .archives-bar{justify-content:flex-start;padding:20px 0 0;font-size:11px}.cyber-site .archives-toggle-btn{border-radius:5px;font-size:10px}.cyber-site .feed{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:25px}.cyber-site .card[data-type]{background:linear-gradient(150deg,color-mix(in srgb,var(--card-accent) 6%,var(--bg-panel)),var(--bg-panel));border:1px solid var(--border-soft);border-top:2px solid color-mix(in srgb,var(--card-accent) 68%,var(--border-soft));border-radius:10px;min-width:0;transition:transform .4s,box-shadow .4s,border-color .4s,opacity .6s}.cyber-site .card[data-type]:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--card-accent) 65%,var(--border-glow));box-shadow:0 16px 50px #0003,0 0 25px color-mix(in srgb,var(--card-accent) 10%,transparent)}.cyber-site .card-inner{padding:26px;gap:19px;height:100%;background:transparent}.cyber-site .card-inner:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(350px circle at var(--shine-x,50%) var(--shine-y,0%),color-mix(in srgb,var(--card-accent) 10%,transparent),transparent 70%);opacity:0;transition:opacity .4s}.cyber-site .card:hover .card-inner:before{opacity:1}.cyber-site .card h3{font-size:19px;line-height:1.4;letter-spacing:-.035em}.cyber-site .card p.excerpt{font-size:13px;line-height:1.85;color:var(--text-secondary)}.cyber-site .card-top{gap:10px;flex-wrap:wrap}.cyber-site .badge{border-radius:3px;font-size:8px;letter-spacing:.1em;padding:5px 8px}.cyber-site .card-date{font-size:9px}.cyber-site .card-meta{min-width:0}.cyber-site .fav-btn{top:12px;right:12px}.cyber-site .card-top{padding-right:22px}.cyber-site .ad-slot{border-style:dashed!important}.cyber-site .ad-cta{border-radius:5px;font-size:12px}.cyber-site .card.cyber-reveal{opacity:.15;transform:translateY(28px)}.cyber-site .card:focus-within{opacity:1;transform:none}.cyber-site footer{padding-block:55px;background:linear-gradient(180deg,var(--bg-void),var(--bg-panel));border-top:1px solid var(--border-soft)}.cyber-site .footer-inner p{color:var(--text-secondary)}.cyber-site .back-to-top{border-radius:8px}.cyber-site .auth-modal{background:var(--bg-panel);border:1px solid var(--border-glow);box-shadow:0 0 80px #79ffe110;border-radius:16px}.cyber-site .auth-overlay{backdrop-filter:blur(9px)}
.cyber-site .article-header{padding:70px 0 45px;background:radial-gradient(ellipse at 50% 0%,#8973ea15,transparent 70%)}.cyber-site .article-header .wrap{max-width:1040px}.cyber-site .article-header h1{font-size:clamp(30px,3.4vw,51px);letter-spacing:-.055em;line-height:1.18;margin-top:28px}.cyber-site .article-meta{font:11px var(--font-mono);line-height:1.7}.cyber-site .article-content{font-size:17px;line-height:1.9;max-width:940px}.cyber-site .article-content h2{letter-spacing:-.035em;color:var(--text-primary)}.cyber-site .article-content .source-link{padding:28px;border-radius:10px;background:var(--bg-panel);border-color:var(--border-glow)}.cyber-site .article-content .source-link a{border-radius:5px}.cyber-site .article-content blockquote{border-left:2px solid var(--neon-cyan);padding:20px 24px;background:var(--bg-panel);margin-block:25px}
:root[data-theme=light] .cyber-site .hero h1 .grad{background-image:linear-gradient(105deg,#007f71,#3655bf,#7544c7)}:root[data-theme=light] .cyber-orb:before{background:radial-gradient(circle,#bdd8e44d,#e0d8f788 65%,transparent 70%)}:root[data-theme=light] .cyber-orbit{border-color:#147e7950}:root[data-theme=light] .cyber-orb-core{background:#e6f2f4bf;color:#173b49}:root[data-theme=light] .cyber-orb-core>span,:root[data-theme=light] .cyber-orb-core small{color:#47667b}
@media(min-width:1150px){.cyber-site .feed>.card[data-id]:first-child{grid-column:span 2;background:radial-gradient(ellipse at 100% 100%,#7762cd14,transparent 65%),var(--bg-panel)}.cyber-site .feed>.card[data-id]:first-child h3{font-size:28px;max-width:690px}.cyber-site .feed>.card[data-id]:first-child .card-inner{padding:32px}.cyber-site .feed>.card[data-id]:first-child .excerpt{max-width:690px}}
@media(max-width:1149px){.cyber-site .feed{grid-template-columns:repeat(2,minmax(0,1fr))}.cyber-site .hero h1{font-size:51px}.cyber-site .stat{margin-right:18px;padding-right:18px}.cyber-site .hero p.sub{font-size:13px}.cyber-site .hero{padding-top:58px;min-height:0}.cyber-site .hero-grid{gap:3%}.cyber-site .hero .eyebrow{font-size:9px}}
@media(max-width:860px){.cyber-site .header-inner{height:68px}.cyber-site .hero-grid{grid-template-columns:1fr}.cyber-site .hero-copy{max-width:650px}.cyber-site .hero h1{font-size:clamp(43px,8vw,67px)}.cyber-site .hero{padding:43px 0 32px}.cyber-site .hero p.sub{font-size:14px}.cyber-site .hero .eyebrow{max-width:480px}.cyber-observatory{max-width:430px;width:100%;justify-self:center;margin-top:40px}.cyber-site .hero-stats{max-width:100%}.cyber-site .search-field{max-width:100%}.cyber-site .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:17px;scrollbar-width:thin}.cyber-site .filter-btn{flex-shrink:0}.cyber-feed-heading{padding-top:38px}.cyber-feed-note{display:none}.cyber-site .ticker-label{padding-inline:14px}.cyber-site .main-nav .nav-account-link{margin:12px}.cyber-site .archives-bar{flex-wrap:wrap;gap:12px}.cyber-site .card-inner{padding:23px}.cyber-site .hero-grid{gap:0}.cyber-site .article-header{padding-top:40px}}
@media(max-width:600px){.cyber-site .feed{grid-template-columns:1fr;gap:17px}.cyber-site .hero h1{font-size:clamp(39px,10.5vw,59px)}.cyber-site .hero .eyebrow{font-size:8px;margin-bottom:23px}.cyber-site .hero-stats{justify-content:space-between}.cyber-site .stat{padding-right:15px;margin-right:0}.cyber-site .stat b{font-size:24px}.cyber-site .stat span{font-size:7px}.cyber-site .hero p.sub{font-size:13px}.cyber-hero-actions{gap:24px;margin-block:26px}.cyber-cta{font-size:12px;gap:25px;padding:14px 18px}.cyber-secondary{font-size:11px}.cyber-observatory{margin-top:30px;max-width:360px}.cyber-orb-label{font-size:8px;padding:8px 11px}.cyber-instrument{font-size:8px}.cyber-site .card h3{font-size:20px}.cyber-site .article-content{font-size:16px}.cyber-site .article-header h1{font-size:31px}.cyber-site .logo-lockup{font-size:20px}}
@keyframes cyber-orbit{to{transform:rotate(360deg)}}@keyframes cyber-orbit-wide{0%{transform:rotate(-27deg)}50%{transform:rotate(12deg)}100%{transform:rotate(-27deg)}}@keyframes cyber-hover{0%,100%{translate:0 0}50%{translate:0 -10px}}
:root[data-cyber-motion=off] .cyber-site *{animation-play-state:paused!important;scroll-behavior:auto!important}:root[data-cyber-motion=off] .cyber-site .card.cyber-reveal{opacity:1;transform:none}:root[data-cyber-motion=off] .cyber-orb{transform:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.cyber-site *,.cyber-site *:before,.cyber-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cyber-site .card.cyber-reveal{opacity:1;transform:none}.cyber-orb{transform:none!important}}
/* Keep fixed mobile navigation relative to the viewport, not a filtered header. */
body.cyber-site{--header-h:82px;--ticker-h:40px}.cyber-site .site-header{background:transparent;backdrop-filter:none}.cyber-site .site-header:before{background:color-mix(in srgb,var(--bg-void) 88%,transparent);backdrop-filter:blur(20px)}
@media(max-width:860px){body.cyber-site{--header-h:68px}.cyber-site:not(:has(.ticker)) .site-header{top:0}}

/* Desktop categories stay below the header and live-news ribbon. */
@media (min-width:861px) {
  .cyber-site .filters {
    position:sticky;
    top:calc(var(--header-h) + var(--ticker-h));
    z-index:54;
    margin-inline:calc(-1 * var(--wrap-pad));
    padding:14px var(--wrap-pad);
    background:var(--bg-void);
    box-shadow:0 12px 24px #00000012;
  }
}

/* Desktop wheel-operated topic orbit; existing category filters remain available. */
.topic-ring-stage{position:relative}.topic-ring,.topic-ring-hint{display:none}
@media(min-width:1000px) and (hover:hover) and (pointer:fine){
.topic-ring-stage{isolation:isolate;aspect-ratio:1;max-width:590px;margin-inline:auto}
.topic-ring-stage .cyber-orb{width:100%}
.topic-ring-stage .cyber-orb-label{display:none}
.topic-ring{display:block;position:absolute;inset:0;pointer-events:none}
.topic-ring-item{position:absolute;pointer-events:auto;display:flex;gap:5px;align-items:center;justify-content:center;max-width:132px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--bg-panel);color:var(--text-primary);font:10px var(--font-mono);text-decoration:none;text-align:center;transform:translate(-50%,-50%) scale(calc(.78 + var(--topic-depth)*.22));opacity:calc(.4 + var(--topic-depth)*.6);box-shadow:0 3px 18px #0003}
.topic-ring-item .filter-count{font-size:8px;opacity:.65}
.topic-ring-item:hover,.topic-ring-item:focus-visible,.topic-ring-item[aria-current]{opacity:1;border-color:var(--neon-cyan);color:var(--neon-cyan);outline:2px solid var(--neon-cyan);outline-offset:3px;z-index:20!important}
.topic-ring-hint{display:block;text-align:center;font:10px var(--font-mono);color:var(--text-secondary);margin:36px 0 18px}
}

@media(min-width:1000px) and (hover:hover) and (pointer:fine){
/* The topic centers follow orbit-a, at 34% of the globe's width/height. */
.topic-ring-stage .orbit-a{inset:16%}
.topic-ring-item{color:var(--card-accent,var(--text-primary));border-color:color-mix(in srgb,var(--card-accent,var(--text-primary)) 65%,transparent);padding:7px 9px;font-size:9px;max-width:115px;background:color-mix(in srgb,var(--card-accent,var(--text-primary)) 8%,var(--bg-panel))}
.topic-ring-item:hover,.topic-ring-item:focus-visible,.topic-ring-item[aria-current]{color:var(--card-accent);border-color:var(--card-accent);outline-color:var(--card-accent)}
}

/* Topic emphasis: pointer on desktop, centered item on the mobile rail. */
.topic-ring-item{transition:transform .18s ease,opacity .18s ease}
@media(hover:hover) and (pointer:fine){
.topic-ring-item:hover,.topic-ring-item:focus-visible{transform:translate(-50%,-50%) scale(1.625);opacity:1;z-index:30!important}
.cyber-site .filter-btn:hover,.cyber-site .filter-btn:focus-visible{transform:scale(1.4375);position:relative;z-index:2}
}
@media(max-width:860px){
.cyber-site #filters{display:flex;flex-wrap:nowrap;align-items:center;gap:24px;overflow-x:auto;overflow-y:hidden;max-width:100%;box-sizing:border-box;padding:20px var(--rail-end,16px) 24px var(--rail-start,16px);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}
.cyber-site #filters .filter-btn{flex:0 0 auto;white-space:nowrap;scroll-snap-align:center;transform:scale(1);transform-origin:center;transition:transform .18s ease;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.cyber-site #filters .filter-btn.is-centered{transform:scale(1.5);position:relative;z-index:2}
}
@media(prefers-reduced-motion:reduce){.topic-ring-item,.cyber-site #filters .filter-btn{transition:none!important}}

.radial-handle{display:none}.radial-dialog:not([open]){display:none}
@media(max-width:860px){
.radial-handle{display:flex;position:fixed;right:0;top:55%;z-index:80;align-items:center;gap:7px;writing-mode:vertical-rl;border:1px solid var(--neon-violet);border-right:0;border-radius:14px 0 0 14px;background:var(--bg-panel);color:var(--text-primary);padding:18px 10px;min-width:44px;min-height:105px;font:600 11px var(--font-mono);box-shadow:-4px 0 22px #0003;touch-action:none}
.radial-handle:before{content:'‹';writing-mode:horizontal-tb;font-size:24px;color:var(--neon-cyan)}
.radial-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--text-primary);overflow:hidden}
.radial-dialog::backdrop{background:#030914c9;backdrop-filter:blur(9px)}
.radial-panel{position:absolute;inset:0;background:var(--bg-void);animation:radial-enter .32s cubic-bezier(.2,.8,.2,1) both;padding: max(20px,env(safe-area-inset-top)) 12px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;box-sizing:border-box}
.radial-dialog.is-leaving .radial-panel{animation:radial-exit .28s ease-in both}
.radial-heading{font:600 19px var(--font-display);margin:12px 50px 6px 16px}.radial-help{font:11px var(--font-mono);color:var(--text-secondary);margin:0 16px 12px;max-width:75%}
.radial-close{position:absolute;right:16px;top:max(20px,env(safe-area-inset-top));width:44px;height:44px;border:1px solid var(--border-soft);border-radius:50%;background:var(--bg-panel);color:var(--text-primary);font-size:26px}
.radial-wheel{position:relative;flex:1;min-height:0;touch-action:none;user-select:none;isolation:isolate}
.radial-wheel:before{content:'';position:absolute;inset:11% 18%;border:1px solid var(--border-soft);border-radius:50%;pointer-events:none}
.radial-wheel:after{content:'AM—IA';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:600 20px var(--font-display);color:var(--neon-violet);pointer-events:none}
.radial-topic{position:absolute;transform:translate(-50%,-50%);width:94px;min-height:44px;padding:6px 5px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--radial-color);border-radius:9px;background:var(--bg-panel);color:var(--text-primary);font:600 10px var(--font-mono);text-decoration:none;overflow-wrap:anywhere}
.radial-topic .filter-count{display:none}.radial-topic[aria-current],.radial-topic:focus-visible{outline:2px solid var(--radial-color);outline-offset:3px;background:color-mix(in srgb,var(--radial-color) 20%,var(--bg-panel));z-index:2}
}
@keyframes radial-enter{from{transform:translateX(100%);opacity:.4}to{transform:translateX(0);opacity:1}}
@keyframes radial-exit{to{transform:translateX(100%);opacity:0}}
@media(prefers-reduced-motion:reduce){.radial-panel,.radial-dialog.is-leaving .radial-panel{animation:none}}
@media(max-width:360px),(max-width:860px) and (max-height:700px){
.radial-topic{width:76px;min-height:40px;font-size:9px;padding:5px 3px}
}

/* Mobile half-wheel enters from the right; the page stays visible behind it. */
@media(max-width:860px){
.radial-dialog::backdrop{background:#03091480;backdrop-filter:blur(4px)}
.radial-panel{background:transparent;padding: max(20px,env(safe-area-inset-top)) 0 max(20px,env(safe-area-inset-bottom));animation:radial-enter .48s cubic-bezier(.16,1,.3,1) both}
.radial-dialog.is-leaving .radial-panel{animation:radial-exit .42s cubic-bezier(.4,0,.2,1) both}
.radial-heading,.radial-help{margin-left:24px;text-shadow:0 2px 8px #000}
.radial-wheel{overflow:hidden;contain:layout paint}
.radial-wheel:before{inset:auto;left:auto;right:12px;top:50%;width:var(--radial-radius);height:calc(2 * var(--radial-radius));transform:translateY(-50%);border-radius:999px 0 0 999px;border-right:0;background:color-mix(in srgb,var(--bg-panel) 94%,transparent);box-shadow:-12px 0 55px #0005}
.radial-wheel:after{left:auto;right:28px;transform:translateY(-50%);font-size:16px}
.radial-topic{width:112px;min-height:44px;font-size:10px;padding:7px 5px;will-change:transform;box-shadow:0 5px 16px #0004}
}
@media(prefers-reduced-motion:reduce){.radial-panel,.radial-dialog.is-leaving .radial-panel{animation:none}}

@media(max-width:860px){
.radial-wheel:after{display:none}
.radial-reset{position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:5;display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;border:2px solid var(--neon-cyan);background:var(--bg-panel);color:var(--neon-cyan);font:700 13px var(--font-mono);text-decoration:none;box-shadow:0 0 24px #79ffe119;touch-action:manipulation}
.radial-reset:focus-visible{outline:2px solid var(--text-primary);outline-offset:5px}
}

/* Explicit directions, replayed on every dialog opening. */
@media(max-width:860px){
.radial-dialog .radial-panel{animation:none;transform:translateX(100%)}
.radial-dialog[open].is-entering:not(.is-leaving) .radial-panel{animation:radial-from-right .85s cubic-bezier(.25,.1,.25,1) both}
.radial-dialog[open].is-leaving .radial-panel{animation:radial-to-right .65s cubic-bezier(.25,.1,.25,1) both}
}
@keyframes radial-from-right{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes radial-to-right{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}
@media(prefers-reduced-motion:reduce){
.radial-dialog[open] .radial-panel{animation:none!important;transform:translateX(0)}
}

@media(max-width:860px){
.radial-dialog::backdrop{backdrop-filter:none;background:#030914b3}
.radial-panel{will-change:transform,opacity;backface-visibility:hidden}
}

/* Functional drawer motion is controlled as a single horizontal slide. */
@media(max-width:860px){
.radial-dialog .radial-panel,.radial-dialog[open] .radial-panel{animation:none!important;transition:none!important;transform:translate3d(0,0,0);opacity:1;will-change:transform}
}
/* On mobile the radial menu replaces the category rail above the feed.
   Keep its DOM as the shared source for category links and AJAX updates. */
@media(max-width:860px){
.cyber-site #filters{display:none}
}

/* Desktop header: account avatar immediately before reading progress. */
.header-account-avatar{display:none}
@media(min-width:861px){
.cyber-site .site-header .main-nav{display:none}
.cyber-site .header-actions{margin-left:auto}
.cyber-site .header-account-avatar{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;flex:0 0 54px;border:1px solid var(--border-soft);border-radius:50%;background:var(--bg-panel);color:var(--text-primary);text-decoration:none;transition:border-color .2s,background .2s}
.cyber-site .header-account-avatar:hover{border-color:var(--neon-violet);background:var(--bg-panel-2)}
}

@media(min-width:861px){
.cyber-site .header-account-avatar svg{width:36px;height:36px}
}

.header-stats-slot,.header-search-slot{display:none}
@media(min-width:861px){
.cyber-site .header-inner:has(.header-search-slot){gap:18px}
.header-stats-slot{display:block;flex:0 1 auto;min-width:0}
.header-search-slot{display:block;flex:1 1 230px;min-width:180px}
.cyber-site .header-stats-slot .hero-stats{flex-wrap:nowrap;gap:14px;margin:0;justify-content:flex-start}
.cyber-site .header-stats-slot .stat{padding:0;margin:0;border:0}
.cyber-site .header-stats-slot .stat b{font-size:16px;line-height:1.3}
.cyber-site .header-stats-slot .stat span{display:block;font-size:10px;letter-spacing:0;white-space:nowrap}
.header-search-slot .search-wrap{position:relative;display:block;padding:0;margin:0;width:50%}
.header-search-slot .search-field{display:block;width:100%;max-width:none}
.header-search-slot .search-input{width:100%;min-width:0;font-size:11px;height:42px}
.header-search-slot .search-hint{position:absolute;top:100%;left:0;font-size:9px;background:var(--bg-void);padding:2px 6px;max-width:100%;border-radius:3px}
.header-search-slot .search-hint:empty{display:none}
}
@media(min-width:861px) and (max-width:1200px){
body.cyber-site:has(.header-search-slot){--header-h:140px}
.cyber-site .header-inner:has(.header-search-slot){height:140px;flex-wrap:wrap;gap:8px 16px;padding-top:10px;padding-bottom:10px}
.header-search-slot{order:5;flex:1 0 100%}
.cyber-site .header-stats-slot{margin-right:auto}
}

/* Mobile topic wheel: brushed metal, fine grid and static neon reflections. */
@media (max-width:860px) {
  .radial-wheel::before {
    background-color:var(--bg-panel);
    background-image:
      radial-gradient(ellipse at 8% 30%,#79ffe12b,transparent 60%),
      radial-gradient(ellipse at 92% 80%,#bd9bff30,transparent 65%),
      repeating-linear-gradient(0deg,#ffffff08 0 1px,#0000000a 1px 3px,transparent 3px 5px),
      linear-gradient(#a4b4e012 1px,transparent 1px),
      linear-gradient(90deg,#a4b4e012 1px,transparent 1px),
      linear-gradient(125deg,#ffffff0a,transparent 38%,#00000020 70%,#ffffff08);
    background-size:auto,auto,auto,24px 24px,24px 24px,auto;
    border-color:color-mix(in srgb,var(--neon-cyan) 28%,var(--border-soft));
    box-shadow:-12px 0 55px #0005,inset 2px 0 2px #ffffff14,inset 12px 0 35px #79ffe109;
  }
}

/* Colonne centrée : au-delà de --site-max, le contenu reste au milieu de l'écran et
   les marges latérales sont libres pour un habillage (fond de body.cyber-site, ex.
   pour les fêtes) ou des bannières. Le bandeau défilant reste d'un bord à l'autre. */
body.cyber-site{--site-max:1600px}
.cyber-site .wrap{max-width:var(--site-max)}

/* Emplacements de bannières à gauche et à droite de la colonne (index.php, article.php).
   Vides et invisibles par défaut : ils ne s'affichent que s'ils ont du contenu ET que
   chaque marge peut accueillir au moins un format 160px (1600 + 2 × 170 = 1940px). */
.site-rail{display:none}
@media(min-width:1940px){
.site-rail:not(:empty){display:flex;flex-direction:column;align-items:center;gap:16px;position:fixed;z-index:40;top:calc(var(--ticker-h) + var(--header-h) + 24px);width:min(300px,calc((100vw - var(--site-max))/2 - 20px))}
.site-rail-left{right:calc(50% + var(--site-max)/2 + 10px)}
.site-rail-right{left:calc(50% + var(--site-max)/2 + 10px)}
}
