body{position:relative;display:grid;grid-template-rows:auto 1fr;height:100vh;overflow:hidden;background-color:var(--iron-grey);color:var(--paper-white)}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(105deg,transparent 0,transparent 72%,var(--signal-red) 72%,var(--signal-red) 86%,transparent 86.2%),linear-gradient(105deg,transparent 0,transparent 2%,rgba(157,163,166,.18) 2%,rgba(157,163,166,.18) 14%,transparent 14.2%),linear-gradient(105deg,transparent 0,transparent 62%,var(--brass) 62%,var(--brass) 62.2%,transparent 62.4%),linear-gradient(105deg,transparent 0,transparent 89%,rgba(210,183,115,.55) 89%,rgba(210,183,115,.55) 89.15%,transparent 89.35%),radial-gradient(ellipse 120% 85% at 50% 40%,#43505959,#1e282ee6)}body>*{position:relative;z-index:1}html:has(body.scrollable){overflow:auto;height:auto}body.scrollable{display:block;overflow:visible;height:auto;min-height:100vh}header.page-header{padding:28px 48px 24px;background:linear-gradient(180deg,#0f1418f5,#0f1418e0);border-bottom:1.5px solid var(--brass);display:flex;align-items:center;gap:28px;flex-wrap:wrap;position:sticky;top:0;z-index:5;overflow:hidden}header.page-header:before{content:attr(data-section-num);position:absolute;left:-16px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-weight:900;font-size:220px;line-height:.82;color:var(--brass);opacity:.1;letter-spacing:-.04em;pointer-events:none;z-index:0}header.page-header:after{content:"";position:absolute;left:172px;top:16px;bottom:16px;width:2px;background:var(--brass);transform:skew(var(--brand-skew));opacity:.45;pointer-events:none}header.page-header>*{position:relative;z-index:1}.page-title{flex:1;min-width:320px}.page-title h1{margin:0;font-family:var(--font-display);font-size:44px;font-weight:900;color:var(--brass);letter-spacing:-.01em;text-shadow:0 2px 8px rgba(0,0,0,.35)}.page-title .kicker{font-family:var(--font-mono);font-size:12px;letter-spacing:.35em;text-transform:uppercase;color:var(--paper-white);margin-bottom:10px;opacity:.7}.back-link{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;font-family:var(--font-mono);font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:var(--brass);text-decoration:none;border:1.5px solid var(--brass);border-radius:30px;background:transparent;transition:background .15s,color .15s}.back-link:active{background:var(--brass);color:var(--iron-grey)}main{padding:20px 32px;width:100%;max-width:1920px;margin:0 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:16px}body.scrollable main{overflow:visible;display:block;min-height:0;max-height:none}#filter-wrap{margin-bottom:28px}#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:24px}.modal.hidden{display:none}.modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;inset:0;background:#0f161ce0;backdrop-filter:blur(6px)}.modal-sheet{position:relative;width:min(1200px,calc(100vw - 64px));max-height:calc(100vh - 64px);overflow:auto;border-radius:8px;box-shadow:0 20px 80px #000c}.modal-sheet>party-card,.modal-sheet>state-card,.modal-sheet #modal-body{display:block}.modal-close{position:absolute;top:16px;right:16px;z-index:10;width:56px;height:56px;min-width:56px;min-height:56px;border-radius:50%;background:var(--signal-red);color:var(--paper-white);font-size:28px;line-height:1;border:2px solid var(--brass);cursor:pointer;transition:transform .15s}.modal-close:active{transform:scale(.96)}
