/* Shared navy/gold surfaces, including legacy roster and footer components. */
:root{--bg:#101a2d;--surface:#192c41;--line:#425b72;--muted:#bdcce0;--ink:#f1f2fa;--accent:#e4bf79}
html body .public-build-section{grid-column:1/-1;width:100%;min-width:0}
.public-build-section .public-table-heading{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-build-section .public-table-heading h2{margin:0}.public-build-section .public-table-heading>span{font-size:12px;color:#bdcce0}
.public-build-section table{width:100%;table-layout:fixed}.public-build-section table th:first-child{width:25%}.public-build-section table td{overflow-wrap:anywhere}
@media(max-width:700px){.public-build-section .public-table-heading{display:block}.public-build-section .public-table-heading>span{display:block;margin-top:10px}.public-build-section table th:first-child{width:32%}}
.named-combo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.named-combo-card{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid #536d85;border-top:2px solid #d6b575;border-bottom:3px solid #0d1b2d;border-radius:5px;background:linear-gradient(135deg,#294158,#192d42);box-shadow:0 4px 10px #080f2026;text-decoration:none!important;color:#edf0f7;transition:transform .2s,border-color .2s,box-shadow .2s}.named-combo-card h3{margin:0;color:#efd5a2}.named-combo-card p{margin:0;color:#bdcce0;font-size:13px}.named-combo-card .eyebrow{font-size:10px;color:#bdcce0;letter-spacing:.1em}.combo-card-action{margin-top:auto;padding-top:12px;border-top:1px solid #496075;font-size:12px;color:#e4bf79}.named-combo-card[href]:hover{transform:translateY(-2px);border-color:#e4bf79;box-shadow:0 7px 16px #080f2040}.named-combo-card:focus-visible{outline:2px solid #e4bf79;outline-offset:3px}@media(max-width:500px){.named-combo-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.named-combo-card{transition:none}.named-combo-card[href]:hover{transform:none}}
.player-move-table tbody th{font-weight:600;color:#edf0f7;text-align:left}.move-short-label{display:block;margin-top:5px;font-size:12px;line-height:1.4;font-weight:400;color:#bdcce0}.move-data-note{font-size:12px;color:#bdcce0;margin:14px 0 0}.combo-damage-table th:first-child{width:65%}
html body .overview-gold-button>b{font:16px/1 Arial,sans-serif}
html body .release-masthead>.header-overview-actions{display:flex;flex-wrap:wrap;flex:0 1 auto;justify-content:flex-end;align-items:center;gap:12px;max-width:440px}
html body .overview-gold-button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;width:auto;min-height:43px;padding:11px 18px;font:800 12px/1.4 Arial,sans-serif;gap:12px;border:1px solid #eccb88;border-radius:4px;background:linear-gradient(105deg,#f4d897ee,#d9b574e8),url('assets/tournament/wave-right.webp') right/auto 100% no-repeat;box-shadow:0 3px 0 #917144,0 5px 15px #08132433;transition:transform .22s,box-shadow .22s,filter .22s}
.overview-gold-button::before{content:'';position:absolute;inset:-30% auto -30% -75%;width:72%;background:linear-gradient(110deg,transparent,#fff4cb80,transparent),url('assets/tournament/cloud-right.webp') center/contain no-repeat;opacity:0;pointer-events:none;z-index:-1;transform:skewX(-15deg)}
.overview-gold-button::after{content:'';position:absolute;right:6px;bottom:-24px;width:20px;height:20px;background:url('assets/tournament/game-leaf.png') center/contain no-repeat;opacity:0;pointer-events:none}
.overview-gold-button:is(:hover,:focus-visible)::before{animation:gold-cloud-pass .85s ease-out both}.overview-gold-button:is(:hover,:focus-visible)::after{animation:gold-leaf-pass 1s ease-out .08s both}
html body .overview-gold-button:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 5px 0 #917144,0 0 20px #e8c77940;filter:brightness(1.05)}
@media(max-width:700px){html body .release-masthead>.header-overview-actions{justify-content:flex-start;max-width:100%}}
@media(prefers-reduced-motion:reduce){.overview-gold-button::before,.overview-gold-button::after{animation:none!important;display:none}html body .overview-gold-button{transition:none}html body .overview-gold-button:is(:hover,:focus-visible){transform:none}}
html body main .page-heading-panel p:not(.eyebrow):not(.event-eyebrow){font-size:16px!important;line-height:1.7!important;font-weight:400;color:#bdcce0!important}
html body .category-block:not([open])>summary{height:170px;min-height:170px;box-sizing:border-box;align-items:center}
.header-overview-actions{min-width:0}.overview-gold-button{min-width:0;white-space:normal}.overview-gold-button span{min-width:0}
html body main .character-heading{position:relative;overflow:hidden;display:flex;align-items:center}
html body main .character-heading>div{max-width:72%;position:relative;z-index:1}
html body main .character-heading>img{position:absolute;right:34px;bottom:-16px;width:230px!important;max-width:25%!important;height:245px!important;object-fit:contain;object-position:center bottom;margin:0!important}
.header-overview-actions{display:grid;gap:12px;flex:0 0 275px;margin-left:24px}
.overview-gold-button{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid #f0d798;border-bottom:4px solid #a78953;border-radius:4px;background:linear-gradient(110deg,#f4ddb0,#d3b57c);color:#26251f!important;text-decoration:none!important;font-family:GameDisplay,serif;font-size:20px;line-height:1.2;box-shadow:0 5px 12px #080e2026;transition:filter .15s,transform .15s}
.overview-gold-button:hover{filter:brightness(1.07);transform:translateY(-2px)}.overview-gold-button:focus-visible{outline:2px solid #f4ddb0;outline-offset:4px}.overview-gold-button>b{font:22px sans-serif}
@media(max-width:700px){html body main .character-heading>div{max-width:76%}html body main .character-heading>img{right:5px;width:130px!important;max-width:25%!important;height:190px!important}.header-overview-actions{margin:20px 0 0;max-width:100%;width:100%}.overview-gold-button{font-size:18px;padding:15px 16px}}
html body .changes-table-intro>img{width:250px!important;max-width:30%!important;height:auto!important;object-fit:contain;margin-right:40px}
html body .release-version{font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important;font-variant-numeric:lining-nums proportional-nums;letter-spacing:-.045em!important;line-height:1.1}
@media(max-width:700px){html body .changes-table-intro>img{width:170px!important;max-width:40%!important;margin-right:0}}
html body main .events-heading.page-heading-panel{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;min-height:205px}
.events-heading.page-heading-panel>div{max-width:70%}.events-heading.page-heading-panel .event-eyebrow{margin:0 0 10px}.events-heading.page-heading-panel>div>p:last-child{margin:0;color:#bdcce0}.events-heading.page-heading-panel>img{height:215px;bottom:-10px}
html body .preparation-heading{display:block;margin-bottom:24px}.preparation-heading>p{max-width:none!important;text-align:left;margin:12px 0 0}.preparation-heading h2{margin-bottom:0}
@media(max-width:700px){.events-heading.page-heading-panel>img{height:170px;right:8px;max-width:28%}.events-heading.page-heading-panel>div{max-width:74%}}
html body main .page-heading-panel{box-sizing:border-box;border:1px solid #50627b!important;border-top:2px solid #e0bd78!important;padding:30px 34px!important;min-height:235px;margin:0 0 28px!important;background:linear-gradient(90deg,#172b40f5,#20374ae0),url('assets/tournament/mountain.webp') center/cover!important;border-radius:0}
.page-heading-panel.release-masthead>div{flex:1}.page-heading-panel.release-masthead>a{max-width:240px;margin-left:24px}.page-heading-panel.events-heading{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.rule-card-copy{display:flex;flex-direction:column;flex:1;padding:18px}.rule-card-copy .eyebrow{margin:0 0 8px}.rule-card-copy h3{margin:0 0 10px}.rule-card-copy>p:not(.eyebrow){flex:1;margin:0 0 18px}.rule-card-copy .rule-link{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid #425b72;color:#e4bf79;font-size:.75rem}
@media(max-width:700px){html body main .page-heading-panel{padding:24px!important;min-height:205px}.page-heading-panel.release-masthead{display:block}.page-heading-panel.release-masthead>a{display:block;margin:18px 0 0}}
html body .editorial-home .home-opening .hero-copy h1.page-title{font-family:GameDisplay,serif!important;font-size:clamp(32px,3.5vw,44px)!important;max-width:490px;line-height:1.13!important}
.editorial-home .home-opening .roster-game-cta strong{font-family:GameDisplay,serif;font-size:24px;line-height:1.2;color:#28251e}
.editorial-home .home-opening .roster-game-cta{min-width:0;max-width:100%}
.editorial-home .opening-changes-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin:0 0 18px;border:1px solid #53657b;border-left:3px solid #e4bf79;border-radius:5px;background:linear-gradient(100deg,#20374bea,#15283bee),url('assets/tournament/wave-right.webp') right center/auto 100% no-repeat}
.opening-changes-panel .eyebrow{margin:0 0 7px}.opening-changes-panel h2{margin:0}.opening-changes-panel .opening-summary{font-size:.85rem;color:#bdcce0;margin:8px 0 0}.opening-changes-panel>a{flex-shrink:0;margin:0}
.editorial-home .home-opening{margin:0 0 30px}.editorial-home .home-opening .chakra-hero{min-height:435px;padding:28px 32px}.editorial-home .home-opening .hero-premium .hero-copy{max-width:48%}.editorial-home .home-opening .hero-sasori-composition{width:52%;right:0;height:100%;bottom:0}.editorial-home .home-opening .hero-premium .hero-copy>p:not(.eyebrow){max-width:390px}
@media(max-width:700px){.editorial-home .opening-changes-panel{display:block;padding:18px}.opening-changes-panel>a{display:inline-flex;margin-top:16px}.editorial-home .home-opening .chakra-hero{min-height:640px;padding:24px}.editorial-home .home-opening .hero-premium .hero-copy{max-width:100%}.editorial-home .home-opening .hero-sasori-composition{width:75%;height:260px;right:0;bottom:0;left:auto}.editorial-home .home-opening .hero-premium .hero-copy>p:not(.eyebrow){max-width:100%}}
/* Section headings share the same editorial treatment across page templates. */
html body.unified-site main h2{font-family:GameDisplay,serif!important;font-size:clamp(24px,2.6vw,30px)!important;line-height:1.2;letter-spacing:-.025em;text-transform:none}
html body.unified-site main h3{font-family:GameDisplay,serif;font-size:20px;line-height:1.25;letter-spacing:-.025em;text-transform:none}
.editorial-home .home-tournament-banner{padding:18px 22px}
@media(max-width:700px){.editorial-home .home-tournament-banner{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:12px}.home-tournament-banner .tournament-banner-action{grid-column:1/-1}}
.changes-table-tools #change-reset{align-self:end;margin:0;height:48px}
.changes-table-tools label{margin:0!important}
.changes-table-tools label input,.changes-table-tools label select{margin-bottom:0!important}
.changes-table-tools label input,.changes-table-tools label select{height:48px}
.changes-table-tools + .compact-source{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:none}
.changes-table-tools + .compact-source > a{margin-left:auto;flex-shrink:0}
@media(max-width:640px){.changes-table-tools + .compact-source{flex-wrap:wrap}.changes-table-tools + .compact-source > a{margin-left:0}}
html body main h1.page-title{font-family:GameDisplay,serif!important;font-size:clamp(32px,3.5vw,44px)!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-.025em!important;text-transform:none!important;color:#f1e6ce!important;width:auto!important;height:auto!important;margin:12px 0 18px!important}
/* One outer frame for every page, regardless of page-specific legacy rules. */
html body > main,html body > header.site-header,html body > nav.site-nav,html body > footer{width:calc(100% - 64px)!important;max-width:1200px!important;box-sizing:border-box!important;margin-left:auto!important;margin-right:auto!important}
html body > main{padding:32px!important;min-width:0}
main *,main *::before,main *::after{box-sizing:border-box}
.player-guide-panel{padding:24px;margin:24px 0;background:#192c41;border:1px solid #425b72;border-top:2px solid #c8a76d}
.dossier-hero.has-portrait{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;gap:40px;padding:24px 40px;min-height:0;border:1px solid #425b72;border-top:2px solid #c8a76d;background:#192c41!important;margin-top:20px;align-items:center}
.dossier-hero .guide-portrait{margin:0;align-self:center;justify-content:center}.dossier-hero .guide-portrait img{max-width:100%;height:265px;object-fit:contain;object-position:center}
.dossier-hero.has-portrait h1{margin:12px 0 16px;line-height:1.12}.dossier-hero.has-portrait .intro{font-size:1rem;margin:0;color:#bdcce0}.dossier-hero .eyebrow{margin:0}
.player-move-table{width:100%;border-collapse:collapse;text-align:left}.player-move-table th{color:#e4bf79}.player-move-table th,.player-move-table td{padding:14px 12px;border-bottom:1px solid #425b72}.player-move-table .input-line{margin:0;min-width:150px}.combo-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.combo-summary article{padding:16px;border:1px solid #425b72;background:#142238}.combo-summary h3{margin:0}.table-scroll{max-width:100%;overflow-x:auto}
@media(max-width:850px){.dossier-hero.has-portrait{grid-template-columns:200px minmax(0,1fr)!important;gap:24px;padding:24px}.dossier-hero .guide-portrait img{height:230px}}
@media(max-width:760px){html body > main,html body > header.site-header,html body > nav.site-nav,html body > footer{width:calc(100% - 24px)!important}html body > main{padding:20px!important}.player-guide-panel{padding:16px}.dossier-hero.has-portrait{grid-template-columns:1fr!important;gap:20px;padding:22px;text-align:center}.dossier-hero .guide-portrait img{height:200px}.dossier-hero .guide-portrait{width:100%;max-width:250px;margin:auto}.dossier-hero.has-portrait h1{font-size:2rem}}
body main,body .site-header,body .site-nav,body footer,body .community-footer{max-width:1200px;box-sizing:border-box;width:calc(100% - 64px);margin-left:auto;margin-right:auto}
.roster-hero{background:linear-gradient(110deg,#192c41ee,#142238ed),url('assets/arashi/cloud-panel.webp') center/cover!important;border-color:#425b72!important;border-top:2px solid #d6b575!important}
.character-card,.dossier-directory-card,.mode-card,.has-portrait .dossier-summary{background:#192c41!important;border-color:#425b72!important}
.roster-portrait{background:radial-gradient(ellipse at 50% 60%,#2c4960,#192c41 65%,#142238)!important;border-color:#425b72!important}
.has-portrait.dossier-hero{background:radial-gradient(ellipse at 15% 45%,#24425977,transparent 65%)!important}
.v2-scope-banner{background:#192c41!important;border-color:#425b72!important;border-left-color:#e4bf79!important}
.outfit-picker{display:flex;flex-direction:column;gap:7px;margin:14px 0 0;color:#e4bf79;font-size:.75rem;font-weight:600;text-align:left}
.outfit-picker select{width:100%;min-height:38px;padding:7px 10px;background:#101e30;color:#e8edf6;border:1px solid #536b80;border-radius:4px;font:inherit}
.outfit-picker select:focus-visible{outline:2px solid #e4bf79;outline-offset:3px}
.guide-portrait .outfit-picker{max-width:240px;margin:14px auto 0}
body footer,body .community-footer{padding:24px 32px 26px;background:#142238;color:#bdcce0;border:1px solid #425b72;border-top:2px solid #c8a76d;box-shadow:none;overflow:hidden}
body footer .arashi-footer-art{width:100%;margin:0 0 22px;background:#142238;border:1px solid #425b72;border-radius:4px;overflow:hidden}
body footer .arashi-footer-art img{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;opacity:.8}
body footer strong{font-size:.85rem;color:#e4bf79;letter-spacing:.04em}
body footer p{font-size:.78rem;line-height:1.7;margin:10px 0;max-width:85ch}
body footer{font-size:.72rem;line-height:1.7}
body footer a{color:#ddc594}
body footer .arashi-source{padding-top:12px;margin-top:16px;border-top:1px solid #425b72;font-size:.7rem}
@media(min-width:900px){body footer .arashi-footer-art{float:right;width:38%;margin:0 0 12px 30px}body footer:after{content:'';display:block;clear:both}body footer p{max-width:57%}}
@media(max-width:760px){body main,body .site-header,body .site-nav,body footer,body .community-footer{width:calc(100% - 24px)}body footer,body .community-footer{padding:20px}body footer .arashi-footer-art{margin-bottom:18px}}

/* Fill the taller roster banner to the same top/bottom framing as other heroes. */
@media(min-width:701px){html body main .roster-hero.character-heading>img{height:calc(100% + 10px)!important;width:auto!important}}
