:root {
  color-scheme:dark;
  --bg:#0c141e; --base:#101923; --panel:#172330; --panel2:#1a2938;
  --ink:#f7f0e6; --text:#e5e9ed; --muted:#b6c1cc; --soft:#94a4b6;
  --gold:#d9ad81; --gold2:#f1c89b; --line:rgba(243,235,226,.13);
  --green:#94d1b2; --red:#f1aea4;
  --serif:Georgia,'Times New Roman',serif; --sans:'Segoe UI',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(ellipse at 50% -10%,rgba(75,101,129,.25),transparent 46%),linear-gradient(180deg,#0a1119 0%,#101a26 56%,#0d151f 100%);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
button{font:inherit}
.skip-link{position:absolute;top:-100px;left:12px;z-index:50;padding:10px 16px;background:var(--gold);color:var(--bg);border-radius:8px}
.skip-link:focus{top:12px}
.shell{width:min(1130px,calc(100% - 52px));margin-inline:auto}
.site-head{border-bottom:1px solid var(--line)}
.head-inner{min-height:74px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{text-decoration:none;display:flex;align-items:center;gap:12px;color:#d9dbe0;font-size:12px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}
.monogram{width:39px;height:39px;display:grid;place-items:center;border:1px solid rgba(217,173,129,.55);border-radius:50%;font:700 18px/1 var(--serif);color:var(--ink);letter-spacing:0}
.site-nav{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.site-nav a{text-decoration:none;color:var(--muted);font-size:13px}
.site-nav a:hover{color:var(--gold2)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--gold);font-size:11px;font-weight:750;letter-spacing:.21em;text-transform:uppercase}
.eyebrow::before{content:'';display:block;height:1px;width:30px;background:var(--gold)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
.display{font-size:clamp(3.05rem,7vw,5.9rem);letter-spacing:-.052em;line-height:1.055;margin:17px 0 21px;text-wrap:balance}
.muted{color:var(--muted)}
.lead{font-size:clamp(1.04rem,1.8vw,1.24rem);color:var(--muted);max-width:720px;line-height:1.72}
.breadcrumbs{padding-top:27px;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--soft)}
.breadcrumbs a{text-decoration:none;color:var(--muted)}
.breadcrumbs a:hover{color:var(--gold2)}
.hero{padding:64px 0 50px}
.hero-grid{display:grid;grid-template-columns:1fr 290px;gap:60px;align-items:center}
.hero h1{max-width:840px}
.hero .lead{margin-bottom:0}
.stamp{position:relative;border:1px solid rgba(217,173,129,.21);border-radius:28px;background:linear-gradient(155deg,rgba(218,178,135,.1),rgba(255,255,255,.01));padding:29px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.stamp:before,.stamp:after{content:'';position:absolute;border:1px solid rgba(217,173,129,.19);border-radius:50%;width:270px;height:270px;right:-112px;bottom:-95px}
.stamp:after{width:180px;height:180px;right:-55px;bottom:-39px}
.stamp-top,.stamp-bottom{position:relative;z-index:1;color:var(--gold);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.stamp-num{position:relative;z-index:1;color:var(--ink);font:400 113px/1 var(--serif);letter-spacing:-.06em}
.hero-stats{margin-top:27px;display:flex;flex-wrap:wrap;gap:12px}
.pill{display:inline-flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:40px;color:var(--muted);font-size:12px;padding:7px 13px;background:rgba(255,255,255,.025)}
.pill strong{color:var(--gold);font-size:13px}
.divider{border:0;border-top:1px solid var(--line);margin:0}
.section-heading{font:400 clamp(2rem,3.5vw,3rem)/1.13 var(--serif);letter-spacing:-.035em;margin:0 0 13px}
.section-lead{color:var(--muted);font-size:15px;max-width:660px;margin-bottom:30px}
.quiz-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:54px}
.quiz-card{min-height:342px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:25px;padding:25px 25px 23px;background:linear-gradient(158deg,rgba(255,255,255,.065),rgba(255,255,255,.015));transition:transform .2s ease,border-color .2s ease,background .2s ease}
.quiz-card:hover{transform:translateY(-4px);border-color:rgba(217,173,129,.48);background:linear-gradient(158deg,rgba(218,178,135,.085),rgba(255,255,255,.015))}
.card-top{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:38px}
.card-num{font:400 3.2rem/1 var(--serif);letter-spacing:-.05em;color:var(--gold)}
.card-type{color:var(--soft);font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:7px 9px;border-radius:20px}
.quiz-card h3{font-size:29px;line-height:1.1;letter-spacing:-.03em;margin:0 0 10px}
.quiz-card p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:24px}
.card-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:auto}
.card-meta{font-size:12px;color:var(--soft)}
.card-link{font-size:13px;text-decoration:none;color:var(--gold2);font-weight:700;white-space:nowrap}
.card-link:hover{text-decoration:underline}
.hub-note{padding:25px 30px;margin-bottom:70px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.025)}
.hub-note strong{font-size:13px;color:var(--gold)}
.hub-note p{font-size:13px;color:var(--muted);margin:7px 0 0}
/* Individual quiz pages */
.quiz-head{padding:46px 0 36px;display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:42px;align-items:center}
.quiz-head h1{font-size:clamp(2.9rem,6.4vw,5rem);letter-spacing:-.051em;line-height:1.055;margin:14px 0 18px}
.quiz-head .lead{margin:0}
.mini-stamp{min-height:215px;padding:22px;border-radius:23px;background:linear-gradient(150deg,rgba(217,173,129,.14),rgba(255,255,255,.02));border:1px solid rgba(217,173,129,.3);display:flex;flex-direction:column;align-items:start;justify-content:space-between}
.mini-stamp strong{font:400 91px/1 var(--serif);color:var(--ink);letter-spacing:-.05em}
.mini-stamp span{font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.quiz-tagline{color:var(--gold2);font-weight:650;font-size:14px;margin-top:16px}
.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 266px;gap:18px;align-items:start;margin-bottom:42px}
.game-panel{background:linear-gradient(170deg,rgba(255,255,255,.063),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:26px;min-height:535px;padding:33px 33px 30px;box-shadow:0 18px 54px rgba(0,0,0,.12)}
.game-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--soft);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.progress-track{height:5px;overflow:hidden;background:rgba(255,255,255,.075);border-radius:100px;margin:17px 0 28px}
.progress-fill{height:100%;background:var(--gold);border-radius:100px;transition:width .25s ease}
.scene-label{font-size:11px;font-weight:750;color:var(--gold);letter-spacing:.13em;text-transform:uppercase;margin-bottom:11px}
.game-title{font:400 clamp(1.8rem,3.1vw,2.5rem)/1.2 var(--serif);letter-spacing:-.026em;margin:0 0 23px}
.answer-grid{display:grid;gap:10px}
.choice{appearance:none;width:100%;border:1px solid rgba(255,255,255,.13);color:var(--text);background:rgba(11,18,28,.47);border-radius:14px;display:flex;align-items:center;gap:15px;text-align:left;padding:14px 16px;cursor:pointer;font-size:14px;line-height:1.5;transition:border-color .15s,background .15s}
.choice:hover:not(:disabled){border-color:rgba(217,173,129,.68);background:rgba(217,173,129,.08)}
.choice:disabled{cursor:default}
.choice-letter{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid rgba(255,255,255,.16);border-radius:10px;font-size:12px;color:var(--gold)}
.choice.is-correct{border-color:rgba(148,209,178,.55);background:rgba(148,209,178,.09)}
.choice.is-wrong{border-color:rgba(241,174,164,.5);background:rgba(241,174,164,.075)}
.choice.is-correct .choice-letter{border-color:rgba(148,209,178,.5);color:var(--green)}
.choice.is-wrong .choice-letter{color:var(--red);border-color:rgba(241,174,164,.5)}
.feedback{border:1px solid rgba(217,173,129,.28);background:rgba(217,173,129,.07);border-radius:17px;padding:20px 22px;margin-top:21px}
.feedback strong{display:block;color:var(--gold2);font-size:15px;margin-bottom:7px}
.feedback p{color:var(--muted);font-size:14px;line-height:1.68;margin:0 0 11px}
.feedback p:last-of-type{margin-bottom:0}
.feedback-source{display:inline-block;font-size:12px;color:var(--gold2);margin-top:10px}
.actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:22px}
.action-button{border:1px solid var(--gold);border-radius:11px;background:var(--gold);color:#121821;font-size:13px;font-weight:750;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.action-button:hover{background:var(--gold2)}
.outline-button{border:1px solid rgba(217,173,129,.45);border-radius:11px;background:transparent;color:var(--gold2);font-size:13px;font-weight:700;padding:11px 17px;cursor:pointer;text-decoration:none;display:inline-flex;gap:12px;align-items:center;justify-content:center}
.outline-button:hover{background:rgba(217,173,129,.09)}
.action-button:disabled{opacity:.4;cursor:not-allowed}
.game-side{border:1px solid var(--line);border-radius:23px;padding:25px 22px;background:rgba(255,255,255,.025)}
.game-side h3{font:400 24px/1.13 var(--serif);margin:0 0 8px}
.game-side p{font-size:12px;color:var(--muted);line-height:1.65}
.side-list{margin:19px 0 0;padding:0;list-style:none;display:grid;gap:13px}
.side-list li{display:flex;gap:11px;align-items:start;font-size:12px;color:var(--muted)}
.side-number{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;border:1px solid var(--line);font-size:11px;color:var(--soft)}
.side-list .done .side-number{border-color:rgba(217,173,129,.55);color:var(--gold)}
.side-list .right{color:var(--green)}
.side-list .wrong{color:var(--red)}
.side-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}
.side-meta span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:6px;padding:5px 7px;color:var(--soft)}
.result-score{font:400 5.5rem/1 var(--serif);letter-spacing:-.05em;color:var(--gold2);margin:8px 0 7px}
.result-score small{font:.38em var(--sans);color:var(--soft)}
.result-title{font:400 clamp(2.2rem,4vw,3rem)/1.18 var(--serif);margin:0 0 13px}
.result-deck{font-size:15px;color:var(--muted)}
.recap{margin-top:25px;border-top:1px solid var(--line);padding-top:19px}
.recap-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:8px 0;background:transparent;border:0;color:var(--gold2);font-weight:700;cursor:pointer}
.recap-list{list-style:none;margin:13px 0 0;padding:0;display:grid;gap:11px}
.recap-list li{padding:12px 13px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:11px;font-size:12px;color:var(--muted)}
.recap-list strong{color:var(--ink)}
.recap-list a{color:var(--gold2);font-size:11px}
.recap-list p{font-size:12px;margin:5px 0}
.small-caption{font-size:12px;color:var(--soft);margin:11px 0 0}
.sources{margin:0 auto 56px;border-top:1px solid var(--line);padding-top:27px}
.sources h2{font-size:30px;line-height:1.18;margin:0 0 13px}
.sources p{font-size:13px;max-width:760px;color:var(--muted)}
.source-links{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}
.source-links a{color:var(--gold2);text-decoration:none;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.027);font-size:12px;padding:10px 13px}
.source-links a:hover{text-decoration:underline}
.end-links{padding:25px 0 41px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.end-links p{margin:0;color:var(--muted);font-size:13px}
.end-links a{color:var(--gold2);font-weight:700;font-size:13px;text-decoration:none}
.site-footer{border-top:1px solid var(--line);color:var(--soft);font-size:12px;padding:25px 0 45px}
.site-footer .shell{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.site-footer a{color:var(--muted)}
@media(max-width:960px){.quiz-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{grid-template-columns:1fr 225px;gap:26px}.game-grid{grid-template-columns:minmax(0,1fr) 220px}.quiz-head{grid-template-columns:1fr 170px;gap:28px}.mini-stamp{min-height:170px}.mini-stamp strong{font-size:70px}}
@media(max-width:720px){.shell{width:calc(100% - 34px)}.head-inner{justify-content:center;flex-wrap:wrap;padding:14px 0;gap:13px}.site-nav{justify-content:center;gap:18px}.hero{padding:48px 0 33px}.hero-grid,.quiz-head{grid-template-columns:1fr}.stamp,.mini-stamp{display:none}.quiz-cards{grid-template-columns:1fr;gap:14px}.quiz-card{min-height:0}.card-top{margin-bottom:23px}.game-grid{grid-template-columns:1fr}.game-panel{padding:23px 20px;min-height:0}.game-side{padding:18px 20px}.side-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.side-list li{display:block;text-align:center;font-size:10px}.side-list li strong{display:none}.side-number{margin:0 auto 6px}.sources{margin-bottom:35px}.quiz-head{padding:36px 0 28px}.quiz-head h1{font-size:clamp(2.85rem,11vw,4.35rem)}.game-title{font-size:clamp(1.65rem,7vw,2.25rem)}.end-links{align-items:start;flex-direction:column}}
@media(max-width:430px){.site-nav a{font-size:12px}.quiz-card{padding:22px}.choice{padding:13px 12px;font-size:13px}.choice-letter{width:27px;height:27px}.game-panel{padding:20px 15px}.feedback{padding:16px}.actions{align-items:stretch;flex-direction:column}.action-button,.outline-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
[hidden]{display:none!important}
