/* Athena hub. Light/dark follow the system (or the toggle); five accent colours. No external fonts or scripts. */
:root{--bg:#f6f7fc;--bg2:#eceffa;--panel:#fff;--ink:#141a33;--mute:#59628a;--line:#dde2f2;--acc:#0aa89b;--acc2:#7a6cf0;--on-acc:#fff;--ok:#1f9d63;--warn:#b87400;--bad:#d64545;--r:18px;--shadow:0 10px 34px rgba(20,26,51,.09);--grad:linear-gradient(135deg,var(--acc),var(--acc2));--hero:radial-gradient(1200px 500px at 15% -10%,color-mix(in srgb,var(--acc) 22%,transparent),transparent),radial-gradient(900px 500px at 95% 0,color-mix(in srgb,var(--acc2) 20%,transparent),transparent)}
@media(prefers-color-scheme:dark){:root:not([data-mode="light"]){--bg:#0b1020;--bg2:#111935;--panel:#141d3b;--ink:#eef1ff;--mute:#a3acd0;--line:#26305a;--acc:#19d3c4;--acc2:#9d8cff;--on-acc:#06122a;--ok:#4ade9a;--warn:#f5b83d;--bad:#ff7a7a;--shadow:0 10px 34px rgba(0,0,0,.35)}}
:root[data-mode="dark"]{--bg:#0b1020;--bg2:#111935;--panel:#141d3b;--ink:#eef1ff;--mute:#a3acd0;--line:#26305a;--acc:#19d3c4;--acc2:#9d8cff;--on-acc:#06122a;--ok:#4ade9a;--warn:#f5b83d;--bad:#ff7a7a;--shadow:0 10px 34px rgba(0,0,0,.35)}
:root[data-accent="pink"]{--acc:#e0559a;--acc2:#8b6cf0}:root[data-accent="blue"]{--acc:#2f7de1;--acc2:#19c3b3}:root[data-accent="gold"]{--acc:#d99a06;--acc2:#e0559a}:root[data-accent="violet"]{--acc:#7a5cf0;--acc2:#e0559a}
@media(prefers-color-scheme:dark){:root:not([data-mode="light"])[data-accent="pink"]{--acc:#ff7ab8}:root:not([data-mode="light"])[data-accent="blue"]{--acc:#63a3ff}:root:not([data-mode="light"])[data-accent="gold"]{--acc:#f2c230}:root:not([data-mode="light"])[data-accent="violet"]{--acc:#a893ff}}
:root[data-mode="dark"][data-accent="pink"]{--acc:#ff7ab8}:root[data-mode="dark"][data-accent="blue"]{--acc:#63a3ff}:root[data-mode="dark"][data-accent="gold"]{--acc:#f2c230}:root[data-mode="dark"][data-accent="violet"]{--acc:#a893ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--acc)}a:hover{text-decoration:none}img,svg{max-width:100%}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.skip{position:absolute;left:-999px;top:8px;background:var(--panel);padding:8px 14px;border-radius:10px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid color-mix(in srgb,var(--acc) 70%,transparent);outline-offset:2px;border-radius:8px}
/* header */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:18px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;font-size:21px;letter-spacing:.2px}.brand img{width:34px;height:34px}
.nav nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.nav nav a{color:var(--mute);text-decoration:none;padding:7px 13px;border-radius:99px;font-weight:600;font-size:15px}.nav nav a:hover,.nav nav a[aria-current="page"]{background:var(--bg2);color:var(--ink)}
.tools{display:flex;align-items:center;gap:8px}
.icon-btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:99px;min-width:38px;height:38px;padding:0 12px;cursor:pointer;font:inherit;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.icon-btn:hover{border-color:var(--acc)}
.dots{display:inline-flex;gap:5px}.dots button{width:18px;height:18px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line);cursor:pointer;padding:0}.dots button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--ink)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:99px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--acc)}.btn.pri{background:var(--grad);color:var(--on-acc);border-color:transparent;box-shadow:0 8px 22px color-mix(in srgb,var(--acc) 35%,transparent)}.btn.pri:hover{filter:brightness(1.06)}
.btn.sm{padding:7px 14px;font-size:14px}.btn.coffee{background:#ffdd57;color:#3a2a00;border-color:transparent}.btn.danger{color:var(--bad)}.btn[disabled]{opacity:.55;cursor:not-allowed}
/* hero */
.hero{background:var(--hero);padding:76px 0 56px;text-align:center}
.hero .mark{width:104px;height:104px;filter:drop-shadow(0 12px 24px color-mix(in srgb,var(--acc) 40%,transparent))}
h1{font-size:clamp(32px,5vw,54px);line-height:1.12;margin:.35em 0 .3em;letter-spacing:-.5px}
h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:clamp(24px,3vw,32px);margin:0 0 .5em;letter-spacing:-.3px}h3{margin:.2em 0 .4em;font-size:19px}
.lead{max-width:720px;margin:0 auto 28px;color:var(--mute);font-size:19px}.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.band{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:34px;color:var(--mute);font-weight:700;letter-spacing:.5px}.band span{padding:4px 12px;border-radius:99px;background:color-mix(in srgb,var(--acc) 10%,transparent)}
section.block{padding:48px 0}section.alt{background:var(--bg2)}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.card p{margin:.3em 0 0;color:var(--mute)}.card .ic{font-size:30px;display:block;margin-bottom:6px}
.tool{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:transform .15s}.tool:hover{transform:translateY(-3px)}
.badge{display:inline-block;font-size:12.5px;font-weight:800;padding:2px 11px;border-radius:99px;background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--acc);letter-spacing:.3px}.badge.soon{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}
.two{display:grid;gap:26px;grid-template-columns:2fr 1fr}@media(max-width:860px){.two{grid-template-columns:1fr}}
ul.tick{list-style:none;padding:0;margin:0;display:grid;gap:14px}ul.tick li{padding-left:34px;position:relative}ul.tick li::before{content:"✦";position:absolute;left:4px;top:0;color:var(--acc)}ul.tick b{display:block}
.page{padding:44px 0 64px}.page h1{font-size:clamp(28px,4vw,42px);text-align:left}.crumbs{font-size:14px;color:var(--mute);margin-bottom:6px}.crumbs a{color:var(--mute)}
.prose{max-width:780px}.prose p,.prose li{color:var(--ink)}.prose h2{margin-top:1.6em}.prose .muted{color:var(--mute)}
/* tables */
.tbl{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.tbl th,.tbl td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}.tbl tr:last-child td{border-bottom:0}.tbl thead th{background:var(--bg2);font-size:14px}.tbl td.me,.tbl th.me{background:color-mix(in srgb,var(--acc) 9%,transparent)}
.scroll{overflow-x:auto}
details{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:12px 18px;margin:10px 0}summary{cursor:pointer;font-weight:700}details p{color:var(--mute);margin:.6em 0 0}
/* forms */
.narrow{max-width:440px;margin-inline:auto}.form{display:grid;gap:14px}label.f{display:grid;gap:6px;font-weight:700;font-size:14px}
input[type=text],input[type=password]{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit}input:focus{outline:3px solid color-mix(in srgb,var(--acc) 45%,transparent);border-color:var(--acc)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.err{color:var(--bad);min-height:1.4em;font-weight:600}.ok{color:var(--ok);font-weight:600}.small{font-size:14px;color:var(--mute)}
.acc-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:18px}
.quota{height:10px;border-radius:99px;background:var(--bg2);overflow:hidden;margin:10px 0 6px}.quota i{display:block;height:100%;background:var(--grad);border-radius:99px}
.tier{display:inline-block;padding:3px 14px;border-radius:99px;background:var(--grad);color:var(--on-acc);font-weight:800}
.mono{font-family:ui-monospace,Consolas,monospace;word-break:break-all;background:var(--bg2);padding:8px 10px;border-radius:10px;display:block}
/* footer */
footer{border-top:1px solid var(--line);padding:30px 0 40px;color:var(--mute);font-size:14.5px}footer .wrap{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}footer a{color:var(--mute)}.dev{font-weight:700;color:var(--ink)}
noscript .card{margin:20px auto}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* small screens: brand + tools on top, menu below, header not sticky */
#auth-slot .btn{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}
@media(max-width:720px){.top{position:static}.nav{gap:10px 12px;padding:10px 0}.nav nav{order:3;flex-basis:100%;overflow-x:auto;flex-wrap:nowrap}.tools{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.hero{padding-top:44px}.card{padding:18px}}
body{overflow-x:hidden}
.narrow .small{margin:.6em 0 1.2em}
/* Google / GitHub buttons */
.prov-box{display:grid;gap:10px;margin:14px 0 6px}.btn.prov{justify-content:center;width:100%}.btn.prov svg{flex:none}
.or{display:flex;align-items:center;gap:12px;color:var(--mute);font-size:13px}.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.prose ul{padding-left:20px;display:grid;gap:8px}.prose h2{font-size:22px}
