@import "https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap";:root{--surface:#060e20;--surface-low:#091328;--surface-container:#0f1930;--surface-high:#141f38;--surface-highest:#192540;--glass-bg:#1925408c;--glass-border:#6478b42e;--primary:#b89eff;--primary-dim:#7c45ef;--primary-glow:#b89eff40;--secondary:#5cf9b0;--secondary-dim:#00a86b;--secondary-glow:#5cf9b033;--on-primary:#1a004a;--text-primary:#e8efff;--text-secondary:#89b;--text-subtle:#4a5878;--error:#ff6e84;--warning:#fbb849;--success:var(--secondary);--grad-primary:linear-gradient(135deg, var(--primary) 0%, var(--primary-dim) 100%);--grad-secondary:linear-gradient(135deg, var(--secondary) 0%, var(--secondary-dim) 100%);--grad-surface:linear-gradient(180deg, var(--surface-container) 0%, var(--surface) 100%);--grad-court:radial-gradient(ellipse 80% 40% at 50% 100%, #5cf9b00f 0%, transparent 70%);--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.5rem;--radius-xl:2rem;--blur-sm:blur(8px);--blur-md:blur(16px);--blur-lg:blur(32px);--ease-spring:cubic-bezier(.35, 1.6, .6, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--duration-fast:.15s;--duration-normal:.25s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{background:var(--surface);background-image:var(--grad-court);color:var(--text-primary);background-attachment:fixed;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;overflow-x:hidden}#app,#root{min-height:100vh}h1,h2,h3,h4{letter-spacing:-.02em;text-transform:uppercase;font-weight:800;line-height:1.1}.text-gradient{background:var(--grad-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--glass-border)}.glass-subtle{-webkit-backdrop-filter:var(--blur-sm);background:#0f1930b3;border:1px solid #6478b41a}.btn{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring), box-shadow var(--duration-normal) var(--ease-smooth);white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:700;display:inline-flex}.btn:active{transform:scale(.95)}.btn-primary{background:var(--grad-primary);color:var(--on-primary);box-shadow:0 0 20px var(--primary-glow)}.btn-primary:hover{box-shadow:0 0 32px var(--primary-glow), 0 4px 16px #0006;transform:translateY(-1px)}.btn-secondary{color:var(--secondary);background:#5cf9b01f;border:1px solid #5cf9b04d}.btn-secondary:hover{box-shadow:0 0 16px var(--secondary-glow);background:#5cf9b033}.btn-ghost{background:0 0;background:var(--surface-highest);border:1px solid var(--glass-border)}.initial-loader{z-index:9999;background:#020617;justify-content:center;align-items:center;transition:transform .6s cubic-bezier(.85,0,.15,1);display:flex;position:fixed;inset:0}.initial-loader.slide-up{transform:translateY(-100%)}.loader-content-dvd{flex-direction:column;align-items:center;display:inline-flex}.loader-text-dvd{letter-spacing:-.02em;color:#fff;padding:0 .25rem;font-size:clamp(2rem,8vw,4rem);font-weight:900}.loader-progress-dvd{background:#ffffff1a;width:100%;height:2px;margin-top:.35rem;overflow:hidden}.loader-progress-fill{background:#fff;width:100%;height:100%;animation:1.2s cubic-bezier(.7,0,.3,1) forwards dvd-progress;transform:translate(-100%)}@keyframes dvd-progress{0%{transform:translate(-100%)}to{transform:translate(0)}}.btn-ghost:hover{color:var(--text-primary);background:var(--surface-high)}.btn-sm{padding:.5rem 1rem;font-size:.75rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.btn-xl{padding:1.25rem 2.5rem;font-size:1.1rem}.btn-full{width:100%}.btn-icon{border-radius:50%;padding:.75rem}.input{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);border-radius:var(--radius-md);transition:border-color var(--duration-normal) var(--ease-smooth), box-shadow var(--duration-normal) var(--ease-smooth);appearance:none;background:#091328cc;padding:.875rem 1.25rem;font-family:inherit;font-size:1rem}.input::placeholder{color:var(--text-subtle)}.input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #b89eff26}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 1.25rem}.badge{text-transform:uppercase;letter-spacing:.08em;border-radius:100px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-primary{color:var(--primary);background:#b89eff26;border:1px solid #b89eff4d}.badge-secondary{color:var(--secondary);background:#5cf9b01f;border:1px solid #5cf9b040}.badge-error{color:var(--error);background:#ff6e841f}.divider{background:linear-gradient(90deg, transparent, var(--glass-border), transparent);border:none;height:1px;margin:1.5rem 0}.avatar{object-fit:cover;border:2px solid var(--glass-border);border-radius:50%}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--surface-high) 25%, var(--surface-highest) 50%, var(--surface-high) 75%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.5s infinite shimmer}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-highest);border-radius:999px}.home-page{background:var(--surface);min-height:100vh}.top-bar{z-index:100;padding:.875rem 1.5rem;padding-top:calc(.875rem + env(safe-area-inset-top));-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--glass-border);background:#060e20d9;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.top-bar-logo{text-transform:uppercase;color:var(--primary);letter-spacing:.05em;font-size:1rem;font-weight:800}.top-bar-right{align-items:center;gap:1rem;display:flex}.top-bar-user{color:var(--text-secondary);font-size:.8rem}.page-hero{text-align:center;padding:2rem 0 3rem}.hero-title{margin-bottom:.75rem;font-size:clamp(2rem,8vw,3.5rem);line-height:1.05}.hero-sub{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:700}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.section-title{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.leagues-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.league-card{border-radius:var(--radius-lg);flex-direction:column;gap:1.5rem;padding:1.5rem;transition:transform .2s;display:flex}.league-card:hover{transform:translateY(-4px)}.league-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.league-name{color:var(--text-primary);margin-bottom:.35rem;font-size:1.25rem;font-weight:700}.league-meta{color:var(--text-subtle);font-size:.85rem;font-weight:400}.empty-state{text-align:center;color:var(--text-subtle);border-radius:var(--radius-lg);padding:3rem}.install-prompt-wrap{z-index:1000;animation:slideUp .6s var(--ease-spring);padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.install-prompt{border-radius:var(--radius-xl);border:1px solid #b89eff40;align-items:center;gap:1.5rem;width:100%;max-width:600px;margin:0 auto;padding:1.75rem;display:flex;position:relative;box-shadow:0 20px 60px #0009}.install-icon{background:var(--grad-primary);width:64px;height:64px;box-shadow:0 8px 24px var(--primary-glow);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;display:flex}.install-title{letter-spacing:.1em;color:var(--primary);margin-bottom:.25rem;font-size:1rem;font-weight:800}.install-text{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.install-actions{align-items:center;gap:.75rem;display:flex}.close-btn-tiny{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:1.5rem;display:flex}.close-btn-tiny:hover{color:var(--text-primary)}@media (width<=480px){.install-prompt-wrap{padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.install-prompt{gap:.875rem;padding:1rem}.install-icon{width:44px;height:44px;font-size:1.5rem}}.expand-chevron{color:var(--text-secondary);opacity:.8;margin-left:auto;font-family:sans-serif;font-size:1.1rem}.expanded{background:#ffffff08!important}.expand-row td{border-bottom:1px solid var(--surface-highest);padding:0!important}.roster-expand-content{border-left:2px solid var(--secondary);border-radius:var(--radius-sm);background:#00000040;margin:.25rem .75rem .75rem;padding:.75rem;overflow-x:auto}.lb-sub-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.7rem}.lb-sub-table th{color:var(--text-subtle);text-align:right;border-bottom:1px solid #ffffff0d;padding:.35rem .2rem;font-weight:700}.lb-sub-table th:first-child{text-align:left;width:35%}.lb-sub-table td{border-bottom:1px solid #ffffff08;padding:.8rem .2rem}.p-mini-info{align-items:center;gap:.6rem;display:flex;overflow:hidden}.p-mini-img{background:var(--surface-highest);object-fit:cover;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;width:40px;height:40px}.p-mini-meta{flex-direction:column;display:flex;overflow:hidden}.p-mini-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:700;overflow:hidden}.p-mini-team{color:var(--text-subtle);margin-top:-1px;font-size:.65rem}.font-bold{font-weight:700}.sub-loading,.sub-empty{text-align:center;color:var(--text-subtle);padding:2rem;font-size:.8rem;font-style:italic}@media (width<=480px){.roster-expand-content{margin:.25rem;padding:.5rem}.lb-sub-table{font-size:.65rem}.lb-sub-table th:first-child{width:30%}.p-mini-img{width:28px;height:28px}.p-mini-name{font-size:.7rem}}.bracket-container{background:var(--surface);flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1rem 6rem;display:flex;overflow-x:hidden}.bracket-header{text-align:center;width:100%;margin-bottom:3rem}.bracket-title{margin-bottom:.5rem;font-size:clamp(2rem,10vw,4rem)}.bracket-subtitle{color:var(--text-subtle);letter-spacing:.2em;font-size:.8rem;font-weight:700}.round-tabs{top:calc(3.5rem + env(safe-area-inset-top));z-index:90;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;border-bottom:1px solid var(--glass-border);background:#060e20e6;justify-content:center;gap:.5rem;width:100%;margin-bottom:2rem;padding:1rem;display:flex;position:sticky;overflow-x:auto}.round-tab{text-transform:uppercase;color:var(--text-subtle);background:var(--surface-highest);border:1px solid var(--glass-border);white-space:nowrap;cursor:pointer;border-radius:100px;padding:.6rem 1.2rem;font-size:.75rem;font-weight:800;transition:all .2s}.round-tab.active{background:var(--primary);color:var(--on-primary);border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow)}.bracket-tree{justify-content:center;gap:2rem;width:100%;max-width:1600px;display:flex}.bracket-wing{gap:2rem;display:flex}.bracket-column{flex-direction:column;justify-content:space-around;gap:2rem;min-width:240px;display:flex}.matchup-card{background:var(--surface-container);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000004d}.matchup-card:hover{border-color:#b89eff66;transform:translateY(-2px)}.matchup-header{color:var(--primary);border-bottom:1px solid var(--glass-border);background:#0003;justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.65rem;font-weight:800;display:flex}.matchup-status{color:var(--text-subtle);font-weight:700}.team-row{border-bottom:1px solid #ffffff0d;align-items:center;gap:.75rem;padding:.75rem;display:flex}.team-row:last-child{border-bottom:none}.team-seed{color:var(--text-subtle);text-align:center;width:16px;font-size:.65rem;font-weight:800}.team-logo{object-fit:contain;flex-shrink:0;width:24px;height:24px}.team-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex-grow:1;font-size:.85rem;font-weight:700;overflow:hidden}.team-score{color:var(--text-primary);text-align:right;width:20px;font-size:1.1rem;font-weight:900}.winner .team-name{color:var(--secondary)}.winner .team-score{color:var(--secondary);text-shadow:0 0 10px var(--secondary-glow)}.finals-stage{flex-direction:column;justify-content:center;align-items:center;gap:3rem;padding:0 2rem;display:flex}.champion-card{text-align:center;background:var(--grad-court);border-radius:var(--radius-xl);border:2px solid var(--secondary);box-shadow:0 0 40px var(--secondary-glow);padding:2rem}@media (width<=1023px){.bracket-tree{flex-direction:column;gap:4rem}.bracket-wing{flex-direction:column;width:100%}.bracket-column{scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;flex-direction:row;gap:1.5rem;padding-bottom:1rem;overflow-x:auto}.bracket-column::-webkit-scrollbar{display:none}.bracket-column .matchup-card{scroll-snap-align:center;min-width:280px}.conf-header{color:var(--text-subtle);letter-spacing:.2em;text-align:center;margin-bottom:1rem;font-size:.75rem}}
