@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#0b172d;--navy2:#101f3a;--green:#7be1a2;--green2:#a8f1b7;--text:#ecf3fb;--muted:#9babc1;--white:#fff;--line:rgba(255,255,255,.12);--ink:#112139;--accent:#39bd7c}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;font-family:'DM Sans','Noto Sans JP',system-ui,-apple-system,sans-serif;background:#f4f7f8;color:var(--ink);line-height:1.75;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.container{width:min(1160px,calc(100% - 48px));margin:0 auto}.site-header{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.09);position:relative;z-index:5}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;color:var(--white);white-space:nowrap;font-weight:900;letter-spacing:-.04em;font-size:19px}.brand-symbol{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:#0c1d32;font-size:25px;transform:rotate(-6deg)}.brand-name span{color:var(--green)}.main-nav{display:flex;align-items:center;gap:26px}.nav-link{color:#d6e1ed;font-weight:700;font-size:13px}.nav-link:hover,.nav-logout:hover{color:var(--green)}.nav-form{margin:0}.nav-logout{border:0;background:transparent;color:#d6e1ed;font-size:13px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:15px 24px;border-radius:10px;border:1px solid transparent;font-weight:800;font-size:14px;line-height:1.5;white-space:nowrap;transition:transform .2s,background .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn-small{padding:11px 17px;font-size:12px}.btn-nav{color:var(--navy);background:var(--green)}.btn-nav:hover{background:#a7efc0}.btn-primary{background:var(--green);color:#071c20;box-shadow:0 10px 25px rgba(43,186,116,.14)}.btn-primary:hover{background:#a3f5bb}.btn-outline{border-color:rgba(255,255,255,.32);background:transparent;color:white}.btn-outline:hover{border-color:var(--green);color:var(--green)}.btn-full{width:100%;justify-content:space-between;margin-top:16px}.home-hero{background:linear-gradient(119deg,#0a172b 0%,#122944 58%,#0d2836 100%);color:var(--white);min-height:560px;position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to right,transparent,black)}.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr .97fr;min-height:560px;align-items:center;gap:22px}.hero-copy{padding:60px 0 75px;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--green);font-size:11px;letter-spacing:.18em;font-weight:800;line-height:1.4}.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green)}.hero-copy h1,.form-aside h1{font-size:clamp(33px,3.6vw,53px);font-weight:900;letter-spacing:-.065em;line-height:1.35;margin:27px 0}.hero-copy h1 em,.form-aside h1 em{font-style:normal;color:var(--green2)}.lead{font-size:15px;line-height:2.15;color:#aabbd0;max-width:500px}.hero-actions{display:flex;gap:12px;margin-top:30px}.hero-footnote{font-size:11px;font-weight:700;color:#8398b1;letter-spacing:.035em;margin-top:22px}.hero-footnote span{color:var(--green);margin:0 7px}.hero-visual{height:440px;position:relative;min-width:0;display:flex;align-items:center;justify-content:center}.stadium-halo{position:absolute;width:370px;height:370px;top:20px;border-radius:50%;background:radial-gradient(circle,rgba(51,206,133,.11),transparent 66%);border:1px solid rgba(123,225,162,.05)}.scoreboard{position:absolute;z-index:3;top:32px;left:50%;width:min(430px,100%);transform:translateX(-50%) rotate(-3deg);background:linear-gradient(157deg,#223954,#101f32 70%);border:4px solid #344d64;border-radius:16px;padding:22px 24px;box-shadow:0 21px 30px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.07) inset}.scoreboard-top,.scoreboard-bottom{display:flex;justify-content:space-between;align-items:center;gap:7px;color:#8da5bd;font-size:9px;font-weight:800;letter-spacing:.12em}.indicator{color:#a1e8b4;font-size:8px}.scoreboard-title{text-align:center;line-height:1.1;margin:19px 0 11px;font-weight:900;font-size:clamp(30px,4vw,54px);letter-spacing:.05em;text-shadow:0 4px 0 rgba(0,0,0,.2)}.scoreboard-title span{color:var(--green)}.scoreboard-scores{display:flex;align-items:center;justify-content:center;gap:16px;border-block:1px solid #36516a;padding:10px 0 14px}.scoreboard-scores strong{font-size:37px;color:var(--green2);line-height:1.2}.scoreboard-scores span{font-size:10px;color:#b6c9db;font-weight:800;letter-spacing:.12em}.scoreboard-scores .divider{font-size:22px;color:#587289}.scoreboard-bottom{margin-top:16px}.field{position:absolute;bottom:-104px;left:50%;transform:translateX(-50%) perspective(340px) rotateX(43deg);width:450px;height:320px;border-radius:52% 52% 0 0;background:repeating-linear-gradient(0deg,#296d54,#296d54 35px,#2d7859 35px,#2d7859 70px);border:5px solid #4fbd80;opacity:.6;box-shadow:0 0 60px rgba(88,190,124,.13)}.field-diamond{position:absolute;top:65px;left:50%;width:158px;height:158px;transform:translateX(-50%) rotate(45deg);background:#b48d68;border:8px solid #d6ac7b}.base{position:absolute;width:15px;height:15px;background:white}.first{right:-7px;top:50%}.second{top:-7px;left:50%}.third{left:-7px;top:50%}.home{bottom:-7px;left:50%}.floating-badge{position:absolute;right:0;bottom:52px;z-index:3;display:flex;align-items:center;gap:10px;padding:14px 17px;background:#f4faf8;box-shadow:0 12px 27px rgba(0,0,0,.21);border-radius:10px;color:#587080;font-size:9px;font-weight:800;line-height:1.45;letter-spacing:.075em;transform:rotate(4deg)}.floating-badge strong{color:#132c34;font-size:12px}.badge-ball{font-size:27px}.intro-section{padding:70px 0 86px;background:#f4f7f8}.section-kicker{text-align:center;font-size:11px;letter-spacing:.19em;font-weight:900;color:#218856;margin:0 0 6px}.section-title{text-align:center;font-size:30px;font-weight:900;letter-spacing:-.05em;margin:0 0 37px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature{position:relative;background:white;border:1px solid #e5ebee;padding:25px 27px 27px;border-radius:14px;box-shadow:0 4px 20px rgba(19,39,58,.03)}.feature-no{font-size:11px;color:#2e9871;letter-spacing:.13em;font-weight:800}.feature-icon{font-size:32px;margin:13px 0 6px}.feature h3{font-size:16px;font-weight:900;margin:10px 0 6px}.feature p{margin:0;font-size:12px;line-height:1.85;color:#66798d}.site-footer{background:#0a1528;color:#8a9eb6}.footer-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;font-weight:700;letter-spacing:.03em}.footer-inner span:last-child{font-size:9px;letter-spacing:.1em}.messages{padding-top:14px}.alert{background:#e3f7e9;border-left:4px solid #27a76a;color:#12613a;padding:11px 16px;border-radius:8px;font-weight:700;font-size:13px}.alert-error,.alert-warning{background:#ffedeb;color:#a33826;border-color:#f28571}.alert-info{background:#e9f0fa;color:#244b85;border-color:#6291d5}.form-section{background:linear-gradient(160deg,#0b172d 0%,#172d4c 100%);padding:75px 0 95px;min-height:calc(100vh - 152px);color:white}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:min(8vw,95px);align-items:center}.form-aside{align-self:center}.form-aside h1{font-size:clamp(31px,3.5vw,48px);margin:24px 0 24px}.form-aside p{max-width:400px;color:#afc0d4;font-size:14px;line-height:2.15}.eyebrow.muted{color:#8ecfae}.aside-stripe{display:flex;align-items:center;gap:17px;border-top:1px solid rgba(255,255,255,.16);margin-top:50px;padding-top:24px;color:#8ba6bd;font-size:10px;letter-spacing:.16em;font-weight:800}.aside-stripe span:first-child{color:var(--green);font-size:20px}.aside-stripe span:last-child{margin-left:auto;font-size:25px}.form-card{background:white;color:#132a41;border-radius:18px;padding:35px 40px 30px;box-shadow:0 25px 60px rgba(0,0,0,.22)}.form-card-head{text-align:center;margin-bottom:27px}.card-overline{color:#299763;letter-spacing:.18em;font-weight:900;font-size:10px}.form-card h2{font-size:27px;letter-spacing:-.05em;margin:5px 0;font-weight:900}.form-card-head p{font-size:12px;color:#7c8895;margin:5px 0}.form-group{margin-bottom:20px}.form-group label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:900;margin:0 0 7px}.required{font-size:9px;border-radius:4px;color:#198352;background:#e6f7ec;padding:2px 6px}.form-group input{display:block;width:100%;height:48px;border:1px solid #d9e3e8;border-radius:9px;background:#f9fbfc;padding:0 14px;color:#132a41;font-size:14px;outline:none;min-width:0;transition:border .15s,box-shadow .15s}.form-group input:focus{background:#fff;border-color:#43b982;box-shadow:0 0 0 3px rgba(72,186,127,.15)}.form-group input::placeholder{color:#a1adbb;font-size:12px}.form-group small{display:block;margin-top:7px;font-size:10px;line-height:1.75;color:#7c8d9b}.field-error{display:block;font-size:11px;color:#c02c46;font-weight:700;margin-top:6px}.form-errors{padding:12px 14px;border-radius:8px;background:#ffeded;color:#a52938;font-size:12px;font-weight:700;margin-bottom:21px}.form-errors ul{padding-left:19px;margin:0}.notice{display:flex;gap:9px;align-items:start;padding:12px 13px;border-radius:8px;background:#f0f6f3;color:#587466;margin:9px 0 4px}.notice span{font-weight:900;color:#27915e}.notice p{font-size:10px;line-height:1.7;margin:0}.form-card-bottom{margin-top:22px;padding-top:21px;text-align:center;border-top:1px solid #ebeff2;color:#7a8795;font-size:11px}.form-card-bottom a{color:#198858;font-weight:900}.login-card{padding-block:44px}.dashboard-section{background:linear-gradient(155deg,#eef5f3,#f8f9fb);padding:60px 0 90px;min-height:calc(100vh - 152px)}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.dashboard-heading h1{font-size:33px;line-height:1.4;letter-spacing:-.05em;margin:8px 0}.dashboard-heading h1 span{font-size:26px}.dashboard-heading p:not(.eyebrow){color:#6f8292;font-size:13px;margin:0}.status-pill{padding:9px 15px;border-radius:99px;color:#168452;background:#dcf8e8;font-size:12px;font-weight:800;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:24px}.player-card{border-radius:19px;color:white;min-height:330px;padding:28px 30px;background:radial-gradient(circle at right top,rgba(117,232,171,.19),transparent 52%),linear-gradient(145deg,#0e2c45,#0a1b31);position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(18,54,68,.13)}.player-card:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(137,226,176,.13);border-radius:50%;right:-62px;bottom:-100px;box-shadow:0 0 0 25px rgba(137,226,176,.045),0 0 0 60px rgba(137,226,176,.04)}.player-card-top,.player-card-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9px;color:#85baa4;letter-spacing:.15em;font-weight:800}.player-id-label{font-size:11px;letter-spacing:.18em;color:#aec4d3;font-weight:800;margin-top:46px}.player-number{font-family:'DM Sans',sans-serif;font-size:clamp(64px,7vw,91px);font-weight:800;color:#adf3c5;letter-spacing:-.06em;line-height:1.1}.player-name{font-size:18px;font-weight:900;margin-top:10px;overflow-wrap:anywhere}.player-card-footer{margin-top:auto;padding-top:30px;color:#9eb5c8}.player-card-footer span:last-child{font-size:23px}.dashboard-right{display:grid;gap:18px;align-content:start}.welcome-card,.coming-soon{background:white;border:1px solid #e1ebed;border-radius:16px;padding:25px 29px}.welcome-card h2{font-size:21px;margin:7px 0 9px}.welcome-card>p{font-size:12px;color:#6d7c8c;margin:0 0 20px}.account-line{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #ecf0f1;padding:10px 0;font-size:12px;color:#7b8a98}.account-line strong{color:#152a40;font-size:13px;overflow-wrap:anywhere;text-align:right}.coming-soon{display:flex;align-items:center;gap:15px;padding:20px 25px}.coming-soon>span:first-child{font-size:28px}.coming-soon strong{font-size:13px}.coming-soon p{font-size:11px;color:#84919b;margin:2px 0 0}.soon-tag{margin-left:auto;white-space:nowrap;font-size:9px;font-weight:900;letter-spacing:.06em;color:#159a65;background:#e6f8ee;border-radius:5px;padding:6px 9px}.dashboard-logout{margin-top:28px}.dashboard-logout .btn-outline{border:1px solid #d0dadd;color:#40576a}.dashboard-logout .btn-outline:hover{color:#128553;border-color:#128553}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr .85fr}.hero-visual{transform:scale(.86);transform-origin:center}.floating-badge{right:-30px}.form-layout{gap:30px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.form-card{padding:30px 27px}.form-aside h1{font-size:33px}}
@media(max-width:720px){.container{width:min(100% - 32px,540px)}.header-inner{height:72px}.brand{font-size:15px;gap:8px}.brand-symbol{height:34px;width:34px;font-size:21px}.main-nav{gap:13px}.nav-link{font-size:11px}.btn-small{font-size:10px;padding:9px 10px}.home-hero{min-height:0}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:57px 0 13px}.hero-copy h1{font-size:clamp(33px,7vw,43px);margin:19px 0}.lead{font-size:13px}.hero-visual{height:365px;transform:scale(.82);transform-origin:50% 0;margin:0 -32px -60px}.scoreboard{top:15px}.floating-badge{right:4%}.intro-section{padding:52px 0 64px}.section-title{font-size:24px}.feature-grid{grid-template-columns:1fr;gap:13px}.feature{padding:19px 24px}.feature-icon{margin:5px 0;font-size:27px}.feature h3{margin:5px 0}.form-section{padding:37px 0 58px}.form-layout{display:block}.form-aside{margin-bottom:26px}.form-aside h1{font-size:32px;margin:12px 0}.form-aside p{font-size:12px;margin-bottom:0}.aside-stripe{display:none}.form-card{padding:28px 24px}.dashboard-section{padding:42px 0 60px}.dashboard-heading{display:block}.dashboard-heading h1{font-size:28px}.status-pill{display:inline-block;margin-top:17px}.dashboard-grid{grid-template-columns:1fr}.player-card{min-height:315px}.dashboard-right{gap:13px}.coming-soon{flex-wrap:wrap}.soon-tag{margin-left:0}.footer-inner{min-height:72px;display:block;text-align:center;padding:17px 0}.footer-inner span{display:block}.footer-inner span:last-child{margin-top:5px;font-size:8px}}
@media(max-width:380px){.main-nav{gap:8px}.brand{font-size:13px}.brand-symbol{width:30px;height:30px}.hero-actions{flex-wrap:wrap;gap:10px}.hero-actions .btn{width:100%;justify-content:space-between}.form-card{padding:24px 17px}.form-group input{font-size:13px}.floating-badge{right:-2px}.site-footer{font-size:10px}}

