/* v15: the setup is a page, never a full-screen dialog constrained by legacy modal CSS. */
.setup-page{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;width:100%;height:100dvh;box-sizing:border-box;background:#fffcf5;color:#342b24;overflow:auto;overscroll-behavior:contain;padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(20px,env(safe-area-inset-left))}
.setup-page>header,.setup-fields,.setup-page>footer{width:100%;max-width:520px;margin-inline:auto;box-sizing:border-box;flex-shrink:0}.setup-page>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 12px}.setup-page>header img{width:150px;max-height:70px}.setup-page>header span{font-size:12px;color:#6c755f}.setup-fields{flex:1;padding:12px 0 20px}.setup-fields h1{font-size:clamp(21px,5.5vw,30px);line-height:1.45;margin:0 0 22px}.setup-fields .start-fields{display:grid;grid-template-columns:1fr;gap:16px}.setup-fields .field-label{display:block;font-size:14px;line-height:1.4;font-weight:700;margin:0}.setup-fields .text-input{display:block;box-sizing:border-box;width:100%;min-height:48px;padding:12px;margin-top:7px;font-size:16px;line-height:1.4;background:#fff;border:1px solid #dcd3c6;border-radius:10px;color:#342b24}.setup-fields .animal-choice{display:flex;align-items:center;gap:8px;min-height:44px;margin:16px 0 0;font-size:14px}.setup-fields .animal-choice input{width:20px;height:20px;accent-color:#396c58}.setup-page>footer{padding:12px 0 18px}.setup-page>footer .button{width:100%;min-height:52px;margin:0;font-size:16px}.setup-page input,.setup-page select{scroll-margin-block:20px}
.game-flow-box{padding:16px;border-radius:14px;background:#edf1df;border:1px solid #d4ddbd;margin-top:16px}.game-flow-box h3{font-size:1rem;margin:0 0 12px}.game-flow-box ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}.game-flow-box li{display:flex;align-items:center;gap:10px;font-size:.84rem;line-height:1.5}.game-flow-box li>b{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#396c58;color:#fff;font-size:.7rem}.game-flow-box>small{display:block;margin-top:12px;font-size:.74rem;color:#526049}
.player-profile-modal{width:min(580px,calc(100% - 24px))}.player-profile-modal .dialog-content>h2{margin-bottom:14px}.player-profile-hero{display:flex;align-items:center;gap:18px;margin-bottom:18px}.player-profile-hero .detail-avatar{width:96px!important;height:96px!important;aspect-ratio:1;flex:0 0 96px;border-radius:14px;overflow:hidden}.player-profile-hero>div{min-width:0}.player-profile-hero p{font-size:.85rem;margin:4px 0}.player-profile-hero strong{display:flex;align-items:baseline;gap:10px;font-size:2.2rem;line-height:1.2;color:#396c58}.player-profile-hero strong small{font-size:.75rem;color:#6c755f}.player-profile-hero h3{margin:0;font-size:1.1rem}.player-detail-tabs,.league-review-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:#eee9df;border-radius:12px;margin:14px 0}.player-detail-tabs button,.league-review-tabs button{padding:10px 4px;min-height:44px;border:0;background:transparent;color:#655d51;font-size:.8rem;font-weight:700;border-radius:8px;text-align:center}.player-detail-tabs button.selected,.league-review-tabs button.selected{background:#396c58;color:#fff}.player-role-card{padding:14px;border-radius:12px;background:#ecf0e1}.player-role-card>small,.player-role-card>b{display:block}.player-role-card>b{margin-top:4px;font-size:1rem}.player-role-card p,.player-personality p{font-size:.82rem;line-height:1.65;margin:7px 0 0}.player-facts,.career-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.player-facts>div,.career-stat-grid>div{border:1px solid #ded6c8;border-radius:10px;padding:12px;background:#fffdf8}.player-facts small,.career-stat-grid small{display:block;color:#756b5d;font-size:.72rem}.player-facts b,.career-stat-grid b{display:block;margin-top:5px;font-size:1rem}.player-personality{padding:10px 0}.player-more{margin:14px 0;border-top:1px solid #ded6c8;padding-top:10px}.player-more summary{font-size:.84rem;font-weight:700;cursor:pointer;min-height:32px;line-height:1.65}.player-more>p{font-size:.8rem;line-height:1.7}.player-alert{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;border-radius:10px;background:#fbead9;color:#843c21;font-size:.82rem;line-height:1.6;margin:10px 0}.player-alert .icon{width:18px}.career-stat-section h3{font-size:.9rem;margin:16px 0 8px}.career-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.career-stat-grid>div{padding:10px 6px;text-align:center}.career-stat-grid b{font-size:.9rem;overflow-wrap:anywhere}.career-stat-grid small{font-size:.68rem}.player-detail-page{min-height:160px}.player-profile-modal .dialog-footer .button{flex:1;margin:0}
.captain-comparison{display:grid;gap:10px;margin:14px 0}.captain-candidate{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #d8d1c3;border-radius:12px;background:#fffcf5}.captain-candidate .player-face-button{flex-shrink:0}.captain-candidate .tiny{width:52px!important;height:52px!important}.captain-candidate b,.captain-candidate small{display:block}.captain-candidate small{font-size:.7rem;color:#68745e}.captain-candidate b{font-size:.94rem;margin-top:3px}.captain-candidate p{font-size:.75rem;line-height:1.5;margin:4px 0 0}.captain-consultation .dialog-footer{display:grid;grid-template-columns:1fr}.captain-consultation .dialog-footer>.button{width:100%;margin:0;min-height:44px;font-size:.83rem}.captain-consultation .speaker-card{padding:12px;gap:12px}.captain-consultation .speaker-card .avatar{width:64px!important;height:64px!important;flex:0 0 64px}.captain-consultation .speaker-card p{font-size:.85rem;line-height:1.6}
.training-support-card,.facility-discovery{display:grid;gap:10px;border:1px solid #d3dabf;background:#edf1e2;border-radius:14px;padding:16px;margin:14px 0}.training-support-card h3,.facility-discovery h3{font-size:1rem;margin:0}.training-support-card p,.facility-discovery p{font-size:.85rem;line-height:1.65;margin:0}.training-support-card>b{font-size:.8rem;line-height:1.6}.training-support-card small,.facility-discovery small{font-size:.72rem;line-height:1.6}.training-support-card .button{justify-self:stretch;min-height:44px}.xi-card>strong{display:flex!important;align-items:center;justify-content:center;gap:4px;padding-inline:4px!important}.xi-card>strong>span{min-width:0;overflow-wrap:anywhere}.xi-card .xi-country{flex-shrink:0;font-size:13px;line-height:1}
.news-station{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#183743;color:#fff;border-radius:10px}.news-station b{font-size:.72rem;letter-spacing:.06em}.news-station small{font-size:.68rem}.league-news-card{border-bottom:1px solid #dcd5c7;padding:18px 0}.league-news-card small{color:#6d7563;font-size:.73rem}.league-news-card h3{font-size:.95rem;line-height:1.5;margin:5px 0}.league-news-card p{font-size:.83rem;line-height:1.65;margin:0}.league-news-card.special h3{color:#973e29}.breaking-link{width:100%;padding:14px;margin-top:14px;border:1px solid #ac4835;border-radius:10px;background:#fae9de;color:#813521;min-height:48px;text-align:left;font-weight:700}.breaking-broadcast{background:#102e3b;border-radius:14px;overflow:hidden;color:#fff;margin:10px 0 16px;animation:news-appear .45s ease-out}.breaking-broadcast header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px;background:#203f4c}.breaking-broadcast header b{font-size:.68rem;letter-spacing:.07em}.breaking-broadcast header span{font-size:.7rem}.breaking-label{background:#a02e2a;color:#fff;font-weight:900;padding:9px 16px;letter-spacing:.16em;font-size:.95rem}.breaking-player{display:flex;align-items:center;gap:16px;padding:20px 16px;background:linear-gradient(120deg,#244957,#122735)}.breaking-player .breaking-face{width:110px!important;height:110px!important;flex:0 0 110px;border-radius:10px;aspect-ratio:1}.breaking-player>div{min-width:0}.breaking-player h3{color:#f1d993;font-size:1.3rem;line-height:1.45;margin:6px 0;overflow-wrap:anywhere}.breaking-player small{font-size:.72rem}.breaking-player p{font-size:.8rem;margin:0}.breaking-ticker{padding:10px 14px;background:#e9d193;color:#202f32;font-size:.82rem;font-weight:700;line-height:1.6}.breaking-caption{font-size:.78rem;line-height:1.65;padding:0 16px 14px;margin:14px 0 0}.league-news-modal .player-more .text-button{display:block;min-height:44px;text-align:left}.derby-celebration{background:linear-gradient(135deg,#245943,#163d37);color:#f7d987;border-radius:12px;text-align:center;font-size:1.7rem;font-weight:900;letter-spacing:.12em;padding:24px 12px;margin-bottom:14px}.derby-celebration span{display:block;font-size:.84rem;letter-spacing:.06em;margin-top:8px}.league-move{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #e1dacc}.league-move .crest{width:30px;height:36px;flex-shrink:0}.league-move .crest span{font-size:16px}.league-move b{font-size:.87rem;display:block}.league-move small{display:block;font-size:.74rem;margin-top:3px;color:#6a715f}.league-move.own{background:#dde8cb;color:#233826;border-left:4px solid #396c58}.league-move.own small{color:#37523c}.league-movements h4{margin:14px 0 4px;font-size:.85rem}.league-review-tabs button{font-size:.74rem}.story-note-modal .dialog-footer,.derby-modal .dialog-footer{display:grid;grid-template-columns:1fr}.story-note-modal .dialog-footer .button,.derby-modal .dialog-footer .button{margin:0;width:100%}
@keyframes news-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:380px){.setup-page>header{padding-top:12px}.setup-page>header img{width:130px}.setup-page>header span{font-size:10px}.setup-fields{padding-top:6px}.setup-fields h1{margin-bottom:14px}.setup-fields .start-fields{gap:12px}.setup-fields .text-input{min-height:44px;padding:10px}.breaking-player{gap:10px;padding:16px 12px}.breaking-player .breaking-face{width:84px!important;height:84px!important;flex-basis:84px}.breaking-player h3{font-size:1.1rem}.game-flow-box{padding:12px}.career-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-height:600px){.setup-page>header{padding-top:10px;padding-bottom:4px}.setup-page>header img{max-height:40px}.setup-fields h1{margin-bottom:12px;font-size:21px}.setup-fields .start-fields{gap:10px}.setup-fields{padding-bottom:6px}.setup-page>footer{padding-top:8px;padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){.breaking-broadcast{animation:none}}
