/* Project Hex styles */
:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --pink:#FF3D8B;--orange:#FF8A3D;--peach:#FFC86B;--purple:#9B4DE0;--teal:#2DD4CF;
  --n-bg:#150B28;--n-surface:#21133B;--n-line:#3A2560;--n-text:#FFF1F7;--n-muted:#BFA9D6;
  --d-bg:#FFF5EC;--d-surface:#FFFFFF;--d-line:#F1D9CB;--d-text:#2A1338;--d-muted:#7D5C80;
  --bg:var(--d-bg);--surface:var(--d-surface);--line:var(--d-line);--text:var(--d-text);--muted:var(--d-muted);
  --link:var(--purple);
  --on-accent:#1B0B24;
  --display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sunset:linear-gradient(180deg,var(--peach) 0%,var(--orange) 38%,var(--pink) 70%,var(--purple) 100%);
  --sunset-x:linear-gradient(100deg,var(--orange),var(--pink));
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:var(--n-bg);--surface:var(--n-surface);--line:var(--n-line);--text:var(--n-text);--muted:var(--n-muted);--link:var(--peach)}
}
:root[data-theme="dark"]{--bg:var(--n-bg);--surface:var(--n-surface);--line:var(--n-line);--text:var(--n-text);--muted:var(--n-muted);--link:var(--peach)}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:1rem;line-height:1.55;min-height:100vh}
img,svg{max-width:100%}
a{color:var(--link)}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:4px}
.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 .95rem/1 var(--body);padding:.85rem 1.25rem;border-radius:10px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;color:var(--text);background:transparent;white-space:nowrap}
.btn-primary{background:var(--sunset-x);color:var(--on-accent)}
.btn-primary:hover{filter:brightness(1.07)}
.btn-ghost{border-color:var(--line)}
.btn-ghost:hover{border-color:var(--pink)}
.btn-sm{padding:.5rem .8rem;font-size:.85rem;border-radius:8px}
.btn-danger{color:var(--pink);border-color:var(--line)}
.btn[disabled]{opacity:.55;cursor:default}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- public page ---------- */
.announce{background:var(--sunset-x);color:var(--on-accent);text-align:center;font-weight:600;font-size:.92rem;padding:.6rem 1rem}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;padding-bottom:1.1rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-weight:600;font-size:.92rem}
.brand small{display:block;color:var(--muted);font-weight:500;font-size:.78rem;line-height:1.2}
.brand-hex{width:28px;height:28px;flex:none}
.topnav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.topnav a.plain{color:var(--text);text-decoration:none;font-weight:600;font-size:.92rem;padding:.5rem .7rem;border-radius:8px}
.topnav a.plain:hover{color:var(--pink)}
.hero{text-align:center;padding-top:clamp(1rem,4vw,2.5rem);padding-bottom:clamp(2.5rem,7vw,5rem)}
.sun{display:block;width:min(620px,100%);height:auto;margin:0 auto}
.sun .rise{animation:rise 1.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{transform:translateY(90px);opacity:.2}to{transform:translateY(0);opacity:1}}
@media (prefers-reduced-motion:reduce){.sun .rise{animation:none}}
.wordmark{margin:-.6rem 0 0;font-family:var(--display);font-weight:900;line-height:.82;letter-spacing:.005em}
.wm-small{display:block;font-size:clamp(1.3rem,4vw,2.1rem);font-weight:700;letter-spacing:.32em;color:var(--text);margin-bottom:.35rem;padding-left:.32em}
.wm-big{display:block;font-size:clamp(5rem,22vw,13rem);background:var(--sunset);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.tagline{text-wrap:balance;max-width:34rem;margin:1.4rem auto 0;font-size:clamp(1.05rem,2.4vw,1.25rem);color:var(--text)}
.status{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.4rem;padding:.45rem .9rem .45rem .7rem;border:1.5px solid var(--line);border-radius:999px;font-weight:600;font-size:.9rem;background:var(--surface)}
.status svg{width:14px;height:14px;flex:none}
.status-detail{margin:.8rem auto 0;max-width:30rem;color:var(--muted);font-size:.95rem}
.countdown{display:flex;justify-content:center;gap:clamp(.6rem,3vw,1.4rem);margin-top:1.6rem}
.cd{min-width:4.6rem;padding:.7rem .6rem .6rem;background:var(--surface);border:1.5px solid var(--line);border-radius:12px}
.cd b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(2rem,7vw,2.8rem);line-height:1}
.cd span{display:block;color:var(--muted);font-size:.8rem;margin-top:.25rem}
.cta{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1.8rem}
.section{padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:clamp(1rem,3vw,2rem)}
.section h2{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,6vw,3.4rem);line-height:.95;margin:0 0 .5rem}
.section .lede{color:var(--muted);margin:0 0 2rem;max-width:36rem}
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:23px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--pink),var(--purple),var(--line))}
.phase{position:relative;display:grid;grid-template-columns:48px 1fr;gap:1.1rem;padding-bottom:2rem}
.phase:last-child{padding-bottom:0}
.hexnum{position:relative;width:48px;height:48px;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:1.35rem;color:var(--on-accent)}
.hexnum svg{position:absolute;inset:0;width:100%;height:100%}
.hexnum span{position:relative}
.phase.planned .hexnum{color:var(--text)}
.phase-body{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem 1.2rem}
.phase.active .phase-body{border-color:var(--pink)}
.phase-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap}
.phase-top h3{margin:0;font-size:1.2rem;line-height:1.25}
.when{color:var(--muted);font-size:.88rem;font-weight:500}
.chip{display:inline-block;font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;border:1.5px solid var(--line);color:var(--muted)}
.chip.active{border-color:var(--pink);color:var(--pink)}
.chip.done{border-color:var(--teal);color:var(--teal)}
.phase-body p{margin:.5rem 0 .8rem;color:var(--muted)}
.bar{height:6px;background:var(--line);border-radius:6px;overflow:hidden;margin:.2rem 0 .9rem}
.bar i{display:block;height:100%;background:var(--sunset-x);border-radius:6px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.checks li{display:flex;gap:.55rem;align-items:flex-start;font-size:.95rem}
.checks svg{width:18px;height:18px;flex:none;margin-top:.15rem}
.checks li.done{color:var(--muted)}
.checks li.done span{text-decoration:line-through;text-decoration-color:var(--teal)}
.log{display:grid;gap:1rem}
.log article{border-left:3px solid var(--pink);padding:.2rem 0 .2rem 1.1rem}
.log time{color:var(--muted);font-size:.85rem;font-weight:600}
.log h3{margin:.15rem 0 .35rem;font-size:1.15rem}
.log p{margin:0 0 .5rem;max-width:40rem}
.foot{margin-top:clamp(3rem,7vw,5rem);border-top:1.5px solid var(--line);padding-top:1.6rem;padding-bottom:2.4rem;color:var(--muted);font-size:.88rem}
.foot-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center}
.foot-links{display:flex;gap:1rem;flex-wrap:wrap}
.foot-links a{color:var(--text);font-weight:600;text-decoration:none}
.foot-links a:hover{color:var(--pink)}
.disclaimer{margin:1rem 0 0;font-size:.8rem;max-width:44rem}
.splash{min-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}
.splash-main{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding-bottom:2.5rem}
.cs-head{font-family:var(--display);font-weight:900;font-size:clamp(1.9rem,5vw,2.8rem);line-height:1;margin:1.4rem 0 0;letter-spacing:.02em}
.cs-msg{text-wrap:balance;max-width:32rem;margin:.8rem auto 0;color:var(--muted);font-size:clamp(1rem,2.2vw,1.12rem)}
.splash .foot{margin-top:0}
.splash>.wrap,.splash>.splash-main{width:100%}
.mode-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.mode-card p{margin:.2rem 0 0;color:var(--muted);font-size:.92rem}
.pill{display:inline-block;font-size:.8rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;margin-left:.4rem;vertical-align:.1em}
.pill.on{background:var(--pink);color:var(--on-accent)}
.pill.off{border:1.5px solid var(--line);color:var(--muted)}
.preview-bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--purple);color:#fff;font-size:.9rem;font-weight:600;display:flex;justify-content:center;gap:1rem;padding:.55rem 1rem;flex-wrap:wrap}
.preview-bar a{color:#fff}

/* ---------- admin ---------- */
.admin{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.side{border-right:1.5px solid var(--line);padding:1.3rem 1rem;position:sticky;top:env(safe-area-inset-top,0px);align-self:start;height:100vh;overflow:auto}
.side-brand{display:flex;gap:.6rem;align-items:center;margin-bottom:1.4rem}
.side-brand b{font-family:var(--display);font-weight:900;font-size:1.5rem;line-height:1}
.side-brand small{display:block;color:var(--muted);font-size:.8rem}
.side nav{display:grid;gap:.15rem}
.side nav a{display:block;padding:.55rem .7rem;border-radius:8px;color:var(--text);text-decoration:none;font-weight:500;font-size:.95rem}
.side nav a:hover{background:var(--surface)}
.side nav a[aria-current="page"]{background:var(--surface);box-shadow:inset 3px 0 0 var(--pink);font-weight:700}
.side-links{margin-top:1.4rem;padding-top:1rem;border-top:1.5px solid var(--line);display:grid;gap:.4rem;font-size:.9rem}
.panel{padding:1.6rem clamp(1rem,4vw,2.5rem) 7rem;min-width:0;max-width:980px}
.panel h1{font-family:var(--display);font-weight:900;font-size:clamp(2rem,5vw,2.8rem);line-height:1;margin:0 0 .4rem}
.panel .lede{color:var(--muted);margin:0 0 1.6rem;max-width:40rem}
.panel h2{font-size:1.1rem;margin:2rem 0 .8rem}
.card{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:1rem}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;margin-bottom:1.2rem}
.stat{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:1rem 1.1rem}
.stat b{display:block;font-family:var(--display);font-weight:900;font-size:2.4rem;line-height:1}
.stat span{color:var(--muted);font-size:.88rem}
.field{display:block;margin-bottom:.9rem}
.field>span{display:block;font-weight:600;font-size:.88rem;margin-bottom:.3rem}
.field>em{display:block;font-style:normal;color:var(--muted);font-size:.82rem;margin-top:.3rem}
input[type=text],input[type=url],input[type=date],input[type=month],input[type=email],input[type=number],input[type=search],input[type=datetime-local],input[type=password],select,textarea{width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--bg);border:1.5px solid var(--line);border-radius:8px;padding:.6rem .75rem}
textarea{min-height:5.5rem;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:2px solid var(--pink);outline-offset:0;border-color:transparent}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.grid3{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.6rem;align-items:end}
.toggle{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.9rem;cursor:pointer}
.toggle input{width:1.15rem;height:1.15rem;accent-color:var(--pink);margin-top:.15rem;flex:none}
.toggle b{display:block;font-size:.95rem}
.toggle small{color:var(--muted)}
.ed-head{display:flex;gap:.6rem;align-items:center;margin-bottom:.9rem}
.ed-head input{font-weight:700}
.ed-head .hexnum{width:40px;height:40px;flex:none;font-size:1.15rem}
.row-actions{display:flex;gap:.35rem;flex:none}
.items{display:grid;gap:.45rem;margin:.3rem 0 .7rem}
.item{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center}
.item input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--teal)}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.col{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:.9rem;min-width:0}
.col h3{margin:0 0 .7rem;font-size:1rem;display:flex;justify-content:space-between}
.col h3 span{color:var(--muted);font-weight:600}
.task{background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.7rem;margin-bottom:.6rem}
.task.high{border-left:4px solid var(--pink)}
.task.med{border-left:4px solid var(--orange)}
.task.low{border-left:4px solid var(--teal)}
.task input[type=text]{background:transparent;padding:.35rem .5rem;font-size:.9rem}
.task .t-title{font-weight:700}
.task-meta{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.4rem 0}
.task select{padding:.35rem .5rem;font-size:.85rem}
.task-actions{display:flex;justify-content:space-between;gap:.3rem}
.empty{color:var(--muted);font-size:.9rem;padding:.5rem 0}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.swatch{display:flex;align-items:center;gap:.6rem;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.5rem .6rem;cursor:pointer}
.swatch input[type=color]{width:38px;height:38px;border:0;padding:0;background:none;cursor:pointer;flex:none}
.swatch b{display:block;font-size:.88rem}
.swatch code{font-size:.78rem;color:var(--muted)}
.sunset-strip{height:56px;border-radius:12px;background:var(--sunset-x);margin-bottom:1rem;display:flex;align-items:center;padding:0 1rem;font-family:var(--display);font-weight:900;font-size:1.8rem;color:var(--on-accent)}
.note{background:var(--surface);border:1.5px dashed var(--line);border-radius:12px;padding:.9rem 1rem;color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.note strong{color:var(--text)}
.savebar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1.5px solid var(--line);padding:.75rem clamp(1rem,4vw,2rem);padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.savebar .msg{font-weight:600;font-size:.92rem;display:flex;align-items:center;gap:.5rem}
.savebar .dot{width:9px;height:9px;border-radius:50%;background:var(--teal)}
.savebar .dot.dirty{background:var(--orange)}
.savebar .acts{display:flex;gap:.5rem;flex-wrap:wrap}
.gate{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}
.gate .card{max-width:400px;width:100%;text-align:left}
.gate h1{font-family:var(--display);font-weight:900;font-size:2.2rem;margin:.6rem 0 .3rem;line-height:1}
.gate p{color:var(--muted);margin:0 0 1rem}
.err{color:var(--pink);font-weight:600;font-size:.9rem;min-height:1.3em;margin:.2rem 0 .6rem}
.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 14px);transform:translateX(-50%);z-index:50;background:var(--text);color:var(--bg);padding:.65rem 1rem;border-radius:10px;font-weight:600;font-size:.92rem;max-width:min(92vw,520px);box-shadow:0 8px 28px rgba(0,0,0,.25)}
@media (max-width:820px){
  .admin{grid-template-columns:1fr}
  .side{position:sticky;top:env(safe-area-inset-top,0px);z-index:25;height:auto;border-right:0;border-bottom:1.5px solid var(--line);background:var(--bg);padding:.7rem 1rem}
  .side-brand{margin-bottom:.6rem}
  .side nav{display:flex;overflow-x:auto;gap:.3rem;padding-bottom:.2rem}
  .side nav a{white-space:nowrap}
  .side nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--pink)}
  .side-links{display:none}
  .board{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .phase{grid-template-columns:36px 1fr;gap:.8rem}
  .phase .hexnum{width:36px;height:36px;font-size:1.05rem}
  .timeline::before{left:17px}
  .cd{min-width:4rem}
}
.gate .field input{background:var(--bg)}
.gate-note{font-size:.85rem;color:var(--muted);margin:1rem 0 0}
.gate .err:empty{display:none}

/* ======================================================================
   Motion layer: scroll-driven intro, ticker, reveals
   ====================================================================== */
.pub .btn{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.2,1),filter .2s,border-color .2s}
.pub .btn:hover{transform:translateY(-2px)}
.pub .btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s ease}
.pub .btn-primary:hover::after{left:130%}

.intro{position:relative;height:260vh}
.intro-splash{height:auto}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.intro-splash .stage{position:relative;height:auto;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}

.scene{position:absolute;inset:0;z-index:0;transform-origin:50% 60%;will-change:transform;background:var(--n-bg)}
.sky{position:absolute;left:0;right:0;top:0;height:68%;background:linear-gradient(180deg,var(--n-bg) 0%,color-mix(in srgb,var(--purple) 50%,var(--n-bg)) 30%,var(--pink) 64%,var(--orange) 84%,var(--peach) 100%);background-size:100% 150%;animation:pj-sky 16s ease-in-out infinite alternate}
@keyframes pj-sky{from{background-position:0 0}to{background-position:0 100%}}
.stars{position:absolute;inset:0 0 32% 0}
.stars span{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.6;animation:pj-twinkle var(--t) ease-in-out infinite alternate;animation-delay:var(--dl)}
@keyframes pj-twinkle{from{opacity:.08}to{opacity:.9}}
.sea{position:absolute;left:0;right:0;bottom:0;height:32%;background:linear-gradient(180deg,color-mix(in srgb,var(--purple) 38%,var(--n-bg)),var(--n-bg) 85%);border-top:2px solid var(--teal)}
.sea::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 11px,color-mix(in srgb,var(--teal) 24%,transparent) 11px 13px);-webkit-mask:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);mask:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);animation:pj-waves 5s linear infinite;opacity:.55}
@keyframes pj-waves{to{background-position:0 52px}}
.sun-wrap{position:absolute;left:50%;bottom:32%;width:min(94vw,112vh);transform:translate(-50%,21.5%)}
.sun-wrap .sun{width:100%;max-width:none;margin:0}
.glow{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(520px circle at var(--mx,50%) var(--my,40%),color-mix(in srgb,var(--peach) 26%,transparent),transparent 62%);mix-blend-mode:screen;opacity:0;transition:opacity .5s}
.stage:hover .glow{opacity:1}
.stage.veiled .glow{opacity:0}

