:root{--night:#0c1c1a;--ink:#f1eedb;--muted:#a4b2a5;--line:#395047;--gold:#ddc88d;--sage:#b0c8a8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--ink);font:16px/1.65 Arial,sans-serif}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1;margin:15px 0 25px}h1{font-size:clamp(48px,6.3vw,88px);letter-spacing:-2.5px}h2{font-size:clamp(29px,3vw,42px)}h3{font-size:26px}em{color:var(--gold);font-weight:400}p{max-width:70ch}a{color:inherit}a,button{touch-action:manipulation}button{font:inherit;cursor:pointer}button,a{min-height:44px}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;background:var(--gold);color:var(--night);padding:15px;z-index:5}.skip:focus{top:0}.review-strip{text-align:center;background:#203a30;padding:10px 18px;font-size:10px;letter-spacing:1.5px}header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;letter-spacing:3px;font-weight:bold}.brand small{display:block;font-size:8px;letter-spacing:1.6px;color:var(--muted)}nav{display:flex;gap:26px;flex-wrap:wrap}nav a{font-size:13px;display:flex;align-items:center;text-decoration:none}main{max-width:1440px;margin:auto;padding:40px 5% 60px;min-height:75vh}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--sage);font-weight:bold;margin:15px 0}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;padding:25px 0 70px}.hero h1{margin-top:25px}.hero p:not(.eyebrow){max-width:510px}.lede{font:26px/1.5 Georgia,serif;color:#d2dbc5}.fine{font-size:12px;color:var(--muted)}.button{display:inline-flex;gap:25px;align-items:center;justify-content:center;padding:13px 20px;border:1px solid var(--gold);text-decoration:none;margin:18px 0 8px}.gold{background:var(--gold);color:#1b3428;font-weight:bold}.board,.panel{border:1px solid var(--line);padding:30px;background:linear-gradient(135deg,#203a3090,#10242050)}.board{box-shadow:15px 15px 0 #223a3030}.board h2{font-size:32px}.mini-row{display:flex;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.mini-row strong{margin-left:auto;color:var(--gold);font:28px Georgia,serif}.mini-row button{border:0;background:none;color:var(--ink);text-align:left}.text-link{display:inline-flex;align-items:center;padding:12px 0;text-underline-offset:6px}.section-heading{margin:35px 0 25px}.events{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.event-card{padding:28px;border:1px solid var(--line);background:#142922;display:flex;flex-direction:column;align-items:flex-start}.event-card:first-child{border-color:#b4a57a}.event-card p{font-size:14px;color:var(--muted)}.event-card a{margin-top:auto}.tag{display:inline-block;border:1px solid #82917d;padding:4px 10px;text-transform:uppercase;font-size:10px;letter-spacing:1.5px}.confirmed{background:var(--gold);color:#223a30;border-color:var(--gold)}.chapter-hero{display:flex;justify-content:space-between;align-items:center;padding:40px 0}.suit{font-size:200px;color:var(--gold);padding:0 7%;text-shadow:20px 20px #203a30}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0}.notice{padding:18px;background:#ddc88d15;border-left:3px solid var(--gold);margin:22px 0}.notice p{margin-bottom:0}.points{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.points span{font-size:12px;text-align:center}.points b{display:block;color:var(--gold);font:48px Georgia,serif}.empty{padding:45px;text-align:center;border:1px dashed #657963;margin:35px 0}.empty p{margin-left:auto;margin-right:auto}.characters{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}.character{border:1px solid var(--line);background:#e9e7d7;color:#223a30;padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column}.character img{width:100%;height:290px;object-fit:contain;background:#eee5d1}.character span{padding:18px;display:block}.character strong{font:22px Georgia,serif}.character small{display:block;margin-top:8px;font-size:11px}.provisional{min-height:290px;display:grid;place-content:center;text-align:center;padding:25px;background:radial-gradient(ellipse,#315342,#152d24);color:var(--gold);font:32px Georgia,serif}.provisional small{font:12px/1.6 Arial,sans-serif}.table-wrap{width:100%;overflow:auto;margin-top:30px}table{border-collapse:collapse;width:100%;min-width:580px;text-align:left}caption{text-align:left;font-size:12px;color:var(--muted);padding:10px 0}th,td{padding:15px 12px;border-bottom:1px solid var(--line)}th{font-size:11px;text-transform:uppercase;letter-spacing:1px}td button{color:var(--ink);background:none;border:0;text-align:left;text-decoration:underline;text-underline-offset:5px}td:last-child{color:var(--gold);font:27px Georgia,serif}.story-map{position:relative;display:flex;justify-content:space-around;gap:20px;padding:45px 15px 65px;margin:35px 0}.path-line{position:absolute;top:78px;left:12%;right:12%;height:2px;background:var(--sage);opacity:.4}.stop{position:relative;text-align:center;text-decoration:none;width:30%;font:24px Georgia,serif}.stop>span{display:block;margin:auto auto 25px;background:#163126;border:1px solid var(--gold);border-radius:50%;width:66px;height:66px;line-height:66px;color:var(--gold)}.stop:hover>span{background:#3b533d}.stop small{display:block;font:12px Arial,sans-serif;margin-top:10px;color:var(--muted)}dt{color:var(--gold);margin-top:20px}dd{margin:5px 0 20px}.footer-links{display:flex;justify-content:space-between;gap:20px;margin-top:40px}footer{border-top:1px solid var(--line);padding:28px 5%;color:var(--muted);display:flex;justify-content:space-between;align-items:center;gap:30px}footer p{font:18px Georgia,serif}footer small{font-size:11px}dialog{color:var(--ink);background:var(--night);border:1px solid var(--gold);padding:35px;width:min(900px,93vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#000b}.close{float:right;border:1px solid var(--line);background:none;color:var(--ink);font-size:28px;width:44px}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.profile-layout img{width:100%;max-height:500px;object-fit:contain;background:#e9e7d7}.profile-score{font-size:18px;color:var(--gold)}
@media(max-width:850px){header{flex-wrap:wrap}nav{gap:20px}.hero{grid-template-columns:1fr;gap:35px}.events{grid-template-columns:repeat(2,1fr)}.characters{grid-template-columns:repeat(3,1fr)}.character img{height:240px}.board{box-shadow:none}.suit{font-size:130px}.two-col{grid-template-columns:1fr}}
@media(max-width:560px){body{font-size:15px}main{padding:25px 6% 45px}header{padding:20px 6%;gap:15px}nav{gap:18px}nav a{font-size:12px}.hero{padding-top:5px}.hero h1{font-size:64px}.board,.panel{padding:23px}.events{grid-template-columns:1fr}.characters{grid-template-columns:repeat(2,1fr);gap:12px}.character img{height:220px}.character span{padding:13px}.character strong{font-size:18px}.provisional{min-height:220px;font-size:25px;padding:12px}.suit{display:none}.chapter-hero{padding:25px 0}.empty{padding:25px}.profile-layout{grid-template-columns:1fr}.profile-layout img{max-height:340px}.story-map{gap:10px;padding-left:0;padding-right:0}.stop{font-size:18px}.stop small{font-size:10px}.stop>span{width:50px;height:50px;line-height:50px}.path-line{top:70px}footer{display:block}.points{gap:8px}.points b{font-size:40px}.review-strip{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
main:focus{outline:none}

.stance-preview{margin-top:1.5rem}.stance-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.stance-buttons button{padding:.65rem .8rem;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer}.stance-buttons button[aria-pressed="true"]{background:#d6af53;color:#15231e}.stance-stage img{max-width:100%;height:auto}.stance-stage{margin-top:1rem}

.profile-layout:has(.stance-preview){grid-template-columns:1fr}.profile-layout:has(.stance-preview)>div:first-child{display:none}.stance-stage img{display:block;max-height:520px;object-fit:contain;margin:auto}.model-references img{display:block;max-width:100%;height:auto;margin-top:.7rem}.model-references summary{cursor:pointer;padding:.7rem 0}.model-references figure{margin:1rem 0}
