/* Regent Advisory - theme tokens and effects (Tailwind handles layout) */
:root{
  --bg:250 250 251; --panel:255 255 255; --ink:10 10 12; --mute:96 98 108;
  --ion:200 22 38; --plasma:60 62 74; --amber:176 92 0; --brand:228 32 46; --on-amber:255 255 255;
}
.dark{
  --bg:9 9 11; --panel:22 22 26; --ink:244 244 246; --mute:160 162 172;
  --ion:255 84 96; --plasma:200 202 212; --amber:255 181 74; --brand:228 32 46; --on-amber:10 10 12;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:rgb(var(--bg));color:rgb(var(--ink));font-family:Montserrat,ui-sans-serif,system-ui,sans-serif;min-height:100vh;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(56rem 38rem at 88% -8%, rgb(var(--brand) / .20), transparent 60%),
    radial-gradient(48rem 34rem at -8% 8%, rgb(var(--plasma) / .08), transparent 60%)}
:focus-visible{outline:2px solid rgb(var(--ion));outline-offset:3px;border-radius:6px}
::selection{background:rgb(var(--ion) / .35)}

/* Surfaces */
.glass{background:rgb(var(--panel) / 1);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgb(var(--ink) / .10)}
.glass-bar{background:rgb(var(--bg) / .72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgb(var(--ink) / .08)}
.panel-solid{background:rgb(var(--panel));border:1px solid rgb(var(--ink) / .10)}
.grid-lines{background-image:linear-gradient(rgb(var(--ink) / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--ink) / .05) 1px,transparent 1px);
  background-size:52px 52px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 72%);mask-image:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 72%)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.25rem;border-radius:.85rem;font-weight:700;font-size:.92rem;
  line-height:1.2;transition:transform .15s ease,background .2s ease,border-color .2s ease;cursor:pointer;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-ion{background:rgb(var(--brand));color:#fff}
.btn-ion:hover{background:rgb(var(--brand) / .88)}
.btn-ghost{border:1px solid rgb(var(--ink) / .22);color:rgb(var(--ink))}
.btn-ghost:hover{border-color:rgb(var(--ion));background:rgb(var(--ion) / .08)}
.btn-amber{background:rgb(var(--amber));color:rgb(var(--on-amber))}
.btn-amber:hover{background:rgb(var(--amber) / .88)}
.btn-sm{padding:.55rem .9rem;font-size:.85rem;border-radius:.7rem}

/* Cards */
.card{border-radius:1.1rem;padding:1.4rem;background:rgb(var(--panel) / .55);border:1px solid rgb(var(--ink) / .10);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .2s ease,transform .2s ease}
a.card:hover{border-color:rgb(var(--ion) / .7);transform:translateY(-2px)}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;
  border:1px solid rgb(var(--ink) / .16);color:rgb(var(--mute))}
.chip-amber{border-color:rgb(var(--amber) / .5);color:rgb(var(--amber));background:rgb(var(--amber) / .08)}
.chip-ion{border-color:rgb(var(--ion) / .5);color:rgb(var(--ion));background:rgb(var(--ion) / .08)}
.field{width:100%;padding:.75rem .9rem;border-radius:.75rem;background:rgb(var(--panel) / .7);border:1px solid rgb(var(--ink) / .2);color:rgb(var(--ink));font-size:.95rem}
.field:focus{outline:none;border-color:rgb(var(--ion));box-shadow:0 0 0 3px rgb(var(--ion) / .2)}
.field::placeholder{color:rgb(var(--mute) / .8)}
.label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem}

