:root{--navy:#081c2c;--paper:#f4ead2;--muted:#a6b4b9;--gold:#d8be72;--red:#b63643;--line:#ffffff20;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--navy);color:var(--paper);font:15px/1.6 system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.masthead{height:91px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-size:14px;letter-spacing:1px;font-weight:700}.brand b{color:var(--gold)}.seal{width:35px;height:35px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:21px;margin-right:4px}.masthead nav{display:flex;gap:30px;align-items:center;font-size:12px}.play-link{border:1px solid var(--gold);padding:11px 18px;color:var(--gold)}main{overflow:hidden}.hero{position:relative;max-width:1440px;min-height:700px;margin:auto;padding:73px 5% 0}.eyebrow{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:3px;margin:0 0 16px}.hero-copy{position:relative;width:55%;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}h1{font:900 clamp(44px,5.9vw,83px)/.94 Georgia,serif;letter-spacing:-3px;margin:25px 0 26px}h1 em{display:inline-block;font-style:italic;color:var(--gold);font-size:1.72em;letter-spacing:-7px}.title-star{font-size:38px;vertical-align:30px;display:inline-block;margin-left:25px;color:var(--red)}.intro{max-width:465px;color:#c1cbd0;font-size:15px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:48px;padding:12px 24px;font-size:11px;letter-spacing:1px;font-weight:800;border:1px solid var(--line)}.primary{background:var(--red);border-color:var(--red);color:white;box-shadow:4px 4px 0 #04121c}.primary:hover{background:#d24a57}.quiet{background:#081c2c9c}.small{font-size:10px;color:var(--muted);margin-top:22px}.hero-art{position:absolute;top:35px;right:-20px;width:64%;height:550px;isolation:isolate}.hero-landscape{position:absolute;inset:30px 0 0;background:linear-gradient(90deg,#081c2c 0%,transparent 32%,#081c2c30 80%),linear-gradient(0deg,#081c2c,transparent 70%),url('../art/history/h01-federal-hall.png') center/cover;opacity:.48;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}.hero-fighter{position:absolute;background-image:var(--art);background-size:400% 400%;background-position:0 0;background-repeat:no-repeat;width:450px;height:450px;filter:drop-shadow(10px 12px 4px #0008);bottom:0}.hero-fighter.left{left:-13%;z-index:1}.hero-fighter.right{right:-9%;transform:scaleX(-1);z-index:2}.versus{position:absolute;top:41%;left:51%;font:italic 900 68px Georgia;color:#e6cf91;text-shadow:4px 4px 0 #6e2638;transform:rotate(-9deg);z-index:3;opacity:.8}.stats{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;z-index:4;background:#081c2c}.stats>div{display:flex;gap:16px;align-items:center;padding-left:25px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border:0}.stats strong{font:42px Georgia;color:var(--gold)}.stats span{font-size:9px;letter-spacing:1.5px;max-width:90px;line-height:1.6}.roster-section,.arena-section,.howto{max-width:1440px;margin:auto;padding:65px 5% 35px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.section-heading p:not(.eyebrow){color:var(--muted);font-size:12px}.section-heading h2,.howto h2{font:36px/1.2 Georgia;margin:0}.roster-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 12px;font-size:10px}.filters button[aria-pressed=true]{border-color:var(--gold);background:#d8be7214;color:var(--gold)}.search{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:6px 0;color:var(--gold)}.search input{width:160px;background:none;border:0;color:var(--paper);font-size:12px;outline-offset:7px}.result-count{font-size:10px;color:var(--muted);margin:20px 0 15px}.roster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.president-card{position:relative;text-align:left;padding:0;background:#102737;color:var(--paper);border:1px solid #ffffff14;transition:transform .2s,border-color .2s;overflow:hidden}.president-card:hover{transform:translateY(-5px);border-color:var(--gold)}.president-card .card-art{height:215px;background:radial-gradient(ellipse at 50% 70%,#354c5a,#122b3b 70%);position:relative;overflow:hidden}.sprite{background-image:var(--art);background-size:400% 400%;background-position:0 0;background-repeat:no-repeat}.card-art .sprite{position:absolute;width:100%;height:auto;aspect-ratio:1;bottom:0;filter:drop-shadow(4px 8px 4px #0008)}.card-number{position:absolute;top:10px;left:12px;z-index:2;font:17px Georgia;color:var(--gold)}.card-art:after{content:'★';position:absolute;right:13px;top:13px;color:#d8be7233;font-size:13px}.card-info{padding:15px 14px 18px;border-top:1px solid var(--line)}.card-info strong{display:block;font:17px/1.2 Georgia;min-height:40px}.card-info small{color:var(--muted);font-size:10px}.card-info .super{display:block;color:var(--gold);font-size:9px;letter-spacing:.2px;margin-top:10px}.card-info .super:before{content:'SUPER / ';opacity:.55}.arena-section{padding-top:75px;background:linear-gradient(#081c2c,#0a2234)}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.stage-card{border:1px solid var(--line);background:#0c2638}.stage-preview{height:auto;aspect-ratio:16/9;overflow:hidden;position:relative;background:linear-gradient(#68a5cf,#eacb98);isolation:isolate}.stage-preview span{position:absolute;inset:0;background-image:var(--layers);background-size:100% 300%;background-repeat:no-repeat}.stage-preview .far{background-position:center top}.stage-preview .mid{background-position:center center}.stage-preview .near{background-position:center bottom}.stage-preview:after{position:absolute;content:'';width:27px;height:27px;left:18%;top:18%;border-radius:50%;background:#fff0bf;box-shadow:0 0 30px #ffdd95;z-index:-1}.stage-card .stage-meta{padding:15px 17px}.stage-meta h3{font:20px Georgia;margin:0 0 4px}.stage-meta p{font-size:10px;color:var(--muted);margin:0}.stage-meta a{display:block;margin-top:12px;font-size:10px;color:var(--gold)}.howto{display:flex;justify-content:space-between;gap:40px;align-items:center;padding-top:80px;padding-bottom:80px}.howto p:not(.eyebrow){color:var(--muted);font-size:12px;max-width:610px}.howto a{flex:none}footer{border-top:1px solid var(--line);max-width:1296px;margin:auto;padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}footer>span{color:var(--gold);letter-spacing:1px}footer a{color:var(--paper)}dialog{background:#102737;color:var(--paper);width:min(740px,calc(100% - 30px));padding:35px;border:1px solid var(--gold);max-height:90vh;overflow:auto}dialog::backdrop{background:#020b14cf;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:12px;top:7px;border:0;background:none;color:var(--paper);font-size:27px}.detail-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:30px;align-items:center}.detail-art{width:100%;aspect-ratio:1;background-color:#092032}.detail-layout h2{font:33px/1.15 Georgia;margin:9px 0}.detail-layout .term{color:var(--muted);font-size:12px}.move-register{border-block:1px solid var(--line);padding:12px 0;margin:20px 0}.move-register p{margin:5px 0;font-size:12px}.move-register b{font-size:9px;color:var(--muted);display:block;letter-spacing:1px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.detail-actions .button{padding:10px 16px;min-height:40px;font-size:9px}.era-label{color:var(--gold);font-size:10px;letter-spacing:2px}
@media(min-width:1500px){h1{font-size:83px}}@media(max-width:1000px){.masthead nav{gap:15px}.hero{padding-top:55px;min-height:650px}.hero-fighter{width:360px;height:360px;bottom:60px}.hero-art{width:65%}.hero-fighter.left{left:-8%}.hero-fighter.right{right:-15%}.stats>div{gap:9px;padding-left:15px}.stats strong{font-size:34px}.stats span{font-size:8px}.roster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.president-card .card-art{height:180px}.card-info strong{font-size:15px}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{margin:0 5%}}@media(max-width:700px){.masthead{height:75px;padding:0 5%}.brand{font-size:10px;gap:4px}.seal{width:27px;height:27px;font-size:16px}.masthead nav>a:not(.play-link){display:none}.play-link{font-size:9px;padding:9px}.hero{padding-top:35px;min-height:0}.hero-copy{width:100%;padding-bottom:270px}h1{font-size:clamp(37px,8.6vw,59px);letter-spacing:-1px;margin-top:18px}h1 em{letter-spacing:-4px}.title-star{font-size:25px;margin-left:15px;vertical-align:15px}.eyebrow{font-size:8px;letter-spacing:2px}.intro{font-size:12px;max-width:420px}.hero-actions{gap:8px}.button{min-height:43px;padding:10px 17px;font-size:9px;gap:15px}.small{font-size:8px}.hero-art{top:auto;bottom:140px;height:285px;width:100%;right:0}.hero-landscape{inset:0;clip-path:none;opacity:.33}.hero-fighter{width:275px;height:275px;bottom:0}.hero-fighter.left{left:calc(20% - 137px)}.hero-fighter.right{right:calc(18% - 137px)}.versus{font-size:44px;left:47%;top:44%}.stats{grid-template-columns:repeat(2,1fr);margin-top:0;padding:16px 0;gap:15px 0}.stats>div{padding:0 15px!important;gap:10px}.stats>div:nth-child(2){border:0}.stats strong{font-size:29px}.stats span{font-size:7px;max-width:70px}.roster-section,.arena-section,.howto{padding-top:40px}.section-heading{display:block;margin-bottom:20px}.section-heading h2,.howto h2{font-size:28px}.section-heading p:not(.eyebrow){font-size:10px}.roster-tools{display:block;margin-top:20px}.filters{gap:5px}.filters button{font-size:9px;padding:7px 9px}.search{margin-top:18px;max-width:240px}.search input{width:100%}.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.president-card .card-art{height:130px}.card-info{padding:11px 8px}.card-info strong{font-size:12px;min-height:29px}.card-info small{font-size:8px}.card-info .super{font-size:8px;min-height:27px}.card-info .super:before{display:none}.card-number{font-size:13px;top:6px;left:7px}.stage-grid{gap:12px}.stage-meta h3{font-size:16px}.stage-card .stage-meta{padding:12px}.stage-meta p,.stage-meta a{font-size:8px}.howto{display:block;padding-bottom:45px}.howto .button{margin-top:15px}footer{display:block;font-size:9px}footer p{margin:15px 0}.detail-layout{grid-template-columns:1fr;gap:10px}.detail-art{max-width:240px;margin:auto}.detail-layout h2{font-size:28px}dialog{padding:25px}.detail-layout .term{font-size:10px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}/* Preserve full hero silhouettes on narrow screens and provide an easy dialog tap target. */
@media(max-width:700px){.hero-fighter.left{left:max(-30px,calc(27% - 137px))}.hero-fighter.right{right:max(-60px,calc(18% - 137px))}.close-dialog{min-width:44px;min-height:44px;right:7px}}

/* The title painting keeps its full native composition at every viewport. */
.hero{max-width:none;min-height:0;padding:0;margin:0}
.hero-scene{position:relative;isolation:isolate}
.hero .hero-art{position:relative;inset:auto;width:100%;height:auto;margin:0}
.title-painting{display:block;width:100%;height:auto}
.hero-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#04101de6 0%,#04101db8 20%,#04101d40 43%,transparent 64%),linear-gradient(0deg,#081c2c,transparent 13%)}
.hero .hero-copy{position:absolute;top:50%;left:max(5%,calc((100% - 1296px)/2));transform:translateY(-50%);width:42%;max-width:580px;padding:0;pointer-events:auto;z-index:2}
.hero h1{font:900 clamp(36px,4.25vw,72px)/.98 Georgia,serif;letter-spacing:-.035em;text-transform:uppercase;margin:0;color:#fff1d5;text-shadow:0 3px 2px #08101b,0 7px 30px #020913}
.hero h1>span{display:block}
.hero h1 em{display:block;font-size:1.56em;line-height:1.03;font-style:italic;letter-spacing:-.055em;color:#e7ce89}
.hero .hero-actions{gap:12px;margin-top:32px}
.hero .button{box-shadow:0 3px 12px #02091380}
.hero .quiet{background:#081c2cba;border-color:#ead7a677;color:#f4ead2}
.hero .stats{max-width:1296px;width:90%;margin:0 auto;padding-block:24px}
@media(min-width:1800px){.hero h1{font-size:76px}}
@media(max-width:1000px) and (min-width:701px){.hero .hero-copy{width:45%}.hero h1{font-size:4.4vw}.hero .hero-actions{gap:8px;margin-top:22px}.hero .button{padding:10px 14px;min-height:43px;font-size:9px;gap:12px}}
@media(max-width:700px){
 .hero-art:after{display:none}
 .hero .hero-copy{position:relative;inset:auto;transform:none;width:auto;max-width:none;padding:27px 5% 31px;text-align:center}
 .hero h1{font-size:clamp(34px,9.5vw,57px);letter-spacing:-.035em;text-shadow:0 3px 8px #020913}
 .hero h1 em{font-size:1.52em;letter-spacing:-.055em}
 .hero .hero-actions{justify-content:center;gap:10px;margin-top:24px}
 .hero .stats{padding-block:18px}
}

/* Painted menu artwork is sliced at its edges so gold ornaments keep their
   proportions as content wraps. Labels and controls remain ordinary HTML. */
:root{--menu-frame:url('../art/ui/presidential-menu-frame-v1.png');--menu-button:url('../art/ui/presidential-button-v1.png')}
.masthead,.hero .stats,.president-card,.stage-card,.search,.howto,dialog{
 border:18px solid transparent;border-image:var(--menu-frame) 235 fill / 1 / 0 stretch;background-color:#0a1926
}
.masthead{max-width:none;height:108px;padding:4px max(4%,calc((100% - 1320px)/2));border-width:14px;gap:24px}
.brand{display:block;line-height:0;flex:none}
.brand img{display:block;width:146px;max-height:72px;object-fit:contain}
.masthead nav{gap:10px}
.masthead nav a,.button,.filters button,.close-dialog,.stage-meta a,footer>a{
 border:12px solid transparent;border-image:var(--menu-button) 220 230 fill / 1 / 0 stretch;background:none;color:#fff1d3;text-shadow:0 2px 2px #160b0a;padding:4px 12px;box-shadow:none
}
.masthead nav a{border-width:10px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;padding:3px 12px}
.masthead nav a:not(.play-link){border-image-source:var(--menu-frame)}
.button{min-height:49px;gap:18px;line-height:1.45}
.primary:hover,.quiet:hover,.masthead nav a:hover,.stage-meta a:hover,footer>a:hover{background:none;filter:brightness(1.18)}
.hero .quiet{background:none;border-color:transparent;color:#fff1d3}
.hero .button{box-shadow:none}
.hero .hero-actions{margin-top:22px;gap:10px}
.hero h1{font-size:0;line-height:0;letter-spacing:0;text-shadow:none}
.title-logo{display:block;width:480px;max-width:100%;height:auto;filter:drop-shadow(0 5px 5px #02081299)}
.hero .stats{padding:15px 20px;border-width:20px;margin:0 auto;background-color:#0a1926}
.stats>div{border:0}
.stats strong{color:#f1d998;text-shadow:0 2px 2px #000}
.section-heading h2,.howto h2,.detail-layout h2{color:#f4dfad;text-shadow:0 2px 3px #020812}
.roster-tools{align-items:flex-start}
.filters{gap:7px}
.filters button{border-image-source:var(--menu-frame);border-image-slice:235 fill;border-width:9px;min-height:43px;padding:4px 9px;font:600 11px/1.35 Georgia,serif;color:#e4d2ac}
.filters button[aria-pressed=true]{background:none;border-color:transparent;border-image-source:var(--menu-button);border-image-slice:220 230 fill;color:#fff7df;text-decoration:underline;text-underline-offset:4px}
.filters button:hover{filter:brightness(1.2)}
.search{border-width:11px;min-height:45px;padding:0 8px;gap:9px;margin:0}
.search-label{font:600 10px Georgia,serif;color:#e8d099}
.search input{width:155px;min-width:0;min-height:27px;color:#fff0cf;background:none}
.president-card{border-width:12px;overflow:visible;transition:transform .2s,filter .2s}
.president-card:hover{border-color:transparent;filter:brightness(1.1)}
.president-card .card-art{background:none;overflow:hidden}
.card-art:after{content:none}
.card-number{top:7px;left:7px;text-shadow:0 2px 3px #000,0 0 5px #000}
.card-info{border:0;background:none;padding:13px 9px 15px}
.card-info strong{color:#f4dfad}
.card-info small{color:#bfc4bb}
.card-info .super{color:#e9ca88}
.stage-card{border-width:12px;background-color:#0a1926}
.stage-card .stage-meta{padding:13px 10px 12px}
.stage-meta h3{color:#f4dfad}
.stage-meta a{display:inline-flex;align-items:center;justify-content:center;min-height:39px;font-size:10px;padding:2px 9px;border-width:9px;margin-top:13px}
.howto{max-width:1296px;width:90%;margin:50px auto;padding:27px 28px;border-width:23px}
footer{padding:25px 0}
.footer-brand{display:block;line-height:0}
.footer-brand img{display:block;width:145px;height:auto;max-height:88px;object-fit:contain}
footer>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;font-size:10px;border-width:7px;padding:5px 12px}
dialog{width:min(780px,calc(100% - 30px));border-width:25px;padding:24px;max-height:92vh;background-color:#0a1926}
.close-dialog{width:44px;height:44px;min-width:44px;min-height:44px;right:2px;top:2px;padding:0;border-width:9px;line-height:1;font-size:24px;z-index:2}
.detail-layout{gap:25px}
.detail-art{background-color:transparent}
.detail-layout>div:nth-child(2){padding-top:12px}
.detail-layout .term{color:#bfc4bb}
.move-register{border:0;padding:12px 0;margin:16px 0}
.move-register p{padding-left:10px;margin:8px 0}
.move-register b{color:#ddc797}
.detail-actions{gap:8px}
.detail-actions .button{border-width:6px;padding:6px 10px;min-height:43px;font-size:9px;gap:10px}
@media(max-width:1000px) and (min-width:701px){
 .masthead{padding-inline:3%;gap:15px}.brand img{width:126px}.masthead nav{gap:7px}.masthead nav a{font-size:10px;padding-inline:10px}
 .hero .hero-actions{gap:8px;margin-top:18px}.hero .button{border-width:7px;padding:6px 10px;font-size:9px;min-height:45px;gap:10px}
 .roster-tools{flex-wrap:wrap}.search{margin-left:auto}
}
@media(max-width:700px){
 .masthead{height:88px;padding:4px 3%;border-width:7px;gap:12px}.brand img{width:112px;max-height:66px}.masthead nav a.play-link{border-width:6px;padding:5px 9px;font-size:9px;min-height:43px}
 .hero .hero-copy{padding:25px 5% 28px}.hero h1{font-size:0;line-height:0}.title-logo{width:310px;max-width:100%;margin:auto}.hero .hero-actions{margin-top:21px;gap:8px}
 .button{font-size:9px;min-height:45px;border-width:7px;padding:6px 11px;gap:12px}
 .hero .stats{border-width:8px;padding:12px 5px}.stats>div{padding:0 8px!important;gap:8px}.stats span{font-size:7px}
 .filters{gap:5px}.filters button{font-size:10px;min-height:41px;border-width:5px;padding:5px 8px}.search{max-width:270px;margin-top:16px;border-width:6px}.search input{width:100%}
 .president-card{border-width:5px}.card-info{padding:10px 5px 11px}.card-info strong{font-size:12px}.card-info small{font-size:8px}.card-number{top:5px;left:5px;font-size:12px}
 .stage-card{border-width:5px}.stage-card .stage-meta{padding:10px 6px}.stage-meta h3{font-size:15px}.stage-meta a{font-size:8px;padding:4px 6px;border-width:5px;min-height:36px;margin-top:10px}
 .howto{margin:32px auto;padding:18px 17px;border-width:10px}.howto .button{margin-top:12px}.footer-brand img{width:128px;max-height:75px}footer>a{margin-top:0}
 dialog{border-width:10px;padding:20px;max-height:92vh}.detail-layout{gap:10px}.detail-layout>div:nth-child(2){padding-top:0}.close-dialog{right:2px;top:2px}.detail-art{max-width:230px}.move-register p{padding-left:0}
}

.move-register .signature-summary{display:block;font:11px/1.5 system-ui,sans-serif;color:#d6cbb3;margin-top:5px}.move-register p{margin-block:10px}
.hero .online-permalink{pointer-events:auto;margin:14px 0 0;font-size:11px;color:#e6d39d;line-height:1.5}.online-permalink a{display:inline-block;text-decoration:underline;text-underline-offset:4px}.hero .online-permalink a:hover{color:#fff6db}