/* Version 2: game UI - readable black-on-light / white-on-dark */
.panel{background:#fff;color:#142c43;border:1px solid #dce5eb;border-radius:18px;padding:24px;margin-bottom:20px;box-shadow:0 7px 30px #15243b0b}
.panel h2{font-size:20px;font-weight:900;line-height:1.4;margin:4px 0 17px}
.panel h3{font-size:15px;margin:18px 0 10px}
.panel p{line-height:1.8;font-size:13px}
.panel.thin{padding:12px 22px;margin-top:16px}
.panel.thin p{margin:0;color:#395971}
.subdued{color:#5a687b!important;font-size:12px!important}
.slot-grid,.club-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.slot-card,.club-card{background:#f6f9fc;border:1px solid #dce6ec;border-radius:13px;padding:19px;min-width:0}
.slot-card h3{font-size:18px;margin:15px 0 6px}
.slot-card p{font-size:12px}
.slot-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;font-weight:900}
.badge-muted{padding:6px 9px;background:#e4e8f0;border-radius:50px;color:#33475e}
.slot-actions,.action-bar{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.slot-actions{margin-top:14px}
.slot-actions form{display:inline}
.game-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;border:1px solid #b6c9d3;color:#143e53!important;background:#fff;border-radius:9px;font-size:12px;font-weight:850;padding:11px 14px;text-decoration:none;cursor:pointer;line-height:1.3;min-height:42px;transition:transform .12s,box-shadow .12s}
.game-button:hover{transform:translateY(-1px);box-shadow:0 3px 9px #0a1b3040}
.game-button:disabled{color:#85929e!important;cursor:default;opacity:.65}
.game-button.primary{background:#0e694a;color:#fff!important;border-color:#0e694a}
.game-button.danger{color:#ad2434!important;border-color:#f1b3b8}
.game-button.large{font-size:16px;padding:17px 25px}
.game-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px}
.game-topline h1{font-size:clamp(23px,4vw,35px);margin:3px 0 5px;font-weight:900;color:#102c40}
.game-topline p{margin:0;color:#496172;font-size:13px}
.game-topline .section-kicker{color:#247750;text-align:left}
.game-nav{display:flex;gap:8px;overflow-x:auto;margin-bottom:22px;padding:4px 2px 12px;scrollbar-width:thin;white-space:nowrap}
.game-nav a{color:#164564;background:#fff;border:1px solid #dae8e7;border-radius:8px;padding:10px 13px;font-size:12px;font-weight:900;text-decoration:none}
.game-nav a:hover{background:#dcf4e7;color:#0a4a34}
.setup-grid,.team-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.setup-field,.team-edit{display:flex;flex-direction:column;gap:8px;min-width:0}
.setup-field label,.team-edit label{font-size:13px;color:#1c4055;font-weight:900}
.setup-field select,.setup-field input,.team-edit input,.select-bar select{border:1px solid #abbcc7;border-radius:8px;background:#fff;color:#142e3d;padding:12px;font-size:14px;width:100%;min-width:0}
.setup-field small{font-size:11px;color:#536c7b;line-height:1.7}
.team-edit{padding:12px;border:1px solid #e0ebf0;border-radius:11px;background:#fbfcfe}
.team-color-swatch,.team-token{display:inline-block;padding:14px 13px;border-radius:8px;font-size:13px;font-weight:900;overflow-wrap:anywhere}
.team-token{font-size:17px}
.team-token.spectator{color:#132c40;background:#eaf3f9}
.danger-check{font-weight:900;font-size:14px;color:#a41b29}
.form-actions{display:flex;justify-content:flex-end;padding-bottom:30px}
.main-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.main-card-grid .panel{min-width:0}
.panel.highlight{background:linear-gradient(145deg,#143d55,#0d2b45);color:#fff}
.panel.highlight h2{font-size:37px;color:#fff}
.panel.highlight .section-kicker{color:#aef0bd;text-align:left}
.date-large{font-size:24px!important;font-weight:900}
.progress{width:100%;height:9px;border-radius:20px;background:#6889a0;overflow:hidden}
.progress-bar{height:100%;background:#7bebba}
.table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.table-wrap table{border-collapse:collapse;width:100%;min-width:480px;font-size:12px;color:#172e44}
.table-wrap th{color:#fff;background:#244658;padding:10px 12px;white-space:nowrap;text-align:left}
.table-wrap td{padding:9px 11px;border-bottom:1px solid #e2ebf0;white-space:nowrap}
.table-wrap tr:nth-child(even){background:#f4f8fa}
.table-wrap a,.score-card a{color:#0f6750;font-weight:800;text-decoration:underline}
.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.score-card{background:#f5f9f9;border:1px solid #dce8e9;border-radius:12px;padding:15px;display:flex;gap:8px;flex-direction:column}
.score-card small{font-size:10px;color:#405b6e}
.score-card strong{color:#132f45;font-size:13px;line-height:1.6}
.score-card .score{font-size:20px;color:#ae3e2d;margin:0 4px;white-space:nowrap}
.club-card .game-button{margin-top:9px}
.select-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px}
.select-bar select{max-width:300px}
.select-bar label{font-weight:900;font-size:13px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.detail-list{display:grid;grid-template-columns:minmax(100px,1fr) 1.5fr;gap:0;font-size:12px}
.detail-list dt,.detail-list dd{border-bottom:1px solid #e4e9f0;padding:10px 8px;margin:0;overflow-wrap:anywhere}
.detail-list dt{font-weight:850;background:#f7fafc}
.news-entry{border-bottom:1px solid #e4e9f0;padding:15px 0}
.news-entry small{color:#3e7974}
.news-entry h3{margin:6px 0}
.panel details{padding:14px 0;border-top:1px solid #dfe9ed}
.panel summary{font-weight:850;cursor:pointer;color:#205c65}
@media(max-width:900px){.slot-grid{grid-template-columns:1fr}.setup-grid,.team-edit-grid,.club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.panel{padding:18px}.main-card-grid,.score-grid,.detail-grid,.team-edit-grid,.club-grid,.setup-grid{grid-template-columns:1fr}.game-topline{align-items:flex-start;flex-wrap:wrap}.slot-actions{gap:7px}.game-button{padding:10px;font-size:11px}.game-nav a{padding:9px 11px}.date-large{font-size:20px!important}}

/* Version 3 - first/second registration and bench cards */
.roster-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}
.roster-summary>div{display:flex;flex-direction:column;gap:7px;background:#f0f7f5;border:1px solid #d6e4e0;padding:16px;border-radius:12px;min-width:0}
.roster-summary span{font-size:12px;color:#425d65;font-weight:800}
.roster-summary strong{font-size:26px;color:#114a40;line-height:1.3}
.roster-summary strong small{font-size:13px;font-weight:600;color:#516a70}
.roster-exchange{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;margin:14px 0}
.roster-exchange .game-button{min-height:47px}
@media(max-width:820px){.roster-exchange{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.roster-exchange .game-button{grid-column:1/-1}}
@media(max-width:600px){.roster-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-exchange{grid-template-columns:1fr}.roster-exchange .game-button{grid-column:auto}}
.starting-list{padding-left:26px;font-size:13px;line-height:1.9;color:#1e4458} .starting-list li{padding:1px 0;border-bottom:1px solid #edf1f4}
/* v4: 背景ランク。黒か白のみの文字色で可読性を保証 */
.ability-chip{display:inline-flex;align-items:center;justify-content:center;min-width:3.2em;border-radius:6px;border:1px solid rgba(0,0,0,.14);padding:.16em .48em;font-weight:800;color:#10212c;background:#e7eef4;white-space:nowrap}
.grade-S{background:#FFC0CB!important;color:#000!important}
.grade-A{background:#D06DA3!important;color:#000!important}
.grade-B{background:#D90000!important;color:#FFF!important}
.grade-C{background:#DE9610!important;color:#000!important}
.grade-D{background:#F2CF01!important;color:#000!important}
.grade-E{background:#A0C238!important;color:#000!important}
.grade-F{background:#66B7EC!important;color:#000!important}
.grade-G{background:#6A6A68!important;color:#FFF!important}
.ability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.55rem;margin:.7rem 0 1.5rem}
.ability-pair{display:flex;justify-content:space-between;gap:.55rem;align-items:center;border-bottom:1px solid #d8e3eb;padding:.25rem .15rem}
.position-grid{display:flex;flex-wrap:wrap;gap:.55rem}.position-card{display:flex;align-items:center;gap:.4rem;border:1px solid #d4e0e8;border-radius:8px;padding:.5rem .8rem}
.event-banner{border-left:5px solid #098b87;background:#e7f6f3;color:#163641;padding:1.3rem;border-radius:8px;margin:.8rem 0}
.event-banner strong{font-size:1.15rem}.event-banner p{line-height:1.75}
.abilities-table th{white-space:nowrap}.abilities-table td{white-space:nowrap}
.abilities-table th a,table th a{display:inline-block;text-decoration:underline;text-underline-offset:3px;color:inherit;white-space:nowrap}
.abilities-table th a:focus-visible,table th a:focus-visible{outline:3px solid #e6b800;outline-offset:3px}

.dome-choice{display:flex;align-items:center;gap:.5rem;margin-top:.7rem}.dome-choice input{width:20px;height:20px}

/* v5: draft, filters, calendar and progress */
.filter-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:15px 0}
.filter-pill{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #b7cad0;border-radius:999px;color:#164355;background:white;font-size:12px;font-weight:800}
.filter-pill.is-active,.filter-pill:hover{background:#144d41;color:#fff;border-color:#144d41}
.draft-status{display:flex;align-items:flex-start;gap:17px;padding:17px;border:1px solid #9ccabc;border-radius:13px;background:#f0f9f5;margin:12px 0}
.draft-status p{margin:4px 0 0;color:#4c626b;font-size:13px}
.draft-table input[type=radio]{width:19px;height:19px;accent-color:#176e50;cursor:pointer}
.draft-chosen{opacity:.6}
.lottery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:12px 0}
.lottery-card{background:#f3f8f7;padding:13px;border:1px solid #c9d8d4;border-radius:10px;min-width:0}
.lottery-card strong{display:block;color:#18394a}.lottery-card p{font-size:12px;margin:4px 0;overflow-wrap:anywhere}
.draft-busy[hidden]{display:none}.draft-busy{position:fixed;inset:0;background:rgba(10,27,41,.69);z-index:100;display:grid;place-items:center;padding:14px}
.busy-card{max-width:450px;width:100%;background:#fff;color:#152f41;text-align:center;padding:33px 20px;border-radius:15px}.busy-card p{color:#4d6269;font-size:13px}
.busy-spinner{width:42px;height:42px;border:5px solid #c9e6db;border-top-color:#177553;border-radius:50%;animation:draftspin 1s linear infinite;margin:0 auto 16px}
@keyframes draftspin{to{transform:rotate(360deg)}}
.calendar-wrap{overflow-x:auto;max-width:100%;margin:10px 0 22px}
.fixture-calendar{border-collapse:separate;border-spacing:4px;width:100%;min-width:460px;table-layout:fixed}
.fixture-calendar th{font-size:12px;background:#234759;color:#fff;padding:8px 2px;text-align:center;border-radius:7px}
.fixture-calendar td{vertical-align:top;border:1px solid #d6e3e4;background:#fff;border-radius:8px;height:76px;padding:3px;font-weight:800;font-size:13px}
.fixture-calendar td a{display:flex;flex-direction:column;padding:4px;min-height:66px;color:#16394d;text-decoration:none;border-radius:6px;gap:2px}
.fixture-calendar td.outside{background:#f0f3f4;color:#8c9ba1}.fixture-calendar td.selected{outline:3px solid #177656;outline-offset:-3px}
.fixture-calendar td.is-today:not(.selected){border:2px solid #df9e28}.fixture-calendar td a:hover{background:#e9f4f0}
.fixture-calendar td small{font-size:10px;color:#87979f;font-weight:500}
.calendar-count{display:block;font-size:10px;line-height:1.5;border-radius:6px;padding:1px 4px;text-align:center;white-space:nowrap}
.calendar-count.done{color:#fff;background:#16704f}.calendar-count.pending{color:#352700;background:#f8cc74}
.calendar-makeup{font-size:9px;color:#9b3e2e;white-space:nowrap}
@media(max-width:660px){.fixture-calendar{min-width:0;border-spacing:1px}.fixture-calendar td{height:66px;padding:1px}.fixture-calendar td a{padding:2px;min-height:60px;font-size:12px}.calendar-count{font-size:9px;white-space:normal}.calendar-makeup{font-size:8px}}
@media(prefers-reduced-motion:reduce){.busy-spinner{animation:none;border-top-color:#0b624b}}

/* Ver.6 - player encyclopedia, season ledger, draft scouting */
.player-jump{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:17px 0 22px}
.player-jump a{display:inline-block;padding:9px 14px;font-size:12px;color:#154a42;border:1px solid #bed5d1;background:#f0f8f5;border-radius:9px;font-weight:850}
.player-jump a:hover,.player-jump a:focus-visible{background:#d2ece1}
.player-record-section{padding-top:12px;margin-top:20px;border-top:2px solid #e3edf0}
.player-record-section h3{font-size:20px;margin:18px 0 6px}
.player-record-section h4{font-size:15px;margin:20px 0 9px;color:#234356}
.player-record-section .table-wrap{margin-top:7px}
.player-data-table th[scope=row]{color:#183e4d;font-weight:900;background:#dbeee8}
.player-data-table tr.career-total{background:#d4f0df!important;border-top:3px solid #4b9a7b}
.player-data-table tr.career-total th{background:#0d5747;color:#fff}
.player-data-table tr.career-total td{color:#133d31;font-weight:900}
.current-tag{display:inline-block;font-size:10px;font-weight:850;padding:1px 6px;border-radius:5px;color:#143e35;background:#e6f8be;margin-left:3px}
.ability-history-table{min-width:360px!important;max-width:700px}
.ability-history-table th[scope=row]{color:#1e4251;background:#ecf6f2;font-weight:800}
.growth-delta{font-weight:900;display:inline-block;min-width:3.4em;text-align:center;padding:2px 8px;border-radius:6px}
.growth-delta.plus{color:#155337;background:#ccf3d5}
.growth-delta.minus{color:#921e29;background:#ffe0e1}
.growth-delta.zero{color:#4c606a;background:#e8edf0}
.growth-log{margin-top:22px}
.growth-log p{padding:6px 10px;border-bottom:1px solid #e3ebeb;margin:0;font-size:13px}
.draft-sort-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:13px 0;padding:9px 11px;border:1px solid #d0e2df;border-radius:11px;background:#f4f9f8;font-size:12px}
.draft-sort-bar .filter-pill{min-height:36px;padding:6px 10px}
.draft-sort-bar small{color:#4a6370;flex-basis:100%}
.scout-ability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 22px}
.scout-value{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #d6e6e4;border-radius:9px;padding:11px;background:#f7faf9;min-width:0}
.scout-value span:first-child{font-size:12px;font-weight:800}
.scout-value strong{font-size:13px;white-space:nowrap;color:#143748}
.draft-direct-pick{margin:17px 0}
@media(max-width:680px){.player-jump a{flex:1 1 auto;text-align:center;padding:10px 7px}.player-record-section h3{font-size:18px}.scout-ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scout-value{flex-wrap:wrap}.scout-value strong{white-space:normal}}
@media(max-width:370px){.scout-ability-grid{grid-template-columns:1fr}}

/* Ver.10 - season archive */
.records-hero{background:#15364a;color:#fff;border-radius:15px;padding:26px 30px;margin:18px 0 20px}
.records-hero h2{font-size:clamp(22px,3vw,30px);margin:0 0 3px;color:#fff}
.records-hero p{margin:5px 0 15px;color:#e4edf1}
.records-hero .records-eyebrow{font-size:11px;font-weight:850;letter-spacing:.12em;color:#beeacc;margin:0 0 5px}
.records-year-selector{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.records-year-selector label{font-weight:900;color:#fff}
.records-year-selector select{height:45px;min-width:130px;padding:8px 12px;border-radius:7px;color:#122b3e;background:#fff;border:2px solid #a7d4bf;font-size:16px}
.records-year-selector button{min-height:44px}
.records-empty{border-left:4px solid #228863;margin:20px 0}
.records-league{margin:25px 0 30px}
.records-league-header{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#143447;border-radius:10px 10px 0 0;padding:10px 21px;color:#fff}
.records-league-header h3{margin:0;color:#fff}.records-league-header span{font-size:11px;color:#c5e8db;font-weight:700}
.records-league .panel{border-radius:0 0 12px 12px}
.records-titles-heading{font-size:20px;margin:22px 0 10px}
.records-awards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.records-award-card{min-width:0;border:1px solid #dbe4e6;background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 3px 10px rgba(18,46,62,.04)}
.records-award-title{font-weight:900;border-bottom:1px solid #dbe9e7;padding-bottom:8px;color:#1b5044;font-size:15px}
.records-winner{display:flex;align-items:center;gap:9px;padding:12px 0 5px;min-width:0}
.records-winner-icon{font-size:25px;flex:0 0 auto}
.records-winner-body{display:flex;flex-direction:column;min-width:0;flex:1}
.records-winner-body strong{font-size:16px;overflow-wrap:anywhere;color:#143b4f}
.records-winner-body small{font-size:11px;color:#566875}
.records-winner-body a:hover,.records-leader-detail a:hover{color:#087b58;text-decoration:underline}
.records-value{font-size:18px;color:#143b4f;white-space:nowrap}
.records-leader-detail{margin-top:8px;border-top:1px dashed #c8d9d4;padding-top:8px}
.records-leader-detail summary,.records-notes summary{font-size:13px;color:#0c644c;font-weight:850;cursor:pointer;padding:7px 0}
.records-leader-detail table{font-size:12px}
.records-leader-detail td,.records-leader-detail th{padding:5px 7px}
.records-no-result{font-size:13px;color:#5a6b76;margin:14px 0}
.records-team{font-weight:850}
.records-notes{margin:24px 0}.records-notes p{font-size:13px;color:#3a5664}
@media(max-width:700px){.records-awards-grid{grid-template-columns:1fr}.records-hero{padding:20px 17px}.records-award-card{padding:14px}}

/* Ver.15：操作性と判読性の強化 */
.club-dot{display:inline-block;width:.82em;height:.82em;min-width:.82em;border:1px solid #666;border-radius:2px;vertical-align:middle;margin-right:.42em}
.game-button.required{background:#b42b39;color:#fff!important;border-color:#861c28;font-weight:750}
.game-button.required:hover{background:#8e1b2a}
.event-action-stack{margin:12px 0}.event-action-stack p{margin:10px 0}
.event-action-stack .game-button{display:inline-flex;max-width:100%;white-space:normal;text-align:left}
.release-filter{margin:1rem 0;padding:12px;background:#f1f5fa;border:1px solid #bac9d9;border-radius:10px;color:#182636}
.release-filter input[type=search]{min-width:145px;max-width:100%;padding:9px;border:1px solid #64748b;border-radius:7px;font-size:16px}
.draft-chosen{opacity:1!important;background:#d5d8dd!important;color:#252525!important}
.draft-chosen a{color:#203956}
.draft-chosen td{background:#d5d8dd!important}
.draft-lottery-board{border:2px solid #9a3412;background:#fff0dd;padding:1.25rem;border-radius:12px;color:#281607}
.draft-draw-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:1rem 0}
.draft-draw-buttons button{min-height:62px;min-width:100px}
.draft-ability-mode{margin:12px 0 8px}
.draft-scout-inline{white-space:nowrap;font-size:.89rem}
.growth-delta.up{color:#006437;font-weight:700}.growth-delta.down{color:#ad2331;font-weight:700}.growth-delta.same{color:#475569}
.player-sheet-panel{padding:8px 0 12px}.player-sheet-panel[hidden]{display:none!important}
.player-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0;padding:10px 0;border-bottom:2px solid #bfcbd9}
.player-tab{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:9px 13px;border:1px solid #8492a6;border-radius:10px;color:#132338;background:#fff;text-decoration:none;font-weight:700;line-height:1.3}
.player-tab[aria-selected=true]{background:#183f67;color:#fff;border-color:#183f67}
.player-tab:focus-visible{outline:3px solid #dc950a;outline-offset:2px}
@media(max-width:520px){.player-tabs{gap:5px}.player-tab{flex:1 1 43%;justify-content:center;font-size:.88rem;padding:8px}.release-filter .select-bar{gap:8px}}
/* Ver.17: confirmed release choices must remain visible while filtering. */
.release-control-bar {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0;}
.release-control-bar button {min-height:44px;}
.release-selected-summary {border:1px solid #a9adb4;border-radius:10px;background:#f3f4f6;color:#111;padding:12px;line-height:1.6;overflow-wrap:anywhere;}
.abilities-table tr.release-checked > td {background:#c6cbd1 !important;color:#111 !important;}
.abilities-table tr.release-checked a {color:#132841;}
.abilities-table tr.release-checked .ability-chip {outline:2px solid #333;}
.release-finance {margin:10px 0 14px;}
.renewal-summary {display:flex;flex-wrap:wrap;gap:12px;}
.renewal-summary > div {flex:1 1 150px;background:#edf3f8;color:#14212b;padding:14px;border:1px solid #b3c2d0;border-radius:10px;}
.renewal-summary strong {display:block;font-size:1.18em;color:#112739;}

/* Ver.18: 中断可能な進行カレンダーとリアルタイム順位表 */
.live-calendar-controls,.live-run-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}
.live-calendar-controls strong{min-width:110px;text-align:center;color:#18364e}
.live-run-controls button{min-height:44px}
.live-date-grid,.live-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.live-weekdays span{text-align:center;font-weight:800;padding:5px 2px;color:#23384c}
.live-date,.live-date-blank{min-width:0;min-height:67px;padding:6px 3px;border:1px solid #b6c3ce;border-radius:8px;background:#fff;color:#18293d;display:flex;flex-direction:column;gap:5px;align-items:center;cursor:pointer}
.live-date.is-past{background:#e8eaed;color:#202830}
.live-date.is-current{border:2px solid #0e7471}
.live-date.is-selected{outline:3px solid #1d6290;outline-offset:-3px}
.live-date:focus-visible{outline:3px solid #d58b09}
.live-date-note{font-weight:750;font-size:11px;white-space:normal;text-align:center;overflow-wrap:anywhere;line-height:1.35}
.live-win{color:#006b39}.live-loss{color:#b72536}.live-draw{color:#6b4a0d}
.live-day-results{margin:14px 0;padding:12px;border:1px solid #c7d4df;background:#f4f8fc;color:#192e40;border-radius:9px}
.live-score-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;margin-top:8px}
.live-score-row{display:flex;align-items:center;gap:8px;justify-content:space-between;background:#fff;padding:8px;border-radius:7px;border:1px solid #dde4ed}
.live-score-row a{white-space:nowrap}
.live-standings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.live-standings-grid h3{margin-bottom:9px}
.live-rank-table{width:100%;font-size:13px}
.live-rank-table th,.live-rank-table td{padding:7px 4px}
@media(max-width:760px){.live-standings-grid{grid-template-columns:1fr}.live-score-list{grid-template-columns:1fr}}
@media(max-width:450px){.live-date-grid,.live-weekdays{gap:2px}.live-date{min-height:63px;padding:5px 1px;font-size:12px}.live-date-note{font-size:9px}.live-calendar-controls .game-button{padding:8px;font-size:13px}}
/* Ver.18 table headers: inplace sorting, not navigation */
.list-head-sort,[data-table-sort],[data-foreign-sort],[data-free-sort]{display:inline-block;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;text-align:left;padding:7px 2px;white-space:nowrap}
.list-head-sort:hover,[data-table-sort]:hover,[data-foreign-sort]:hover,[data-free-sort]:hover{text-decoration:underline}
.list-head-sort:focus-visible,[data-table-sort]:focus-visible,[data-foreign-sort]:focus-visible,[data-free-sort]:focus-visible{outline:3px solid #d58b09}
[data-foreign-position][hidden]{display:none}
.release-filter .filter-pills{margin:12px 0}

/* Ver.19 打順編集 - 大きなタップ領域と暗所でも読める配色 */
.lineup-mode-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:13px 0}
.lineup-head,.lineup-edit-row{display:grid;grid-template-columns:70px minmax(116px,1fr) minmax(180px,2.2fr);gap:12px;align-items:center;padding:10px 12px}
.lineup-head{color:#fff;background:#244658;border-radius:8px 8px 0 0;font-size:12px;font-weight:800}
.lineup-edit-row{border-bottom:1px solid #e1e9ed;background:#fff}
.lineup-edit-row:nth-child(even){background:#f4f8fa}
.lineup-order{font-size:15px;color:#213f56}
.lineup-edit-row select{border:1px solid #a5bbc8;border-radius:8px;padding:10px 9px;width:100%;color:#183349;background:#fff;min-height:46px;font-size:14px}
.lineup-edit-row label{min-width:0;display:block}
.lineup-mobile-label{display:none}
.lineup-alert{background:#eff4fa;border:1px solid #b6cfe3;padding:12px 15px;border-radius:8px;color:#234663;font-weight:800;font-size:13px;margin:16px 0}
@media(max-width:580px){.lineup-head{display:none}.lineup-edit-row{grid-template-columns:56px 1fr;gap:8px;padding:11px 3px}.lineup-edit-row label:last-child{grid-column:2}.lineup-order{grid-row:1 / span 2}.lineup-mobile-label{display:block;font-size:11px;font-weight:800;color:#465d6f;margin-bottom:2px}}

.lineup-compare th button{border:0;background:transparent;color:#fff;font-weight:850;font-size:12px;cursor:pointer;white-space:nowrap;min-height:32px}
.lineup-compare th button:focus-visible{outline:2px solid #f7d351;outline-offset:2px}
/* Ver.20 foreign market */
#foreign-list{width:100%;white-space:nowrap}
#foreign-list th,#foreign-list td{padding:7px 9px}
#foreign-list [hidden]{display:none!important}
#foreign-list .foreign-signed{background:#ebebeb}
#foreign-list td[data-scout-mode]{text-align:center}
#foreign-list .action-bar{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
#foreign-list td[data-sort-value] small{font-size:10px}

/* Ver.20: keep the day-results panel stable on off days and split by host league */
.live-day-results{min-height:206px;box-sizing:border-box}
.live-league-scores{margin-top:10px}
.live-league-scores h4{margin:0 0 5px;color:#153b51;font-size:14px}
.live-league-scores .live-score-list{margin-top:0;grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.live-score-row{min-width:0;min-height:42px;font-size:12px}
.live-score-row>span{min-width:0;overflow-wrap:anywhere}
.live-no-games{font-size:12px;margin:5px 0;color:#64788c}
@media(max-width:480px){.live-day-results{min-height:240px}.live-league-scores .live-score-list{grid-template-columns:1fr 1fr}.live-score-row{padding:6px}}
@media(max-width:350px){.live-league-scores .live-score-list{grid-template-columns:1fr}}

/* Ver.20 detailed season summary */
.season-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:9px;margin:12px 0 24px}
.season-stat-tile{background:#f4f7fa;border:1px solid #d5e0e8;border-radius:9px;padding:10px;display:flex;flex-direction:column;gap:4px}
.season-stat-tile small{color:#476073;font-size:11px}
.season-stat-tile strong{font-size:21px;font-weight:800;color:#173d51}
.pitchmix-wrap{display:grid;gap:10px;max-width:850px;margin:14px 0}
.pitchmix-row{display:grid;grid-template-columns:minmax(100px,170px) minmax(60px,1fr) 100px;align-items:center;gap:10px;font-size:13px}
.pitchmix-track{height:16px;background:#e5edf1;border-radius:5px;overflow:hidden}
.pitchmix-track>div{height:100%;background:#16825b;border-radius:5px}
.pitchmix-row>span{text-align:right}
.unavailable-zones{display:grid;grid-template-columns:repeat(3,55px);gap:2px;justify-content:center;margin:15px 0}
.unavailable-zones>span{text-align:center;padding:13px;background:#f0f2f5;border:1px solid #d7dfe7;font-weight:700;color:#8695a3}
@media(max-width:450px){.pitchmix-row{grid-template-columns:75px minmax(50px,1fr) 65px;font-size:11px;gap:5px}.pitchmix-row small{display:none}}

/* Ver.21: オフシーズンのターン制進行 */
.offseason-timeline{display:grid;grid-template-columns:repeat(10,minmax(92px,1fr));gap:0;margin:18px 0;overflow-x:auto;max-width:100%;}
.offseason-step{border:1px solid #86949d;background:#fff;color:#161f27;padding:10px 6px;min-height:68px;display:flex;flex-direction:column;gap:5px;align-items:center;text-align:center;white-space:nowrap}
.offseason-step small{font-size:.78em}.offseason-step.is-past{background:#d7d7d7;color:#333}.offseason-step.is-current{background:#e5f6ed;outline:2px solid #006c46;outline-offset:-2px}
.offseason-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}.offseason-actions .game-button{display:inline-flex;align-items:center;min-height:44px}
.offseason-exhibitions{padding:12px;border:1px solid #bdcdd9;border-radius:8px;margin-top:16px}
@media(max-width:860px){.offseason-timeline{grid-template-columns:repeat(5,minmax(90px,1fr))}}
@media(max-width:520px){.offseason-timeline{grid-template-columns:repeat(3,minmax(78px,1fr))}.offseason-actions>*{width:100%}.offseason-actions .game-button,.offseason-actions form button{width:100%;justify-content:center}}

/* V40: 複数表示モードの表では非表示セルも列として再表示させない */
#free-market-table [hidden]{display:none!important}

/* Ver.50: second line is a detail of the primary athlete row, not a sortable athlete. */
.v50-season-detail td {font-size:.88rem; color:#2c5364; background:#edf6f7; padding:.35rem .8rem; line-height:1.65; border-bottom:2px solid #d6e4ea;}

/* V51: market highlights only while a response is pending; signing clears it. */
.abilities-table tbody tr.market-negotiating > td,
#foreign-list tbody tr.market-negotiating > td {background:#fff1cd!important; border-bottom-color:#e9cb7f;}
.abilities-table tbody tr.market-negotiating:hover > td,
#foreign-list tbody tr.market-negotiating:hover > td {background:#ffe7a5!important;}
.abilities-table tbody tr.market-negotiating-detail > td {background:#fff5df!important; border-bottom:2px solid #e9cb7f;}
.fa-status-line {display:flex; align-items:flex-start; flex-direction:column; gap:5px; line-height:1.4;}
.fa-return-hint {display:inline-flex; align-items:center; background:#fff2f6; border:1px solid #efc1d3; color:#873e61; padding:2px 7px; font-size:.8rem; border-radius:6px; white-space:normal; max-width:208px;}
.market-activity-badge {display:inline-block; margin-bottom:4px; font-weight:750; color:#745514;}

/* Ver.62: 同一交渉日に保留となった契約を赤く強調 */
.renewal-held-today, .abilities-table tr.renewal-held-today td {background-color:#ffe0e3 !important;}
.renewal-held-today:hover td {background-color:#ffd1d6 !important;}
/* Ver.91 compact starting ability values and wide statistics tables */
.foreign-count{display:block;color:#43576a;font-size:.8rem;margin-top:6px}
.starting-abilities{width:100%;min-width:550px;table-layout:auto;font-size:11px;border-collapse:collapse}
.starting-abilities th,.starting-abilities td{padding:5px 3px;white-space:nowrap;text-align:center}
.starting-abilities .starting-name{min-width:120px;text-align:left}
.starting-value{min-width:25px;display:inline-block;border-radius:5px;padding:4px 3px;white-space:nowrap;font-weight:800}
.ability-grid-pitch{grid-template-columns:repeat(5,minmax(90px,1fr))}
.ability-grid-bat{grid-template-columns:repeat(8,minmax(78px,1fr))}
.ability-grid-bat .ability-pair,.ability-grid-pitch .ability-pair{white-space:nowrap}
@media(max-width:850px){.ability-grid-bat,.ability-grid-pitch{grid-template-columns:repeat(4,minmax(100px,1fr))}}
@media(max-width:475px){.ability-grid-bat,.ability-grid-pitch{grid-template-columns:repeat(2,minmax(0,1fr))}}
.live-match-score{display:inline-flex;gap:4px;align-items:center;white-space:nowrap}
.live-score-team{display:inline-flex;gap:4px;align-items:center;white-space:nowrap}
.live-score-team .club-dot{display:inline-block;flex:0 0 9px;width:9px;height:9px;margin:0}
.v91-stats-table{font-size:12px;min-width:100%;width:max-content;border-collapse:collapse}
.v91-stats-table th,.v91-stats-table td{text-align:center;padding:8px 7px;white-space:nowrap}
.v91-stats-table th[scope=row]{text-align:left}
.v91-stats-table thead th{background:#24455a;color:#fff}
.v91-stats-table thead th a{color:#fff;text-decoration:none;white-space:nowrap}
.v91-stats-table thead th a:hover{color:#a8e2ff;text-decoration:underline}
.v91-stats-table tbody a{color:#195478;font-weight:750;text-decoration:underline}
.v91-stats-table tbody tr:nth-child(even){background:#eef4f8}
.v91-stats-table .team-best{color:#007eab!important;font-weight:800}
.v91-stats-table .team-worst{color:#dc3f75!important;font-weight:800}
.v91-stats-table .team-short{display:inline-flex;gap:4px;align-items:center}

/* V93: V91の統計表の行見出しは本文色。共通 .table-wrap th の濃紺背景を
   tbody へ継承させない（画像で報告された見にくさの主因）。 */
.table-wrap table.v91-stats-table tbody tr:nth-child(odd) > th,
.table-wrap table.v91-stats-table tbody tr:nth-child(odd) > td {background:#fff;color:#213748}
.table-wrap table.v91-stats-table tbody tr:nth-child(even) > th,
.table-wrap table.v91-stats-table tbody tr:nth-child(even) > td {background:#eef4f8;color:#213748}
.table-wrap table.v91-stats-table tbody th[scope=row] {
    text-align:left;font-weight:750;white-space:nowrap;border-bottom:1px solid #dbe5ec;
}
.table-wrap table.v91-stats-table tbody th[scope=row] a,
.table-wrap table.v91-stats-table tbody td a {
    color:#17608b;font-weight:750;text-decoration:underline;text-underline-offset:2px;
}
.table-wrap table.v91-stats-table tbody th[scope=row] a:hover,
.table-wrap table.v91-stats-table tbody td a:hover {color:#083d5c}
.table-wrap table.v91-stats-table thead th {background:#24455a;color:#fff}
.table-wrap table.v91-stats-table thead th a {color:#fff;font-weight:800;text-decoration:none}
.table-wrap table.v91-stats-table thead th a:hover {color:#c0eafa;text-decoration:underline}
.table-wrap table.v91-stats-table tbody .team-best {color:#007ba6!important;font-weight:850}
.table-wrap table.v91-stats-table tbody .team-worst {color:#c83566!important;font-weight:850}
.table-wrap table.v91-stats-table tbody tr:focus-within > * {outline-offset:-2px}
.v91-stats-table tbody td {font-variant-numeric:tabular-nums}

/* Ver.103: compact accessible Top-100 board, no colored player-name backgrounds. */
.record103-main-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.record103-tab{display:inline-flex;align-items:center;border:1px solid #c7d4e2;border-radius:.65rem;background:#f2f6fb;color:#183352;padding:.68rem 1rem;font-weight:700;text-decoration:none}
.record103-tab.is-active{background:#173352;border-color:#173352;color:#fff}
.record103-control,.record103-board,.record103-help{margin:1.2rem 0}
.record103-metrics{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}
.record103-metric{display:inline-block;background:#f6f9fd;border:1px solid #c6d1df;border-radius:.5rem;color:#1a3e65;padding:.35rem .68rem;text-decoration:none;font-size:.91rem}
.record103-metric.is-active{background:#dceaf8;color:#123556;border-color:#5488b9;font-weight:800}
.record103-filter{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.record103-filter label{font-weight:700;color:#253c55}
.record103-filter select{padding:.55rem;border:1px solid #b0bfd0;border-radius:.5rem;max-width:100%}
.record103-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.record103-head h3 span{font-size:.8em;font-weight:500;color:#536577}
.record103-table td{background:transparent!important;color:#1b2c40!important}
.record103-table tbody tr:nth-child(even){background:#f3f6fa}
.record103-table tbody tr:nth-child(odd){background:#fff}
.record103-table td a{color:#175ca6;text-decoration:underline;font-weight:600;background:transparent!important}
.record103-table td a:hover{color:#0d386b}
.record103-rank,.record103-value{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.record103-club{white-space:nowrap}
.record103-club-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:.12rem;margin-right:.35rem;vertical-align:middle;border:1px solid rgba(0,0,0,.12)}
.record103-help p{line-height:1.7;color:#394a5b}

/* Ver.108: accessible historical team badges and mobile-first roster breakdown. */
.historic-club{display:inline-flex;align-items:center;gap:.45em;font-weight:700;white-space:nowrap}
.historic-club .club-dot{display:inline-block;width:11px;height:11px;min-width:11px;border-radius:1px;margin:0}
.historic-club .club-dot.unknown{background:#a4aab1}
.roster-totals .roster-detail{font-size:14px;color:#164b42;line-height:1.65}
.roster-totals .foreign-count{font-size:11px;line-height:1.8;color:#546d70}
@media(max-width:680px){.game-nav{overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.table-wrap{overscroll-behavior-x:contain}.roster-totals .roster-detail{font-size:13px}}

/* User display preferences. Never hide errors, warnings, buttons or result data. */
body.hide-brief-help .dashboard-section p.subdued,body.hide-brief-help .dashboard-section .setup-field small:not(.field-error){display:none!important}
.ui-language-quick{display:inline-flex;align-items:center;margin-right:7px}
.ui-language-quick select,.ui-preferences-form select{border:1px solid #a9bfc6;border-radius:7px;padding:7px;background:#fff;max-width:100%;font:inherit}
.ui-preferences-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0}
.ui-preferences-form label{font-weight:700}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important}
@media(max-width:600px){.ui-language-quick select{max-width:110px;font-size:12px}.main-nav{gap:6px}}

@media(max-width:720px){.header-inner{height:auto;min-height:72px;flex-wrap:wrap;gap:3px;padding-block:10px}
 .brand{white-space:normal;font-size:15px;min-width:0;flex:1 1 130px}
 .brand-name{overflow-wrap:anywhere}.main-nav{flex:1 1 160px;justify-content:flex-end;flex-wrap:wrap;gap:5px}
 .ui-language-quick select{font-size:12px;max-width:120px}.nav-form{flex-shrink:0}}
@media(max-width:380px){.container{width:calc(100% - 24px)}.site-header .brand-symbol{display:none}
 .main-nav{gap:4px}.nav-link,.nav-logout{font-size:10px}.ui-language-quick select{max-width:90px}}

/* Ver.114: separate domestic roster totals from foreign-quota counts. */
.roster-totals .roster-detail,.roster-totals .foreign-count{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.roster-totals .foreign-count{margin-top:5px;font-size:11px;line-height:1.65}
.roster-totals .foreign-count b{font-weight:700;white-space:nowrap}
.roster-totals .roster-detail>span,.roster-totals .foreign-count>span{font-size:inherit;line-height:inherit;overflow-wrap:anywhere}

.roster-totals .foreign-count .foreign-count-caption{font-weight:700;font-size:10px;color:#48646b}

/* Ver.115: compact, keyboard accessible language buttons. */
.ui-language-quick{position:relative;margin:0;display:block;min-width:0}
.ui-language-quick summary{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;min-height:44px;border-radius:9px;background:#fff;border:1px solid #b6c9d3;color:#153047;cursor:pointer;font-size:13px;font-weight:750;list-style:none;white-space:nowrap}
.ui-language-quick summary::-webkit-details-marker{display:none}
.ui-language-quick[open] summary{outline:2px solid #7be2af;outline-offset:2px}
.language-button-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;background:#fff;color:#17334a;border:1px solid #c9d8e0;border-radius:12px;box-shadow:0 10px 25px #11263a33;width:max-content;max-width:min(92vw,300px);padding:9px;display:grid;grid-template-columns:1fr;gap:5px}
.language-option{min-height:44px;text-align:left;padding:9px 14px;border:1px solid transparent;background:#f4f8fa;border-radius:8px;color:#153047;font-weight:700;white-space:normal}
.language-option:hover,.language-option:focus-visible,.language-option.selected{background:#dff5e9;border-color:#82cba5;color:#12472e}
.language-option:focus-visible,.team-pick-button:focus-visible,.player-pick-card input:focus-visible{outline:3px solid #2d976b;outline-offset:3px}
@media(max-width:700px){.header-inner{gap:7px}.main-nav{gap:8px}.ui-language-quick summary{font-size:12px;padding:9px}.language-button-menu{right:0}}
@media(max-width:410px){.header-inner .brand-name{font-size:12px}.ui-language-quick summary{font-size:11px}}

/* Cards: responsive lists of baseball data, not oversized select boxes. */
.team-pick-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 23px}
.team-pick-button{display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;padding:10px;border:1px solid #d3e0e6;border-radius:9px;background:#f7fafb;color:#203e51;font-size:12px;font-weight:750;overflow-wrap:anywhere}
.team-pick-button.selected{border:2px solid #19835e;background:#e3f7eb}
.trade-settings{display:flex;flex-wrap:wrap;gap:16px;align-items:end}
.trade-settings label,.trade-player-group>label,.player-pick-search>label{display:grid;gap:5px;color:#25465c;font-size:13px;font-weight:750;min-width:0}
.trade-settings select,.trade-settings input,.trade-player-group input[type=search],.player-pick-search input{width:100%;min-width:0;padding:10px;border:1px solid #b9cbd5;border-radius:7px;background:#fff;color:#122f42;font-size:16px}
.trade-settings label{min-width:min(100%,200px)}
.trade-player-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.trade-player-group{min-width:0}
.trade-player-group h4{font-size:15px;color:#183c54;margin:0 0 12px}
.player-card-grid{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 18px}
.player-pick-card{display:block;border:1px solid #dbe4e9;border-radius:10px;padding:12px;background:#f9fbfc;color:#18334a;min-width:0;word-break:break-word;font-size:12px}
.player-pick-card:has(input:checked){background:#e5f6ec;border-color:#26885d}
.player-pick-card[hidden]{display:none}
.player-pick-card.no-player{min-height:44px;cursor:pointer;font-weight:700}
.player-pick-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;cursor:pointer;min-height:30px}
.player-pick-top strong{font-size:14px}
.player-pick-top input{height:19px;width:19px;flex:0 0 auto;accent-color:#157a56}
.player-pick-top span{margin-left:auto;color:#4b6472;font-size:11px}
.pick-facts{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:8px 0;font-size:11px;color:#33566a}
.pick-facts a{color:#13745e;font-weight:750;text-decoration:underline;min-height:29px;padding-top:5px}
.pick-stats{font-size:11px!important;line-height:1.6!important;white-space:normal;color:#38546a;background:#eef3f6;padding:7px 8px;border-radius:7px;overflow-wrap:anywhere;margin:6px 0!important}
.pick-abilities{display:flex;gap:5px;flex-wrap:wrap}.pick-abilities span{padding:3px 6px;border:1px solid #d9e7ea;background:white;border-radius:6px;font-size:11px}
.pick-abilities b{color:#205c59}
.trade-submit{margin:18px 0;border-top:1px solid #dce7e9;padding-top:13px}
.player-selection-panel summary{font-size:13px;padding:12px 0}.player-selection-panel{margin:14px 0}
.player-selection-panel .player-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.team-pick-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-player-columns{grid-template-columns:1fr}}
@media(max-width:610px){.team-pick-buttons{grid-template-columns:1fr 1fr}.player-selection-panel .player-card-grid{grid-template-columns:1fr}}
@media(max-width:340px){.team-pick-buttons{grid-template-columns:1fr}}
/* Early-game choice is a visible set of five real buttons, not a select menu. */
.language-launch{margin:0 0 24px;padding:13px;border:1px solid #d7e6e1;border-radius:12px;background:#f0f7f4;color:#173d3a}
.language-launch p{font-size:11px;letter-spacing:.015em;color:#3c685c;margin:0 0 8px!important;font-weight:800}
.language-launch-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:7px}
.language-launch-button{color:#15394a;border:1px solid #c3d8cd;border-radius:8px;background:white;padding:8px 5px;font-size:12px;font-weight:800;min-width:0;min-height:44px;overflow-wrap:anywhere}
.language-launch-button.selected,.language-launch-button:hover{color:#0e593e;background:#d8f2e4;border-color:#2f986b}
.language-launch-button:focus-visible{outline:3px solid #0b8a54;outline-offset:2px}
@media(max-width:410px){.language-launch-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V124 one-panel trader: compact controls above cards, wrap on phones. */
.trade-decision-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  padding:14px;margin:12px 0 18px;background:#f1f7f5;border:1px solid #cde3dc;border-radius:12px;min-width:0}
.trade-decision-toolbar p{margin:0;overflow-wrap:anywhere;line-height:1.5}
.trade-tabs{display:flex;flex-wrap:wrap;gap:7px;width:100%}
.trade-tab{flex:1 1 140px;min-height:44px}.trade-tab.is-selected{background:#174e47;color:#fff}
.trade-player-columns.trade-single-panel{display:block;width:100%}
.trade-player-group[hidden],.trade-risk-message[hidden]{display:none!important}
.trade-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trade-filter-bar label{min-width:0;display:flex;flex-direction:column;gap:6px}
.trade-filter-bar select,.trade-filter-bar input{width:100%;max-width:100%;min-height:44px;font-size:16px}
.trade-single-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.trade-single-list .no-player{grid-column:1 / -1}
.trade-risk-message{padding:9px 12px;border-radius:8px;border:1px solid #e6bb72;
  color:#634313;background:#fff6e7;font-weight:700;max-width:100%}
.pick-abilities .ability-chip{border-radius:6px;font-weight:700;white-space:nowrap}
.pick-abilities .ability-chip b{color:inherit}
@media(max-width:720px){.trade-single-list{grid-template-columns:1fr}.trade-filter-bar{grid-template-columns:1fr}}

/* Ver.129: negotiation retry and in-place updates. */
#renewal-response[hidden] {display:none;}
#renewal-response {margin:12px 0;}
[id^="fa-target-"], [id^="foreign-target-"] {scroll-margin-top:85px;}
[id^="fa-target-"]:target > td, [id^="foreign-target-"]:target > td {
 outline:2px solid #287c7b; outline-offset:-2px;
}
.market-negotiating td {transition:background-color .16s ease;}
@media (max-width:640px){.abilities-table .action-bar{flex-wrap:wrap}.market-negotiating td{white-space:normal}}

[id^="free-target-"] {scroll-margin-top:85px;}
[id^="free-target-"]:target > td {outline:2px solid #287c7b; outline-offset:-2px;}

/* Ver.139: comparison tables - keep page width sane without destroying sort columns. */
.dashboard-section,.dashboard-section > .container,.panel,.main-card-grid > * {min-width:0}
.panel {max-width:100%}
.table-wrap {display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:auto;scrollbar-color:#87a8b5 #edf2f5;overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;border-radius:0 0 7px 7px}
.table-wrap table {width:max-content;min-width:100%;max-width:none}
.table-wrap th,.table-wrap td {vertical-align:middle}
.wide-table-controls {display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:44px;
  padding:8px 10px;background:#eef6f8;border:1px solid #ccdfe8;border-bottom:0;
  border-radius:10px 10px 0 0;color:#244658;font-size:12px;margin:12px 0 0}
.wide-table-controls[hidden]{display:none!important}
.wide-table-controls .wide-table-help {font-weight:750;flex:1 1 auto;min-width:100px}
.wide-table-controls button {font:inherit;font-weight:800;color:#173c55;cursor:pointer;background:#fff;
  border:1px solid #a9c4d2;border-radius:7px;padding:6px 11px;min-height:35px}
.wide-table-controls button:disabled {opacity:.40;cursor:default}
.wide-table-controls button:focus-visible{outline:3px solid #db9a17;outline-offset:1px}
.wide-table-controls .wide-table-position {font-variant-numeric:tabular-nums;min-width:3.5em;text-align:center}
.wide-table-controls .wide-table-density[aria-pressed=true]{background:#164e55;color:white}
.table-wrap .wide-table-sticky {position:sticky;left:var(--wide-sticky-left,0px);z-index:2;
  background:#f0f6f8!important;box-shadow:1px 0 0 #d3e1e8}
.table-wrap thead .wide-table-sticky {background:#244658!important;color:white;z-index:3}
.table-wrap tr:nth-child(2n) > .wide-table-sticky {background:#e4f0f5!important}
.table-wrap tr.market-negotiating > .wide-table-sticky {background:#fff5df!important}
.table-wrap tr.release-checked > .wide-table-sticky {background:#c6cbd1!important}
.table-wrap tr.draft-chosen > .wide-table-sticky {opacity:1}
/* Mobile: horizontal swipe without frozen name columns. */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  .table-wrap .wide-table-sticky {position:static!important;left:auto!important;box-shadow:none!important;}
  .table-wrap thead .wide-table-sticky {background:#244658!important;color:white;}
  .table-wrap tbody .wide-table-sticky {background:inherit!important;}
  .wide-table-controls {display:none!important;}
}
.dashboard-stats {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:767px){.dashboard-stats{justify-content:flex-start;}}
body.wide-table-compact .table-wrap th,body.wide-table-compact .table-wrap td {padding:5px 6px;font-size:11px}
body.wide-table-compact .table-wrap .ability-chip {min-width:2.5em;padding:.08em .32em}
body.wide-table-compact .table-wrap .game-button {padding:7px 8px;min-height:32px}
body.wide-table-compact .table-wrap .action-bar {gap:5px}
/* Save deletion confirmation stays inside its own card at ALL viewport sizes. */
.slot-actions > .delete-save-confirm {flex:1 0 100%;min-width:0;max-width:100%;width:100%;margin-top:8px}
.slot-actions > .delete-save-confirm > summary {width:max-content;max-width:100%;cursor:pointer;list-style:none}
.slot-actions > .delete-save-confirm > summary::-webkit-details-marker {display:none}
.slot-actions .delete-save-confirm .save-delete-form {display:block;width:100%;max-width:100%;min-width:0;
  padding:13px;border:1.5px solid #d26b74;border-radius:10px;margin-top:10px;background:#fff;
  overflow-wrap:anywhere}
.save-delete-warning {margin:0 0 12px!important;color:#a52732;font-weight:800;font-size:12px!important;line-height:1.65!important}
.save-delete-confirm-row {display:grid;grid-template-columns:minmax(0,1fr) 6.2em;
  align-items:center;gap:10px;margin-bottom:12px}
.save-delete-confirm-row label {min-width:0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.save-delete-confirm-row input {min-width:0;width:100%;max-width:100%;padding:8px;border:1px solid #9aadb8;
  border-radius:7px;text-align:center;background:white;font:inherit}
.save-delete-submit {max-width:100%;white-space:normal}
@media(max-width:480px){.wide-table-controls{gap:5px;padding:6px}.wide-table-controls .wide-table-help{flex-basis:100%}
  .save-delete-confirm-row{grid-template-columns:1fr}.save-delete-confirm-row input{width:7em}}

/* Ver.140: two new-save slots; keep the third only for grandfathered legacy data. */
.slot-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px) {.slot-grid{grid-template-columns:1fr}}
