@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.0ekd.j2hc~_w0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.0rqws-.h91di~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.179.vsfvxa6t5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_4da20b56-module__Q5vzFa__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_4da20b56-module__Q5vzFa__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_6b7574a6-module__BVULza__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_6b7574a6-module__BVULza__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#faf6f0;--bg-tint:#f3ede3;--ink:#1d1d1f;--ink-2:#3a3a40;--ink-soft:#6b6b73;--ink-faint:#a7a39a;--line:#00000014;--line-2:#0000002a;--card:#fff;--pink-bg:#ffe2eb;--pink-tint:#ffd1de;--pink-accent:#e88aae;--pink-deep:#b14471;--pink-ink:#5e1a36;--blue-bg:#dde9fb;--blue-tint:#c5d8f5;--blue-accent:#7fa9e0;--blue-deep:#3866a8;--blue-ink:#143058;--live:#e63d57;--live-glow:#e63d5733;--gold:#c8983a;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--shadow-sm:0 1px 0 #0000000a, 0 8px 16px -12px #0002;--shadow-md:0 1px 0 #0000000a, 0 18px 36px -20px #00000028;--shadow-lg:0 2px 0 #0000000a, 0 40px 60px -30px #0003;--font-display:var(--font-bricolage), system-ui, sans-serif;--font-text:var(--font-bricolage), system-ui, sans-serif;--font-mono:var(--font-jetbrains), ui-monospace, monospace}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:radial-gradient(1200px 700px at -10% -20%, #ffd1de33, transparent 60%), radial-gradient(900px 600px at 120% 110%, #c5d8f533, transparent 55%), var(--bg);min-height:100vh;transition:background-color .7s}.label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.live-pill{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--live);border:1px solid var(--live);box-shadow:0 0 0 4px var(--live-glow);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 7px;font-size:10px;display:inline-flex}.live-pill:before{content:"";background:var(--live);width:6px;height:6px;box-shadow:0 0 0 3px var(--live-glow);border-radius:50%;animation:1.4s ease-in-out infinite live-pulse}.live-pill.sm{padding:3px 7px 3px 6px;font-size:9px}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.6)}}.chip{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);background:#00000008;border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;display:inline-flex}.chip.pending{color:var(--ink-soft)}.chip.final{color:#fff;background:#1d1d1f;border-color:#0000}.page{max-width:440px;margin:0 auto;padding:22px 18px 60px;position:relative}.topnav{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.topnav .crest{font-family:var(--font-display);letter-spacing:-.005em;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.topnav .crest .mark{background:linear-gradient(135deg, var(--pink-accent), var(--blue-accent));color:#fff;width:22px;height:22px;font-family:var(--font-display);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.topnav .navlink{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:10px;text-decoration:none;display:inline-flex}.topnav .navlink:hover{color:var(--ink);border-color:var(--line-2)}.hero h1{font-family:var(--font-display);letter-spacing:-.025em;margin:6px 0 8px;font-size:40px;font-weight:700;line-height:.95}.hero h1 em.p{color:var(--pink-deep);font-style:italic;font-weight:500}.hero h1 em.b{color:var(--blue-deep);font-style:italic;font-weight:500}.btn{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:11px;transition:transform 80ms,background .12s,opacity .12s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none}.btn.ghost{color:var(--ink);background:#fff}.btn.outline{color:var(--ink);background:0 0}.btn.danger{color:var(--live);border-color:var(--live);background:#fff}.btn.danger:hover{background:var(--live);color:#fff}.btn.live{background:var(--live);color:#fff;border-color:var(--live);box-shadow:0 0 0 4px var(--live-glow)}.btn.tiny{padding:6px 10px;font-size:10px}.btn.block{width:100%;display:flex}.input{width:100%;font-family:var(--font-display);border:1px solid var(--line-2);color:var(--ink);background:#fff;border-radius:12px;padding:11px 13px;font-size:14px;transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--ink-faint)}.input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 4px #00000010}.seg{border:1px solid var(--line);background:#00000008;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg button{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 10px;font-size:10px}.seg button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 1px 2px #00000018}.seg button[disabled]{cursor:not-allowed;opacity:.55}.hero{margin-bottom:18px}.hero .deck-line{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:10px;display:flex}.hero .deck-line .dot{background:var(--ink-faint);border-radius:50%;flex-shrink:0;width:4px;height:4px}.tournament-overview{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;grid-template-columns:repeat(3,1fr);margin-bottom:22px;display:grid;overflow:hidden}.tournament-overview .cell{border-right:1px solid var(--line);padding:10px 12px}.tournament-overview .cell:last-child{border-right:0}.tournament-overview .k{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:9px}.tournament-overview .v{font-family:var(--font-display);letter-spacing:-.02em;margin-top:2px;font-size:22px;font-weight:700;line-height:1.05}.tournament-overview .v.pink{color:var(--pink-deep)}.tournament-overview .v.blue{color:var(--blue-deep)}.match-card{border-radius:var(--r-lg);border:1px solid var(--line);background:#00000006;padding:4px;position:relative;overflow:hidden}.match-card.pink{background:var(--pink-bg);border-color:#ffc6d6}.match-card.blue{background:var(--blue-bg);border-color:#c1d4f0}.match-card.mixed{background:linear-gradient(135deg, var(--pink-bg) 0%, #fff 50%, var(--blue-bg) 100%);border-color:#00000018}.match-card.live{box-shadow:0 0 0 2px var(--live), 0 0 0 6px var(--live-glow), var(--shadow-md)}.match-card.decided{opacity:.95}.match-head{flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px 10px;display:flex}.match-head .round-name{font-family:var(--font-display);letter-spacing:-.015em;align-items:baseline;gap:8px;margin-right:auto;font-size:15px;font-weight:700;display:inline-flex}.match-head .round-name .num{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink-soft);font-size:10px;font-weight:400}.match-head .meta-right{align-items:center;gap:8px;display:inline-flex}.game-dots{border:1px solid var(--line);background:#fffa;border-radius:999px;gap:4px;padding:4px 8px;display:inline-flex}.game-dots .d{background:#00000010;border-radius:50%;width:8px;height:8px}.game-dots .d.p{background:var(--pink-accent)}.game-dots .d.b{background:var(--blue-accent)}.match-body{flex-direction:column;gap:4px;padding:0 6px 6px;display:flex}.player-row{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd6;border:1px solid #00000008;border-radius:14px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:grid}.player-row.win{box-shadow:0 0 0 1.5px var(--ink) inset;background:#fff;border-color:#0000}.player-row.win.team-pink{box-shadow:0 0 0 1.5px var(--pink-deep) inset}.player-row.win.team-blue{box-shadow:0 0 0 1.5px var(--blue-deep) inset}.player-row.tbd{color:var(--ink-soft);background:#fff6}.player-row .name{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:6px;font-size:17px;font-weight:600;line-height:1.05;display:inline-flex}.player-row.win .name{font-weight:700}.player-row.tbd .name{font-style:italic;font-weight:500}.player-row .handle{font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:.02em;margin-top:3px;font-size:10px}.player-row .score{font-family:var(--font-display);text-align:right;letter-spacing:-.04em;min-width:28px;font-size:26px;font-weight:700;line-height:1}.player-row:not(.win) .score{color:var(--ink-faint)}.player-row .crown{width:16px;height:16px;color:var(--gold);justify-content:center;align-items:center;display:inline-flex}.avatar{color:#fff;width:40px;height:40px;font-family:var(--font-display);letter-spacing:.02em;background-position:50%;background-size:cover;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;box-shadow:0 0 0 1px #00000014}.avatar.pink-1{background-image:linear-gradient(135deg,#ffaecb,#e76aa1)}.avatar.pink-2{background-image:linear-gradient(135deg,#ffc5d7,#c95988)}.avatar.blue-1{background-image:linear-gradient(135deg,#aac8ee,#4d82c6)}.avatar.blue-2{background-image:linear-gradient(135deg,#b7d1f1,#355f9c)}.avatar.tbd{background-image:linear-gradient(135deg,#e2dccf,#b4ad9c)}.avatar.champion{color:var(--ink);background-image:linear-gradient(135deg,#ffd1de,#c5d8f5)}.connector{justify-content:center;align-items:center;height:36px;display:flex;position:relative}.connector .stem{background:var(--ink);opacity:.7;width:2px;position:absolute;top:0;bottom:0}.connector .stem.dashed{background:repeating-linear-gradient(to bottom, var(--ink) 0 4px, transparent 4px 8px);opacity:.5}.connector .badge{z-index:2;background:var(--bg);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:9px;display:inline-flex;position:relative}.merge-connector{justify-content:center;align-items:center;height:56px;margin:4px auto;display:flex;position:relative}.merge-connector svg{display:block}.merge-connector .badge{background:var(--bg);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--line-2);border-radius:999px;padding:3px 10px;font-size:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.champion-card{border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;margin-top:28px;padding:18px 18px 20px;position:relative;overflow:hidden}.champion-card .ribbon{background:linear-gradient(90deg, var(--pink-accent), #fff, var(--blue-accent));height:4px;position:absolute;inset:auto 0 0}.champion-card .label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.champion-card .title{font-family:var(--font-display);letter-spacing:-.01em;font-size:14px;font-weight:700}.champion-card .who{grid-template-columns:56px 1fr auto;align-items:center;gap:14px;margin-top:12px;display:grid}.champion-card .who .name{font-family:var(--font-display);letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1}.champion-card .who .name.tbd{color:var(--ink-soft);font-size:24px;font-style:italic;font-weight:500}.champion-card .who .sub{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;font-size:10px}.champion-card .avatar.lg{width:56px;height:56px;font-size:18px}.champion-card .trophy{font-family:var(--font-display);color:var(--gold);font-size:26px;font-style:italic;font-weight:500}.champion-card.is-pink{background:linear-gradient(180deg, #fff, var(--pink-bg));border-color:#ffc6d6}.champion-card.is-blue{background:linear-gradient(180deg, #fff, var(--blue-bg));border-color:#c1d4f0}.champion-card .reveal-img{-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;width:100%;max-height:300px;margin:14px 0 6px;animation:.72s cubic-bezier(.22,1,.36,1) both reveal-pop;display:block}@keyframes reveal-pop{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.champion-card .reveal-img{animation:none}}.foot{border-top:1px dashed var(--line-2);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:22px;padding-top:14px;font-size:10px;display:flex}.foot a{color:inherit;text-decoration:none}.foot a:hover{color:var(--ink)}.page-note{text-align:center;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:80px;font-size:11px}.admin-head{justify-content:space-between;align-items:end;gap:12px;margin:8px 0 24px;display:flex}.admin-head h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:32px;font-weight:700}.admin-head .sub{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;font-size:10px}.section-h{justify-content:space-between;align-items:end;margin:28px 0 12px;display:flex}.section-h h2{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:20px;font-weight:700}.section-h .hint{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.admin-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:18px}.comp-row{grid-template-columns:1fr;gap:10px;margin-top:12px;display:grid}.comp-row:first-child{margin-top:0}.comp-row+.comp-row{border-top:1px dashed var(--line-2);padding-top:14px}.comp-row .head{align-items:center;gap:10px;display:flex}.comp-row .gtag{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:10px;display:inline-flex}.comp-row .gtag.girl{background:var(--pink-bg);color:var(--pink-deep)}.comp-row .gtag.boy{background:var(--blue-bg);color:var(--blue-deep)}.comp-row .gtag .sym{font-size:12px}.comp-row .slot-id{font-family:var(--font-mono);letter-spacing:.18em;color:var(--ink-faint);font-size:9px}.comp-row .avatar-preview{border:1px solid var(--line-2);width:32px;height:32px;font-family:var(--font-mono);color:var(--ink-soft);background-color:#00000010;background-position:50%;background-size:cover;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;font-size:11px;display:flex}.match-admin{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:16px 16px 18px;position:relative;overflow:hidden}.match-admin.live-strip:before{content:"";background:var(--live);width:4px;position:absolute;top:0;bottom:0;left:0}.match-admin .head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.match-admin .head h3{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:18px;font-weight:700}.match-admin .head .team-pill{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px}.match-admin .head .team-pill.pink{background:var(--pink-bg);color:var(--pink-deep)}.match-admin .head .team-pill.blue{background:var(--blue-bg);color:var(--blue-deep)}.match-admin .head .team-pill.mixed{color:var(--ink);background:#1d1d1f10}.match-admin .head .right{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.match-admin .controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.score-line{border:1px solid var(--line);background:#00000005;border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:10px;padding:12px 14px;display:grid}.score-line .side{align-items:center;gap:10px;min-width:0;display:flex}.score-line .side.right{justify-content:flex-end}.score-line .nm{font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.score-line .nm.tbd{color:var(--ink-soft);font-style:italic;font-weight:500}.score-line .sc{font-family:var(--font-display);letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1}.score-line .sc.dim{color:var(--ink-faint)}.score-line .vs{font-family:var(--font-mono);letter-spacing:.22em;color:var(--ink-soft);font-size:10px}.add-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px;display:grid}.add-row .btn{color:var(--ink);border-color:var(--line-2);white-space:nowrap;text-overflow:ellipsis;background:#fff;padding:11px 12px;font-size:11px;overflow:hidden}.add-row .btn.pink-cta{color:var(--pink-deep);border-color:var(--pink-accent);background:var(--pink-bg)}.add-row .btn.blue-cta{color:var(--blue-deep);border-color:var(--blue-accent);background:var(--blue-bg)}.add-row .btn.pink-cta:hover{background:var(--pink-tint)}.add-row .btn.blue-cta:hover{background:var(--blue-tint)}.add-row .btn:disabled{opacity:.35}.undo-row{justify-content:center;margin-top:4px;display:flex}.undo-row .btn{color:var(--ink-soft);border:1px dashed var(--line-2);background:0 0;width:100%}.undo-row .btn:hover{color:var(--ink);border-color:var(--ink);background:#fff}.history{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:10px;display:flex}.history .chip-game{border:1px solid var(--line);background:#00000008;border-radius:999px;padding:3px 8px}.history .chip-game.pink{background:var(--pink-bg);color:var(--pink-deep);border-color:#ffc6d6}.history .chip-game.blue{background:var(--blue-bg);color:var(--blue-deep);border-color:#c1d4f0}.waiting-box{text-align:center;font-family:var(--font-mono);color:var(--ink-soft);border:1px dashed var(--line-2);background:#00000005;border-radius:12px;padding:14px 12px;font-size:11px}.danger-zone{border-radius:var(--r-lg);background:#fff;border:1px solid #e63d5740;margin-top:22px;padding:18px}.danger-zone h3{font-family:var(--font-display);color:var(--live);margin:0 0 4px;font-size:16px;font-weight:700}.danger-zone p{color:var(--ink-soft);margin:0 0 12px;font-size:13px}.toast{background:var(--ink);color:#fff;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;box-shadow:var(--shadow-lg);z-index:100;border-radius:999px;padding:10px 14px;font-size:11px;animation:.2s toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.status-pill{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:10px}.status-pill.pending{color:var(--ink-soft);border:1px solid var(--line);background:#00000008}.status-pill.final{background:var(--ink);color:#fff}.login{text-align:center;max-width:320px;margin:60px auto 0}.login h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 6px;font-size:28px;font-weight:700}.login p{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 20px;font-size:10px}.login .input{text-align:center;margin-bottom:10px}.err-msg{font-family:var(--font-mono);color:var(--live);margin-top:14px;font-size:11px;line-height:1.4}.err-banner{color:var(--pink-ink);background:#e63d5712;border:1px solid #e63d5740;border-radius:12px;margin-bottom:14px;padding:10px 13px;font-size:13px}.upload-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-btn{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--ink);border:1px solid var(--line-2);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:9px 13px;font-size:10px;transition:border-color .12s,transform 80ms;display:inline-flex}.file-btn:hover{border-color:var(--ink);transform:translateY(-1px)}.link-btn{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--ink-soft);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:10px;text-decoration:underline}.link-btn:hover{color:var(--live)}body.reveal-girl{background-color:#ffc8dc}body.reveal-boy{background-color:#bcd2f2}.confetti{pointer-events:none;z-index:60;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.2,.6,1);animation-iteration-count:1;animation-fill-mode:both;position:absolute;top:-24px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-24px)rotate(0)}10%{opacity:1}88%{opacity:1}to{transform:translateY(104vh) rotate(var(--rot,540deg));opacity:0}}@media (prefers-reduced-motion:reduce){.confetti{display:none}}
