*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0e17;--surface: #141b2d;--surface2: #1a2440;--border: #2a3a5c;--text: #e8edf5;--textDim: #8899bb;--accent: #3b82f6;--accent2: #60a5fa;--green: #22c55e;--gold: #f59e0b;--red: #ef4444;--radius: 8px;--shadow: 0 4px 24px rgba(0,0,0,.3)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:0 16px}header{background:linear-gradient(135deg,#0f1a2e,#1a2a4a);border-bottom:1px solid var(--border);padding:20px 0;margin-bottom:24px}header h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent2),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}header .subtitle{color:var(--textDim);font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;margin-bottom:12px}.card h2{font-size:.85rem;font-weight:600;color:var(--accent2);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid var(--border)}.card h3{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:8px}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.match-row{display:grid;grid-template-columns:1fr auto auto auto 1fr;gap:4px;align-items:center;padding:3px 0;border-bottom:1px solid rgba(42,58,92,.4);font-size:.78rem}.match-row:last-child{border-bottom:none}.match-row .team{font-weight:500}.match-row .team.home{text-align:right}.match-row .team.away{text-align:left}.prediction-form input[type=number]::-webkit-inner-spin-button,.match-row input::-webkit-inner-spin-button,.rankings-table input::-webkit-inner-spin-button,.bracket-match input::-webkit-inner-spin-button{width:24px;height:32px;padding-left:8px;opacity:1}.results-list{display:flex;flex-wrap:wrap;gap:6px}.results-badge{display:inline-flex;align-items:center;gap:4px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:4px 10px;white-space:nowrap}.results-label{font-size:.75rem;color:var(--textDim)}.results-value{font-size:.85rem;font-weight:600;color:var(--text)}.match-row input{width:44px;padding:2px 2px 2px 4px;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:.82rem;font-weight:600}.match-row input:focus{outline:none;border-color:var(--accent)}.colon{color:var(--textDim);font-weight:700;font-size:.9rem}.standings-table{width:100%;border-collapse:collapse;font-size:.72rem}.standings-table th{text-align:left;padding:2px 3px;color:var(--textDim);font-weight:500;border-bottom:1px solid var(--border);font-size:.62rem;text-transform:uppercase;letter-spacing:.3px}.standings-table td{padding:2px 3px;border-bottom:1px solid rgba(42,58,92,.3)}.standings-table .pos1{color:var(--green);font-weight:600}.standings-table .pos2{color:var(--accent2);font-weight:600}.standings-table .pos3{color:var(--gold);font-weight:500}.standings-table .pos4{color:var(--red)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent2)}.btn-success{background:var(--green);color:#fff}.btn-success:hover:not(:disabled){background:#16a34a}.btn-gold{background:var(--gold);color:#000}.btn-gold:hover:not(:disabled){background:#d97706}.section{margin-bottom:32px}.section-title-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.section-title{font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:0}.btn-sm{font-size:.8rem;padding:5px 14px}.section-subtitle{color:var(--textDim);font-size:.85rem;margin-bottom:16px}.prediction-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.prediction-form label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--textDim)}.prediction-form select,.prediction-form input{padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.85rem}.prediction-form select:focus,.prediction-form input:focus{outline:none;border-color:var(--accent)}.knockout-section{display:none}.knockout-section.visible{display:block}.bracket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.bracket-match{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.bracket-match .match-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--textDim);margin-bottom:8px}.bracket-match .teams{display:grid;grid-template-columns:1fr 44px auto 44px 1fr;gap:6px;align-items:center;font-size:.85rem}.bracket-match .teams .team-name{font-weight:500}.bracket-match .teams .team-name.home{text-align:right}.bracket-match .teams .team-name.away{text-align:left}.bracket-match input{width:44px;padding:4px;text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.9rem;font-weight:700}.bracket-match input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #3b82f640}.champion-box{text-align:center;padding:24px;background:linear-gradient(135deg,var(--gold),#b45309);border-radius:var(--radius);color:#000;font-size:1.3rem;font-weight:700;margin-top:16px}.third-place-list{font-size:.82rem;color:var(--textDim);margin:8px 0}.third-place-list strong{color:var(--text)}.group-panel{display:block}.round-nav{display:flex;gap:12px;align-items:center;margin:16px 0}.standings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.matchday-badge{display:inline-block;font-size:.7rem;color:var(--textDim);background:#2a3a5c66;padding:1px 8px;border-radius:10px;margin-bottom:4px}.empty-state{text-align:center;padding:40px 20px;color:var(--textDim)}@media(max-width:768px){.groups-grid,.standings-grid,.bracket-grid{grid-template-columns:1fr}.prediction-form{grid-template-columns:1fr 1fr}}body.render-pdf *{background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body.render-pdf header{background:#fff!important;border-bottom:2px solid #000!important;padding:12px 0!important;margin-bottom:16px!important}body.render-pdf header h1{-webkit-text-fill-color:#000!important;background:none!important}body.render-pdf #print-name{display:block!important;color:#555!important}body.render-pdf .profile-selector,body.render-pdf #print-btn,body.render-pdf .btn,body.render-pdf .round-nav,body.render-pdf .round-nav button,body.render-pdf #guest-name-wrap,body.render-pdf #calc-status,body.render-pdf #suggest-btn{display:none!important}body.render-pdf #predictions-section{display:block!important}body.render-pdf .results-badge{background:transparent!important;border:none!important;padding:2px 6px!important}body.render-pdf .prediction-form select,body.render-pdf .prediction-form input{border:none!important;background:transparent!important;padding:0!important;font-weight:600;color:#000!important;display:inline;width:auto}body.render-pdf .prediction-form label{flex-direction:row;align-items:center;gap:6px}body.render-pdf #group-stage-section{display:block!important}body.render-pdf input.score-input,body.render-pdf input.ko-score{border:none!important;background:transparent!important;padding:0 1px!important;width:20px;font-weight:700;color:#000!important;-webkit-appearance:none;appearance:none}body.render-pdf input.score-input[type=number],body.render-pdf input.ko-score[type=number]{-moz-appearance:textfield}body.render-pdf .match-row{border-bottom:1px solid #ccc;page-break-inside:avoid}body.render-pdf #standings-section{display:block!important}body.render-pdf .standings-table td,body.render-pdf .standings-table th{color:#000!important;border-color:#ccc!important}body.render-pdf .standings-table .pos1{color:#15803d!important}body.render-pdf .standings-table .pos2{color:#1d4ed8!important}body.render-pdf .standings-table .pos3{color:#b45309!important}body.render-pdf .standings-table .pos4{color:#dc2626!important}body.render-pdf .knockout-section,body.render-pdf .knockout-section.visible{display:block!important}body.render-pdf .bracket-match{background:#f5f5f5!important;border:1px solid #ccc!important;page-break-inside:avoid;padding:8px}body.render-pdf .champion-box{background:#f5f5f5!important;border:2px solid #b45309!important;color:#000!important}body.render-pdf .card{border:1px solid #ccc!important;page-break-inside:avoid}body.render-pdf .groups-grid{grid-template-columns:1fr 1fr;gap:12px;page-break-inside:avoid}body.render-pdf .standings-grid{grid-template-columns:1fr 1fr;gap:12px}body.render-pdf .pdf-page-break-before{page-break-before:always!important}body.render-pdf #knockout-section{page-break-before:always}body.render-pdf .bracket-grid{grid-template-columns:1fr 1fr;gap:8px}body.render-pdf .section{margin-bottom:16px}body.render-pdf .section-title{font-size:1rem;color:#000!important}body.render-pdf .section-subtitle,body.render-pdf .subtitle,body.render-pdf .third-place-list{color:#555!important}body.render-pdf footer{display:none!important}body.render-pdf .match-day-badge{display:none!important}@media print{@page{margin:12mm;size:A4 portrait}*{background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}header{background:#fff!important;border-bottom:2px solid #000!important;padding:12px 0!important;margin-bottom:16px!important}header h1{-webkit-text-fill-color:#000!important;background:none!important}#print-name{display:block!important;color:#555!important}.profile-selector,#print-btn,.btn,.round-nav button,.round-nav,.matchday-badge,#prefill-btn,#calculate-btn,#calc-status,#suggest-btn,#r32-next-btn,#r16-next-btn,#qf-next-btn,#sf-next-btn,#prefill-r32,#prefill-r16,#prefill-qf,#prefill-sf,#prefill-final,.colon,#guest-name-wrap{display:none!important}#predictions-section{display:block!important}.results-badge{background:transparent!important;border:none!important;padding:2px 6px!important}.prediction-form select,.prediction-form input{border:none!important;background:transparent!important;padding:0!important;font-weight:600;color:#000!important;display:inline;width:auto}.prediction-form label{flex-direction:row;align-items:center;gap:6px}#group-stage-section{display:block!important}.match-row input.score-input{border:none!important;background:transparent!important;padding:0!important;width:24px;font-weight:700;color:#000!important;-webkit-appearance:none;appearance:none}input.score-input[type=number]{-moz-appearance:textfield}.match-row{border-bottom:1px solid #ccc;page-break-inside:avoid}#standings-section{display:block!important}.standings-table td,.standings-table th{color:#000!important;border-color:#ccc!important}.standings-table .pos1{color:#15803d!important}.standings-table .pos2{color:#1d4ed8!important}.standings-table .pos3{color:#b45309!important}.standings-table .pos4{color:#dc2626!important}.knockout-section,.knockout-section.visible,#round-r32,#round-r16,#round-qf,#round-sf,#round-final{display:block!important}.bracket-match{background:#f5f5f5!important;border:1px solid #ccc!important;page-break-inside:avoid;padding:8px}.bracket-match input.ko-score{border:none!important;background:transparent!important;padding:0!important;width:24px;font-weight:700;color:#000!important;-webkit-appearance:none;appearance:none}.champion-box{background:#f5f5f5!important;border:2px solid #b45309!important;color:#000!important}.card{border:1px solid #ccc!important;page-break-inside:avoid}.groups-grid{grid-template-columns:1fr 1fr;gap:12px;page-break-inside:avoid}.standings-grid{grid-template-columns:1fr 1fr;gap:12px}.pdf-page-break-before{page-break-before:always!important}#knockout-section{page-break-before:always}.bracket-grid{grid-template-columns:1fr 1fr;gap:8px}.section{margin-bottom:16px}.section-title{font-size:1rem;color:#000!important}.section-subtitle,.subtitle,.third-place-list{color:#555!important}}.top-nav{background:linear-gradient(135deg,#0f1a2e,#1a2a4a);border-bottom:1px solid var(--border);padding:10px 0;position:sticky;top:0;z-index:100}.nav-inner{display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:1rem;font-weight:700;text-decoration:none;color:var(--text)}.nav-links{display:flex;gap:4px}.nav-link{padding:4px 12px;border-radius:6px;font-size:.8rem;color:var(--textDim);text-decoration:none;transition:all .15s}.nav-link:hover{color:var(--text);background:#ffffff0d}.h1-trivia{display:inline-block;font-size:inherit;font-weight:700;text-decoration:none;color:#000;background:linear-gradient(135deg,var(--gold),#d97706);padding:2px 12px;border-radius:20px;vertical-align:middle;letter-spacing:.5px;animation:trivia-pulse 2.5s ease-in-out infinite;line-height:1.4}.h1-trivia:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:scale(1.05)}@keyframes trivia-pulse{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 0 6px #f59e0b00}}.bouncing-ball{display:inline-block;font-size:.7em;animation:ball-bounce 2.5s ease-in-out infinite}@keyframes ball-bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-3px)}50%{transform:translateY(0)}75%{transform:translateY(-2px)}}.apparition{position:fixed;z-index:90;font-size:2.6rem;cursor:pointer;user-select:none;opacity:0;line-height:1;transition:transform .1s}.apparition:hover{transform:scale(1.25)}.click-hint{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:99;font-size:.75rem;color:var(--textDim);opacity:.3;pointer-events:none;user-select:none;letter-spacing:.3px}.dino{animation:pop-dino 53s ease-in-out infinite}.leaf{animation:pop-leaf 43s ease-in-out infinite}.llama{animation:pop-llama 47s ease-in-out infinite}.burger{animation:pop-burger 61s ease-in-out infinite}.party{animation:pop-party 59s ease-in-out infinite}@keyframes pop-dino{0%,75%,to{opacity:0;transform:translate(-60px) scale(.3)}78%{opacity:1;transform:translate(20px) scale(1)}82%{opacity:1;transform:translate(40px) scale(1.2) rotate(-6deg)}86%{opacity:1;transform:translate(35px) scale(1) rotate(4deg)}90%{opacity:1;transform:translate(40px) scale(1.1) rotate(-3deg)}94%{opacity:0;transform:translate(-60px) scale(.3)}}@keyframes pop-leaf{0%,72%,to{opacity:0;transform:translate(60px,-40px) scale(.3) rotate(0)}75%{opacity:1;transform:translate(-20px,10px) scale(1) rotate(15deg)}80%{opacity:1;transform:translate(-40px,20px) scale(1.1) rotate(-10deg)}85%{opacity:1;transform:translate(-35px,30px) scale(1) rotate(8deg)}90%{opacity:1;transform:translate(-40px,15px) scale(1.05) rotate(-5deg)}94%{opacity:0;transform:translate(60px,-40px) scale(.3) rotate(0)}}@keyframes pop-llama{0%,72%,to{opacity:0;transform:translate(80px,-50%) scale(.3)}75%{opacity:1;transform:translate(-40px,-50%) scale(1)}79%{opacity:1;transform:translate(-30px,-120%) scale(1.1) rotate(360deg)}83%{opacity:1;transform:translate(-40px,-50%) scale(1)}88%{opacity:1;transform:translate(-35px,-60%) scale(1.05)}94%{opacity:0;transform:translate(80px,-50%) scale(.3)}}@keyframes pop-burger{0%,75%,to{opacity:0;transform:translateY(40px) scale(.3) rotate(-30deg)}78%{opacity:1;transform:translateY(0) scale(1) rotate(0)}82%{opacity:1;transform:translateY(-10px) scale(1.1) rotate(12deg)}86%{opacity:1;transform:translateY(0) scale(1) rotate(-6deg)}90%{opacity:1;transform:translateY(-6px) scale(1.05) rotate(6deg)}94%{opacity:0;transform:translateY(40px) scale(.3) rotate(-30deg)}}@keyframes pop-party{0%,72%,to{opacity:0;transform:scale(0) rotate(0)}75%{opacity:1;transform:scale(1) rotate(0)}79%{opacity:1;transform:scale(1.3) rotate(-15deg)}84%{opacity:1;transform:scale(1.1) rotate(8deg)}89%{opacity:1;transform:scale(1.2) rotate(-5deg)}94%{opacity:0;transform:scale(0) rotate(0)}}
