*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
html[data-fs="small"]{font-size:14px}
html[data-fs="large"]{font-size:18px}
:root{
  
  --bg:#0b0c0f;
  --bg-card:#13151a;
  --bg-elev:#181a20;
  --bg-sunken:#0e0f13;

  
  --text:#f0ece4;
  --text-dim:rgba(240,236,228,.50);
  --text-mute:rgba(240,236,228,.28);
  --text-ghost:rgba(240,236,228,.14);

  
  --accent:#c8a97e;
  --accent-hi:#d8bd93;
  --accent-lo:rgba(200,169,126,.12);
  --accent-xlo:rgba(200,169,126,.06);
  --accent-border:rgba(200,169,126,.22);
  --accent-border-soft:rgba(200,169,126,.12);
  --accent-glow:rgba(200,169,126,.06);

  
  --green:#5dd49f;
  --green-lo:rgba(93,212,159,.10);
  --green-border:rgba(93,212,159,.35);
  --red:#e87878;
  --red-lo:rgba(232,120,120,.10);
  --red-border:rgba(232,120,120,.35);
  --amber:#e9b65a;
  --amber-lo:rgba(233,182,90,.12);
  --amber-border:rgba(233,182,90,.35);
  --blue:#7aa6d1;
  --blue-lo:rgba(122,166,209,.12);
  --blue-border:rgba(122,166,209,.35);

  
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Outfit',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;

  
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-snap:cubic-bezier(.34,1.28,.64,1);

  
  --nav-h:64px;
  --radius:3px;
  --radius-lg:4px;

  
  --fs-display:clamp(2.6rem,5vw,5rem);
  --fs-title:clamp(1.8rem,3vw,3.4rem);
  --fs-h2:clamp(1.4rem,2.2vw,2.2rem);
  --fs-h3:clamp(1.25rem,1.8vw,1.85rem);
  --fs-h4:clamp(1.05rem,1.4vw,1.35rem);
  --fs-h5:clamp(.92rem,1vw,1.05rem);
  --fs-body:clamp(.92rem,1.05vw,1.1rem);
  --fs-small:clamp(.72rem,.85vw,.88rem);
  --fs-chrome:.62rem; 
}
html[data-theme="light"]{
  --bg:#f4f1ec;
  --bg-card:#ffffff;
  --bg-elev:#fbf9f4;
  --bg-sunken:#eeeae2;
  --text:#1a1a1a;
  --text-dim:rgba(26,26,26,.58);
  --text-mute:rgba(26,26,26,.32);
  --text-ghost:rgba(26,26,26,.14);
  --accent:#9a7548;
  --accent-hi:#b38758;
  --accent-lo:rgba(154,117,72,.10);
  --accent-xlo:rgba(154,117,72,.05);
  --accent-border:rgba(154,117,72,.28);
  --accent-border-soft:rgba(154,117,72,.14);
  --accent-glow:rgba(154,117,72,.08);
  --green:#2c8a5e;
  --green-lo:rgba(44,138,94,.10);
  --green-border:rgba(44,138,94,.35);
  --red:#b84848;
  --red-lo:rgba(184,72,72,.10);
  --red-border:rgba(184,72,72,.35);
  --amber:#a67522;
  --amber-lo:rgba(166,117,34,.12);
  --amber-border:rgba(166,117,34,.35);
  --blue:#3c6d9a;
  --blue-lo:rgba(60,109,154,.10);
  --blue-border:rgba(60,109,154,.35);
}
html,body{
  min-height:100%;
  background:var(--bg);color:var(--text);
  font-family:var(--sans);font-weight:300;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:
    radial-gradient(circle at 20% 0%,var(--accent-glow) 0%,transparent 40%),
    radial-gradient(circle at 80% 100%,var(--accent-glow) 0%,transparent 50%);
  opacity:.8;
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .45 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:.06;mix-blend-mode:overlay;
}
::selection{background:var(--accent);color:var(--bg)}
.s-label{
  font-family:var(--sans);font-weight:300;
  font-size:var(--fs-small);letter-spacing:.3em;
  text-transform:uppercase;color:var(--accent);
  display:inline-flex;align-items:center;width:fit-content;
  padding:.4rem 1rem;
  border:1px solid var(--accent-border);
  border-radius:2px;margin-bottom:.6rem;
}
.s-title{
  font-family:var(--serif);font-weight:300;
  font-size:var(--fs-title);line-height:1.1;color:var(--text);
  letter-spacing:-.01em;
}
.s-subtitle{
  font-family:var(--sans);font-weight:300;
  font-size:var(--fs-small);letter-spacing:.18em;
  text-transform:uppercase;color:var(--accent);
}
.s-body{
  font-family:var(--sans);font-weight:200;
  font-size:var(--fs-body);line-height:1.85;color:var(--text-dim);
  max-width:680px;
}
.s-divider{width:44px;height:1px;background:var(--accent);opacity:.55;margin:1rem 0}
.s-rule{height:1px;background:var(--accent-border-soft);border:none;margin:3rem 0}
[data-a]{animation:su .75s var(--ease) both}
[data-a="1"]{animation-delay:.05s}
[data-a="2"]{animation-delay:.13s}
[data-a="3"]{animation-delay:.21s}
[data-a="4"]{animation-delay:.29s}
[data-a="5"]{animation-delay:.37s}
[data-a="6"]{animation-delay:.45s}
[data-a="7"]{animation-delay:.53s}
@keyframes su{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.page{position:relative;z-index:2}
.nav{
  position:sticky;top:0;z-index:50;
  height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(1.2rem,3vw,2.5rem);
  background:rgba(11,12,15,.78);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--accent-border-soft);
}
html[data-theme="light"] .nav{background:rgba(244,241,236,.78)}
.nav-brand{display:flex;align-items:center;gap:.8rem}
.nav-logo{height:28px;width:auto;display:block;opacity:.95;filter:var(--logo-filter,none)}
html[data-theme="light"] .nav-logo{filter:invert(18%) sepia(15%) saturate(400%) hue-rotate(350deg)}
.nav-lockup{
  display:flex;flex-direction:column;line-height:1;
}
.nav-lockup-main{
  font-family:var(--serif);font-weight:400;font-size:1.05rem;
  color:var(--text);letter-spacing:.02em;
}
.nav-lockup-sub{
  font-family:var(--sans);font-weight:300;font-size:.55rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--accent);
  margin-top:.25rem;
}
.nav-links{display:flex;gap:.2rem;align-items:center}
.nav-link{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-dim);text-decoration:none;
  padding:.55rem .9rem;border-radius:var(--radius);
  transition:color .3s var(--ease),background .3s var(--ease);
}
.nav-link:hover{color:var(--accent);background:var(--accent-lo)}
.nav-tools{display:flex;gap:.5rem;align-items:center}
.theme-toggle{
  height:34px;width:34px;display:grid;place-items:center;
  border:1px solid var(--accent-border);border-radius:var(--radius);
  background:transparent;cursor:pointer;color:var(--accent);
  transition:all .3s var(--ease);
}
.theme-toggle:hover{background:var(--accent-lo)}
.theme-toggle svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}
.hero{
  padding:clamp(5rem,10vh,9rem) clamp(1.5rem,5vw,5rem) clamp(4rem,8vh,7rem);
  position:relative;
  max-width:1400px;margin:0 auto;
}
.hero-eyebrow{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.32em;text-transform:uppercase;color:var(--accent);
  display:inline-flex;align-items:center;gap:.8rem;
  margin-bottom:1.8rem;
}
.hero-eyebrow::before{
  content:"";width:32px;height:1px;background:var(--accent);
}
.hero-title{
  font-family:var(--serif);font-weight:300;
  font-size:var(--fs-display);line-height:1.02;
  color:var(--text);letter-spacing:-.015em;
  max-width:16ch;
}
.hero-title em{font-style:italic;color:var(--accent);font-weight:400}
.hero-lede{
  font-family:var(--sans);font-weight:200;font-size:clamp(1rem,1.2vw,1.15rem);
  line-height:1.75;color:var(--text-dim);
  max-width:560px;margin-top:1.8rem;
}
.hero-meta{
  display:flex;gap:2.5rem;flex-wrap:wrap;
  margin-top:3rem;padding-top:2rem;
  border-top:1px solid var(--accent-border-soft);
  max-width:700px;
}
.hero-meta-item{display:flex;flex-direction:column;gap:.3rem}
.hero-meta-k{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);
}
.hero-meta-v{
  font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--accent);
}
.sec{
  padding:clamp(3rem,6vh,5rem) clamp(1.5rem,5vw,5rem);
  max-width:1400px;margin:0 auto;
}
.sec-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:2rem;margin-bottom:2.5rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid var(--accent-border-soft);
}
.sec-head-l{display:flex;flex-direction:column;gap:.6rem}
.sec-num{
  font-family:var(--mono);font-weight:400;font-size:var(--fs-chrome);
  letter-spacing:.25em;color:var(--accent);
}
.sec-title{
  font-family:var(--serif);font-weight:300;font-size:var(--fs-h2);
  color:var(--text);line-height:1.1;
}
.sec-note{
  font-family:var(--sans);font-weight:200;font-size:var(--fs-small);
  color:var(--text-dim);max-width:32ch;text-align:right;line-height:1.6;
}
.sub-h{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.28em;text-transform:uppercase;color:var(--accent);
  margin:2rem 0 1rem;
  display:flex;align-items:center;gap:.8rem;
}
.sub-h-text{flex-shrink:0;white-space:nowrap}
.sub-h-rule{flex:1;height:1px;background:var(--accent-border-soft);min-width:1rem}
.copy-btn{
  flex-shrink:0;
  display:inline-grid;place-items:center;
  width:28px;height:28px;
  border:1px solid var(--accent-border-soft);
  border-radius:2px;
  background:transparent;cursor:pointer;
  color:var(--text-mute);
  transition:all .25s var(--ease);
  position:relative;
}
.copy-btn:hover{
  color:var(--accent);
  border-color:var(--accent-border);
  background:var(--accent-xlo);
}
.copy-btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.copy-btn .copy-check{position:absolute;opacity:0;transform:scale(.6);transition:all .2s var(--ease-snap)}
.copy-btn .copy-icon{transition:all .2s var(--ease-snap)}
.copy-btn.is-copied{color:var(--green);border-color:var(--green-border);background:var(--green-lo)}
.copy-btn.is-copied .copy-icon{opacity:0;transform:scale(.6)}
.copy-btn.is-copied .copy-check{opacity:1;transform:scale(1)}
.toast{
  position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(20px);
  z-index:200;
  background:var(--bg-elev);
  border:1px solid var(--accent-border);
  border-radius:var(--radius);
  padding:.8rem 1.4rem;
  display:flex;align-items:center;gap:.7rem;
  font-family:var(--sans);font-weight:300;font-size:.82rem;
  letter-spacing:.06em;color:var(--text);
  box-shadow:0 20px 40px -10px rgba(0,0,0,.5),0 0 0 1px var(--accent-xlo);
  opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease),transform .35s var(--ease);
}
.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.toast svg{width:14px;height:14px;stroke:var(--green);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.logo-grid{
  display:grid;gap:1.2rem;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.logo-card{
  background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius-lg);
  padding:2.2rem 1.6rem 1.4rem;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  transition:border-color .4s var(--ease);
}
.logo-card:hover{border-color:var(--accent-border)}
.logo-card.on-light{background:#f4f1ec;border-color:rgba(154,117,72,.15)}
.logo-card.on-dark{background:#0b0c0f;border-color:rgba(200,169,126,.18)}
.logo-card.on-gold{background:#c8a97e;border-color:#9a7548}
.logo-card.on-gold .logo-card-name{color:#1a1a1a}
.logo-card.on-gold .logo-card-use{color:#5a4423}
.logo-card.on-gold .logo-card-foot{border-top-color:rgba(26,26,26,.2)}
.logo-card-stage{
  flex:1;display:grid;place-items:center;
  width:100%;min-height:110px;padding:1rem 0;
}
.logo-card-stage img{max-width:78%;max-height:90px;object-fit:contain}
.logo-card.compact .logo-card-stage img{max-height:56px}
.logo-card-stage svg{
  width:auto;height:96px;max-width:80%;
  fill:var(--accent);
  transition:fill .35s var(--ease);
}
.logo-card.on-light .logo-card-stage svg{fill:#1a1a1a}
.logo-card.on-dark  .logo-card-stage svg{fill:#c8a97e}
.logo-card.on-gold  .logo-card-stage svg{fill:#0b0c0f}
.logo-card.compact .logo-card-stage svg{height:64px}
.logo-card-foot{
  margin-top:1.2rem;padding-top:1rem;width:100%;
  border-top:1px solid var(--accent-border-soft);
  display:flex;flex-direction:column;gap:.25rem;
}
.logo-card.on-light .logo-card-foot,
.logo-card.on-dark  .logo-card-foot{border-top-color:rgba(200,169,126,.18)}
.logo-card.on-light .logo-card-foot{border-top-color:rgba(154,117,72,.2)}
.logo-card-name{
  font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--text);
}
.logo-card.on-light .logo-card-name{color:#1a1a1a}
.logo-card.on-dark  .logo-card-name{color:#f0ece4}
.logo-card-use{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
}
.logo-card.on-light .logo-card-use{color:#9a7548}
.logo-card.on-dark  .logo-card-use{color:#c8a97e}
.color-block{margin-bottom:2.2rem}
.color-block-title{
  font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);
  color:var(--text);margin-bottom:.2rem;
}
.color-block-note{
  font-family:var(--sans);font-weight:200;font-size:var(--fs-small);
  color:var(--text-dim);margin-bottom:1.2rem;
}
.swatch-row{
  display:grid;gap:.8rem;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.swatch{
  position:relative;border-radius:var(--radius);
  border:1px solid var(--accent-border-soft);
  overflow:hidden;
  transition:transform .4s var(--ease),border-color .3s var(--ease);
}
.swatch:hover{transform:translateY(-2px);border-color:var(--accent-border)}
.swatch-chip{height:88px;width:100%;display:block}
.swatch-info{
  padding:.7rem .9rem;background:var(--bg-card);
  display:flex;flex-direction:column;gap:.15rem;
  border-top:1px solid var(--accent-border-soft);
}
.swatch-name{
  font-family:var(--sans);font-weight:400;font-size:.78rem;color:var(--text);
}
.swatch-var{
  font-family:var(--mono);font-weight:400;font-size:.7rem;color:var(--text-dim);
}
.swatch-hex{
  font-family:var(--mono);font-weight:400;font-size:.68rem;
  color:var(--accent);letter-spacing:.04em;
}
.semantic-grid{
  display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  margin-top:1rem;
}
.semantic{
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius);
  background:var(--bg-card);
  padding:1rem 1.1rem;
  display:flex;align-items:center;gap:.9rem;
}
.semantic-dot{
  width:34px;height:34px;border-radius:50%;
  border:2px solid currentColor;
  display:grid;place-items:center;font-size:.7rem;font-weight:400;
  flex-shrink:0;
}
.semantic.is-success{color:var(--green)}
.semantic.is-error{color:var(--red)}
.semantic.is-warn{color:var(--amber)}
.semantic.is-info{color:var(--blue)}
.semantic-text{display:flex;flex-direction:column;gap:.15rem}
.semantic-name{font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--text)}
.semantic-use{font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}
.type-grid{
  display:grid;gap:1rem;
  grid-template-columns:1fr;
}
.type-row{
  display:grid;grid-template-columns:180px 1fr;gap:1.5rem;
  padding:1.4rem 0;
  border-top:1px solid var(--accent-border-soft);
  align-items:baseline;
}
.type-row:first-child{border-top:none;padding-top:0}
.type-meta{
  display:flex;flex-direction:column;gap:.25rem;
  font-family:var(--mono);font-weight:400;font-size:.7rem;
  color:var(--text-dim);letter-spacing:.05em;
}
.type-meta strong{color:var(--accent);font-weight:500;font-size:.72rem}
.type-sample{min-width:0}
.t-display{font-family:var(--serif);font-weight:300;font-size:var(--fs-display);line-height:1.02;color:var(--text);letter-spacing:-.015em}
.t-title{font-family:var(--serif);font-weight:300;font-size:var(--fs-title);line-height:1.1;color:var(--text);letter-spacing:-.01em}
.t-h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.15;color:var(--text)}
.t-h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);line-height:1.2;color:var(--text);letter-spacing:-.005em}
.t-h4{font-family:var(--serif);font-weight:500;font-size:var(--fs-h4);line-height:1.3;color:var(--text)}
.t-h5{font-family:var(--sans);font-weight:400;font-size:var(--fs-h5);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.t-sub{font-family:var(--sans);font-weight:300;font-size:var(--fs-small);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.t-body{font-family:var(--sans);font-weight:200;font-size:var(--fs-body);line-height:1.85;color:var(--text-dim);max-width:640px}
.t-ui{font-family:var(--sans);font-weight:400;font-size:var(--fs-small);color:var(--text)}
.t-chrome{font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);letter-spacing:.25em;text-transform:uppercase;color:var(--accent)}
.t-mono{font-family:var(--mono);font-weight:400;font-size:.82rem;color:var(--accent)}
.t-quote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:clamp(1.3rem,2.2vw,2.2rem);line-height:1.35;color:var(--text)}
.icon-grid{
  display:grid;gap:.6rem;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
}
.icn-tile{
  background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius);
  padding:1rem .6rem .8rem;
  display:flex;flex-direction:column;align-items:center;gap:.55rem;
  text-align:center;
  transition:border-color .3s var(--ease),transform .3s var(--ease),background .3s var(--ease);
  cursor:default;
}
.icn-tile:hover{
  border-color:var(--accent-border);
  background:var(--accent-xlo);
  transform:translateY(-2px);
}
.icn-tile:hover .icn-svg{stroke:var(--accent-hi)}
.icn-svg{
  width:22px;height:22px;
  stroke:var(--accent);fill:none;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .3s var(--ease);
}
.icn-name{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);
  line-height:1.2;
}
.icn-tile:hover .icn-name{color:var(--accent)}
svg[data-i]{stroke-linecap:round;stroke-linejoin:round}
.chip{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.32rem .72rem;
  border:1px solid var(--accent-border-soft);
  border-radius:2px;
  font-family:var(--sans);font-weight:300;font-size:.64rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);
  background:var(--accent-xlo);
  transition:all .3s var(--ease);
}
.chip-accent{color:var(--accent);border-color:var(--accent-border)}
.chip-solid{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.chip-success{color:var(--green);border-color:var(--green-border);background:var(--green-lo)}
.chip-warn{color:var(--amber);border-color:var(--amber-border);background:var(--amber-lo)}
.chip-error{color:var(--red);  border-color:var(--red-border);  background:var(--red-lo)}
.chip-info{color:var(--blue); border-color:var(--blue-border); background:var(--blue-lo)}
.chip .dot{
  width:6px;height:6px;border-radius:50%;background:currentColor;
}
.chip-close{
  margin-left:.2rem;padding:0 0 0 .3rem;border-left:1px solid currentColor;
  opacity:.7;cursor:pointer;font-size:.7rem;line-height:1;
}
.chip-close:hover{opacity:1}
.badge{
  display:inline-grid;place-items:center;
  min-width:20px;height:20px;padding:0 .4rem;
  background:var(--accent);color:var(--bg);
  border-radius:999px;
  font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.04em;
}
.badge-dim{background:var(--accent-lo);color:var(--accent);border:1px solid var(--accent-border)}
.label{
  display:inline-block;
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
  margin-bottom:.5rem;
}
.label-required::after{content:" *";color:var(--red);letter-spacing:0}
.chip-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}
.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.1rem}
.field-help{
  font-family:var(--sans);font-weight:300;font-size:.72rem;color:var(--text-mute);
  line-height:1.5;
}
.field-err{color:var(--red)}
.input,.textarea,.select{
  width:100%;
  background:transparent;
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius);
  padding:.8rem 1rem;
  font-family:var(--sans);font-weight:300;font-size:.92rem;
  color:var(--text);
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.input::placeholder,.textarea::placeholder{color:var(--text-mute);font-weight:200}
.input:focus,.textarea:focus,.select:focus{
  outline:none;border-color:var(--accent);background:var(--accent-xlo);
}
.input[aria-invalid="true"]{border-color:var(--red)}
.textarea{min-height:120px;resize:vertical;line-height:1.7}
.input-group{position:relative;display:flex;align-items:center}
.input-group .input{padding-left:2.5rem}
.input-group-icon{
  position:absolute;left:.9rem;color:var(--text-mute);
  width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;
  pointer-events:none;
}
.select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c8a97e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;background-position:right 1rem center;
  padding-right:2.4rem;cursor:pointer;
  color-scheme:dark;
}
html[data-theme="light"] .select{color-scheme:light}
.select option{
  background-color:var(--bg-elev);
  color:var(--text);
  font-family:var(--sans);font-weight:300;
  padding:.55rem .75rem;
}
.select option:checked,
.select option:hover{
  background:var(--accent-lo);
  color:var(--accent);
}
.select option[disabled]{color:var(--text-mute)}
.check{
  display:inline-flex;align-items:flex-start;gap:.7rem;cursor:pointer;
  font-family:var(--sans);font-weight:300;font-size:.9rem;color:var(--text);
  line-height:1.5;user-select:none;
}
.check input{position:absolute;opacity:0;pointer-events:none}
.check-box{
  width:18px;height:18px;flex-shrink:0;margin-top:2px;
  border:1px solid var(--accent-border);
  border-radius:2px;background:transparent;
  display:grid;place-items:center;
  transition:all .25s var(--ease);
}
.check-box svg{width:12px;height:12px;stroke:var(--bg);fill:none;stroke-width:2.2;
  opacity:0;transform:scale(.6);transition:all .2s var(--ease-snap)}
.check input:checked ~ .check-box{background:var(--accent);border-color:var(--accent)}
.check input:checked ~ .check-box svg{opacity:1;transform:scale(1)}
.check input:focus-visible ~ .check-box{box-shadow:0 0 0 3px var(--accent-lo)}
.check:hover .check-box{border-color:var(--accent)}
.radio{display:inline-flex;align-items:center;gap:.65rem;cursor:pointer;
  font-family:var(--sans);font-weight:300;font-size:.9rem;color:var(--text)}
.radio input{position:absolute;opacity:0;pointer-events:none}
.radio-dot{
  width:18px;height:18px;border-radius:50%;
  border:1px solid var(--accent-border);
  display:grid;place-items:center;transition:all .25s var(--ease);
}
.radio-dot::after{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);
  transform:scale(0);transition:transform .2s var(--ease-snap);
}
.radio input:checked ~ .radio-dot{border-color:var(--accent)}
.radio input:checked ~ .radio-dot::after{transform:scale(1)}
.radio:hover .radio-dot{border-color:var(--accent)}
.toggle{display:inline-flex;align-items:center;gap:.8rem;cursor:pointer;
  font-family:var(--sans);font-weight:300;font-size:.9rem;color:var(--text)}
.toggle input{position:absolute;opacity:0;pointer-events:none}
.toggle-track{
  width:40px;height:22px;border-radius:999px;
  background:var(--text-ghost);
  border:1px solid var(--accent-border-soft);
  position:relative;transition:all .3s var(--ease);
}
.toggle-thumb{
  position:absolute;top:2px;left:2px;
  width:16px;height:16px;border-radius:50%;background:var(--text-dim);
  transition:all .3s var(--ease-snap);
}
.toggle input:checked ~ .toggle-track{background:var(--accent);border-color:var(--accent)}
.toggle input:checked ~ .toggle-track .toggle-thumb{left:20px;background:var(--bg)}
.toggle input:focus-visible ~ .toggle-track{box-shadow:0 0 0 3px var(--accent-lo)}
.slider{
  -webkit-appearance:none;appearance:none;
  width:100%;height:2px;background:var(--accent-border-soft);
  border-radius:999px;outline:none;
}
.slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:16px;height:16px;border-radius:50%;
  background:var(--accent);cursor:pointer;
  transition:transform .2s var(--ease-snap);
  box-shadow:0 0 0 4px var(--accent-xlo);
}
.slider::-moz-range-thumb{
  width:16px;height:16px;border-radius:50%;
  background:var(--accent);cursor:pointer;border:none;
  box-shadow:0 0 0 4px var(--accent-xlo);
}
.slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
.dd{position:relative;width:100%}
.dd-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:.8rem;padding:.8rem 1rem;
  background:transparent;cursor:pointer;
  border:1px solid var(--accent-border-soft);border-radius:var(--radius);
  font-family:var(--sans);font-weight:300;font-size:.9rem;color:var(--text);
  text-align:left;transition:all .3s var(--ease);
}
.dd-btn:hover,.dd.is-open .dd-btn{border-color:var(--accent);background:var(--accent-xlo)}
.dd-btn-l{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;min-width:0;flex:1}
.dd-btn-placeholder{color:var(--text-mute)}
.dd-caret{
  width:12px;height:12px;stroke:var(--accent);fill:none;stroke-width:1.8;
  flex-shrink:0;transition:transform .3s var(--ease);
}
.dd.is-open .dd-caret{transform:rotate(180deg)}
.dd-menu{
  position:absolute;top:calc(100% + .4rem);left:0;right:0;
  background:var(--bg-elev);
  border:1px solid var(--accent-border);
  border-radius:var(--radius);
  padding:.35rem;z-index:40;
  max-height:260px;overflow-y:auto;
  box-shadow:0 20px 50px -20px rgba(0,0,0,.6),0 0 0 1px var(--accent-xlo);
  opacity:0;pointer-events:none;transform:translateY(-4px);
  transition:opacity .25s var(--ease),transform .25s var(--ease);
}
.dd.is-open .dd-menu{opacity:1;pointer-events:auto;transform:translateY(0)}
.dd-item{
  display:flex;align-items:center;gap:.65rem;
  padding:.55rem .75rem;border-radius:2px;
  font-family:var(--sans);font-weight:300;font-size:.85rem;color:var(--text-dim);
  cursor:pointer;transition:all .2s var(--ease);
}
.dd-item:hover{background:var(--accent-lo);color:var(--accent)}
.dd-item.is-selected{color:var(--accent);background:var(--accent-xlo)}
.dd-item-check{
  width:14px;height:14px;border:1px solid var(--accent-border);
  border-radius:2px;flex-shrink:0;display:grid;place-items:center;
}
.dd-item-check svg{width:9px;height:9px;stroke:var(--bg);fill:none;stroke-width:2.4;opacity:0}
.dd-item.is-selected .dd-item-check{background:var(--accent);border-color:var(--accent)}
.dd-item.is-selected .dd-item-check svg{opacity:1}
.dd-divider{height:1px;background:var(--accent-border-soft);margin:.35rem .5rem}
.dd-search{
  width:100%;padding:.55rem .75rem;border-radius:2px;
  background:var(--bg-sunken);border:1px solid var(--accent-border-soft);
  font-family:var(--sans);font-weight:300;font-size:.82rem;color:var(--text);
  margin-bottom:.25rem;
}
.dd-search:focus{outline:none;border-color:var(--accent)}
.dd-pill{
  display:inline-flex;align-items:center;gap:.3rem;
  padding:.18rem .5rem;font-size:.66rem;letter-spacing:.1em;
  background:var(--accent-lo);color:var(--accent);
  border:1px solid var(--accent-border-soft);border-radius:2px;
  text-transform:uppercase;
}
.dd-pill-x{cursor:pointer;opacity:.75;line-height:1}
.dd-pill-x:hover{opacity:1}
.list{list-style:none;padding:0;margin:0;max-width:640px}
.list-item{
  display:flex;gap:.9rem;padding:.7rem 0;
  border-bottom:1px solid var(--accent-border-soft);
  font-family:var(--sans);font-weight:300;font-size:.92rem;
  line-height:1.6;color:var(--text-dim);
}
.list-item:last-child{border-bottom:none}
.list-marker{
  flex-shrink:0;margin-top:.5rem;
  width:18px;height:1px;background:var(--accent);
}
.list-num{counter-reset:l-num;list-style:none;padding:0;margin:0;max-width:640px}
.list-num .list-item{counter-increment:l-num}
.list-num .list-item::before{
  content:counter(l-num,decimal-leading-zero) " ·";
  font-family:var(--mono);font-weight:400;font-size:.8rem;
  color:var(--accent);flex-shrink:0;margin-right:.5rem;min-width:2.2em;
}
.list-check .list-item{border:none;padding:.45rem 0}
.list-check .list-item::before{
  content:"✓";color:var(--accent);font-weight:400;margin-right:.8rem;flex-shrink:0;
}
.desc-list{display:grid;gap:1rem;grid-template-columns:1fr;max-width:640px}
.desc-row{
  display:grid;grid-template-columns:150px 1fr;gap:1.2rem;
  padding-bottom:1rem;border-bottom:1px solid var(--accent-border-soft);
}
.desc-row:last-child{border-bottom:none}
.desc-k{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding-top:.15rem;
}
.desc-v{
  font-family:var(--sans);font-weight:300;font-size:.92rem;color:var(--text);line-height:1.7;
}
.tbl-wrap{
  background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.tbl-bar{
  display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;
  padding:.9rem 1.1rem;
  border-bottom:1px solid var(--accent-border-soft);
  background:var(--bg-elev);
}
.tbl-bar-search{
  flex:1;min-width:180px;max-width:320px;position:relative;display:flex;align-items:center;
}
.tbl-bar-search .input{padding-left:2.3rem;padding-top:.55rem;padding-bottom:.55rem;font-size:.85rem}
.tbl-bar-search svg{position:absolute;left:.8rem;width:14px;height:14px;stroke:var(--text-mute);fill:none;stroke-width:1.7}
.filter-btn{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.48rem .85rem;border-radius:var(--radius);
  background:transparent;border:1px solid var(--accent-border-soft);
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;
  transition:all .3s var(--ease);
}
.filter-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8}
.filter-btn:hover{color:var(--accent);border-color:var(--accent-border)}
.filter-btn.is-active{
  color:var(--accent);border-color:var(--accent);background:var(--accent-lo);
}
.filter-btn .count{
  font-family:var(--mono);font-weight:500;font-size:.62rem;
  padding:.1rem .35rem;border-radius:2px;
  background:var(--accent);color:var(--bg);margin-left:.2rem;
}
.tbl{
  width:100%;border-collapse:collapse;
  font-family:var(--sans);font-weight:300;font-size:.88rem;
}
.tbl thead th{
  text-align:left;padding:.85rem 1.1rem;
  font-family:var(--sans);font-weight:400;font-size:var(--fs-chrome);
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
  border-bottom:1px solid var(--accent-border);
  background:var(--bg-elev);
  white-space:nowrap;
}
.tbl thead th.sortable{cursor:pointer;user-select:none}
.tbl thead th.sortable::after{
  content:"↕";margin-left:.4rem;opacity:.5;font-family:var(--mono);
}
.tbl thead th.is-sorted-asc::after{content:"↑";opacity:1}
.tbl thead th.is-sorted-desc::after{content:"↓";opacity:1}
.tbl tbody td{
  padding:.85rem 1.1rem;
  color:var(--text);
  border-bottom:1px solid var(--accent-border-soft);
  vertical-align:middle;
}
.tbl tbody tr{transition:background .25s var(--ease)}
.tbl tbody tr:hover{background:var(--accent-xlo)}
.tbl tbody tr.is-selected{background:var(--accent-lo)}
.tbl tbody tr:last-child td{border-bottom:none}
.tbl .col-num{font-family:var(--mono);color:var(--text-dim);font-size:.82rem}
.tbl .col-name{font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--text)}
.tbl .col-email{color:var(--text-dim);font-size:.85rem}
.tbl .col-actions{text-align:right;white-space:nowrap}
.tbl-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1.1rem;gap:1rem;
  border-top:1px solid var(--accent-border-soft);
  background:var(--bg-elev);
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);
}
.pager{display:flex;gap:.25rem}
.pager button{
  min-width:30px;height:30px;padding:0 .45rem;
  background:transparent;border:1px solid var(--accent-border-soft);border-radius:2px;
  font-family:var(--mono);font-weight:400;font-size:.72rem;color:var(--text-dim);
  cursor:pointer;transition:all .25s var(--ease);
}
.pager button:hover{color:var(--accent);border-color:var(--accent-border)}
.pager button.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-lo)}
.pager button svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block}
.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--accent-border-soft);margin-bottom:1.5rem;flex-wrap:wrap}
.tab{
  position:relative;
  padding:.8rem 1.1rem;background:transparent;border:none;cursor:pointer;
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);
  transition:color .3s var(--ease);
}
.tab:hover{color:var(--accent)}
.tab.is-active{color:var(--accent)}
.tab.is-active::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:var(--accent);
}
.tab-panel{display:none;padding:.6rem 0}
.tab-panel.is-active{display:block;animation:su .5s var(--ease) both}
.seg{
  display:inline-flex;padding:3px;gap:2px;
  border:1px solid var(--accent-border-soft);border-radius:var(--radius);
  background:var(--bg-sunken);
}
.seg-btn{
  padding:.5rem .95rem;background:transparent;border:none;cursor:pointer;
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);
  border-radius:2px;transition:all .3s var(--ease);
}
.seg-btn.is-active{background:var(--accent);color:var(--bg)}
.seg-btn:hover:not(.is-active){color:var(--accent)}
.alert{
  display:flex;gap:.9rem;align-items:flex-start;
  padding:1rem 1.2rem;border-radius:var(--radius);
  border:1px solid var(--accent-border);
  background:var(--accent-xlo);
  font-family:var(--sans);font-weight:300;font-size:.88rem;
  line-height:1.6;color:var(--text);
  margin-bottom:1rem;
}
.alert-icon{
  flex-shrink:0;width:20px;height:20px;margin-top:1px;
  stroke:currentColor;fill:none;stroke-width:1.7;
  color:var(--accent);
}
.alert-body{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}
.alert-title{
  font-family:var(--serif);font-weight:500;font-size:1rem;color:var(--text);
  line-height:1.3;
}
.alert-text{color:var(--text-dim)}
.alert-close{
  flex-shrink:0;background:transparent;border:none;cursor:pointer;
  color:var(--text-mute);font-size:1rem;line-height:1;padding:.2rem;
}
.alert-close:hover{color:var(--accent)}
.alert-success{border-color:var(--green-border);background:var(--green-lo)}
.alert-success .alert-icon,.alert-success .alert-title{color:var(--green)}
.alert-error{border-color:var(--red-border);background:var(--red-lo)}
.alert-error .alert-icon,.alert-error .alert-title{color:var(--red)}
.alert-warn{border-color:var(--amber-border);background:var(--amber-lo)}
.alert-warn .alert-icon,.alert-warn .alert-title{color:var(--amber)}
.alert-info{border-color:var(--blue-border);background:var(--blue-lo)}
.alert-info .alert-icon,.alert-info .alert-title{color:var(--blue)}
.callout{
  padding:1.6rem 1.8rem;margin:1.4rem 0;
  background:var(--bg-card);
  border-left:2px solid var(--accent);
  border-radius:0 var(--radius) var(--radius) 0;
}
.callout-label{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.26em;text-transform:uppercase;color:var(--accent);
  margin-bottom:.5rem;
}
.callout-body{
  font-family:var(--serif);font-weight:400;font-size:1.15rem;line-height:1.5;
  color:var(--text);font-style:italic;
}
.bq{
  position:relative;padding:2rem 2.4rem 2rem 3.5rem;
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.5;
  color:var(--text);max-width:760px;
  margin:2rem 0;
}
.bq::before{
  content:"\201C";position:absolute;left:.5rem;top:-.8rem;
  font-family:var(--serif);font-style:normal;
  font-size:5rem;line-height:1;color:var(--accent);opacity:.55;
}
.bq-cite{
  display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;
  font-family:var(--sans);font-weight:300;font-style:normal;
  font-size:var(--fs-chrome);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);
}
.bq-cite::before{content:"";width:24px;height:1px;background:var(--accent);opacity:.6}
.stage{
  background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius-lg);
  padding:clamp(1.8rem,3.5vw,3.2rem);
  max-width:780px;margin:0 auto;
  position:relative;
}
.book-chapter-meta{
  display:flex;align-items:center;gap:.9rem;
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.28em;text-transform:uppercase;color:var(--text-mute);
  margin-bottom:.8rem;
}
.book-chapter-meta::before,
.book-chapter-meta::after{
  content:"";flex:1;max-width:60px;height:1px;background:var(--accent-border-soft);
}
.book-chapter-num{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(2.6rem,5vw,4.4rem);
  color:var(--accent);line-height:1;text-align:center;
  margin-bottom:.2rem;letter-spacing:-.02em;
}
.book-chapter-title{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.05;
  color:var(--text);text-align:center;letter-spacing:-.012em;
  margin-bottom:.7rem;
}
.book-chapter-title em{font-style:italic;color:var(--accent);font-weight:400}
.book-chapter-sub{
  font-family:var(--sans);font-weight:200;font-size:var(--fs-small);
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
  text-align:center;margin-bottom:2.4rem;
}
.book-chapter-rule{
  width:60px;height:1px;background:var(--accent);opacity:.6;
  margin:0 auto 2.4rem;
}
.prose{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-body);
  line-height:1.85;color:var(--text-dim);
}
.prose > * + *{margin-top:1.1em}
.prose h2{
  font-family:var(--serif);font-weight:400;font-size:var(--fs-h3);
  color:var(--text);line-height:1.2;
  margin-top:2.4em !important;margin-bottom:.5em;
  letter-spacing:-.005em;
}
.prose h3{
  font-family:var(--serif);font-weight:500;font-size:var(--fs-h4);
  color:var(--text);line-height:1.3;
  margin-top:1.8em !important;margin-bottom:.3em;
}
.prose h4{
  font-family:var(--sans);font-weight:400;font-size:var(--fs-h5);
  color:var(--accent);text-transform:uppercase;letter-spacing:.06em;
  margin-top:1.6em !important;margin-bottom:.2em;
}
.prose p:first-of-type::first-letter{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:3.6em;line-height:.85;float:left;
  margin:.05em .12em -.02em 0;color:var(--accent);
}
.prose blockquote{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:1.15rem;line-height:1.55;color:var(--text);
  border-left:2px solid var(--accent);
  padding:.4rem 0 .4rem 1.4rem;
  margin:1.6rem 0;max-width:none;
}
.prose strong{color:var(--text);font-weight:500}
.prose em{font-style:italic}
.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-border)}
.prose a:hover{border-bottom-color:var(--accent)}
.exam{
  background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius-lg);
  padding:clamp(1.6rem,3vw,2.2rem);
  max-width:760px;margin:0 auto;
}
.ref-text{
  max-width:780px;margin:0 auto 1.6rem;
  background:var(--bg-elev);
  border:1px solid var(--accent-border);
  border-radius:var(--radius-lg);
  padding:clamp(1.6rem,2.8vw,2.4rem);
  position:relative;
}
.ref-text::before{
  content:"";position:absolute;left:0;top:1.6rem;bottom:1.6rem;width:2px;
  background:var(--accent);border-radius:0 2px 2px 0;
}
.ref-text-label{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.28em;text-transform:uppercase;color:var(--accent);
  margin-bottom:.7rem;display:block;
}
.ref-text-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.4rem,2vw,1.7rem);line-height:1.2;
  color:var(--text);letter-spacing:-.005em;margin-bottom:.25rem;
}
.ref-text-sub{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:1.02rem;color:var(--text-dim);line-height:1.4;
  margin-bottom:1.2rem;
}
.ref-text-body{
  font-family:var(--serif);font-weight:300;
  font-size:1rem;line-height:1.75;color:var(--text);
  margin-bottom:1.2rem;
}
.ref-text-body p + p{margin-top:.8rem}
.ref-text-body p::first-line{font-style:italic;color:var(--text-dim)}
.ref-text-cite{
  display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;
  padding-top:1rem;border-top:1px solid var(--accent-border-soft);
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);
}
.ref-text-author{color:var(--accent)}
.ref-text-cite-sep{opacity:.4}
.ref-text-source{font-style:normal;letter-spacing:.1em;text-transform:none;font-family:var(--serif);font-weight:400;font-size:.82rem;color:var(--text-dim)}
.ref-text-source em{font-style:italic}
.news{
  background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius-lg);
  padding:clamp(1.8rem,3.5vw,3rem);
  max-width:780px;margin:0 auto;
}
.news-meta{
  display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.22em;text-transform:uppercase;color:var(--text-mute);
  margin-bottom:1rem;
}
.news-meta-tag{color:var(--accent)}
.news-meta-sep{opacity:.4}
.news-headline{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.012em;
  color:var(--text);margin-bottom:.7rem;
}
.news-deck{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.5;
  color:var(--text-dim);margin-bottom:1.6rem;max-width:62ch;
}
.news-byline{
  display:flex;align-items:center;gap:.9rem;
  padding:.9rem 0;
  border-top:1px solid var(--accent-border-soft);
  border-bottom:1px solid var(--accent-border-soft);
  margin-bottom:1.8rem;
}
.news-byline-text{
  display:flex;flex-direction:column;gap:.15rem;line-height:1.3;
}
.news-byline-name{
  font-family:var(--serif);font-weight:500;font-size:.95rem;color:var(--text);
}
.news-byline-role{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
}
.news-byline-meta{
  margin-left:auto;
  font-family:var(--mono);font-weight:400;font-size:.7rem;
  color:var(--text-mute);letter-spacing:.06em;
  display:flex;flex-direction:column;gap:.15rem;text-align:right;line-height:1.4;
}
.news-pull{
  font-family:var(--serif);font-weight:300;font-style:italic;
  font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.35;
  color:var(--text);
  padding:1.6rem 0 1.6rem 2rem;margin:1.8rem 0;
  border-left:2px solid var(--accent);position:relative;
}
.news-pull::before{
  content:"\201C";position:absolute;left:.4rem;top:-.6rem;
  font-family:var(--serif);font-style:normal;
  font-size:3.2rem;line-height:1;color:var(--accent);opacity:.5;
}
.cards-grid{
  display:grid;gap:1.2rem;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
}
.card{
  position:relative;background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius-lg);
  padding:1.6rem 1.7rem;
  display:flex;flex-direction:column;gap:.6rem;
  transition:transform .5s var(--ease),border-color .3s var(--ease);
}
.card:hover{transform:translateY(-2px);border-color:var(--accent-border)}
.card-label{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.22em;text-transform:uppercase;color:var(--accent);
}
.card-title{
  font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.25;color:var(--text);
}
.card-body{
  font-family:var(--sans);font-weight:200;font-size:.88rem;line-height:1.75;color:var(--text-dim);
}
.card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding-top:1rem;margin-top:auto;
  border-top:1px solid var(--accent-border-soft);
}
.card-metric{
  font-family:var(--serif);font-weight:400;font-size:2.2rem;
  color:var(--accent);line-height:1;
}
.card-delta{
  font-family:var(--mono);font-weight:400;font-size:.72rem;
  letter-spacing:.06em;
}
.card-delta.up{color:var(--green)}
.card-delta.down{color:var(--red)}
.decide{
  background:var(--bg-card);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius-lg);
  padding:1.6rem 1.8rem;
  margin-bottom:1.4rem;
}
.decide-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:1rem;margin-bottom:1rem;padding-bottom:.9rem;
  border-bottom:1px solid var(--accent-border-soft);
}
.decide-title{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:var(--text)}
.decide-hint{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);
}
.decide-options{display:grid;gap:.6rem;grid-template-columns:1fr}
.decide-option{
  display:flex;align-items:flex-start;gap:.9rem;
  padding:.95rem 1.1rem;border-radius:var(--radius);
  border:1px solid var(--accent-border-soft);
  background:transparent;cursor:pointer;text-align:left;
  font-family:var(--sans);font-weight:300;font-size:.88rem;color:var(--text);
  transition:all .3s var(--ease);
}
.decide-option:hover{border-color:var(--accent);background:var(--accent-xlo)}
.decide-option.is-selected{
  border-color:var(--accent);background:var(--accent-lo);
}
.decide-option-mark{
  width:22px;height:22px;border-radius:50%;border:1px solid var(--accent-border);
  flex-shrink:0;display:grid;place-items:center;
  font-family:var(--mono);font-weight:400;font-size:.68rem;color:var(--accent);
  transition:all .25s var(--ease);
}
.decide-option.is-selected .decide-option-mark{
  background:var(--accent);color:var(--bg);border-color:var(--accent);
}
.decide-option-body{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}
.decide-option-title{
  font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--text);line-height:1.25;
}
.decide-option-desc{font-size:.78rem;color:var(--text-dim);line-height:1.5}
.prog{width:100%;height:2px;background:var(--accent-border-soft);border-radius:999px;overflow:hidden}
.prog-bar{height:100%;background:var(--accent);border-radius:999px;transition:width .6s var(--ease)}
.progbox{display:flex;flex-direction:column;gap:.4rem;max-width:340px}
.progbox-head{display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);letter-spacing:.15em;text-transform:uppercase}
.progbox-label{color:var(--text-dim)}
.progbox-val{color:var(--accent);font-family:var(--mono);letter-spacing:.05em}
.avatar{
  width:40px;height:40px;border-radius:50%;
  background:var(--accent-lo);border:1px solid var(--accent-border);
  display:grid;place-items:center;
  font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--accent);
  flex-shrink:0;
}
.avatar-sm{width:28px;height:28px;font-size:.78rem}
.avatar-lg{width:56px;height:56px;font-size:1.35rem}
.stepper{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.step{
  display:flex;align-items:center;gap:.55rem;
  font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);
  letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute);
}
.step-dot{
  width:24px;height:24px;border-radius:50%;
  border:1px solid var(--accent-border-soft);
  display:grid;place-items:center;
  font-family:var(--mono);font-weight:400;font-size:.68rem;color:var(--text-mute);
}
.step.is-done .step-dot{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.step.is-done{color:var(--accent)}
.step.is-current .step-dot{border-color:var(--accent);color:var(--accent);background:var(--accent-xlo)}
.step.is-current{color:var(--text)}
.step-link{width:22px;height:1px;background:var(--accent-border-soft)}
.tip{position:relative;display:inline-flex;border-bottom:1px dashed var(--accent);cursor:help}
.tip::after{
  content:attr(data-tip);
  position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);
  background:var(--bg-elev);border:1px solid var(--accent-border);
  color:var(--text);padding:.5rem .8rem;border-radius:var(--radius);
  font-family:var(--sans);font-weight:300;font-size:.72rem;white-space:nowrap;letter-spacing:.04em;
  opacity:0;pointer-events:none;transition:all .25s var(--ease);z-index:10;
}
.tip:hover::after{opacity:1;transform:translateX(-50%) translateY(0)}
.modal-scrim{
  position:fixed;inset:0;z-index:100;
  background:rgba(11,12,15,.72);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;padding:2rem;
  animation:fade .3s var(--ease);
}
html[data-theme="light"] .modal-scrim{background:rgba(26,26,26,.5)}
.modal-scrim.is-open{display:flex}
@keyframes fade{from{opacity:0}to{opacity:1}}
.modal{
  width:min(560px,100%);max-height:min(80vh,720px);
  background:var(--bg-card);
  border:1px solid var(--accent-border);
  border-radius:var(--radius-lg);
  padding:2rem 2.2rem;
  display:flex;flex-direction:column;gap:1.2rem;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.75),0 0 0 1px var(--accent-xlo);
  animation:pop .4s var(--ease-snap) both;
  overflow:hidden;
}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--accent-border-soft)}
.modal-title{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--text);line-height:1.25}
.modal-sub{font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-top:.3rem}
.modal-close{
  background:transparent;border:1px solid var(--accent-border-soft);border-radius:var(--radius);
  width:32px;height:32px;display:grid;place-items:center;cursor:pointer;color:var(--text-dim);
  transition:all .25s var(--ease);flex-shrink:0;
}
.modal-close:hover{color:var(--accent);border-color:var(--accent-border)}
.modal-body{flex:1;overflow-y:auto;font-family:var(--sans);font-weight:300;font-size:.92rem;line-height:1.8;color:var(--text-dim)}
.modal-foot{display:flex;justify-content:flex-end;gap:.6rem;padding-top:1rem;border-top:1px solid var(--accent-border-soft)}
.empty{
  text-align:center;padding:3rem 2rem;
  border:1px dashed var(--accent-border-soft);border-radius:var(--radius-lg);
  display:flex;flex-direction:column;align-items:center;gap:.8rem;max-width:520px;margin:0 auto;
}
.empty-icon{width:48px;height:48px;stroke:var(--accent);fill:none;stroke-width:1.3;opacity:.6}
.empty-title{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--text)}
.empty-body{font-family:var(--sans);font-weight:200;font-size:.88rem;color:var(--text-dim);line-height:1.7;max-width:42ch}
.code{
  background:var(--bg-sunken);
  border:1px solid var(--accent-border-soft);
  border-radius:var(--radius);
  padding:1rem 1.2rem;
  font-family:var(--mono);font-weight:400;font-size:.78rem;line-height:1.7;
  color:var(--text-dim);overflow-x:auto;
  max-width:100%;
}
.code .c-key{color:var(--accent)}
.code .c-str{color:var(--green)}
.code .c-com{color:var(--text-mute);font-style:italic}
.spinner{
  width:22px;height:22px;border-radius:50%;
  border:1.5px solid var(--accent-border-soft);
  border-top-color:var(--accent);
  animation:spin .9s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.ftr{
  padding:4rem clamp(1.5rem,5vw,5rem) 3rem;
  border-top:1px solid var(--accent-border-soft);
  display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;
  max-width:1400px;margin:3rem auto 0;
}
.ftr-l{display:flex;flex-direction:column;gap:.4rem}
.ftr-mark{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:var(--text)}
.ftr-sub{font-family:var(--sans);font-weight:300;font-size:var(--fs-chrome);letter-spacing:.25em;text-transform:uppercase;color:var(--accent)}
.ftr-r{font-family:var(--mono);font-weight:400;font-size:.7rem;color:var(--text-mute);letter-spacing:.1em}
.two-col{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem}
@media(max-width:860px){
.two-col{grid-template-columns:1fr}}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media(max-width:860px){
.three-col{grid-template-columns:1fr}}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:860px){
.four-col{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){
.four-col{grid-template-columns:1fr}}
.stack-sm>*+*{margin-top:.6rem}
.stack-md>*+*{margin-top:1rem}
.stack-lg>*+*{margin-top:1.6rem}
@media(max-width:860px){
.nav-links{display:none}
.type-row{grid-template-columns:1fr;gap:.5rem}
.desc-row{grid-template-columns:1fr;gap:.3rem}
.sec-head{flex-direction:column;align-items:flex-start}
.sec-note{text-align:left}}
/* ── bloco de questão: regras do app (index.html) ── */
html[data-font="serif"] .block-wrap{
  --sans: var(--serif);
}
html[data-font="sans"] .block-wrap{
  --serif: var(--sans);
}
html[data-font="sans"] .block-wrap .gloss-page-callout,
html[data-font="sans"] .block-wrap .gloss-panel-callout{
  font-style:normal;
}
:root{
  --bg:#0b0c0f;
  --capa-fade:11,12,15;        
  --bg-card:#13151a;
  --bg-elevated:#1a1d24;

  --text:#f0ece4;
  --text-dim:rgba(240,236,228,.58);
  --text-mute:rgba(240,236,228,.32);
  --text-faint:rgba(240,236,228,.16);

  --accent:#c8a97e;
  --accent-lo:rgba(200,169,126,.12);
  --accent-xlo:rgba(200,169,126,.06);
  --accent-glow:rgba(200,169,126,.06);
  --accent-strong:rgba(200,169,126,.32);
  --accent-border:rgba(200,169,126,.22);
  --accent-border-soft:rgba(200,169,126,.12);
  --red-lo:rgba(232,120,120,.10);
  --red-border:rgba(232,120,120,.35);

  --border:rgba(200,169,126,.12);
  --border-strong:rgba(200,169,126,.22);

  --green:#5dd49f;
  --red:#e87878;
  --red-dark:#c0392b;
  --amber:#e9b65a;        
  --amber-lo:rgba(233,182,90,.12);
  --amber-border:rgba(233,182,90,.35);

  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Outfit',sans-serif;
  --mono:'JetBrains Mono',monospace;
  
  --serif-stable:'Cormorant Garamond',Georgia,serif;

  --ease:cubic-bezier(.22,1,.36,1);

  --topbar-h:56px;                 
  --rede-h:0px;                    
  --nav-h:var(--topbar-h);         
  --side-w:280px;

  --fs-hero:clamp(2rem,3.6vw,4rem);
  --fs-title:clamp(1.6rem,2.6vw,2.8rem);
  --fs-h3:clamp(1.15rem,1.6vw,1.5rem);
  --fs-body:clamp(.92rem,1.05vw,1.05rem);
  --fs-small:clamp(.72rem,.85vw,.88rem);
  --fs-micro:clamp(.6rem,.72vw,.72rem);
}
@keyframes su{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.q-topics-tags{margin-top:.7rem;display:flex;flex-wrap:wrap;gap:.4rem .5rem;align-items:center}
.tpc{
  display:inline-flex;align-items:center;gap:.35rem;
  font-family:var(--sans);color:var(--accent);
  padding:.25rem .65rem;border-radius:14px;
  border:1px solid rgba(200,169,126,.25);
  background:rgba(200,169,126,.06);
  transition:all .25s ease;line-height:1.3;
}
.tpc:hover{border-color:rgba(200,169,126,.45);background:rgba(200,169,126,.12)}
.tpc-num{
  font-family:var(--mono);font-size:.52rem;opacity:.55;letter-spacing:.03em;
  background:rgba(200,169,126,.15);padding:.1rem .35rem;border-radius:8px;
  line-height:1;
}
.tpc-name{font-weight:400;font-size:.64rem;letter-spacing:.04em}
.tpc-d1 .tpc-name{font-size:.68rem;font-weight:500}
.tpc-d2 .tpc-name{font-size:.64rem;font-weight:400;opacity:.92}
.tpc-d3 .tpc-name{font-size:.58rem;font-weight:300;opacity:.8}
.tg{
  display:inline-flex;align-items:center;
  font-family:var(--sans);font-weight:300;font-size:.54rem;
  color:var(--text-mute);
  padding:.2rem .55rem;border-radius:10px;
  border:1px dashed rgba(200,169,126,.18);
  background:transparent;
  letter-spacing:.04em;
  transition:all .25s ease;line-height:1.3;
  cursor:pointer;
}
.tg:hover{border-color:rgba(200,169,126,.5);color:var(--accent);background:var(--accent-lo)}
.tg.tg-user{border-color:rgba(255,255,255,.16);border-style:solid}
.tg.tg-user:hover{border-color:rgba(255,255,255,.32);color:var(--text-dim)}
.tg-hash{opacity:.4;margin-right:.15rem;font-size:.5rem}
html[data-theme="light"] .tpc{color:#7a5a30;border-color:rgba(122,90,48,.2);background:rgba(122,90,48,.05)}
html[data-theme="light"] .tg{color:#8a8a8a;border-color:rgba(0,0,0,.12)}
.ini-semservidor .btn-ghost{margin-top:.4rem}
.sim-exam-main .q-doubt{ display:none; }
body[data-sim-exam="active"] .sim-exam-main .q-show-key{ display:none; }
@keyframes setPulse{
  0%,100%{ box-shadow:0 0 0 0 var(--accent-border); }
  50%{ box-shadow:0 0 0 6px transparent; }
}
@keyframes cartdwIn{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes notifSkelPulse{0%,100%{opacity:.35}50%{opacity:.7}}
.notif-actions .btn-primary,
.notif-actions .btn-ghost{
  font-size:.7rem;padding:.4rem .85rem;
}
@keyframes cprog-sk{0%,100%{opacity:.35}50%{opacity:.85}}
.btn-primary,.btn-ghost{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.7rem 1.3rem;border-radius:3px;
  font-family:var(--sans);font-weight:300;font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;
  transition:all .3s ease;cursor:pointer;
}
.btn-primary{
  background:var(--accent);color:var(--bg);
  border:1px solid var(--accent);
}
.btn-primary:hover{background:transparent;color:var(--accent)}
.btn-ghost{
  background:transparent;color:var(--accent);
  border:1px solid var(--border-strong);
}
.btn-ghost:hover{border-color:var(--accent);background:var(--accent-lo)}
.btn-primary svg,.btn-ghost svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8}
.block-wrap{
  padding:1.6rem 1.8rem 1.8rem;
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:4px;margin-bottom:1.4rem;
}
.block-header{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:1rem;margin-bottom:1.2rem;
  padding-bottom:.9rem;border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.block-header-lead{min-width:0;flex:1 1 260px}
.cad-img-leg-acoes .btn-ghost,.cad-img-leg-acoes .rank-optin-btn{padding:.45rem .9rem}
@media (max-width:760px){
.oc-ed-acoes .btn-ghost{display:none}}
.block-type{
  font-family:var(--sans);font-weight:300;font-size:.55rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--accent);
  padding:.25rem .6rem;border:1px solid var(--border-strong);border-radius:2px;
  display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.3rem;
}
.block-type svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.block-type-icon{display:inline-flex;align-items:center;color:inherit}
.block-title{
  
  font-family:var(--serif-stable);font-weight:700;font-size:1.35rem;
  color:var(--text);line-height:1.3;
}
@keyframes lba-spin{to{transform:rotate(360deg)}}
.block-desc{
  font-family:var(--sans);font-weight:300;font-size:.78rem;
  color:var(--text-dim);line-height:1.6;margin-top:.3rem;
}
.compound-part-body > .block-wrap{
  background:transparent;border:none;padding:0;margin:0;
}
.compound-part-body > .block-wrap > .block-header{
  margin-bottom:.9rem;padding-bottom:.7rem;
  border-bottom:1px solid var(--border);
}
.compound-part-body > .block-wrap > .block-header .block-title{
  font-size:1.1rem;
}
.compound-part-body > .block-wrap > .block-header .block-type{
  font-size:.52rem;
}
@keyframes carouselFade{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes ini-spin{to{transform:rotate(360deg)}}
@keyframes iniMatePulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.35);opacity:0}}
@keyframes catalog-countdown-pulse{
  0%, 100% {
    box-shadow:0 4px 14px -2px rgba(0,0,0,.5),
               0 0 0 0 rgba(233,182,90,.45);
  }
  50% {
    box-shadow:0 4px 14px -2px rgba(0,0,0,.5),
               0 0 0 6px rgba(233,182,90,0);
  }
}
.sup-composer .btn-primary{align-self:flex-end}
.sim-stage .q-option.sim-selected{background:var(--accent-lo);border-color:var(--accent);color:var(--accent)}
.sim-stage.sim-revealed .q-option{pointer-events:none;cursor:default}
.bf-cota{flex-basis:100%;font-family:var(--sans);font-weight:300;font-size:.74rem;color:var(--text-dim)}
.bf-limite-acoes .btn-primary{padding:.45rem .9rem;font-size:.72rem}
.bf-limite{margin:1rem 0;padding:.9rem 1.1rem;background:var(--accent-glow);border:1px solid var(--accent-lo);border-radius:var(--radius,6px);font-family:var(--serif);font-size:.92rem;line-height:1.55;color:var(--text)}
.bf-limite strong{font-weight:600;color:var(--accent)}
.bf-limite a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
@keyframes notifTargetFlash{
  0%{ box-shadow:0 0 0 3px var(--accent), 0 0 18px var(--accent); }
  100%{ box-shadow:0 0 0 0 transparent, 0 0 0 transparent; }
}
.video-block .vb-info .block-type{align-self:flex-start;margin-bottom:.5rem}
.qz-layout{display:grid;gap:2rem;align-items:flex-start;grid-template-columns:minmax(0,1fr)}
.qz-has-satellite .qz-layout{grid-template-columns:minmax(0,1fr) 300px}
.qz-main{min-width:0}
.qz-satellite{
  position:sticky;top:calc(var(--nav-h) + 1rem);align-self:flex-start;min-width:0;
}
.qz-satellite-pin{
  padding:1rem;border:1px solid var(--border);border-radius:6px;
  background:var(--bg-elevated);
  
  max-height:calc(100vh - var(--nav-h) - 2rem);
  max-height:calc(100dvh - var(--nav-h) - 2rem);
  overflow-y:auto;overscroll-behavior:contain;
}
.qz-sat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.qz-has-satellite .q-item .q-topics-tags{display:none}
.qz-sat-label{font-family:var(--sans);font-weight:400;font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.qz-sat-counter{font-family:var(--mono);font-size:.58rem;color:var(--text-dim)}
.qz-sat-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:.4rem}
.qz-sat-bar-fill{display:block;height:100%;background:var(--green);border-radius:2px;transition:width .3s ease}
.qz-sat-remaining{font-family:var(--sans);font-size:.55rem;color:var(--text-mute);margin-bottom:.8rem}
.qz-sat-divider{height:1px;background:var(--border);margin-bottom:.8rem}
.qz-sat-empty{font-family:var(--sans);font-size:.72rem;color:var(--text-mute);font-style:italic;line-height:1.5}
.qz-sat-item{}
.qz-sat-assertion{font-family:var(--serif);font-size:calc(.82rem * var(--gabfs,1));color:var(--text);line-height:1.45;margin-bottom:.5rem}
.qz-sat-diff{
  display:inline-block;padding:.2rem .5rem;border-radius:10px;
  font-family:var(--sans);font-size:.48rem;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--border);color:var(--text-dim);margin-bottom:.4rem;
}
.qz-sat-ref{font-family:var(--mono);font-size:.52rem;color:var(--accent);margin-bottom:.5rem}
.qz-sat-comments{
  font-family:var(--sans);font-weight:300;font-size:calc(.74rem * var(--gabfs,1));
  color:var(--text-dim);line-height:1.6;
  padding:.6rem .8rem;border-left:2px solid var(--accent);
  background:rgba(200,169,126,.04);border-radius:0 4px 4px 0;
  margin-bottom:.5rem;
}
.gabfs-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}
.gabfs-lab{font-family:var(--sans);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute)}
.gabfs-ctl{display:inline-flex;gap:.25rem}
.gabfs-ctl button{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 .4rem;background:transparent;border:1px solid var(--accent-border-soft,rgba(200,169,126,.18));border-radius:6px;color:var(--text-dim);font-family:var(--sans);font-size:.66rem;line-height:1;cursor:pointer;transition:all .2s var(--ease)}
.gabfs-ctl button:hover{color:var(--accent);border-color:var(--accent-border)}
.qz-sat-gab{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.45rem;font-family:var(--sans)}
.qz-sat-gab-rot{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute)}
.qz-sat-gab strong{font-weight:500;font-size:calc(.82rem * var(--gabfs,1));color:var(--accent)}
.qz-sat-prep{
  font-family:var(--sans);font-weight:300;font-size:calc(.7rem * var(--gabfs,1));
  color:var(--text-mute);line-height:1.5;
  padding:.5rem .7rem;border-left:2px solid var(--border);border-radius:0 4px 4px 0;margin-bottom:.5rem;
}
.qz-sat-reco{
  font-family:var(--sans);font-weight:300;font-size:calc(.68rem * var(--gabfs,1));font-style:italic;
  color:var(--text-mute);line-height:1.5;margin-top:.3rem;
}
@media(max-width:900px){
.qz-has-satellite .qz-layout{grid-template-columns:minmax(0,1fr)}
.qz-satellite{position:relative;top:0}}
.quiz-block .qb-intro{
  font-family:var(--sans);font-weight:300;font-size:.85rem;
  color:var(--text-dim);line-height:1.7;margin-bottom:1.2rem;max-width:680px;
}
.q-item{
  background:var(--bg-elevated);
  border:1px solid var(--border);border-radius:4px;
  padding:1.4rem 1.6rem;margin-bottom:1rem;
  display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:flex-start;
}
.q-item.is-tf{grid-template-columns:auto 1fr auto auto}
.q-num{
  font-family:var(--serif);font-weight:300;font-size:1.8rem;
  color:var(--accent);opacity:.65;line-height:1;
}
.q-body{min-width:0;display:flex;flex-direction:column;gap:.7rem}
.q-badges{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.1rem}
.q-badge{
  display:inline-flex;align-items:center;gap:.3rem;
  font-family:var(--sans);font-weight:400;font-size:.54rem;
  letter-spacing:.16em;text-transform:uppercase;
  padding:.3rem .55rem;border-radius:2px;
  border:1px solid var(--border);color:var(--text-dim);background:transparent;
}
.q-badge-ref{
  color:var(--accent);border-color:var(--accent);
  background:var(--accent-lo);letter-spacing:.08em;
}
.q-badge-tag{
  color:var(--text-dim);border-color:var(--border-strong);
  background:color-mix(in srgb, var(--bg-card) 70%, transparent);
  letter-spacing:.06em;
}
.q-badge-ubique{
  color:var(--text-mute);border-color:var(--border-strong);
  background:var(--bg-elevated);letter-spacing:.08em;
  font-style:italic;
}
.q-badge-anulada{
  color:#e87878;border-color:rgba(232,120,120,.35);
  background:rgba(232,120,120,.08);letter-spacing:.06em;font-weight:500;
}
.q-item:not(.answered) .q-badge-anulada{display:none}
.q-group-origin-badge{
  
  align-self:flex-start;
  display:inline-flex;align-items:center;width:auto;
  font-family:var(--sans);font-weight:500;font-size:.6rem;
  letter-spacing:.08em;text-transform:uppercase;
  padding:.25rem .6rem;border-radius:2px;
  color:var(--accent);border:1px solid var(--accent);
  background:var(--accent-lo);
}
.q-item-ref{
  display:flex;flex-direction:column;gap:.5rem;
  padding:.7rem .9rem;border-left:2px solid var(--accent);
  background:color-mix(in srgb, var(--bg-elevated) 50%, transparent);
  border-radius:0 var(--radius) var(--radius) 0;
  margin-bottom:.6rem;
}
.q-item-ref-text{
  font-family:var(--serif);font-size:.86rem;line-height:1.7;
  color:var(--text-dim);
}
.q-item-ref-text p:first-child{margin-top:0}
.q-item-ref-text p:last-child{margin-bottom:0}
.q-item-ref-img{display:block}
.q-item-ref-img img{max-width:100%;border-radius:var(--radius);display:block}
.q-ref-text-html{
  font-family:var(--serif);font-size:.92rem;line-height:1.75;
  color:var(--text);
}
.q-ref-text-html p:first-child{margin-top:0}
.q-ref-text-html p:last-child{margin-bottom:0}
.q-ref-text-html table,.essay-ref-body table{
  width:100%;border-collapse:collapse;margin:.5rem 0 .6rem;
  font-family:var(--sans);font-weight:300;font-size:.78rem;line-height:1.45;font-style:normal;
}
.q-ref-text-html th,.essay-ref-body th{
  text-align:center;vertical-align:bottom;padding:.45rem .6rem;
  font-weight:400;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);
  border-bottom:1px solid var(--accent-border);background:var(--accent-xlo);
}
.q-ref-text-html td,.essay-ref-body td{
  text-align:center;vertical-align:top;padding:.4rem .6rem;color:var(--text);
  border-bottom:1px solid var(--accent-border-soft);font-variant-numeric:tabular-nums;
}
.q-ref-text-html td:first-child,.q-ref-text-html th:first-child,
.essay-ref-body td:first-child,.essay-ref-body th:first-child{text-align:left}
.q-ref-text-html tr:last-child td,.essay-ref-body tr:last-child td{border-bottom:none}
.q-ref-text-html .q-table-title,.q-ref-text-html .q-table-source,
.essay-ref-body .q-table-title,.essay-ref-body .q-table-source{
  font-family:var(--sans);font-weight:300;font-size:.7rem;color:var(--text-mute);font-style:normal;
}
.q-ref-text-html .q-table-source,.essay-ref-body .q-table-source{text-align:right;margin-top:-.2rem}
@media(max-width:640px){
.q-ref-text-html table,.essay-ref-body table{display:block;overflow-x:auto}}
.q-item-comment{
  margin-top:1rem;padding:.8rem 1rem;
  background:var(--bg-elevated);border-left:3px solid var(--accent);
  border-radius:0 var(--radius) var(--radius) 0;
}
.q-item-comment-label{
  display:block;font-family:var(--mono);font-size:.6rem;
  letter-spacing:.12em;color:var(--accent);text-transform:uppercase;
  margin-bottom:.4rem;
}
.q-item-comment-body{
  font-family:var(--serif);font-size:.9rem;line-height:1.7;
  color:var(--text-dim);
}
.q-item-comment-body p:first-child{margin-top:0}
.q-item-comment-body p:last-child{margin-bottom:0}
.q-badge-diff{border-color:var(--border-strong)}
.q-badge-diff.d-very-easy{color:#7cb98b;border-color:rgba(124,185,139,.55);background:rgba(124,185,139,.08)}
.q-badge-diff.d-easy{color:#a5c98b;border-color:rgba(165,201,139,.5);background:rgba(165,201,139,.08)}
.q-badge-diff.d-regular{color:#c8a97e;border-color:rgba(200,169,126,.55);background:var(--accent-lo)}
.q-badge-diff.d-hard{color:#d19b72;border-color:rgba(209,155,114,.55);background:rgba(209,155,114,.1)}
.q-badge-diff.d-very-hard{color:#d47973;border-color:rgba(212,121,115,.55);background:rgba(212,121,115,.1)}
.q-stat-strip{
  display:inline-flex;gap:.3rem;align-items:center;flex-wrap:wrap;
  font-family:var(--sans);font-weight:300;font-size:.54rem;
  letter-spacing:.08em;text-transform:uppercase;
}
.q-stat-chip{
  padding:.24rem .5rem;border-radius:2px;
  border:1px solid var(--border);color:var(--text-dim);
  background:color-mix(in srgb, var(--bg-card) 70%, transparent);
  white-space:nowrap;
}
.q-stat-chip.q-stat-true{color:#a5c98b;border-color:rgba(165,201,139,.35)}
.q-stat-chip.q-stat-false{color:#d19b72;border-color:rgba(209,155,114,.35)}
.q-stat-chip.q-stat-mc{color:var(--text-dim)}
.q-stat-chip.q-stat-doubt{color:var(--text-mute);border-style:dashed}
.q-assertion{
  font-family:var(--sans);font-weight:300;font-size:var(--fs-body);
  line-height:1.7;color:var(--text);
}
.q-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.q-options{display:flex;gap:.45rem;flex-wrap:wrap}
.q-options.is-tf{gap:.4rem;align-self:flex-start;flex-shrink:0}
.q-option{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.5rem .85rem .5rem .55rem;border-radius:18px;
  background:transparent;border:1px solid rgba(200,169,126,.25);
  color:var(--text-dim);
  font-family:var(--sans);font-weight:300;font-size:.78rem;
  transition:all .25s ease;text-align:left;max-width:100%;cursor:pointer;
}
.q-options.is-tf .q-option{
  padding:0;width:34px;height:34px;border-radius:50%;
  justify-content:center;gap:0;
}
.q-option:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-lo)}
.q-option.selected{background:var(--accent-lo);border-color:var(--accent);color:var(--accent)}
.q-option.correct{border-color:#6ba670;color:#8bc391;background:rgba(107,166,112,.16)}
.q-option.wrong{border-color:#d47973;color:#e89690;background:rgba(212,121,115,.16)}
.q-item.q-frozen .q-option{cursor:not-allowed}
@keyframes laRegraFlash{0%,35%{background:var(--accent-lo);box-shadow:0 0 0 6px var(--accent-lo)}100%{background:transparent;box-shadow:0 0 0 6px transparent}}
.la-aluno-head .block-type{color:var(--accent)}
@keyframes lacVai{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
@media(max-width:720px){
.la-acoes .btn-primary{width:100%}}
.qz-verify-bar{
  display:flex;align-items:center;justify-content:flex-end;gap:1rem;flex-wrap:wrap;
  margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--border,rgba(200,169,126,.15));
}
.qz-verify-bar[hidden]{display:none}
.qz-verify-summary{
  font-family:var(--sans);font-weight:300;font-size:.86rem;color:var(--text);margin-right:auto;
}
.qz-verify-summary[hidden]{display:none}
.qz-verify-group{
  margin-top:.35rem;padding-top:0;border-top:none;
}
.qz-verify-group .qz-verify-btn{
  background:transparent;color:var(--text-dim);
  border:1px solid var(--border);border-radius:2px;
  padding:.38rem .75rem;font-size:.56rem;letter-spacing:.13em;font-weight:300;
}
.qz-verify-group .qz-verify-btn:hover{
  background:var(--accent-lo);color:var(--accent);border-color:var(--accent-border);
}
.qz-verify-group .qz-verify-summary{font-size:.72rem;color:var(--text-dim)}
.q-option-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;
  background:rgba(200,169,126,.12);color:var(--accent);
  font-weight:500;font-size:.72rem;flex-shrink:0;
}
.q-options.is-tf .q-option-mark{
  width:auto;height:auto;background:transparent;font-size:.85rem;
}
.q-option.correct .q-option-mark{background:rgba(107,166,112,.3);color:#8bc391}
.q-option.wrong .q-option-mark{background:rgba(212,121,115,.3);color:#e89690}
.q-feedback{
  margin-top:.9rem;padding:.9rem 1rem;border-radius:3px;
  background:var(--accent-glow);border:1px solid var(--border);
  font-family:var(--sans);font-weight:300;font-size:.82rem;
  color:var(--text-dim);line-height:1.7;display:none;
}
.q-feedback.show{display:block}
.q-feedback-label{
  font-family:var(--sans);font-weight:400;font-size:.58rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent);
  margin-bottom:.4rem;display:block;
}
.q-feedback.correct{border-color:rgba(93,212,159,.35);background:rgba(93,212,159,.05)}
.q-feedback.correct .q-feedback-label{color:var(--green)}
.q-feedback.wrong{border-color:rgba(232,120,120,.35);background:rgba(232,120,120,.05)}
.q-feedback.wrong .q-feedback-label{color:var(--red)}
.q-reco{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border);font-style:italic}
.q-item > .q-actions-bar, .q-item > .qd-panel{ grid-column:1 / -1; }
@media(max-width:640px){
.q-item, .q-item.is-tf{
    grid-template-columns:auto minmax(0,1fr);
    gap:.7rem;padding:1.1rem 1rem;
  }
.q-item .q-num{font-size:1.35rem}
.q-item.is-tf > .q-options.is-tf{
    grid-column:2;grid-row:2;justify-self:start;align-self:center;
  }
.q-item > .q-actions{
    grid-column:2;grid-row:2;justify-self:end;align-self:center;
    flex-direction:row;
  }}
.q-actions-bar{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem}
.q-pill-btn{
  display:none;align-items:center;justify-content:center;cursor:pointer;position:relative;
  width:34px;height:34px;border-radius:50%;border:1px solid var(--border-strong);
  background:transparent;color:var(--text-dim);transition:all .25s ease;
}
.q-item.answered .q-pill-btn{display:inline-flex}
.q-pill-btn:hover{border-color:var(--accent);color:var(--accent)}
.q-pill-btn.on{background:var(--accent-lo);border-color:var(--accent);color:var(--accent)}
.q-pill-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.q-pill-count{
  position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 3px;
  border-radius:8px;background:var(--accent);color:var(--bg);
  font-family:var(--sans);font-weight:600;font-size:.5rem;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.q-diff-tier{
  display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:12px;
  font-family:var(--sans);font-weight:400;font-size:.62rem;letter-spacing:.1em;
  text-transform:uppercase;cursor:help;border:1px solid transparent;
}
.q-diff-tier.dt-muito-facil{color:#8fd6a0;border-color:rgba(143,214,160,.5);background:rgba(143,214,160,.1)}
.q-diff-tier.dt-facil{color:#a5c98b;border-color:rgba(165,201,139,.5);background:rgba(165,201,139,.1)}
.q-diff-tier.dt-intermediaria{color:#e0b257;border-color:rgba(224,178,87,.5);background:rgba(224,178,87,.1)}
.q-diff-tier.dt-dificil{color:#e08a6a;border-color:rgba(224,138,106,.5);background:rgba(224,138,106,.12)}
.q-diff-tier.dt-muito-dificil{color:#c45a52;border-color:rgba(150,40,38,.6);background:rgba(150,40,38,.16)}
.compound-part .block-wrap > .q-topics-tags{display:none}
.q-result{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:50%;
  font-family:var(--mono);font-size:.65rem;font-weight:600;
  margin-left:.5rem;vertical-align:middle;
}
.q-result-correct{background:rgba(93,212,159,.15);color:var(--green)}
.q-result-wrong{background:rgba(232,120,120,.15);color:var(--red)}
.q-why-wrap{grid-column:1/-1;box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;margin:.7rem 0 .2rem;padding:.65rem .75rem;border:1px solid var(--accent-border-soft);border-radius:8px;background:var(--accent-lo)}
.q-why-hint{font-family:var(--sans);font-size:.78rem;line-height:1.5;color:var(--text-dim)}
.q-why-hint em{color:var(--text-mute);font-style:italic}
.q-why-input{width:100%;box-sizing:border-box;resize:vertical;min-height:2.3rem;background:var(--bg-card);border:1px solid var(--accent-border-soft);border-radius:7px;padding:.45rem .6rem;color:var(--text);font-family:var(--sans);font-size:.82rem;line-height:1.45}
.q-why-input:focus{outline:none;border-color:var(--accent)}
.q-why-input.q-why-empty{border-color:var(--red)}
.q-why-input:disabled{opacity:.6}
.q-why-btn{align-self:flex-start;background:transparent;border:1px solid var(--accent-border);border-radius:7px;padding:.4rem .7rem;color:var(--accent);font-family:var(--sans);font-size:.8rem;cursor:pointer;transition:background .15s}
.q-why-btn:hover:not(:disabled){background:var(--accent-lo)}
.q-why-btn:disabled{opacity:.6;cursor:default}
.q-ai-comment{margin-top:.6rem;padding:.65rem .75rem;border:1px solid var(--accent-border);border-radius:8px;background:var(--bg-card);font-family:var(--sans);font-size:.84rem;line-height:1.55;color:var(--text)}
.q-ai-comment:empty{display:none}
.q-actions{display:flex;flex-direction:column;gap:.45rem;align-items:center;align-self:flex-start}
.q-doubt,.q-show-key{
  width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border-strong);
  background:var(--bg-elevated);color:var(--text-mute);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s ease;flex-shrink:0;opacity:.65;
  padding:0;
}
.q-doubt:hover{opacity:1;border-color:#e8a857;color:#e8a857;background:rgba(232,168,87,.08)}
.q-doubt.active{opacity:1;border-color:#e8a857;color:#e8a857;background:rgba(232,168,87,.15)}
.q-doubt svg,.q-show-key svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.q-show-key:hover{opacity:1;border-color:var(--accent);color:var(--accent);background:var(--accent-lo)}
.q-show-key.is-active{opacity:1;border-color:var(--accent);color:var(--accent);background:var(--accent-lo)}
.q-actions-bar .q-show-key{width:34px;height:34px;border-width:1px;background:transparent;opacity:1;color:var(--text-dim)}
.q-actions-bar .q-show-key svg{width:15px;height:15px}
.q-score{
  font-family:var(--mono);font-size:.7rem;color:var(--text-mute);
  white-space:nowrap;padding-top:.3rem;
}
@keyframes essayAIFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes fsIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.quote-modal .q-topics-tags{justify-content:center;margin-top:1.4rem}
.peers-rec-card .btn-ghost{margin-top:auto;width:100%;justify-content:center}
#ueToastHost{position:fixed;top:64px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:340px;pointer-events:none}
.ue-toast{
  pointer-events:auto;font-family:var(--sans);font-weight:300;font-size:.82rem;line-height:1.45;
  background:var(--bg-elevated,#1c1916);color:var(--text);border:1px solid var(--border);
  border-left:3px solid var(--accent);border-radius:var(--radius);padding:.7rem .9rem;
  box-shadow:0 6px 24px rgba(0,0,0,.28);opacity:0;transform:translateX(12px);transition:opacity .25s ease,transform .25s ease;
}
.ue-toast.is-in{opacity:1;transform:translateX(0)}
.ue-toast-success{border-left-color:#7cb98b}
.ue-toast-error{border-left-color:#d17272}
.ue-toast-warn{border-left-color:#d19b72}
.ue-toast-info{border-left-color:var(--accent)}
.wallet-balance .btn-ghost{margin-left:auto}
.wallet-card .btn-primary,.wallet-card .btn-ghost{align-self:flex-start;margin-top:.3rem}
.btn-primary .ubt-cost{color:inherit;background:rgba(0,0,0,.14);border-color:transparent;letter-spacing:.04em}
.btn-primary:hover .ubt-cost{background:var(--accent-lo);border-color:var(--accent-border)}
@keyframes glossModalFade{from{opacity:0}to{opacity:1}}
@keyframes glossModalSlide{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes vozPulse{0%,100%{opacity:1}50%{opacity:.3}}
.q-list{display:flex;flex-direction:column;gap:.6rem}
.q-group{
  display:flex;flex-direction:column;gap:1rem;
  padding:1.2rem 1.3rem 1.3rem;
  background:rgba(19,21,26,.6);
  border:1px solid var(--border);
  border-radius:6px;
}
html[data-theme="light"] .q-group{background:rgba(255,255,255,.7)}
.q-group-bare{padding:0;background:transparent;border:none;gap:.85rem}
.q-group-header{
  display:flex;flex-direction:column;gap:.5rem;
  padding-bottom:.9rem;
  border-bottom:1px solid var(--border);
}
.q-group-label{
  font-family:var(--sans);font-weight:400;
  font-size:.56rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--accent);opacity:.85;
}
.q-group-enunciado{
  font-family:var(--serif);font-weight:400;
  font-size:1.05rem;line-height:1.5;
  color:var(--text);font-style:italic;
}
html[data-theme="light"] .q-group-enunciado{color:#1a1a1a}
.q-group-tagrow{display:flex;flex-wrap:wrap;gap:.4rem}
.q-group-command{
  display:flex;flex-direction:column;gap:.5rem;
  padding-top:.9rem;border-top:1px solid var(--border);
}
.q-group-command:first-child{padding-top:0;border-top:none}
.q-group-items{display:flex;flex-direction:column;gap:.7rem}
.q-ref{
  display:grid;grid-template-columns:1fr auto;gap:1.1rem;
  padding:1rem 1.1rem;
  background:rgba(11,12,15,.55);
  border-left:2px solid var(--accent);
  border-radius:4px;
}
html[data-theme="light"] .q-ref{background:rgba(244,241,236,.8)}
.q-ref:not(:has(.q-ref-media)){grid-template-columns:1fr}
.q-ref-text{min-width:0;display:flex;flex-direction:column;gap:.35rem}
.q-ref-label{
  font-family:var(--sans);font-weight:400;
  font-size:.55rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--accent);
}
.q-ref-title{
  font-family:var(--serif);font-weight:500;
  font-size:1rem;color:var(--text);line-height:1.3;
}
.q-ref-body{
  font-family:var(--serif);font-weight:300;
  font-size:.92rem;line-height:1.65;
  color:var(--text-dim);font-style:italic;margin-top:.2rem;
  white-space:pre-line;
}
.q-ref-source{
  font-family:var(--sans);font-weight:300;
  font-size:.65rem;color:var(--text-mute);
  letter-spacing:.04em;margin-top:.35rem;
}
.q-ref-media{
  position:relative;width:300px;
  border-radius:3px;overflow:hidden;cursor:zoom-in;
  flex-shrink:0;background:var(--bg-elevated);
  align-self:stretch;
  border:1px solid var(--border);
  
  display:flex;flex-direction:column;
}
.q-ref-media img{
  width:100%;height:100%;display:block;
  object-fit:cover;flex:1;
  
  max-height:420px;
}
.q-ref-media-caption{
  padding:.4rem .6rem;
  font-family:var(--sans);font-weight:300;font-size:.62rem;
  color:var(--text-dim);line-height:1.4;
  border-top:1px solid var(--border);
}
@media(max-width:700px){
.q-ref{grid-template-columns:1fr}
.q-ref-media{width:100%}}
@keyframes srcFade{from{opacity:0}to{opacity:1}}
@keyframes fcpSkel{from{background-position:200% 0}to{background-position:-200% 0}}
.lba-desb-a .icon-btn,.lba-desb-a .btn-primary{justify-content:center;text-align:center}
@keyframes cadPortalPulso{0%{border-left-color:var(--accent)}50%{border-left-color:var(--accent-border-soft)}100%{border-left-color:var(--accent)}}
@keyframes cadRefFlash{0%{background:var(--accent-lo)}65%{background:var(--accent-lo)}100%{background:transparent}}
body[data-visitante] #bfCompile,body[data-visitante] #bfApplyAi,body[data-visitante] .bf-pedido,body[data-visitante] .cmt-compose,body[data-visitante] .cmt-action-btn,body[data-visitante] .ubt-cost,body[data-visitante] .essay-coop-btn,body[data-visitante] .essay-tabs{display:none !important}
.vis-faixa{display:inline-flex;align-items:center;gap:.5rem;margin-top:.45rem;padding:.22rem .7rem;border:1px solid var(--accent-border);border-radius:99px;font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
.vis-faixa i{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block}
.vis-conv{position:relative;margin:0 0 2.2rem;padding:2rem 2.2rem;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:6px}
.vis-conv-txt{max-width:820px}
.vis-tag{font-family:var(--sans);font-weight:400;font-size:.58rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.vis-conv h2{font-family:var(--serif);font-weight:400;font-size:2.15rem;line-height:1.12;margin:.55rem 0 1rem;color:var(--text)}
.vis-conv p{font-family:var(--sans);font-weight:300;font-size:.98rem;line-height:1.7;color:var(--text-dim);margin:0 0 .85rem}
.vis-conv p strong{color:var(--text);font-weight:500}
.vis-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.8rem}
.vis-card{position:relative;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;padding:1.15rem 1.2rem 1.25rem;display:flex;flex-direction:column;gap:.6rem}
.vis-card.is-forte{border-color:var(--accent-strong);background:linear-gradient(180deg,var(--accent-lo),var(--accent-xlo))}
.vis-card-k{font-family:var(--sans);font-weight:400;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}
.vis-card h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:0;color:var(--text)}
.vis-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.42rem;flex:1}
.vis-card li{display:flex;gap:.55rem;align-items:flex-start;font-family:var(--sans);font-weight:300;font-size:.84rem;line-height:1.5;color:var(--text-dim)}
.vis-card li svg{flex-shrink:0;width:13px;height:13px;margin-top:.22rem;color:var(--accent)}
.vis-card .btn-primary,.vis-card .btn-ghost,.vis-destaque .btn-primary,.vis-conv-acoes .btn-primary,.vis-conv-acoes .btn-ghost,.vis-trancada .btn-primary,.vis-trancada .btn-ghost{margin-top:.5rem;align-self:flex-start;font-family:var(--sans);font-weight:400;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.6rem 1.1rem;border-radius:4px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.vis-destaque{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-top:1.2rem;padding:1.1rem 1.4rem;border:1px solid var(--accent-strong);border-left:3px solid var(--accent);border-radius:4px;background:var(--accent-xlo)}
.vis-destaque-t{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--text);margin:0 0 .15rem}
.vis-destaque-s{font-family:var(--sans);font-weight:300;font-size:.84rem;color:var(--text-dim);margin:0}
.vis-cat-lock{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mute)}
.vis-cat-lock svg{width:10px;height:10px}
.vis-conv-bd{position:fixed;inset:0;z-index:1400;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:1rem}
.vis-conv-card{position:relative;width:min(520px,100%);background:var(--bg-card);border:1px solid var(--border-strong);border-radius:10px;padding:1.6rem 1.7rem 1.5rem;box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}
.vis-conv-card h2{font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.2;margin:.4rem 0 .9rem;color:var(--text)}
.vis-conv-card ul{margin:0 0 1.2rem;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem}
.vis-conv-card li{display:flex;gap:.55rem;align-items:flex-start;font-family:var(--sans);font-weight:300;font-size:.88rem;line-height:1.5;color:var(--text-dim)}
.vis-conv-card li svg{flex-shrink:0;width:13px;height:13px;margin-top:.22rem;color:var(--accent)}
.vis-conv-x{position:absolute;top:.7rem;right:.8rem;background:transparent;border:none;color:var(--text-mute);font-size:1.3rem;cursor:pointer;line-height:1}
.vis-conv-acoes{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.vis-conv-depois{background:transparent;border:none;color:var(--text-mute);font-family:var(--sans);font-size:.78rem;cursor:pointer;margin-left:auto}
.vis-trancada{max-width:620px;margin:3rem auto;text-align:center}
.vis-trancada .vis-lock{width:52px;height:52px;margin:0 auto 1rem;border-radius:50%;border:1px solid var(--accent-border);display:flex;align-items:center;justify-content:center;color:var(--accent)}
.vis-trancada .vis-lock svg{width:22px;height:22px}
.vis-trancada h1{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.15;margin:0 0 .8rem;color:var(--text)}
.vis-trancada ul{list-style:none;padding:0;margin:0 auto 1.4rem;max-width:460px;display:flex;flex-direction:column;gap:.45rem;text-align:left}
.vis-trancada li{display:flex;gap:.55rem;align-items:flex-start;font-family:var(--sans);font-weight:300;font-size:.9rem;line-height:1.5;color:var(--text-dim)}
.vis-trancada li svg{flex-shrink:0;width:13px;height:13px;margin-top:.22rem;color:var(--accent)}
.vis-trancada .vis-conv-acoes{justify-content:center}
.vis-trancada .vis-conv-acoes .vis-conv-depois{margin-left:0}
@media (max-width:860px){
.vis-cards{grid-template-columns:minmax(0,1fr)}
.vis-destaque{flex-direction:column;align-items:flex-start}
.vis-conv{padding:1.4rem 1.2rem}
.vis-conv h2{font-size:1.7rem}}
.q-pill-btn.q-share-btn.is-copiado{color:var(--green);border-color:var(--green-border,rgba(93,212,159,.35))}
.cad-com-novo .btn-primary{font-size:.66rem;padding:.38rem .7rem}
@keyframes prTtsPulse{from{opacity:.45}to{opacity:1}}
@keyframes prVozPulso{from{opacity:.4}to{opacity:1}}
@keyframes prSeqIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@keyframes ovTyping{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
.pf-options .q-option.pf-option-branco .q-option-mark{ font-size:.9em; opacity:.75; }
.pf-options .q-option.pf-option-branco.selected{ border-color:var(--border-strong); background:var(--bg-elevated); color:var(--text-mute); }
.q-item.pf-flash{ animation:cadRefFlash 1.4s var(--ease); }
.pf-sat .qz-satellite-pin{ position:static; }
.qz-sat-item{ font-family:var(--mono); font-size:.62rem; color:var(--text-mute); margin-bottom:.35rem; }
.qz-sat-veredito{
  font-family:var(--sans); font-weight:300; font-size:.8rem; line-height:1.55; color:var(--text-dim);
  border:1px solid var(--border); border-radius:8px; padding:.55rem .7rem;
}
.qz-sat-veredito strong{ font-weight:600; color:var(--text); }
.qz-sat-veredito.is-ok{ border-color:rgba(136,195,145,.45); background:rgba(136,195,145,.1); }
.qz-sat-veredito.is-bad{ border-color:rgba(198,90,84,.45); background:rgba(198,90,84,.1); }
.qz-sat-veredito.is-branco{ border-color:var(--border-strong); background:var(--bg-elevated); }
.qz-sat-veredito.is-anulada{ border-color:rgba(232,168,87,.5); background:rgba(232,168,87,.1); }
.qz-sat-com{
  margin-top:.55rem; font-family:var(--sans); font-weight:300; font-size:.78rem;
  line-height:1.6; color:var(--text-dim); max-height:38vh; overflow-y:auto; overscroll-behavior:contain;
}
.qz-sat-com p{ margin:0 0 .5rem; }
.qz-sat-com p:last-child{ margin-bottom:0; }
.pf-group .q-item{ margin-bottom:0; }
.pf-group .q-group-command{ padding-top:0; border-top:0; }
.pf-group .q-group-enunciado{ font-size:.98rem; }
@keyframes tutorDrift1{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(6%,7%) scale(1.12); } }
@keyframes tutorDrift2{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-7%,-5%) scale(1.15); } }
@keyframes tutorDrift3{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(5%,-8%) scale(1.1); } }
:root{ --tp-cad:#8fb6dc; --tp-cad-b:rgba(143,182,220,.34); --tp-rel:#5dd49f; --tp-rel-b:rgba(93,212,159,.35);
    --tp-amb:#e9b65a; --tp-amb-b:rgba(233,182,90,.32); --tp-amb-lo:rgba(233,182,90,.10); --tp-ghost:rgba(240,236,228,.14); }
@keyframes tutorBlink{ 0%,100%{ opacity:.25; } 50%{ opacity:1; } }
@keyframes tutorShake{ 0%,100%{ transform:translateX(0); } 25%{ transform:translateX(-5px); } 75%{ transform:translateX(5px); } }

/* ── layout das páginas públicas das questões (só medidas; os componentes são os do design system e do app) ── */
.page a{text-decoration:none}
.pub-main{max-width:1100px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}
.pub-hero{max-width:none;padding:clamp(2.2rem,5vh,3.6rem) 0 clamp(1.2rem,3vh,1.8rem)}
.pub-hero .hero-title{max-width:30ch;font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.15}
.pub-hero .hero-lede{margin-top:1.2rem}
.pub-hero .hero-meta{margin-top:1.6rem;padding-top:1.2rem}
.pub-sec{max-width:none;padding:clamp(1.2rem,3vh,2rem) 0}
.pub-sec .sec-head{margin-bottom:1.2rem;padding-bottom:.8rem}
.pub-crumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}
.pub-crumbs a{color:var(--text-dim);text-decoration:none}.pub-crumbs a:hover{color:var(--accent)}
.pub-crumbs .hero-eyebrow{margin:0}.pub-crumbs .hero-eyebrow::before{display:none}
.nav-brand a{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.nav-logo-svg{width:26px;height:26px;display:block;color:var(--accent)}.nav-logo-svg svg{width:100%;height:100%;fill:currentColor}
.nav-tools .btn-primary,.nav-tools .btn-ghost{white-space:nowrap}
.pub-questao .block-wrap{margin-bottom:0}
.pub-questao .block-header .block-title:empty{display:none}
.pub-questao .bf-cota{display:block;margin:.2rem 0 1rem}
.pub-fig{max-width:100%;height:auto;display:block;margin:1rem 0;border-radius:var(--radius)}
.pub-lista .list-item a{color:var(--text);text-decoration:none}.pub-lista .list-item a:hover{color:var(--accent)}
.pub-lista .list-item .pub-meta{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--accent);margin-bottom:.15rem}
.pub-lista .list-item .pub-trecho{color:var(--text-dim)}
.pub-acoes{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin-top:1rem}
.cards-grid .card .pub-acoes{margin-top:auto;padding-top:1rem}
.pub-nota{font-family:var(--sans);font-weight:200;font-size:var(--fs-small);color:var(--text-mute);line-height:1.6;max-width:680px}
.pub-nota a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-border)}.pub-nota a:hover{border-bottom-color:var(--accent)}
.pub-chip-n{font-family:var(--mono);font-size:.68rem;color:var(--accent);margin-left:.1rem}
.q-pill-btn.q-share-btn.is-copiado{color:var(--green);border-color:var(--green-border,rgba(93,212,159,.35))}
@media(max-width:600px){.nav-tools .btn-primary{padding:.45rem .8rem;font-size:.62rem}.pub-hero .hero-meta{gap:1.4rem}}
