:root{--brand-primary:#00e887;--brand-accent:#46a0ff;--brand-secondary:#0b1220;--bg:#f6f8fb;--ink:#0b1220;--panel:#ffffff;--border:#e5e7eb;--bg:#f8fafc;--surface:#ffffff;--ink:#0f172a;--muted:#64748b;--primary:#1e3a8a;--primary-600:#1d4ed8;--accent:#60a5fa}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--ink)}.container{max-width:1100px;margin:28px auto;padding:0 16px}.card{background:var(--surface);border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 2px #0000000a}.app-shell{display:flex;flex-direction:column;min-height:100vh}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0f172a;color:#e2e8f0;position:fixed;top:0;left:0;right:0;z-index:1000}@media (max-width: 1023px){main{padding-top:70px}}.mobile-logo{display:flex;align-items:center;gap:8px}.mobile-logo img{width:32px;height:32px}.mobile-league-name{font-size:14px;font-weight:600}.hamburger-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#e2e8f0;padding:8px;border-radius:6px;cursor:pointer;font-size:18px}.sidebar{position:fixed;top:0;left:-280px;width:280px;height:100vh;background:#0f172a;color:#e2e8f0;transition:left .3s ease;z-index:2000;overflow-y:auto;padding:20px}.sidebar.open{left:0}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:1500;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay.open{opacity:1;visibility:visible}main{flex:1;padding:16px;margin-top:0}@media (min-width: 1024px){.container{margin:28px auto}.app-shell{display:grid;grid-template-columns:280px 1fr;flex-direction:row}.mobile-header{display:none}.sidebar{position:static;left:0;height:auto;border-right:1px solid rgba(255,255,255,.06)}.sidebar-overlay{display:none}main{padding:24px}}@media (min-width: 768px) and (max-width: 1023px){.app-shell{flex-direction:column}.sidebar{width:320px}main{padding:20px}}.sidebar .brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar .brand img{width:64px;height:64px}.brand-title{text-align:center;line-height:1.2;font-weight:700;font-size:14px}.brand-title span{color:#93c5fd}.sidebar-close{position:absolute;top:16px;right:16px;background:none;border:1px solid rgba(255,255,255,.2);color:#e2e8f0;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}@media (min-width: 1024px){.sidebar-close{display:none}}.navlink{display:block;width:100%;text-decoration:none;text-align:left;padding:12px 16px;border-radius:8px;margin:4px 0;color:#e2e8f0;font-size:14px;border:1px solid rgba(255,255,255,.12);background:transparent;transition:all .15s ease}.navlink:hover{background:#ffffff14;border-color:#ffffff2e}.navlink.nav-active{background:#38bdf833;border-color:#38bdf88c;color:#eaf6ff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:var(--ink);cursor:pointer;font-size:14px;text-decoration:none}.btn.primary{background:var(--primary);color:#fff;border-color:transparent}.btn.primary:hover{background:var(--primary-600)}.btn.secondary{background:#eef2ff;color:#0b2a6f;border-color:#c7d2fe}.btn-commish{background:#0ea5e9;color:#fff;border-color:transparent;margin-top:16px;width:100%}.btn-commish:hover{background:#0284c7}.input{width:100%;border:1px solid #e5e7eb;padding:10px 12px;border-radius:8px;font-size:14px}@media (max-width: 767px){.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px;font-size:12px}th,td{padding:6px 8px;white-space:nowrap}.grid[style*=grid-template-columns]{display:flex!important;flex-direction:column;gap:12px}.grid{display:flex;flex-direction:column;gap:12px}h1{font-size:20px}h2{font-size:18px}h3{font-size:16px}.card{border-radius:12px}main .card{padding:12px}.btn{padding:10px 12px;font-size:14px;min-height:44px}}@media (max-width: 767px){.transactions-table{display:none}.transactions-mobile{display:block}}@media (min-width: 768px){.transactions-mobile{display:none}}@media (max-width: 767px){.dues-grid{display:flex!important;flex-direction:column;gap:16px}.dues-left,.dues-week{min-width:0;width:100%}}body.sculpin-league{--primary: #2F241D;--primary-600: #1a1511;--accent: #FFC425;--brand-primary: #FFC425;--brand-accent: #2F241D}body.sculpin-league .app-shell .sidebar,body.sculpin-league .mobile-header{background:#433329!important}body.sculpin-league .btn.primary,body.sculpin-league button[style*="#0ea5e9"]{background:#ffc425!important;color:#2f241d!important}body.sculpin-league .brand-title span,body.sculpin-league .navlink{color:#ffc425!important}body.sculpin-league .btn-commish{background:#ffc425!important;color:#2f241d!important}body.sculpin-league .btn-commish:hover{background:gold!important;color:#2f241d!important}body.blitzzz-league{--primary: #0080C6;--primary-600: #006ba6;--accent: #FFC20E;--brand-primary: #0080C6;--brand-accent: #FFC20E}body.blitzzz-league .app-shell .sidebar,body.blitzzz-league .mobile-header{background:linear-gradient(180deg,#0080c6,#006ba6)!important}body.blitzzz-league .sidebar,body.blitzzz-league .sidebar *{color:#ffc20e!important}body.blitzzz-league .sidebar .brand-title{color:#fff!important}.badge{padding:4px 8px;background:#eef2ff;border:1px solid #c7d2fe;color:#0b2a6f;border-radius:999px;font-size:12px;display:inline-flex;align-items:center;gap:4px}.grid{display:grid;gap:16px}.prose h2{margin:6px 0;font-size:18px}.prose ul{margin:6px 0;padding-left:20px}.splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:9999;animation:blitzFade 2s ease forwards}.splash img{width:512px;height:512px;object-fit:contain;animation:splashLogoShow 2s ease forwards}.splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#fff;z-index:9999;animation:splashFadeOut 2.5s ease forwards}.splash img{width:512px;height:512px;object-fit:contain;animation:splashGrowAndFade 2.5s ease forwards}@keyframes splashFadeOut{0%{opacity:1}80%{opacity:1}to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes splashGrowAndFade{0%{transform:scale(1.1);opacity:1}20%{transform:scale(.5);opacity:1}40%{transform:scale(1.4);opacity:1}60%{transform:scale(1.4);opacity:1}80%{transform:scale(.7);opacity:1}to{transform:scale(30);opacity:0}}.landing-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fff;padding:20px}.landing-content{text-align:center;max-width:1000px;width:100%}.landing-title{font-size:3rem;color:#fff;margin-bottom:.5rem;font-weight:800}.landing-subtitle{font-size:2rem;color:#00f;margin-bottom:2rem;font-weight:600}@media (max-width: 767px){.landing-title{font-size:2rem}.landing-subtitle{font-size:1.2rem}.splash img{width:256px;height:256px}}.logo-selection-container{display:flex;justify-content:center;align-items:center;gap:0rem;flex-wrap:nowrap;flex-direction:row}.logo-card{background:transparent;border-radius:20px;padding:2rem;cursor:pointer;transition:transform .3s ease;transform:scale(.5);animation:logoPulse 2s ease-in-out infinite;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;outline:none}.logo-card:hover{transform:scale(.55)}.league-logo-large{width:512px;height:512px;object-fit:contain;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:none}@keyframes logoPulse{0%{transform:scale(.5)}50%{transform:scale(.75)}to{transform:scale(.5)}}.logo-card.logo-fade-in{animation:logoFadeIn 3s ease-out forwards,logoPulse 2s ease-in-out 3s infinite}.logo-card:not(.logo-grow):not(.logo-fade-out){animation:logoPulse 2s ease-in-out infinite}@media (max-width: 768px){@media (orientation: portrait){.logo-selection-container{flex-direction:column;gap:1rem}.landing-subtitle{font-size:1.2rem}.league-logo-large{width:280px;height:280px}.logo-card{transform:scale(.4)}.logo-card:hover{transform:scale(.44)}}@media (orientation: landscape){.logo-selection-container{flex-direction:row;gap:.5rem}.landing-subtitle{font-size:1rem;margin-bottom:1rem}.league-logo-large{width:200px;height:200px}.logo-card{transform:scale(.3);padding:1rem}.logo-card:hover{transform:scale(.33)}.landing-container{padding:10px}}}@media (min-width: 769px) and (max-width: 1024px){.logo-selection-container{gap:2rem}.league-logo-large{width:400px;height:400px}.logo-card{transform:scale(.6)}.logo-card:hover{transform:scale(.65)}}@media (max-width: 767px){.dues-payment-tracker table{display:none}.dues-payment-tracker .mobile-list{display:block}}.mobile-green-amount{color:#16a34a!important;font-weight:700!important}} @media (min-width: 768px){.dues-payment-tracker .mobile-list{display:none}}@media (max-width: 767px){.dues-payment-tracker table{min-width:auto!important;width:100%;font-size:11px}.dues-payment-tracker th,.dues-payment-tracker td{padding:4px;font-size:11px}}@media (max-width: 767px){.dues-week table{min-width:auto!important;width:100%;font-size:11px}.dues-week th,.dues-week td{padding:4px;font-size:11px;white-space:normal}}.naughty-table-desktop{display:table;width:100%}.naughty-grid-mobile{display:none}@media (max-width: 767px){.naughty-table-desktop{display:none!important}.naughty-grid-mobile{display:block}}.rankings-table-desktop{display:table;width:100%;border-collapse:collapse}.rankings-grid-mobile{display:none}@media (max-width: 767px){.rankings-table-desktop{display:none!important}.rankings-grid-mobile{display:block;font-size:11px}.rankings-grid-mobile .rankings-row{position:relative;display:grid;grid-template-columns:.5fr 1fr 1fr 1fr 1fr 1fr;gap:0;border-bottom:1px solid #e5e7eb;padding:8px 0}.rankings-grid-mobile .rankings-row-bg{position:absolute;left:0;right:0;top:15%;transform:translateY(-50%);text-align:center;font-size:10px;color:#6b7280;font-weight:600;z-index:0;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:2px;text-shadow:0 0 5px #9ca3af,0 0 10px #9ca3af}.rankings-grid-mobile .rankings-cell{position:relative;z-index:1;text-align:center;padding:4px 2px}.rankings-grid-mobile .rankings-header{display:grid;grid-template-columns:.5fr 1fr 1fr 1fr 1fr 1fr;gap:0;border-bottom:2px solid #e5e7eb;padding:8px 0;font-weight:600;text-align:center;font-size:11px}.rankings-grid-mobile .rankings-header>div{padding:0 2px}}body.blitzzz-league .rankings-grid-mobile .rankings-row-bg{color:#0084ff!important;text-shadow:0 0 5px #ffcc00,0 0 10px #ffcc00!important}body.sculpin-league .rankings-grid-mobile .rankings-row-bg{color:#2f241d!important;text-shadow:0 0 5px #FFC425,0 0 10px #FFC425!important}body.blitzzz-league .weekly-challenge-title{font-weight:700;color:#024}@media (max-width: 767px){.week-navigation button{font-size:12px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.week-navigation{gap:4px}.week-now-btn{font-size:10px!important;padding:4px 6px!important;max-width:60px!important}}body.blitzzz-league .weekly-adds-team{font-weight:700;color:#0080c6!important}body.sculpin-league .weekly-adds-team{font-weight:700;color:#433329!important}body.blitzzz-league .activity-team-name{color:#0073cf!important}body.blitzzz-league .activity-player-name{color:#ffb612!important}body.sculpin-league .activity-team-name{color:#ffc425!important}body.sculpin-league .activity-player-name{color:#433329!important}body.blitzzz-league .week-number-highlight{color:#ffb612!important;font-weight:700}body.sculpin-league .week-number-highlight{color:#ffc425!important;font-weight:700}@media (min-width: 768px){.dues-payment-tracker .mobile-list{display:none!important}}@media (max-width: 767px){.dues-payment-tracker table{display:none!important}.dues-payment-tracker .mobile-list{display:block!important}}@media (max-width: 767px){.mobile-green-amount{color:#16a34a!important;font-weight:700!important}}.ht-week-trophies{display:grid;grid-template-columns:1fr;gap:8px}.ht-trophy-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.ht-trophy-emoji{font-size:24px}.ht-trophy-title{font-weight:600;margin-bottom:2px;font-size:14px}.ht-trophy-text{font-size:14px;color:#64748b;line-height:1.35}@media (max-width: 480px){.ht-week-trophies{gap:6px}.ht-trophy-item{gap:8px;padding:8px}.ht-trophy-emoji{font-size:18px}.ht-trophy-title{font-size:13px}.ht-trophy-text{font-size:12px}}.card table{border-collapse:collapse;table-layout:fixed;width:auto}.card table th,.card table td{padding:8px 2px;border-bottom:1px solid #e5e7eb;text-align:center}.card table thead th{border-bottom:2px solid #e5e7eb}.card table th,.card table td{padding:8px 12px;border-bottom:1px solid #e5e7eb;text-align:left}.dues-payment-tracker table th:first-child,.dues-payment-tracker table td:first-child{width:60px}.transactions-table table th:first-child,.transactions-table table td:first-child{width:120px;white-space:nowrap}.power-rankings-table table th:first-child,.power-rankings-table table td:first-child{width:60px;text-align:center}.trophy-table-desktop{display:table;width:auto!important;border-collapse:collapse;table-layout:auto!important;margin:0 auto}.trophy-table-desktop th:first-child,.trophy-table-desktop td:first-child{width:40%!important}.trophy-table-desktop th:not(:first-child),.trophy-table-desktop td:not(:first-child){width:6%!important}.trophy-table-desktop th,.trophy-table-desktop td{padding:8px!important;border-bottom:1px solid #e5e7eb;text-align:center;width:auto!important}.trophy-table-desktop thead th{border-bottom:2px solid #e5e7eb;font-weight:600}.trophy-table-desktop th:first-child,.trophy-table-desktop td:first-child{text-align:left!important;width:auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}body.blitzzz-league .trophy-table-desktop th:first-child,body.blitzzz-league .trophy-table-desktop td:first-child{color:#0084ff!important;text-shadow:0 0 5px #ffcc00,0 0 10px #ffcc00,0 0 15px #ffcc00,0 0 20px #ffcc00!important}body.sculpin-league .trophy-table-desktop th:first-child,body.sculpin-league .trophy-table-desktop td:first-child{color:#2f241d!important;text-shadow:0 0 5px #FFC425,0 0 10px #FFC425,0 0 15px #FFC425,0 0 20px #FFC425!important}.trophy-grid-mobile{display:none}@media (max-width: 767px){.trophy-table-desktop{display:none!important}.trophy-grid-mobile{display:block;font-size:12px}.trophy-grid-mobile .trophy-row{position:relative;display:grid;grid-template-columns:repeat(10,1fr);gap:0;border-bottom:1px solid #e5e7eb;padding:8px 0}.trophy-grid-mobile .trophy-row-bg{position:absolute;left:0;right:0;top:15%;transform:translateY(-50%);text-align:center;font-size:11px;color:#6b7280;font-weight:600;z-index:0;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:4px;text-shadow:0 0 5px #9ca3af,0 0 10px #9ca3af,0 0 15px #9ca3af,0 0 20px #9ca3af}body.blitzzz-league .trophy-grid-mobile .trophy-row-bg{color:#0084ff!important;text-shadow:0 0 5px #ffcc00,0 0 10px #ffcc00,0 0 15px #ffcc00,0 0 20px #ffcc00!important}body.sculpin-league .trophy-grid-mobile .trophy-row-bg{color:#2f241d!important;text-shadow:0 0 5px #FFC425,0 0 10px #FFC425,0 0 15px #FFC425,0 0 20px #FFC425!important}.trophy-grid-mobile .trophy-cell{position:relative;z-index:1;text-align:center;padding:4px 2px}.trophy-grid-mobile .trophy-header{display:grid;grid-template-columns:repeat(10,1fr);gap:0;border-bottom:2px solid #e5e7eb;padding:8px 0;font-weight:600;text-align:center}}.playoff-odds-desktop{display:table;width:100%}.playoff-grid-mobile{display:none}@media (max-width: 767px){.playoff-odds-desktop{display:none!important}.playoff-grid-mobile{display:block;font-size:11px}.playoff-grid-mobile .playoff-row{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:0;border-bottom:1px solid #e5e7eb;padding:8px 0}.playoff-grid-mobile .playoff-row-bg{position:absolute;left:0;right:0;top:15%;transform:translateY(-50%);text-align:center;font-size:10px;color:#6b7280;font-weight:600;z-index:0;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:2px;text-shadow:0 0 5px #9ca3af,0 0 10px #9ca3af}.playoff-grid-mobile .playoff-cell{position:relative;z-index:1;text-align:center;padding:4px 2px}.playoff-grid-mobile .playoff-header{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:0;border-bottom:2px solid #e5e7eb;padding:8px 0;font-weight:600;text-align:center;font-size:11px}}body.blitzzz-league .playoff-grid-mobile .playoff-row-bg{color:#0084ff!important;text-shadow:0 0 5px #ffcc00,0 0 10px #ffcc00!important}body.sculpin-league .playoff-grid-mobile .playoff-row-bg{color:#2f241d!important;text-shadow:0 0 5px #FFC425,0 0 10px #FFC425!important}.sos-table-desktop{display:table;width:100%}.sos-grid-mobile{display:none}@media (max-width: 767px){.sos-table-desktop{display:none!important}.sos-grid-mobile{display:block;font-size:11px}.sos-grid-mobile .sos-row{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr 1fr .7fr;gap:0;border-bottom:1px solid #e5e7eb;padding:8px 0}.sos-grid-mobile .sos-row-bg{position:absolute;left:0;right:0;top:15%;transform:translateY(-50%);text-align:center;font-size:10px;color:#6b7280;font-weight:600;z-index:0;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:2px;text-shadow:0 0 5px #9ca3af,0 0 10px #9ca3af}.sos-grid-mobile .sos-cell{position:relative;z-index:1;text-align:center;padding:4px 2px}.sos-grid-mobile .sos-header{display:grid;grid-template-columns:1fr 1fr 1fr 1fr .7fr;gap:0;border-bottom:2px solid #e5e7eb;padding:8px 0;font-weight:600;text-align:center;font-size:11px}}body.blitzzz-league .sos-grid-mobile .sos-row-bg{color:#0084ff!important;text-shadow:0 0 5px #ffcc00,0 0 10px #ffcc00!important}body.sculpin-league .sos-grid-mobile .sos-row-bg{color:#2f241d!important;text-shadow:0 0 5px #FFC425,0 0 10px #FFC425!important}.luck-table-desktop{display:table;width:100%}.luck-grid-mobile{display:none}@media (max-width: 767px){.luck-table-desktop{display:none!important}.luck-grid-mobile{display:block;font-size:11px}.luck-grid-mobile .luck-row{position:relative;display:grid;grid-template-columns:.7fr 1fr 1fr .7fr;gap:0;border-bottom:1px solid #e5e7eb;padding:8px 0}.luck-grid-mobile .luck-row-bg{position:absolute;left:0;right:0;top:15%;transform:translateY(-50%);text-align:center;font-size:10px;color:#6b7280;font-weight:600;z-index:0;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:2px;text-shadow:0 0 5px #9ca3af,0 0 10px #9ca3af}.luck-grid-mobile .luck-cell{position:relative;z-index:1;text-align:center;padding:4px 2px}.luck-grid-mobile .luck-header{display:grid;grid-template-columns:.7fr 1fr 1fr .7fr;gap:0;border-bottom:2px solid #e5e7eb;padding:8px 0;font-weight:600;text-align:center;font-size:11px}}body.blitzzz-league .luck-grid-mobile .luck-row-bg{color:#0084ff!important;text-shadow:0 0 5px #ffcc00,0 0 10px #ffcc00!important}body.sculpin-league .luck-grid-mobile .luck-row-bg{color:#2f241d!important;text-shadow:0 0 5px #FFC425,0 0 10px #FFC425!important}.final-standings-desktop{display:table;width:100%}.final-standings-grid-mobile{display:none}@media (max-width: 767px){.final-standings-desktop{display:none!important}.final-standings-grid-mobile{display:grid;font-size:10px}.final-standings-grid-mobile .final-standings-row{position:relative;display:grid;grid-template-columns:repeat(10,1fr);gap:0;border-bottom:1px solid #e5e7eb;padding:8px 0}.final-standings-grid-mobile .final-standings-row-bg{position:absolute;left:0;right:0;top:15%;transform:translateY(-50%);text-align:center;font-size:9px;color:#6b7280;font-weight:600;z-index:0;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:2px;text-shadow:0 0 5px #9ca3af,0 0 10px #9ca3af}.final-standings-grid-mobile .final-standings-cell{position:relative;z-index:1;text-align:center;padding:4px 2px}.final-standings-grid-mobile .final-standings-header{display:grid;grid-template-columns:repeat(10,1fr);gap:0;border-bottom:2px solid #e5e7eb;padding:8px 0;font-weight:600;text-align:center;font-size:10px}}body.blitzzz-league .final-standings-grid-mobile .final-standings-row-bg{color:#0084ff!important;text-shadow:0 0 5px #ffcc00,0 0 10px #ffcc00!important}body.sculpin-league .final-standings-grid-mobile .final-standings-row-bg{color:#2f241d!important;text-shadow:0 0 5px #FFC425,0 0 10px #FFC425!important}@media (max-width: 767px){.grid[style*='gridTemplateColumns: "240px 1fr"']{display:flex!important;flex-direction:column!important;gap:16px!important}.card:has(>h3:first-child:contains("Polls")){width:100%!important}.card[style*="padding: 8px"]{flex-direction:column!important;padding:12px!important}.card[style*="padding: 8px"] input,.card[style*="padding: 8px"] textarea{width:100%!important;margin-bottom:8px}.card button[style*="fontSize: 12px"]{width:100%!important;margin-bottom:4px}}
