:root{--navy: #0e1a35;--navy-deep: #060d1c;--navy-light: #1c3159;--red: #e31b23;--red-dark: #ab1219;--sky: #4fd0e1;--sky-dark: #2aa9bb;--sky-tint: #e6fafc;--white: #ffffff;--cream: #f6f7f9;--gray-tint: #eceff1;--text: #101426;--text-muted: #6b7280;--border: #e4e7f0;--success: #2e9e4f;--shadow-sm: 0 2px 6px rgba(14, 26, 53, .08);--shadow-md: 0 8px 24px rgba(14, 26, 53, .16);--shadow-lg: 0 16px 40px rgba(14, 26, 53, .22);--shadow-glow-red: 0 6px 18px rgba(227, 27, 35, .38);--shadow-glow-sky: 0 6px 18px rgba(79, 208, 225, .42);--radius-sm: 14px;--radius-md: 20px;--radius-lg: 26px;--font-display: "Bebas Neue", "Arial Narrow", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);font-family:var(--font-body)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{margin:0;color:var(--text);font-family:var(--font-body);background-color:var(--navy-deep);background-image:linear-gradient(#0e1a35d1,#0e1a35d1),url(/assets/grass-field-DI79_Pc-.jpg);background-repeat:repeat;background-size:520px auto}h1,h2,h3{font-family:var(--font-display);letter-spacing:.3px}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--cream);box-shadow:0 0 32px #14172f1a;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.header{background:linear-gradient(135deg,#0e1a35ed,#060d1cf5),url(/assets/grass-field-DI79_Pc-.jpg) center 30% / cover;color:#fff;padding:20px 20px 22px;position:relative;overflow:hidden;animation:headerSlideDown .4s var(--ease-out)}.header:after{content:"";position:absolute;right:-40px;top:-60px;width:160px;height:160px;background:radial-gradient(circle,#4fd0e159,#4fd0e100 70%);pointer-events:none}.header:before{content:"";position:absolute;left:-30px;bottom:-50px;width:130px;height:130px;background:radial-gradient(circle,#e31b2340,#e31b2300 70%);pointer-events:none}.header-inner{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.header-inner:after{content:"";position:absolute;inset:-20px -20px auto auto;width:220px;height:3px;transform:rotate(-32deg) translate(30px,40px);background:repeating-linear-gradient(90deg,rgba(79,208,225,.5) 0 3px,transparent 3px 9px);pointer-events:none;z-index:-1}.header h1{margin:0;font-size:24px;letter-spacing:.4px;line-height:1}.header p{margin:4px 0 0;font-size:12.5px;color:#a9b3d6;font-weight:500}.brand-logo{filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));animation:logoPop .6s var(--ease-bounce)}.brand-hero{display:flex;justify-content:center;padding:28px 0 8px}.home-screen{padding-top:26px}.menu-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px 56px;position:relative;overflow:hidden;text-align:center;background:linear-gradient(180deg,#1c3159e0,#060d1cf0),url(/assets/grass-field-DI79_Pc-.jpg) center / cover}.menu-logo-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:44px}.menu-logo{filter:drop-shadow(0 12px 28px rgba(0,0,0,.45))}.menu-tagline{margin-top:16px;font-family:var(--font-display);letter-spacing:2.5px;font-size:14px;color:var(--sky)}.menu-tagline b{color:#fff}.menu-actions{width:100%;max-width:340px;display:flex;flex-direction:column;gap:14px}.menu-action-btn{display:flex;align-items:center;gap:14px;width:100%;padding:16px 22px;border-radius:999px;border:none;background:#fffffff7;color:var(--navy);font-size:16px;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:0 10px 26px #0000004d;transition:transform .15s var(--ease-bounce)}.menu-action-btn:active{transform:scale(.96)}.menu-action-btn.primary{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff}.menu-action-btn.logout{background:#ffffff1f;color:#fff;border:1.5px solid rgba(255,255,255,.28);box-shadow:none}.menu-action-btn .icon{font-size:21px;width:26px;text-align:center;flex-shrink:0}.home-logo-hero{display:flex;justify-content:center;padding:4px 0 20px}.home-logo-hero .brand-logo{filter:drop-shadow(0 8px 20px rgba(14,26,53,.22));animation:logoPop .7s var(--ease-bounce)}.section-title{font-family:var(--font-display);text-transform:uppercase;font-size:25px;letter-spacing:.4px;color:var(--navy);margin:4px 0 12px}.btn-pill{border-radius:999px}.screen{padding:18px 18px 96px;flex:1;animation:fadeSlideIn .32s cubic-bezier(.22,1,.36,1)}.back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:14px;color:var(--navy);font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s ease}.back-link:active{transform:translate(-3px)}.card{border:1px solid var(--border);border-radius:var(--radius-md);padding:15px 17px;margin-bottom:12px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out);animation:cardIn .42s var(--ease-out) both}a.card:active,.card.tappable:active{transform:scale(.98);box-shadow:none}a.card,.card.tappable{cursor:pointer}@media (hover: hover){a.card:hover,.card.tappable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}.stagger-in>*{animation:cardIn .42s var(--ease-out) both}.stagger-in>*:nth-child(1){animation-delay:.03s}.stagger-in>*:nth-child(2){animation-delay:.09s}.stagger-in>*:nth-child(3){animation-delay:.15s}.stagger-in>*:nth-child(4){animation-delay:.21s}.stagger-in>*:nth-child(5){animation-delay:.27s}.stagger-in>*:nth-child(6){animation-delay:.33s}.stagger-in>*:nth-child(n+7){animation-delay:.38s}.card-title{font-weight:700;font-size:15px;margin:0 0 4px;color:var(--navy);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.card-sub{font-size:13px;color:var(--text-muted);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:none;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;margin-bottom:10px;transition:transform .15s var(--ease-bounce),box-shadow .15s ease,filter .12s ease;position:relative;overflow:hidden;isolation:isolate}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.35) 42%,rgba(255,255,255,.35) 46%,transparent 68%);transform:translate(-120%);pointer-events:none}.btn>*{position:relative;z-index:1}@media (hover: hover){.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):hover:before{transform:translate(120%);transition:transform .55s ease}}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.6;transform:none}.btn-primary{background:linear-gradient(135deg,var(--red) 0%,var(--red-dark) 100%);color:#fff;box-shadow:var(--shadow-glow-red)}.btn-primary:active{filter:brightness(.94)}.btn-secondary{background:var(--sky-tint);color:var(--sky-dark);border:1.5px solid var(--sky)}.btn-secondary:active{background:var(--sky);color:#fff}.btn-outline{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}.btn-outline:active{background:var(--navy);color:#fff}.btn-danger{background:#fdeaea;color:var(--red-dark)}.btn-goal-for{background:#eaf6ec;color:#1d7a37;border:1.5px solid var(--success)}.btn-goal-for:active{background:var(--success);color:#fff}.btn-goal-against{background:#fdeaea;color:var(--red-dark);border:1.5px solid var(--red)}.btn-goal-against:active{background:var(--red);color:#fff}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--navy)}.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px #6fc7d940}.field textarea{resize:vertical;min-height:70px}.row{display:flex;gap:10px}.row>*{flex:1}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.skeleton{border-radius:var(--radius-md);height:64px;margin-bottom:12px;background:linear-gradient(90deg,var(--gray-tint) 25%,#f3f4f6 37%,var(--gray-tint) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}.scoreboard{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;border-radius:var(--radius-md);padding:16px 20px;margin-bottom:14px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.scoreboard:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 40%,rgba(111,199,217,.12) 50%,transparent 60%);pointer-events:none}.scoreboard .score{font-family:var(--font-display);font-size:40px;letter-spacing:.5px;font-variant-numeric:tabular-nums;animation:scorePop .4s cubic-bezier(.34,1.56,.64,1)}.scoreboard .label{font-size:11px;color:var(--sky);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.scoreboard.scoreboard-teams{justify-content:space-between;gap:6px;border-radius:26px;padding:18px 14px}.scoreboard-team{flex:1;min-width:0;text-align:center;position:relative;z-index:1}.scoreboard-team-name{display:block;font-family:var(--font-display);font-size:20px;letter-spacing:.4px;line-height:1.15;color:#fff;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.scoreboard-team.away .scoreboard-team-name{color:var(--sky)}.scoreboard-center{flex:0 0 auto;text-align:center;padding:0 8px;position:relative;z-index:1}.scoreboard .score-x{font-size:.55em;opacity:.55;margin:0 3px}.header-slim{padding:14px 16px 16px}.timers{display:flex;gap:10px;margin-bottom:14px}.timer-box{flex:1;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center;background:#fff;position:relative}.timer-box.running{border-color:var(--sky);box-shadow:0 0 0 3px #6fc7d933}.timer-box.running:before{content:"";position:absolute;top:9px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulseDot 1.1s ease infinite}.timer-box.stoppage{background:#fff8e1;border-color:#f9a825}.timer-box.stoppage .time{color:#b26a00}.timer-box.stoppage.running:before{background:#f9a825}.pill-stoppage{background:#fff3cd;color:#8a5a00;animation:amberPulse 1.6s ease infinite}.btn-stoppage{background:linear-gradient(135deg,#ffc94a,#f9a825);color:#4a3300;box-shadow:0 6px 18px #f9a82566}.btn-stoppage:active{filter:brightness(.95)}.timer-box .time{font-family:var(--font-display);font-size:27px;letter-spacing:.4px;font-variant-numeric:tabular-nums;color:var(--navy)}.timer-box .label{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700}.event-grid{display:flex;flex-direction:column;margin-bottom:16px}.event-group-row{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-bottom:10px}.event-group-row-standalone{margin-top:16px}.event-group-row .event-btn-wrap{position:relative;flex:1 1 130px;max-width:200px}.event-group-row-single .event-btn-wrap{flex:0 1 220px;max-width:260px}.event-btn-wrap .event-btn{flex:none;max-width:none;width:100%}.event-btn-check{position:absolute;top:-9px;right:-6px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--success);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #00000047;pointer-events:none;z-index:3}.event-btn{border:1.5px solid var(--border);background:#fff;border-radius:var(--radius-sm);padding:13px 6px;font-size:12px;font-weight:700;text-align:center;cursor:pointer;line-height:1.3;color:var(--navy);transition:transform .1s ease,box-shadow .1s ease,background .1s ease}.event-btn:active{transform:scale(.92);background:var(--sky-tint);border-color:var(--sky)}.event-btn:disabled{opacity:.4;cursor:not-allowed;animation:none}.event-btn:disabled:active{transform:none;background:#fff;border-color:var(--border)}.event-btn.goal{background:linear-gradient(135deg,var(--success) 0%,#217a3d 100%);color:#fff;border-color:transparent;box-shadow:0 6px 18px #2e9e4f59;animation:goalPulse 1.8s ease infinite}.event-btn.goal:active{animation:none;transform:scale(.9)}.event-btn.card-yellow{background:#fff8e1;border-color:#f9a825}.event-btn.card-red{background:#fdeaea;border-color:var(--red)}.event-btn.positive{border-color:var(--success)}.event-btn.negative{border-color:var(--red);color:var(--red-dark)}.event-section-label{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);text-align:center;margin:18px 0 8px}.event-section-label:first-child{margin-top:0}.goal-celebration{animation:celebrateBurst .6s cubic-bezier(.22,1,.36,1)}.event-log{border-top:1.5px dashed var(--border);padding-top:10px}.event-log-item{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--border);animation:fadeSlideIn .25s ease}.pill{display:inline-block;padding:3px 9px;border-radius:999px;background:var(--sky-tint);color:var(--sky-dark);font-size:11px;font-weight:700}.pill.pill-navy{background:var(--navy);color:#fff}.pill.pill-on-dark{background:#ffffff1a;border:1px solid rgba(255,255,255,.16);color:#cbd5e1;padding:6px 14px;font-size:12px;letter-spacing:.2px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.score-hero{text-align:center;padding:22px 0}.score-hero .num{font-family:var(--font-display);font-size:64px;letter-spacing:.5px;color:var(--navy);animation:scorePop .5s cubic-bezier(.34,1.56,.64,1)}.score-hero .concept{font-size:15px;font-weight:700;color:var(--red);margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:16px 0}.stat-box{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center;background:#fff;transition:transform .15s ease}.stat-box .n{font-family:var(--font-display);font-size:25px;letter-spacing:.3px;color:var(--navy)}.stat-box .l{font-size:11px;color:var(--text-muted)}.summary-box{background:var(--sky-tint);border:1px solid rgba(111,199,217,.4);border-radius:var(--radius-md);padding:15px;font-size:14px;line-height:1.55;margin:14px 0;color:var(--text)}.tabbar{position:sticky;bottom:0;display:flex;border-top:1px solid var(--border);background:#fff}.tabbar a{flex:1;text-align:center;padding:10px 0 8px;font-size:11px;color:var(--text-muted);text-decoration:none}.tabbar a.active{color:var(--navy);font-weight:700}.badge-free{display:inline-block;background:#fff3e0;color:#e65100;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14172f99;display:flex;align-items:center;justify-content:center;padding:24px;z-index:50;animation:fadeSlideIn .25s ease}.modal-card{background:#fff;border-radius:var(--radius-lg);padding:22px 20px;width:100%;max-width:360px;box-shadow:var(--shadow-md);animation:celebrateBurst .3s cubic-bezier(.22,1,.36,1)}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes logoPop{0%{opacity:0;transform:scale(.7) rotate(-6deg)}70%{transform:scale(1.05) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes scorePop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes pulseDot{0%,to{opacity:1;box-shadow:0 0 #e61c2180}50%{opacity:.6;box-shadow:0 0 0 4px #e61c2100}}@keyframes amberPulse{0%,to{box-shadow:0 0 #f9a82573}50%{box-shadow:0 0 0 5px #f9a82500}}@keyframes goalPulse{0%,to{box-shadow:0 6px 18px #2e9e4f59}50%{box-shadow:0 6px 26px #2e9e4f99}}.goal-flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#2e9e4f2e;pointer-events:none;z-index:999}.goal-flash-text{font-size:56px;font-weight:900;color:#fff;letter-spacing:1px;text-shadow:0 4px 24px rgba(0,0,0,.35),0 0 40px rgba(46,158,79,.8)}.enter-flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#143e7852;pointer-events:none;z-index:999}.enter-flash-text{font-size:34px;font-weight:900;color:#fff;letter-spacing:.5px;text-align:center;text-shadow:0 4px 24px rgba(0,0,0,.4),0 0 40px rgba(60,130,220,.85)}@keyframes celebrateBurst{0%{transform:scale(.85);opacity:0}40%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:18px;height:18px;border:3px solid var(--sky-tint);border-top-color:var(--sky-dark);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes headerSlideDown{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 15%,#1c3159f0,#0e1a35f2 45%,#060d1cf7),url(/assets/grass-field-DI79_Pc-.jpg) center / cover;overflow:hidden}.splash-field-lines{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-image:repeating-linear-gradient(-32deg,rgba(79,208,225,.07) 0 10px,transparent 10px 40px)}.splash-glow{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,#e31b2359,#e31b2300 70%)}.splash-logo-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.splash-logo{width:168px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}.splash-tagline{margin-top:18px;font-family:var(--font-display);font-size:20px;letter-spacing:3px;color:var(--sky);text-align:center}.splash-tagline b{color:#fff}.splash-dots{display:flex;gap:6px;margin-top:26px}.splash-dots span{width:7px;height:7px;border-radius:50%;background:var(--sky)}.avatar-photo,.avatar-fallback{border-radius:50%;flex-shrink:0;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px #0e1a3538}.avatar-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sky) 0%,var(--navy) 100%);color:#fff;font-weight:800;font-family:var(--font-display);letter-spacing:.02em}.athlete-photo-picker{position:relative;width:96px;height:96px;border-radius:50%;cursor:pointer;margin:4px 0 2px}.athlete-photo-preview{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--border);display:block}.athlete-photo-placeholder{width:96px;height:96px;border-radius:50%;border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;font-size:28px;background:#f7f8fb;color:var(--text-muted)}.athlete-photo-edit-badge{position:absolute;bottom:0;right:0;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;border:2px solid #fff;box-shadow:0 2px 6px #0e1a354d}
