@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";html{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--c64-black: #000000;--c64-white: #ffffff;--c64-red: #880000;--c64-cyan: #aaffee;--c64-purple: #cc44cc;--c64-green: #00cc55;--c64-blue: #0000aa;--c64-yellow: #eeee77;--c64-orange: #dd8855;--c64-brown: #664400;--c64-light-red: #ff7777;--c64-dark-grey: #333333;--c64-grey: #777777;--c64-light-green: #aaff66;--c64-light-blue: #0088ff;--c64-light-grey: #bbbbbb;--bg-primary: #40318d;--bg-secondary: #352879;--text-primary: #7869c4;--text-bright: #b5a7ff;--accent: #70a4b2;--success: var(--c64-green);--danger: var(--c64-red);--warning: var(--c64-yellow)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Press Start 2P",monospace;font-size:12px;line-height:1.6;background-color:var(--bg-primary);color:var(--text-bright);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:1000}#root{min-height:100vh}.game-container{display:flex;flex-direction:column;min-height:100vh}.game-content{flex:1;padding:20px;max-width:1200px;margin:0 auto;width:100%}h1{font-size:24px;color:var(--text-bright);text-align:center;margin-bottom:24px;text-shadow:3px 3px 0 var(--c64-black)}h2{font-size:16px;color:var(--accent);margin-bottom:16px;text-shadow:2px 2px 0 var(--c64-black)}h3{font-size:12px;color:var(--text-primary);margin-bottom:12px}.navigation{background:var(--bg-secondary);border-bottom:4px solid var(--accent);padding:12px 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.nav-info{display:flex;gap:20px;font-size:10px}.nav-info .team-name{color:var(--c64-yellow);font-weight:700}.nav-info .money{color:var(--c64-green)}.nav-buttons{display:flex;gap:8px;flex-wrap:wrap}.nav-btn{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--text-primary);padding:8px 12px;font-family:inherit;font-size:10px;cursor:pointer;transition:all .1s}.nav-btn:hover{background:var(--text-primary);color:var(--bg-primary)}.nav-btn.active{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.nav-actions{display:flex;gap:8px}.btn{background:var(--bg-secondary);color:var(--text-bright);border:3px solid var(--text-primary);padding:10px 16px;font-family:inherit;font-size:11px;cursor:pointer;transition:all .1s;text-transform:uppercase}.btn:hover:not(:disabled){background:var(--text-primary);color:var(--bg-primary);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--c64-black)}.btn:active:not(:disabled){transform:translate(0);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--c64-black)}.btn.primary:hover:not(:disabled){background:var(--text-bright);border-color:var(--text-bright)}.btn.large{padding:16px 32px;font-size:14px}.btn.small{padding:6px 10px;font-size:9px}.btn.active{background:var(--accent);color:var(--c64-black);border-color:var(--accent)}.screen{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.main-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;text-align:center}.title-section{margin-bottom:48px}.game-title{font-size:36px;color:var(--c64-cyan);text-shadow:4px 4px 0 var(--c64-blue);margin-bottom:16px;animation:pulse 2s infinite}@keyframes pulse{0%,to{text-shadow:4px 4px 0 var(--c64-blue)}50%{text-shadow:4px 4px 20px var(--c64-light-blue)}}.subtitle{font-size:14px;color:var(--text-primary);margin-bottom:8px}.credit{font-size:10px;color:var(--c64-grey)}.menu-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:48px}.instructions{font-size:10px;color:var(--text-primary);line-height:2}.menu-section{max-width:600px;margin:0 auto}.hint{font-size:10px;color:var(--c64-grey);margin-bottom:20px}.team-selection{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.team-option{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border:2px solid transparent;transition:all .1s}.team-option:hover{border-color:var(--text-primary)}.team-option input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.custom-name-section{margin-bottom:24px}.text-input{width:100%;padding:12px;margin-top:8px;background:var(--bg-secondary);border:3px solid var(--text-primary);color:var(--text-bright);font-family:inherit;font-size:12px}.text-input:focus{outline:none;border-color:var(--accent)}.button-row{display:flex;gap:16px;justify-content:center}.data-table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border:3px solid var(--text-primary)}.data-table th{background:var(--accent);color:var(--c64-black);padding:10px 8px;text-align:left;font-size:10px}.data-table td{padding:8px;border-bottom:1px solid var(--bg-primary);font-size:10px}.data-table tr:hover{background:var(--bg-primary)}.data-table tr.selected{background:var(--accent);color:var(--c64-black)}.data-table tr.injured,.data-table tr.suspended{opacity:.6}.data-table tr.for-sale td:first-child:before{content:"$ "}.squad-container{display:grid;grid-template-columns:1fr 350px;gap:24px}.player-list{overflow-x:auto}.position{font-weight:700}.pos-gk{color:var(--c64-yellow)}.pos-def{color:var(--c64-cyan)}.pos-mid{color:var(--c64-green)}.pos-fwd{color:var(--c64-light-red)}.skill-bar,.stamina-bar{display:inline-block;height:8px;background:var(--c64-green);margin-right:8px;vertical-align:middle}.stamina-bar{background:var(--c64-cyan)}.injury-badge{background:var(--c64-red);color:var(--c64-white);padding:2px 6px;font-size:8px}.sale-badge{background:var(--c64-yellow);color:var(--c64-black);padding:2px 6px;font-size:8px}.suspended-badge{background:var(--c64-orange);color:var(--c64-black);padding:2px 6px;font-size:8px}.yellow-card-badge{background:var(--c64-yellow);color:var(--c64-black);padding:2px 6px;font-size:8px;opacity:.8}.warning{color:var(--c64-yellow)}.bid-badge{background:var(--c64-green);color:var(--c64-black);padding:2px 6px;font-size:8px;animation:pulse-bid 1s infinite}@keyframes pulse-bid{0%,to{opacity:1}50%{opacity:.6}}.player-details{background:var(--bg-secondary);border:3px solid var(--accent);padding:20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.detail label{color:var(--c64-grey);font-size:9px;display:block;margin-bottom:4px}.detail span{color:var(--text-bright)}.sell-section{border-top:2px solid var(--text-primary);padding-top:16px}.price-input{margin:12px 0}.price-input input{width:100%;padding:8px;background:var(--bg-primary);border:2px solid var(--text-primary);color:var(--text-bright);font-family:inherit;font-size:12px}.squad-summary{display:flex;gap:24px;justify-content:center;margin-top:20px;font-size:10px;color:var(--text-primary)}.tactics-container{display:grid;grid-template-columns:1fr 1fr;gap:24px}.formation-section{background:var(--bg-secondary);border:3px solid var(--text-primary);padding:20px}.current-formation{text-align:center;margin-bottom:24px}.formation-name{font-size:24px;color:var(--c64-cyan);display:block;margin-bottom:8px}.formation-numbers{color:var(--text-primary)}.preset-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.slider-row{margin-bottom:16px}.slider-row label{display:block;margin-bottom:8px}.slider-row .available{color:var(--c64-grey);font-size:9px;margin-left:8px}.slider-row input[type=range]{width:100%;accent-color:var(--accent)}.total-players{text-align:center;padding:12px;margin:16px 0;border:2px solid var(--text-primary)}.total-players.valid{border-color:var(--c64-green);color:var(--c64-green)}.total-players.invalid{border-color:var(--c64-red);color:var(--c64-red)}.pitch-visualization{background:var(--bg-secondary);border:3px solid var(--c64-green);padding:20px}.pitch{background:linear-gradient(180deg,#2d5a27,#3a7532);border:4px solid var(--c64-white);padding:20px;min-height:400px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.pitch:before{content:"";position:absolute;top:50%;left:10%;right:10%;height:2px;background:#ffffff80}.goalkeeper,.defense,.midfield,.attack{display:flex;justify-content:center;gap:16px}.player-dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;border:2px solid var(--c64-white)}.player-dot.gk{background:var(--c64-yellow);color:var(--c64-black)}.player-dot.def{background:var(--c64-cyan);color:var(--c64-black)}.player-dot.mid{background:var(--c64-green);color:var(--c64-black)}.player-dot.fwd{background:var(--c64-light-red);color:var(--c64-black)}.transfer-container{display:grid;grid-template-columns:2fr 1fr;gap:24px}.filter-buttons{display:flex;gap:8px;margin-bottom:16px}.market-list{max-height:400px;overflow-y:auto}.affordable{color:var(--c64-green)}.expensive{color:var(--c64-red)}.my-listings-section{background:var(--bg-secondary);border:3px solid var(--text-primary);padding:16px}.empty-message{color:var(--c64-grey);text-align:center;padding:20px}.player-preview{background:var(--bg-secondary);border:3px solid var(--accent);padding:16px;margin-top:16px}.preview-stats p{margin-bottom:8px;font-size:10px}.transfer-info{display:flex;gap:24px;justify-content:center;margin-top:20px;font-size:10px;color:var(--text-primary)}.message-banner{background:var(--c64-yellow);color:var(--c64-black);padding:12px;text-align:center;margin-bottom:16px;cursor:pointer;animation:flash .5s ease-out}@keyframes flash{0%,to{opacity:1}50%{opacity:.5}}.week-selector{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:24px;justify-content:center}.week-selector .current{border-color:var(--c64-yellow)}.fixtures-list{max-width:800px;margin:0 auto}.week-group{margin-bottom:24px}.week-group h3{margin-bottom:12px}.week-group h3.current-week{color:var(--c64-yellow)}.fixtures-table td{text-align:center}.fixtures-table .team{width:40%}.fixtures-table .team.home{text-align:right}.fixtures-table .team.away{text-align:left}.fixtures-table .score{width:20%;font-weight:700}.fixtures-table .player-team{color:var(--c64-yellow)}.fixtures-table tr.player-match{background:#70a4b233}.fixtures-table tr.upcoming .score{color:var(--c64-grey)}.division-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.division-tabs .player-division{border-color:var(--c64-yellow)}.table-container{max-width:900px;margin:0 auto}.league-table td,.league-table th{text-align:center}.league-table .team-name{text-align:left;padding-left:16px}.league-table .position{width:40px}.league-table .points{font-weight:700;color:var(--c64-cyan)}.league-table tr.player-team{background:#ee73}.league-table tr.player-team td{color:var(--c64-yellow)}.league-table tr.promotion-zone{border-left:4px solid var(--c64-green)}.league-table tr.relegation-zone{border-left:4px solid var(--c64-red)}.positive{color:var(--c64-green)}.negative{color:var(--c64-red)}.table-legend{display:flex;gap:24px;justify-content:center;margin-top:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:10px}.legend-item .dot{width:12px;height:12px;border-radius:2px}.legend-item.promotion .dot{background:var(--c64-green)}.legend-item.relegation .dot{background:var(--c64-red)}.click-hint{text-align:center;font-size:10px;color:var(--c64-grey);margin-bottom:16px}.clickable-table .clickable-row{cursor:pointer;transition:all .1s}.clickable-table .clickable-row:hover{background:var(--accent)!important;color:var(--c64-black)}.clickable-table .clickable-row:hover td{color:var(--c64-black)}.team-detail-screen .team-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.team-detail-screen .team-header h1{margin:0;flex:1;text-align:left}.your-team-badge{background:var(--c64-yellow);color:var(--c64-black);padding:6px 12px;font-size:10px}.team-stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.stat-box{background:var(--bg-secondary);border:2px solid var(--text-primary);padding:16px;text-align:center}.stat-box label{display:block;font-size:9px;color:var(--c64-grey);margin-bottom:8px}.stat-box span{font-size:16px;color:var(--text-bright)}.team-player-list{overflow-x:auto}.player-purchase-panel{background:var(--bg-secondary);border:3px solid var(--accent);padding:20px;margin-top:24px;max-width:500px}.player-purchase-panel h3{color:var(--c64-cyan);margin-bottom:16px}.offer-details{margin-bottom:20px}.offer-details p{font-size:10px;margin-bottom:8px}.offer-actions{display:flex;gap:12px}.warning-text{color:var(--c64-red);font-size:10px;margin-bottom:12px}.listed-info{color:var(--c64-yellow);font-size:10px;margin-bottom:12px}.bids-section{border:2px solid var(--c64-green);padding:12px;margin-bottom:16px;background:#00cc551a}.bids-section h3{color:var(--c64-green);margin-bottom:12px}.bid-item{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-primary);margin-bottom:8px}.bid-item:last-child{margin-bottom:0}.bid-info{display:flex;justify-content:space-between;align-items:center}.bidder-name{font-size:10px;color:var(--text-bright)}.bid-amount{font-size:12px;color:var(--c64-green);font-weight:700}.bid-actions{display:flex;gap:8px}.sell-actions{display:flex;gap:8px;margin-top:12px}.buy-section{border-top:2px solid var(--text-primary);padding-top:16px;margin-top:16px}.buy-section h3{margin-bottom:12px}.estimate-text,.budget-text,.hint-text{font-size:10px;margin-bottom:8px;color:var(--c64-grey)}.offer-input{margin:12px 0}.offer-input label{display:block;margin-bottom:4px;font-size:10px}.offer-input input{width:100%;padding:8px;background:var(--bg-primary);border:2px solid var(--text-primary);color:var(--text-bright);font-family:inherit;font-size:12px}.buy-actions{display:flex;gap:12px;margin-top:12px}.finances-container{display:grid;gap:24px;max-width:900px;margin:0 auto}.finance-section{background:var(--bg-secondary);border:3px solid var(--text-primary);padding:20px}.balance-grid,.expenses-grid,.income-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.balance-item,.expense-item,.income-item{padding:12px;background:var(--bg-primary)}.balance-item label,.expense-item label,.income-item label{display:block;font-size:9px;color:var(--c64-grey);margin-bottom:8px}.balance-item span,.expense-item span,.income-item span{font-size:14px}.expense-item.total,.income-item.total{grid-column:span 2;border-top:2px solid var(--accent)}.net-income{display:flex;justify-content:space-between;align-items:center;padding:12px;margin-top:16px;background:var(--bg-primary);border:2px solid var(--accent)}.net-income label{font-size:10px;color:var(--text-bright)}.net-income span{font-size:16px;font-weight:700}.weeks-solvent{margin-top:16px;font-size:10px;color:var(--c64-grey)}.loan-info{font-size:10px;margin-bottom:8px;color:var(--text-primary)}.loan-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:16px}.loan-input-group h3{margin-bottom:8px}.loan-input-group p{font-size:10px;color:var(--c64-grey);margin-bottom:12px}.input-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.input-row input{flex:1;padding:8px;background:var(--bg-primary);border:2px solid var(--text-primary);color:var(--text-bright);font-family:inherit;font-size:12px}.quick-amounts{display:flex;gap:8px;margin-bottom:12px}.match-screen .no-match{text-align:center;padding:48px}.main-match{max-width:700px;margin:0 auto 32px}.match-result{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:4px solid var(--text-primary);padding:24px;margin-bottom:24px}.match-result.win{border-color:var(--c64-green)}.match-result.loss{border-color:var(--c64-red)}.match-result.draw{border-color:var(--c64-yellow)}.team-side{flex:1;padding:16px}.team-side.home{text-align:right}.team-side.away{text-align:left}.team-side.player-team .team-name{color:var(--c64-yellow)}.team-name{font-size:14px}.score-display{display:flex;align-items:center;gap:16px;padding:0 24px}.score-display .score{font-size:36px;color:var(--c64-cyan)}.score-display .separator{font-size:24px;color:var(--c64-grey)}.match-events{background:var(--bg-secondary);border:3px solid var(--text-primary);padding:20px;position:relative;height:350px;display:flex;flex-direction:column}.skip-btn{position:absolute;top:12px;right:12px}.events-list{max-height:300px;overflow-y:auto}.event{display:flex;align-items:center;gap:12px;padding:8px;border-bottom:1px solid var(--bg-primary);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.event .minute{font-size:10px;color:var(--c64-grey);min-width:40px}.event .icon{font-size:16px}.event .description{font-size:10px;flex:1}.event.player-event{background:#70a4b233}.event.goal.player-event{color:var(--c64-green)}.event.goal.opponent-event{color:var(--c64-red)}.event.no-events{color:var(--c64-grey);justify-content:center}.other-results{max-width:600px;margin:0 auto 24px}.other-results h2{text-align:center}.results-table{margin-top:16px}.results-table td{text-align:center}.results-table .team{width:40%}.results-table .team.home{text-align:right}.results-table .team.away{text-align:left}.match-actions{display:flex;gap:16px;justify-content:center}.news-list{max-width:700px;margin:0 auto}.news-item{background:var(--bg-secondary);border:3px solid var(--text-primary);padding:20px;margin-bottom:16px}.news-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.news-header h3{color:var(--c64-cyan);margin:0}.news-date{font-size:9px;color:var(--c64-grey)}.news-content{font-size:10px;line-height:1.8}.no-news{text-align:center;padding:48px;color:var(--c64-grey)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-primary);border:2px solid var(--bg-secondary)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media(max-width:768px){body{font-size:10px}h1{font-size:18px}.game-title{font-size:24px}.navigation{flex-direction:column;align-items:stretch}.nav-info{justify-content:center;flex-wrap:wrap}.nav-buttons,.nav-actions{justify-content:center}.squad-container,.tactics-container,.transfer-container,.team-selection,.balance-grid,.expenses-grid{grid-template-columns:1fr}.expense-item.total{grid-column:span 1}.match-result{flex-direction:column;text-align:center}.team-side.home,.team-side.away{text-align:center}}.statistics-screen{max-width:1100px;margin:0 auto}.stats-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}.tab-btn{padding:10px 20px;background:var(--bg-secondary);border:2px solid var(--text-primary);color:var(--text-primary);font-family:inherit;font-size:10px;cursor:pointer;transition:all .2s}.tab-btn:hover{background:var(--accent);color:var(--c64-black)}.tab-btn.active{background:var(--text-bright);color:var(--c64-black);border-color:var(--text-bright)}.stats-content{background:var(--bg-secondary);border:3px solid var(--text-primary);padding:20px}.division-selector{display:flex;align-items:center;gap:16px;margin-bottom:24px;justify-content:center}.division-selector label{font-size:10px;color:var(--text-primary)}.division-selector select{padding:8px 16px;background:var(--bg-primary);border:2px solid var(--text-primary);color:var(--text-bright);font-family:inherit;font-size:10px;cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.stat-section{background:var(--bg-primary);border:2px solid var(--text-primary);padding:16px}.stat-section h3{font-size:10px;color:var(--c64-cyan);margin-bottom:12px;text-align:center}.stat-section .data-table{width:100%}.stat-section .data-table th,.stat-section .data-table td{padding:6px 8px;font-size:9px}.history-table{width:100%}.history-table tr.promoted{border-left:4px solid var(--c64-green)}.history-table tr.relegated{border-left:4px solid var(--c64-red)}.history-table .position{font-weight:700;color:var(--c64-cyan)}.no-data{text-align:center;padding:48px;color:var(--c64-grey)}.records-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.record-card{background:var(--bg-primary);border:2px solid var(--text-primary);padding:20px;text-align:center}.record-card h3{font-size:10px;color:var(--c64-cyan);margin-bottom:16px}.record-value{display:flex;flex-direction:column;gap:8px}.record-value .big-number{font-size:24px;color:var(--text-bright)}.record-value .record-detail{font-size:9px;color:var(--text-primary)}.no-record{font-size:10px;color:var(--c64-grey)}.clickable-link{color:var(--c64-cyan);cursor:pointer;text-decoration:underline;transition:color .2s}.clickable-link:hover{color:var(--c64-yellow)}.player-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.player-modal{background:var(--bg-secondary);border:4px solid var(--text-primary);padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.player-modal h2{color:var(--c64-cyan);margin-bottom:16px;text-align:center}.player-modal h3{color:var(--accent);margin:16px 0 12px;font-size:12px;border-bottom:1px solid var(--text-primary);padding-bottom:4px}.player-modal .detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.player-modal .detail{display:flex;justify-content:space-between;padding:4px 8px;background:var(--bg-primary);font-size:10px}.player-modal .detail label{color:var(--text-primary)}.player-modal .detail span{color:var(--text-bright)}.player-modal .btn{margin-top:20px;width:100%}@media(max-width:768px){.stats-grid,.records-grid{grid-template-columns:1fr}.tab-btn{padding:8px 12px;font-size:9px}.player-modal .detail-grid{grid-template-columns:1fr}}
