.player-card{background:var(--dark-surface-1);cursor:pointer;border:2px solid #0000;border-radius:12px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.player-card:before{content:"";background:linear-gradient(90deg, var(--dota-red) 0%, var(--dota-gold) 50%, var(--dota-green) 100%);opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.player-card:hover{box-shadow:var(--shadow-hero);border-color:#ffffff1a;transform:translateY(-4px)}.player-card:hover:before{opacity:1}.player-card.selected{border-color:var(--apple-blue);background:var(--dark-surface-3)}.player-card.selected:before{opacity:1;background:var(--apple-blue)}.player-card.compact{background:var(--white);border:1px solid #0000001a;padding:12px 15px}.player-card.compact:hover{border-color:var(--apple-blue)}.player-card.compact .player-card-header{gap:12px;margin-bottom:0}.player-card.compact .player-avatar{width:45px;height:45px}.player-card.compact .avatar-placeholder{font-size:20px}.player-card.compact .card-title{color:var(--near-black);font-size:15px;font-weight:600}.player-card.compact .player-stats{margin-top:4px}.player-card.compact .stat-badge{padding:3px 8px;font-size:11px}.player-card-header{align-items:center;gap:15px;margin-bottom:15px;display:flex}.player-card.compact .player-card-header{margin-bottom:0}.player-avatar{background:linear-gradient(135deg, var(--dota-red), var(--dota-gold));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;box-shadow:0 4px 12px #0000004d}.avatar-placeholder{color:var(--white);text-transform:uppercase;font-family:SF Pro Display,sans-serif;font-size:24px;font-weight:600}.player-info{flex:1;min-width:0}.player-stats{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.stat-badge{letter-spacing:-.12px;background:var(--dark-surface-2);color:var(--white);border-radius:980px;padding:4px 10px;font-family:SF Pro Text,sans-serif;font-size:12px;font-weight:600}.stat-badge.mmr{color:var(--dota-gold);background:#d4af3733}.stat-badge.position{color:var(--dota-green);background:#74a84a33}.stat-badge.tier{color:var(--apple-blue);background:#0071e333}.player-detail{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.detail-label{color:#fff9;letter-spacing:-.224px;font-family:SF Pro Text,sans-serif;font-size:14px;font-weight:400}.detail-value{color:var(--white);letter-spacing:-.224px;font-family:SF Pro Text,sans-serif;font-size:14px;font-weight:600}.player-notes{color:#ffffffb3;border-top:1px solid #ffffff1a;margin-top:12px;padding-top:12px;font-style:italic}.auction-price{border-top:2px solid var(--dota-gold);justify-content:space-between;align-items:center;margin-top:15px;padding-top:15px;display:flex}.price-label{color:#fff9;letter-spacing:-.224px;font-family:SF Pro Text,sans-serif;font-size:14px;font-weight:400}.price-value{color:var(--dota-gold);letter-spacing:.231px;font-family:SF Pro Display,sans-serif;font-size:21px;font-weight:700}.selected-indicator{animation:.3s cubic-bezier(.4,0,.2,1) scaleIn;position:absolute;top:15px;right:15px}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.player-card{padding:15px}.player-avatar{width:50px;height:50px}.avatar-placeholder{font-size:20px}.card-title{font-size:18px}}.phase-container{min-height:100vh;padding:60px 0}.phase-header{text-align:center;margin-bottom:60px}.phase-header .display-hero{color:var(--white);margin-bottom:20px}.phase-header .sub-heading{color:#ffffffb3;margin-bottom:30px}.captain-counter{background:var(--dark-surface-1);border-radius:980px;align-items:baseline;gap:8px;margin-top:20px;padding:12px 30px;display:inline-flex}.counter-current{color:var(--apple-blue);font-family:SF Pro Display,sans-serif;font-size:40px;font-weight:600;line-height:1}.counter-separator{color:#fff6;font-family:SF Pro Display,sans-serif;font-size:28px;font-weight:400}.counter-total{color:#fff9;font-family:SF Pro Display,sans-serif;font-size:28px;font-weight:400}.selected-captains-bar{flex-wrap:wrap;justify-content:center;gap:10px;min-height:50px;margin-bottom:40px;display:flex}.captain-chip{background:var(--apple-blue);color:var(--white);letter-spacing:-.224px;border-radius:980px;align-items:center;gap:8px;padding:8px 16px;font-family:SF Pro Text,sans-serif;font-size:14px;font-weight:600;display:flex;box-shadow:0 2px 8px #0071e34d}.chip-remove{color:var(--white);cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:18px;line-height:1;transition:background .2s;display:flex}.chip-remove:hover{background:#ffffff4d}.players-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:60px;display:grid}.phase-actions{border-top:1px solid #ffffff1a;justify-content:center;gap:20px;padding-top:40px;display:flex}.btn-large{border-radius:980px;min-width:200px;padding:12px 40px;font-size:18px;font-weight:400}.btn-primary:disabled{background:var(--dark-surface-2);color:#ffffff4d;cursor:not-allowed}.btn-primary:disabled:hover{background:var(--dark-surface-2);transform:none}@media (width<=834px){.phase-container{padding:40px 0}.phase-header{margin-bottom:40px}.players-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.counter-current{font-size:32px}.counter-separator,.counter-total{font-size:24px}}@media (width<=480px){.players-grid{grid-template-columns:1fr}.selected-captains-bar{gap:8px}.captain-chip{padding:6px 12px;font-size:12px}}.assignment-layout{grid-template-columns:400px 1fr;gap:30px;margin-bottom:60px;display:grid}.unassigned-section{flex-direction:column;height:calc(100vh - 180px);display:flex;position:sticky;top:20px}.unassigned-section .section-heading{margin-bottom:12px;font-size:24px}.unassigned-count{color:var(--text-secondary);background:#0071e31a;border-radius:8px;margin-bottom:15px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-block}.unassigned-list{flex-direction:column;flex:1;gap:10px;padding-right:10px;display:flex;overflow-y:auto}.unassigned-list::-webkit-scrollbar{width:6px}.unassigned-list::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.unassigned-list::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.unassigned-list::-webkit-scrollbar-thumb:hover{background:#0000004d}.teams-section .section-heading{margin-bottom:20px;font-size:24px}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.team-card{background:var(--white);border:2px solid #0000001a;border-radius:12px;min-height:150px;padding:20px;transition:all .3s}.team-card.drag-over{border-color:var(--apple-blue);background:#0071e30d;box-shadow:0 0 0 4px #0071e31a}.team-header{border-bottom:2px solid #0000001a;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;display:flex}.team-header .card-title{font-size:18px}.team-count{color:var(--text-tertiary);background:#0000000d;border-radius:980px;padding:4px 12px;font-size:12px;font-weight:600}.team-members{flex-direction:column;gap:8px;display:flex}.team-member{background:#00000008;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;transition:background .2s;display:flex}.team-member:hover{background:#0000000f}.member-info{flex:1;align-items:center;gap:8px;display:flex}.member-name{color:var(--near-black);font-size:14px;font-weight:600}.captain-badge{letter-spacing:-.08px;background:var(--dota-gold);color:var(--white);border-radius:980px;padding:3px 8px;font-family:SF Pro Text,sans-serif;font-size:10px;font-weight:600}.member-remove{color:var(--dota-red);cursor:pointer;background:#c23c2a1a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:20px;line-height:1;transition:all .2s;display:flex}.member-remove:hover{background:var(--dota-red);color:var(--white)}@media (width<=1024px){.assignment-layout{grid-template-columns:1fr;gap:30px}.unassigned-section{position:static}.unassigned-list{max-height:400px}}@media (width<=640px){.teams-grid{grid-template-columns:1fr}.assignment-layout{gap:20px}}.budget-quick-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:15px;margin-bottom:40px;display:flex}.budget-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:60px;display:grid}.budget-card{background:var(--dark-surface-1);border:2px solid #0000;border-radius:12px;padding:24px;transition:all .3s}.budget-card:hover{box-shadow:var(--shadow-card);border-color:#ffffff1a;transform:translateY(-2px)}.budget-card-header{border-bottom:1px solid #ffffff1a;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:20px;display:flex}.team-avatar{background:linear-gradient(135deg, var(--apple-blue), var(--bright-blue));width:50px;height:50px;color:var(--white);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:SF Pro Display,sans-serif;font-size:20px;font-weight:600;display:flex}.team-info{flex:1;min-width:0}.team-info .card-title{color:var(--white);margin-bottom:4px}.budget-input-group{margin-bottom:20px}.budget-label{color:#fffc;margin-bottom:10px;display:block}.budget-input-wrapper{align-items:center;display:flex;position:relative}.currency-symbol{color:var(--dota-gold);pointer-events:none;z-index:1;font-family:SF Pro Display,sans-serif;font-size:21px;font-weight:600;position:absolute;left:16px}.budget-input{letter-spacing:.231px;background:var(--dark-surface-2);width:100%;color:var(--white);border:2px solid #fff3;border-radius:8px;padding:12px 14px;font-family:SF Pro Display,sans-serif;font-size:21px;font-weight:600;transition:all .2s}.budget-input:focus{border-color:var(--apple-blue);outline:none;box-shadow:0 0 0 4px #0071e333}.budget-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.budget-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.team-members-preview{border-top:1px solid #ffffff1a;padding-top:15px}@media (width<=640px){.budget-grid{grid-template-columns:1fr}.budget-quick-actions{flex-direction:column;align-items:stretch}.budget-quick-actions .btn-pill{width:100%}}.auction-layout{flex-direction:column;gap:20px;margin-bottom:40px;display:flex}.auction-sidebar{flex-direction:column;width:100%;display:flex}.teams-status{background:var(--dark-surface-1);border-radius:12px;flex:1;grid-template-rows:auto;grid-template-columns:repeat(5,1fr);align-content:start;gap:8px;max-height:none;padding:20px;display:grid;overflow-y:visible}.teams-status::-webkit-scrollbar{width:6px}.teams-status::-webkit-scrollbar-track{background:#ffffff0d;border-radius:3px}.teams-status::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.status-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;grid-column:1/-1;margin-bottom:15px;padding-bottom:12px}.team-status-item{background:var(--dark-surface-2);border-left:3px solid var(--apple-blue);border-radius:8px;flex-direction:column;flex-shrink:0;min-height:220px;padding:10px;display:flex}.team-status-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.team-status-name{color:var(--white);font-size:13px;font-weight:600}.team-members-list{border-top:1px solid #ffffff1a;flex-direction:column;flex:1;gap:4px;min-height:100px;margin-top:8px;padding-top:8px;display:flex}.team-member-item{justify-content:space-between;align-items:center;padding:2px 0;font-size:10px;display:flex}.member-name-small{color:#ffffffe6;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.member-position-small{color:#fff9;flex-shrink:0;margin-left:8px;font-size:9px}.team-status-budget{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.budget-label-small{color:#fff9;font-size:11px}.budget-value{color:var(--dota-gold);font-family:SF Pro Display,sans-serif;font-size:15px;font-weight:600}.budget-value.low{color:var(--dota-red)}.auction-main{grid-template-columns:1fr 400px;gap:20px;display:grid}.current-player-showcase{background:linear-gradient(135deg, var(--dark-surface-1) 0%, var(--dark-surface-3) 100%);text-align:center;box-shadow:var(--shadow-hero);border:2px solid #d4af374d;border-radius:16px;padding:30px;position:relative;overflow:hidden}.current-player-showcase:before{content:"";background:linear-gradient(90deg, var(--dota-red) 0%, var(--dota-gold) 50%, var(--dota-green) 100%);height:4px;position:absolute;top:0;left:0;right:0}.showcase-label{color:var(--dota-gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:15px;font-size:12px;font-weight:600}.showcase-avatar{background:linear-gradient(135deg, var(--dota-red), var(--dota-gold));width:100px;height:100px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 15px;font-family:SF Pro Display,sans-serif;font-size:40px;font-weight:600;display:flex;box-shadow:0 8px 24px #d4af3766}.showcase-name{color:var(--white);margin-bottom:20px;font-family:SF Pro Display,sans-serif;font-size:40px;font-weight:600;line-height:1.1}.showcase-stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:20px;margin-top:20px;display:grid}.showcase-stat{text-align:center;background:#0003;border-radius:8px;padding:12px}.showcase-stat-value{color:var(--dota-gold);margin-bottom:5px;font-family:SF Pro Display,sans-serif;font-size:28px;font-weight:600;display:block}.showcase-stat-label{color:#fff9;font-size:12px}.auction-controls{background:var(--dark-surface-1);border-radius:12px;padding:25px}.controls-header{border-bottom:1px solid #ffffff1a;margin-bottom:20px;padding-bottom:15px}.controls-header .card-title{font-size:18px}.team-selector{margin-bottom:15px}.team-selector label{color:#fffc;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.team-select{background:var(--dark-surface-2);width:100%;color:var(--white);cursor:pointer;border:2px solid #fff3;border-radius:8px;padding:10px 12px;font-family:SF Pro Text,sans-serif;font-size:15px;font-weight:400;transition:all .2s}.team-select:focus{border-color:var(--apple-blue);outline:none;box-shadow:0 0 0 4px #0071e333}.team-select option{background:var(--dark-surface-2);color:var(--white)}.price-input-group{margin-bottom:20px}.price-input-group label{color:#fffc;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.price-input-wrapper{align-items:center;display:flex;position:relative}.price-input{background:var(--dark-surface-2);width:100%;color:var(--dota-gold);border:2px solid #fff3;border-radius:8px;padding:12px;font-family:SF Pro Display,sans-serif;font-size:24px;font-weight:600;transition:all .2s}.price-input:focus{border-color:var(--dota-gold);outline:none;box-shadow:0 0 0 4px #d4af3733}.action-buttons{flex-direction:column;gap:10px;display:flex}.btn-success{background:var(--dota-green);color:var(--white);border-radius:8px;padding:12px 20px;font-size:16px;font-weight:600}.btn-success:hover{background:#82b857}.btn-success:disabled{background:var(--dark-surface-2);color:#ffffff4d;cursor:not-allowed}.btn-pass{color:#fff9;background:0 0;border:1px solid #fff3;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:400}.btn-pass:hover{color:#fffc;background:#ffffff0d}.remaining-count{color:var(--apple-blue);background:#0071e333;border-radius:980px;margin-bottom:20px;padding:6px 14px;font-size:14px;font-weight:600;display:inline-block}.btn-undo{color:#ff9500;background:#ff950026;border:1px solid #ff95004d;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-undo:hover:not(:disabled){background:#ff950040;border-color:#ff950080}.btn-undo:disabled{color:#ffffff4d;cursor:not-allowed;background:#ffffff0d;border-color:#ffffff1a}@media (width<=1024px){.auction-layout{grid-template-columns:1fr;gap:20px}.auction-sidebar{height:auto;position:static}.teams-status{max-height:400px}.showcase-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.current-player-showcase{padding:20px}.showcase-name{font-size:32px}.showcase-avatar{width:80px;height:80px;font-size:32px}.showcase-stats{grid-template-columns:1fr;gap:10px}.showcase-stat-value{font-size:24px}.auction-controls{padding:20px}.price-input{font-size:20px}}.final-allocation-container{flex-direction:column;gap:40px;display:flex}.allocation-status{background:var(--dark-surface-1);text-align:center;border-radius:12px;padding:30px}.status-message{color:var(--white);margin-bottom:20px}.current-pick-info{background:var(--dark-surface-2);border-radius:980px;align-items:center;gap:15px;margin-top:10px;padding:15px 30px;display:inline-flex}.pick-team-name{color:var(--apple-blue)}.pick-budget{color:var(--dota-gold)}.available-players-section{background:var(--dark-surface-1);border-radius:12px;padding:30px}.section-title{color:var(--white);margin-bottom:20px}.available-players-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;margin-bottom:20px;display:grid}.player-pick-card{background:var(--dark-surface-2);cursor:pointer;border:2px solid #0000;border-radius:8px;padding:15px;transition:all .3s}.player-pick-card:hover{border-color:var(--apple-blue);box-shadow:var(--shadow-card);transform:translateY(-2px)}.player-pick-card.selected{border-color:var(--dota-green);background:var(--dark-surface-3)}.pick-card-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.pick-avatar{background:linear-gradient(135deg, var(--dota-red), var(--dota-gold));width:40px;height:40px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:SF Pro Display,sans-serif;font-size:18px;font-weight:600;display:flex}.pick-info{flex:1;min-width:0}.pick-name{color:var(--white);margin-bottom:4px}.pick-stats{gap:8px;display:flex}.pick-stat{color:#fffc;background:#ffffff1a;border-radius:980px;padding:3px 8px;font-size:11px}.allocation-actions{justify-content:center;gap:15px;margin-top:20px;display:flex}.teams-final-status{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.team-final-card{background:var(--dark-surface-1);border-left:4px solid var(--apple-blue);border-radius:12px;padding:24px}.team-final-header{border-bottom:1px solid #ffffff1a;margin-bottom:20px;padding-bottom:15px}.team-final-name{color:var(--white);margin-bottom:8px}.team-final-stats{justify-content:space-between;margin-bottom:15px;display:flex}.final-stat{text-align:center}.final-stat-value{color:var(--dota-gold);margin-bottom:4px;font-family:SF Pro Display,sans-serif;font-size:21px;font-weight:700;display:block}.final-stat-label{color:#fff9}.team-final-members{flex-direction:column;gap:8px;display:flex}.final-member{background:var(--dark-surface-2);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.final-member-name{color:var(--white)}.final-member-price{color:var(--dota-gold)}.completion-message{text-align:center;padding:60px 20px}.completion-icon{margin-bottom:20px;font-size:80px}.completion-title{color:var(--white);margin-bottom:15px}.completion-subtitle{color:#ffffffb3;margin-bottom:40px}.btn-export-excel{background:linear-gradient(135deg, var(--dota-green) 0%, #82b857 100%);color:var(--white);cursor:pointer;border:none;border-radius:12px;align-items:center;gap:8px;padding:16px 32px;font-size:18px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 20px #74a84a4d}.btn-export-excel:hover{background:linear-gradient(135deg, #82b857 0%, var(--dota-green) 100%);transform:translateY(-2px);box-shadow:0 6px 30px #74a84a80}.btn-export-excel:active{transform:translateY(0)}@media (width<=834px){.available-players-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.teams-final-status{grid-template-columns:1fr}}@media (width<=480px){.available-players-grid{grid-template-columns:1fr}.current-pick-info{flex-direction:column;gap:8px}.allocation-actions{flex-direction:column}.allocation-actions button{width:100%}}.bouncing-text{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;background:linear-gradient(45deg,#ff0080,#ff8c00,#40e0d0,#ff0080) 0 0/300% 300%;-webkit-text-fill-color:transparent;text-shadow:0 0 20px #ff008080,0 0 40px #ff8c004d,0 0 60px #40e0d033;filter:drop-shadow(0 0 10px #ff008099);letter-spacing:2px;-webkit-background-clip:text;background-clip:text;font-size:80px;font-weight:900;animation:3s infinite gradient-shift,2s ease-in-out infinite float-bounce;position:fixed}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes float-bounce{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.05)rotate(2deg)}50%{transform:scale(1.1)rotate(0)}75%{transform:scale(1.05)rotate(-2deg)}}:root{--apple-blue:#0071e3;--link-blue:#06c;--bright-blue:#2997ff;--pure-black:#000;--near-black:#1d1d1f;--light-gray:#f5f5f7;--white:#fff;--text-primary-light:#1d1d1f;--text-primary-dark:#fff;--text-secondary:#000c;--text-tertiary:#0000007a;--dark-surface-1:#272729;--dark-surface-2:#262628;--dark-surface-3:#28282a;--dota-red:#c23c2a;--dota-green:#74a84a;--dota-gold:#d4af37;--shadow-card:#00000038 3px 5px 30px 0px;--shadow-hero:#0006 0px 8px 40px 0px}*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:SF Pro Display;src:local(SF Pro Display),local(Helvetica Neue),local(Helvetica),local(Arial);font-weight:100 900}@font-face{font-family:SF Pro Text;src:local(SF Pro Text),local(Helvetica Neue),local(Helvetica),local(Arial);font-weight:100 900}body{letter-spacing:-.374px;color:var(--text-secondary);background:var(--pure-black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.47;overflow-x:hidden}#root{min-height:100vh}.global-controls{z-index:1000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#000c;border:1px solid #ffffff1a;border-radius:12px;gap:10px;padding:12px 16px;display:flex;position:fixed;top:20px;right:20px}.btn-control{color:var(--white);cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-control:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.btn-control:active{transform:translateY(0)}.btn-control.btn-danger:hover{border-color:var(--dota-red);background:#c23c2a33}.easter-egg-text{background:linear-gradient(45deg,#ff0080,#ff8c00,#40e0d0,#ff0080,#7928ca,#ff0080) 0 0/300% 300%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #ff0080cc)drop-shadow(0 0 40px #40e0d099)drop-shadow(0 0 60px #ff8c0066);z-index:999;pointer-events:none;-webkit-user-select:none;user-select:none;letter-spacing:3px;-webkit-background-clip:text;background-clip:text;font-family:SF Pro Display,sans-serif;font-size:20px;font-weight:800;animation:3s infinite gradient-shift,2s ease-in-out infinite glow-pulse;position:fixed}.corner-bottom-left{bottom:30px;left:30px}.corner-bottom-right{bottom:30px;right:30px}.corner-top-left{top:80px;left:30px}.corner-top-right{top:80px;right:30px}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 20px #ff0080cc)drop-shadow(0 0 40px #40e0d099)drop-shadow(0 0 60px #ff8c0066)}50%{filter:drop-shadow(0 0 30px #ff0080)drop-shadow(0 0 60px #40e0d0e6)drop-shadow(0 0 90px #ff8c00b3)}}.display-hero{letter-spacing:-.28px;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:56px;font-weight:600;line-height:1.07}.section-heading{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:40px;font-weight:600;line-height:1.1}.tile-heading{letter-spacing:.196px;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:28px;font-weight:400;line-height:1.14}.card-title{letter-spacing:.231px;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:21px;font-weight:700;line-height:1.19}.sub-heading{letter-spacing:.231px;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:21px;font-weight:400;line-height:1.19}.body-text{letter-spacing:-.374px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;font-weight:400;line-height:1.47}.body-emphasis{letter-spacing:-.374px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;font-weight:600;line-height:1.24}.caption{letter-spacing:-.224px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:400;line-height:1.29}.caption-bold{letter-spacing:-.224px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:600;line-height:1.29}.micro{letter-spacing:-.12px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;font-weight:400;line-height:1.33}button{cursor:pointer;border:none;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;transition:all .2s}.btn-primary{background:var(--apple-blue);color:var(--white);border:1px solid #0000;border-radius:8px;padding:8px 15px;font-size:17px;font-weight:400}.btn-primary:hover{background:#0077ed}.btn-primary:active{background:#006dd6}.btn-primary:focus{outline:2px solid var(--apple-blue);outline-offset:2px}.btn-dark{background:var(--near-black);color:var(--white);border-radius:8px;padding:8px 15px;font-size:17px;font-weight:400}.btn-dark:hover{background:#2d2d2f}.btn-pill{color:var(--link-blue);border:1px solid var(--link-blue);background:0 0;border-radius:980px;padding:6px 20px;font-size:14px;font-weight:400}.btn-pill:hover{text-decoration:underline}.btn-pill.dark{color:var(--bright-blue);border-color:var(--bright-blue)}.section-light{background:var(--light-gray);color:var(--text-primary-light)}.section-dark{background:var(--pure-black);color:var(--text-primary-dark)}.card{background:var(--dark-surface-1);box-shadow:var(--shadow-card);border-radius:8px;padding:20px}.card-light{background:var(--white);color:var(--text-primary-light)}input[type=text],input[type=number]{background:var(--dark-surface-2);color:var(--white);border:1px solid #fff3;border-radius:8px;padding:8px 14px;font-family:SF Pro Text,-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;transition:all .2s}input[type=text]:focus,input[type=number]:focus{outline:2px solid var(--apple-blue);outline-offset:0;border-color:#0000}input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--apple-blue)}.container{max-width:980px;margin:0 auto;padding:0 20px}.full-width{width:100%}@media (width<=834px){.display-hero{font-size:40px}.section-heading{font-size:32px}.tile-heading{font-size:24px}}@media (width<=480px){.display-hero{font-size:28px}.section-heading{font-size:24px}}.app{background:var(--pure-black);min-height:100vh}.upload-phase{justify-content:center;align-items:center;min-height:100vh;padding:40px 0;display:flex}.upload-content{flex-direction:column;align-items:center;gap:60px;width:100%;display:flex}.upload-hero{text-align:center;position:relative}.upload-hero .display-hero{color:var(--white);background:linear-gradient(135deg, var(--white) 0%, var(--dota-gold) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:15px}.upload-hero .sub-heading{color:#ffffffb3;margin-bottom:30px}.hero-decoration{background:linear-gradient(90deg, var(--dota-red) 0%, var(--dota-gold) 50%, var(--dota-green) 100%);border-radius:2px;width:100px;height:4px;margin:30px auto 0}.upload-actions{width:100%;max-width:600px}.upload-card{background:var(--dark-surface-1);box-shadow:var(--shadow-hero);text-align:center;border:2px solid #ffffff1a;border-radius:16px;padding:40px}.upload-buttons{flex-direction:column;align-items:center;gap:15px;margin-bottom:30px;display:flex}.upload-label{text-align:center;cursor:pointer;display:inline-block}.upload-hint{border-top:1px solid #ffffff1a;padding-top:20px}@media (width<=640px){.upload-phase{padding:20px 0}.upload-content{gap:40px}.upload-card{padding:30px 20px}.upload-hero .display-hero{font-size:36px}}
