/* Shared visual language: match, player, tournament, weekly XI, favorites, history. */
:root{--vc-club:#086b96;--vc-other:#15b5a5;--vc-away:#20527b}
.vc-panel,.vc-history{border:1px solid var(--border-color);border-radius:18px;background:var(--card-bg);padding:18px;margin:12px 0;color:var(--text-main);min-width:0}
.vc-eyebrow{font-size:11px;font-weight:850;letter-spacing:2px;color:var(--accent-blue);margin-bottom:10px}.vc-muted{color:var(--text-muted)}
.vc-panel button,.vc-favorite button,.vc-history select{border:1px solid var(--border-color);border-radius:10px;padding:10px 14px;background:var(--card-bg);color:var(--text-main);font:inherit;cursor:pointer}
.vc-panel button:focus-visible,.vc-favorite button:focus-visible,.vc-history button:focus-visible,.tow-player:focus-visible{outline:3px solid #14b8a6;outline-offset:3px}
.vc-panel small,.vc-result-card>small{display:block;color:var(--text-muted);font-size:11px;line-height:1.6}
#match-modal .modal-content,#player-modal .modal-content{width:calc(100vw - 24px);max-width:1000px;max-height:94dvh;overflow-y:auto;overflow-x:hidden;border-radius:24px}
#modal-header-area .modal-header{background:linear-gradient(115deg,var(--vc-club),#0b243b 50%,var(--vc-away));color:white;border-radius:20px;padding:24px 18px;position:relative;overflow:hidden}
#modal-header-area .modal-header>span{color:#c9f0fb!important}#modal-header-area .modal-teams{gap:14px}#modal-header-area .modal-team{min-width:0;flex:1}#modal-header-area .modal-team img{width:76px;height:76px;filter:drop-shadow(0 8px 14px #0005)}#modal-header-area .modal-team b{font-size:18px;color:white;overflow-wrap:anywhere}#modal-header-area .modal-score{font-size:48px;color:white;font-weight:900;letter-spacing:3px}#modal-header-area .modal-match-minute{background:#ffffff18;color:#d1fff6;border-color:#ffffff35}
#match-modal .modal-nav-tabs,#player-modal .modal-nav-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:8px;scrollbar-width:thin}#match-modal .modal-nav-btn,#player-modal .modal-nav-btn{flex:0 0 auto;min-height:44px;border-radius:12px}
.vc-event-rail{display:flex;gap:12px;overflow-x:auto;padding:8px 2px 16px;scroll-snap-type:x proximity}.vc-event{position:relative;display:grid;grid-template-columns:32px 1fr;gap:5px;flex:0 0 172px;padding:12px;border-top:3px solid #12a9bb;border-radius:12px;background:var(--bg-color);scroll-snap-align:start}.vc-event.away{border-color:#8275d4}.vc-event strong,.vc-event small{grid-column:1/-1;font-size:12px}.vc-event>b{color:var(--accent-blue)}.vc-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.vc-shortcuts button{font-size:12px;font-weight:750;min-height:42px}
#player-modal .ov-player-hero{background:radial-gradient(ellipse at 10% 20%,#ffffff16,transparent 55%),linear-gradient(120deg,var(--vc-club),#122d45);border-radius:22px;padding:24px;color:#fff}#player-modal .ov-player-hero .ov-card-eyebrow{color:#89eedf}#player-modal .ov-player-portrait{width:135px;height:145px;object-fit:contain;border-radius:20px;background:#ffffffed;box-shadow:0 12px 35px #0003}#player-modal .ov-player-identity{min-width:220px}.vc-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.vc-metrics>div{padding:14px 6px;text-align:center;background:var(--bg-color);border-radius:14px}.vc-metrics strong{display:block;font-size:26px;color:var(--accent-blue)}.vc-metrics span{display:block;font-size:12px;color:var(--text-muted)}.vc-compare{border-top:1px solid var(--border-color);margin:16px 0;padding-top:8px}.vc-compare-row{display:grid;grid-template-columns:40px 1fr 65px 1fr 40px;align-items:center;gap:8px;margin:12px 0;text-align:center;font-size:12px}.vc-compare-row meter{width:100%;height:14px;accent-color:#12a6ac}
/* Existing account-backed draw and tournament are preserved. */
.ovt-hero{background:radial-gradient(circle at 90% -20%,#50d6e666,transparent 45%),linear-gradient(125deg,#08223c,#0b5278)!important;color:#fff!important;border-radius:22px!important;padding:26px!important}.ovt-hero h3,.ovt-hero p,.ovt-hero strong,.ovt-hero span{color:inherit!important}.ovt-hero .ovt-eyebrow{color:#80f1d2!important}.ovt-card{border-radius:18px!important;box-shadow:0 8px 24px #0b466909}.ovt-dialog:has(.ovt-drawgrid){background:radial-gradient(ellipse at top,#13546c,#081d35 60%);color:#fff;border:1px solid #367b96;border-radius:24px}.ovt-drawgrid{gap:14px!important}.ovt-ball{background:linear-gradient(150deg,#164260,#0a243c)!important;border:1px solid #5fa5c855!important;border-radius:20px!important;color:#fff!important;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.ovt-ball>strong{font-size:20px}.ovt-ball:not(.revealed)>strong{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#c4dbe8 45%,#547d98);color:#173952;font-size:32px;box-shadow:0 12px 22px #0005}.ovt-ball.revealed{animation:vc-reveal .5s ease-out;border-color:#63e5c2!important;box-shadow:inset 0 0 30px #46cdce15}.ovt-ball.revealed img{width:55px!important;height:55px!important;margin:14px auto!important;object-fit:contain}.ovt-bracket{padding:16px 4px;gap:25px!important}.ovt-bracket>section{min-width:220px}.ovt-bracket h3{color:var(--accent-blue);border-bottom:2px solid #14b8a6;padding-bottom:12px}.ovt-tie{border-radius:14px!important;position:relative}.ovt-tie.ovt-own{box-shadow:0 0 0 2px #11afab30}.ovt-winner{background:#11afab12;border-radius:7px}
/* Weekly XI retains real photos, ratings and roster actions. */
.tow-share-card{border-radius:22px!important;overflow:hidden;border:1px solid #2b8e99!important}.tow-pitch{background:radial-gradient(ellipse at top,#9edfc332,transparent 60%),repeating-linear-gradient(0deg,#12694d 0px,#12694d 64px,#167555 64px,#167555 128px)!important;border:2px solid #b9efce77!important;border-radius:14px;padding:20px 8px!important;position:relative}.tow-pitch:before{content:'';position:absolute;inset:12px;border:1px solid #d6ffee66;pointer-events:none;border-radius:3px}.tow-row{position:relative;gap:6px!important}.tow-photo-wrap{filter:drop-shadow(0 7px 8px #001e2244)}.tow-rating{box-shadow:0 3px 12px #0003}.tow-name{color:#fff!important;text-shadow:0 1px 4px #000}.vc-formation{display:inline-block;font-size:12px;background:#12a9ae;color:white;padding:5px 10px;border-radius:20px;margin:6px 12px}.vc-tow-reason{font-size:10px;color:#e4fff5;margin:5px auto;width:max-content;max-width:100%;cursor:auto}.vc-tow-reason summary{cursor:pointer;padding:5px 2px}.vc-tow-reason[open]{width:100%;max-width:170px;background:#092e30;border:1px solid #65af9b;border-radius:10px;padding:8px}.vc-tow-reason p{margin:5px 0}.vc-tow-reason small{overflow-wrap:anywhere}
.vc-favorite{margin:0 0 18px;padding:24px;border-radius:22px;background:radial-gradient(ellipse at 100% 0%,var(--vc-other),transparent 65%),linear-gradient(120deg,var(--vc-club),#0a283f);color:white;box-shadow:0 12px 30px #07354a17}.vc-favorite .vc-eyebrow{color:#dcfff7}.vc-favorite header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.vc-favorite header img{width:58px;height:58px;object-fit:contain}.vc-favorite h3{margin:0;font-size:24px}.vc-favorite label{margin-left:auto;font-size:11px;display:grid;gap:4px}.vc-favorite select{max-width:200px;padding:8px;border-radius:9px;border:1px solid #ffffff55;background:#102b46;color:white}.vc-fav-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:20px;margin:24px 0}.vc-fav-grid small{font-size:10px;letter-spacing:1px;color:#dce8ef}.vc-fav-grid h4{margin:8px 0}.vc-favorite>div>small{display:block;font-size:10px;margin-top:12px;opacity:.8}.vc-form{display:flex;gap:6px;margin-top:10px}.vc-form span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;font-size:12px;font-weight:800}.vc-form-G{background:#078761}.vc-form-M{background:#a92b48}.vc-form-B{background:#586879}.vc-favorite time{font-size:12px}.vc-favorite [data-countdown]{font-weight:750;font-size:13px}
.vc-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.vc-filters label{display:grid;gap:5px;font-size:12px;flex:1;min-width:130px}.vc-filters select{width:100%}.vc-history progress{width:100%;height:8px;accent-color:#12a6ac;margin-bottom:18px}.vc-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:850px;overflow-y:auto;padding:3px}.vc-result-card{text-align:left;border:1px solid var(--border-color);border-top:3px solid #9cabb7;border-radius:15px;padding:16px;background:var(--bg-color);color:var(--text-main);cursor:pointer;min-width:0;font:inherit;transition:transform .15s}.vc-result-card:hover{transform:translateY(-2px)}.vc-result-card.won{border-top-color:#12a78f}.vc-result-card.lost{border-top-color:#d66a7f}.vc-result-card h4{line-height:1.5;margin:10px 0;font-size:14px}.vc-result-card>strong{font-size:12px}.vc-score-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0;margin:8px 0;border-block:1px solid var(--border-color)}.vc-score-pair span{font-size:9px;letter-spacing:1px;color:var(--text-muted)}.vc-score-pair b{display:block;font-size:22px;margin-top:6px;color:var(--text-main);letter-spacing:0}.vc-legacy-table summary{cursor:pointer;padding:14px}
@keyframes vc-reveal{from{opacity:.2;transform:translateY(12px) scale(.95)}to{opacity:1;transform:none}}
@media(max-width:700px){.vc-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vc-fav-grid{grid-template-columns:1fr}.vc-favorite{padding:18px}.vc-favorite label{margin-left:0}.vc-panel{padding:13px}#modal-header-area .modal-team img{width:50px;height:50px}#modal-header-area .modal-team b{font-size:13px}#modal-header-area .modal-score{font-size:32px;letter-spacing:0}#player-modal .ov-player-identity{min-width:0}#player-modal .ov-player-hero{padding:16px}.vc-compare-row{grid-template-columns:28px 1fr 50px 1fr 28px;gap:4px}.vc-metrics strong{font-size:22px}.vc-event{flex-basis:155px}.tow-name{font-size:10px!important}.vc-tow-reason{font-size:9px}.ovt-ball{min-height:150px}}
@media(max-width:420px){.vc-history-grid{grid-template-columns:1fr}.vc-favorite h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.ovt-ball.revealed,.vc-result-card{animation:none!important;transition:none!important}}
.vc-rating-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:12px 0}.vc-rating-strip>div{background:var(--bg-color);padding:10px 4px;border-radius:12px;text-align:center}.vc-rating-strip strong{display:block;color:var(--accent-green);font-size:22px}.vc-rating-strip small{font-size:9px;overflow-wrap:anywhere}
.tow-row{flex-wrap:nowrap!important;justify-content:space-around!important}.tow-row .tow-player{flex:1 1 0;width:auto!important;min-width:0;max-width:95px}.vc-tow-reason{border:0;background:transparent;color:#d9fff3;font:inherit;font-size:9px;cursor:pointer;padding:5px 0;white-space:normal}.tow-name-row{max-width:100%}.tow-name{overflow-wrap:anywhere}.tow-row .tow-photo-wrap{max-width:100%}
@media(max-width:420px){.tow-row .tow-photo-wrap{width:48px;height:48px}.tow-row .tow-photo-inner{width:100%;height:100%}.tow-row .tow-team-logo{width:12px!important;height:12px!important}.tow-row .tow-name-row{gap:2px}.tow-row .tow-name{font-size:9px!important}}

/* Explicit foreground for light cards inside dark hero sections. */
#player-modal .ov-player-hero #scout-profile-box{color:var(--text-main);background:var(--card-bg)}
.vc-favorite button{color:var(--text-main);background:var(--card-bg)}
.vc-history-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));max-height:none;overflow:visible;padding:0;gap:18px}
.vc-history .ai-banko-card{min-width:0;cursor:pointer;color:var(--text-main)}
.vc-history .ai-card-header{gap:10px;flex-wrap:wrap}.vc-history .ai-card-title{overflow-wrap:anywhere}
.vc-history .vc-history-date{font-size:12px;color:var(--text-muted);margin:8px 0 14px}
.vc-history .vc-history-outcome{border-top:1px solid var(--border-color);padding-top:12px;margin-top:14px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}
.vc-history .vc-history-outcome b{color:var(--text-main)}
/* Overflowing centered flex tabs had an unreachable negative start edge. */
#match-modal .modal-nav,#player-modal .modal-nav{justify-content:flex-start;display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;min-width:0;scroll-padding-inline:4px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
#match-modal .modal-nav>.modal-nav-btn,#player-modal .modal-nav>.modal-nav-btn{flex:0 0 auto;white-space:nowrap}

/* Takım adları harf ortasından bölünmesin (Galatasara-y, Keçiöreng-ücü) */
#modal-header-area .modal-team b,#match-modal .modal-team b,.modal-team b{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
@media(max-width:700px){#modal-header-area .modal-teams{gap:8px}#modal-header-area .modal-score-box{flex:0 0 auto;max-width:104px}#modal-header-area .modal-match-minute{white-space:normal;text-align:center;line-height:1.25;font-size:10.5px;padding:3px 8px}}
