/* Peloria — feature-showcase site. Evolved fel-green WoW theme. */
:root{
  --bg:#080b08; --bg2:#0a0e0a;
  --panel:#111811; --panel2:#0d130d; --line:#1f2e1c; --line2:#2c4525;
  --fel:#6cff2e; --fel-bright:#a6ff6b; --fel-dim:#3f8a1f; --fel-deep:#173a0c;
  --gold:#ffcf6b; --text:#d7e4d2; --muted:#8fa588; --white:#eaffdc;
  --maxw:1080px;
  --discord-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
/* scroll-padding-top offsets anchor jumps (#limitless, #features, …) by the sticky nav's height + a gap,
   so a clicked section's heading lands just BELOW the 60px bar instead of hidden under it. */
html{scroll-behavior:smooth;overflow-x:hidden;scroll-padding-top:80px}
body{
  margin:0; color:var(--text); line-height:1.6; overflow-x:clip;
  font-family:Inter,"Segoe UI",system-ui,Arial,sans-serif;
  background:
    radial-gradient(1200px 640px at 50% -8%, #16240f 0%, rgba(10,14,10,0) 62%),
    radial-gradient(900px 500px at 88% 8%, #10200a 0%, rgba(10,14,10,0) 55%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--fel);text-decoration:none;transition:color .15s}
a:hover{color:var(--fel-bright)}
b{color:var(--white)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
em{font-style:normal;color:var(--fel);text-shadow:0 0 22px rgba(108,255,46,.45)}

/* ambient drifting embers */
.embers{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:
    radial-gradient(2px 2px at 20% 30%, rgba(108,255,46,.6), transparent),
    radial-gradient(2px 2px at 70% 60%, rgba(166,255,107,.5), transparent),
    radial-gradient(1.5px 1.5px at 40% 80%, rgba(108,255,46,.5), transparent),
    radial-gradient(1.5px 1.5px at 85% 20%, rgba(108,255,46,.4), transparent),
    radial-gradient(1.5px 1.5px at 15% 65%, rgba(166,255,107,.4), transparent);
  background-size:100% 100%;
  animation:drift 26s linear infinite;
}
@keyframes drift{from{background-position:0 0,0 0,0 0,0 0,0 0}
  to{background-position:0 -900px,0 -1200px,0 -700px,0 -1000px,0 -1100px}}

/* nav */
.nav{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);
  background:linear-gradient(180deg, rgba(8,11,8,.92), rgba(8,11,8,.62));
  border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font-family:Cinzel,serif;font-weight:800;letter-spacing:3px;font-size:20px;
  color:var(--white);text-shadow:0 0 20px rgba(108,255,46,.35)}
.links{display:flex;gap:26px}
.links a{color:var(--muted);font-weight:600;font-size:14px;letter-spacing:.4px}
.links a:hover{color:var(--fel)}
/* Discord community link: distinct blurple accent so it reads as its own category */
.links a.nav-discord{display:inline-flex;align-items:center;gap:7px;color:#c9d2ff}
.links a.nav-discord::before{content:"";width:16px;height:12px;flex:0 0 auto;background-color:#8b9cff;
  transition:background-color .15s;
  -webkit-mask:var(--discord-mask) center/contain no-repeat;mask:var(--discord-mask) center/contain no-repeat}
.links a.nav-discord:hover{color:#eef1ff}
.links a.nav-discord:hover::before{background-color:#aeb9ff}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
  padding:0;margin:-8px -6px -8px 0;background:none;border:0;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;margin:0 auto;background:var(--text);border-radius:2px;
  transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Session-aware nav: the HTML ships BOTH states -- guest links (.only-guest: Login / Register / hero
   "Create your account") and the signed-in link (.only-authed: "My account"). A tiny inline <head>
   script adds html.pel-authed synchronously from a localStorage hint, so a logged-in refresh renders
   the right nav on the FIRST paint -- no flash of the logged-out nav (session-nav.js then reconciles). */
html:not(.pel-authed) .only-authed{display:none}
html.pel-authed .only-guest{display:none}

/* layout sections */
main{position:relative;z-index:1}
section{margin:86px 0}
.eyebrow{color:var(--fel-dim);font-weight:800;letter-spacing:2.5px;text-transform:uppercase;font-size:12px;margin-bottom:10px}
h2{font-family:Cinzel,serif;color:var(--white);font-size:clamp(28px,4.4vw,44px);margin:0 0 16px;letter-spacing:.5px}
h3.subhead{font-family:Cinzel,serif;color:var(--white);font-size:24px;margin:54px 0 6px}
.muted{color:var(--muted);font-weight:400}
.lead{color:var(--text);font-size:18px;max-width:760px}
.lead.sm{font-size:15px;color:var(--muted)}
.card{background:linear-gradient(180deg,var(--panel),var(--panel2));
  border:1px solid var(--line);border-radius:16px;padding:26px 28px}

/* hero */
.hero{text-align:center;padding:78px 0 30px}
.badge{display:inline-block;padding:7px 16px;border:1px solid var(--line2);border-radius:999px;
  color:var(--gold);font-size:13px;font-weight:600;background:var(--panel2);
  box-shadow:0 0 30px rgba(108,255,46,.08)}
.badge::first-letter{color:var(--fel)}
.logo{font-family:Cinzel,serif;font-size:clamp(58px,13vw,132px);font-weight:800;letter-spacing:6px;margin:20px 0 6px;
  background:linear-gradient(180deg,#f2ffe6 0%,#9dff5a 48%,#3f8a1f 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 46px rgba(108,255,46,.32));animation:pulse 5s ease-in-out infinite}
@keyframes pulse{0%,100%{filter:drop-shadow(0 0 40px rgba(108,255,46,.26))}
  50%{filter:drop-shadow(0 0 64px rgba(108,255,46,.5))}}
.tag{font-size:clamp(18px,2.6vw,24px);color:var(--text);margin:6px 0 4px}
.sub{color:var(--muted);max-width:640px;margin:12px auto 0;font-size:16px}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;padding:13px 26px;border-radius:11px;font-weight:700;font-size:15px;border:1px solid var(--fel-dim);transition:transform .12s,filter .15s,box-shadow .15s}
.btn.primary{background:linear-gradient(180deg,#4aa81f,#2f6d14);color:#eaffe0;box-shadow:0 8px 30px rgba(108,255,46,.2)}
.btn.ghost{background:var(--panel);color:var(--fel)}
.btn.discord{display:inline-flex;align-items:center;gap:9px;background:#5865f2;border-color:#5865f2;color:#fff}
.btn.discord::before{content:"";width:20px;height:15px;flex:0 0 auto;background-color:#fff;
  -webkit-mask:var(--discord-mask) center/contain no-repeat;mask:var(--discord-mask) center/contain no-repeat}
.btn.discord:hover{filter:brightness(1.08);box-shadow:0 10px 34px rgba(88,101,242,.42)}
.btn:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 10px 34px rgba(108,255,46,.28)}

/* big number before/after */
.bignum{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap;margin:26px 0 30px;text-align:center}
.bn-col{min-width:240px}
.bn-label{color:var(--muted);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px}
.bn-old{font-family:Cinzel,serif;font-size:clamp(24px,3.4vw,34px);color:#7d8a78;text-decoration:line-through;text-decoration-color:#b63b3b;text-decoration-thickness:3px}
.bn-new{font-family:Cinzel,serif;font-size:clamp(26px,3.8vw,40px);font-weight:800;color:var(--fel-bright);text-shadow:0 0 30px rgba(108,255,46,.4)}
.bn-arrow{font-size:34px;color:var(--fel-dim)}

/* highlight callout (big stat + explanation) */
.callout{display:flex;align-items:center;gap:30px;margin-top:18px;flex-wrap:wrap}
.callout-num{font-family:Cinzel,serif;font-weight:800;flex:1 1 220px;min-width:200px;text-align:center;
  font-size:clamp(36px,6.4vw,60px);color:var(--fel-bright);text-shadow:0 0 38px rgba(108,255,46,.42)}
.callout-body{flex:2 1 340px}
.callout-body h3{font-family:Cinzel,serif;color:var(--gold);font-size:21px;margin:0 0 8px;text-transform:none}
.callout-body p{margin:0;color:var(--text);font-size:15.5px}

/* feature grids */
.grid{display:grid;gap:16px;margin-top:22px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.feat{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:20px 22px;transition:border-color .15s,transform .15s,box-shadow .15s}
.feat:hover{border-color:var(--line2);transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.feat h3{margin:0 0 8px;color:var(--gold);font-size:17px}
.feat.sm h3{font-size:15.5px}
.feat p{margin:0;color:var(--muted);font-size:14.5px}

/* screenshot placeholder slots */
.shot{margin:26px 0 0;border:1px dashed var(--line2);border-radius:16px;overflow:hidden;
  background:
    repeating-linear-gradient(135deg, rgba(108,255,46,.03) 0 14px, transparent 14px 28px),
    var(--panel2);
  min-height:220px;display:flex;align-items:flex-end;justify-content:center;position:relative}
.shot::before{content:"Screenshot coming soon";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  color:var(--muted);font-size:14px;letter-spacing:1px;opacity:.7}
.shot img{width:100%;display:block;transition:transform .3s ease}
.shot.has-img{border-style:solid;border-color:var(--line);min-height:0;cursor:zoom-in}
.shot.has-img:hover img{transform:scale(1.03)}
.shot.has-img::before{display:none}
.shot figcaption{position:relative;z-index:1;padding:10px 14px;color:var(--muted);font-size:13px;
  background:linear-gradient(180deg,transparent,rgba(8,11,8,.7));width:100%;text-align:center}

/* screenshot gallery (2 landscape + 1 wide) */
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.gallery .shot{margin-top:0;flex-direction:column;justify-content:flex-start}
.gallery .shot.wide{grid-column:1 / -1}
.gallery-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-top:26px}
.gallery-3 .shot{margin-top:0;flex-direction:column;justify-content:flex-start}
@media (max-width:640px){.gallery{grid-template-columns:1fr}}

/* class chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}
.chip{--c:#8fa588;display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:11px;cursor:pointer;
  border:1px solid var(--line2);background:var(--panel2);color:var(--text);font-weight:700;font-size:14px;
  transition:transform .12s,border-color .15s,box-shadow .15s}
.chip .dot{width:11px;height:11px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.chip:hover{transform:translateY(-2px);border-color:var(--c)}
.chip.active{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 8px 26px rgba(0,0,0,.4);background:linear-gradient(180deg,var(--panel),var(--panel2))}
.chip.soon{opacity:.5;cursor:default}
.chip.soon:hover{transform:none;border-color:var(--line2)}
.chip .soon-tag{font-size:11px;color:var(--muted);font-weight:600}

/* perk panel (selected class) */
.perk-panel{min-height:160px}
.perk-panel .class-title{font-family:Cinzel,serif;font-size:22px;margin:0 0 4px}
.perk-panel .class-sub{color:var(--muted);font-size:14px;margin:0 0 20px}
.perk-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.perk{border:1px solid var(--line);border-radius:13px;padding:18px 20px;background:var(--panel2)}
.perk .pname{font-family:Cinzel,serif;color:var(--gold);font-size:17px;margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.perk .pname .ptag{display:inline-block;vertical-align:middle;margin-left:8px;font-family:Inter,sans-serif;
  font-size:11px;font-weight:600;color:var(--fel);background:rgba(120,255,140,.08);
  border:1px solid var(--line);border-radius:999px;padding:1px 9px;letter-spacing:.02em}
.perk .pdesc{font-size:14px;line-height:1.7;color:var(--text)}
.coming{color:var(--muted);font-size:16px;padding:26px 4px;text-align:center}
.coming b{color:var(--fel)}

/* universal perks grid + sub-groups */
.perk-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin-top:20px}
.perk-grid .perk{background:linear-gradient(180deg,var(--panel),var(--panel2))}
.perk-groups{margin-top:22px}
.perk-subgroup{margin-top:32px}
.perk-subgroup:first-child{margin-top:0}
.sg-title{font-family:Cinzel,serif;color:var(--gold);font-size:20px;margin:0 0 4px;letter-spacing:.4px;
  padding-bottom:8px;border-bottom:1px solid var(--line)}
.sg-sub{color:var(--muted);font-size:14px;margin:10px 0 0}
.perk-subgroup .perk-grid{margin-top:14px}

/* footer */
footer{border-top:1px solid var(--line);margin-top:80px;padding:44px 0 60px;text-align:center;position:relative;z-index:1}
.foot-logo{font-family:Cinzel,serif;letter-spacing:4px;color:var(--fel);font-weight:800;font-size:20px;margin-bottom:8px}
footer p{color:var(--muted);margin:6px 0;font-size:14px}
footer .disclaimer{display:inline-block;margin:14px auto 0;padding:8px 16px;border-radius:999px;
  border:1px solid var(--line2);background:var(--panel2);color:var(--gold);font-size:13px;font-weight:600}
footer .fine{color:#5f7059;font-size:12px;max-width:640px;margin:14px auto 0}

/* lightbox (full-screen screenshot viewer) */
.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;
  background:rgba(4,6,4,.93);padding:24px;cursor:zoom-out}
.lightbox.open{display:flex;animation:lbfade .18s ease}
@keyframes lbfade{from{opacity:0}to{opacity:1}}
.lightbox img{max-width:96vw;max-height:92vh;border:1px solid var(--line2);border-radius:10px;
  box-shadow:0 24px 90px rgba(0,0,0,.65)}
.lb-close{position:absolute;top:16px;right:22px;width:44px;height:44px;border-radius:10px;line-height:1;
  border:1px solid var(--line2);background:var(--panel);color:var(--fel);font-size:26px;cursor:pointer}
.lb-close:hover{filter:brightness(1.25)}

/* download */
.dl-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:24px 0 30px}
.dl-main{font-size:17px;padding:16px 32px}
.dl-meta{color:var(--muted);font-size:14px}
.dl-meta b{color:var(--fel-dim);font-weight:700}
.dl-note{margin-top:24px}
.dl-realm{margin-top:26px}
.dl-realm h3{margin:0 0 14px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--fel-dim)}
.dl-realm code{display:block;padding:14px 18px;border-radius:10px;background:#0a1108;border:1px solid var(--line2);
  color:var(--fel);font-family:Consolas,"Courier New",monospace;font-size:16px;word-break:break-all}
.dl-realm p{color:var(--muted);font-size:14px;margin:14px 0 0}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* --- mobile: collapsible nav + tighter spacing + touch targets --- */
@media (max-width:680px){
  .nav-toggle{display:flex}
  .nav-inner{position:relative}
  .links{position:absolute;top:60px;left:0;right:0;flex-direction:column;gap:0;
    background:linear-gradient(180deg,rgba(10,14,10,.98),rgba(8,11,8,.98));
    border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;
    padding:4px 14px 10px;box-shadow:0 18px 40px rgba(0,0,0,.55);
    opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;
    transition:opacity .18s ease,transform .18s ease,visibility .18s}
  .links.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .links a{display:block;padding:13px 2px;font-size:15px;color:var(--text);border-bottom:1px solid var(--line)}
  .links a:last-child{border-bottom:0}
  .wrap{padding:0 16px}
  .card{padding:20px 16px}
  section{margin:56px 0}
  .chip{padding:12px 16px}
  .bn-col,.callout-num{min-width:0}
}
@media (max-width:560px){
  .bn-arrow{transform:rotate(90deg)}
}
@media (max-width:420px){
  .logo{font-size:clamp(44px,12vw,132px);letter-spacing:3px}
}

/* ---- account pages: login form + dashboard (login.html / account.html) ---- */
.auth-wrap{max-width:480px;margin:0 auto}
.auth-head{font-family:Cinzel,serif;font-weight:800;letter-spacing:3px;margin:16px 0 6px;
  font-size:clamp(32px,7vw,50px);
  background:linear-gradient(180deg,#f2ffe6 0%,#9dff5a 48%,#3f8a1f 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 34px rgba(108,255,46,.28))}
.auth-card{margin-top:26px;text-align:left}
.field{margin:0 0 16px}
.field label{display:block;font-weight:700;font-size:14px;color:var(--white);margin:0 0 6px}
.field label .hint{font-weight:400;color:var(--muted)}
.field input{width:100%;padding:12px 14px;border-radius:10px;font:inherit;font-size:16px;
  background:var(--panel2);border:1px solid var(--line2);color:var(--text);
  transition:border-color .15s,box-shadow .15s}
.field input:focus{outline:none;border-color:var(--fel-dim);box-shadow:0 0 0 3px rgba(108,255,46,.12)}
.field input::placeholder{color:#5c6f55}
.auth-submit{width:100%;margin-top:4px;cursor:pointer}
.auth-submit[disabled]{opacity:.55;cursor:default;transform:none;box-shadow:none}
.auth-msg{margin:16px 0 0;padding:12px 14px;border-radius:10px;font-size:14px;line-height:1.6;display:none}
.auth-msg.show{display:block}
.auth-msg.err{background:rgba(255,90,60,.10);border:1px solid #5a2a20;color:#ffb3a3}
.auth-msg.ok{background:var(--fel-deep);border:1px solid var(--fel-dim);color:var(--fel-bright)}
.auth-note{color:var(--muted);font-size:13px;margin-top:18px;text-align:center}
.auth-note a{color:var(--fel)}

/* dashboard */
.dash-wrap{max-width:760px;margin:0 auto;text-align:left}
.dash-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.dash-who{color:var(--muted);font-size:14px}
.dash-who b{color:var(--fel)}
.dash-section{margin-top:28px}
.dash-section h2{font-size:20px;margin:0 0 6px}
.dash-section .lead{margin:0 0 16px}
.char-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:12px}
.char{display:flex;align-items:center;gap:14px;padding:14px 16px;
  background:var(--panel2);border:1px solid var(--line);border-radius:12px}
.char-lvl{flex:0 0 auto;min-width:40px;text-align:center;font-weight:800;color:var(--fel);
  font-size:20px;font-family:Cinzel,serif;line-height:1}
.char-lvl small{display:block;font-family:Inter,sans-serif;font-weight:600;font-size:10px;letter-spacing:1px;
  color:var(--muted);text-transform:uppercase}
.char-body{flex:1 1 auto;min-width:0}
.char-name{font-weight:700;color:var(--white)}
.char-name .on{margin-left:8px;color:var(--fel);font-size:11px;font-weight:700;vertical-align:middle}
.char-sub{color:var(--muted);font-size:13px;margin-top:2px}
.char-meta{flex:0 0 auto;text-align:right;font-size:12px;color:var(--muted);white-space:nowrap}
.dash-empty{color:var(--muted);font-size:14px}
.btn.sm{padding:9px 16px;font-size:13px}

/* --- mobile polish: stop iOS text auto-inflation, themed tap feedback, bigger touch targets --- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,.btn,input{-webkit-tap-highlight-color:rgba(108,255,46,.14)}
@media (max-width:680px){
  .btn.sm{padding:12px 18px;font-size:14px}   /* secondary buttons (Log out) reach a ~44px tap target */
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
