
:root{--bg:#0a1314;--panel:#132321;--panel2:#18302b;--border:#2e453e;--muted:#92afa2;--text:#f4f7ee;--lime:#bcf55c;--teal:#48cfa3;--rose:#f88e8b;--gold:#f6ca78;--soft:#e9f8df;--shadow:0 15px 45px #050d0d55;--radius:19px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;font-size:14px;line-height:1.58}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}a{color:var(--lime)}.muted{color:var(--muted)}.hide{display:none!important}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace}.mini{font-size:11px}.tiny{font-size:10px}.right{text-align:right}.center{text-align:center}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(28px,4vw,48px);line-height:1.15;letter-spacing:-1.6px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:16px}h4{font-size:13px}.stack{display:flex;flex-direction:column;gap:14px}.stack-sm{display:flex;flex-direction:column;gap:8px}.flex{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.grow{flex:1}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.section-gap{margin-top:22px}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.caps{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:900}.container{max-width:1310px;margin:0 auto;padding:0 24px 80px}.app-header{position:sticky;z-index:30;top:0;background:#0b1615ed;backdrop-filter:blur(18px);border-bottom:1px solid #30413a}.header-wrap{max-width:1360px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:28px;min-height:76px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0;cursor:pointer}.brand-logo,.ballmark{width:42px;height:42px;border-radius:13px;background:var(--lime);color:#133221;display:grid;place-items:center;font-size:24px;font-weight:1000;font-style:italic;box-shadow:0 0 26px #bdf75933}.brand-name{font-weight:950;letter-spacing:1.3px;font-size:16px;line-height:1.05}.brand-name small{font-size:9px;display:block;letter-spacing:3px;color:var(--lime);margin-top:5px}.nav{display:flex;gap:4px;flex:1;overflow:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{border:0;background:none;color:var(--muted);padding:14px 13px;font-weight:800;white-space:nowrap;border-radius:10px;transition:all .15s}.nav button:hover{color:var(--text);background:#ffffff0d}.nav button.active{color:var(--lime);background:#b9f46112}.user-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--border);padding:7px 12px;border-radius:100px;font-size:12px;font-weight:800;white-space:nowrap}.avatar{width:26px;height:26px;border-radius:50%;background:#3c5b3d;color:var(--lime);display:grid;place-items:center;font-weight:900}.btn{border:1px solid var(--border);color:var(--text);background:#ffffff09;border-radius:11px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:850;transition:transform .13s,background .13s,border-color .13s}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:#8cbf89;background:#ffffff13}.btn-primary{background:var(--lime);color:#132a1f;border-color:var(--lime)}.btn-primary:hover:not(:disabled){background:#dbff9d;border-color:#dbff9d}.btn-ghost{border-color:transparent;background:transparent}.btn-danger{color:#ffc2c2;border-color:#724e51}.btn-sm{font-size:12px;padding:6px 10px;border-radius:8px}.btn-block{width:100%}.btn-round{border-radius:100px}.card{background:linear-gradient(145deg,#182d29 0%,#122320 100%);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 10px #0000000b}.pad{padding:22px}.pad-lg{padding:28px}.eyebrow{font-size:11px;font-weight:900;color:var(--lime);letter-spacing:2.6px;text-transform:uppercase}.hero{margin-top:30px;min-height:243px;padding:35px 40px;border-radius:24px;border:1px solid #5c7f50;background:radial-gradient(ellipse at 90% 30%,#365b2c 0%,transparent 36%),radial-gradient(ellipse at 62% 100%,#225445 0%,transparent 48%),linear-gradient(115deg,#1d3c31,#0d201e);position:relative;overflow:hidden;display:flex;align-items:center}.hero::after{content:'01';position:absolute;font-weight:1000;font-size:240px;right:16px;top:-82px;line-height:1;color:#ffffff06;font-style:italic;pointer-events:none}.hero p{max-width:500px;color:#b6d4c3;line-height:1.85;margin:14px 0 21px}.hero-content{position:relative;z-index:1}.hero h1 strong{color:var(--lime)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:20px 0}.stat-box{padding:18px;border:1px solid var(--border);border-radius:15px;background:#132521}.stat-value{font-size:30px;line-height:1.25;font-weight:950;letter-spacing:-.6px;margin-top:3px}.stat-unit{font-size:13px;color:var(--muted);font-weight:800}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-title h2{font-size:22px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:4px 9px;font-size:10px;font-weight:900;letter-spacing:.2px;border:1px solid #446454;background:#264634;color:#c9f9bd}.pill.warn{background:#4c3b26;border-color:#91733f;color:#f9d791}.pill.red{background:#57343b;border-color:#94525c;color:#ffb3bd}.pill.blue{background:#283d54;border-color:#4b6e93;color:#a7d7ff}.accent{color:var(--lime)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid var(--border);margin-bottom:14px}.empty{padding:40px 25px;text-align:center;border-radius:17px;background:#19302a;border:1px dashed #456454;color:var(--muted)}.empty strong{display:block;color:var(--text);font-size:17px;margin:10px 0 4px}.input,.select,.textarea{width:100%;border:1px solid #3c5248;background:#0e1d1b;border-radius:10px;padding:12px 14px;color:var(--text);outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px #b9f46119}.input::placeholder{color:#7f9b8c}.textarea{min-height:180px;resize:vertical;font:12px ui-monospace,Consolas,monospace;line-height:1.5}label.field{display:block;font-size:12px;font-weight:850;color:#ccdfce;margin-bottom:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row{display:flex;gap:10px;align-items:end}.form-row>*{flex:1}.data-alert{margin:20px 0 0;padding:12px 15px;border-radius:12px;background:#56432533;border:1px solid #a77f465c;color:#f0d9a6;font-size:12px}.data-alert strong{color:#ffe2a6}.info-alert{background:#1f3b363d;border-color:#4e7f6c66;color:#b7e4d0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:18px}.rank-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.rank-row:last-child{border-bottom:0}.rank-num{width:32px;height:32px;border-radius:9px;background:#294137;display:grid;place-items:center;font-weight:950}.points-big{font-size:25px;font-weight:950;color:var(--lime)}.fixture-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--border);font-weight:800}.fixture-row:last-child{border-bottom:0}.fixture-row>:last-child{text-align:right}.fixture-score{font-weight:950;letter-spacing:.5px;background:#0d211a;padding:5px 9px;border-radius:7px}.club-name{display:flex;align-items:center;gap:8px}.club-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;box-shadow:0 0 0 3px #ffffff0e}.player-table{width:100%;border-collapse:collapse}.player-table th{text-align:left;padding:12px 10px;color:var(--muted);font-size:10px;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--border)}.player-table td{padding:12px 10px;border-bottom:1px solid #2d403a;vertical-align:middle}.player-table tr:hover td{background:#ffffff08}.player-name{font-weight:900}.player-pos{border-radius:6px;padding:3px 6px;background:#2d4840;font-size:10px;font-weight:950;display:inline-block;min-width:34px;text-align:center}.player-pos.GK{background:#5c4e26;color:#ffeb94}.player-pos.DF{background:#235550;color:#a1ffe4}.player-pos.MF{background:#334b65;color:#b7d7ff}.player-pos.FW{background:#653b4b;color:#ffc2d5}.scrollbox{max-height:700px;overflow-y:auto}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:18px 0}.squad-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:18px}.pitch{border-radius:17px;border:1px solid #4f926e;background:repeating-linear-gradient(to bottom,#246349,#246349 13.5%,#236047 13.5%,#236047 27%);padding:22px 12px;position:relative;min-height:590px;overflow:hidden}.pitch::before{content:"";position:absolute;inset:16px 16px;border:1px solid #ffffff35;border-radius:3px;pointer-events:none}.pitch::after{content:"";position:absolute;top:50%;left:16px;right:16px;height:1px;background:#ffffff2b;pointer-events:none}.pitch-rows{display:flex;flex-direction:column;justify-content:space-around;height:550px;position:relative;z-index:2;gap:14px}.pitch-row{display:flex;justify-content:center;gap:9px;flex:1;align-items:center}.pitch-player{min-width:72px;max-width:108px;width:calc(23% - 6px);border:1px solid #ffffff48;border-radius:11px;background:#10241deb;overflow:hidden;box-shadow:0 6px 12px #07130f44;text-align:center;transition:transform .15s;position:relative;cursor:pointer}.pitch-player:hover{transform:translateY(-3px);border-color:var(--lime)}.pitch-player.selected{outline:3px solid var(--lime)}.shirt{height:42px;display:flex;justify-content:center;align-items:center;position:relative}.shirt svg{filter:drop-shadow(0 2px 1px #1117)}.shirt-number{position:absolute;top:12px;font-size:11px;font-weight:1000;color:#fff;text-shadow:0 1px 2px #000}.pitch-player .pname{background:#e8f4e9;color:#10251e;font-size:11px;font-weight:950;padding:4px 2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pitch-player .clubline{font-size:10px;padding:3px 3px;display:flex;justify-content:center;gap:5px;color:#e1f1da}.pitch-player .c-symbol{position:absolute;right:4px;top:4px;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;background:var(--lime);font-size:10px;font-weight:1000;color:#1d3020}.pitch-player .c-symbol.vice{background:#f5e6a3}.bench{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:16px 8px 4px;border-top:1px solid var(--border)}.bench-player{min-width:0;border:1px solid var(--border);border-radius:12px;padding:10px 6px;text-align:center;background:#1b322b;cursor:pointer}.bench-player.selected{outline:2px solid var(--lime)}.bench-player .pname{font-size:11px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bench-player .mini{font-size:9px}.team-summary{padding:18px}.lineup-hint{font-size:12px;color:var(--muted);margin:10px 0 0}.slot-sample{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.slot-sample .pill{justify-content:center}.chosen-list{max-height:340px;overflow:auto}.chosen-item{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border)}.chosen-item:last-child{border:0}.auth-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at 10% 10%,#315b46 0%,transparent 36%),radial-gradient(ellipse at 95% 100%,#364e2b,transparent 42%),#0a1413}.auth-shell{width:min(930px,100%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #54694e;border-radius:27px;background:#152923;box-shadow:var(--shadow)}.auth-visual{padding:50px 38px;display:flex;flex-direction:column;justify-content:space-between;min-height:530px;background:linear-gradient(140deg,#294f3b,#142e29);position:relative;overflow:hidden}.auth-visual:after{content:'FANTASY';position:absolute;transform:rotate(-85deg);right:-150px;bottom:145px;color:#ffffff09;font-size:108px;font-weight:1000}.auth-visual h1{font-size:40px}.auth-visual p{color:#c5dccd;margin-top:15px;font-size:14px;line-height:2}.auth-form{padding:47px 40px}.auth-form h2{font-size:26px;margin-bottom:5px}.auth-form .field{margin-top:18px}.auth-form .btn-primary{margin-top:22px}.accent-line{height:5px;width:50px;background:var(--lime);border-radius:5px;margin-bottom:18px}.auth-switch{border:0;background:none;color:var(--lime);font-weight:900;padding:8px}.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.rule-unit{border:1px solid var(--border);border-radius:11px;padding:12px;background:#13271f}.rule-unit .big{font-size:24px;font-weight:950;color:var(--lime)}.scoring{width:100%;border-collapse:collapse}.scoring th,.scoring td{padding:11px;border-bottom:1px solid var(--border);text-align:center}.scoring td:first-child,.scoring th:first-child{text-align:left}.scoring thead{color:var(--lime)}.toast{position:fixed;z-index:60;right:22px;bottom:24px;max-width:430px;padding:13px 19px;border:1px solid #729d56;background:#294e30;color:#e9fce6;border-radius:12px;box-shadow:var(--shadow);font-weight:800}.toast.err{background:#532a32;border-color:#a45260;color:#ffe0df}.footer{border-top:1px solid #243a32;padding:30px 0;color:#8da99a;font-size:12px;margin-top:35px}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.loading-screen p{color:var(--muted)}.loader{width:20px;height:20px;border:2px solid #baf45e33;border-top-color:var(--lime);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.header-wrap{gap:15px}.user-chip{display:none}.dashboard-grid,.squad-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.container{padding:0 14px 45px}.header-wrap{padding:8px 14px;flex-wrap:wrap;min-height:unset;gap:6px}.brand-logo{width:34px;height:34px;font-size:19px}.brand-name{font-size:13px}.brand-name small{font-size:8px}.nav{order:3;flex-basis:100%;padding-top:2px}.nav button{padding:9px 11px;font-size:12px}.header-wrap>.btn{margin-left:auto}.hero{padding:28px 24px;min-height:240px}.hero:after{right:-50px}.stat-row{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:25px}.pad,.pad-lg{padding:17px}.grid-2,.grid-3,.form-grid,.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:250px;padding:30px}.auth-form{padding:30px}.filters{grid-template-columns:1fr 1fr}.filters>*:first-child{grid-column:1/-1}.rule-grid{grid-template-columns:repeat(2,1fr)}.player-table th,.player-table td{padding:9px 5px;font-size:12px}.pitch{min-height:520px}.pitch-rows{height:480px}.shirt{height:32px}.pitch-player{min-width:58px}.pitch-player .pname{font-size:9px}.pitch-player .clubline{font-size:9px}.pitch-row{gap:5px}.bench{gap:5px}.fixture-row{font-size:12px}.form-row{flex-direction:column;align-items:stretch}.form-row>*{width:100%}}

/* v1.7: GW point tables, safe admin deletion review, mini-league navigation */
.week-points { max-height: min(60vh, 620px); overflow: auto; margin-top: 16px; }
.week-points .player-table th { position: sticky; top: 0; z-index: 1; background: var(--surface, #14221a); }
.link-button { padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 4px; font: inherit; font-weight: 700; text-align:left; }
.link-button:hover { opacity: .75; }
[data-delete-id] { width: 18px; height: 18px; accent-color: #b2ec64; cursor: pointer; }
.week-points .player-table td { vertical-align: middle; }
@media (max-width: 650px) { .week-points { max-height: 58vh; } .week-points .player-table { min-width: 530px; } }

/* v1.8: points shown directly on the starting XI jersey/pitch */
.pitch-player .pitch-pts{position:absolute;top:30px;left:50%;transform:translateX(-50%);z-index:4;min-width:40px;border:1px solid #dbf39c;background:#c5f67c;color:#173422;white-space:nowrap;line-height:1.2;border-radius:7px;padding:3px 5px;font-size:11px;font-weight:1000;box-shadow:0 3px 8px #0008;}
.pitch-player .pitch-pts.unavailable{background:#e4e4e4;color:#606060;border-color:#bababa;}
.history-pitch{min-height:440px;margin:16px 0 20px;}
.history-pitch .pitch-rows{height:420px;}
.history-pitch .pitch-player.historical{cursor:default;}
.history-pitch .pitch-player.off-bench{opacity:.75;}
@media(max-width:760px){.history-pitch{min-height:390px}.history-pitch .pitch-rows{height:360px}.pitch-player .pitch-pts{top:26px;font-size:9px;min-width:32px;padding:2px 4px}}

/* v1.9: points appear on their OWN row, never over the shirt or name. */
.history-pitch .history-points-row{position:static;display:block;background:#c5f67c;color:#173422;font-size:12px;font-weight:1000;padding:5px 3px;min-height:27px;border-top:1px solid #b6d28f;white-space:nowrap;line-height:1.5}
.history-pitch .history-points-row.unavailable{background:#e4e4e4;color:#606060}
.history-pitch .pitch-player .pname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 3px;min-height:28px}
.history-pitch .pitch-player{overflow:hidden}
@media(max-width:760px){.history-pitch .history-points-row{font-size:10px;min-height:22px;padding:3px 2px}.history-pitch .pitch-player .pname{font-size:9px;min-height:26px}}

/* v1.11 — J1 monochrome / vermilion identity. No third accent colour.
   Source league and club marks are not reproduced or falsely presented as official. */
:root {
  color-scheme: dark;
  --bg: #090a0c;
  --panel: #18191d;
  --panel2: #222329;
  --border: #35363e;
  --muted: #a9aab3;
  --text: #f7f7f9;
  --lime: #f32747;
  --teal: #f32747;
  --rose: #ff6a7b;
  --gold: #fafafa;
  --soft: #fff;
  --shadow: 0 18px 48px #00000055;
  --radius: 17px;
}
body {background:var(--bg); color:var(--text);}
::selection{background:#fa304e;color:#fff}
a{color:#ff677d}
a:hover{color:#ff9aa9}
:focus-visible{outline:3px solid #ff4866;outline-offset:3px}
.app-header{background:#0c0d10f5;border-bottom:1px solid #34343a;box-shadow:0 3px 0 #da1737;}
.brand-logo,.ballmark{border-radius:11px;background:#e71535;color:#fff;box-shadow:0 0 0 2px #fff2,0 8px 25px #e715353b;}
.brand-name{color:#fff;letter-spacing:1px}
.brand-name small{color:#ff5b75}
.nav button{color:#bfc0c7}
.nav button:hover{color:#fff;background:#ffffff12}
.nav button.active{color:#fff;background:#e7153526;box-shadow:inset 0 -3px #ff3151}
.user-chip{background:#202125;border-color:#44454b}
.avatar{background:#ee2445;color:#fff}
.btn{background:#27282e;border-color:#474850;color:#fff;box-shadow:none}
.btn:hover:not(:disabled){background:#35363d;border-color:#f15570}
.btn-primary{background:#e81436;color:#fff;border-color:#e81436;box-shadow:0 5px 16px #d5133038}
.btn-primary:hover:not(:disabled){background:#ff3455;border-color:#ff3455;color:#fff}
.btn-ghost{background:transparent;border-color:transparent;color:#fff}
.btn-danger{color:#fff;border-color:#ef3754;background:#6d1e2e}
.card{background:linear-gradient(150deg,#1e1f23,#15161a);border:1px solid #37383e;box-shadow:0 5px 20px #0003}
.eyebrow,.accent{color:#ff4c67}
.hero{border:1px solid #923044;border-top:3px solid #ed2141;background:radial-gradient(ellipse at 90% 25%,#a81d334d 0%,transparent 42%),linear-gradient(122deg,#24252a,#101114 70%);}
.hero::after{color:#ffffff0b}
.hero::before{content:"";position:absolute;right:7%;top:-70px;width:90px;height:400px;transform:rotate(28deg);background:linear-gradient(90deg,transparent,#e51d3c37,transparent);pointer-events:none}
.hero p{color:#d0d0d6}
.hero h1 strong{color:#ff4d69}
.stat-box{background:#1c1d22;border-color:#35363d;border-top:2px solid #c7223d}
.stat-value,.points-big{color:#fff}
.section-title h2{letter-spacing:-.7px}
.section-title h2::before{content:"";display:inline-block;vertical-align:-2px;width:4px;height:20px;background:#ee2445;border-radius:4px;margin-right:10px}
.pill{background:#3a242b;border-color:#853448;color:#ffc5cf}
.pill.warn{background:#2c2b30;border-color:#6d6972;color:#e3e3e9}
.pill.red{background:#5c1c2d;border-color:#dc4561;color:#fff}
.pill.blue{background:#2e2e34;border-color:#6e6e78;color:#fff}
.panel-head{border-bottom-color:#3d3d43}
.empty{background:#1e1f23;border:1px dashed #686870;color:#c0c0c6}
.empty strong{color:#fff}
.input,.select,.textarea{background:#101115;border-color:#51515c;color:#fff}
.input:focus,.select:focus,.textarea:focus{border-color:#ff3454;box-shadow:0 0 0 3px #f3274738}
.input::placeholder{color:#a0a0aa}
label.field{color:#e8e8ed}
.data-alert{background:#3e2830;border-color:#a04a5c;color:#ffe7ec}
.data-alert strong{color:#fff}
.info-alert{background:#25262b;border-color:#555660;color:#fff}
.rank-row{border-bottom-color:#383941}
.rank-num{background:#ec2444;color:#fff}
.fixture-score{background:#303138;color:#fff;border:1px solid #5a5b66}
.player-table th{color:#d5d5da;border-bottom:2px solid #c72842;background:#1e1f24}
.player-table td{border-bottom-color:#373840}
.player-table tr:hover td{background:#ffffff0b}
.player-pos{background:#393941;color:#fff}
.player-pos.GK{background:#f2f2f4;color:#16171b}
.player-pos.DF{background:#42434a;color:#fff}
.player-pos.MF{background:#5e2835;color:#fff}
.player-pos.FW{background:#bd1937;color:#fff}
.pitch{border:1px solid #787880;background:repeating-linear-gradient(to bottom,#28292f,#28292f 13.5%,#222329 13.5%,#222329 27%);box-shadow:inset 0 0 0 1px #ffffff0c}
.pitch::before{border-color:#ffffff42}
.pitch::after{background:#ffffff42}
.pitch-player{border:1px solid #9c9da577;background:#15161bef;box-shadow:0 7px 15px #0008}
.pitch-player:hover{border-color:#ff3150}
.pitch-player.selected{outline-color:#ff3150}
.pitch-player .pname{background:#f4f4f6;color:#111217}
.pitch-player .clubline{color:#e6e6ea}
.pitch-player .c-symbol{background:#fa2a49;color:#fff}
.pitch-player .c-symbol.vice{background:#fff;color:#111}
.bench{border-top-color:#56565e}
.bench-player{background:#24252b;border-color:#52535b}
.bench-player.selected{outline-color:#ff3150}
.auth-page{background:radial-gradient(ellipse at 10% 12%,#bc1b3547,transparent 37%),radial-gradient(ellipse at 96% 95%,#4d152437,transparent 48%),#090a0d}
.auth-shell{background:#191a1e;border-color:#4e4e55}
.auth-visual{background:linear-gradient(145deg,#a9152e,#3e1924 52%,#14151a);}
.auth-visual::after{color:#ffffff13}
.auth-visual p{color:#f4e2e5}
.accent-line{background:#fc3454}
.auth-switch{color:#ff637e}
.rule-unit{background:#202126;border-color:#484851}
.rule-unit .big{color:#fff}
.scoring thead{color:#fff;background:#4b1a28}
.toast{background:#28292e;border-color:#eb3151;color:#fff;border-left:4px solid #ff3456}
.toast.err{background:#681c30;border-color:#ff6380;color:#fff}
.footer{border-top-color:#44444c;color:#bcbcc4}
.loader{border-color:#b83a4b3d;border-top-color:#ff2c4c}
.week-points .player-table th{background:#202126}
.link-button:hover{color:#ff7286}
[data-delete-id]{accent-color:#ed2646}
/* A separate, full-width points row keeps both names and scores readable. */
.pitch-player .pitch-pts{background:#ec2242;border-color:#ff9cad;color:#fff}
.pitch-player .pitch-pts.unavailable{background:#e7e7eb;border-color:#bcbcc2;color:#4e4e55}
.history-pitch .history-points-row{background:#e82445;color:#fff;border-top:1px solid #fd7990}
.history-pitch .history-points-row.unavailable{background:#efeff1;color:#65656e;border-top-color:#c8c8ce}
@media (max-width:760px){.hero::before{right:0;width:45px}.history-pitch .history-points-row{font-size:10px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
