:root{color:#f4f6fa;font-synthesis:none;text-rendering:optimizelegibility;background:#080b12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:#080b12;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 20% -10%,#1f99591c,#0000 30%),radial-gradient(circle at 85% 5%,#82244224,#0000 30%),#080b12;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}#root{min-height:100vh}.app-shell{width:min(1440px,100% - 40px);margin:0 auto;padding:42px 0 80px}.hero{justify-content:space-between;align-items:center;gap:24px;padding:28px 0 40px;display:flex}.brand{align-items:center;gap:18px;display:flex}.brand-ball{background:linear-gradient(145deg,#36d67b38,#36d67b0d);border:1px solid #59ffa040;border-radius:20px;place-items:center;width:62px;height:62px;font-size:30px;display:grid;box-shadow:0 18px 40px #128c5029}.eyebrow{color:#7f8ca8;letter-spacing:.16em;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{color:#fff;letter-spacing:-.04em;margin-bottom:6px;font-size:clamp(30px,4vw,48px);line-height:1}.subtitle{color:#8d99b2;margin:0}.season-pill,.pool-badge,.team-count{color:#bcc5d8;background:#ffffff0b;border:1px solid #ffffff14;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:700}.overview-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.metric,.panel,.team-card,.next-step{background:#101520d6;border:1px solid #ffffff13;box-shadow:0 18px 45px #00000038}.metric{border-radius:22px;flex-direction:column;padding:22px;display:flex}.metric-label{color:#7b879e;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:800}.metric strong{color:#fff;margin:9px 0 2px;font-size:34px}.metric span:last-child{color:#77839a;font-size:13px}.teams-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.team-card{border-radius:26px;min-height:265px;padding:28px;position:relative;overflow:hidden}.team-card>:not(.team-glow){z-index:2;position:relative}.team-glow{opacity:.26;filter:blur(55px);pointer-events:none;position:absolute;inset:-100px}.team-green .team-glow{background:radial-gradient(circle,#21cc73 0%,#0000 57%)}.team-bordeaux .team-glow{background:radial-gradient(circle,#8d2949 0%,#0000 57%)}.team-green{border-color:#3ce2842e}.team-bordeaux{border-color:#b53e6440}.team-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.team-kicker{color:#8490a6;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px;font-size:12px;font-weight:800}.team-header h2{color:#fff;margin-bottom:0;font-size:28px}.captain-box{background:#00000030;border-radius:16px;flex-direction:column;gap:4px;margin-top:30px;padding:16px 18px;display:flex}.captain-box span{color:#737f96;font-size:12px;font-weight:700}.captain-box strong{color:#dce1eb}.team-empty{color:#6f7b91;margin-top:15px;font-size:14px}.panel{border-radius:26px;padding:28px}.panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.panel-heading h2{color:#fff;margin:0;font-size:27px}.player-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.player-card{background:#ffffff06;border:1px solid #ffffff0e;border-radius:17px;align-items:center;gap:13px;min-height:72px;padding:12px;display:flex;position:relative}.player-card:hover{background:#ffffff0a;border-color:#ffffff1f}.player-number{color:#59647a;width:26px;font-size:11px;font-weight:800}.avatar{color:#e9edf5;background:linear-gradient(145deg,#1d2738,#161d2a);border-radius:14px;flex:none;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.player-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.player-info strong{color:#f4f6fa}.player-info span{color:#667289;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.status-dot{background:#39d779;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 14px #39d779b3}.next-step{border-radius:26px;justify-content:space-between;align-items:center;gap:30px;margin-top:18px;padding:28px;display:flex}.next-step h2{color:#fff;margin-bottom:8px}.next-step p:last-child{color:#77839a;max-width:700px;margin-bottom:0}.next-step button{color:#69758b;cursor:not-allowed;background:#243047;border:0;border-radius:14px;flex:none;padding:13px 18px;font-weight:800}@media (width<=900px){.overview-grid,.player-grid{grid-template-columns:repeat(2,1fr)}.teams-grid{grid-template-columns:1fr}}@media (width<=620px){.app-shell{width:min(100% - 24px,1440px);padding-top:18px}.hero,.next-step{flex-direction:column;align-items:flex-start}.season-pill{display:none}.overview-grid,.player-grid{grid-template-columns:1fr}.panel,.team-card{padding:20px}}.captain-editor{z-index:2;gap:14px;margin-top:28px;display:grid;position:relative}.captain-editor label{color:#8a96ac;gap:7px;font-size:12px;font-weight:800;display:grid}.captain-editor select,.captain-editor input{color:#f4f6fa;background:#04080f94;border:1px solid #ffffff17;border-radius:13px;outline:none;width:100%;padding:13px 14px}.captain-editor select:focus,.captain-editor input:focus{border-color:#ffffff38}.player-green{background:#1e7d4a14;border-color:#39d77947}.player-bordeaux{background:#7e244117;border-color:#b13b6052}.next-step-ready{border-color:#39d77938}.draft-button:not(:disabled){cursor:pointer;color:#fff;background:linear-gradient(135deg,#20b864,#178c4e);box-shadow:0 12px 34px #1fb86433}.draft-button:not(:disabled):hover{transform:translateY(-1px)}.draft-status{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:18px;display:grid}.draft-status>div{background:#101520d6;border:1px solid #ffffff14;border-radius:18px;justify-content:space-between;gap:20px;padding:18px 22px;display:flex}.draft-status span{color:#7f8ca8;font-size:13px}.draft-status strong{color:#fff}.draft-pool-count{min-width:180px}.draft-layout{grid-template-columns:minmax(260px,.85fr) minmax(360px,1.3fr) minmax(260px,.85fr);align-items:start;gap:18px;display:grid}.draft-team,.draft-pool{background:#101520d6;border:1px solid #ffffff14;border-radius:26px;min-height:500px;padding:24px}.draft-team-green{border-color:#39d77940;box-shadow:inset 0 0 80px #23aa5d0d}.draft-team-bordeaux{border-color:#b13b6047;box-shadow:inset 0 0 80px #8224420f}.draft-team-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.draft-team-header h2,.draft-pool-heading h2{color:#fff;margin:0}.draft-team-header>strong{color:#fff;background:#ffffff0f;border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.draft-team-cards,.draft-player-list{gap:10px;display:grid}.team-player-card,.draft-player-card{background:#ffffff06;border:1px solid #ffffff0f;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.team-player-avatar,.draft-avatar{color:#fff;background:linear-gradient(145deg,#1d2738,#141b27);border-radius:14px;flex:0 0 46px;place-items:center;width:46px;height:46px;font-size:17px;font-weight:900;display:grid}.team-player-card>div:nth-child(2),.draft-player-name{flex-direction:column;flex:1;gap:3px;display:flex}.team-player-card strong,.draft-player-card strong{color:#fff}.team-player-card span,.draft-player-card span{color:#707c92;font-size:12px}.team-player-card button{color:#7d899e;cursor:pointer;background:#ffffff0f;border:0;border-radius:10px;width:30px;height:30px}.draft-pool-heading{margin-bottom:20px}.draft-actions{gap:7px;display:flex}.draft-actions button{color:#fff;cursor:pointer;border:0;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:800}.pick-green{background:#20b864c7}.pick-bordeaux{background:#8d2949e6}.draft-actions button:disabled{opacity:.25;cursor:not-allowed}.draft-empty{text-align:center;color:#727e94;border:1px dashed #ffffff14;border-radius:15px;padding:30px 15px}@media (width<=1050px){.draft-layout,.draft-status{grid-template-columns:1fr}.draft-pool{order:-1}}.draft-header-left,.draft-header-actions{align-items:center;gap:14px;display:flex}.back-button,.reset-draft-button{color:#aab4c7;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff17;border-radius:12px;padding:10px 14px;font-weight:800}.back-button:hover,.reset-draft-button:hover{color:#fff;background:#ffffff12;border-color:#ffffff2e}.reset-draft-button{color:#9a8590}@media (width<=700px){.draft-header-left,.draft-header-actions{flex-direction:column;align-items:flex-start}}.loading-screen{text-align:center;align-content:center;place-items:center;gap:14px;min-height:70vh;display:grid}.loading-screen h1{margin-bottom:0}.loading-screen p{color:#7f8ca8}.app-error{color:#faa;background:#82181821;border:1px solid #ff58583d;border-radius:14px;margin-bottom:18px;padding:14px 18px;font-size:13px;font-weight:700}.save-confirmation{color:#5fbe88;text-align:right;margin:-18px 0 20px;font-size:12px;font-weight:800}button:disabled{cursor:not-allowed}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit}.matchdays-app{color:#f3f5f8;background:radial-gradient(circle at 15% 0,#54ff9217,#0000 32%),radial-gradient(circle at 90% 10%,#7816422e,#0000 30%),#080b12;min-height:100vh;padding:36px clamp(18px,4vw,64px) 80px}.matchdays-header{justify-content:space-between;align-items:flex-end;gap:24px;max-width:1500px;margin:0 auto 32px;display:flex}.back-link{color:#8993a8;cursor:pointer;background:0 0;border:0;margin-bottom:24px;padding:0;font-weight:700}.back-link:hover{color:#fff}.matchdays-brand{align-items:center;gap:18px;display:flex}.tennis-mark{background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;place-items:center;width:58px;height:58px;font-size:28px;display:grid}.matchdays-eyebrow{color:#7d879b;letter-spacing:.16em;margin:0 0 7px;font-size:11px;font-weight:900}.matchdays-brand h1,.selector-heading h2,.format-block h2,.availability-heading h2,.availability-team h2{margin:0}.matchdays-brand h1{letter-spacing:-.04em;font-size:clamp(30px,4vw,46px)}.matchdays-subtitle{color:#8993a8;margin:7px 0 0}.admin-badge{color:#65db91;letter-spacing:.08em;background:#4de3840f;border:1px solid #4de3842e;border-radius:999px;padding:11px 15px;font-size:11px;font-weight:900}.matchdays-error{color:#faa;background:#a01e1e1f;border:1px solid #ff535333;border-radius:14px;max-width:1500px;margin:0 auto 24px;padding:14px 18px;font-weight:700}.matchday-selector,.matchday-hero,.team-summary-grid,.availability-heading,.availability-teams{max-width:1500px;margin-left:auto;margin-right:auto}.matchday-selector{background:#ffffff06;border:1px solid #ffffff12;border-radius:22px;padding:22px}.selector-heading{justify-content:space-between;align-items:flex-end;margin-bottom:18px;display:flex}.selector-heading span{color:#9ba5b7;font-size:13px;font-weight:700}.matchday-tabs{grid-template-columns:repeat(15,minmax(48px,1fr));gap:8px;display:grid}.matchday-tabs button{color:#7f899d;cursor:pointer;background:#ffffff06;border:1px solid #ffffff12;border-radius:13px;min-height:62px}.matchday-tabs button small,.matchday-tabs button strong{display:block}.matchday-tabs button small{margin-bottom:3px;font-size:9px;font-weight:900}.matchday-tabs button strong{color:#dce1ea;font-size:18px}.matchday-tabs button:hover,.matchday-tabs button.active{background:#4de3841a;border-color:#64e19173}.matchday-tabs button.active strong{color:#71e39a}.matchday-hero{background:linear-gradient(110deg,#ffffff0a,#ffffff04);border:1px solid #ffffff12;border-radius:24px;grid-template-columns:180px 1fr auto;align-items:stretch;margin-top:20px;display:grid;overflow:hidden}.matchday-number-block{border-right:1px solid #ffffff0f;flex-direction:column;justify-content:center;padding:26px;display:flex}.matchday-number-block span{color:#7d879b;letter-spacing:.18em;font-size:10px;font-weight:900}.matchday-number-block strong{margin-top:5px;font-size:62px;line-height:.95}.format-block{padding:28px 32px}.format-block h2{font-size:clamp(24px,3vw,38px)}.format-block>p:last-child{color:#8993a8;margin:8px 0 0}.format-state{align-items:center;padding:24px 28px;display:flex}.format-state span{letter-spacing:.08em;border-radius:999px;padding:10px 13px;font-size:10px;font-weight:900}.format-state .ready{color:#63e18f;background:#50dc821a}.format-state .pending{color:#e8b867;background:#e8b86717}.team-summary-grid{grid-template-columns:1fr 100px 1fr;align-items:center;gap:16px;margin-top:20px;display:grid}.team-summary{background:#ffffff06;border:1px solid #ffffff12;border-radius:22px;padding:24px}.summary-green{box-shadow:inset 3px 0 #3dd672cc}.summary-bordeaux{box-shadow:inset -3px 0 #83224ae6}.summary-top{justify-content:space-between;display:flex}.summary-top p{color:#7d879b;margin:0 0 4px;font-size:11px;font-weight:800}.summary-top h3{margin:0;font-size:22px}.summary-top>strong{font-size:48px;line-height:1}.summary-green .summary-top>strong{color:#66e194}.summary-bordeaux .summary-top>strong{color:#bd6687}.summary-label{color:#8b95a7;margin-top:4px;font-size:12px}.summary-stats{border-top:1px solid #ffffff0f;grid-template-columns:repeat(3,1fr);margin-top:20px;padding-top:18px;display:grid}.summary-stats div{flex-direction:column;gap:3px;display:flex}.summary-stats strong{font-size:20px}.summary-stats span{color:#7f899c;font-size:11px}.versus{text-align:center}.versus span{color:#5f687a;font-size:24px;font-weight:950;display:block}.versus small{color:#505a6d;margin-top:5px;font-size:9px;line-height:1.4;display:block}.availability-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-top:42px;display:flex}.availability-heading h2{font-size:30px}.availability-heading>div>p:last-child{color:#838da0;margin:8px 0 0}.privacy-note{text-align:right;flex-direction:column;gap:3px;max-width:300px;display:flex}.privacy-note strong{color:#aab3c2;font-size:12px}.privacy-note span{color:#626d80;font-size:11px}.availability-teams{grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;display:grid}.availability-team{background:#ffffff06;border:1px solid #ffffff12;border-radius:24px;overflow:hidden}.availability-team>header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:flex-end;padding:22px 24px;display:flex}.availability-team>header span{color:#7f899b;font-size:12px;font-weight:700}.availability-green>header{background:linear-gradient(90deg,#3bd26f14,#0000)}.availability-bordeaux>header{background:linear-gradient(90deg,#7e1c451f,#0000)}.availability-list{padding:12px}.availability-player{background:#ffffff06;border:1px solid #ffffff0e;border-radius:17px;margin-bottom:8px;padding:15px;transition:border-color .18s,background .18s}.availability-player.is-available{background:#3cbe6c0b;border-color:#4add8038}.availability-player.is-unavailable{background:#b4323209;border-color:#e04c4c2e}.player-main{align-items:center;display:flex}.matchday-avatar{color:#dce3ed;background:#fff1;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.player-copy{flex-direction:column;flex:1;margin-left:12px;display:flex}.player-copy strong{font-size:14px}.player-copy span{color:#737e91;margin-top:2px;font-size:11px}.availability-indicator{background:#596274;border-radius:50%;width:8px;height:8px}.is-available .availability-indicator{background:#4cdc82;box-shadow:0 0 14px #4cdc8273}.is-unavailable .availability-indicator{background:#d75c5c}.availability-actions{grid-template-columns:.8fr 1fr 1.25fr;gap:7px;margin-top:13px;display:grid}.availability-actions button,.absence-reason button{color:#8993a5;cursor:pointer;background:#ffffff06;border:1px solid #ffffff12;border-radius:10px;min-height:36px;font-size:11px;font-weight:800}.availability-actions button:hover{color:#dfe4ec;border-color:#ffffff2b}.availability-actions button.selected{color:#dce2eb;background:#ffffff14}.availability-actions .available-button.selected{color:#60df8d;background:#40dd791a;border-color:#40dd7959}.availability-actions .unavailable-button.selected{color:#eb8585;background:#e0505014;border-color:#e050504d}.availability-actions button:disabled,.absence-reason button:disabled{opacity:.45;cursor:not-allowed}.absence-reason{background:#00000029;border-radius:12px;align-items:center;gap:7px;margin-top:9px;padding:10px;display:flex}.absence-reason>span{color:#687386;text-transform:uppercase;letter-spacing:.08em;margin-right:auto;font-size:10px;font-weight:900}.absence-reason button{min-height:31px;padding:0 11px}.absence-reason button.selected{color:#e9bf7e;background:#ecb86114;border-color:#ecb86140}.longterm-badge{color:#dd9e66;background:#dc965014;border-radius:9px;margin-top:10px;padding:8px 10px;font-size:11px;font-weight:800}.matchdays-loading{text-align:center;align-content:center;place-items:center;min-height:80vh;display:grid}.matchdays-loading h1{margin-bottom:4px}.matchdays-loading p{color:#778296}@media (width<=1050px){.matchday-tabs{grid-template-columns:repeat(8,minmax(48px,1fr))}.availability-teams{grid-template-columns:1fr}}@media (width<=760px){.matchdays-app{padding:22px 14px 60px}.matchdays-header,.availability-heading{flex-direction:column;align-items:flex-start}.admin-badge{align-self:flex-start}.matchday-tabs{grid-template-columns:repeat(5,minmax(48px,1fr))}.matchday-hero{grid-template-columns:100px 1fr}.matchday-number-block{padding:18px}.matchday-number-block strong{font-size:42px}.format-block{padding:20px}.format-state{grid-column:1/-1;padding:0 18px 18px}.team-summary-grid{grid-template-columns:1fr}.versus{padding:2px 0}.privacy-note{text-align:left}}.matchdays-app{padding-bottom:150px}.format-state .unsaved{color:#f4bd67;background:#f4bd671c}.availability-player.has-pending-change{border-color:#f4bd676b;box-shadow:inset 0 0 0 1px #f4bd670f}.pending-player-chip{color:#e9b862;letter-spacing:.05em;text-transform:uppercase;background:#f4bd6714;border:1px solid #f4bd6733;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.save-dock{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(110deg,#10151dfa,#0b0f16fa);border:1px solid #ffffff1a;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;max-width:1450px;margin:0 auto;padding:15px 16px 15px 18px;display:flex;position:fixed;bottom:20px;left:24px;right:24px;box-shadow:0 20px 60px #00000073}.save-dock-dirty{border-color:#f4bd674d;box-shadow:0 20px 60px #00000080,0 0 30px #f4bd670d}.save-dock-clean{border-color:#51dc842e}.save-dock-status{align-items:center;gap:12px;display:flex}.save-status-icon{color:#62df91;background:#51dc8417;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;font-weight:950;display:grid}.save-dock-dirty .save-status-icon{color:#efbc68;background:#efbc681a}.save-dock-status>div:last-child{flex-direction:column;gap:3px;display:flex}.save-dock-status strong{font-size:13px}.save-dock-status span{color:#778296;font-size:10px}.save-dock-actions{gap:8px;display:flex}.discard-button,.save-matchday-button{cursor:pointer;border-radius:12px;min-height:42px;padding:0 18px;font-size:11px;font-weight:900}.discard-button{color:#9ba5b6;background:#ffffff09;border:1px solid #ffffff1a}.save-matchday-button{color:#07110b;background:linear-gradient(135deg,#70e99c,#43ce78);border:1px solid #52e28766;min-width:180px;box-shadow:0 10px 28px #43ce782e}.save-matchday-button:hover:not(:disabled){transform:translateY(-1px)}.discard-button:disabled,.save-matchday-button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}@media (width<=760px){.matchdays-app{padding-bottom:190px}.save-dock{flex-direction:column;align-items:stretch;gap:12px;bottom:12px;left:12px;right:12px}.save-dock-actions{grid-template-columns:.8fr 1.2fr;display:grid}.save-matchday-button{min-width:0}}.lineup-app{color:#f5f7fb;background:radial-gradient(circle at 16% -10%,#40dc761a,#0000 30%),radial-gradient(circle at 90% 0,#6f15301a,#0000 30%),#070b10;min-height:100vh;padding:32px 34px 150px}.lineup-bordeaux{background:radial-gradient(circle at 12% -10%,#72143226,#0000 32%),radial-gradient(circle at 92% 4%,#72143214,#0000 30%),#070b10}.lineup-header,.lineup-title-row,.lineup-status-box,.dev-team-switcher,.dev-team-buttons,.lineup-hero,.lineup-content,.available-panel header,.available-player,.match-card,.match-players,.player-slot,.lineup-save-dock,.lineup-save-state,.lineup-save-actions,.rule-row{display:flex}.lineup-header{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1450px;margin:0 auto 24px}.lineup-back{color:#778294;cursor:pointer;background:0 0;border:0;margin-bottom:20px;padding:0;font-size:11px;font-weight:800}.lineup-title-row{align-items:center;gap:15px}.lineup-ball{background:#ffffff09;border:1px solid #ffffff17;border-radius:17px;place-items:center;width:54px;height:54px;font-size:25px;display:grid}.lineup-eyebrow{color:#728096;letter-spacing:.17em;margin:0 0 5px;font-size:9px;font-weight:950}.lineup-title-row h1{letter-spacing:-.045em;margin:0;font-size:clamp(28px,3vw,45px)}.lineup-title-row p:last-child{color:#8390a3;margin:5px 0 0;font-size:12px}.lineup-status-box{background:#50de840f;border:1px solid #50de8433;border-radius:14px;flex-direction:column;gap:3px;min-width:190px;padding:13px 15px}.lineup-bordeaux .lineup-status-box{background:#841f3e14;border-color:#a0325347}.lineup-status-box strong{color:#63e292;letter-spacing:.09em;font-size:9px}.lineup-bordeaux .lineup-status-box strong{color:#d06988}.lineup-status-box span{color:#7d8899;font-size:9px}.dev-team-switcher{background:#ffffff06;border:1px dashed #ffffff1f;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;max-width:1450px;margin:0 auto 18px;padding:11px 13px}.dev-team-switcher>div:first-child{flex-direction:column;gap:2px;display:flex}.dev-team-switcher strong{color:#b1bac8;letter-spacing:.07em;font-size:9px}.dev-team-switcher span{color:#697486;font-size:9px}.dev-team-buttons{gap:6px}.dev-team-buttons button{color:#778294;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:9px;min-height:32px;padding:0 12px;font-size:9px;font-weight:900}.dev-team-buttons .active.green{color:#62df91;background:#49d87e14;border-color:#49d87e59}.dev-team-buttons .active.bordeaux{color:#d06988;background:#841f3e1c;border-color:#ab395b61}.lineup-error{color:#ed9999;background:#b8323212;border:1px solid #e1595940;border-radius:12px;max-width:1450px;margin:0 auto 18px;padding:12px 14px;font-size:11px}.lineup-hero{background:linear-gradient(120deg,#ffffff0b,#ffffff05);border:1px solid #ffffff13;border-radius:20px;grid-template-columns:1.1fr 1fr .9fr;gap:18px;max-width:1450px;margin:0 auto 26px;padding:20px;display:grid}.lineup-format h2{letter-spacing:-.035em;margin:0;font-size:27px}.lineup-format span,.lineup-progress small,.privacy-card span{color:#7f8a9d;font-size:10px}.lineup-progress{border-left:1px solid #ffffff12;border-right:1px solid #ffffff12;padding:0 20px}.lineup-progress>div:first-child{justify-content:space-between;align-items:flex-end;display:flex}.lineup-progress span{color:#6e7b8e;letter-spacing:.11em;font-size:8px;font-weight:950}.lineup-progress strong{font-size:23px}.progress-track{background:#ffffff12;border-radius:99px;height:5px;margin:9px 0 7px;overflow:hidden}.progress-value{border-radius:inherit;background:#59dd89;height:100%;transition:width .2s}.lineup-bordeaux .progress-value{background:#bd4d70}.privacy-card{flex-direction:column;justify-content:center;gap:4px;display:flex}.privacy-card strong{font-size:11px}.lineup-content{align-items:flex-start;gap:22px;max-width:1450px;margin:0 auto}.lineup-slots{flex:1;min-width:0}.match-section{background:#ffffff06;border:1px solid #ffffff13;border-radius:20px;margin-bottom:24px;padding:20px}.match-section>header h2{margin:0;font-size:23px}.match-section>header span{color:#778395;font-size:10px}.match-card-list{gap:10px;margin-top:17px;display:grid}.match-card{background:#04080d7a;border:1px solid #ffffff12;border-radius:15px;align-items:stretch;min-height:96px;overflow:hidden}.match-number{text-align:center;background:#ffffff06;border-right:1px solid #ffffff12;place-content:center;width:72px;display:grid}.match-number span{color:#697588;font-size:8px;font-weight:950}.match-number strong{color:#62df91;font-size:28px}.lineup-bordeaux .match-number strong{color:#ce6484}.match-players{flex:1;align-items:center;gap:12px;min-width:0;padding:15px}.player-slot{flex:1;align-items:center;gap:12px;min-width:0}.player-slot label{flex:1;min-width:0}.player-slot small{color:#697588;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px;font-size:8px;font-weight:900;display:block}.player-slot select{color:#e9edf4;background:#10161e;border:1px solid #ffffff1a;border-radius:11px;outline:none;width:100%;height:42px;padding:0 34px 0 12px;font-size:11px;font-weight:800}.player-slot select:focus{border-color:#53dc8566}.lineup-bordeaux .player-slot select:focus{border-color:#b741657a}.partner-plus{color:#596577;font-size:17px;font-weight:900}.lineup-sidebar{flex:0 0 330px;width:330px}.available-panel,.rule-panel{background:#ffffff06;border:1px solid #ffffff13;border-radius:18px;padding:17px}.available-panel{margin-bottom:14px}.available-panel header{justify-content:space-between;align-items:flex-end;margin-bottom:12px}.available-panel h3,.rule-panel h3{margin:0;font-size:15px}.available-panel header>strong{color:#62df91;font-size:24px}.lineup-bordeaux .available-panel header>strong{color:#ce6484}.available-list{gap:6px;display:grid}.available-player{background:#ffffff05;border:1px solid #ffffff0e;border-radius:11px;align-items:center;gap:9px;padding:9px}.available-player.selected{background:#4edb830b;border-color:#4edb832e}.lineup-bordeaux .available-player.selected{background:#811f3d12;border-color:#b7416538}.lineup-avatar{color:#c9d1de;background:#ffffff0f;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;font-size:11px;font-weight:950;display:grid}.available-player>div:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.available-player strong{font-size:10px}.available-player span{color:#697588;font-size:8px}.available-player small{color:#677386;text-transform:uppercase;font-size:7px;font-weight:900}.available-player.selected small{color:#62df91}.lineup-bordeaux .available-player.selected small{color:#ce6484}.rule-panel{gap:7px;display:grid}.rule-panel h3{margin-bottom:7px}.rule-row{background:#ffffff06;border-radius:9px;align-items:center;gap:8px;min-height:33px;padding:0 9px}.rule-row span{width:17px;font-weight:950}.rule-row strong{color:#a5afbd;font-size:9px}.rule-row.ok span{color:#59dc88}.rule-row.pending span{color:#697588}.rule-row.error span{color:#e07676}.rule-note{color:#667286;margin:7px 0 0;font-size:8px;line-height:1.55}.lineup-save-dock{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b1017f7;border:1px solid #50dc842e;border-radius:19px;justify-content:space-between;align-items:center;gap:20px;max-width:1450px;margin:0 auto;padding:14px 15px 14px 17px;position:fixed;bottom:20px;left:24px;right:24px;box-shadow:0 20px 60px #00000080}.lineup-save-dock.dirty{border-color:#efbc684d}.lineup-save-dock.submitted{border-color:#50dc8447}.lineup-save-state{align-items:center;gap:11px}.save-icon{color:#61df91;background:#50dc8414;border-radius:11px;place-items:center;width:37px;height:37px;font-weight:950;display:grid}.dirty .save-icon{color:#eabb69;background:#ebbb6914}.lineup-save-state>div:last-child{flex-direction:column;gap:2px;display:flex}.lineup-save-state strong{font-size:11px}.lineup-save-state span{color:#717d8f;font-size:9px}.lineup-save-actions{gap:7px}.lineup-save-actions button{cursor:pointer;border-radius:11px;min-height:40px;padding:0 15px;font-size:9px;font-weight:950}.lineup-discard,.lineup-save{color:#9aa5b5;background:#ffffff09;border:1px solid #ffffff17}.lineup-submit{color:#061009;background:linear-gradient(135deg,#72e99d,#43ce78);border:1px solid #4eda8266;min-width:160px}.lineup-bordeaux .lineup-submit{color:#fff;background:linear-gradient(135deg,#b84769,#7b1f3b);border-color:#be476b80}.lineup-save-actions button:disabled{opacity:.3;cursor:not-allowed}.lineup-loading{text-align:center;place-content:center;min-height:70vh;display:grid}.lineup-loading span{font-size:35px}.lineup-loading h1{font-size:19px}@media (width<=980px){.lineup-content{flex-direction:column}.lineup-sidebar{flex-basis:auto;width:100%}.lineup-hero{grid-template-columns:1fr}.lineup-progress{border:1px solid #ffffff12;border-left:0;border-right:0;padding:14px 0}}@media (width<=760px){.lineup-app{padding:20px 14px 210px}.lineup-header,.dev-team-switcher,.match-players,.lineup-save-dock{flex-direction:column;align-items:stretch}.lineup-status-box{min-width:0}.dev-team-buttons{grid-template-columns:1fr 1fr;display:grid}.match-card{flex-direction:column}.match-number{border-bottom:1px solid #ffffff12;border-right:0;justify-content:center;align-items:center;gap:5px;width:auto;min-height:45px;display:flex}.match-number strong{font-size:18px}.match-players{gap:8px}.partner-plus{align-self:center}.lineup-save-dock{bottom:10px;left:10px;right:10px}.lineup-save-actions{grid-template-columns:1fr 1fr;display:grid}.lineup-submit{grid-column:1/-1}}.lineup-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020508d1;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.lineup-modal{background:radial-gradient(circle at 50% 0,#4ada7e1a,#0000 42%),#0c1219;border:1px solid #57e08940;border-radius:24px;width:min(100%,510px);padding:28px;animation:.18s ease-out lineupModalEnter;box-shadow:0 35px 100px #000000b3,0 0 50px #3ecc720d}.lineup-bordeaux .lineup-modal{background:radial-gradient(circle at 50% 0,#9d2b4e24,#0000 42%),#0c1219;border-color:#ba45694d}@keyframes lineupModalEnter{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.lineup-modal-icon{background:#48d37c14;border:1px solid #56de8833;border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:20px;font-size:21px;display:grid}.lineup-bordeaux .lineup-modal-icon{background:#8b25441a;border-color:#bb446840}.lineup-modal h2{letter-spacing:-.035em;margin:0 0 10px;font-size:28px;line-height:1.05}.lineup-modal-lead{color:#8e99aa;margin:0 0 21px;font-size:12px;line-height:1.6}.lineup-modal-info{gap:7px;margin-bottom:18px;display:grid}.lineup-modal-info>div{background:#ffffff06;border:1px solid #fff1;border-radius:11px;align-items:center;gap:10px;min-height:43px;padding:0 12px;display:flex}.lineup-modal-info span{text-align:center;color:#63df91;width:22px;font-weight:950}.lineup-modal-info p{color:#a5afbd;margin:0;font-size:10px}.lineup-modal-summary{background:#ffffff06;border:1px solid #ffffff12;border-radius:13px;justify-content:space-between;align-items:center;min-height:58px;margin-bottom:21px;padding:0 14px;display:flex}.lineup-modal-summary span{color:#7e899b;font-size:10px}.lineup-modal-summary strong{font-size:12px}.lineup-modal-actions{grid-template-columns:.9fr 1.4fr;gap:8px;display:grid}.lineup-modal-actions button{cursor:pointer;border-radius:12px;min-height:45px;font-size:10px;font-weight:950}.lineup-modal-cancel{color:#9aa5b5;background:#ffffff09;border:1px solid #ffffff1a}.lineup-modal-confirm{color:#061009;background:linear-gradient(135deg,#73e99e,#43ce78);border:1px solid #4cdb8166;box-shadow:0 12px 28px #43ce7824}.lineup-bordeaux .lineup-modal-confirm{color:#fff;background:linear-gradient(135deg,#b84769,#7b1f3b);border-color:#bd466b80}.lineup-modal-actions button:disabled{opacity:.45;cursor:wait}.lineup-success-modal{text-align:center}.lineup-success-check{color:#63e292;background:#48da7e1a;border:1px solid #53e08752;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 20px;font-size:27px;font-weight:950;display:grid;box-shadow:0 0 35px #48da7e1a}.lineup-success-modal .lineup-modal-lead{max-width:390px;margin:0 auto 21px}.lineup-success-state{text-align:left;background:#4ad87f0d;border:1px solid #52dc8526;border-radius:14px;align-items:center;gap:12px;margin-bottom:20px;padding:15px;display:flex}.success-pulse{background:#ffffff0a;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.lineup-success-state div{flex-direction:column;gap:3px;display:flex}.lineup-success-state strong{font-size:11px}.lineup-success-state p{color:#788496;margin:0;font-size:9px;line-height:1.5}.lineup-success-close{color:#07110b;cursor:pointer;background:linear-gradient(135deg,#70e99c,#43ce78);border:1px solid #51dc854d;border-radius:12px;width:100%;min-height:44px;font-size:10px;font-weight:950}.lineup-bordeaux .lineup-success-close{color:#fff;background:linear-gradient(135deg,#b84769,#7b1f3b);border-color:#b9426680}@media (width<=600px){.lineup-modal{padding:22px}.lineup-modal h2{font-size:24px}.lineup-modal-actions{grid-template-columns:1fr}}.lineup-matchpoint-modal{width:min(100%,560px);padding:0;overflow:hidden}.tennis-serve-stage{background:radial-gradient(circle at 50% 120%,#49da7e24,#0000 50%),linear-gradient(#ffffff06,#ffffff01);height:245px;position:relative;overflow:hidden}.lineup-bordeaux .tennis-serve-stage{background:radial-gradient(circle at 50% 120%,#992a4b33,#0000 52%),linear-gradient(#ffffff06,#ffffff01)}.court-line{background:#ffffff12;height:1px;position:absolute;left:-10%;right:-10%;transform:rotate(-6deg)}.court-line-one{bottom:45px}.court-line-two{bottom:82px}.serve-head{background:#d8dee8;border-radius:50%;width:24px;height:24px;position:absolute;top:18px;left:38px;box-shadow:0 0 20px #ffffff14}.serve-body{transform-origin:top;background:linear-gradient(#b9c1ce,#747f90);border-radius:10px 10px 5px 5px;width:19px;height:57px;position:absolute;top:43px;left:38px;transform:rotate(4deg)}.serve-leg{transform-origin:top;background:#8792a2;border-radius:10px;width:8px;height:52px;position:absolute;top:93px}.serve-arm{transform-origin:top;background:#aab3c1;border-radius:10px;width:8px;height:54px;position:absolute;top:50px}.serve-racket{width:28px;height:48px;position:absolute;bottom:-38px;left:-10px}.serve-racket-head{border:2px solid #dce2ea;border-radius:50%;width:23px;height:31px;position:absolute;top:0;left:2px}.serve-racket-handle{background:#dce2ea;border-radius:3px;width:4px;height:19px;position:absolute;top:28px;left:12px;transform:rotate(8deg)}.serve-ball{z-index:4;background:#d9ff35;border-radius:50%;width:15px;height:15px;animation:2.8s cubic-bezier(.2,.8,.2,1) both serveBall;position:absolute;box-shadow:0 0 18px #d9ff3573}.serve-ball:after{content:"";border-top:1px solid #202a1580;border-radius:50%;position:absolute;inset:3px 1px;transform:rotate(-38deg)}.serve-ball-trail{z-index:3;opacity:0;transform-origin:0;background:linear-gradient(90deg,#d9ff3599,#0000);width:210px;height:2px;animation:2.8s both serveTrail;position:absolute;top:82px;left:53%;transform:rotate(-12deg)}.serve-impact{z-index:5;color:#e4ff65;opacity:0;font-size:30px;animation:2.8s both serveImpact;position:absolute;top:73px;left:53%}@keyframes serveTossArm{0%{transform:rotate(28deg)}18%{transform:rotate(78deg)}30%,42%{transform:rotate(168deg)}58%{transform:rotate(165deg)}75%{transform:rotate(70deg)}to{transform:rotate(26deg)}}@keyframes serveRacketArm{0%{transform:rotate(-18deg)}20%{transform:rotate(-70deg)}34%,42%{transform:rotate(-118deg)}52%{transform:rotate(-162deg)}63%{transform:rotate(10deg)}74%{transform:rotate(72deg)}to{transform:rotate(48deg)}}@keyframes serveBall{0%{opacity:0;top:138px;left:47%}8%{opacity:1}32%{opacity:1;top:24px;left:49%}48%{opacity:1;top:48px;left:52%}56%{opacity:1;top:70px;left:56%}73%{opacity:1;top:18px;left:108%}74%,to{opacity:0;top:18px;left:108%}}@keyframes serveTrail{0%,54%{opacity:0;transform:scaleX(.04)rotate(-11deg)}60%{opacity:.75;transform:scaleX(.42)rotate(-11deg)}73%{opacity:0;transform:scaleX(1)rotate(-11deg)}to{opacity:0}}@keyframes serveImpact{0%,53%{opacity:0;transform:scale(.35)rotate(0)}58%{opacity:1;transform:scale(1.25)rotate(28deg)}68%,to{opacity:0;transform:scale(2.2)rotate(70deg)}}.matchpoint-copy{text-align:center;opacity:0;padding:8px 30px 28px;animation:.45s ease-out 2.05s forwards matchpointCopyIn;transform:translateY(12px)}.game-set-match{flex-wrap:wrap;justify-content:center;gap:8px;font-weight:1000;display:flex;letter-spacing:-.055em!important;margin:4px 0 9px!important;font-size:clamp(27px,6vw,42px)!important}.game-set-match span{opacity:0;animation:.26s ease-out forwards matchWordIn;display:inline-block;transform:translateY(8px)scale(.95)}.game-set-match span:first-child{animation-delay:2.02s}.game-set-match span:nth-child(2){animation-delay:2.18s}.game-set-match span:nth-child(3){color:#61df91;animation-delay:2.34s}.lineup-bordeaux .game-set-match span:nth-child(3){color:#ce6484}.submitted-message{color:#d8dee7;margin-bottom:9px;font-size:12px;display:block}@keyframes matchWordIn{to{opacity:1;transform:translateY(0)scale(1)}}@keyframes matchpointCopyIn{to{opacity:1;transform:translateY(0)}}@media (width<=600px){.tennis-serve-stage{height:215px}.matchpoint-copy{padding:5px 20px 22px}}.tennis-serve-stage{height:255px}.serve-player{width:118px;height:162px;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}.serve-head{width:24px;height:24px;top:14px;left:48px}.serve-body{border-radius:10px 10px 6px 6px;width:18px;height:60px;top:40px;left:49px;transform:rotate(2deg)}.serve-leg{width:8px;height:56px;top:95px}.serve-leg-left{left:47px;transform:rotate(20deg)}.serve-leg-right{left:60px;transform:rotate(-18deg)}.serve-arm{transform-origin:top;background:#aeb7c4;border-radius:10px;width:7px;height:60px;top:49px}.serve-arm-toss{animation:2.9s cubic-bezier(.22,.8,.22,1) both serveTossArm;left:43px}.serve-arm-racket{animation:2.9s cubic-bezier(.22,.8,.22,1) both serveRacketArm;left:61px}.serve-racket{transform-origin:50% 82%;width:30px;height:82px;position:absolute;top:44px;left:-10px}.serve-racket-head{background:0 0;border:2px solid #dce2ea;border-radius:50%;width:24px;height:36px;position:absolute;top:0;left:3px}.serve-racket-head:before,.serve-racket-head:after{content:"";opacity:.34;background:repeating-linear-gradient(90deg,#0000 0 4px,#dce2ea 4px 5px);position:absolute;inset:4px}.serve-racket-head:after{transform:rotate(90deg)}.serve-racket-handle{background:#dce2ea;border-radius:3px;width:4px;height:30px;position:absolute;top:34px;left:12px}.serve-ball{width:15px;height:15px;animation:2.9s cubic-bezier(.22,.8,.22,1) both serveBall}.serve-ball-trail{width:220px;animation:2.9s both serveTrail;top:86px;left:55%}.serve-impact{font-size:32px;animation:2.9s both serveImpact;top:72px;left:56%}.lineup-success-modal-upgraded{width:min(100%,560px);padding:0 0 22px;overflow:hidden}.ssa-shell{flex-direction:column;display:flex}.ssa-stage{background:radial-gradient(circle at 50% 105%,#4ad97e21,#0000 44%),linear-gradient(#ffffff05,#ffffff01);height:286px;position:relative;overflow:hidden}.ssa-bordeaux .ssa-stage{background:radial-gradient(circle at 50% 105%,#9a2c4c2e,#0000 46%),linear-gradient(#ffffff05,#ffffff01)}.ssa-stage-glow{pointer-events:none;background:radial-gradient(circle at 50% 34%,#56df8a1f,#0000 22%);position:absolute;inset:0}.ssa-bordeaux .ssa-stage-glow{background:radial-gradient(circle at 50% 34%,#bb466a24,#0000 24%)}.ssa-svg{z-index:2;color:#dbe2eb;width:100%;height:100%;display:block;position:relative}.ssa-court-line{stroke:#ffffff14;stroke-width:1.6px}.ssa-court-baseline{stroke:#ffffff24}.ssa-stroke{fill:none;stroke:currentColor;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px #ffffff0d)}.ssa-pose{opacity:0;animation-duration:2.55s;animation-timing-function:ease-in-out;animation-fill-mode:both}.ssa-pose-1{animation-name:ssaPose1}.ssa-pose-2{animation-name:ssaPose2}.ssa-pose-3{animation-name:ssaPose3}.ssa-pose-4{animation-name:ssaPose4}@keyframes ssaPose1{0%,18%{opacity:1}24%,to{opacity:0}}@keyframes ssaPose2{0%,20%{opacity:0}26%,45%{opacity:1}52%,to{opacity:0}}@keyframes ssaPose3{0%,47%{opacity:0}54%,64%{opacity:1}70%,to{opacity:0}}@keyframes ssaPose4{0%,62%{opacity:0}69%,to{opacity:1}}.ssa-ball{z-index:5;background:#d8ff37;border-radius:50%;width:16px;height:16px;animation:2.55s cubic-bezier(.2,.8,.2,1) both ssaBallFlight;position:absolute;box-shadow:0 0 18px #d8ff3773,0 0 42px #d8ff3726}.ssa-ball:after{content:"";border-top:1px solid #161f1080;border-radius:50%;position:absolute;inset:3px 1px;transform:rotate(-34deg)}.ssa-trail{z-index:4;opacity:0;transform-origin:0;background:linear-gradient(90deg,#d8ff37e6,#d8ff371a,#0000);border-radius:999px;width:235px;height:3px;animation:2.55s both ssaTrailFlight;position:absolute;top:92px;left:56%}.ssa-impact{z-index:6;opacity:0;width:46px;height:46px;animation:2.55s both ssaImpactPulse;position:absolute;top:84px;left:57%;transform:translate(-50%,-50%)}.ssa-impact span{border:2px solid #e6ff71bf;border-radius:50%;position:absolute;inset:0}.ssa-impact span:nth-child(2){inset:8px}.ssa-impact span:nth-child(3){inset:16px}@keyframes ssaBallFlight{0%{opacity:0;top:140px;left:45%}8%{opacity:1}28%{opacity:1;top:48px;left:45.6%}39%{opacity:1;top:34px;left:46.8%}51%{opacity:1;top:58px;left:50.8%}56%{opacity:1;top:84px;left:56.3%}74%{opacity:1;top:20px;left:108%}75%,to{opacity:0;top:20px;left:108%}}@keyframes ssaTrailFlight{0%,55%{opacity:0;transform:scaleX(.05)rotate(-13deg)}60%{opacity:.85;transform:scaleX(.32)rotate(-13deg)}74%{opacity:0;transform:scaleX(1)rotate(-13deg)}to{opacity:0}}@keyframes ssaImpactPulse{0%,54%{opacity:0;transform:translate(-50%,-50%)scale(.2)}58%{opacity:1;transform:translate(-50%,-50%)scale(1)}68%{opacity:0;transform:translate(-50%,-50%)scale(1.8)}to{opacity:0}}.ssa-copy{text-align:center;opacity:0;padding:10px 28px 0;animation:.45s ease-out 1.92s forwards ssaCopyIn;transform:translateY(12px)}.ssa-headline{flex-wrap:wrap;justify-content:center;gap:8px;font-weight:1000;line-height:.95;display:flex;letter-spacing:-.06em!important;margin:2px 0 8px!important;font-size:clamp(30px,6vw,48px)!important}.ssa-headline span{opacity:0;animation:.24s ease-out forwards ssaWordIn;display:inline-block;transform:translateY(8px)scale(.95)}.ssa-headline span:first-child{animation-delay:1.94s}.ssa-headline span:nth-child(2){animation-delay:2.08s}.ssa-headline span:nth-child(3){color:#60df90;animation-delay:2.22s}.ssa-bordeaux .ssa-headline span:nth-child(3){color:#ce6484}.ssa-submitted{color:#e3e8ef;margin-bottom:10px;font-size:12px;font-weight:900;display:block}.ssa-lead{max-width:400px;margin:0 auto 18px!important}.ssa-success-state{margin-bottom:0}@keyframes ssaCopyIn{to{opacity:1;transform:translateY(0)}}@keyframes ssaWordIn{to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.lineup-success-modal-upgraded{padding-bottom:18px}.ssa-stage{height:250px}.ssa-copy{padding:8px 20px 0}.ssa-headline{gap:6px}}.rule-panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.rule-checking{letter-spacing:.08em;text-transform:uppercase;opacity:.58;font-size:.72rem;font-weight:800}.rule-details{gap:8px;margin-top:14px;display:grid}.rule-detail{background:#ffffff09;border:1px solid #ffffff17;border-radius:12px;gap:3px;padding:10px 12px;font-size:.78rem;line-height:1.4;display:grid}.rule-detail strong{letter-spacing:.07em;text-transform:uppercase;font-size:.68rem}.rule-detail-error{background:#ff5b5b0e;border-color:#ff5b5b38}.rule-detail-warning{background:#ffc2470e;border-color:#ffc24738}.rule-exception-note{background:#ffc2470f;border:1px solid #ffc2473d;border-radius:12px;margin-top:12px;padding:11px 12px;font-size:.78rem;line-height:1.45}.rule-all-clear{background:#43dd8111;border:1px solid #43dd8138;border-radius:12px;margin-top:14px;padding:11px 12px;font-size:.8rem;font-weight:800}.opponent-status-strip{background:#ffffff06;border:1px solid #ffffff17;border-radius:14px;grid-template-columns:minmax(150px,.65fr) minmax(240px,1fr) auto;align-items:center;gap:18px;margin-top:12px;padding:13px 16px;display:grid}.opponent-status-strip.submitted{background:#43dd8109;border-color:#43dd8133}.opponent-status-strip>div:first-child,.opponent-status-copy{gap:3px;display:grid}.opponent-status-copy strong{font-size:.78rem}.opponent-status-copy span{opacity:.58;font-size:.7rem}.reveal-ready-chip{letter-spacing:.09em;white-space:nowrap;background:#43dd8114;border:1px solid #43dd8147;border-radius:999px;padding:8px 11px;font-size:.66rem;font-weight:900}@media (width<=760px){.opponent-status-strip{grid-template-columns:1fr}.reveal-ready-chip{width:fit-content}}button.reveal-ready-chip{cursor:pointer;color:inherit;font-family:inherit}button.reveal-ready-chip:hover{background:#43dd8124;border-color:#43dd8180}.reveal-page{color:#f7fbf9;background:#03090a;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow-x:hidden}.ouzo-bg-grid{pointer-events:none;opacity:.16;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:42px 42px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 18% 80%,#0000);mask-image:linear-gradient(#0000,#000 18% 80%,#0000)}.ouzo-bg-green,.ouzo-bg-bordeaux{pointer-events:none;filter:blur(150px);opacity:.1;border-radius:999px;width:520px;height:520px;position:fixed}.ouzo-bg-green{background:#29ff87;top:16%;left:-240px}.ouzo-bg-bordeaux{background:#c52d67;top:12%;right:-240px}.reveal-topbar{z-index:20;justify-content:space-between;align-items:center;width:min(1480px,100% - 48px);margin:0 auto;padding:24px 0 12px;display:flex;position:relative}.reveal-topbar button{color:#ffffff94;font:inherit;cursor:pointer;background:0 0;border:0;font-size:.72rem;font-weight:850}.reveal-topbar>div{text-align:right;display:grid}.reveal-topbar span{letter-spacing:.19em;opacity:.42;font-size:.55rem;font-weight:950}.reveal-topbar strong{letter-spacing:.08em;font-size:.85rem}.reveal-center{z-index:5;text-align:center;align-content:center;place-items:center;min-height:calc(100vh - 100px);padding:40px 24px 110px;display:grid;position:relative}.reveal-loader{color:#5cff9d;animation:1s ease-in-out infinite ouzoPulse}.reveal-error{background:#ff5a5a0f;border:1px solid #ff5a5a47;border-radius:16px;padding:16px 20px}.ouzo-pre>span{color:#5cff9d;letter-spacing:.24em;font-size:.7rem;font-weight:1000}.ouzo-pre h1{letter-spacing:-.075em;margin:8px 0 6px;font-size:clamp(4.4rem,13vw,11rem);line-height:.82}.ouzo-pre-sub{color:#ffffffc7;margin:12px 0 22px;font-size:clamp(.8rem,1.3vw,1.1rem);font-weight:800}.ouzo-pre p{color:#ffffff80;max-width:590px;margin:0 auto 26px;font-size:.9rem;line-height:1.6}.reveal-start{color:#031109;font:inherit;letter-spacing:.06em;cursor:pointer;background:linear-gradient(135deg,#5bffa2,#2bd574);border:1px solid #5dff9f73;border-radius:14px;padding:16px 24px;font-size:.72rem;font-weight:1000;box-shadow:0 18px 60px #32ff8c24}.reveal-start:disabled{opacity:.5;cursor:wait}.reveal-countdown{z-index:5;text-align:center;align-content:center;place-items:center;min-height:calc(100vh - 90px);display:grid;position:relative}.ouzo-count-brand{color:#fff;letter-spacing:-.055em;margin:0;font-size:clamp(2rem,5vw,4.5rem);font-weight:1000;line-height:.9}.reveal-countdown>small{color:#5cff9d;letter-spacing:.18em;margin-top:10px;font-size:.64rem;font-weight:950}.countdown-number{letter-spacing:-.1em;text-shadow:0 0 90px #5cff9d24;margin:-8px 0;font-size:clamp(12rem,38vw,31rem);font-weight:1000;line-height:.88;animation:.38s cubic-bezier(.2,.8,.2,1) ouzoCountHit}.reveal-countdown>strong{letter-spacing:.06em;gap:5px;font-size:.78rem;display:grid}.reveal-countdown>strong span{color:#de6c98}.ouzo-results{z-index:5;width:min(1480px,100% - 42px);margin:0 auto;padding:10px 0 90px;position:relative}.ouzo-brand-header{text-align:center;margin:8px auto 32px}.ouzo-eyebrow{color:#ffffff6b;letter-spacing:.22em;font-size:.58rem;font-weight:950}.ouzo-brand-header h1{letter-spacing:-.078em;margin:3px 0 6px;font-size:clamp(4.5rem,11vw,9.5rem);line-height:.79}.ouzo-versus-line{letter-spacing:.16em;justify-content:center;align-items:center;gap:18px;margin:13px 0 7px;font-size:.7rem;display:flex}.ouzo-versus-line strong:first-child{color:#5cff9d}.ouzo-versus-line strong:last-child{color:#e36d99}.ouzo-versus-line b{color:#ffffff4d}.ouzo-tagline{color:#ffffff7a;margin:0;font-size:.68rem;font-weight:760}.ouzo-result-title{color:#ffffffd9;letter-spacing:-.035em;margin-top:18px;font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:900}.ouzo-match-list{gap:13px;display:grid}.ouzo-match-row{opacity:.25;background:linear-gradient(90deg,#2eff8b09,#ffffff04 48%,#c62a650a);border:1px solid #ffffff12;border-radius:22px;grid-template-columns:128px minmax(0,1fr) 82px minmax(0,1fr);align-items:center;min-height:185px;transition:opacity .45s,border-color .45s,box-shadow .45s;display:grid;overflow:hidden}.ouzo-match-row.active{opacity:1;border-color:#ffffff24;box-shadow:inset 0 0 100px #ffffff03}.ouzo-match-row.finished{opacity:.92}.ouzo-match-label{border-right:1px solid #ffffff0f;align-content:center;align-self:stretch;gap:6px;padding:19px;display:grid}.ouzo-match-label small{color:#ffffff5c;letter-spacing:.16em;font-size:.52rem;font-weight:950}.ouzo-match-label strong{font-size:.98rem}.ouzo-team-stack{align-items:center;gap:9px;min-width:0;padding:12px;display:flex}.ouzo-team-stack.green{justify-content:flex-end}.ouzo-team-stack.bordeaux{justify-content:flex-start}.ouzo-docked-player{opacity:0;filter:blur(8px);flex:0 0 202px;width:202px;transform:scale(.58)translateY(-16px)}.ouzo-docked-player.visible{animation:.58s cubic-bezier(.16,1,.3,1) forwards ouzoDockIn}.ouzo-card{isolation:isolate;background:#07100f;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 18px 45px #00000052}.ouzo-card.compact{width:202px;height:152px}.ouzo-card.hero{border-radius:28px;width:min(410px,100vw - 46px);height:min(580px,100vh - 95px)}.ouzo-card.team-green{border:1px solid #52ff9785;box-shadow:inset 0 0 0 1px #52ff970f,0 20px 70px #1eff7d21}.ouzo-card.team-bordeaux{border:1px solid #e34b858f;box-shadow:inset 0 0 0 1px #e34b850f,0 20px 70px #d12a6924}.ouzo-card-beam,.ouzo-card-grid{z-index:2;pointer-events:none;position:absolute;inset:0}.ouzo-card-grid{opacity:.08;background-image:linear-gradient(#ffffff26 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:25px 25px}.ouzo-card.team-green .ouzo-card-beam{background:linear-gradient(143deg,#0000 0 57%,#47ff9040 58%,#0000 60%),radial-gradient(circle at 15% 24%,#3cff892e,#0000 34%)}.ouzo-card.team-bordeaux .ouzo-card-beam{background:linear-gradient(143deg,#0000 0 57%,#e4488545 58%,#0000 60%),radial-gradient(circle at 84% 24%,#e13f7e30,#0000 34%)}.ouzo-card-portrait{background:#09100f;position:absolute;inset:0 0 48px;overflow:hidden}.ouzo-card.hero .ouzo-card-portrait{inset:0 0 116px}.ouzo-player-photo{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.ouzo-photo-shade{pointer-events:none;background:linear-gradient(#0000 52%,#0207072e 72%,#020707bf 100%);position:absolute;inset:0}.ouzo-racket-mark{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03080861;border:1px solid #ffffff21;border-radius:9px;place-items:center;width:26px;height:26px;font-size:.72rem;display:grid;position:absolute;top:10px;right:9px}.ouzo-card.hero .ouzo-racket-mark{border-radius:12px;width:40px;height:40px;font-size:1rem;top:17px;right:17px}.ouzo-card-info{z-index:4;background:#030909f2;border-top:1px solid #ffffff12;grid-template-rows:12px 1fr;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;height:48px;padding:5px 10px 6px;display:grid;position:absolute;bottom:0;left:0;right:0}.ouzo-card.hero .ouzo-card-info{grid-template-rows:18px 1fr 23px;height:116px;padding:17px 23px 15px}.ouzo-card-team{letter-spacing:.14em;grid-column:1/3;font-size:.43rem;font-weight:1000}.team-green .ouzo-card-team{color:#5cff9d}.team-bordeaux .ouzo-card-team{color:#e66c9a}.ouzo-card-info>strong{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:.82rem;line-height:1;overflow:hidden}.ouzo-card-info>strong.long{font-size:.68rem}.ouzo-card.hero .ouzo-card-info>strong{white-space:normal;font-size:clamp(1.8rem,5vw,3.1rem)}.ouzo-card.hero .ouzo-card-info>strong.long{font-size:clamp(1.45rem,4vw,2.45rem)}.ouzo-card-meta{grid-area:2/2;justify-items:end;gap:2px;font-size:.54rem;font-weight:900;display:grid}.ouzo-card.hero .ouzo-card-meta{align-items:center;gap:16px;justify-items:initial;grid-area:3/1/auto/3;font-size:.72rem;display:flex}.ouzo-dtb-id{color:#ffffff57;font-size:.4rem}.ouzo-card.hero .ouzo-dtb-id{font-size:.58rem}.ouzo-card-corner{z-index:5;color:#ffffff8c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#03080866;border:1px solid #ffffff1f;border-radius:8px;place-items:center;width:23px;height:23px;font-size:.56rem;font-weight:1000;display:grid;position:absolute;top:9px;left:9px}.ouzo-card.hero .ouzo-card-corner{border-radius:11px;width:37px;height:37px;font-size:.75rem;top:17px;left:17px}.ouzo-portrait-fallback{background:radial-gradient(circle,#ffffff0f,#0000 45%),#09100f;align-content:center;place-items:center;width:100%;height:100%;display:grid}.ouzo-portrait-fallback strong{opacity:.35;font-size:5rem}.ouzo-portrait-fallback small{letter-spacing:.14em;opacity:.35;font-size:.45rem}.ouzo-docked-vs{color:#fff;opacity:0;filter:blur(9px);place-items:center;width:64px;height:64px;margin:auto;font-size:1.35rem;font-style:italic;font-weight:1000;display:grid;transform:scale(.12)rotate(-25deg)}.ouzo-docked-vs.visible{animation:.5s cubic-bezier(.16,1.2,.3,1) forwards ouzoDockVs}.ouzo-hero-layer{z-index:100;pointer-events:none;perspective:1700px;place-items:center;display:grid;position:fixed;inset:0}.ouzo-hero-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#010607ad;position:absolute;inset:0}.ouzo-hero-rays,.ouzo-vs-rays,.ouzo-match-rays{opacity:.2;filter:blur(3px);border-radius:999px;width:min(900px,84vw);height:min(900px,84vw);position:absolute}.green .ouzo-hero-rays{background:repeating-conic-gradient(from 0deg, #48ff927a 0 1deg, transparent 1deg 10deg)}.bordeaux .ouzo-hero-rays{background:repeating-conic-gradient(from 0deg, #e44a8780 0 1deg, transparent 1deg 10deg)}.ouzo-vs-rays,.ouzo-match-rays{background:repeating-conic-gradient(from 0deg, #4bff9466 0 1deg, transparent 1deg 10deg, #e74b8966 10deg 11deg, transparent 11deg 21deg);animation:9s linear infinite ouzoSpin}.ouzo-hero-card{z-index:4;opacity:0;transform-style:preserve-3d;position:relative}.player-layer.enter.green .ouzo-hero-card{animation:.78s cubic-bezier(.16,1,.3,1) forwards ouzoHeroGreenIn}.player-layer.enter.bordeaux .ouzo-hero-card{animation:.78s cubic-bezier(.16,1,.3,1) forwards ouzoHeroBordeauxIn}.player-layer.hold .ouzo-hero-card{opacity:1;transform:translate(0,0)rotateY(0)rotate(0)scale(1)}.player-layer.dock.green .ouzo-hero-card{animation:.54s cubic-bezier(.7,0,.84,0) forwards ouzoHeroGreenDock}.player-layer.dock.bordeaux .ouzo-hero-card{animation:.54s cubic-bezier(.7,0,.84,0) forwards ouzoHeroBordeauxDock}.ouzo-hero-vs{z-index:4;opacity:0;align-items:center;display:flex;position:relative}.ouzo-hero-vs span{font-size:clamp(10rem,25vw,19rem);font-style:italic;font-weight:1000;line-height:.78}.ouzo-hero-vs span:first-child{color:#6dffab;text-shadow:0 0 65px #3eff8db3}.ouzo-hero-vs span:last-child{color:#ef6fa4;text-shadow:0 0 65px #e8498bb8;margin-left:-30px}.vs-layer.enter .ouzo-hero-vs{animation:.56s cubic-bezier(.12,1.4,.28,1) forwards ouzoVsIn}.vs-layer.hold .ouzo-hero-vs{opacity:1;transform:scale(1)rotate(0)}.vs-layer.dock .ouzo-hero-vs{animation:.42s ease-in forwards ouzoVsOut}.ouzo-match-intro{z-index:4;text-align:center;opacity:0;filter:blur(18px);place-items:center;display:grid;position:relative;transform:scale(.35)rotateX(58deg)translateY(70px)}.match-layer.enter .ouzo-match-intro{animation:.62s cubic-bezier(.12,1.25,.28,1) forwards ouzoMatchIn}.match-layer.hold .ouzo-match-intro{opacity:1;filter:blur();transform:scale(1)rotateX(0)translateY(0)}.match-layer.dock .ouzo-match-intro{animation:.38s ease-in forwards ouzoMatchOut}.ouzo-match-intro>span{color:#5cff9d;letter-spacing:.24em;font-size:.76rem;font-weight:1000}.ouzo-match-intro small{color:#ffffff6b;letter-spacing:.2em;margin-top:25px;font-size:.65rem;font-weight:950}.ouzo-match-intro strong{letter-spacing:-.075em;text-transform:uppercase;margin:7px 0 15px;font-size:clamp(4.6rem,13vw,10rem);line-height:.84}.ouzo-match-intro p{color:#5cff9d;letter-spacing:.16em;margin:0;font-size:.7rem;font-weight:950}.ouzo-match-intro p b{color:#ffffff59;margin:0 14px}.ouzo-finale{opacity:0;pointer-events:none;background:#113a2575;border:1px solid #54ff973d;border-radius:16px;align-items:center;gap:13px;width:fit-content;margin:30px auto 0;padding:13px 16px;display:flex;transform:translateY(16px)scale(.95)}.ouzo-finale.visible{pointer-events:auto;animation:.7s cubic-bezier(.16,1,.3,1) forwards ouzoFinaleIn}.ouzo-finale-icon{background:#4fff921f;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.ouzo-finale>div:nth-child(2){display:grid}.ouzo-finale strong{letter-spacing:.09em;font-size:.76rem}.ouzo-finale small{opacity:.48;margin-top:2px}.ouzo-finale button{color:inherit;font:inherit;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff1f;border-radius:9px;margin-left:12px;padding:8px 11px;font-size:.62rem;font-weight:900}@keyframes ouzoPulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@keyframes ouzoCountHit{0%{opacity:.16;filter:blur(14px);transform:scale(1.3)}to{opacity:1;filter:blur();transform:scale(1)}}@keyframes ouzoDockIn{0%{opacity:0;filter:blur(10px);transform:scale(.45)translateY(-22px)}70%{opacity:1;filter:blur();transform:scale(1.06)translateY(2px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}@keyframes ouzoDockVs{0%{opacity:0;transform:scale(.12)rotate(-25deg)}70%{opacity:1;transform:scale(1.2)rotate(5deg)}to{opacity:.72;transform:scale(1)rotate(0)}}@keyframes ouzoHeroGreenIn{0%{opacity:0;filter:blur(22px);transform:translate3d(-88vw,7vh,-560px)rotateY(84deg)rotate(-14deg)scale(.36)}67%{opacity:1;filter:blur();transform:translate3d(25px,0,35px)rotateY(-7deg)rotate(2deg)scale(1.06)}to{opacity:1;transform:translate(0,0)rotateY(0)rotate(0)scale(1)}}@keyframes ouzoHeroBordeauxIn{0%{opacity:0;filter:blur(22px);transform:translate3d(88vw,7vh,-560px)rotateY(-84deg)rotate(14deg)scale(.36)}67%{opacity:1;filter:blur();transform:translate3d(-25px,0,35px)rotateY(7deg)rotate(-2deg)scale(1.06)}to{opacity:1;transform:translate(0,0)rotateY(0)rotate(0)scale(1)}}@keyframes ouzoHeroGreenDock{0%{opacity:1;transform:scale(1)}to{opacity:0;filter:blur(10px);transform:translate3d(-32vw,12vh,-480px)rotateY(-48deg)rotate(-6deg)scale(.23)}}@keyframes ouzoHeroBordeauxDock{0%{opacity:1;transform:scale(1)}to{opacity:0;filter:blur(10px);transform:translate3d(32vw,12vh,-480px)rotateY(48deg)rotate(6deg)scale(.23)}}@keyframes ouzoVsIn{0%{opacity:0;filter:blur(28px);transform:scale(.04)rotate(-46deg)}64%{opacity:1;filter:blur();transform:scale(1.3)rotate(7deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes ouzoVsOut{0%{opacity:1;transform:scale(1)}to{opacity:0;filter:blur(13px);transform:scale(.16)translateY(45vh)}}@keyframes ouzoMatchIn{0%{opacity:0;filter:blur(18px);transform:scale(.35)rotateX(58deg)translateY(70px)}68%{opacity:1;filter:blur();transform:scale(1.09)rotateX(-4deg)translateY(-5px)}to{opacity:1;filter:blur();transform:scale(1)rotateX(0)translateY(0)}}@keyframes ouzoMatchOut{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(14px);transform:scale(1.45)translateY(-35px)}}@keyframes ouzoSpin{to{transform:rotate(360deg)}}@keyframes ouzoFinaleIn{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1180px){.ouzo-docked-player{flex-basis:165px;width:165px}.ouzo-card.compact{width:165px;height:142px}.ouzo-card-info>strong{font-size:.72rem}.ouzo-card-info>strong.long{font-size:.59rem}.ouzo-match-row{grid-template-columns:105px minmax(0,1fr) 60px minmax(0,1fr)}}@media (width<=760px){.ouzo-results{width:calc(100% - 22px)}.ouzo-match-row{grid-template-columns:1fr;padding-bottom:16px}.ouzo-match-label{border-bottom:1px solid #ffffff0f;border-right:0}.ouzo-team-stack{justify-content:center!important}.ouzo-docked-player{flex:0 0 46%;width:46%;max-width:190px}.ouzo-card.compact{width:100%}.ouzo-docked-vs{height:42px}.ouzo-card.hero{width:min(370px,100vw - 28px);height:min(540px,100vh - 75px)}}
