.bracket-header{position:sticky;top:0;z-index:20;background:#fff5e6f2;backdrop-filter:blur(8px);border-bottom:2px solid rgba(255,107,53,.1)}.tab-nav{position:sticky;top:52px;z-index:19;background:#fff5e6e6;backdrop-filter:blur(8px)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.tab-btn{padding:8px 16px;border-radius:12px;font-weight:800;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;color:#888;background:transparent;transition:all .2s;border:2px solid transparent;min-height:44px}.tab-btn:hover{color:#ff6b35}.tab-btn.active{color:#fff;background:linear-gradient(135deg,#ff6b35,#e91e63);border-color:transparent;box-shadow:0 2px 8px #ff6b354d}.bracket-content{overflow-x:auto;-webkit-overflow-scrolling:touch}.bracket-tree{display:flex;align-items:stretch;min-width:fit-content;gap:0;padding:8px 0}.bracket-round{display:flex;flex-direction:column;justify-content:space-around;gap:4px;min-width:130px;flex-shrink:0}.round-header{text-align:center;font-weight:900;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#7b2d8e;padding:4px 0 2px;flex-shrink:0}.bracket-connectors{display:flex;flex-direction:column;justify-content:space-around;width:24px;flex-shrink:0;padding-top:20px}.connector-pair{flex:1;position:relative}.connector-pair:before,.connector-pair:after{content:"";position:absolute;right:0;width:50%;border-color:#ccc;border-style:solid}.connector-pair:before{top:25%;height:25%;border-width:2px 2px 0 0;border-top-right-radius:6px}.connector-pair:after{bottom:25%;height:25%;border-width:0 2px 2px 0;border-bottom-right-radius:6px}.matchup-box{background:#fff;border-radius:6px;border:2px solid #e0e0e0;cursor:pointer;transition:all .2s;overflow:hidden;min-width:120px;max-width:160px;-webkit-tap-highlight-color:transparent}.matchup-box:hover{border-color:#ff6b35;box-shadow:0 2px 12px #ff6b3526;transform:translateY(-1px)}.matchup-box.unpicked{border-color:gold;animation:pulse-glow 2s ease-in-out infinite}.matchup-box.picked{border-color:#2ecc71;box-shadow:0 1px 4px #2ecc7133}.matchup-box.waiting{opacity:.5;cursor:default;border-style:dashed}.matchup-box.waiting:hover{transform:none;border-color:#e0e0e0;box-shadow:none}.matchup-divider{height:1px;background:#e0e0e0}.slot-line{display:flex;align-items:center;gap:4px;padding:3px 5px;min-height:24px;font-size:.65rem;font-weight:700}.slot-line.empty{color:#bbb;font-style:italic}.slot-line.winner{background:#2ecc711a}.slot-seed{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:.5rem;font-weight:900;flex-shrink:0;border:1px solid #ddd}.slot-logo{width:16px;height:16px;object-fit:contain;flex-shrink:0}.slot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:#333;font-size:.6rem}.slot-name-kid{font-size:.55rem}.slot-line.winner .slot-name{color:#1a7a3a}.slot-check{color:#2ecc71;font-weight:900;font-size:.7rem}.ff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:900px;margin:0 auto;padding:8px}.ff-tree{justify-content:center;max-width:500px;margin:0 auto}.ff-tree .bracket-round{min-width:180px}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.modal-overlay.hidden{display:none}.modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px)}.modal-content{position:relative;background:linear-gradient(160deg,#fff 60%,#fff5e6);border-radius:28px;padding:24px 20px 28px;max-width:520px;width:calc(100% - 24px);max-height:92vh;overflow-y:auto;box-shadow:0 24px 72px #00000059;animation:slide-in-up .3s ease-out;border:3px solid rgba(255,215,0,.4)}.modal-close-btn{position:absolute;top:12px;right:16px;font-size:28px;font-weight:900;color:#999;background:none;border:none;cursor:pointer;line-height:1;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;z-index:1}.modal-close-btn:hover{background:#0000000d;color:#333}.modal-cards{display:flex;flex-direction:row;gap:12px}.modal-team-card{flex:1;border-radius:24px;padding:24px 16px 20px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;-webkit-tap-highlight-color:transparent;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.3);box-shadow:0 4px 16px #00000026}.modal-team-card:hover{transform:scale(1.06) translateY(-4px);box-shadow:0 12px 32px #00000040}.modal-team-card:active{transform:scale(.95)}.modal-seed-badge{position:absolute;top:10px;left:10px;width:32px;height:32px;border-radius:50%;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.85rem}.modal-logo{width:64px;height:64px;object-fit:contain;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.modal-logo-big{width:100px;height:100px;object-fit:contain;margin-bottom:8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.modal-logo-sm{width:48px;height:48px;object-fit:contain;margin-bottom:6px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.modal-mascot{font-size:2rem;font-weight:900;letter-spacing:.03em;line-height:1.1}.modal-mascot-sm{font-size:1rem;font-weight:800;letter-spacing:.02em;opacity:.9;margin-top:2px}.modal-record{font-size:.8rem;font-weight:700;opacity:.7;margin-top:2px}.modal-team-name{font-size:1.5rem;font-weight:900;line-height:1.2}.modal-team-detail{font-size:.9rem;opacity:.85;font-weight:700;margin-top:4px}.vs-badge{background:linear-gradient(135deg,#ff6b35,#e91e63);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3);letter-spacing:.05em}.modal-winner{animation:bounce-pick .5s ease-out;box-shadow:0 0 0 4px gold,0 8px 25px #0000004d!important}.modal-loser{animation:fade-out-card .4s ease-out forwards}@media(min-width:768px){.modal-team-card{min-height:220px;padding:32px 24px}.modal-logo{width:80px;height:80px}.modal-logo-big{width:120px;height:120px}.modal-mascot{font-size:2.4rem}.modal-mascot-sm{font-size:1.1rem}.modal-team-name{font-size:1.8rem}}.mode-pick-btn{min-height:90px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mode-pick-btn:hover{transform:scale(1.04)}.mode-pick-btn:active{transform:scale(.97)}@media(max-width:640px){.bracket-round{min-width:100px}.matchup-box{min-width:95px;max-width:120px}.slot-line{padding:2px 4px;font-size:.55rem;min-height:20px;gap:3px}.slot-logo{width:14px;height:14px}.slot-seed{width:14px;height:14px;font-size:.45rem}.slot-name{font-size:.5rem}.modal-mascot{font-size:1.3rem}}