.veil{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.shards{position:absolute;inset:0;z-index:3;pointer-events:none}
.shard{position:absolute;opacity:0;will-change:transform,opacity}
.shard i{display:block;width:100%;height:100%;animation:pj-float var(--ft) ease-in-out infinite alternate}
.shard svg{display:block;width:100%;height:100%}
@keyframes pj-float{from{transform:translateY(-10px) rotate(-6deg)}to{transform:translateY(10px) rotate(6deg)}}

.stage .topbar{position:absolute;top:0;left:0;right:0;z-index:6}
.intro-splash .stage .topbar{position:relative}
.stage:not(.veiled) .brand,.stage:not(.veiled) .topnav a.plain{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.stage:not(.veiled) .brand small{color:rgba(255,255,255,.75)}
.stage:not(.veiled) .topnav .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.stage .brand,.stage .topnav a,.stage .brand small{transition:color .4s,border-color .4s}

.stage-copy{position:relative;z-index:4;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem clamp(1rem,4vw,2rem) 3.5rem}
.intro-splash .stage-copy{flex:1;height:auto;padding-top:1rem;padding-bottom:3rem}
.kicker{margin:0 0 .5rem;font-family:var(--display);font-weight:700;font-size:clamp(1.1rem,3.4vw,2rem);letter-spacing:.32em;padding-left:.32em;color:var(--text);opacity:0}
.logo-slot{margin:0;width:100%;height:clamp(110px,36vh,400px)}
.intro-splash .logo-slot{height:clamp(96px,26vh,290px)}
.stage-status{margin:1.3rem 0 0;font-family:var(--display);font-weight:700;font-size:clamp(1.15rem,2.6vw,1.7rem);letter-spacing:.06em;opacity:0}
.intro-splash .cs-head,.intro-splash .cs-msg,.intro-splash .stage-copy>.fade-in{opacity:0}
.intro-splash .cs-head{margin-top:1.2rem}
.cue{position:absolute;left:50%;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:.55rem;color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.08em;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.cue i{display:block;width:2px;height:46px;background:linear-gradient(#fff,transparent);transform-origin:top;animation:pj-cue 1.8s ease-in-out infinite}
@keyframes pj-cue{0%{transform:scaleY(0);opacity:1}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

.ticker{position:relative;overflow:hidden;padding:clamp(1rem,2.6vw,1.9rem) 0;border-block:1.5px solid var(--line)}
.ticker-move{will-change:transform}
.ticker-track{display:flex;align-items:center;width:max-content;animation:pj-tick 50s linear infinite}
.ticker-track span{font-family:var(--display);font-weight:900;font-size:clamp(2.6rem,8vw,6.2rem);line-height:1;padding:0 .35em;white-space:nowrap}
.ticker-track span.o{color:transparent;-webkit-text-stroke:1.5px var(--text)}
.ticker-track span.f{background:var(--sunset-x);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ticker-track svg{flex:none;width:clamp(1.1rem,3vw,2.2rem);height:auto}
@keyframes pj-tick{to{transform:translateX(-50%)}}

.details{text-align:center;padding-top:clamp(3.5rem,9vw,7rem);padding-bottom:clamp(1rem,4vw,2rem)}
.big-tagline{margin:0 auto 2rem;max-width:18ch;font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,6.6vw,4.8rem);line-height:1;text-wrap:balance}
.big-tagline .w{display:inline-block;opacity:0;transform:translateY(.55em) rotate(5deg);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 55ms)}
.big-tagline.in .w{opacity:1;transform:none}
.details .status{margin-top:0}

.rv{opacity:0;transform:translateY(48px);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.rv-clip>span{display:inline-block;clip-path:inset(0 0 100% 0);transform:translateY(34px);transition:clip-path 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.rv-clip.in>span{clip-path:inset(-10% -10% -20% -10%);transform:none}
@media (min-width:821px){
  .phase.rv:nth-child(odd){transform:translateX(-80px) rotate(-1.5deg)}
  .phase.rv:nth-child(even){transform:translateX(80px) rotate(1.5deg)}
  .phase.rv.in{transform:none}
}
.timeline::before{background:var(--line)}
.tl-fill{position:absolute;left:23px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--peach),var(--pink),var(--purple));transform-origin:top;transform:scaleY(0);z-index:0}
.phase{z-index:1}
.phase .hexnum{opacity:0;transform:scale(.3) rotate(-90deg);transition:opacity .5s ease .15s,transform .9s cubic-bezier(.34,1.56,.64,1) .15s}
.phase.in .hexnum{opacity:1;transform:none}
.phase.active .phase-body{box-shadow:0 20px 60px -24px color-mix(in srgb,var(--pink) 70%,transparent)}
.bar i{width:0;transition:width 1.4s cubic-bezier(.2,.7,.2,1) .35s}
.phase.in .bar i{width:var(--pct)}
.phase .checks li{opacity:0;transform:translateX(-14px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(.45s + var(--i) * 70ms)}
.phase.in .checks li{opacity:1;transform:none}
.cd b.flip{animation:pj-flip .6s cubic-bezier(.2,.7,.2,1)}
@keyframes pj-flip{from{transform:translateY(-45%);opacity:0}to{transform:none;opacity:1}}
@media (max-width:520px){.tl-fill{left:17px}}

@media (prefers-reduced-motion:reduce){
  .intro{height:auto}
  .stage{position:relative;height:auto;min-height:100vh}
  .stage-copy{min-height:100vh;height:auto}
  .cue{display:none}
  .rv,.rv-clip>span,.big-tagline .w,.phase .hexnum,.phase .checks li{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .bar i{transition:none}
  .sky,.sea::before,.stars span,.shard i,.ticker-track,.sun .rise,.cd b.flip{animation:none!important}
  .pub .btn,.pub .btn-primary::after{transition:none}
}

/* ======================================================================
   v2: fixes
   ====================================================================== */
/* Descenders (y, g, p) were cut off by tight line boxes on gradient text. */
.ticker-track span{line-height:1.18;padding:.02em .35em .16em}
.big-tagline{line-height:1.08;padding-bottom:.08em}
.rv-clip>span{padding-bottom:.14em;margin-bottom:-.14em}
.rv-clip.in>span{clip-path:inset(-20% -10% -30% -10%)}
.section h2{line-height:1.02}
.cue{bottom:calc(1.1rem + env(safe-area-inset-bottom,0px))}
.hex-vi{fill:#150B28}
input[type=email],input[type=number],input[type=search]{width:100%;font:inherit;font-size:.95rem;color:var(--text);background:var(--bg);border:1.5px solid var(--line);border-radius:8px;padding:.6rem .75rem}
input[type=file]{font:inherit;font-size:.9rem;color:var(--muted);max-width:100%}
code{font-size:.86em;background:color-mix(in srgb,var(--line) 45%,transparent);padding:.1em .35em;border-radius:5px}
.copyright{margin:.9rem 0 0;color:var(--muted);font-size:.85rem;font-weight:600}
.announce.warn{background:var(--purple);color:#fff}

/* mobile menu for the public top bar */
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border:1.5px solid var(--line);border-radius:10px;display:grid;place-content:center;gap:5px}
.menu summary::-webkit-details-marker{display:none}
.menu summary i{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);transition:transform .25s,opacity .2s}
.menu[open] summary i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu[open] summary i:nth-child(2){opacity:0}
.menu[open] summary i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-panel{position:absolute;right:0;top:calc(100% + .5rem);z-index:40;min-width:220px;display:grid;gap:.2rem;padding:.6rem;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.menu-panel a.plain{color:var(--text);text-decoration:none;font-weight:600;padding:.65rem .8rem;border-radius:8px}
.menu-panel a.plain:hover{background:var(--bg);color:var(--pink)}
.menu-panel .btn{margin-top:.3rem}
@media (max-width:860px){.topnav{display:none}.menu{display:block}.topbar{flex-wrap:nowrap}}

/* ======================================================================
   v2: public sub pages (team, news, apply, support, servers, atomic)
   ====================================================================== */
body[data-page="sub"] .pub{min-height:100vh;display:flex;flex-direction:column}
body[data-page="sub"] main{flex:1}
body[data-page="sub"] .pub>.wrap{width:100%}
.credits-head{text-align:center;padding:clamp(2rem,6vw,4.5rem) 0 clamp(1.5rem,4vw,2.5rem)}
.credits-head h1,.credit-group h2,.headlines h2,.wall h2{font-family:var(--display);font-weight:900;line-height:1.02;margin:0}
.credits-head h1{font-size:clamp(3.4rem,13vw,8rem)}
.credits-head h1>span,.credit-group h2>span{background:var(--sunset);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.credits-head .lede{max-width:34rem;margin:.8rem auto 0;color:var(--muted);font-size:1.08rem}
.kicker-sub{font-family:var(--display);font-weight:700;letter-spacing:.35em;text-transform:uppercase;font-size:.95rem;color:var(--muted);margin:0 0 .4rem}
.credit-group{padding:clamp(1.5rem,4vw,2.5rem) 0;border-top:1.5px solid var(--line)}
.credit-group h2{font-size:clamp(2.4rem,7vw,4rem);text-align:center}
.credit-group h2>span{background-image:linear-gradient(100deg,var(--c,var(--pink)),var(--peach))}
.credit-group>.lede{text-align:center;color:var(--muted);max-width:36rem;margin:.4rem auto 0}
.credit-list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}
.credit{display:flex;gap:.9rem;align-items:flex-start;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1rem;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .2s}
.credit:hover{transform:translateY(-3px);border-color:var(--c,var(--pink))}
.credit-pic{width:64px;height:72px;flex:none;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--c,var(--pink)),var(--purple));display:grid;place-items:center}
.credit-pic img{width:100%;height:100%;object-fit:cover}
.credit-pic span{font-family:var(--display);font-weight:900;font-size:1.8rem;color:var(--on-accent)}
.credit-text b{display:block;font-size:1.05rem;line-height:1.25}
.credit-title{display:block;color:var(--muted);font-size:.88rem;font-weight:600}
.credit-lead{display:inline-block;margin-top:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;background:var(--c,var(--pink));color:var(--on-accent)}
.credit-text p{margin:.45rem 0 0;font-size:.88rem;color:var(--muted)}

.release-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.4rem 0}
.rcard{display:flex;flex-direction:column;gap:.2rem;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:1.3rem 1.4rem;position:relative;overflow:hidden}
.rcard::after{content:"";position:absolute;right:1.1rem;top:1.1rem;width:30px;height:34px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--sunset);opacity:.85}
.rcard-k{font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rcard-big{font-family:var(--display);font-weight:900;font-size:clamp(2.8rem,8vw,4rem);line-height:1.05;background:var(--sunset-x);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.05em}
.rcard-big small{font-size:.45em}
.headlines{padding:1rem 0 2rem}
.headlines h2,.wall h2{font-size:clamp(2rem,6vw,3rem);margin-bottom:1rem}
.hl-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.6rem}
.hl-list a{display:flex;flex-direction:column;gap:.15rem;text-decoration:none;color:var(--text);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:.85rem 1rem;transition:border-color .2s,transform .25s}
.hl-list a:hover{border-color:var(--pink);transform:translateX(4px)}
.hl-list b{font-weight:600;line-height:1.35}
.hl-list span{color:var(--muted);font-size:.84rem}

.apply-card,.doc-public{max-width:760px;margin:0 auto 3rem}
.apply-card h2{font-family:var(--display);font-weight:900;font-size:2rem;margin:0 0 .4rem}
.apply-card .lede{color:var(--muted);margin-top:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tabs.center{justify-content:center;margin:1.2rem auto 0;width:max-content;max-width:100%}
.flash ul{margin:0;padding-left:1.1rem}

.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;align-items:stretch;margin-bottom:1.5rem}
.tier{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1.5px solid var(--line);border-radius:20px;padding:1.5rem 1.3rem}
.tier.featured{border-color:transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--sunset-x) border-box;border:2px solid transparent;transform:translateY(-6px)}
.tier-flag{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:var(--sunset-x);color:var(--on-accent);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;white-space:nowrap}
.tier h2{font-family:var(--display);font-weight:900;font-size:2rem;margin:0}
.tier-price{margin:.3rem 0 .2rem}
.tier-price b{font-family:var(--display);font-weight:900;font-size:3rem;line-height:1}
.tier-price span{color:var(--muted);font-weight:600}
.tier-role{margin:0 0 .6rem;color:var(--peach);font-weight:600;font-size:.9rem}
.tier-perks{list-style:none;padding:0;margin:0 0 1.2rem;flex:1;display:grid;gap:.45rem;font-size:.92rem}
.tier-perks li{padding-left:1.3rem;position:relative}
.tier-perks li::before{content:"";position:absolute;left:0;top:.45em;width:.6rem;height:.65rem;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--sunset-x)}
.btn.is-disabled{opacity:.55;cursor:default}
.donate{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.donate h2{margin:0;font-family:var(--display);font-weight:900;font-size:1.8rem}
.donate p{margin:.2rem 0 0;color:var(--muted)}
.small-print{color:var(--muted);font-size:.85rem;padding-left:1.1rem;margin:0 0 2rem}
.wall{padding-bottom:2rem}
.wall-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.wall-list li{background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:.4rem .9rem;font-size:.9rem}
.wall-list span{color:var(--muted);margin-left:.4rem;font-size:.8rem}

.server-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:3rem}
.server{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:1.3rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.server h2{margin:0;font-family:var(--display);font-weight:900;font-size:1.8rem;line-height:1.05}
.server p{margin:0;color:var(--muted)}
.server-top{display:flex;justify-content:space-between;width:100%;gap:.5rem}
.server-type{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .6rem;border-radius:999px;border:1.5px solid var(--line)}
.server-type.t-whitelist{border-color:var(--purple);color:var(--purple)}
.server-status{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.88rem}
.server-status i{width:9px;height:9px;border-radius:50%;background:var(--muted)}
.server-status.s-online i{background:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 25%,transparent)}
.server-status.s-maintenance i{background:var(--orange)}
.server-status.s-offline i{background:var(--pink)}
.server .copyrow{width:100%}

.atomic{--pink:var(--accent);--sunset:linear-gradient(180deg,#fff,var(--accent));--sunset-x:linear-gradient(100deg,var(--accent),var(--peach));text-align:center;padding-bottom:3rem}
.atomic-head{padding:clamp(2rem,6vw,4.5rem) 0 1.5rem}
.atomic-head h1{font-family:var(--display);font-weight:900;font-size:clamp(3.4rem,13vw,8rem);line-height:1.02;margin:0}
.atomic-head h1>span{background:var(--sunset);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.atomic-logo{max-width:180px;max-height:140px;margin:0 auto 1rem;display:block}
.atomic-head .lede{color:var(--muted);font-size:1.1rem;max-width:34rem;margin:.6rem auto 0}
.atomic-body{max-width:720px;margin:0 auto 1.5rem;text-align:left}
.atomic .cta{justify-content:center}
.atomic-family{color:var(--muted);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;margin-top:2rem}

.block-card{text-align:center!important}
.block-card .brand-hex{width:64px;height:64px;margin:0 auto}
.block-reason{background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.8rem 1rem;color:var(--text)!important;text-align:left}

/* ======================================================================
   v2: staff HQ
   ====================================================================== */
.hq{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.hq-side{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:1.1rem .9rem;border-right:1.5px solid var(--line);background:var(--surface)}
.hq-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);padding:0 .4rem}
.hq-brand .brand-hex{width:34px;height:34px}
.hq-brand b{display:block;font-family:var(--display);font-weight:900;font-size:1.35rem;line-height:1}
.hq-brand small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.2em;font-weight:700}
.hq-side nav{display:flex;flex-direction:column;gap:.1rem;flex:1}
.hq-side nav a{display:flex;justify-content:space-between;align-items:center;padding:.55rem .7rem;border-radius:9px;text-decoration:none;color:var(--text);font-weight:600;font-size:.92rem}
.hq-side nav a:hover{background:var(--bg)}
.hq-side nav a[aria-current="page"]{background:var(--bg);box-shadow:inset 3px 0 0 var(--pink)}
.nav-label{display:block;margin:.9rem .7rem .3rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.count[hidden]{display:none}
.count{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--pink);color:#fff;font-size:.72rem;font-weight:700;margin-left:.4rem}
.hq-me{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.9rem;border-top:1.5px solid var(--line)}
.hq-me .ulink small{display:block;color:var(--muted);font-size:.76rem;font-weight:500}
.hq-main{padding:clamp(1rem,3vw,2rem) clamp(1rem,3.5vw,2.4rem) 6rem;max-width:1240px;width:100%}
.hq-main h1{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,5vw,3rem);line-height:1.05;margin:0 0 .2rem}
.hq-main .lede{color:var(--muted);margin:0 0 1.3rem}
.hq-main h3{font-size:1rem;margin:1.2rem 0 .5rem}
.card-h{font-size:1.05rem;margin:0 0 .8rem}
.flash{border-radius:12px;padding:.75rem 1rem;margin-bottom:1rem;font-weight:600;font-size:.92rem;border:1.5px solid var(--line);background:var(--surface)}
.flash.ok{border-color:var(--teal)}
.flash.error{border-color:var(--pink);color:var(--pink)}
.page-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.page-top .card-h{margin:0}
.crumb{margin:0 0 .4rem;font-size:.88rem;color:var(--muted)}
.meta{color:var(--muted);font-size:.86rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.4rem 0}
.muted{color:var(--muted)}
.sub{display:block;color:var(--muted);font-size:.8rem;font-weight:500}
a.stat{text-decoration:none;color:var(--text);transition:border-color .2s}
a.stat:hover{border-color:var(--pink)}
.stat b small{font-size:.5em;color:var(--muted)}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.cols.wide-left{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}
.grid3b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1rem}
.stack{display:grid;gap:.2rem}
.stack .field,.stack .toggle{margin-bottom:.6rem}
.btnrow{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.4rem}
.addrow{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}
.addrow select,.addrow input[type=text]{flex:1;min-width:140px;width:auto}
.inline{display:inline}
.toggle.inline{display:inline-flex;margin:0}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:.86rem;font-weight:600;color:var(--link);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
details.add{margin-top:.8rem}
details.add>summary{list-style:none;cursor:pointer;display:inline-flex}
details.add>summary::-webkit-details-marker{display:none}
details.add[open]>summary{margin-bottom:.8rem}
.danger-zone{margin-top:1rem;border:1.5px solid var(--pink);border-radius:12px;padding:.8rem 1rem}
.danger-zone>summary{cursor:pointer;font-weight:700;color:var(--pink)}
.danger-zone[open]>summary{margin-bottom:.8rem}
.checks-list{border:0;padding:0;margin:0 0 .8rem;display:grid;gap:.4rem}
.checks-list legend{font-weight:600;font-size:.88rem;margin-bottom:.4rem;padding:0}
.checks-list label{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.9rem}
fieldset.stack{border:1.5px solid var(--line);border-radius:12px;padding:1rem}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.rows li:last-child{border-bottom:0}
.rows li>a{color:var(--text);text-decoration:none;font-weight:600;min-width:0}
.rows li>a:hover{color:var(--pink)}
.rows li .muted{font-size:.82rem;white-space:nowrap}
.news-rows li{flex-direction:column;align-items:flex-start;gap:.1rem}
.news-rows li .muted{white-space:normal}
.log-rows li{font-size:.86rem}
.is-hidden{opacity:.5}
.table-wrap{overflow-x:auto;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:1rem}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{text-align:left;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.7rem .8rem;border-bottom:1.5px solid var(--line);white-space:nowrap}
.tbl td{padding:.65rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl .ua{max-width:260px}
.rowlink{color:var(--text);text-decoration:none;font-weight:600}
.rowlink:hover{color:var(--pink)}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.filters input,.filters select{width:auto;flex:1 1 150px;min-width:130px}
.av{--s:32px;position:relative;display:inline-grid;place-items:center;width:var(--s);height:var(--s);flex:none;border-radius:50%;background:linear-gradient(160deg,var(--orange),var(--purple));color:var(--on-accent);font-weight:800;font-size:calc(var(--s) * .42)}
.av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.av .online{position:absolute;right:-1px;bottom:-1px;width:30%;height:30%;min-width:8px;min-height:8px;border-radius:50%;background:var(--teal);border:2px solid var(--surface)}
.ulink{display:inline-flex;align-items:center;gap:.5rem;color:var(--text);text-decoration:none;font-weight:600;min-width:0}
.ulink:hover span{color:var(--pink)}
.rbadge{display:inline-block;font-size:.72rem;font-weight:700;padding:.18rem .5rem;border-radius:999px;border:1.5px solid var(--line);white-space:nowrap}
.r-owner{background:var(--sunset-x);color:var(--on-accent);border-color:transparent}
.r-admin{border-color:var(--pink);color:var(--pink)}
.r-lead{border-color:var(--orange);color:var(--orange)}
.chip-team{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;padding:.18rem .55rem;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent);margin:0 .25rem .25rem 0;white-space:nowrap}
.chip-team::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--c)}
.st,.sev,.bst{display:inline-block;font-size:.76rem;font-weight:700;padding:.18rem .55rem;border-radius:999px;white-space:nowrap;border:1.5px solid var(--line)}
.st-active{color:var(--teal);border-color:var(--teal)}
.st-leave{color:var(--orange);border-color:var(--orange)}
.st-suspended,.st-terminated{color:var(--pink);border-color:var(--pink)}
.s-critical{background:var(--pink);color:#fff;border-color:transparent}
.s-high{color:var(--pink);border-color:var(--pink)}
.s-medium{color:var(--orange);border-color:var(--orange)}
.s-low{color:var(--teal);border-color:var(--teal)}
.b-open,.b-pending{color:var(--peach);border-color:var(--peach)}
.b-progress{color:var(--purple);border-color:var(--purple)}
.b-testing{color:var(--orange);border-color:var(--orange)}
.b-fixed,.b-accepted{color:var(--teal);border-color:var(--teal)}
.b-wontfix,.b-closed,.b-denied{color:var(--muted)}
.ok-t{color:var(--teal);font-weight:700;font-size:.82rem}
.warn-t{color:var(--pink);font-weight:700;font-size:.82rem}
.safety span{display:block;line-height:1.5}
.linkcard{border-color:var(--teal)}
.copyrow{display:flex;gap:.5rem}
.copyrow input{flex:1;min-width:0;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}
.profile-head{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.3rem;flex-wrap:wrap}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:0 0 1rem;font-size:.92rem}
.facts dt{color:var(--muted);font-weight:600}
.facts dd{margin:0}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1rem}
.team-card{border-top:4px solid var(--c)}
.team-top{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.team-top h2{margin:0;font-family:var(--display);font-weight:900;font-size:1.7rem}
.member-list{list-style:none;padding:0;margin:.6rem 0 0;display:grid;gap:.45rem}
.member-list li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.member-list .sub{display:inline;margin-right:auto}
.avrow{display:flex;flex-wrap:wrap;gap:.4rem}
.avrow.wide{gap:.8rem 1.2rem}
.ann{padding:.8rem 0;border-bottom:1px solid var(--line)}
.ann.pinned{border-left:3px solid var(--pink);padding-left:.8rem}
.ann-top{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}
.ann h3{margin:0;font-size:1.02rem}
.prose{font-size:.95rem;line-height:1.6}
.prose h2{font-family:var(--display);font-weight:900;font-size:1.7rem;margin:1.2rem 0 .4rem;line-height:1.1}
.prose h3{font-size:1.1rem;margin:1rem 0 .3rem}
.prose h4{font-size:1rem;margin:.9rem 0 .3rem}
.prose p{margin:.5rem 0}
.prose ul,.prose ol{padding-left:1.3rem;margin:.5rem 0}
.doc-public .prose h2{font-size:clamp(2.4rem,7vw,3.6rem);margin-top:2rem}
.tos-box{max-height:48vh;overflow-y:auto;border:1.5px solid var(--line);border-radius:12px;padding:.4rem 1rem;margin:0 0 1rem;background:var(--bg)}
.gate-h2{font-size:1.05rem;margin:1rem 0 .5rem}
.gate .card:has(.tos-box){max-width:640px}
.thread{margin:1rem 0}
.comment{display:flex;gap:.8rem;margin-bottom:1rem}
.comment>div{flex:1;min-width:0;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:.6rem .9rem}
.comment .meta{margin-top:0}
.change{color:var(--muted);font-size:.84rem;margin:.4rem 0 1rem 2.9rem}
.shot{display:inline-block;margin-top:.6rem;border-radius:10px;overflow:hidden;border:1.5px solid var(--line);max-width:320px}
.shot img{display:block}
.doc-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}
.doc-list{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}
.doc-list li{display:flex;align-items:center;gap:.6rem}
.doc-list li>a:first-child{flex:1;display:flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none;padding:.45rem .3rem;border-radius:8px;min-width:0}
.doc-list li>a:first-child:hover{background:var(--bg)}
.doc-list b{font-weight:600}
.doc-list small{color:var(--muted);font-size:.78rem;margin-left:auto}
.dk{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .45rem;border-radius:6px;background:var(--bg);border:1.5px solid var(--line)}
.dk-page{border-color:var(--purple);color:var(--purple)}
.doc-page{max-width:820px}
.tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin:0 0 1.2rem;padding:.3rem;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);width:max-content;max-width:100%}
.tabs a{padding:.5rem .85rem;border-radius:9px;text-decoration:none;color:var(--text);font-weight:600;font-size:.9rem;white-space:nowrap}
.tabs a:hover{color:var(--pink)}
.tabs a[aria-current="page"]{background:var(--sunset-x);color:var(--on-accent)}
.tabs a[aria-current="page"] .muted{color:inherit;opacity:.75}
.qr{width:200px;height:200px;background:#fff;border-radius:12px;padding:8px;margin:.6rem 0}
.qr svg{width:100%;height:100%}
.steps{padding-left:1.2rem;margin:.3rem 0;font-size:.92rem}
.release .rel-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.release .rel-row b{display:block}
.release .rel-row span{color:var(--muted);font-size:.88rem}
.release .rel-row strong{font-family:var(--display);font-weight:900;font-size:1.7rem}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.mini-grid a{position:relative;display:block;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--bg)}
.mini-grid img{width:100%;height:100%;object-fit:cover}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}
.gitem{margin:0;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.gitem>a{position:relative;display:block;aspect-ratio:16/10;background:var(--bg)}
.gitem img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.noth{display:grid;place-items:center;height:100%;color:var(--muted);font-weight:700}
.play{position:absolute;left:50%;top:50%;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(21,11,40,.7);border:2px solid #fff}
.play::after{content:"";position:absolute;left:19px;top:14px;border-left:14px solid #fff;border-top:9px solid transparent;border-bottom:9px solid transparent}
.gitem figcaption{padding:.6rem .8rem;font-size:.88rem;display:flex;flex-direction:column;gap:.1rem}
.gitem figcaption small{color:var(--muted);font-size:.78rem}
.gmenu summary{cursor:pointer;font-size:.8rem;font-weight:600;color:var(--link);margin-top:.3rem}
.gmenu[open] .stack{margin:.5rem 0}
.drop{display:grid;gap:.3rem;place-items:center;text-align:center;padding:1.4rem 1rem;border:2px dashed var(--line);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s}
.drop:hover,.drop.over{border-color:var(--pink);background:var(--bg)}
.drop small{color:var(--muted)}
.progress{position:relative;height:30px;border-radius:8px;background:var(--bg);border:1.5px solid var(--line);overflow:hidden}
.progress i{position:absolute;inset:0 auto 0 0;width:0;background:var(--sunset-x);transition:width .2s}
.progress span{position:relative;display:block;text-align:center;font-size:.82rem;font-weight:700;line-height:27px}
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(8,4,16,.92);display:grid;place-items:center;padding:3.5rem 1rem 1rem}
.lightbox img,.lightbox video{max-width:min(96vw,1600px);max-height:82vh;border-radius:10px;user-select:none;-webkit-user-drag:none}
.lightbox p{color:#fff;text-align:center;margin:.6rem 0 0;font-weight:600}
.lightbox .lb-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + .8rem);right:1rem;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:none;color:#fff;font-size:1.5rem;cursor:pointer}
.chat-page .hq-main{max-width:none;padding-bottom:1rem}
.chat{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1rem;height:calc(100vh - 3rem);min-height:480px}
.chat-chans{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:.9rem;overflow-y:auto}
.chat-chans h2{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}
.chat-chans ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.chat-chans a{display:flex;justify-content:space-between;align-items:center;padding:.45rem .6rem;border-radius:8px;color:var(--text);text-decoration:none;font-weight:600;font-size:.92rem}
.chat-chans a:hover{background:var(--bg)}
.chat-chans a[aria-current="page"]{background:var(--bg);box-shadow:inset 3px 0 0 var(--pink)}
.chat-main{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;overflow:hidden}
.chat-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1.5px solid var(--line)}
.chat-head h1{font-size:1.6rem!important;margin:0!important}
.chat-head p{margin:0;font-size:.85rem}
.chat-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.15rem}
.chat-log .older{align-self:center;margin-bottom:.6rem}
.msg{display:grid;grid-template-columns:36px minmax(0,1fr);gap:.2rem .7rem;padding:.3rem .4rem;border-radius:8px;position:relative}
.msg:hover{background:var(--bg)}
.msg.cont{padding-top:0}
.msg.cont .av{visibility:hidden;height:0}
.msg-head{display:flex;align-items:baseline;gap:.5rem}
.msg-head b{font-size:.92rem}
.msg-head time{color:var(--muted);font-size:.75rem}
.msg-body{white-space:pre-wrap;word-wrap:break-word;font-size:.94rem;grid-column:2}
.msg-body .mention{background:color-mix(in srgb,var(--pink) 22%,transparent);color:var(--text);border-radius:4px;padding:0 .2rem;font-weight:600}
.msg.me-mentioned{background:color-mix(in srgb,var(--pink) 10%,transparent)}
.msg-body.gone{color:var(--muted);font-style:italic}
.msg-del{position:absolute;right:.5rem;top:.3rem;opacity:0}
.msg:hover .msg-del,.msg-del:focus{opacity:1}
.day-sep{align-self:center;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:.8rem 0 .4rem}
.chat-form{display:flex;gap:.5rem;padding:.8rem;border-top:1.5px solid var(--line)}
.chat-form textarea{min-height:44px;max-height:180px;resize:none}
.chat-readonly{padding:.9rem 1rem;margin:0;border-top:1.5px solid var(--line);color:var(--muted);font-size:.9rem}
.logo-prev{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}
.logo-prev img{max-height:70px;border-radius:8px;background:var(--bg);padding:.4rem}
.tier-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:0 1rem}
.answer{background:var(--bg);border-radius:10px;padding:.2rem .8rem}
.maint-fields{display:none;width:100%;margin-top:.8rem}
.mode-card.maint-on{border-color:var(--purple);flex-wrap:wrap}
.mode-card.maint-on .maint-fields{display:block}
.site-editor-page .site-editor .tabs{margin-bottom:1rem}
.hqbody .savebar{left:250px}
body.previewing .hq{display:block}
body.previewing .hq-side{display:none}
body.previewing .hq-main{padding:0;max-width:none}
body.previewing .flash{display:none}
@media (max-width:980px){
  .hq{grid-template-columns:1fr}
  .hq-side{position:sticky;top:0;z-index:30;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .8rem;border-right:0;border-bottom:1.5px solid var(--line)}
  .hq-side nav{order:3;flex-direction:row;flex-basis:100%;overflow-x:auto;gap:.2rem;padding-bottom:.2rem}
  .hq-side nav a{white-space:nowrap}
  .hq-side nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--pink)}
  .nav-label{display:none}
  .hq-me{margin-left:auto;padding:0;border:0}
  .hq-me .ulink span{display:none}
  .hqbody .savebar{left:0}
  .cols,.cols.wide-left{grid-template-columns:1fr}
  .chat{grid-template-columns:1fr;height:auto}
  .chat-chans ul{display:flex;overflow-x:auto}
  .chat-chans a{white-space:nowrap}
  .chat-log{flex:none;height:60vh}
}
@media (max-width:620px){.grid3b{grid-template-columns:1fr}.tier.featured{transform:none}.tier-edit{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.credit,.hl-list a{transition:none}}
.site-editor .panel>h1{font-size:1.6rem;margin-top:.2rem}
.site-editor .panel{padding:0}

/* v2.1: uploader badge with hover card */
.gitem figcaption{position:relative;padding-right:3rem}
.uploader{position:absolute;right:.7rem;bottom:.6rem;outline:none}
.uploader .tip{position:absolute;right:0;bottom:calc(100% + .5rem);z-index:5;min-width:190px;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.55rem .7rem;font-size:.8rem;line-height:1.4;color:var(--muted);box-shadow:0 10px 30px rgba(0,0,0,.35);opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity .15s,transform .15s}
.uploader .tip b{display:block;color:var(--text);font-size:.88rem}
.uploader:hover .tip,.uploader:focus .tip{opacity:1;transform:none}
.ipmask{cursor:help;text-decoration:none;display:inline-block;outline:none}
.ipmask code{filter:blur(5px);transition:filter .15s;user-select:none}
.ipmask:hover code,.ipmask:focus code,.ipmask:focus-visible code{filter:none;user-select:text}
.field .static{margin:.2rem 0 0;font-weight:600}
.flagbox{border:1.5px solid var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--surface));border-radius:12px;padding:.8rem 1rem;margin:0 0 1rem}
.flagbox ul{margin:.4rem 0 0;padding-left:1.2rem;font-size:.9rem}
.flagbox li.hot,.flagchip.hot{color:var(--pink);font-weight:800}
.flagchip{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;border:1.5px solid var(--orange);color:var(--orange);cursor:help}
.flagchip.hot{border-color:var(--pink)}
details.young{margin-top:1rem;opacity:.6}
details.young[open]{opacity:.85}
details.young>summary{cursor:pointer;font-weight:700;color:var(--muted);padding:.5rem 0}
.muted.small{font-size:.85rem}
.drag-handle{cursor:grab;border:0;background:none;color:var(--muted);font-size:1.3rem;line-height:1;padding:.1rem .3rem;margin-right:.3rem;border-radius:6px;touch-action:none}
.drag-handle:hover,.drag-handle:focus-visible{color:var(--text);background:var(--bg)}
.team-top{align-items:center}
.team-top h2{margin-right:auto}
.dragging{opacity:.45;outline:2px dashed var(--pink);outline-offset:3px}
tr.unclaimed td{opacity:.8}
.avatar-edit label{position:relative;display:inline-block;cursor:pointer;border-radius:50%}
.avatar-cam{position:absolute;inset:auto 0 0 0;text-align:center;font-size:.72rem;font-weight:700;background:rgba(10,4,22,.72);color:#fff;padding:.2rem 0;border-radius:0 0 999px 999px;opacity:0;transition:opacity .15s}
.avatar-edit label:hover .avatar-cam,.avatar-edit label:focus-within .avatar-cam{opacity:1}
.avatar-row{margin:0 0 1rem}
/* credits cards link to profiles */
.credit-list>li{list-style:none}
a.credit{text-decoration:none;color:inherit;height:100%}
a.credit:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.person{max-width:820px;padding-bottom:3rem}
.person .crumb{margin-top:2rem}
.person-head{display:flex;gap:clamp(1rem,4vw,2rem);align-items:center;flex-wrap:wrap;padding:1rem 0 1.5rem}
.person-pic{width:clamp(110px,22vw,160px);aspect-ratio:.9;flex:none;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,var(--c),var(--purple));display:grid;place-items:center}
.person-pic img{width:100%;height:100%;object-fit:cover}
.person-pic span{font-family:var(--display);font-weight:900;font-size:4rem;color:var(--on-accent)}
.person-head h1{font-family:var(--display);font-weight:900;font-size:clamp(2.8rem,9vw,5rem);line-height:1.02;margin:0}
.person-head h1>span{background-image:linear-gradient(100deg,var(--c),var(--peach));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.person-title{margin:.2rem 0 .6rem;font-weight:700;font-size:1.15rem;color:var(--muted)}
.person-chips{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin:0}
.person-since{color:var(--muted);font-size:.85rem;margin-left:.4rem}
.person-bio{font-size:1.2rem;line-height:1.55;margin:0 0 1.2rem}
.person-about{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:.6rem 1.3rem;margin-bottom:1.2rem}

/* v2.1: rounded cube countdown */
.cubes{display:flex;justify-content:center;gap:clamp(.45rem,2vw,.9rem);margin:1.4rem 0 .4rem;flex-wrap:nowrap}
.cube{position:relative;width:clamp(4.2rem,17vw,6.2rem);aspect-ratio:1;border-radius:22%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:linear-gradient(165deg,color-mix(in srgb,var(--surface) 70%,#fff 6%),var(--surface) 55%,color-mix(in srgb,var(--surface) 80%,#000));
  border:1.5px solid color-mix(in srgb,var(--pink) 35%,var(--line));
  box-shadow:inset 0 2px 0 rgba(255,255,255,.08),inset 0 -8px 16px rgba(0,0,0,.25),0 7px 0 color-mix(in srgb,var(--purple) 55%,#000),0 14px 28px rgba(0,0,0,.35)}
.cube::before{content:"";position:absolute;left:12%;right:12%;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--sunset-x)}
.cube b{font-family:var(--display);font-weight:900;font-size:clamp(1.9rem,8vw,3rem);line-height:1;background:var(--sunset-x);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;padding-bottom:.04em}
.cube span{font-size:clamp(.62rem,2.2vw,.76rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.25rem}
.cube b.tick{animation:pj-cd-drop .45s cubic-bezier(.2,.7,.2,1)}
@keyframes pj-cd-drop{0%{transform:translateY(-35%);opacity:0}100%{transform:none;opacity:1}}
.cd-done{font-family:var(--display);font-weight:900;font-size:2rem;margin:.6rem 0}
.cd-label{margin:1.2rem 0 0;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--muted)}
.rcard .cubes{justify-content:flex-start;margin:.7rem 0 .5rem;gap:.45rem}
.rcard .cube{width:clamp(3.4rem,11vw,4.6rem)}
.rcard .cube b{font-size:clamp(1.5rem,5vw,2.1rem)}
.rcard .cube span{font-size:.6rem}
.release .cubes{justify-content:flex-start;margin:.4rem 0}
.release .cube{width:3.4rem;border-radius:18%}
.release .cube b{font-size:1.45rem}
.release .cube span{font-size:.55rem}
@media (prefers-reduced-motion:reduce){.cube b.tick{animation:none}}

/* v2.1: VI and palm trees in the hero sun */
.sun .sun-vi{fill:#150B28;opacity:.93}
.sun .palm{fill:#150B28;opacity:.95}
.sun .sun-palm{opacity:.93}

/* v2.1: palm tree accents around the site */
.foot{position:relative}
.foot::before,.foot::after,.credits-head::before,.credits-head::after,.gate::before,.gate::after{
  content:"";position:absolute;pointer-events:none;background:var(--palm,var(--purple));
  -webkit-mask:url(/assets/img/palm.svg?v=2) no-repeat bottom/contain;mask:url(/assets/img/palm.svg?v=2) no-repeat bottom/contain}
.foot::before{left:-10px;bottom:calc(100% - 8px);width:90px;height:126px;opacity:.35;transform:scaleX(-1)}
.foot::after{right:-6px;bottom:calc(100% - 8px);width:70px;height:98px;opacity:.28}
.credits-head{position:relative}
.credits-head::before{left:0;bottom:0;width:clamp(70px,12vw,140px);height:clamp(100px,17vw,196px);opacity:.22;transform:scaleX(-1)}
.credits-head::after{right:0;bottom:0;width:clamp(56px,9vw,104px);height:clamp(80px,13vw,146px);opacity:.16}
.gate{position:relative;overflow:hidden}
.gate::before{left:-20px;bottom:-10px;width:clamp(120px,20vw,240px);height:clamp(170px,28vw,336px);opacity:.14;transform:scaleX(-1)}
.gate::after{right:-20px;bottom:-10px;width:clamp(90px,14vw,170px);height:clamp(126px,20vw,238px);opacity:.1}
.gate>.card{position:relative;z-index:1}
@media (max-width:620px){.credits-head::before,.credits-head::after{opacity:.1}}
.sec-order{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.sec-order li{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);cursor:grab}
.sec-order li>span:nth-child(2){flex:1}
.sec-order b{display:block}
.sec-order small{color:var(--muted);font-size:.8rem}
.sec-order .grip{color:var(--muted);font-size:1.2rem}
.disclaimer-box{max-width:760px;margin:0 auto 1.6rem;text-align:center;font-size:.92rem;color:var(--muted);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:.8rem 1rem}
.modal{position:fixed;inset:0;z-index:90;background:rgba(8,4,16,.72);display:grid;place-items:center;padding:1rem}
.modal-card{max-width:480px;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:1.4rem 1.5rem;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.modal-card h2{font-family:var(--display);font-weight:900;font-size:1.9rem;margin:0 0 .4rem}
.modal-card p{color:var(--muted);margin:.5rem 0}
.modal-card .cta{margin-top:1rem;justify-content:flex-start}
.filters .toggle.inline{flex:none;align-self:center;margin:0 .4rem}
.rbadge[style]{border-color:color-mix(in srgb,var(--rc) 70%,transparent);color:var(--rc)}
.rbadge.r-owner[style]{color:var(--on-accent);border-color:transparent}
.role-list{display:grid;gap:.8rem;margin-bottom:1rem}
.role-card{border-left:4px solid var(--rc)}
.role-card h2{margin:0;font-size:1.1rem}
.role-card .rbadge{font-size:.95rem;padding:.25rem .7rem}
.drag-spacer{display:inline-block;width:1.9rem}
.perm-group{border:1.5px solid var(--line);border-radius:10px;padding:.7rem .9rem}
.perm-group legend{padding:0 .3rem}
.perm-table{display:grid;gap:.35rem;margin-bottom:.8rem}
.perm-table label{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.88rem;padding:.3rem 0;border-bottom:1px solid var(--line)}
.perm-table select{width:auto;min-width:190px}
.sk{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .45rem;border-radius:6px;border:1.5px solid var(--line);margin-right:.3rem}
.sk-strike,.sk-final{border-color:var(--pink);color:var(--pink)}
.sk-suspension{background:var(--pink);color:#fff;border-color:transparent}
.sk-written{border-color:var(--orange);color:var(--orange)}
.sk-verbal{border-color:var(--peach);color:var(--peach)}
.strike-rows li{align-items:flex-start}
.emailrow{align-items:center}
.emailrow span{font-weight:700;color:var(--muted)}

/* v2.2: player accounts */
.btn-discord{background:#5865F2;color:#fff;border-color:#5865F2;width:100%;justify-content:center}
.btn-discord:hover{background:#4752c4;color:#fff}
.btn-discord.btn-sm{width:auto}
.or{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.85rem;margin:1rem 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.acct-card{max-width:520px}
.acct{padding:2rem 0 3rem}
.acct-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.4rem;align-items:start}
.acct-side{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1rem;display:grid;gap:.8rem;position:sticky;top:1rem}
.acct-me{display:flex;align-items:center;gap:.7rem}
.acct-pic{width:46px;height:46px;border-radius:50%;overflow:hidden;background:linear-gradient(160deg,var(--orange),var(--purple));display:grid;place-items:center;flex:none}
.acct-pic img{width:100%;height:100%;object-fit:cover}
.acct-pic span{font-weight:800;color:var(--on-accent)}
.acct-side nav{display:grid;gap:.15rem}
.acct-side nav a{display:flex;align-items:center;gap:.7rem;padding:.55rem .6rem;border-radius:9px;text-decoration:none;color:var(--text);font-weight:600;font-size:.95rem}
.acct-side nav a i{font-style:normal;width:1.2rem;text-align:center;color:var(--muted)}
.acct-side nav a:hover{background:var(--bg)}
.acct-side nav a[aria-current="page"]{background:var(--bg);box-shadow:inset 3px 0 0 var(--pink)}
.acct-main h1{font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,5vw,3rem);margin:0 0 1rem;line-height:1.05}
.acct-main .card{margin-bottom:1rem}
.billing-card h2{font-family:var(--display);font-weight:900;font-size:2.2rem;margin:.2rem 0}
.toggle-form{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:.8rem}
@media (max-width:760px){.acct-grid{grid-template-columns:1fr}.acct-side{position:static}.acct-side nav{grid-auto-flow:column;overflow-x:auto}}
.role-card .team-top h2{flex:1;text-align:left;margin-right:0}

/* ======================================================================
   Leonida Statutes (penal code)
   ====================================================================== */
body.penal{background:var(--bg)}
.pc-wrap{max-width:1320px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}
.pc-gov{background:color-mix(in srgb,var(--surface) 70%,#000);font-size:.8rem;color:var(--muted)}
.pc-gov summary{cursor:pointer;padding:.35rem 0;list-style:none}
.pc-gov summary::-webkit-details-marker{display:none}
.pc-gov summary span{color:var(--link);text-decoration:underline;margin-left:.3rem}
.pc-gov-body{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 3rem;padding:.9rem 0 1rem;max-width:1000px}
.pc-gov-item{display:flex;gap:.8rem;align-items:flex-start}
.pc-gov-item svg{width:20px;height:20px;flex:none;color:var(--peach);margin-top:.1rem}
.pc-gov-item b{display:block;color:var(--text);font-size:.86rem;margin-bottom:.15rem}
.pc-gov-item p{margin:0;font-size:.82rem;line-height:1.55;color:var(--muted)}
.pc-gov-note{grid-column:1/-1;margin:.2rem 0 0;font-size:.78rem;font-style:italic;color:color-mix(in srgb,var(--muted) 75%,transparent)}
.pc-top{border-bottom:1.5px solid var(--line);background:var(--surface);position:relative;z-index:5}
.pc-top-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.7rem;padding-bottom:.7rem}
.pc-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text)}
.pc-brand svg{width:44px;height:44px;color:var(--orange)}
.pc-brand b{display:block;font-family:var(--display);font-weight:900;font-size:1.35rem;line-height:1}
.pc-brand small{color:var(--muted);font-size:.78rem}
.pc-top nav{display:flex;align-items:center;gap:1rem}
.pc-top nav a{color:var(--text);font-weight:600;font-size:.9rem;text-decoration:none}
.pc-btn{font:inherit;font-weight:700;font-size:.88rem;border:1.5px solid var(--line);background:var(--bg);color:var(--text);border-radius:999px;padding:.45rem .9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}
.pc-btn:hover{border-color:var(--pink)}
.pc-btn.pc-primary{background:var(--sunset-x);color:var(--on-accent);border-color:transparent}
.pc-count{background:var(--pink);color:#fff;border-radius:999px;font-size:.72rem;padding:.05rem .45rem}
.pc-hero{padding:clamp(2rem,6vw,4rem) 0 1.6rem;background:radial-gradient(ellipse at 70% 0%,color-mix(in srgb,var(--pink) 18%,transparent),transparent 60%),radial-gradient(ellipse at 10% 100%,color-mix(in srgb,var(--orange) 12%,transparent),transparent 55%)}
.pc-kicker{font-family:var(--display);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0}
.pc-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(3rem,10vw,6.4rem);line-height:1.02;margin:.2rem 0 .5rem;background:var(--sunset);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.06em}
.pc-tag{max-width:46rem;color:var(--muted);font-size:1.05rem;margin:0}
.pc-stats{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.4rem 0 0}
.pc-stats div{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:.7rem 1.1rem;min-width:7.5rem}
.pc-stats dt{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pc-stats dd{margin:0;font-family:var(--display);font-weight:900;font-size:2rem;line-height:1.1}
.pc-bar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--line)}
.pc-bar-in{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding-top:.6rem;padding-bottom:.6rem}
.pc-bar input{flex:1 1 280px;width:auto}
.pc-chips{display:flex;flex-wrap:wrap;gap:.3rem}
.pc-chip{font:inherit;font-size:.76rem;font-weight:800;border-radius:999px;padding:.3rem .6rem;border:1.5px solid var(--c);color:var(--c);background:transparent;cursor:pointer}
.pc-chip[aria-pressed="true"]{background:var(--c);color:#150B28}
.pc-result{font-size:.85rem;color:var(--muted);min-width:6rem}
.pc-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:2rem;padding-top:1.5rem}
.pc-toc{position:sticky;top:4.2rem;align-self:start;max-height:calc(100vh - 5rem);overflow-y:auto;font-size:.84rem;display:flex;flex-direction:column;gap:.1rem;padding-bottom:2rem}
.pc-toc a{color:var(--muted);text-decoration:none;padding:.22rem .4rem;border-radius:6px;line-height:1.3}
.pc-toc a:hover{color:var(--text);background:var(--surface)}
.pc-toc-t{margin-top:.9rem;font-size:.7rem;font-weight:800;letter-spacing:.1em;color:var(--text)}
.pc-main{min-width:0}
.pc-title>h2{font-family:var(--display);font-weight:900;font-size:clamp(1.9rem,4vw,2.6rem);margin:2.4rem 0 .6rem;padding-bottom:.4rem;border-bottom:3px solid transparent;border-image:var(--sunset-x) 1}
.pc-title:first-child>h2{margin-top:0}
.pc-ch{scroll-margin-top:4.5rem;margin:1.6rem 0}
.pc-ch h3{font-size:1.15rem;margin:0 0 .7rem}
.pc-prose{font-size:.94rem;line-height:1.6}
.pc-prose table{width:100%;border-collapse:collapse;font-size:.88rem;margin:.6rem 0}
.pc-prose th,.pc-prose td{border:1px solid var(--line);padding:.5rem .6rem;text-align:left;vertical-align:top}
.pc-prose th{background:var(--surface)}
.pc-table-wrap{overflow-x:auto;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);margin:.6rem 0}
.pc-table{width:100%;border-collapse:collapse;font-size:.86rem}
.pc-table th{text-align:left;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:.6rem .6rem;border-bottom:1.5px solid var(--line);white-space:nowrap;background:color-mix(in srgb,var(--surface) 80%,var(--bg))}
.pc-table td{padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.pc-table tr:last-child td{border-bottom:0}
.pc-code{white-space:nowrap;font-weight:700;font-size:.8rem;color:var(--peach)}
.pc-name b{display:block}
.pc-el{display:block;color:var(--muted);font-size:.82rem;margin-top:.15rem;line-height:1.45}
.pc-sent{font-size:.82rem;min-width:8rem}
.pc-num{white-space:nowrap;font-variant-numeric:tabular-nums}
.pc-cls{display:inline-block;font-size:.7rem;font-weight:800;padding:.18rem .5rem;border-radius:999px;border:1.5px solid var(--c);color:var(--c);white-space:nowrap}
.pc-capital{--c:#FF3D6E}.pc-life{--c:#FF5F7E}.pc-f1pbl{--c:#FF7A59}.pc-f1{--c:#FF8A3D}.pc-f2{--c:#FFA94D}.pc-f3{--c:#FFC86B}.pc-m1{--c:#B98CFF}.pc-m2{--c:#9FA8FF}.pc-ncv{--c:#2DD4CF}
.pc-add{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);color:var(--text);font-size:1.1rem;font-weight:700;cursor:pointer;line-height:1}
.pc-add:hover,.pc-add:focus-visible{border-color:var(--pink);color:var(--pink)}
.pc-add.pc-added{background:var(--pink);color:#fff;border-color:var(--pink)}
.pc-flash td{animation:pc-flash 2s ease}
@keyframes pc-flash{0%,40%{background:color-mix(in srgb,var(--orange) 25%,transparent)}100%{background:transparent}}
.pc-foot{border-top:1.5px solid var(--line);margin-top:3rem;padding:1.4rem 0 5rem;color:var(--muted);font-size:.84rem}
.pc-foot p{margin:.3rem 0}
.pc-calc{position:fixed;right:1rem;bottom:1rem;z-index:40;width:min(380px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.45);padding:1rem 1.1rem}
.pc-calc-head{display:flex;justify-content:space-between;align-items:center}
.pc-calc-head h2{font-family:var(--display);font-weight:900;font-size:1.5rem;margin:0}
.pc-x{border:0;background:none;color:var(--muted);font-size:1.6rem;cursor:pointer;line-height:1}
.pc-calc-list{list-style:none;margin:.6rem 0;padding:0;display:grid;gap:.4rem}
.pc-calc-list li{display:flex;justify-content:space-between;gap:.6rem;align-items:center;background:var(--bg);border-radius:10px;padding:.45rem .6rem;font-size:.84rem}
.pc-calc-list small{display:block;color:var(--muted);font-size:.74rem}
.pc-qty{display:flex;align-items:center;gap:.35rem;flex:none}
.pc-qty button{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font-weight:700;line-height:1}
.pc-empty{color:var(--muted);font-size:.86rem}
.pc-enh{border:1.5px solid var(--line);border-radius:10px;padding:.5rem .7rem;margin:.6rem 0;display:grid;gap:.2rem;font-size:.82rem}
.pc-enh legend{font-weight:700;padding:0 .3rem}
.pc-totals{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.6rem 0}
.pc-totals div{background:var(--bg);border-radius:10px;padding:.45rem .6rem}
.pc-totals dt{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pc-totals dd{margin:0;font-weight:800;font-size:1rem}
.pc-calc-actions{display:flex;gap:.5rem}
@media (max-width:960px){.pc-layout{grid-template-columns:1fr}.pc-toc{position:static;max-height:none;display:none}.pc-gov-body{grid-template-columns:1fr}}
@media print{.pc-bar,.pc-toc,.pc-calc,.pc-add,.pc-top nav,.pc-gov{display:none!important}.pc-layout{display:block}body.penal{background:#fff;color:#000}.pc-table-wrap{border-color:#999}}
.pc-edit{border:1.5px solid var(--line);border-radius:10px;padding:.5rem .8rem;margin-bottom:.4rem;background:var(--bg)}
.pc-edit>summary{cursor:pointer;font-size:.88rem;display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.pc-edit[open]>summary{margin-bottom:.6rem}
.pc-class-edit{display:grid;gap:.5rem}
.pc-class-edit fieldset{border:1.5px solid var(--line);border-radius:10px;padding:.4rem .6rem;display:grid;gap:.35rem}
.pc-class-edit input{font-size:.85rem;padding:.4rem .5rem}
.md-table{margin:.6rem 0}
.md-table table{width:100%;border-collapse:collapse;font-size:.9rem}
.md-table th,.md-table td{padding:.5rem .7rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.md-table th{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pc-prose .md-table{border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}
.pc-prose .md-table th,.pc-prose .md-table td{border:0;border-bottom:1px solid var(--line)}

/* v2.3.1 fixes */
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid3b{grid-template-columns:repeat(3,minmax(0,1fr))}
.field input,.field select,.field textarea{min-width:0;max-width:100%}
.filters .toggle.inline{flex:none;align-items:center;gap:.45rem;white-space:nowrap;margin:0 .3rem}
.filters .toggle input{flex:none;width:1.15rem;min-width:0;margin:0}
.st-inactive{color:var(--muted);border-color:var(--line)}
/* collapsible Manage group */
.nav-group{display:flex;flex-direction:column;gap:.1rem}
.nav-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-radius:8px;padding:.35rem .7rem;margin:.9rem 0 .2rem}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary:hover{color:var(--text);background:var(--bg)}
.nav-group>summary i{width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.nav-group[open]>summary i{transform:rotate(45deg)}
@media (max-width:980px){
  .nav-group{flex-direction:row;flex:none}
  .nav-group>summary{display:flex;margin:0;padding:.55rem .7rem;white-space:nowrap}
  .nav-group>summary.nav-label{display:flex}
}
/* Content inside <details> doesn't inherit box-sizing in Chromium; set it explicitly. */
details>*,input,select,textarea,button{box-sizing:border-box}

/* v2.4: 3D rounded cube countdown (each unit is a cube that rolls to the next number) */
.cube{--s:clamp(4.2rem,17vw,6.2rem);width:var(--s);height:auto;aspect-ratio:auto;border:0;border-radius:0;background:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:0}
.cube::before{display:none}
.c3{width:var(--s);height:var(--s);perspective:calc(var(--s) * 6);filter:drop-shadow(0 14px 18px rgba(0,0,0,.45))}
.c3-spin{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-16deg) rotateY(-24deg);transition:transform .6s cubic-bezier(.3,.7,.2,1.2)}
.c3-spin.roll{transform:rotateX(74deg) rotateY(-24deg) rotateZ(0deg)}
.cube .f{position:absolute;inset:0;border-radius:24%;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;outline:1px solid transparent}
.cube .f b{font-family:var(--display);font-weight:900;font-size:calc(var(--s) * .5);line-height:1;padding-bottom:.04em;background:var(--sunset-x);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums;animation:none}
.cube .f-front,.cube .f-bottom{background:radial-gradient(120% 90% at 30% 15%,color-mix(in srgb,var(--surface) 65%,#fff 7%),var(--surface) 55%,color-mix(in srgb,var(--surface) 75%,#000));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--pink) 45%,transparent),inset 0 -10px 18px rgba(0,0,0,.28)}
.cube .f-front{transform:translateZ(calc(var(--s) / 2))}
.cube .f-bottom{transform:rotateX(-90deg) translateZ(calc(var(--s) / 2))}
.cube .f-top{transform:rotateX(90deg) translateZ(calc(var(--s) / 2));background:linear-gradient(135deg,var(--peach),var(--orange) 45%,var(--pink));box-shadow:inset 0 0 22px rgba(255,255,255,.25)}
.cube .f-back{transform:rotateY(180deg) translateZ(calc(var(--s) / 2));background:var(--surface)}
.cube .f-right{transform:rotateY(90deg) translateZ(calc(var(--s) / 2));background:linear-gradient(180deg,color-mix(in srgb,var(--purple) 70%,var(--surface)),color-mix(in srgb,var(--purple) 35%,#000))}
.cube .f-left{transform:rotateY(-90deg) translateZ(calc(var(--s) / 2));background:color-mix(in srgb,var(--purple) 40%,#000)}
.cube>span{font-size:clamp(.62rem,2.2vw,.76rem);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.cubes{gap:clamp(.8rem,3vw,1.5rem);margin:1.6rem 0 .6rem}
.rcard .cube{--s:clamp(3.3rem,10vw,4.3rem)}
.rcard .cubes{gap:.9rem;margin:.9rem 0 .7rem}
.release .cube{--s:3.1rem}
.release .cubes{gap:.75rem;margin:.6rem 0}
.release .cube>span,.rcard .cube>span{font-size:.58rem}
@media (prefers-reduced-motion:reduce){.c3-spin{transition:none}}
.cubes{gap:calc(var(--gap-s,5rem) * .3)}
.cube{gap:calc(var(--s) * .2)}
.cubes:has(.cube){--gap-s:5.2rem;padding:0 .3rem}
.rcard .cubes{--gap-s:4rem;gap:1.25rem;padding-left:.45rem}
.release .cubes{gap:1rem;padding-left:.3rem}
.co-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:.6rem}
.co-group{border:1.5px solid var(--line);border-top:3px solid var(--c);border-radius:12px;padding:.7rem .8rem;background:var(--bg)}
.co-group h3{margin:0 0 .5rem;font-size:.95rem}
.co-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.co-list li{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem;border-radius:9px;background:var(--surface);border:1.5px solid var(--line)}
.co-list li b{display:block;font-size:.9rem;line-height:1.2}
.co-list li small{color:var(--muted);font-size:.78rem}
.co-list li.dragging{opacity:.5}

/* v2.5: flat countdown (replaces the cubes) */
.cubes{display:flex;justify-content:center;align-items:flex-start;gap:clamp(.3rem,1.6vw,.8rem);margin:1.2rem 0 .4rem;padding:0;flex-wrap:nowrap}
.cd-unit{display:flex;flex-direction:column;align-items:center;min-width:2.4ch}
.cd-unit b{font-family:var(--display);font-weight:900;font-size:clamp(2.6rem,9vw,4.6rem);line-height:1;padding-bottom:.05em;background:var(--sunset-x);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-variant-numeric:tabular-nums}
.cd-unit span{font-size:clamp(.62rem,2vw,.74rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.2rem}
.cd-sep{font-style:normal;font-family:var(--display);font-weight:900;font-size:clamp(2rem,7vw,3.6rem);line-height:1;color:var(--line);padding-top:.1em}
.rcard .cubes,.release .cubes{justify-content:flex-start;gap:.35rem;margin:.6rem 0 .5rem;padding:0}
.rcard .cd-unit b{font-size:clamp(2rem,6vw,2.8rem)}
.rcard .cd-sep{font-size:clamp(1.6rem,5vw,2.2rem)}
.release .cd-unit b{font-size:1.7rem}
.release .cd-sep{font-size:1.4rem}
.release .cd-unit span,.rcard .cd-unit span{font-size:.6rem}

/* v2.5: calculator page */
.pc-top nav a[aria-current="page"]:not(.pc-btn){color:var(--pink)}
.pc-hero-sm{padding:clamp(1.4rem,4vw,2.4rem) 0 1rem}
.pc-hero-sm h1{font-size:clamp(2.6rem,8vw,4.6rem)}
.pc-calc-page{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:1.6rem;align-items:start;padding-top:1rem;padding-bottom:2rem}
.pc-pick-bar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);padding:.6rem 0;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;border-bottom:1.5px solid var(--line)}
.pc-pick-bar input{flex:1 1 260px;width:auto}
.pc-pick-ch{margin:1rem 0}
.pc-pick-ch h3{font-size:.9rem;color:var(--muted);margin:0 0 .4rem}
.pc-compact td{padding:.45rem .55rem}
.pc-compact .pc-el{display:none}
.pc-compact tr:hover .pc-el{display:block}
.pc-booking{position:sticky;top:1rem}
.pc-booking-in{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:1rem 1.1rem;box-shadow:0 20px 50px rgba(0,0,0,.3);max-height:calc(100vh - 2rem);overflow-y:auto}
.pc-booking h2{font-family:var(--display);font-weight:900;font-size:1.8rem;margin:0 0 .6rem}
.pc-fields{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.pc-fields label,.pc-notes{display:flex;flex-direction:column;gap:.2rem;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.pc-fields input,.pc-notes textarea{font-size:.88rem;padding:.45rem .55rem;text-transform:none;letter-spacing:0;font-weight:500}
.pc-notes{margin:.6rem 0}
.pc-totals .pc-wide{grid-column:span 2}
.pc-small{font-size:.76rem;color:var(--muted);margin:.6rem 0 0}
.pc-float{position:fixed;right:1rem;bottom:1rem;z-index:40;display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1.5px solid var(--pink);border-radius:999px;padding:.6rem 1rem;color:var(--text);text-decoration:none;font-weight:700;box-shadow:0 18px 40px rgba(0,0,0,.4)}
.pc-float em{font-style:normal;color:var(--pink)}
.pc-float[hidden]{display:none}
@media (max-width:960px){.pc-calc-page{grid-template-columns:1fr}.pc-booking{position:static;order:-1}.pc-booking-in{max-height:none}}
@media print{
  .penal-calc .pc-gov,.penal-calc .pc-top,.penal-calc .pc-hero,.penal-calc .pc-pick,.penal-calc .pc-calc-actions,.penal-calc .pc-qty button,.penal-calc .pc-foot,.penal-calc .pc-small{display:none!important}
  .penal-calc .pc-calc-page{display:block}.penal-calc .pc-booking{position:static}.penal-calc .pc-booking-in{box-shadow:none;border-color:#999;max-height:none}
}

/* v2.5: more palm trees */
.palm-strip{
  --p:url(/assets/img/palm.svg?v=2);--q:url(/assets/img/palm-flip.svg?v=2);
  height:clamp(110px,16vw,190px);margin-top:2.5rem;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--purple) 55%,var(--bg)),color-mix(in srgb,var(--purple) 30%,var(--bg)));opacity:.55;
  -webkit-mask:var(--q) 1% 100%/auto 100% no-repeat,var(--p) 7% 100%/auto 72% no-repeat,var(--q) 12% 100%/auto 52% no-repeat,var(--p) 17% 100%/auto 38% no-repeat,
    var(--q) 31% 100%/auto 32% no-repeat,var(--p) 35% 100%/auto 50% no-repeat,var(--p) 52% 100%/auto 28% no-repeat,var(--q) 55% 100%/auto 40% no-repeat,
    var(--p) 68% 100%/auto 36% no-repeat,var(--q) 74% 100%/auto 58% no-repeat,var(--p) 83% 100%/auto 42% no-repeat,var(--q) 88% 100%/auto 74% no-repeat,var(--p) 99% 100%/auto 100% no-repeat;
  mask:var(--q) 1% 100%/auto 100% no-repeat,var(--p) 7% 100%/auto 72% no-repeat,var(--q) 12% 100%/auto 52% no-repeat,var(--p) 17% 100%/auto 38% no-repeat,
    var(--q) 31% 100%/auto 32% no-repeat,var(--p) 35% 100%/auto 50% no-repeat,var(--p) 52% 100%/auto 28% no-repeat,var(--q) 55% 100%/auto 40% no-repeat,
    var(--p) 68% 100%/auto 36% no-repeat,var(--q) 74% 100%/auto 58% no-repeat,var(--p) 83% 100%/auto 42% no-repeat,var(--q) 88% 100%/auto 74% no-repeat,var(--p) 99% 100%/auto 100% no-repeat}
.palm-strip + .foot,.palm-strip + .pc-foot{margin-top:0;border-top:1.5px solid color-mix(in srgb,var(--purple) 40%,var(--line))}
.foot::before,.foot::after{display:none}
/* page headers: palm clusters on both sides */
.credits-head::before,.credits-head::after{opacity:.2}
.credits-head{--p:url(/assets/img/palm.svg?v=2);--q:url(/assets/img/palm-flip.svg?v=2)}
.credits-head>.kicker-sub::before,.credits-head>.kicker-sub::after{content:"";position:absolute;bottom:0;width:clamp(40px,6vw,70px);height:clamp(58px,9vw,100px);background:var(--purple);opacity:.14;pointer-events:none;-webkit-mask:var(--p) no-repeat bottom/contain;mask:var(--p) no-repeat bottom/contain}
.credits-head>.kicker-sub::before{left:clamp(64px,11vw,130px);-webkit-mask-image:var(--q);mask-image:var(--q)}
.credits-head>.kicker-sub::after{right:clamp(52px,8vw,100px)}
/* HQ sidebar: a palm behind the account box */
.hq-side{position:sticky}
.hq-side::after{content:"";position:absolute;right:-6px;bottom:3.4rem;width:86px;height:120px;pointer-events:none;background:var(--purple);opacity:.12;-webkit-mask:url(/assets/img/palm.svg?v=2) no-repeat bottom/contain;mask:url(/assets/img/palm.svg?v=2) no-repeat bottom/contain}
.hq-me,.hq-side nav{position:relative;z-index:1}
/* penal site hero */
.pc-hero{position:relative;overflow:hidden}
.pc-hero::before,.pc-hero::after{content:"";position:absolute;bottom:-4px;pointer-events:none;background:color-mix(in srgb,var(--purple) 60%,var(--bg));opacity:.35;-webkit-mask:url(/assets/img/palm.svg?v=2) no-repeat bottom/contain;mask:url(/assets/img/palm.svg?v=2) no-repeat bottom/contain}
.pc-hero::before{right:6%;width:clamp(80px,12vw,150px);height:clamp(110px,17vw,210px)}
.pc-hero::after{right:15%;width:clamp(50px,7vw,90px);height:clamp(70px,10vw,125px);-webkit-mask-image:url(/assets/img/palm-flip.svg?v=2);mask-image:url(/assets/img/palm-flip.svg?v=2)}
.pc-hero .pc-wrap{position:relative;z-index:1}
@media (max-width:980px){.hq-side::after{display:none}}

.pc-result{white-space:nowrap;min-width:auto}

/* v2.5.1: ticker band — nothing from the intro spills over it, tighter, brighter, always moving */
.stage{overflow:hidden}
.ticker{
  z-index:3;border-block:0;padding:clamp(.55rem,1.4vw,1rem) 0;
  background:
    radial-gradient(ellipse 60% 140% at 20% 50%,rgba(255,61,139,.16),transparent 70%),
    radial-gradient(ellipse 60% 140% at 80% 50%,rgba(255,138,61,.14),transparent 70%),
    linear-gradient(90deg,rgba(155,77,224,.18),rgba(21,11,40,0) 35%,rgba(21,11,40,0) 65%,rgba(155,77,224,.18)),
    var(--bg);
}
.ticker::before,.ticker::after{content:"";position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--purple),var(--pink) 30%,var(--orange) 55%,var(--peach) 75%,var(--teal));z-index:1}
.ticker::before{top:0;box-shadow:0 0 18px rgba(255,61,139,.55)}
.ticker::after{bottom:0;box-shadow:0 0 18px rgba(255,138,61,.5)}
.ticker-move{-webkit-mask-image:none;mask-image:none}
.ticker-track{-webkit-mask-image:none;mask-image:none}
.ticker>.ticker-move{position:relative}
.ticker-fade{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(90deg,var(--bg),transparent 6%,transparent 94%,var(--bg))}
.ticker-track span{line-height:1.06;padding:.06em .35em .1em}
.ticker-track span.f{filter:drop-shadow(0 0 14px rgba(255,61,139,.55)) drop-shadow(0 0 32px rgba(255,138,61,.3))}
.ticker-track span.o{-webkit-text-stroke:2px var(--peach);text-shadow:0 0 22px rgba(255,200,107,.45),0 0 44px rgba(255,61,139,.25)}
.ticker-track svg{filter:drop-shadow(0 0 10px rgba(255,138,61,.75))}
/* Keep a slow drift even when the device asks for reduced motion. */
@media (prefers-reduced-motion:reduce){.ticker .ticker-track{animation:pj-tick 140s linear infinite!important}}

/* Long usernames in the account sidebar */
.acct-me{min-width:0}
.acct-me b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.acct-side{min-width:0;overflow:hidden}

/* v2.6: new brand — chrome VI in the hero sun, palms drawn from one shared shape */
.sun .sun-vi{fill:url(#vichrome);stroke:#150B28;stroke-width:2.4px;paint-order:stroke;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,61,139,.7)) drop-shadow(0 3px 0 rgba(21,11,40,.55))}
.sun use.palm{fill:#150B28}
.brand-hex{overflow:visible}

/* v2.6.2: penal code on phones */
.pc-mbar{display:none}
@media (max-width:760px){
  .pc-wrap{padding-left:.9rem;padding-right:.9rem}
  .pc-gov summary{font-size:.74rem;line-height:1.4}
  .pc-top-in{flex-wrap:wrap;gap:.55rem;padding-top:.6rem;padding-bottom:.6rem}
  .pc-brand svg{width:36px;height:36px}
  .pc-brand b{font-size:1.2rem;white-space:nowrap}
  .pc-brand small{white-space:nowrap;font-size:.72rem}
  .pc-top nav{width:100%;justify-content:space-between;gap:.4rem}
  .pc-top nav a{font-size:.84rem}
  .pc-top nav .pc-btn{padding:.4rem .75rem;font-size:.82rem}
  .pc-hero{padding:1.4rem 0 1.1rem}
  .pc-hero h1{font-size:clamp(2.6rem,13vw,3.5rem)}
  .pc-tag{font-size:.94rem}
  .pc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:1rem}
  .pc-stats div{min-width:0;padding:.5rem .55rem;border-radius:11px}
  .pc-stats dt{font-size:.58rem;letter-spacing:.08em}
  .pc-stats dd{font-size:1.35rem}
  /* search + filters: one swipeable row of class buttons */
  .pc-bar-in,.pc-pick-bar{flex-wrap:wrap;gap:.45rem}
  .pc-bar input,.pc-pick-bar input{flex:1 1 100%;min-width:0}
  .pc-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%;padding-bottom:2px;-webkit-overflow-scrolling:touch}
  .pc-chips::-webkit-scrollbar{display:none}
  .pc-chip{flex:none}
  .pc-result{font-size:.78rem}
  .pc-title>h2{font-size:1.7rem;margin-top:1.8rem}
  .pc-ch h3{font-size:1.02rem}
  .pc-prose{font-size:.9rem}
  .pc-prose .md-table{overflow-x:auto}
  /* charge tables become cards */
  .pc-charges{display:block}
  .pc-table-wrap:has(.pc-charges){overflow:visible;border:0;background:none;border-radius:0}
  .pc-charges thead{display:none}
  .pc-charges tbody{display:block}
  .pc-charges tr.pc-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .45rem;padding:.75rem .85rem;margin:0 0 .55rem;background:var(--surface);border:1.5px solid var(--line);border-radius:14px}
  .pc-charges tr.pc-row[hidden]{display:none}
  .pc-charges td{display:block;padding:0;border:0!important;min-width:0}
  .pc-charges td.pc-code{order:1;flex:1 1 auto;font-size:.78rem}
  .pc-charges td:last-child{order:2;flex:none}
  .pc-charges td.pc-name{order:3;flex:1 1 100%}
  .pc-charges td.pc-name b{font-size:1rem}
  .pc-charges td.pc-name .pc-el{font-size:.84rem}
  .pc-charges td:nth-child(3){order:4}
  .pc-charges td.pc-sent{order:9;flex:1 1 100%;font-size:.8rem;color:var(--muted);min-width:0}
  .pc-charges td.pc-sent::before{content:"Sentence: ";font-weight:700;color:var(--text)}
  .pc-charges td.pc-num{order:5;font-size:.78rem;font-weight:700;background:var(--bg);border:1px solid var(--line)!important;border-radius:999px;padding:.14rem .55rem}
  .pc-charges td.pc-num.pc-zero{display:none}
  .pc-charges td.pc-pts::after{content:" pts";font-weight:500;color:var(--muted)}
  .pc-add{width:38px;height:38px;font-size:1.3rem}
  .pc-float{left:.9rem;right:.9rem;bottom:.9rem}
  /* calculator: charges first, booking below, running total pinned to the bottom */
  .pc-calc-page{display:flex;flex-direction:column;gap:1rem;align-items:stretch}
  .pc-calc-page>*{width:100%;max-width:100%;min-width:0}
  .pc-compact td{padding:0}
  .pc-compact .pc-el{display:block}
  .pc-calc-page .pc-booking{order:2;position:static}
  .pc-calc-page .pc-pick{order:1;min-width:0}
  .pc-booking-in{max-height:none}
  .pc-mbar[hidden]{display:none}
  .pc-mbar:not([hidden]){display:flex;position:fixed;left:.7rem;right:.7rem;bottom:calc(.7rem + env(safe-area-inset-bottom,0px));z-index:30;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .95rem;border-radius:14px;background:var(--surface);border:1.5px solid var(--pink);box-shadow:0 14px 34px rgba(0,0,0,.45);color:var(--text);text-decoration:none;font-size:.86rem}
  .pc-mbar-go{font-weight:800;color:var(--pink);white-space:nowrap}
  .penal-calc .pc-foot{padding-bottom:6rem}
}

/* ======================================================================
   v2.7 Support: contact, conversations, Help Center
   ====================================================================== */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.contact .apply-card,.help .apply-card{max-width:820px;margin-left:auto;margin-right:auto}
.ct-cats{border:0;padding:0;margin:0 0 .4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.55rem}
.ct-cats legend{font-weight:700;margin-bottom:.55rem;padding:0}
.ct-cat{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .8rem;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s}
.ct-cat:hover{border-color:color-mix(in srgb,var(--pink) 55%,var(--line))}
.ct-cat input{margin-top:.2rem;accent-color:var(--pink);flex:none}
.ct-cat b{display:block;font-size:.92rem}
.ct-cat small{display:block;color:var(--muted);font-size:.78rem;line-height:1.4;margin-top:.1rem}
.ct-cat:has(input:checked){border-color:var(--pink);background:color-mix(in srgb,var(--pink) 10%,var(--bg))}
.ct-extra[hidden]{display:none}
.ct-help{max-width:820px;margin:0 auto 1rem;padding:.9rem 1.1rem;border:1.5px dashed color-mix(in srgb,var(--peach) 50%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--peach) 6%,transparent)}
.ct-help b{display:block;margin-bottom:.3rem}
.ct-help ul{margin:0 0 .4rem;padding-left:1.1rem}
.ct-help li{margin:.15rem 0}
.ct-alt{text-align:center}
.ct-thread{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.7rem}
.ct-msg{padding:.8rem 1rem;border-radius:14px;background:var(--bg);border:1.5px solid var(--line);max-width:92%}
.ct-msg.is-staff{justify-self:end;background:color-mix(in srgb,var(--purple) 16%,var(--bg));border-color:color-mix(in srgb,var(--purple) 45%,var(--line))}
.ct-msg.is-note{justify-self:end;background:color-mix(in srgb,var(--peach) 10%,var(--bg));border-style:dashed;border-color:color-mix(in srgb,var(--peach) 55%,var(--line))}
.ct-msg.is-system{justify-self:center;max-width:100%;background:transparent;border-style:dashed;font-size:.88rem;color:var(--muted)}
.ct-who{margin:0 0 .35rem;font-size:.84rem}
.ct-who span{color:var(--muted);font-size:.78rem}
.ct-body{line-height:1.6;overflow-wrap:anywhere}
.ct-files{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.6rem}
.ct-files img{width:120px;height:90px;object-fit:cover;border-radius:9px;border:1.5px solid var(--line);display:block}
.ct-files a:hover img{border-color:var(--pink)}
.ct-reply{margin-top:1rem;padding-top:1rem;border-top:1.5px solid var(--line)}
.ct-rate{margin:1rem 0;padding:1rem;border:1.5px solid color-mix(in srgb,var(--peach) 45%,var(--line));border-radius:14px;display:grid;gap:.6rem}
.ct-rate fieldset{border:0;padding:0;margin:0}
.ct-rate legend{font-weight:700;margin-bottom:.3rem}
.ct-stars{display:inline-flex;flex-direction:row-reverse;gap:.15rem}
.ct-stars input{position:absolute;opacity:0;width:1px;height:1px}
.ct-stars label{font-size:2rem;line-height:1;color:var(--line);cursor:pointer;transition:color .12s,transform .12s}
.ct-stars label:hover,.ct-stars label:hover~label,.ct-stars input:checked~label{color:var(--peach)}
.ct-stars input:focus-visible+label{outline:2px solid var(--pink);outline-offset:2px;border-radius:4px}
.ct-rated{font-size:1.3rem;color:var(--peach);margin:0}
.ct-rated .muted{font-size:.9rem}
.ct-chip{display:inline-block;font-size:.72rem;font-weight:800;padding:.14rem .5rem;border-radius:999px;border:1.5px solid var(--c,var(--line));color:var(--c,var(--muted));white-space:nowrap}
.ct-question{--c:var(--teal)}.ct-player{--c:var(--pink)}.ct-staff{--c:#FF5A6E}.ct-bug{--c:var(--orange)}.ct-appeal{--c:var(--purple)}.ct-billing{--c:var(--peach)}.ct-business{--c:#7AB8FF}.ct-other{--c:var(--muted)}
.ct-pri-high{color:var(--orange)!important;font-weight:700}
.ct-pri-urgent{color:#FF5A6E!important;font-weight:800}
.ct-pri-low{color:var(--muted)!important}
.ct-stats{margin:.4rem 0 1rem}
.bst.b-open{border-color:var(--teal);color:var(--teal)}
.bst.b-closed{border-color:var(--line);color:var(--muted)}
.subtabs{display:flex;gap:.3rem;margin:0 0 1rem;border-bottom:1.5px solid var(--line);flex-wrap:wrap}
.subtabs a{padding:.5rem .85rem;text-decoration:none;color:var(--muted);font-weight:700;font-size:.9rem;border-bottom:2.5px solid transparent;margin-bottom:-1.5px}
.subtabs a:hover{color:var(--text)}
.subtabs a[aria-current="page"]{color:var(--text);border-bottom-color:var(--pink)}
textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88rem}
/* Help Center */
.help{padding-bottom:3rem}
.help-head{text-align:center}
.help-search{display:flex;gap:.5rem;max-width:640px;margin:1.3rem auto 0}
.help-search input{flex:1;min-width:0;font-size:1.02rem;padding:.8rem 1rem;border-radius:12px}
.help-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:1.5rem}
.help-topic{scroll-margin-top:5rem}
.help-links{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.help-links li[hidden]{display:none}
.help-links a{display:block;padding:.55rem .6rem;border-radius:10px;text-decoration:none;color:var(--text)}
.help-links a:hover{background:var(--bg)}
.help-links a b{display:block;font-size:.95rem}
.help-links a span{display:block;color:var(--muted);font-size:.82rem;margin-top:.1rem}
.help-none{text-align:center;margin-top:1.4rem}
.help-crumb{margin:1.5rem 0 .8rem;font-size:.88rem}
.help-crumb span{color:var(--muted);margin:0 .3rem}
.help-article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.2rem;align-items:start}
.help-article h1{font-family:var(--display);font-weight:900;font-size:clamp(2rem,5vw,2.8rem);line-height:1.05;margin:0 0 .5rem}
.help-article .prose{line-height:1.7;margin-top:1rem}
.help-article .prose ol,.help-article .prose ul{padding-left:1.3rem}
.help-vote{margin-top:1.4rem;padding-top:1rem;border-top:1.5px solid var(--line)}
.help-vote form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.help-vote span{font-weight:700;margin-right:.3rem}
.help-cta{background:linear-gradient(135deg,color-mix(in srgb,var(--pink) 14%,var(--surface)),var(--surface))}
.help-cta-wide{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.4rem}
.help-cta-wide p{margin:.2rem 0 0;color:var(--muted)}
@media (max-width:860px){.help-article-grid{grid-template-columns:1fr}.ct-msg{max-width:100%}.help-search{flex-direction:column}}

/* ======================================================================
   v2.8 Blacklist cases
   ====================================================================== */
.bl-quiet{margin:0 0 1rem;padding:.8rem 1rem;border-radius:12px;border:1.5px dashed color-mix(in srgb,var(--peach) 60%,var(--line));background:color-mix(in srgb,var(--peach) 7%,transparent);font-size:.92rem}
.bl-st{display:inline-block;font-size:.72rem;font-weight:800;padding:.14rem .5rem;border-radius:999px;border:1.5px solid var(--line);color:var(--muted)}
.bl-pending{border-color:var(--peach);color:var(--peach)}
.bl-investigating{border-color:var(--purple);color:#C79BFF}
.bl-active{border-color:#FF5A6E;color:#fff;background:#FF5A6E}
.bl-appeal{border-color:var(--orange);color:var(--orange)}
.bl-denied{border-color:var(--line);color:var(--muted);text-decoration:line-through}
.bl-tier{display:inline-block;font-size:.68rem;font-weight:800;padding:.1rem .45rem;border-radius:6px;background:var(--bg);border:1px solid var(--line)}
.bl-t3,.bl-t4{border-color:#FF5A6E;color:#FF8A9A}
.nbadge{display:inline-block;min-width:1.3em;padding:0 .35em;border-radius:999px;background:var(--pink);color:#fff;font-size:.72rem;text-align:center;margin-left:.2rem}
.bl-meter{font-size:.8rem;font-weight:700;color:var(--orange);margin-left:.5rem}
.bl-meter.ok{color:var(--teal)}
.bl-grid{margin:.4rem 0 1rem}
.bl-rows td{padding:.3rem .35rem}
.bl-rows input,.bl-rows select{font-size:.86rem;padding:.4rem .5rem;min-width:7rem}
.bl-rows tr[hidden]{display:none}
.bl-scope{columns:2;column-gap:1.5rem}
.bl-scope label{break-inside:avoid;display:block}
.bl-lookup-out p{margin:.2rem 0}
.bl-signoff{border-color:color-mix(in srgb,var(--pink) 45%,var(--line))}
.bl-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.55rem;margin:.6rem 0 1rem}
.bl-path{border:1.5px solid var(--line);border-radius:12px;padding:.6rem .7rem;display:grid;gap:.2rem;font-size:.84rem;background:var(--bg)}
.bl-path b{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bl-path span::before{content:"○ ";color:var(--muted)}
.bl-path span.y::before{content:"● ";color:var(--teal)}
.bl-path.ok{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal) inset}
.bl-sign{margin-top:1rem;padding-top:1rem;border-top:1.5px solid var(--line);display:grid;gap:.6rem}
.bl-sign h3{margin:0}
.bl-pad{position:relative;border:1.5px dashed var(--line);border-radius:12px;background:var(--bg);max-width:600px}
.bl-pad canvas{display:block;width:100%;height:auto;aspect-ratio:600/180;touch-action:none;cursor:crosshair}
.bl-pad button{position:absolute;right:.6rem;bottom:.4rem}
.bl-pad::after{content:"Sign here";position:absolute;left:1rem;bottom:.5rem;font-size:.72rem;color:var(--muted);pointer-events:none}
.bl-saved-sig{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.bl-saved-sig img{height:70px;max-width:280px;object-fit:contain;background:var(--bg);border-radius:10px;padding:.3rem .6rem;border:1.5px solid var(--line)}
.bl-decide{display:flex;gap:.6rem;flex-wrap:wrap}
.bl-decide .btn{min-width:10rem;justify-content:center;font-size:1rem;padding:.75rem 1.2rem}
.bl-out{margin:.7rem 0}
.bl-out-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.3rem}
.bl-out-top span{display:flex;gap:.4rem;flex-wrap:wrap}
.bl-out textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;background:var(--bg);resize:vertical}
.bl-vote{padding:.6rem 0;border-bottom:1px solid var(--line)}
.bl-vote:last-child{border-bottom:0}
.bl-vote p{margin:0 0 .3rem}
.bl-vote.no b{color:#FF8A9A}
.bl-vote.yes b{color:var(--teal)}
.bl-sig img{display:block;height:60px;max-width:100%;object-fit:contain;object-position:left}
.bl-sig small{color:var(--muted);font-size:.76rem}
.bl-sig-typed{font-family:"Brush Script MT","Segoe Script",cursive;font-size:1.6rem;color:var(--peach)}
.bl-tick{width:26px;height:26px;border-radius:7px;border:1.5px solid var(--line);background:var(--bg);color:#fff;font-weight:800;cursor:pointer;margin-right:.5rem}
.bl-tick.on{background:var(--teal);border-color:var(--teal);color:#150B28}
.bl-step{display:inline}
.bl-log{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.45rem;max-height:420px;overflow:auto;font-size:.86rem}
.bl-log li{padding-left:.7rem;border-left:2px solid var(--line)}
.bl-log span{color:var(--muted)}
.bl-log small{display:block;color:var(--muted);font-size:.74rem}
@media (max-width:760px){.bl-scope{columns:1}.bl-decide .btn{flex:1;min-width:0}}
/* Phones: keep the open Manage group on the same swipeable line as the rest of the HQ menu */
@media (max-width:980px){
  .nav-group{white-space:nowrap;display:inline-block}
  .nav-group::details-content{display:contents}
  .nav-group>summary,.nav-group>a{display:inline-flex!important;vertical-align:middle}
}

/* ---------- main page: about, features, steps, FAQ, closing call to action (2.9) ---------- */
.kicker-s{margin:0 0 .6rem;font-weight:800;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;background:var(--sunset-x);-webkit-background-clip:text;background-clip:text;color:transparent;width:fit-content}
.about-text{max-width:44rem;font-size:1.08rem}
.about-text p{margin:0 0 1rem;color:var(--text)}
.stats{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.stats li{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1.1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;min-width:0}
.stats b{font-family:var(--display);font-weight:900;font-size:clamp(1.9rem,4.4vw,2.7rem);line-height:1;background:var(--sunset-x);-webkit-background-clip:text;background-clip:text;color:transparent;overflow-wrap:anywhere}
.stats span{color:var(--muted);font-size:.9rem}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.feat{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1.3rem 1.3rem 1.4rem;transition:border-color .25s,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.feat:hover{border-color:var(--pink);box-shadow:0 18px 48px -26px color-mix(in srgb,var(--pink) 70%,transparent)}
.feat-ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:13px;color:var(--pink);background:color-mix(in srgb,var(--pink) 13%,transparent);margin-bottom:.8rem}
.feat h3{margin:0 0 .35rem;font-size:1.1rem;line-height:1.25}
.feat p{margin:0;color:var(--muted);font-size:.96rem}
.steps{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;counter-reset:none}
.step{display:grid;grid-template-columns:48px 1fr;gap:1rem;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1.1rem 1.2rem}
.step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-family:var(--display);font-weight:900;font-size:1.3rem;color:var(--on-accent);background:var(--sunset-x)}
.step h3{margin:.1rem 0 .3rem;font-size:1.08rem}
.step p{margin:0;color:var(--muted);font-size:.95rem}
.step:last-child:nth-child(odd){grid-column:1/-1}
.faq{display:grid;gap:.6rem;max-width:50rem}
.faq details{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;transition:border-color .2s}
.faq details[open]{border-color:var(--pink)}
.faq summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.2rem;font-weight:700;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:500;color:var(--pink);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq summary:focus-visible{outline:2px solid var(--pink);outline-offset:2px;border-radius:12px}
.faq-a{padding:0 1.2rem 1rem;color:var(--muted)}
.faq-a p{margin:0 0 .6rem}
.faq-more{margin-top:1.2rem;color:var(--muted)}
.cta-band-wrap{padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:clamp(2.5rem,6vw,4rem)}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2rem;flex-wrap:wrap;padding:clamp(1.5rem,4vw,2.4rem);border-radius:22px;color:var(--on-accent);background:var(--sunset-x);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 120% at 100% 0,rgba(255,255,255,.28),transparent 60%);pointer-events:none}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{margin:0 0 .3rem;font-family:var(--display);font-weight:900;font-size:clamp(1.8rem,4.6vw,2.8rem);line-height:1}
.cta-band p{margin:0;max-width:34rem;opacity:.92}
.cta-band-btns{display:flex;gap:.7rem;flex-wrap:wrap}
.cta-band .btn-primary{background:#fff;color:#2A1338}
.cta-band .btn-ghost{border-color:rgba(27,11,36,.6);color:inherit;background:transparent}
@media (max-width:860px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .feat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .feat-grid,.steps{grid-template-columns:1fr}
  .step{grid-template-columns:40px 1fr;padding:1rem}
  .step-n{width:38px;height:38px;font-size:1.1rem}
  .cta-band-btns .btn{flex:1 1 100%}
}
.kicker-s + h2{margin-bottom:1.6rem;text-wrap:balance}
.about .about-text{margin-top:0}

/* ---------- light or dark switch (2.9.1) ---------- */
.top-end{display:flex;align-items:center;gap:.6rem;min-width:0}
.theme-btn{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1.5px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--text);cursor:pointer;transition:border-color .2s,transform .3s cubic-bezier(.2,.7,.2,1)}
.theme-btn:hover{border-color:var(--pink);transform:rotate(-14deg)}
.theme-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.theme-btn .i-moon{display:none}
:root[data-theme="light"] .theme-btn .i-sun{display:none}
:root[data-theme="light"] .theme-btn .i-moon{display:block}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .theme-btn .i-sun{display:none}
  :root:not([data-theme="dark"]) .theme-btn .i-moon{display:block}
}
.pc-top nav .theme-btn{width:34px;height:34px}
.pc-top nav .theme-btn svg{width:16px;height:16px}
@media (max-width:860px){.top-end{gap:.5rem}.theme-btn{width:44px;height:44px;border-radius:10px}}

/* ---------- server rules page (2.9.1) ---------- */
.rules-page{padding-bottom:3rem}
.rules-hero{padding:clamp(1.5rem,5vw,3rem) 0 1.5rem;max-width:48rem}
.rules-hero h1{font-family:var(--display);font-weight:900;font-size:clamp(2.8rem,9vw,5rem);line-height:.92;margin:0 0 1rem}
.rules-intro p{margin:0 0 .8rem;font-size:1.05rem}
.rules-meta{color:var(--muted);font-size:.9rem;font-weight:600;margin:.6rem 0 0}
.rules-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2rem;align-items:start}
.rules-toc{position:sticky;top:1rem;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1rem}
.rules-toc-h{margin:0 0 .5rem;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rules-toc ol{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.15rem}
.rules-toc a{display:flex;gap:.6rem;align-items:baseline;padding:.35rem .45rem;border-radius:8px;color:var(--text);text-decoration:none;font-weight:600;font-size:.92rem}
.rules-toc a:hover{background:color-mix(in srgb,var(--pink) 12%,transparent)}
.rules-toc a span{color:var(--pink);font-variant-numeric:tabular-nums;min-width:1.1em}
.rules-search{display:flex;align-items:center;gap:.6rem;background:var(--surface);box-shadow:0 -14px 0 var(--bg),0 10px 24px -18px rgba(0,0,0,.5);border:1.5px solid var(--line);border-radius:14px;padding:0 1rem;margin-bottom:1.5rem;position:sticky;top:.6rem;z-index:3}
.rules-search:focus-within{border-color:var(--pink)}
.rules-search svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.rules-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;padding:.85rem 0;outline:none}
.rules-none{color:var(--muted)}
.rules-sec{scroll-margin-top:5rem;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:clamp(1.1rem,3vw,1.6rem);margin-bottom:1.1rem}
.rules-sec h2{display:flex;align-items:center;gap:.8rem;margin:0 0 1rem;font-family:var(--display);font-weight:900;font-size:clamp(1.6rem,4.4vw,2.2rem);line-height:1}
.rules-n{display:inline-grid;place-items:center;flex:none;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--sunset-x);color:var(--on-accent);font-size:1.15rem}
.rules-sec ol,.rules-sec ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.rules-sec li{scroll-margin-top:5.5rem;padding:.55rem .7rem .55rem 3.6rem;position:relative;border-radius:10px;line-height:1.55}
.rules-sec li:target{background:color-mix(in srgb,var(--pink) 14%,transparent);box-shadow:inset 3px 0 0 var(--pink)}
.rules-sec li strong{color:var(--text)}
.rule-ref{position:absolute;left:.6rem;top:.6rem;font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--pink);text-decoration:none}
.rule-ref:hover{text-decoration:underline}
.rules-sec p{margin:0 0 .6rem}
.rules-foot{margin-top:1.6rem;color:var(--muted)}
@media (max-width:860px){
  .rules-layout{grid-template-columns:1fr;gap:1rem}
  .rules-toc{position:static}
  .rules-toc ol{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .rules-toc ol{grid-template-columns:1fr}
  .rules-sec li{padding-left:3rem}
}
.stage .theme-btn{background:rgba(21,11,40,.45);color:#FFF1F7;border-color:rgba(255,241,247,.3);backdrop-filter:blur(6px)}

/* ---------- account on hold screen (2.10) ---------- */
.hold-body{min-height:100vh;display:grid;place-items:center;padding:clamp(1rem,6vw,3rem) 1rem;background:radial-gradient(70% 50% at 50% 0,color-mix(in srgb,var(--purple) 10%,transparent),transparent 70%),var(--bg)}
.hold-card{width:100%;max-width:400px;border-radius:16px;overflow:hidden;background:var(--surface);border:1.5px solid var(--line);box-shadow:0 30px 80px -40px rgba(0,0,0,.7)}
.hold-top{position:relative;overflow:hidden;padding:1.4rem 1.4rem 2.6rem;background:color-mix(in srgb,var(--bg) 55%,var(--surface));border-bottom:1.5px solid var(--line)}
.hold-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:clamp(3rem,14vw,6rem)}
.hold-brand svg{width:38px;height:38px;flex:none}
.hold-brand b{display:block;font-weight:800;letter-spacing:.04em}
.hold-brand small{display:block;color:var(--muted);font-size:.82rem}
.hold-top h1{margin:0 0 .6rem;font-size:clamp(2rem,9vw,2.6rem);line-height:1.05;font-weight:800}
.hold-top p{margin:0;color:var(--muted);font-size:1.02rem;position:relative;z-index:1}
.hold-glow{position:absolute;left:50%;bottom:-70px;width:340px;height:140px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--pink) 55%,transparent),color-mix(in srgb,var(--orange) 18%,transparent) 60%,transparent);filter:blur(10px);pointer-events:none}
.hold-body-in{padding:2.4rem 1.4rem 1.6rem}
.hold-body-in h2{margin:0 0 .5rem;font-size:1.35rem}
.hold-body-in p{margin:0 0 .9rem;color:var(--muted)}
.hold-note{background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.7rem .8rem;color:var(--text)!important}
.hold-meta{font-size:.84rem;opacity:.85}
.hold-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.hold-actions form{margin:0}
.hold-out{display:inline-flex;align-items:center;gap:.5rem}
.hold-out svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* site-wide age notice in footers */
.age-note{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;margin:.8rem auto 0;color:var(--muted);font-size:.85rem;text-align:center}
.age-note b{display:inline-grid;place-items:center;min-width:2.3rem;height:1.6rem;padding:0 .4rem;border-radius:6px;border:1.5px solid var(--pink);color:var(--pink);font-size:.8rem;font-weight:800}

/* ---------- applications (2.10) ---------- */
.kicker-sub a{color:inherit;text-decoration:none}
.app-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:880px;margin:0 auto}
.app-choice{position:relative;display:flex;flex-direction:column;gap:.5rem;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:1.5rem;color:var(--text);text-decoration:none;transition:border-color .2s,transform .3s cubic-bezier(.2,.7,.2,1)}
.app-choice:hover{border-color:var(--pink);transform:translateY(-3px)}
.app-choice.closed{opacity:.8}
.app-choice h2{margin:0;font-family:var(--display);font-weight:900;font-size:2rem;line-height:1}
.app-choice p{margin:0;color:var(--muted)}
.app-choice ul{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.app-choice li{font-size:.8rem;font-weight:700;padding:.25rem .55rem;border-radius:999px;border:1.5px solid var(--line);color:var(--muted)}
.app-go{margin-top:auto;padding-top:.6rem;font-weight:800;color:var(--pink)}
.app-state{position:absolute;top:1rem;right:1rem;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px}
.app-state.open{background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--teal)}
.app-state.shut{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}
.app-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1.4rem;align-items:start;max-width:1080px;margin:0 auto 3rem}
.app-grid .apply-card{max-width:none;margin:0}
.app-side{display:grid;gap:1rem;position:sticky;top:1rem}
.app-side .card{margin:0}
.app-req{margin:0 0 1rem;padding-left:1.1rem;display:grid;gap:.45rem;font-size:.92rem}
.app-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0}
.app-facts div{background:var(--bg);border-radius:10px;padding:.5rem .55rem}
.app-facts dt{font-size:.7rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.app-facts dd{margin:.1rem 0 0;font-weight:800;font-size:.92rem}
.app-honest p{margin:0;color:var(--muted);font-size:.92rem}
.app-steps{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;counter-reset:none}
.app-steps li{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.86rem;color:var(--muted);padding-bottom:.6rem;border-bottom:3px solid var(--line);transition:color .2s,border-color .2s}
.app-steps li span{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1.5px solid var(--line);font-size:.8rem;flex:none}
.app-steps li.on{color:var(--text);border-color:var(--pink)}
.app-steps li.on span{background:var(--sunset-x);border-color:transparent;color:var(--on-accent)}
.app-steps li.done{color:var(--text);border-color:color-mix(in srgb,var(--pink) 45%,var(--line))}
.app-steps li.done span{border-color:var(--pink);color:var(--pink)}
.app-step{border:0;margin:0;padding:0;min-width:0}
.app-step+.app-step{margin-top:1.6rem}
.app-stepped .app-step+.app-step{margin-top:0}
.app-step-h{font-family:var(--display);font-weight:900;font-size:1.6rem;padding:0;margin-bottom:.8rem}
.app-q{margin-bottom:1.2rem!important}
.app-q>span,.app-q legend>span{font-size:.98rem!important}
.app-help{display:block;font-style:normal;color:var(--muted);font-size:.86rem;margin:-.1rem 0 .45rem}
.app-count{display:block;text-align:right;font-size:.78rem;color:var(--pink);margin-top:.25rem;font-weight:600}
.app-count.ok{color:var(--muted)}
.app-choices{border:0;padding:0;margin:0 0 1.2rem;min-width:0}
.app-choices legend{padding:0;margin-bottom:.35rem;font-weight:600}
.app-opts{display:flex;flex-wrap:wrap;gap:.45rem}
.app-opt{position:relative;cursor:pointer}
.app-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.app-opt span{display:inline-block;padding:.5rem .9rem;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);font-weight:600;font-size:.92rem;transition:border-color .2s,background .2s}
.app-opt input:checked+span{border-color:var(--pink);background:color-mix(in srgb,var(--pink) 16%,transparent)}
.app-opt input:focus-visible+span{outline:2px solid var(--pink);outline-offset:2px}
.app-verified{background:color-mix(in srgb,var(--teal) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--teal) 40%,transparent);border-radius:10px;padding:.6rem .8rem;margin:0 0 .9rem;font-size:.92rem}
.app-nav{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1.4rem;padding-top:1rem;border-top:1.5px solid var(--line)}
.app-nav [hidden]{visibility:hidden;display:inline-block!important}
.app-progress{color:var(--muted);font-size:.86rem;font-weight:600}
.app-sum{display:grid;gap:.1rem;margin:0 0 1.2rem;border:1.5px solid var(--line);border-radius:12px;overflow:hidden}
.app-sum div{padding:.65rem .85rem;background:var(--bg)}
.app-sum dt{font-size:.8rem;font-weight:700;color:var(--muted)}
.app-sum dd{margin:.15rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.app-send{width:100%;justify-content:center}
.app-done{text-align:left}
.app-done-mark{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:var(--sunset-x);color:var(--on-accent);font-size:1.4rem;font-weight:900;margin-bottom:.6rem}
.app-next{padding-left:1.2rem;display:grid;gap:.4rem;margin:.6rem 0 1.2rem}
@media (max-width:900px){.app-grid{grid-template-columns:1fr}.app-side{position:static}}
@media (max-width:640px){.app-pick{grid-template-columns:1fr}.app-steps li{font-size:0;gap:0;justify-content:center}.app-steps li span{font-size:.8rem}}
/* HQ: applications review */
.stack-lg{display:grid;gap:1rem;align-content:start;min-width:0}
.stack-lg>.card{margin:0}
.mini-h{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1rem 0 .4rem}
.qa+.qa{margin-top:1rem;padding-top:1rem;border-top:1.5px solid var(--line)}
.qa h3{font-size:.98rem;margin:0 0 .35rem}
.b-interview{color:var(--purple);border-color:var(--purple)}
.b-hold{color:var(--orange);border-color:var(--orange)}
.card-warn{border-color:var(--orange)}
.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding:.3rem;border:1.5px solid var(--line);border-radius:12px;background:var(--bg);margin-bottom:.8rem}
.seg-opt{position:relative;cursor:pointer}
.seg-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg-opt span{display:block;text-align:center;padding:.5rem .3rem;border-radius:9px;font-weight:700;font-size:.85rem;color:var(--muted)}
.seg-opt input:checked+span{background:var(--surface);color:var(--text);box-shadow:0 1px 0 var(--line),inset 0 -3px 0 var(--pink)}
.seg-opt.s-accepted input:checked+span{box-shadow:inset 0 -3px 0 var(--teal)}
.seg-opt.s-denied input:checked+span{box-shadow:inset 0 -3px 0 var(--muted)}
.seg-opt.s-interview input:checked+span{box-shadow:inset 0 -3px 0 var(--purple)}
.seg-opt input:focus-visible+span{outline:2px solid var(--pink);outline-offset:1px}
.tpl-row{align-items:center;margin:-.2rem 0 .8rem}
.pill-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem}
.pill-f{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1.5px solid var(--line);color:var(--text);text-decoration:none;font-weight:600;font-size:.86rem}
.pill-f b{font-size:.78rem;color:var(--muted)}
.pill-f.on{border-color:var(--pink);background:color-mix(in srgb,var(--pink) 12%,transparent)}
.qb td{vertical-align:top}
.qb input[type=text],.qb select{width:100%;min-width:0}
.qb td:first-child{min-width:240px}
.qb .qb-help{margin-top:.35rem;font-size:.85rem}
.qb .qb-num{width:5.5rem}
.qb-act{white-space:nowrap}
@media (max-width:620px){.seg{grid-template-columns:1fr 1fr}}
.app-row{align-items:flex-start!important}
.app-msg{display:block;margin-top:.5rem;padding:.6rem .75rem;border-radius:10px;background:var(--bg);border-left:3px solid var(--pink);font-size:.92rem;color:var(--text)}
.flash.warn{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--surface))}
.st-hold{color:var(--orange);border-color:var(--orange)}
.hold-hist{margin-top:.8rem}
.hold-hist summary{cursor:pointer;color:var(--muted);font-weight:600;font-size:.88rem}
/* HQ menu groups */
.nav-group>summary{gap:.4rem}
.nav-group>summary .nav-sum{margin-left:auto;margin-right:.35rem}
.nav-group[open]>summary .nav-sum{display:none}
.nav-group:first-of-type>summary{margin-top:.6rem}

/* ---------- report writer (2.10): /penal/calculator ---------- */
.rp-hero .pc-tag{max-width:52rem}
.rp-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.2rem;max-width:760px}
.rp-docs button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;padding:.7rem .9rem;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font:inherit}
.rp-docs button b{font-size:.98rem}
.rp-docs button small{color:var(--muted);font-size:.76rem}
.rp-docs button[aria-selected="true"]{border-color:var(--pink);box-shadow:inset 0 -3px 0 var(--pink);background:color-mix(in srgb,var(--pink) 8%,var(--surface))}
.rp-jump{display:none}
.rp-page{display:grid;grid-template-columns:330px minmax(0,1fr) minmax(0,560px);gap:1.2rem;align-items:start;padding-top:1.2rem;padding-bottom:2rem;max-width:1760px}
.rp-h{font-family:var(--display);font-weight:900;font-size:1.6rem;margin:0 0 .6rem;line-height:1}
.rp-pick{position:sticky;top:.6rem;max-height:calc(100vh - 1.2rem);display:flex;flex-direction:column;min-width:0}
.rp-pick .pc-pick-bar{position:static;padding:0 0 .6rem;background:none;backdrop-filter:none}
.rp-pick-list{overflow:auto;min-height:0;flex:1;padding-right:.3rem;border-top:1.5px solid var(--line)}
.rp-pick .pc-compact td.pc-name .pc-el{display:none}
.rp-pick .pc-compact tr:hover td.pc-name .pc-el{display:block}
.rp-work{display:grid;gap:1rem;min-width:0}
.rp-card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1rem 1.1rem}
.rp-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.rp-doc-name{color:var(--muted);font-size:.8rem;font-weight:700}
.rp-list{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.4rem}
.rp-list li{display:flex;justify-content:space-between;gap:.6rem;align-items:center;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:.5rem .6rem}
.rp-list li.rp-dim{opacity:.5}
.rp-list small{display:block;color:var(--muted);font-size:.74rem}
.rp-note{margin:.4rem 0;padding:.5rem .7rem;border-radius:10px;background:color-mix(in srgb,var(--orange) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--orange) 40%,transparent);font-size:.85rem}
.rp-totals{grid-template-columns:repeat(4,1fr)!important}
.rp-form{display:grid;gap:.7rem}
.rp-sec{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;overflow:hidden}
.rp-sec>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:.7rem;padding:.85rem 1.1rem;font-weight:800}
.rp-sec>summary::-webkit-details-marker{display:none}
.rp-sec>summary::after{content:"+";margin-left:auto;color:var(--pink);font-weight:500;font-size:1.3rem;line-height:1}
.rp-sec[open]>summary::after{content:"−"}
.rp-sec>summary small{color:var(--muted);font-weight:500;font-size:.8rem}
.rp-sec>.rp-grid{padding:0 1.1rem 1.1rem}
.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.55rem .7rem}
.rp-f{display:flex;flex-direction:column;gap:.2rem;min-width:0;font-size:.74rem;font-weight:700;color:var(--muted);letter-spacing:.02em}
.rp-f input,.rp-f select,.rp-f textarea{width:100%;min-width:0;font:inherit;font-size:.9rem;font-weight:500;letter-spacing:0;color:var(--text);background:var(--bg);border:1.5px solid var(--line);border-radius:9px;padding:.5rem .6rem}
.rp-f input:focus,.rp-f select:focus,.rp-f textarea:focus{outline:none;border-color:var(--pink)}
.rp-wide{grid-column:1/-1}
.rp-gen{display:flex;gap:.35rem}
.rp-gen .pc-btn{flex:none;padding:.4rem .7rem}
.rp-checks{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;font-size:.88rem}
.rp-checks>b{font-size:.74rem;color:var(--muted);width:100%}
.rp-c{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}
.rp-c input{accent-color:var(--pink);width:1rem;height:1rem}
.rp-nta{border-top:1.5px dashed var(--line);padding-top:.6rem}
.rp-nta>b{display:block;font-size:.74rem;color:var(--muted);margin-bottom:.4rem}
.rp-helper{background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:.7rem .8rem}
.rp-helper>summary{cursor:pointer;font-weight:800;color:var(--pink)}
.rp-helper .rp-grid{margin:.6rem 0}
.rp-narr textarea{min-height:12rem;line-height:1.5}
body[data-rp-doc="utc"] .rp-only-arrest{display:none}
body:not([data-rp-doc="utc"]) .rp-only-utc{display:none}
.rp-out{position:sticky;top:.6rem;min-width:0;max-height:calc(100vh - 1.2rem);display:flex;flex-direction:column}
.rp-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.rp-tools .rp-h{font-size:1.3rem;margin:0}
.rp-acts{display:flex;flex-wrap:wrap;gap:.35rem}
.rp-acts .pc-btn{padding:.42rem .7rem;font-size:.82rem}
.rp-warn{margin:0 0 .5rem;color:var(--orange)!important;font-weight:600}
.rp-paper-wrap{overflow:auto;min-height:0;flex:1;border-radius:6px;box-shadow:0 18px 50px -24px rgba(0,0,0,.6)}
/* the paper form itself: always black on white, like the printed form */
.rp-paper{background:#fff;color:#111;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:11px;line-height:1.35;padding:18px 18px 22px;border:1px solid #bbb;min-width:520px}
.rp-paper .ph{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;border:2px solid #111;padding:6px 8px;margin-bottom:6px}
.rp-paper .ph-seal{width:40px;height:40px;border-radius:50%;border:2px solid #111;display:grid;place-items:center;font-weight:900;font-size:18px;font-family:Georgia,serif}
.rp-paper .ph-mid small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#444}
.rp-paper .ph-mid h3{margin:1px 0;font-size:16px;text-transform:uppercase;letter-spacing:.04em;font-weight:900}
.rp-paper .ph-no{border-left:1.5px solid #111;padding-left:10px;text-align:right}
.rp-paper .ph-no span{display:block;font-size:8.5px;text-transform:uppercase;color:#444}
.rp-paper .ph-no b{font-family:"Courier New",monospace;font-size:13px}
.rp-paper .psec{background:#111;color:#fff;text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:9.5px;padding:3px 6px;margin:8px 0 0}
.rp-paper .prow{display:flex;border:1px solid #111;border-top:0}
.rp-paper .psec+.prow,.rp-paper .ph+.prow,.rp-paper .pcert+.prow,.rp-paper .pbanner+.prow{border-top:1px solid #111}
.rp-paper .pf{flex:1 1 0;min-width:0;padding:2px 5px 3px;border-left:1px solid #111}
.rp-paper .pf:first-child{border-left:0}
.rp-paper .pf.w1{flex-grow:1.4}.rp-paper .pf.w2{flex-grow:2.4}.rp-paper .pf.w3{flex-grow:3.6}
.rp-paper .pf span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-paper .pf b{display:block;font-family:"Courier New",monospace;font-size:11.5px;font-weight:700;min-height:14px;overflow-wrap:anywhere}
.rp-paper .psig b{font-family:"Brush Script MT","Segoe Script",cursive;font-size:15px;font-weight:400}
.rp-paper .pchecks{flex-wrap:wrap;gap:3px 12px;padding:4px 6px;align-items:center}
.rp-paper .pf.pchecks{display:flex}
.rp-paper .plabel{font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#444;font-weight:700}
.rp-paper .pcb{display:inline-flex;align-items:center;gap:3px;font-size:10px}
.rp-paper .pcb i{display:inline-grid;place-items:center;width:10px;height:10px;border:1px solid #111;font-style:normal;font-size:9px;font-weight:900;line-height:1}
.rp-paper .ptab{width:100%;border-collapse:collapse;margin-top:-1px}
.rp-paper .ptab th,.rp-paper .ptab td{border:1px solid #111;padding:3px 5px;text-align:left;vertical-align:top}
.rp-paper .ptab th{font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#444;background:#f1f1f1}
.rp-paper .ptab td{font-family:"Courier New",monospace;font-size:11px}
.rp-paper .ptot{display:flex;border:1px solid #111;border-top:0;background:#f7f7f7}
.rp-paper .ptot .pf b{font-size:12.5px}
.rp-paper .pcert{margin:6px 0 4px;font-size:10.5px}
.rp-paper .pcert u{text-decoration:none;border-bottom:1px solid #111;padding:0 6px;font-family:"Courier New",monospace;font-weight:700}
.rp-paper .pnarr{border:1px solid #111;padding:6px 8px;min-height:90px;font-family:"Courier New",monospace;font-size:11px;white-space:normal;line-height:1.45}
.rp-paper .pempty{color:#888;font-style:italic;font-family:Arial,sans-serif}
.rp-paper .pbanner{margin-top:6px;border:2px solid #111;padding:5px 8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;background:#111;color:#fff}
.rp-paper .pbanner.pinf{background:#fff;color:#111;text-transform:none;letter-spacing:0;font-weight:700}
@media (max-width:1500px){
  .rp-page{grid-template-columns:320px minmax(0,1fr)}
  .rp-out{grid-column:2;position:static;max-height:none}
}
@media (max-width:980px){
  .rp-page{display:flex;flex-direction:column;gap:1.2rem}
  .rp-page>*{width:100%;min-width:0}
  .rp-pick{position:static;max-height:none}
  .rp-pick-list{max-height:55vh}
  .rp-out{position:static;max-height:none}
  .rp-jump{display:flex;position:sticky;top:0;z-index:30;gap:.3rem;padding:.45rem clamp(1rem,4vw,2rem);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--line)}
  .rp-jump a{flex:1;text-align:center;padding:.45rem .3rem;border-radius:9px;border:1.5px solid var(--line);color:var(--text);text-decoration:none;font-weight:700;font-size:.84rem;background:var(--surface)}
  .rp-jump b{display:inline-grid;place-items:center;min-width:1.2rem;height:1.2rem;border-radius:999px;background:var(--pink);color:#fff;font-size:.7rem;margin-left:.2rem}
  .rp-docs{grid-template-columns:1fr 1fr 1fr}
  .rp-docs button small{display:none}
  .rp-totals{grid-template-columns:1fr 1fr!important}
  .rp-pick,.rp-work,.rp-out{scroll-margin-top:3.4rem}
}
@media print{
  body.penal-calc>*{display:none!important}
  body.penal-calc>.rp-page{display:block!important;padding:0;margin:0;max-width:none}
  body.penal-calc .rp-pick,body.penal-calc .rp-work,body.penal-calc .rp-tools,body.penal-calc .rp-out>p{display:none!important}
  body.penal-calc .rp-out{display:block!important;position:static;max-height:none}
  body.penal-calc .rp-paper-wrap{overflow:visible;box-shadow:none}
  body.penal-calc .rp-paper{min-width:0;border:0;padding:0}
  body.penal-calc{background:#fff}
  .rp-paper .prow,.rp-paper .ptab tr,.rp-paper .pf{break-inside:avoid}
}
.rp-jump b[hidden]{display:none!important}
.rp-paper{-webkit-print-color-adjust:exact;print-color-adjust:exact}
/* phones: the HQ menu scrolls sideways inside its own bar and never widens the page */
@media (max-width:980px){
  .hq{grid-template-columns:minmax(0,1fr)!important}
  .hq-side{min-width:0;max-width:100%}
  .hq-side nav{min-width:0;width:100%;max-width:100%}
  .hq-side .nav-group>summary{margin:0!important}
}
.stack>*{min-width:0}
.table-wrap{position:relative}
@media (max-width:560px){.app-form .grid2{grid-template-columns:1fr}}
/* Report writer charge list: wider column, and each charge laid out as a small card so nothing is cut off */
.rp-page{grid-template-columns:400px minmax(0,1fr) minmax(0,560px)}
@media (max-width:1500px){.rp-page{grid-template-columns:380px minmax(0,1fr)}}
@media (max-width:980px){.rp-page{display:flex}}
.rp-page .rp-pick .pc-table-wrap{overflow:visible;border:0;background:none}
.rp-page .rp-pick table.pc-charges,.rp-page .rp-pick table.pc-charges tbody{display:block;width:100%}
.rp-page .rp-pick tr.pc-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"code cls add" "name name add";align-items:center;gap:.25rem .6rem;padding:.6rem .7rem;margin:0 0 .45rem;background:var(--surface);border:1.5px solid var(--line);border-radius:12px}
.rp-page .rp-pick tr.pc-row[hidden]{display:none}
.rp-page .rp-pick tr.pc-row td{display:block;padding:0;border:0!important;min-width:0;order:0;flex:none;background:none}
.rp-page .rp-pick tr.pc-row td.pc-code{grid-area:code;font-size:.8rem;white-space:nowrap}
.rp-page .rp-pick tr.pc-row td:nth-child(3){grid-area:cls;justify-self:start;min-width:0}
.rp-page .rp-pick tr.pc-row td:nth-child(3) .pc-cls{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block;vertical-align:middle}
.rp-page .rp-pick tr.pc-row td:last-child{grid-area:add;align-self:center}
.rp-page .rp-pick tr.pc-row td.pc-name{grid-area:name}
.rp-page .rp-pick tr.pc-row td.pc-name b{display:block;font-size:.95rem;line-height:1.3}
.rp-page .rp-pick tr.pc-row td.pc-name .pc-el{display:none;font-size:.8rem;margin-top:.2rem;color:var(--muted)}
.rp-page .rp-pick tr.pc-row:hover td.pc-name .pc-el,.rp-page .rp-pick tr.pc-row:focus-within td.pc-name .pc-el{display:block}
.rp-page .rp-pick .pc-pick-ch h3{margin:.9rem 0 .45rem}
.rp-page .rp-pick tr.pc-row td:nth-child(3){justify-self:stretch;overflow:hidden}

/* v2.11: polish — smoother type, a clean hero title, calmer motion and finer controls */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}
body{font-feature-settings:"kern" 1,"liga" 1}
::selection{background:color-mix(in srgb,var(--pink) 38%,transparent);color:var(--text)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Hero title: the zoom ends on solid gradient letters, drawn as vectors with a soft glow. */
.veil text{text-rendering:geometricPrecision}
.veil-solid{filter:drop-shadow(0 0 1px rgba(21,11,40,.35)) drop-shadow(0 22px 48px rgba(255,61,139,.32)) drop-shadow(0 6px 18px rgba(155,77,224,.28))}
.veil-shine{mix-blend-mode:soft-light}
.kicker{letter-spacing:.42em;padding-left:.42em;font-weight:700;opacity:0}
.stage-status{letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.95rem,1.8vw,1.2rem);color:color-mix(in srgb,var(--text) 78%,transparent)}

/* Chrome VI and palms: softer shadow, rounded joins so the silhouettes don't look faceted. */
.sun .sun-vi{filter:drop-shadow(0 0 6px rgba(255,61,139,.6)) drop-shadow(0 4px 10px rgba(21,11,40,.45))}
.sun use.palm{stroke:#150B28;stroke-width:.7px;stroke-linejoin:round}

/* Buttons and links */
.btn{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease,border-color .2s ease,color .2s ease,background-color .2s ease,filter .2s ease;letter-spacing:.01em}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 10px 28px -12px color-mix(in srgb,var(--pink) 75%,transparent)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 16px 36px -14px color-mix(in srgb,var(--pink) 85%,transparent)}
.btn-ghost{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-ghost:hover{background:color-mix(in srgb,var(--pink) 8%,transparent)}
.topnav a.plain{transition:color .2s ease,background-color .2s ease}
.topnav a.plain:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;transition:outline-offset .15s ease}

/* Headings: tighter display type, balanced lines */
.section h2,.big-tagline,.credits-head h1,.rules-hero h1,.person-head h1,.atomic-head h1,.pc-hero h1{letter-spacing:-.005em;text-wrap:balance}
.lede,.tagline,.status-detail{text-wrap:pretty}

/* Thin scrollbars that match the theme */
html{scrollbar-color:color-mix(in srgb,var(--purple) 55%,var(--bg)) transparent}
/* light look: start the title gradient deeper so it holds up on the cream background */
:root[data-theme="light"] .veil{--veil-top:var(--orange);--veil-mid:var(--orange)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .veil{--veil-top:var(--orange);--veil-mid:var(--orange)}}
:root[data-theme="light"] .veil-solid{filter:drop-shadow(0 18px 40px rgba(255,61,139,.22))}
/* Privacy and supporter terms: the document title is the page's h1 */
.doc-public .prose h1{font-family:var(--display);font-weight:900;font-size:clamp(2.4rem,7vw,3.6rem);line-height:1.05;margin:2rem 0 .6rem;text-wrap:balance}

/* ======================================================================
   2.11.1: new emblem (neon hexagon, sunset, palms, grid floor)
   ====================================================================== */
.brand-hex{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(255,61,139,.45))}
.hq-brand .brand-hex{width:46px;height:46px}
.block-card .brand-hex,.gate .brand-hex{width:96px;height:96px;margin:0 auto;display:block}
.brand:hover .brand-hex{filter:drop-shadow(0 0 10px rgba(255,61,139,.75))}
.brand-hex{transition:filter .25s}

/* Hero: the emblem floats over the horizon, reflected in the water */
.sun .emblem-refl{opacity:.55}
.sea{border-top-color:var(--peach)}
.sea::before{background:repeating-linear-gradient(180deg,transparent 0 11px,color-mix(in srgb,var(--pink) 30%,transparent) 11px 13px)}
.sea::after{content:"";position:absolute;left:-60%;right:-60%;top:0;height:100%;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 46px,color-mix(in srgb,var(--pink) 34%,transparent) 46px 48px);
  transform-origin:50% 0;transform:perspective(260px) rotateX(58deg);
  -webkit-mask:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 70%,transparent);mask:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 70%,transparent)}

/* Title letters: dark outline like the emblem's VI */
.veil-fill:not(.veil-shine){stroke:#12081F;stroke-width:.028em;stroke-linejoin:round;paint-order:stroke}
:root[data-theme="light"] .veil{--veil-top:#FFFFFF;--veil-mid:#FBE4F0}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]) .veil{--veil-top:#FFFFFF;--veil-mid:#FBE4F0}}

/* About: emblem beside the text */
.about-grid{display:grid;gap:clamp(1.5rem,4vw,3rem);align-items:center}
@media (min-width:900px){.about-grid{grid-template-columns:minmax(0,1fr) minmax(260px,380px)}}
.about-emblem{margin:0;justify-self:center;width:min(100%,380px)}
@media (max-width:899px){.about-emblem{width:min(70%,280px);order:-1}}
.about-emblem img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 18px rgba(255,61,139,.5)) drop-shadow(0 20px 40px rgba(18,8,31,.45));animation:emblem-float 7s ease-in-out infinite}
@keyframes emblem-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media (prefers-reduced-motion:reduce){.about-emblem img{animation:none}}

/* Closing banner: neon frame (pink glow, peach line, white hairline) like the emblem border */
.cta-band{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6),0 0 0 3px var(--peach),0 0 0 7px var(--pink),0 0 34px 8px color-mix(in srgb,var(--pink) 45%,transparent)}

/* Footer emblem */
.foot-brand{display:inline-flex;align-items:center;gap:.7rem}
.foot-brand img{width:44px;height:44px;flex:none;filter:drop-shadow(0 0 6px rgba(255,61,139,.4))}
.sun-wrap .sun{overflow:visible}

.sun image.palm{opacity:.96}

/* 2.11.4: team page order, drag whole groups */
.co-group h3{display:flex;align-items:center;gap:.4rem}
.co-group h3 .drag-handle{margin-left:-.2rem}
.co-group.dragging{opacity:.5;outline:2px dashed var(--c);outline-offset:2px}
.co-list[data-solo] li .drag-handle{opacity:.35}

/* 2.12: blocked from applying, cooldown */
.block-box>summary{list-style:none;display:inline-flex;cursor:pointer}
.block-box>summary::-webkit-details-marker{display:none}
.block-box[open]>summary{margin-bottom:.8rem}
.app-blocked{border-top:3px solid var(--pink)}
.app-cooldown{border-top:3px solid var(--peach)}
.app-blocked h2,.app-cooldown h2{margin-top:0}

/* 2.13: paid positions */
.pos-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;margin:0 0 1.4rem}
.pos-card{margin:0;border-top:3px solid var(--peach)}
.pos-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}
.pos-card h2{margin:0;font-size:1.25rem}
.pos-pay{font-weight:800;color:var(--on-accent);background:var(--sunset-x);padding:.2rem .65rem;border-radius:999px;font-size:.88rem;white-space:nowrap}
.pos-kind{margin:.35rem 0 .2rem;color:var(--muted);font-size:.9rem;font-weight:600}
.pos-card p:last-child{margin-bottom:0}

/* 2.13: budget */
.pos{color:#2DBE8C}
.neg{color:var(--pink)}
:root[data-theme="light"] .pos{color:#13895F}
.bud-stats .stat b{font-size:clamp(1.5rem,3.2vw,2.1rem);overflow-wrap:anywhere}
.bud-stats .stat.bad{border-color:var(--pink);background:color-mix(in srgb,var(--pink) 10%,var(--surface))}
.bud-row{padding:.55rem 0;border-bottom:1px solid var(--line)}
.bud-row:last-child{border-bottom:0}
.bud-row-top{display:flex;justify-content:space-between;gap:1rem;font-weight:600;margin-bottom:.35rem;flex-wrap:wrap}
.bud-row-top small{color:var(--muted);font-weight:500}
.bud-row .dot,.bud-edit .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:var(--c);margin-right:.45rem;vertical-align:middle}
.bud-row .bar{height:9px;border-radius:999px;background:color-mix(in srgb,var(--c) 18%,var(--bg));overflow:hidden}
.bud-row .bar i{display:block;height:100%;width:var(--pct);background:var(--c);border-radius:inherit}
.bud-row.over .bar i{background:var(--pink)}
.bud-row p{margin:.3rem 0 0}
.bud-legend{display:flex;gap:1rem;font-size:.82rem;color:var(--muted);margin:-.3rem 0 .6rem}
.bud-legend span::before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:3px;margin-right:.35rem;vertical-align:-1px}
.bud-legend .li-in::before{background:#2DBE8C}.bud-legend .li-out::before{background:var(--pink)}
.bud-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.35rem;align-items:end;height:170px;padding-top:.4rem}
.bud-col{display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}
.bud-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1.5px solid var(--line)}
.bud-bars i{display:block;width:42%;max-width:14px;min-height:1px;border-radius:3px 3px 0 0}
.bud-bars .in{background:#2DBE8C}.bud-bars .out{background:var(--pink)}
.bud-col span{font-size:.7rem;color:var(--muted);margin-top:.3rem}
.bud-due{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--line)}
.bud-due:last-child{border-bottom:0}
.bud-due .sub{display:block;color:var(--muted);font-size:.8rem}
.bud-due.late .sub{color:var(--pink);font-weight:600}
.bud-due-form{margin:0}
.bud-add>summary,.bud-edit>summary{cursor:pointer}
.bud-add[open]>summary{margin-bottom:1rem}
.bud-sum{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:baseline;margin:.4rem 0 .8rem}
.bud-ledger td.num,.tbl th.num,.tbl td.num{text-align:right;white-space:nowrap}
.bud-ledger tr.is-void td{opacity:.55}
.bud-ledger tr.is-void td b{text-decoration:line-through}
.bud-void>summary{list-style:none;display:inline-flex}
.bud-void>summary::-webkit-details-marker{display:none}
.bud-void[open]{min-width:220px}
.bud-void form{margin-top:.5rem}
.bud-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:flex-start}
.bud-actions form{margin:0}
.bud-edit{border:1.5px solid var(--line);border-radius:10px;padding:.6rem .8rem;margin-bottom:.5rem;background:var(--bg)}
.bud-edit>summary{display:flex;align-items:center;gap:.3rem;list-style:none}
.bud-edit>summary::-webkit-details-marker{display:none}
.bud-edit-amt{margin-left:auto;color:var(--muted);font-weight:600;font-size:.9rem}
.bud-edit form{margin-top:.8rem}
.breq{margin:0 0 .9rem}
.breq-top{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.breq h3{margin:0 0 .2rem;font-size:1.05rem}
.breq-amt{text-align:right;font-family:var(--display);font-weight:900;font-size:1.6rem;line-height:1.1;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}
.breq-amt .bst{font-family:var(--body);font-size:.75rem}
.breq-why{margin:.6rem 0}
.breq.s-pending{border-left:4px solid var(--peach)}
.breq.s-approved{border-left:4px solid #2DBE8C}
.breq.s-denied,.breq.s-cancelled{opacity:.75}
.breq-decide{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}
.breq-decide input{flex:1 1 200px}
@media (max-width:700px){.grid3b{grid-template-columns:1fr}.bud-chart{gap:.15rem;height:140px}.bud-col span{font-size:.6rem}}
.stats.bud-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