/* Hero orbit - the one signature moment */
.orbit{position:relative;width:min(92vw,470px);aspect-ratio:1;margin-inline:auto}
.orbit .ring{position:absolute;border-radius:50%;border:1px dashed rgb(var(--ink) / .22);animation:spin var(--t,70s) linear infinite}
.orbit .ring.r1{inset:0;--t:90s}
.orbit .ring.r2{inset:19%;--t:60s;animation-direction:reverse;border-color:rgb(var(--ion) / .45)}
.orbit .ring.r3{inset:36%;--t:40s;border-color:rgb(var(--plasma) / .5)}
.orbit .node{position:absolute;transform:translate(-50%,-50%)}
.orbit .node > span{display:block;animation:spin var(--t,70s) linear infinite reverse;white-space:nowrap}
.orbit .r2 .node > span{animation-direction:normal}
.orbit .core{position:absolute;inset:38%;border-radius:50%;display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle at 50% 40%,rgb(var(--ion) / .35),rgb(var(--panel) / .9) 70%);border:1px solid rgb(var(--ion) / .5);
  box-shadow:0 0 60px rgb(var(--ion) / .25),inset 0 0 30px rgb(var(--plasma) / .2);animation:pulse 5s ease-in-out infinite}
.node-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border-radius:999px;font-size:.8rem;font-weight:650;
  background:rgb(var(--panel) / .85);border:1px solid rgb(var(--ink) / .16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:rgb(var(--ink))}
.node-pill i{width:.45rem;height:.45rem;border-radius:50%;background:rgb(var(--ion));box-shadow:0 0 10px rgb(var(--ion))}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{box-shadow:0 0 90px rgb(var(--ion) / .4),inset 0 0 40px rgb(var(--plasma) / .3)}}

/* Mega menu */
[data-cat-btn][aria-selected="true"]{background:rgb(var(--ion) / .12);border-color:rgb(var(--ion) / .5)}

/* FAQ */
details.faq summary{cursor:pointer;list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq[open] .faq-ico{transform:rotate(180deg)}
.faq-ico{transition:transform .2s ease}

/* Quiz */
.quiz-opt{display:block;width:100%;text-align:left;padding:.9rem 1.1rem;border-radius:.85rem;border:1px solid rgb(var(--ink) / .18);
  background:rgb(var(--panel) / .6);font-weight:600;transition:border-color .15s,background .15s}
.quiz-opt:hover{border-color:rgb(var(--ion));background:rgb(var(--ion) / .08)}

/* Article prose */
.prose-r{max-width:70ch;line-height:1.75;font-size:1.05rem;color:rgb(var(--ink) / .9)}
.prose-r h2{font-family:Montserrat,sans-serif;font-size:1.45rem;font-weight:700;margin:2.4rem 0 .8rem;line-height:1.25;color:rgb(var(--ink))}
.prose-r h3{font-size:1.2rem;font-weight:700;margin:1.8rem 0 .5rem;color:rgb(var(--ink))}
.prose-r h4{font-weight:700;margin:1.4rem 0 .4rem}
.prose-r p{margin:0 0 1.1rem}
.prose-r ul,.prose-r ol{margin:0 0 1.2rem 1.4rem}
.prose-r ul{list-style:disc}.prose-r ol{list-style:decimal}
.prose-r li{margin:.35rem 0}
.prose-r a{color:rgb(var(--ion));text-decoration:underline;text-underline-offset:3px}
.prose-r strong{color:rgb(var(--ink))}
.prose-r blockquote{border-left:3px solid rgb(var(--ion));padding:.2rem 0 .2rem 1rem;margin:1.4rem 0;color:rgb(var(--mute))}
.prose-r code{background:rgb(var(--ink) / .08);padding:.1rem .35rem;border-radius:.35rem;font-size:.9em}
.prose-r img{border-radius:1rem;margin:1.4rem 0;max-width:100%;height:auto}
.prose-r hr{border:0;border-top:1px solid rgb(var(--ink) / .15);margin:2rem 0}

/* tables */
.tbl{width:100%;font-size:.9rem}
.tbl th{text-align:left;font-weight:650;color:rgb(var(--mute));padding:.6rem .75rem;border-bottom:1px solid rgb(var(--ink) / .12);white-space:nowrap}
.tbl td{padding:.65rem .75rem;border-bottom:1px solid rgb(var(--ink) / .07);vertical-align:top}
.tbl tr:hover td{background:rgb(var(--ink) / .03)}
.bar{height:.4rem;border-radius:999px;background:rgb(var(--ink) / .1);overflow:hidden}
.bar > i{display:block;height:100%;background:rgb(var(--ion));border-radius:inherit}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
