:root{--bg: #0a0a14;--glass: rgba(255, 255, 255, .055);--glass-2: rgba(255, 255, 255, .09);--line: rgba(255, 255, 255, .1);--line-2: rgba(255, 255, 255, .18);--fg: #f7f7fb;--muted: #a3a4bd;--pink: #ff4d6d;--orange: #ff8a5b;--violet: #7c5cff;--cyan: #22d3ee;--ok: #34d399;--warn: #fbbf24;--danger: #ff4d6d;--grad: linear-gradient(135deg, var(--pink), var(--orange));--grad-text: linear-gradient(120deg, #ff8a5b 0%, #ff4d6d 40%, #a78bfa 100%);--radius: 22px;--radius-s: 14px;--shadow: 0 20px 50px rgba(0, 0, 0, .45);--font-display: "Bricolage Grotesque", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}#root{min-height:100dvh;position:relative;z-index:1}.bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(1200px 600px at 50% -10%,rgba(124,92,255,.18),transparent 60%),var(--bg)}.blob{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.55;animation:drift 18s ease-in-out infinite alternate}.blob-1{background:radial-gradient(circle,rgba(255,77,109,.55),transparent 60%);top:-25vmax;left:-15vmax}.blob-2{background:radial-gradient(circle,rgba(124,92,255,.55),transparent 60%);bottom:-30vmax;right:-20vmax;animation-delay:-6s}.blob-3{background:radial-gradient(circle,rgba(34,211,238,.35),transparent 60%);top:40%;left:55%;width:40vmax;height:40vmax;animation-delay:-12s}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(6vmax,4vmax) scale(1.15)}}.screen{max-width:520px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 16px calc(150px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;min-height:100dvh;animation:rise .35s ease-out both}.screen.center{justify-content:center;align-items:center;text-align:center;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.screen.center>*{width:100%}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}h1,h2,h3{font-family:var(--font-display);margin:0;letter-spacing:-.02em}h1{font-size:2rem;font-weight:800;line-height:1.1}h2{font-size:1.05rem;font-weight:800;margin-bottom:12px}h3{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}p{margin:0;line-height:1.5}.muted{color:var(--muted)}.small{font-size:.85rem}.txt-ok{color:var(--ok)}.txt-danger{color:var(--danger)}.txt-grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.center-text{text-align:center}.full{width:100%}.grow{flex:1;min-width:0}.hero{text-align:center;padding:18px 0 6px}.hero-badge{width:84px;height:84px;margin:0 auto 14px;border-radius:28px;display:grid;place-items:center;font-size:2.6rem;background:var(--glass-2);border:1px solid var(--line-2);box-shadow:0 0 60px #ff4d6d59,inset 0 1px #ffffff26;animation:float 5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}.hero h1{font-size:3rem}.hero p{margin-top:8px;max-width:34ch;margin-inline:auto}.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow),inset 0 1px #ffffff0f;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.card-hero{position:relative;overflow:hidden}.card-hero:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#ff4d6dcc,#7c5cff99,#22d3ee80);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:1.6rem;background:var(--glass-2);border:1px solid var(--line);flex-shrink:0}.card-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}.card-head h2{margin:0}.input{width:100%;background:#00000040;border:1px solid var(--line);color:var(--fg);border-radius:var(--radius-s);padding:14px 16px;font-size:1rem;font-family:inherit;min-width:0;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:#a3a4bdb3}.input:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px #ff4d6d2e}.code-input{text-transform:uppercase;letter-spacing:.25em;font-weight:700;font-family:var(--font-display);text-align:center}.players{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.player-row{display:flex;gap:8px;align-items:center}.icon-btn{background:var(--glass-2);border:1px solid var(--line);color:var(--muted);border-radius:var(--radius-s);width:48px;height:48px;font-size:1rem;cursor:pointer;flex-shrink:0}.icon-btn:disabled{opacity:.3;cursor:default}.icon-btn.small{width:34px;height:34px;border-radius:10px;font-size:.8rem}.link{background:none;border:none;color:var(--orange);cursor:pointer;padding:4px;font-size:.85rem;font-family:inherit;font-weight:600}.group{margin-top:14px}.group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.group-actions{display:flex;gap:6px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#00000040;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 13px;font-size:.88rem;font-family:inherit;cursor:pointer;transition:.15s}.chip:active{transform:scale(.96)}.chip-on{color:var(--fg);border-color:#ff4d6dcc;background:#ff4d6d29;box-shadow:0 0 0 1px #ff4d6d40}.chip-on.chip-violet{border-color:#7c5cffe6;background:#7c5cff33;box-shadow:0 0 0 1px #7c5cff40}.chip-on.chip-cyan{border-color:#22d3eee6;background:#22d3ee29;box-shadow:0 0 0 1px #22d3ee40}.opt{display:flex;flex-direction:column;gap:8px;margin-top:16px}.opt>span{font-weight:600;font-size:.95rem}.opt-row{flex-direction:row;justify-content:space-between;align-items:center}.seg{display:flex;background:#0000004d;border:1px solid var(--line);border-radius:var(--radius-s);padding:4px;gap:4px}.seg-item{flex:1;background:none;border:none;color:var(--muted);border-radius:10px;padding:10px 6px;font-size:.9rem;font-family:inherit;font-weight:600;cursor:pointer;transition:.15s}.seg-on{background:var(--grad);color:#fff;box-shadow:0 6px 18px #ff4d6d59}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:50px;height:30px;border-radius:999px;background:#00000059;border:1px solid var(--line);position:relative;cursor:pointer;flex-shrink:0;transition:.2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:.2s}.switch:checked{background:var(--grad);border-color:transparent}.switch:checked:after{left:23px;background:#fff}.btn{border:1px solid transparent;border-radius:16px;padding:14px 18px;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .1s,opacity .15s,box-shadow .2s,background .2s;width:100%;position:relative}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn-big{padding:18px 22px;font-size:1.12rem;border-radius:18px}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 30px #ff4d6d66,inset 0 1px #ffffff40}.btn-primary:not(:disabled):hover{box-shadow:0 14px 40px #ff4d6d8c,inset 0 1px #ffffff40}.btn-secondary{background:var(--glass-2);border-color:var(--line-2);color:var(--fg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-ghost{background:transparent;color:var(--muted)}.btn-danger{background:linear-gradient(135deg,#ff4d6d,#c026d3);color:#fff;box-shadow:0 10px 30px #c026d359}.sticky-bottom{position:fixed;left:0;right:0;bottom:0;padding:24px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(to top,#0a0a14fa 55%,#0a0a1400);max-width:520px;margin:0 auto;z-index:5}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:10px}.row.wrap{flex-wrap:wrap;justify-content:center}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.progress{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;font-size:.85rem}.lead{font-size:1.05rem;color:var(--muted)}.big-name{font-size:2.6rem;margin:6px 0 22px;word-break:break-word;line-height:1.05}.center-block{text-align:center;padding:10px 0}.avatar{display:inline-grid;place-items:center;border-radius:50%;color:#fff;font-weight:800;font-family:var(--font-display);letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.35);flex-shrink:0;position:relative;box-shadow:inset 0 1px #ffffff59,0 4px 12px #00000059}.avatar-dim{filter:grayscale(.7);opacity:.5}.avatar-ring-host{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--warn)}.avatar-ring-now{box-shadow:0 0 0 3px var(--bg),0 0 0 6px var(--pink),0 0 30px #ff4d6db3;animation:pulse 1.6s ease-in-out infinite}.avatar-ring-ok{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ok)}.avatar-badge{position:absolute;bottom:-4px;right:-4px;font-size:.7em;background:var(--bg);border-radius:50%;padding:2px;line-height:1}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--bg),0 0 0 6px var(--pink),0 0 30px #ff4d6d99}50%{box-shadow:0 0 0 3px var(--bg),0 0 0 8px #ff4d6d99,0 0 50px #ff4d6de6}}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list-item{display:flex;align-items:center;gap:12px;background:#00000038;border:1px solid var(--line);border-radius:var(--radius-s);padding:10px 12px}.list-item .name{font-weight:600}.dot{width:9px;height:9px;border-radius:50%;background:#4b4b5e;flex-shrink:0}.dot-on{background:var(--ok);box-shadow:0 0 10px #34d399cc}.badge{font-size:.72rem;font-weight:700;background:var(--glass-2);border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--muted);white-space:nowrap}.badge-ok{color:var(--ok);border-color:#34d39980;background:#34d3991f}.badge-host{color:var(--warn);border-color:#fbbf2480;background:#fbbf241f}.avatar-grid{display:flex;flex-wrap:wrap;gap:14px 10px;justify-content:center;list-style:none;padding:0;margin:0}.avatar-cell{display:flex;flex-direction:column;align-items:center;gap:6px;width:72px;font-size:.78rem;text-align:center}.avatar-cell .name{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket{text-align:center;padding:22px 18px}.code{font-family:var(--font-display);font-size:3rem;font-weight:800;letter-spacing:.28em;margin:4px 0 2px;padding-left:.28em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.url{font-size:.8rem;color:var(--muted);word-break:break-all}.flip{width:100%;min-height:240px;background:none;border:none;padding:0;perspective:1200px;cursor:pointer;margin:10px 0 22px;font-family:inherit;color:inherit}.flip-inner{position:relative;display:block;width:100%;min-height:240px;transition:transform .55s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.flip-on .flip-inner{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 22px;border-radius:26px;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line-2);box-shadow:var(--shadow)}.flip-front{background:linear-gradient(160deg,#7c5cff59,#ff4d6d40),var(--glass);background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.12),transparent 40%),repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 10px,transparent 10px 20px)}.flip-mask{font-size:3.4rem;filter:drop-shadow(0 8px 20px rgba(0,0,0,.4))}.flip-cta{font-weight:700;color:var(--fg)}.flip-back{transform:rotateY(180deg);background:linear-gradient(160deg,#ffffff1a,#ffffff08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.word-indice{color:var(--muted);font-size:.9rem}.word-text{font-family:var(--font-display);font-size:2.5rem;font-weight:800;letter-spacing:-.02em;word-break:break-word;line-height:1.05;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.word-hint{color:var(--muted);font-size:.78rem;margin-top:8px}.spotlight{display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 0 6px;text-align:center}.order{list-style:none;margin:0;padding:4px 0;display:flex;gap:12px;overflow-x:auto;scrollbar-width:none}.order::-webkit-scrollbar{display:none}.order-item{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:70px;font-size:.78rem;color:var(--muted);transition:.2s}.order-now{color:var(--fg);font-weight:700}.order-done{opacity:.45}.order-num{width:20px;height:20px;border-radius:50%;background:var(--glass-2);border:1px solid var(--line);display:grid;place-items:center;font-size:.7rem}.ring{position:relative;width:48px;height:48px;display:inline-grid;place-items:center;flex-shrink:0}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.ring-track{fill:none;stroke:#ffffff1a;stroke-width:4}.ring-bar{fill:none;stroke:var(--cyan);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .5s linear,stroke .3s}.ring-low .ring-bar{stroke:var(--pink)}.ring-num{font-family:var(--font-display);font-weight:800;font-size:.95rem;font-variant-numeric:tabular-nums}.ring-low .ring-num{color:var(--pink)}.vote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.vote-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px;background:var(--glass);border:1px solid var(--line);border-radius:20px;color:var(--fg);font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;transition:.15s}.vote-btn:active{transform:scale(.96)}.vote-btn:hover{border-color:var(--line-2);background:var(--glass-2)}.vote-wide{grid-column:1 / -1;flex-direction:row;justify-content:center;padding:14px;color:var(--muted)}.banner{background:#ff4d6d24;border:1px solid rgba(255,77,109,.6);border-radius:var(--radius-s);padding:12px 14px;text-align:center;font-weight:700}.banner-info{background:#22d3ee1a;border-color:#22d3ee80;font-weight:500}.result-title{font-size:2rem;text-wrap:balance;animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}@keyframes pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.reveal-words{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.reveal-box{background:#00000040;border:1px solid var(--line);border-radius:var(--radius-s);padding:12px;text-align:center}.reveal-box.imp{border-color:#ff4d6d80;background:#ff4d6d1a}.reveal-word{font-family:var(--font-display);font-size:1.35rem;font-weight:800;margin-top:4px}.reveal-list{list-style:none;margin:0;padding:0}.reveal-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.reveal-row.is-imp{background:linear-gradient(90deg,rgba(255,77,109,.12),transparent);border-radius:10px;padding-left:6px}.reveal-out .reveal-name{text-decoration:line-through;opacity:.6}.reveal-name{flex:1;font-weight:600}.reveal-gain{font-weight:800;min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.scores{list-style:none;margin:0 0 8px;padding:0}.score-row{display:flex;align-items:center;gap:12px;padding:8px 6px;border-radius:12px}.score-me{background:#ffffff0d}.score-rank{width:24px;color:var(--muted);text-align:center;font-weight:700}.score-name{flex:1;font-weight:600}.score-val{font-family:var(--font-display);font-weight:800;font-size:1.1rem}.toast{position:fixed;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:#ff4d6df2;color:#fff;padding:10px 16px;border-radius:14px;z-index:30;max-width:90vw;box-shadow:var(--shadow);font-weight:600;animation:rise .25s ease-out both}.conn{position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#b45309,#d97706);color:#fff;text-align:center;font-size:.85rem;font-weight:600;padding:calc(6px + env(safe-area-inset-top)) 6px 6px;z-index:29}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:40}.shake{animation:shake .5s ease-in-out}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}.screen.duel{padding-bottom:calc(230px + env(safe-area-inset-bottom))}.word-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:var(--glass);border:1px dashed var(--line-2);border-radius:var(--radius-s);padding:10px 14px;color:var(--fg);font-family:inherit;cursor:pointer;text-align:left}.word-chip-on{border-style:solid;border-color:#ff4d6db3;background:#ff4d6d1a}.word-chip-text{font-family:var(--font-display);font-weight:800;font-size:1.15rem;letter-spacing:.04em;flex:1;text-align:center}.log{flex:1;min-height:200px;max-height:52dvh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:6px 2px;scrollbar-width:none}.log::-webkit-scrollbar{display:none}.bubble-row{display:flex;align-items:flex-end;gap:8px;max-width:88%}.bubble-row.mine{align-self:flex-end;flex-direction:row-reverse}.bubble{background:var(--glass-2);border:1px solid var(--line);border-radius:16px 16px 16px 4px;padding:9px 12px;font-size:.95rem;line-height:1.35;display:flex;flex-direction:column;gap:2px}.mine .bubble{border-radius:16px 16px 4px;background:linear-gradient(135deg,#ff4d6d47,#ff8a5b33);border-color:#ff4d6d66}.bubble-name{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.bubble-answer{font-weight:700}.bubble-miss{opacity:.8}.bubble-win{border-color:#34d399b3;background:#34d39926;font-weight:700}.bubble-pass{font-style:italic;color:var(--muted)}.duel-actions .row>.btn{flex:1}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:26;display:flex;align-items:flex-end;justify-content:center;animation:rise .2s ease-out both}.sheet{width:100%;max-width:520px;background:#15152a;border:1px solid var(--line-2);border-radius:24px 24px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow);max-height:80dvh;overflow-y:auto}
