:root{--bg: #fdf8ee;--surface: #ffffff;--surface-2: #faf3e0;--bg-alt: #f5ecda;--border: #ddd0b8;--border-hover: #b8a080;--text: #1e160e;--text-muted: #7a6a52;--text-dim: #a89070;--accent: #16a34a;--accent-dark: #14532d;--accent-light: #bbf7d0;--accent-bg: #f0fdf4;--accent-text: #14532d;--accent-glow: rgba(22,163,74,.2);--primary-soft: #dcfce7;--gold: #b45309;--gold-dark: #92400e;--gold-light: #fef3c7;--gold-bg: #fffbeb;--amber: #b45309;--amber-bg: #fffbeb;--danger: #dc2626;--danger-bg: #fff1f1;--danger-dark: #991b1b;--success: #16a34a;--radius: 18px;--radius-sm: 11px;--radius-xs: 7px;--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--shadow: 0 2px 10px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.04);--shadow-md: 0 6px 28px rgba(0,0,0,.11);--shadow-glow: 0 0 0 3px rgba(22,163,74,.2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg);background-image:radial-gradient(var(--border) 1.5px,transparent 1.5px);background-size:26px 26px;color:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.landing{min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.landing-glow{position:absolute;bottom:-5%;left:50%;transform:translate(-50%);width:600px;height:300px;background:radial-gradient(ellipse at center,rgba(22,163,74,.15) 0%,transparent 70%);pointer-events:none}.landing-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(22,163,74,.04) 0px,rgba(22,163,74,.04) 1px,transparent 1px,transparent 40px),repeating-linear-gradient(90deg,rgba(22,163,74,.04) 0px,rgba(22,163,74,.04) 1px,transparent 1px,transparent 40px);pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at 50% 80%,rgba(0,0,0,.6) 0%,transparent 65%);mask-image:radial-gradient(ellipse at 50% 80%,rgba(0,0,0,.6) 0%,transparent 65%)}.landing-content{position:relative;text-align:center;padding:40px 24px;animation:scaleIn .6s cubic-bezier(.16,1,.3,1) both}.landing-ball{font-size:72px;display:block;margin-bottom:24px;animation:bounce 2s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}.landing-title{font-family:var(--font-display);font-size:clamp(40px,9vw,72px);font-weight:800;letter-spacing:-.04em;color:var(--text);line-height:1;animation:fadeInUp .5s .15s cubic-bezier(.16,1,.3,1) both}.landing-subtitle{display:inline-block;font-family:var(--font-display);font-size:clamp(16px,3.5vw,22px);font-weight:700;color:var(--surface);background:var(--accent);margin-top:14px;padding:4px 16px;border-radius:99px;letter-spacing:.08em;animation:fadeInUp .5s .22s cubic-bezier(.16,1,.3,1) both}.landing-hint{font-size:14px;color:var(--text-muted);margin-top:36px;max-width:280px;margin-left:auto;margin-right:auto;line-height:1.6;background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius-sm);padding:14px 18px;animation:fadeInUp .5s .3s cubic-bezier(.16,1,.3,1) both}.app-header{background:var(--accent-dark);border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:100;padding:0 16px}.app-header-inner{max-width:720px;margin:0 auto;height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px}.app-brand{font-family:var(--font-display);font-size:16px;font-weight:800;color:#ffffffd9;letter-spacing:-.02em;white-space:nowrap}.app-brand span{color:var(--accent-light)}.header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.score-pill{display:inline-flex;align-items:center;gap:5px;background:#ffffff26;border:1.5px solid rgba(255,255,255,.25);color:#fff;font-family:var(--font-display);font-size:13px;font-weight:700;padding:4px 11px;border-radius:99px;white-space:nowrap}.player-name-pill{font-size:13px;font-weight:600;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.admin-pill{background:var(--gold-light);border:1.5px solid var(--gold);color:var(--gold);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 10px;border-radius:99px}.container{max-width:720px;margin:0 auto;padding:24px 16px 56px}.section{margin-top:32px}.section:first-child{margin-top:0}.section-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:14px;padding-left:10px;border-left:3px solid var(--accent);display:flex;align-items:center;gap:7px}.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.match-card{background:var(--surface);border:2px solid var(--border);border-top:5px solid var(--accent);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) both;transition:box-shadow .2s,transform .2s}.match-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.match-card-header{padding:14px 20px 12px;border-bottom:2px dashed var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2)}.match-stage{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.match-time{font-size:12px;color:var(--text-muted);font-weight:500;white-space:nowrap}.match-teams-row{padding:22px 20px 18px;display:flex;align-items:center;gap:12px}.match-team{flex:1;text-align:center}.match-team-name{font-family:var(--font-display);font-size:clamp(15px,3.5vw,21px);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--text)}.match-vs{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--surface);background:var(--text-dim);padding:3px 8px;border-radius:99px;flex-shrink:0}.match-result-display{display:flex;align-items:center;justify-content:center;gap:8px;padding:2px 0 10px}.match-score{font-family:var(--font-display);font-size:40px;font-weight:800;letter-spacing:-.04em;color:var(--accent)}.match-score-sep{font-family:var(--font-display);font-size:30px;font-weight:700;color:var(--text-dim)}.status-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:99px}.status-badge.finished{background:var(--accent-bg);color:var(--accent-text);border:1.5px solid var(--accent-light)}.status-badge.scheduled{background:var(--surface-2);color:var(--text-muted);border:1.5px solid var(--border)}.tip-section{padding:18px 20px 22px;border-top:2px dashed var(--border);display:flex;flex-direction:column;gap:16px}.tip-section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim)}.field-label{font-size:12px;font-weight:700;color:var(--text-muted);margin-bottom:8px;display:block;text-transform:uppercase;letter-spacing:.05em}.chip-group{display:flex;gap:7px;flex-wrap:wrap}.chip{position:relative;flex:1;min-width:70px}.chip input[type=radio]{position:absolute;opacity:0;width:0;height:0}.chip label{display:flex;align-items:center;justify-content:center;padding:9px 12px;background:var(--surface-2);border:2px solid var(--border);border-radius:99px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;text-align:center;transition:all .15s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.chip label:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.chip input[type=radio]:checked+label{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;box-shadow:0 3px 0 var(--accent-dark);transform:translateY(-1px)}.score-row{display:flex;align-items:center;gap:12px}.score-input-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.score-input-wrap span{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.score-input{width:100%;max-width:76px;text-align:center;font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--text);background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-sm);border-bottom:4px solid var(--border);padding:10px 6px;outline:none;transition:border-color .15s,box-shadow .15s;-moz-appearance:textfield}.score-input::-webkit-inner-spin-button,.score-input::-webkit-outer-spin-button{-webkit-appearance:none}.score-input:focus{border-color:var(--accent);border-bottom-color:var(--accent-dark);box-shadow:var(--shadow-glow)}.score-colon{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--text-dim);flex-shrink:0}.check-row{display:flex;align-items:center;gap:9px;cursor:pointer;padding:8px 12px;background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius-xs);transition:border-color .15s}.check-row:hover{border-color:var(--accent)}.check-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:14px;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s;text-decoration:none;outline:none;-webkit-user-select:none;user-select:none;white-space:nowrap;position:relative}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 5px 0 var(--accent-dark);transform:translateY(0)}.btn-primary:hover:not(:disabled){background:#19c060;transform:translateY(-1px);box-shadow:0 6px 0 var(--accent-dark)}.btn-primary:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--accent-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border:2px solid var(--border);box-shadow:0 4px 0 var(--border);transform:translateY(0)}.btn-secondary:hover:not(:disabled){border-color:var(--border-hover);box-shadow:0 4px 0 var(--border-hover);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--border-hover)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:2px solid rgba(220,38,38,.3);box-shadow:0 4px #dc262640}.btn-danger:hover:not(:disabled){background:#ffd7d7;transform:translateY(-1px);box-shadow:0 5px #dc262640}.btn-danger:active:not(:disabled){transform:translateY(3px);box-shadow:none}.btn-block{width:100%}.btn-sm{padding:7px 14px;font-size:12px;box-shadow:0 3px 0 var(--accent-dark)}.btn-secondary.btn-sm{box-shadow:0 3px 0 var(--border)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;animation:fadeIn .2s ease;border-left:4px solid}.alert-success{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent)}.alert-error{background:var(--danger-bg);color:var(--danger-dark);border-color:var(--danger)}.alert-info{background:var(--gold-bg);color:var(--gold-dark);border-color:var(--gold)}.leaderboard{display:flex;flex-direction:column;gap:4px}.lb-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-radius:var(--radius-sm);border:2px solid transparent;transition:background .15s;animation:fadeInUp .3s cubic-bezier(.16,1,.3,1) both}.lb-row:hover{background:var(--surface-2);border-color:var(--border)}.lb-row.top-1{background:linear-gradient(to right,#fffbeb,#fef9e0);border-color:#b453094d}.lb-row.top-2{background:linear-gradient(to right,#f8f8f8,#f2f2f2);border-color:#64646426}.lb-row.top-3{background:linear-gradient(to right,#fff8f4,#fef0e6);border-color:#b4643c33}.lb-rank{font-family:var(--font-display);font-size:16px;font-weight:800;color:var(--text-dim);width:30px;text-align:center;flex-shrink:0}.lb-name{flex:1;font-size:14px;font-weight:700;color:var(--text)}.lb-points{font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--accent)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.field input[type=text],.field input[type=number],.field select{width:100%;padding:10px 14px;background:var(--surface);border:2px solid var(--border);border-bottom:3px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none}.field input:focus,.field select:focus{border-color:var(--accent);border-bottom-color:var(--accent-dark);box-shadow:var(--shadow-glow)}.field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237a6a52' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-color:var(--surface);padding-right:34px}.inline-form{display:flex;gap:10px;align-items:flex-end}.inline-form .field{flex:1}.link-box{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--surface-2);border:2px dashed var(--border);border-radius:var(--radius-sm);font-size:13px;word-break:break-all;animation:fadeIn .3s ease}.link-box a{color:var(--accent);text-decoration:none;font-weight:600}.link-box a:hover{text-decoration:underline}.result-row{display:flex;align-items:center;gap:12px}.result-row .field{flex:1}.result-sep{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--text-dim);padding-bottom:4px;flex-shrink:0}.unauth{min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px 24px;animation:fadeIn .3s ease}.unauth-inner{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow-md);max-width:360px}.unauth-inner h2{font-family:var(--font-display);font-size:22px;font-weight:800;margin-bottom:10px}.unauth-inner p{font-size:14px;color:var(--text-muted);line-height:1.6}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{gap:8px}.stack-lg{gap:24px}.empty{text-align:center;padding:36px 20px;color:var(--text-muted);font-size:14px;background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius)}.match-card:nth-child(1){animation-delay:.03s}.match-card:nth-child(2){animation-delay:.07s}.match-card:nth-child(3){animation-delay:.11s}.match-card:nth-child(4){animation-delay:.15s}.match-card:nth-child(5){animation-delay:.19s}.match-card:nth-child(6){animation-delay:.23s}.match-card:nth-child(7){animation-delay:.27s}.match-card:nth-child(8){animation-delay:.31s}.lb-row:nth-child(1){animation-delay:.04s}.lb-row:nth-child(2){animation-delay:.07s}.lb-row:nth-child(3){animation-delay:.1s}.lb-row:nth-child(4){animation-delay:.13s}.lb-row:nth-child(5){animation-delay:.16s}.lb-row:nth-child(6){animation-delay:.19s}.lb-row:nth-child(7){animation-delay:.22s}.lb-row:nth-child(8){animation-delay:.25s}.tab-bar{display:flex;gap:4px;padding:10px 12px;border-bottom:3px solid var(--border);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--surface)}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;padding:7px 16px;border-radius:99px;font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text-muted);background:none;border:2px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap;outline:none}.tab-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border)}.tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 0 var(--accent-dark)}.matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:2px solid var(--border);background:var(--surface)}.matrix-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px}.matrix-table th,.matrix-table td{padding:10px 12px;border-bottom:2px solid var(--surface-2);white-space:nowrap;text-align:center}.matrix-table th{background:var(--surface-2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);position:sticky;top:0;z-index:2;border-bottom:2px solid var(--border)}.matrix-table .col-player{text-align:left;position:sticky;left:0;z-index:3;background:var(--surface);min-width:120px;max-width:160px}.matrix-table th.col-player{background:var(--surface-2);z-index:4}.matrix-table tr:last-child td{border-bottom:none}.matrix-table tbody tr{transition:background .12s;cursor:pointer}.matrix-table tbody tr:hover td,.matrix-table tbody tr:hover td.col-player{background:var(--surface-2)}.matrix-table tbody tr.selected td,.matrix-table tbody tr.selected td.col-player{background:var(--accent-bg)}.cell-tipped{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.cell-tend{font-size:11px;font-weight:800;color:var(--accent-text);background:var(--accent-bg);padding:1px 5px;border-radius:4px;text-transform:uppercase}.cell-score{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--text-muted)}.cell-empty{color:var(--text-dim);font-size:16px}.player-cell-name{font-weight:700;font-size:13px;color:var(--text)}.ai-badge{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);background:var(--gold-light);border:1.5px solid rgba(180,83,9,.3);padding:1px 6px;border-radius:4px;margin-left:5px;vertical-align:middle}.tip-edit-panel{margin-top:12px;border:2px solid var(--accent);border-radius:var(--radius);overflow:hidden;animation:fadeInUp .25s cubic-bezier(.16,1,.3,1) both;box-shadow:var(--shadow-md)}.tip-edit-header{padding:14px 18px;background:var(--accent);border-bottom:3px solid var(--accent-dark);display:flex;align-items:center;justify-content:space-between;gap:12px}.tip-edit-header h3{font-family:var(--font-display);font-size:15px;font-weight:800;color:#fff}.tip-edit-scroll{display:flex;gap:12px;overflow-x:auto;padding:16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:var(--surface)}.tip-edit-match{flex-shrink:0;width:230px;background:var(--surface-2);border:2px solid var(--border);border-top:4px solid var(--accent);border-radius:var(--radius-sm);padding:14px;display:flex;flex-direction:column;gap:10px}.tip-edit-match-title{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text);text-align:center}.tip-edit-match-stage{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);text-align:center}.match-row{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:2px solid var(--surface-2);cursor:pointer;transition:background .15s;background:var(--surface)}.match-row:last-child{border-bottom:none}.match-row:hover{background:var(--surface-2)}.match-row.selected{background:var(--accent-bg)}.match-row-teams{flex:1;font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-row-stage{font-size:11px;color:var(--text-muted);font-weight:500;margin-top:2px}.player-row{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:2px solid var(--surface-2);background:var(--surface);transition:background .15s}.player-row:last-child{border-bottom:none}.player-row:hover{background:var(--surface-2)}.player-row-name{flex:1;font-size:14px;font-weight:700;color:var(--text)}.player-row-link{font-size:12px;color:var(--accent);text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.player-row-link:hover{text-decoration:underline}.lb-section-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);padding:10px 6px 6px}@media (max-width: 480px){.container{padding:16px 12px 44px}.match-teams-row{padding:16px 14px 14px}.match-card-header{padding:12px 14px 10px}.tip-section{padding:14px 14px 18px;gap:13px}.chip label{font-size:12px;padding:8px 10px}.btn-row{flex-direction:column}.btn-row .btn{width:100%}.inline-form{flex-direction:column}.tab-bar{gap:2px}.tab-btn{font-size:12px;padding:7px 13px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
