/* AIOptiTech star-cluster theme (staged 2026-10-11). Loaded after style.css. Light/dark via html[data-theme], key aioptitech-theme (site.js). */
html:root,html:root[data-theme="dark"]{--bg:#03040a;--bg-elevated:rgba(8,10,20,.78);--bg-card:rgba(16,19,34,.72);--bg-card-hover:rgba(24,28,48,.8);--bg-soft:rgba(140,170,255,.04);--text:#f5f7ff;--muted:#a9b0c8;--cyan:#5fd4ff;--blue:#3ec5ff;--line:rgba(140,170,255,.16);--glow:rgba(62,197,255,.25);--hero-glow-1:rgba(62,140,255,.18);--hero-glow-2:rgba(255,60,40,.12);--btn-primary-text:#02121e;--warn:#ffc857;--bad:#ff6b5e;--st-done:#5fd4ff;--st-in_progress:#ffc857;--st-not_started:#a9b0c8;--st-unknown:#a9b0c8;--st-stuck:#ff6b5e;--st-gold:#ffc857;--st-red:#ff6b5e;--st-amber:#ffb347;--st-violet:#c9a7ff}
html:root[data-theme="light"]{--bg:#eef1f8;--bg-elevated:rgba(238,241,248,.9);--bg-card:#ffffff;--bg-card-hover:#f6f8fd;--bg-soft:rgba(20,30,60,.03);--text:#0a0d18;--muted:#454c63;--cyan:#0a62b8;--blue:#1546a8;--line:rgba(20,30,60,.14);--glow:rgba(10,98,184,.15);--hero-glow-1:rgba(62,140,255,.10);--hero-glow-2:rgba(255,150,40,.08);--btn-primary-text:#fff;--warn:#9a5a00;--bad:#b3261e;--st-done:#0a62b8;--st-in_progress:#9a5a00;--st-not_started:#454c63;--st-unknown:#454c63;--st-stuck:#b3261e;--st-gold:#9a5a00;--st-red:#b3261e;--st-amber:#a8590a;--st-violet:#6b3fb8}
html{background:var(--bg)}
body{background:transparent!important;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
radial-gradient(1px 1px at 12% 18%,#fff,transparent),radial-gradient(1.5px 1.5px at 33% 72%,#9cd2ff,transparent),radial-gradient(2px 2px at 58% 34%,#ffe7a8,transparent),radial-gradient(1px 1px at 77% 82%,#ffb36b,transparent),radial-gradient(1.5px 1.5px at 88% 12%,#fff,transparent),radial-gradient(1px 1px at 6% 58%,#ff8a5c,transparent),radial-gradient(1px 1px at 45% 8%,#bfe3ff,transparent),radial-gradient(2.5px 2.5px at 66% 60%,#fff6,transparent),radial-gradient(1px 1px at 22% 44%,#ffd27a,transparent),
radial-gradient(700px 260px at 78% 8%,rgba(220,40,30,.16),transparent 70%),radial-gradient(600px 300px at 10% 95%,rgba(200,50,40,.12),transparent 70%),radial-gradient(800px 500px at 50% 50%,rgba(40,70,160,.10),transparent 70%);
background-size:180px 180px,260px 260px,330px 330px,220px 220px,410px 410px,290px 290px,240px 240px,500px 500px,200px 200px,100% 100%,100% 100%,100% 100%}
html[data-theme="light"] body::before{background:radial-gradient(800px 400px at 80% -10%,rgba(62,140,255,.10),transparent 65%),radial-gradient(600px 300px at 0 100%,rgba(255,150,40,.08),transparent 65%)}
a{color:var(--cyan)}
h1{color:var(--text)}
/* glassy panels and cards */
.panel,.card,.box,.col,.lane,.tile,section.card{background:var(--bg-card)!important;border:1px solid var(--line)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html[data-theme="light"] .panel,html[data-theme="light"] .card{backdrop-filter:none;box-shadow:0 8px 22px rgba(20,30,60,.08)}
.ph,.ph span,.panel>h2{color:#ffc857}
html[data-theme="light"] .ph,html[data-theme="light"] .ph span,html[data-theme="light"] .panel>h2{color:#9a5a00}
/* multicolor accents rotate through cards */
.parts>.card,.grid>.card,.cards>.card{--cc:#3ec5ff;border-top:3px solid var(--cc)!important;transition:box-shadow .15s,transform .15s}
.parts>.card:nth-child(6n+2),.grid>.card:nth-child(6n+2),.cards>.card:nth-child(6n+2){--cc:#ffc857}
.parts>.card:nth-child(6n+3),.grid>.card:nth-child(6n+3),.cards>.card:nth-child(6n+3){--cc:#ff8c42}
.parts>.card:nth-child(6n+4),.grid>.card:nth-child(6n+4),.cards>.card:nth-child(6n+4){--cc:#ff5d73}
.parts>.card:nth-child(6n+5),.grid>.card:nth-child(6n+5),.cards>.card:nth-child(6n+5){--cc:#c9a7ff}
.parts>.card:nth-child(6n+6),.grid>.card:nth-child(6n+6),.cards>.card:nth-child(6n+6){--cc:#5fe0c8}
.parts>.card:hover,.grid>.card:hover,.cards>.card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 22px color-mix(in srgb,var(--cc) 50%,transparent)}
html[data-theme="light"] .parts>.card:hover{box-shadow:0 12px 28px rgba(20,30,60,.14),0 0 0 1px color-mix(in srgb,var(--cc) 50%,transparent)}
.card h3{color:var(--text)}
/* glowing pills, badges, toggle */
.badge,.pill,.tag,.chip{box-shadow:0 0 10px color-mix(in srgb,currentColor 35%,transparent)}
.theme-toggle{background:rgba(16,19,34,.7)!important;color:var(--text)!important;border:1px solid var(--line)!important;box-shadow:0 0 12px rgba(62,197,255,.25)}
html[data-theme="light"] .theme-toggle{background:#fff!important;box-shadow:none}
.chart svg rect{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--cyan) 50%,transparent))}
footer{color:var(--muted)}

/* public-site extras */
html:root,html:root[data-theme="dark"]{--header-border:rgba(140,170,255,.10);--toggle-bg:rgba(16,19,34,.7);--toggle-border:rgba(140,170,255,.25);--btn-primary-shadow:0 0 0 1px rgba(62,197,255,.25),0 10px 30px rgba(62,197,255,.25);--free:#3ec5ff;--free-bg:rgba(62,197,255,.12);--free-line:rgba(62,197,255,.5);--lock:#ffc857;--lock-bg:rgba(255,200,87,.10);--lock-line:rgba(255,179,71,.5);--star:#ffd27a;--max:1680px}
html:root[data-theme="light"]{--header-border:rgba(20,30,60,.08);--toggle-bg:#fff;--toggle-border:rgba(20,30,60,.18);--btn-primary-shadow:0 8px 22px rgba(10,98,184,.2);--free:#0a62b8;--free-bg:rgba(10,98,184,.08);--free-line:rgba(10,98,184,.35);--lock:#9a5a00;--lock-bg:rgba(154,90,0,.08);--lock-line:rgba(154,90,0,.35)}
.hero h1 span{background:linear-gradient(90deg,#3ec5ff,#ffc857 55%,#ff8c42);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="light"] .hero h1 span{background:linear-gradient(90deg,#0a62b8,#9a5a00 60%,#b3261e);-webkit-background-clip:text;background-clip:text}
.badge.free{box-shadow:0 0 12px rgba(62,197,255,.45)}
.badge.lock{box-shadow:0 0 12px rgba(255,179,71,.4)}
.item,.bot-card,.worker,.privacy-doc{background:var(--bg-card)!important;border:1px solid var(--line)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:box-shadow .15s,transform .15s}
.cat{--cc:#3ec5ff}.cat:nth-of-type(6n+2){--cc:#ffc857}.cat:nth-of-type(6n+3){--cc:#ff8c42}.cat:nth-of-type(6n+4){--cc:#ff5d73}.cat:nth-of-type(6n+5){--cc:#c9a7ff}.cat:nth-of-type(6n+6){--cc:#5fe0c8}
.cat .item{border-top:3px solid var(--cc)!important}
.cat .item:hover,.bot-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 22px color-mix(in srgb,var(--cc,#3ec5ff) 45%,transparent)}
.cat-head h2{color:var(--text)}.cat-head h2::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--cc);box-shadow:0 0 10px var(--cc);margin-right:.5em;vertical-align:.1em}
header{background:rgba(3,4,10,.72)!important}
html[data-theme="light"] header{background:rgba(238,241,248,.88)!important}
html[data-theme="light"] .item,html[data-theme="light"] .bot-card{backdrop-filter:none}
/* Library app shell: page doesn't scroll, catalog scrolls in its frame */
@media (min-width:900px){
 body.lib-shell{height:100dvh;overflow:hidden;display:grid;grid-template-columns:270px 1fr;grid-template-rows:auto 1fr auto}
 body.lib-shell>header{grid-column:1/-1;position:relative}
 body.lib-shell>nav.catnav{grid-column:1;grid-row:2;overflow:auto;position:static;border-right:1px solid var(--line);background:rgba(10,12,22,.55);padding:1rem .6rem}
 html[data-theme="light"] body.lib-shell>nav.catnav{background:#e3e7f2}
 body.lib-shell>nav.catnav .wrap{width:auto;margin:0}
 body.lib-shell>nav.catnav ul{display:flex!important;flex-direction:column;gap:.15rem;overflow:visible!important;white-space:normal}
 body.lib-shell>nav.catnav a{display:flex;justify-content:space-between;gap:.5rem;padding:.42rem .65rem;border-radius:9px;border-left:3px solid var(--cc,#3ec5ff)}
 body.lib-shell>nav.catnav a:hover,body.lib-shell>nav.catnav a.on{background:color-mix(in srgb,var(--cc,#3ec5ff) 18%,transparent)}
 body.lib-shell>main{grid-column:2;grid-row:2;overflow:auto;width:auto;margin:0;padding:0 1.6rem 2rem;scroll-padding-top:4rem;scroll-behavior:smooth}
 body.lib-shell>footer{grid-column:1/-1;grid-row:3;margin:0;padding:.4rem 0;font-size:.75rem}
 body.lib-shell .tools{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);padding:.6rem 0}
 body.lib-shell .cat-head{position:sticky;top:3.6rem;z-index:4;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(6px)}
 body.lib-shell .items{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}
}
body.lib-shell nav.catnav li:nth-child(6n+1) a{--cc:#3ec5ff}body.lib-shell nav.catnav li:nth-child(6n+2) a{--cc:#ffc857}body.lib-shell nav.catnav li:nth-child(6n+3) a{--cc:#ff8c42}body.lib-shell nav.catnav li:nth-child(6n+4) a{--cc:#ff5d73}body.lib-shell nav.catnav li:nth-child(6n+5) a{--cc:#c9a7ff}body.lib-shell nav.catnav li:nth-child(6n+6) a{--cc:#5fe0c8}
.kbd-hint{font:600 .72rem ui-monospace,monospace;border:1px solid var(--line);border-radius:6px;padding:.05rem .4rem;color:var(--muted);margin-left:.4rem}
