:root{--bg: #0a0c12;--bg-2: #101420;--panel: #151a28;--panel-2: #1b2134;--line: #2a3350;--line-picked: #7c5cff;--text: #e8ecf6;--text-dim: #8b93ad;--text-faint: #5a6280;--accent: #7c5cff;--accent-2: #37c8ff;--gold: #ffd166;--danger: #ff5d73;--card-radius: 10px;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 15% -10%,#1c1440cc,transparent 60%),radial-gradient(1000px 500px at 85% -10%,#0b2a4acc,transparent 60%),var(--bg);color:var(--text);min-height:100vh}button{font:inherit;cursor:pointer;border:none}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid #ffffff12;background:#0d101acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{font-size:22px}.brand-name{font-family:Barlow Condensed,Inter,sans-serif;font-size:30px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1}.brand-name em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.brand-sub{color:var(--text-dim);font-size:12px}.topbar-tools{display:flex;align-items:center;gap:12px}.progress{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.progress i{font-style:normal;color:var(--text-faint);font-weight:400}.progress-track{width:130px;height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .4s ease}button.ghost{background:#ffffff0d;color:var(--text);border:1px solid #ffffff1f;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}button.ghost:hover{background:#ffffff1a;border-color:#fff3}button.ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.bracket-scroll{flex:1;overflow:auto;padding:18px}.bracket-scale{transform-origin:top left;margin-left:auto;margin-right:auto}.board{position:relative}.edges{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.edge{fill:none;stroke:var(--line);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.edge.picked{stroke:var(--line-picked);stroke-width:2.5;filter:drop-shadow(0 0 4px #7c5cff66)}.round-label{position:absolute;text-align:center;font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.region-label{position:absolute;font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.match{position:absolute;display:flex;flex-direction:column;background:var(--panel);border:1px solid #ffffff14;border-radius:var(--card-radius);overflow:hidden;box-shadow:0 2px 10px #00000059}.match.ready{cursor:pointer}.match.ready:hover{border-color:#7c5cff88;box-shadow:0 4px 18px #00000080,0 0 0 1px #7c5cff55}.match.decided{border-color:#7c5cff3d}.match .row{flex:1;display:flex;align-items:center;gap:6px;padding:0 7px;min-width:0;position:relative}.match .row+.row{border-top:1px solid #ffffff0f}.match .row.winner{background:linear-gradient(90deg,#7c5cff2e,transparent 80%);box-shadow:inset 3px 0 0 var(--accent)}.match .row.loser{opacity:.42}.match .row.tbd{color:var(--text-faint);font-size:10.5px;font-style:italic}.match .seed{font-size:9.5px;font-weight:700;color:var(--text-faint);width:13px;text-align:right;flex-shrink:0}.match .thumb{width:21px;height:21px;border-radius:4px;object-fit:cover;flex-shrink:0}.match .thumb.placeholder{background:linear-gradient(135deg,#232a42,#161b2c);display:inline-block}.match .names{min-width:0;display:flex;flex-direction:column;line-height:1.15}.match .names b{font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match .names i{font-style:normal;font-size:9px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match .check{margin-left:auto;color:var(--accent-2);font-size:11px;font-weight:700;flex-shrink:0}.match .edit-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:5px;background:#ffffff1a;color:var(--text);font-size:11px;line-height:1;display:none;align-items:center;justify-content:center;padding:0}.match .row:hover .edit-btn{display:flex}.match .edit-btn:hover{background:var(--accent)}.champ-spot{position:absolute;width:260px;text-align:center}.champ-title{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}.champ-card{background:var(--panel);border:1px solid #ffd16649;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 32px #00000073,0 0 40px #ffd16617}.champ-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;margin-bottom:6px}.champ-card b{font-size:15px}.champ-card i{font-style:normal;font-size:12.5px;color:var(--text-dim)}.champ-card.empty{border-style:dashed;border-color:#ffffff21;color:var(--text-faint);padding:34px 14px;box-shadow:none}.champ-card.empty .trophy{font-size:44px;opacity:.45;margin-bottom:8px}.champ-art-placeholder{width:100%;aspect-ratio:1;border-radius:9px;background:linear-gradient(135deg,#232a42,#161b2c)}.fo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060acc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.fo-modal{position:relative;width:min(880px,100%);max-height:94vh;overflow-y:auto;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid #ffffff1c;border-radius:20px;padding:18px 22px 26px;box-shadow:0 24px 80px #000000b3}.fo-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.fo-round{font-family:Barlow Condensed,sans-serif;font-size:19px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.fo-region{font-size:12px;color:var(--text-dim);border:1px solid #ffffff21;border-radius:999px;padding:3px 10px}.fo-close{margin-left:auto;background:#ffffff0d;color:var(--text-dim);width:30px;height:30px;border-radius:8px}.fo-close:hover{background:#ffffff1f;color:var(--text)}.fo-arena{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}.fo-vs{font-family:Barlow Condensed,sans-serif;font-size:30px;font-weight:700;font-style:italic;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0b0d14;box-shadow:0 0 30px #7c5cff59}.fo-card{background:#0f1320;border:1px solid #ffffff14;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.fo-card.active{border-color:#37c8ff80;box-shadow:0 0 0 1px #37c8ff40,0 0 34px #37c8ff21}.fo-card.victor{border-color:var(--gold);box-shadow:0 0 0 1px #ffd16659,0 0 44px #ffd16630}.fo-art{position:relative;aspect-ratio:1;border-radius:11px;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,#232a42,#161b2c)}.fo-art img{width:100%;height:100%;object-fit:cover;display:block}.fo-art-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px;color:var(--text-faint)}.fo-seed{position:absolute;top:8px;left:8px;background:#05060acc;border:1px solid #ffffff2b;border-radius:7px;font-size:11px;font-weight:700;padding:3px 7px}.fo-playbtn{position:absolute;right:8px;bottom:8px;width:38px;height:38px;border-radius:50%;background:#05060ad9;border:1px solid #ffffff30;display:flex;align-items:center;justify-content:center;font-size:13px;opacity:0;transition:opacity .15s}.fo-art:hover .fo-playbtn,.fo-card.active .fo-playbtn{opacity:1}.eq{position:absolute;left:10px;bottom:10px;display:flex;align-items:flex-end;gap:3px;height:18px}.eq span{width:4px;background:var(--accent-2);border-radius:2px;animation:eq-bounce .9s ease-in-out infinite}.eq span:nth-child(2){animation-delay:.18s}.eq span:nth-child(3){animation-delay:.36s}.eq span:nth-child(4){animation-delay:.54s}@keyframes eq-bounce{0%,to{height:5px}50%{height:18px}}.fo-progress{height:5px;border-radius:3px;background:#ffffff12;overflow:hidden}.fo-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .25s linear}.fo-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.fo-meta b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-meta i{font-style:normal;font-size:13px;color:var(--text-dim)}.fo-meta em{font-style:normal;font-size:11.5px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fo-actions{display:flex;gap:8px}button.vote{flex:1;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0b0d14;font-weight:700;font-size:13.5px;padding:10px 12px;border-radius:9px;transition:filter .15s,transform .1s}button.vote:hover:not(:disabled){filter:brightness(1.15)}button.vote:active:not(:disabled){transform:scale(.97)}button.vote:disabled{cursor:default;filter:saturate(.4) brightness(.7)}.fo-unblock{position:absolute;inset:auto 0 40%;margin:0 auto;width:fit-content;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0b0d14;font-weight:700;font-size:16px;padding:14px 28px;border-radius:999px;box-shadow:0 10px 40px #7c5cff66}.album-search{display:flex;flex-direction:column;gap:10px;min-height:320px}.search-head{display:flex;gap:8px}.album-search input{flex:1;background:#0a0d16;border:1px solid #ffffff24;border-radius:9px;color:var(--text);font:inherit;font-size:14px;padding:10px 12px;outline:none;min-width:0}.album-search input:focus{border-color:var(--accent)}.search-note{font-size:12.5px;color:var(--text-dim)}.search-note.error{color:var(--danger)}.search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:300px}.search-results button{width:100%;display:flex;align-items:center;gap:10px;background:#ffffff08;border:1px solid transparent;border-radius:9px;padding:7px 9px;color:var(--text);text-align:left}.search-results button:hover{background:#ffffff12;border-color:#7c5cff66}.search-results img{width:42px;height:42px;border-radius:6px;flex-shrink:0}.search-results span{display:flex;flex-direction:column;min-width:0}.search-results b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-results i{font-style:normal;font-size:11.5px;color:var(--text-dim)}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#05060ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti span{position:absolute;top:-20px;border-radius:2px;animation-name:confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes confetti-fall{0%{transform:translateY(-4vh) rotate(0);opacity:1}to{transform:translateY(108vh) rotate(calc(var(--spin) * 720deg));opacity:.7}}.celebrate-card{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid #ffd1664d;border-radius:22px;padding:28px 34px 30px;text-align:center;max-width:420px;width:100%;box-shadow:0 30px 90px #000c,0 0 80px #ffd16621}.celebrate-kicker{font-family:Barlow Condensed,sans-serif;font-size:17px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}.celebrate-card img{width:min(280px,70vw);aspect-ratio:1;object-fit:cover;border-radius:14px;box-shadow:0 14px 44px #0009}.celebrate-card h2{margin:18px 0 4px;font-size:24px}.celebrate-card p{margin:0 0 20px;color:var(--text-dim);font-size:15px}.celebrate-card button.vote{width:100%}.content{flex:1;width:100%}.brand{background:none;border:none;padding:0}.home{max-width:980px;margin:0 auto;padding:34px 20px 60px}.hero h1{font-family:Barlow Condensed,sans-serif;font-size:clamp(38px,6vw,62px);font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin:0 0 10px;line-height:1.02}.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--text-dim);font-size:16px;max-width:560px;margin:0 0 26px}.signin{background:var(--panel);border:1px solid #ffffff14;border-radius:16px;padding:22px;max-width:460px}.signin p{margin:0 0 12px;font-weight:600}.signin-row{display:flex;gap:10px}.signin input,.wizard input,.wizard select,.setup-bar select{background:#0a0d16;border:1px solid #ffffff24;border-radius:9px;color:var(--text);font:inherit;font-size:14px;padding:10px 12px;outline:none;min-width:0}.signin input:focus,.wizard input:focus{border-color:var(--accent)}.signin-row input{flex:1}.signin-google{margin-top:14px}.welcome{display:flex;align-items:center;gap:12px;color:var(--text-dim);font-size:13.5px;margin-bottom:18px}.wizard{background:var(--panel);border:1px solid #ffffff14;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:18px;margin-bottom:34px}.wizard h2,.mine h2{margin:0;font-family:Barlow Condensed,sans-serif;font-size:26px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:8px;flex:1}.field>span{font-size:12.5px;font-weight:600;color:var(--text-dim);letter-spacing:.04em}.wizard-row{display:flex;gap:18px;flex-wrap:wrap}.limit-row{display:flex;gap:8px}.limit-row input{width:90px}.seg{display:flex;background:#0a0d16;border:1px solid #ffffff24;border-radius:9px;overflow:hidden;width:fit-content}.seg button{background:transparent;color:var(--text-dim);border:none;padding:9px 16px;font-size:13.5px;font-weight:600}.seg button.on{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#0b0d14}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.theme-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;background:#0f1320;border:1px solid #ffffff14;border-radius:12px;padding:12px;color:var(--text)}.theme-card img,.theme-card .theme-art{width:64px;height:64px;border-radius:8px;background:linear-gradient(135deg,#232a42,#161b2c)}.theme-card b{font-size:14px}.theme-card i{font-style:normal;font-size:11.5px;color:var(--text-dim)}.theme-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 24px #7c5cff2e}button.vote.big{font-size:15px;padding:13px}.mine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:14px}.mine-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--panel);border:1px solid #ffffff14;border-radius:12px;padding:14px;color:var(--text)}.mine-card:hover{border-color:#7c5cff77}.mine-card b{font-size:15px}.mine-card i{font-style:normal;font-size:12px;color:var(--text-dim)}.chip{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:3px 10px}.chip.setup{background:#37c8ff22;color:var(--accent-2)}.chip.live{background:#06d6a022;color:#06d6a0}.chip.done{background:#ffd16622;color:var(--gold)}.chip.plain{background:#ffffff10;color:var(--text-dim);text-transform:none;letter-spacing:0;font-weight:500;font-size:12px}.bracket-page{padding:18px 18px 30px}.bp-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.bp-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bp-title h1{margin:0;font-family:Barlow Condensed,sans-serif;font-size:30px;font-weight:700;letter-spacing:.03em}.bp-tools{display:flex;align-items:center;gap:10px}button.ghost.back{padding:6px 11px}button.ghost.accent{border-color:#7c5cff88;color:#cabfff}.countdown{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-2)}.countdown.urgent{color:var(--danger);animation:pulse-text 1.2s ease-in-out infinite}.countdown.over{color:var(--text-faint)}@keyframes pulse-text{50%{opacity:.55}}.join-bar,.vote-bar,.setup-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid #ffffff14;border-radius:12px;padding:12px 16px;margin-bottom:12px;font-size:14px}.join-bar.subtle{color:var(--text-dim)}.vote-bar{border-color:#37c8ff55;background:linear-gradient(90deg,#37c8ff14,var(--panel))}.vote-bar.done{border-color:#06d6a055;background:linear-gradient(90deg,#06d6a014,var(--panel))}.page-note{text-align:center;padding:80px 20px;color:var(--text-dim)}.board-wrap{position:relative}.board-tools{display:flex;justify-content:flex-end;margin-bottom:6px}.search-note.center{text-align:center;margin-bottom:10px}.match.hot{border-color:#37c8ff88;box-shadow:0 0 0 1px #37c8ff44,0 0 16px #37c8ff2b}.match .row.mine{box-shadow:inset 3px 0 0 var(--accent-2)}.match .check.my{color:var(--accent-2);font-size:8px}.match .tally{margin-left:auto;font-size:9.5px;font-weight:700;color:var(--text-dim);background:#ffffff12;border-radius:5px;padding:1px 5px;flex-shrink:0}.match .row.winner .tally{color:var(--accent-2)}.votebadge{position:absolute;top:-9px;right:8px;background:#0a0d16;border:1px solid #37c8ff66;color:var(--accent-2);border-radius:999px;font-size:9px;font-weight:700;padding:1px 7px}.fo-region.live{border-color:#06d6a077;color:#06d6a0}.fo-crown{position:absolute;top:8px;right:8px;font-size:26px;filter:drop-shadow(0 2px 8px #000c)}.fo-tally{font-size:12px;font-weight:700;color:var(--gold);margin-top:2px}button.vote.voted{background:#06d6a0}.fo-voters{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.voter-chip{display:inline-flex;align-items:center;gap:5px;background:#ffffff10;border:1px solid #ffffff1c;border-radius:999px;padding:2px 9px;font-size:11px;color:var(--text-dim);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voter-chip img{width:15px;height:15px;border-radius:50%}.foot{text-align:center;color:var(--text-faint);font-size:11.5px;padding:10px 16px 16px}@media(max-width:720px){.brand-sub{display:none}.topbar{padding:10px 14px}.brand-name{font-size:24px}.progress-track{width:70px}.fo-arena{grid-template-columns:1fr}.fo-vs{margin:-6px auto;width:44px;height:44px;font-size:22px;z-index:2}.fo-modal{padding:14px 14px 20px}.album-search{min-height:220px}}
