.share-backdrop{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0b0d16bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:share-fade .15s ease}@keyframes share-fade{0%{opacity:0}to{opacity:1}}.share-panel{width:100%;max-width:420px;max-height:90vh;overflow-y:auto;text-align:center;animation:share-rise .22s cubic-bezier(.2,1.3,.4,1) both}@keyframes share-rise{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.share-label{margin:0 0 .25rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.15em}.share-code-row{display:flex;align-items:center;justify-content:center;gap:.6rem}.share-code{font-size:clamp(1.9rem,8vw,2.8rem);font-weight:900;font-style:italic;letter-spacing:.28em;padding-left:.28em;text-shadow:0 0 30px rgba(99,102,241,.5)}.share-copy{font-size:1.2rem;line-height:1;padding:.5rem .6rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-raised);transition:border-color .12s ease,transform .12s ease}.share-copy:hover{border-color:var(--indigo)}.share-copy:active{transform:scale(.92)}.share-hint{font-size:.85rem;margin:.5rem 0 .4rem}.share-validity{font-size:.8rem;margin:0 0 1.25rem;color:var(--muted)}.share-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.share-target{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-raised);font-weight:600;font-size:.9rem;transition:transform .12s ease,border-color .12s ease}.share-target:hover{border-color:var(--accent);transform:translateY(-2px)}.share-target:active{transform:scale(.96)}.share-email-row{display:flex;gap:.6rem;margin-top:.9rem}.share-email-row .input{flex:1;min-width:0}.share-note{margin:.9rem 0 0;font-size:.88rem;color:var(--win)}.share-note--err{color:var(--lose)}.share-actions{display:flex;flex-direction:column;gap:.4rem;margin-top:1.5rem}.brand-mark{position:relative;display:inline-block;line-height:0}.brand-mark--hero{margin:0 0 .35rem}.brand-mark--hero .arena-emblem{margin-bottom:0}.brand-mark--splash{margin:0 0 .25em}.brand-mark--splash .splash-emblem{margin-bottom:0}.brand-beta{position:absolute;left:50%;bottom:4%;transform:translate(-50%);line-height:1;font-weight:800;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;white-space:nowrap;color:#dce7ff;text-shadow:0 0 5px rgba(190,208,255,.95),0 0 14px rgba(108,130,255,.9),0 0 30px rgba(76,96,245,.65);animation:beta-glow 2.8s ease-in-out infinite}.brand-mark--hero .brand-beta{font-size:clamp(.5rem,1.5vw,.64rem)}.brand-mark--splash .brand-beta{font-size:clamp(.58rem,2vw,.82rem);opacity:0;transition:opacity .5s ease}.splash--hold .brand-mark--splash .brand-beta,.splash--fade .brand-mark--splash .brand-beta{opacity:1}@keyframes beta-glow{50%{text-shadow:0 0 8px rgba(214,226,255,1),0 0 22px rgba(128,148,255,1),0 0 46px rgba(88,108,250,.8)}}@media(prefers-reduced-motion:reduce){.brand-beta{animation:none}.brand-mark--splash .brand-beta{transition:none}}.arena-header{text-align:center;margin:1.25rem 0 2rem;animation:arena-enter .5s ease both}@keyframes arena-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.arena-emblem{display:block;width:clamp(116px,22vw,168px);height:auto;margin:0 auto .35rem;-webkit-mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);filter:drop-shadow(0 0 26px rgba(255,77,58,.45));animation:emblem-breathe 4s ease-in-out infinite}@keyframes emblem-breathe{50%{filter:drop-shadow(0 0 34px rgba(255,77,58,.65));transform:scale(1.03)}}@media(prefers-reduced-motion:reduce){.arena-emblem{animation:none}}.arena-title{font-size:clamp(2rem,6vw,3.4rem);margin:0}.arena-tagline{margin:.4rem 0 0;letter-spacing:.05em}.arena-rejoin{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;margin-bottom:1.25rem;border-color:var(--accent);box-shadow:0 0 24px #ff4d3a26}.arena-rejoin-label{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.arena-rejoin-code{font-size:1.3rem;font-weight:900;font-style:italic;letter-spacing:.2em}.arena-name{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;margin-bottom:1.25rem}.arena-name .input{flex:1;min-width:0}.arena-dice{padding:.55rem .8rem;font-size:1.1rem;flex-shrink:0}.arena-games{display:grid;gap:1.25rem;margin-bottom:1.25rem}.game-card{display:grid;grid-template-columns:116px 1fr;gap:1.25rem;align-items:center;padding:1.1rem 1.4rem;position:relative;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.game-card.card:before{opacity:.85}.game-card:hover{transform:translateY(-2px);border-color:#ff4d3a73;box-shadow:0 12px 34px #00000073}.game-card.card:hover:before{opacity:1}.game-card-art{width:116px;height:116px;flex-shrink:0;position:relative}.game-card-art img{width:100%;height:100%;object-fit:cover;border-radius:12px;-webkit-mask-image:radial-gradient(circle closest-side,#000 72%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 72%,transparent 100%);filter:saturate(1.15) contrast(1.05);transition:transform .25s ease}.game-card:hover .game-card-art img{transform:scale(1.07) rotate(-2deg)}.game-card-body{min-width:0}@media(max-width:520px){.game-card{grid-template-columns:76px 1fr;gap:.9rem;padding:1rem}.game-card-art,.game-card-art img{width:76px;height:76px}}.game-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.game-card h2{margin:0;font-style:italic;letter-spacing:.02em}.game-card-players{font-size:.85rem;white-space:nowrap}.game-card-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.join-menu{position:relative;flex-shrink:0}.join-menu-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;border-radius:999px;background:#141828d9;border:1px solid var(--border);color:var(--text);font-size:.85rem;font-weight:600;white-space:nowrap;transition:border-color .14s ease,color .14s ease}.join-menu-btn:hover,.join-menu-btn--open{border-color:var(--indigo)}.join-menu-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:130;width:min(360px,calc(100vw - 2rem));padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 22px 54px #000000a6;animation:join-menu-in .16s ease both}@keyframes join-menu-in{0%{opacity:0;transform:translateY(-6px)}}.join-menu-row{display:flex;gap:.5rem}.join-menu-code{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.28em;font-weight:700}.join-menu-heading{margin:1rem 0 .5rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}.join-menu-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;max-height:46vh;overflow-y:auto}.join-menu-list li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:.45rem .7rem}.join-menu-match{display:flex;flex-direction:column;min-width:0;font-size:.82rem}.join-menu-match span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.join-menu-list .btn{padding:.35rem .85rem;font-size:.8rem}.join-menu-empty,.join-menu-error{margin:.85rem 0 0;font-size:.82rem}.join-menu-error{color:var(--lose)}@media(max-width:560px){.join-menu-label{display:none}.join-menu-btn{padding:.4rem .55rem}.join-menu-panel{position:fixed;top:3.6rem;right:1rem;left:1rem;width:auto}}@media(prefers-reduced-motion:reduce){.join-menu-panel{animation:none}}.app-bar{position:relative;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;min-height:3.1rem}.app-bar-left,.app-bar-right{display:flex;align-items:center;gap:.5rem;min-width:0}.app-bar-left{flex:1}.app-bar-right{flex-shrink:0}.app-bar-brand{display:flex;align-items:center;gap:.5rem;min-width:0}.app-bar-brand img{width:34px;height:34px;flex-shrink:0;-webkit-mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);filter:drop-shadow(0 0 10px rgba(255,77,58,.35))}.app-bar-wordmark{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:560px){.app-bar-wordmark{display:none}}.lang-select{display:flex;align-items:center;gap:.4rem;background:#141828d9;border:1px solid var(--border);border-radius:999px;padding:.3rem .7rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lang-select select{background:transparent;border:none;color:var(--text);font:inherit;font-size:.85rem;cursor:pointer;outline:none}.lang-select select option{background:var(--bg-raised);color:var(--text)}.name-badge{display:flex;align-items:center;gap:.25rem;background:#141828d9;border:1px solid var(--border);border-radius:999px;padding:.3rem .4rem .3rem .75rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:46vw}.name-badge-text{font-size:.85rem;font-weight:700;color:var(--text);padding:.15rem .2rem;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .12s ease,color .12s ease}.name-badge-text:hover{background:#6366f12e}.name-badge-input{width:min(40vw,190px);background:var(--bg-raised);border:1px solid var(--indigo);border-radius:6px;color:var(--text);font-size:.85rem;font-weight:700;padding:.15rem .4rem;outline:none}.name-badge-dice{font-size:.9rem;line-height:1;padding:.3rem;border-radius:50%;transition:background .12s ease,transform .12s ease}.name-badge-dice:hover{background:#ff4d3a33;transform:rotate(-18deg)}.name-badge-dice:active{transform:scale(.9) rotate(-18deg)}.name-modal{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#05070e99;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:name-modal-in .25s ease both}@keyframes name-modal-in{0%{opacity:0}}.name-modal-panel{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.5rem 1.75rem;text-align:center;box-shadow:0 24px 60px #0009;animation:name-modal-pop .32s cubic-bezier(.2,1.4,.4,1) both}@keyframes name-modal-pop{0%{opacity:0;transform:translateY(16px) scale(.94)}}.name-modal-title{margin:0;font-style:italic;font-weight:900;font-size:1.6rem;letter-spacing:.02em}.name-modal-sub{margin:.4rem 0 1.5rem;font-size:.9rem}.name-modal-row{display:flex;gap:.6rem;margin-bottom:1.25rem}.name-modal-input{flex:1;min-width:0;text-align:center;font-weight:700}.name-modal-dice{flex-shrink:0;padding:.55rem .85rem;font-size:1.1rem}.name-modal-go{width:100%}.res{display:flex;flex-direction:column;gap:1rem}.res-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.5rem .25rem}.res-brand{display:flex;align-items:center;gap:.6rem;min-width:0}.res-brand img{width:44px;height:44px;flex-shrink:0;-webkit-mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%)}.res-brand>span{display:flex;flex-direction:column;min-width:0}.res-wordmark{font-size:1.05rem}.res-slogan,.res-what span{font-size:.78rem}.res-what{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:0}.res-scoreline{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1.25rem}.res-scoreline--solo{grid-template-columns:1fr}.res-side{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.9rem .75rem;border-radius:16px;border:1px solid var(--border);background:#171b2ebf;min-width:0}.res-side--won{border-color:var(--win);background:#34d3991f}.res-name{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-score{font-size:2.4rem;font-weight:900;font-style:italic;line-height:1}.res-side--won .res-score{color:var(--win)}.res-vs{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--bg);color:var(--accent);box-shadow:0 0 0 1px var(--border)}.res-rounds{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem}.res-heading{margin:0 0 .25rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-align:center;font-weight:600}.res-round{display:grid;grid-template-columns:1fr 2.5rem 1fr;align-items:center;gap:.5rem}.res-round--solo{grid-template-columns:1fr 2.5rem}.res-cell{display:flex;align-items:center;justify-content:center;min-height:54px;padding:.4rem;border-radius:12px;border:1px solid var(--border);background:var(--bg-raised);color:var(--muted)}.res-cell--won{border-color:var(--win);background:#34d39924;color:var(--text)}.res-round-no{text-align:center;font-size:.8rem;font-weight:700;color:var(--muted)}.res-move{font-weight:700}.res-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:50px;border-radius:7px;background:#f7f3e6;color:#15161d;font-weight:900;line-height:1;box-shadow:inset 0 0 0 1.5px #be963cb3}.res-card--red{color:#c62828}.res-card-rank{font-size:1.15rem}.res-card-suit{font-size:.85rem;margin-top:.1rem}.res-verified{display:flex;align-items:center;justify-content:center;gap:.35rem;margin:.5rem 0 0;font-size:.85rem;font-weight:600;color:var(--win)}.res-verified--bad{color:var(--lose)}.res-id{margin:0;text-align:center;font-size:.7rem;letter-spacing:.04em;word-break:break-all;-webkit-user-select:all;user-select:all;opacity:.75}.res-cta{align-self:center;margin-top:.5rem}.chips{display:flex;align-items:center;gap:.45rem;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px 0}.chips::-webkit-scrollbar{display:none}.chip{position:relative;flex-shrink:0;width:38px;height:38px}.chip-open{display:block;width:100%;height:100%;padding:0;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--chip-ring, var(--border));transition:transform .14s ease,box-shadow .14s ease}.chip-open:hover{transform:translateY(-2px) scale(1.06)}.chip-open img{width:100%;height:100%;object-fit:cover;display:block}.chip--current .chip-open{box-shadow:0 0 0 2px var(--chip-ring, var(--border)),0 0 0 4px #ffffff29}.chip--waiting{--chip-ring: var(--indigo)}.chip--playing{--chip-ring: #4b5170}.chip--turn{--chip-ring: var(--accent)}.chip--done{--chip-ring: var(--win)}.chip--turn .chip-open{animation:chip-nudge 2s ease-in-out infinite}@keyframes chip-nudge{50%{box-shadow:0 0 0 2px var(--accent),0 0 14px #d4604fbf}}.chip--waiting .chip-open img{opacity:.72}.chip-mark{position:absolute;right:-1px;bottom:-1px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg);color:var(--chip-ring, var(--muted));box-shadow:0 0 0 1.5px var(--chip-ring, var(--border))}.chip-mark:empty{display:none}.chip-close{position:absolute;top:-5px;right:-5px;display:flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--bg-raised);color:var(--muted);box-shadow:0 0 0 1px var(--border);opacity:0;transition:opacity .14s ease}.chip:hover .chip-close,.chip-close:focus-visible{opacity:1}.chip-close:hover{color:var(--lose);border-color:var(--lose)}@media(hover:none){.chip-close{opacity:1}}@media(prefers-reduced-motion:reduce){.chip--turn .chip-open{animation:none}}.app-bar-back{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;color:var(--muted);background:var(--bg-raised);box-shadow:0 0 0 1px var(--border);transition:color .14s ease,transform .14s ease}.app-bar-back:hover{color:var(--text);transform:translate(-2px)}.coin{display:flex;flex-direction:column;align-items:center;gap:1.1rem;width:100%}.coin-countdown{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#0b0d16eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:coin-fade-in .2s ease}@keyframes coin-fade-in{0%{opacity:0}to{opacity:1}}.coin-countdown-round{font-style:italic;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.9rem}.coin-countdown-number{font-size:clamp(4rem,22vw,9rem);font-weight:900;font-style:italic;line-height:1;color:var(--accent);text-shadow:0 0 60px rgba(255,77,58,.6);animation:coin-count-pop .45s cubic-bezier(.2,1.5,.4,1) both}@keyframes coin-count-pop{0%{opacity:0;transform:scale(2.2);filter:blur(8px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:scale(1)}}.coin-lights{display:flex;gap:.9rem}.coin-light{width:18px;height:18px;border-radius:50%;background:#2a2f4a;transition:background .2s ease,box-shadow .2s ease}.coin-light--on{background:var(--accent);box-shadow:0 0 18px #ff4d3acc}.coin-scoreboard{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.1rem 1.5rem}.coin-fighter{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:0}.coin-fighter-name{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin-score{font-size:2.2rem;font-weight:900;line-height:1}.coin-mid{display:flex;flex-direction:column;align-items:center;gap:.15rem}.coin-vs{font-style:italic;font-weight:900;color:var(--accent);letter-spacing:.1em}.coin-round{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}.coin-rounds{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.coin-round-chip{border-radius:999px;padding:.35rem .95rem;font-size:.85rem;font-weight:700;border:1px solid var(--border);background:var(--bg-raised);color:var(--muted);transition:all .15s ease}.coin-round-chip:hover{color:var(--text)}.coin-round-chip--1.coin-round-chip--active{background:#34d3992e;border-color:var(--win);color:var(--win)}.coin-round-chip--3.coin-round-chip--active{background:#6366f133;border-color:var(--indigo);color:#a5a8f8}.coin-round-chip--5.coin-round-chip--active{background:#ff4d3a2e;border-color:var(--accent);color:var(--accent-soft)}.coin-stage{display:flex;flex-direction:column;align-items:center;gap:.6rem;min-height:150px;justify-content:center}.coin-visual{width:132px;height:132px;position:relative;transform-style:preserve-3d;filter:drop-shadow(0 10px 26px rgba(212,160,23,.4))}.coin-face{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--bg);opacity:0}.coin-face--heads{opacity:1}.coin-visual--tails .coin-face--heads{opacity:0}.coin-visual--tails .coin-face--tails{opacity:1}.coin-visual--spinning{animation:coin-spin .42s linear infinite}.coin-visual--spinning .coin-face--heads{animation:coin-face-a .42s steps(1,end) infinite}.coin-visual--spinning .coin-face--tails{animation:coin-face-b .42s steps(1,end) infinite}@keyframes coin-spin{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}@keyframes coin-face-a{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes coin-face-b{0%,50%{opacity:0}50.01%,to{opacity:1}}.coin-outcome{margin:0;font-style:italic;font-weight:900;font-size:1.15rem;letter-spacing:.03em;animation:coin-count-pop .35s cubic-bezier(.2,1.4,.4,1) both}.coin-win{color:var(--win)}.coin-lose{color:var(--lose)}.coin-calls{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.coin-call{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.7rem;min-width:110px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.coin-call:hover:not(:disabled){transform:translateY(-4px) scale(1.04);border-color:var(--accent);box-shadow:0 8px 30px #ff4d3a40}.coin-call:active:not(:disabled){transform:scale(.95)}.coin-call:disabled{opacity:.45;cursor:not-allowed}.coin-call--picked{border-color:var(--accent);box-shadow:0 0 20px #ff4d3a59;opacity:1}.coin-call-face{width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--bg);box-shadow:0 4px 14px #00000073;transition:transform .15s ease}.coin-call:hover:not(:disabled) .coin-call-face{transform:rotate(-8deg) scale(1.06)}.coin-chip{width:26px;height:26px;border-radius:50%;object-fit:cover;background:var(--bg);vertical-align:middle}.coin-call-label{font-weight:700;letter-spacing:.04em}.coin-status{margin:0;min-height:1.4em;text-align:center}.coin-leave{font-size:.85rem}.coin-result{text-align:center;padding:2.5rem 1.5rem}.coin-result-emoji{font-size:3.6rem}.coin-result-title{font-style:italic;font-weight:900;font-size:2rem;margin:.5rem 0}.coin-result-score{font-size:1.6rem;font-weight:900;margin:0 0 1.5rem}.coin-history{margin:0 auto 1.75rem;border-collapse:collapse}.coin-history th,.coin-history td{padding:.35rem .9rem;text-align:center}.coin-history th{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.coin-history tbody tr{border-top:1px solid var(--border)}.coin-result-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.coin-visual--spinning,.coin-countdown-number,.coin-outcome{animation:none}}.result-actions{display:flex;flex-direction:column;align-items:center;gap:.6rem}.result-actions-row{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}.result-actions .btn{padding:.55rem 1.05rem;font-size:.92rem}.result-id{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.72rem;letter-spacing:.04em;word-break:break-all;-webkit-user-select:all;user-select:all;opacity:.75}.result-note{margin:0;font-size:.8rem}.spinner{display:inline-block;width:.9em;height:.9em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.1em;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.duel{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.duel-foe{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.1rem}.duel-foe-label{display:flex;align-items:baseline;gap:.5rem;min-width:0}.duel-foe-vs{font-style:italic;font-weight:900;color:var(--accent);letter-spacing:.1em;font-size:.85rem}.duel-foe-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duel-foe-value{position:relative;flex-shrink:0;display:flex;align-items:center;gap:.75rem}.duel-foe--won{border-color:#f871718c;box-shadow:0 0 26px #f871712e}.duel-mine{display:flex;flex-direction:column;align-items:center;gap:.85rem;width:100%;flex:1;justify-content:center;min-height:46vh}.duel-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:380px;min-height:220px;padding:1.5rem;border-radius:20px;border:1px solid var(--border);background:radial-gradient(circle at 50% 35%,rgba(99,102,241,.14),transparent 65%),var(--bg-card);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.duel-stage--ready{border-color:#ff4d3a80;box-shadow:0 0 32px #ff4d3a2e;animation:duel-beckon 2.4s ease-in-out infinite}.duel-stage--ready:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 40px #ff4d3a52}.duel-stage--ready:active{transform:scale(.97)}.duel-stage--rolling{border-color:#6366f199;animation:duel-shake .32s ease-in-out infinite}.duel-stage:disabled{cursor:default}@keyframes duel-beckon{50%{box-shadow:0 0 44px #ff4d3a57}}@keyframes duel-shake{25%{transform:translate(-3px,2px) rotate(-.6deg)}75%{transform:translate(3px,-2px) rotate(.6deg)}}.duel-mine-name{font-weight:700;letter-spacing:.02em}.duel-table{position:relative;display:flex;align-items:center;justify-content:center;min-height:196px;perspective:900px}.duel-slot--empty{width:132px;height:184px;border-radius:14px;border:1px dashed rgba(99,102,241,.28);background:#ffffff04}.duel-table .duel-card,.duel-table .duel-flip,.duel-table .duel-flip-face{width:132px;height:184px}.duel-table .duel-card-rank{font-size:3.4rem}.duel-table .duel-card-suit{font-size:2.1rem}.duel-deck-btn{padding:.5rem;border-radius:18px;transition:transform .16s ease,filter .16s ease}.duel-deck-btn--ready{animation:duel-beckon-soft 2.4s ease-in-out infinite}.duel-deck-btn--ready:hover{transform:translateY(-4px)}.duel-deck-btn--ready:active{transform:scale(.96)}.duel-deck-btn:disabled{cursor:default;filter:grayscale(.4) brightness(.7)}@keyframes duel-beckon-soft{50%{filter:drop-shadow(0 0 18px rgba(212,96,79,.5))}}.duel-deck{position:relative;display:block;width:104px;height:144px}.duel-deck-card{position:absolute;inset:0;border-radius:11px;background-image:var(--card-back);background-size:cover;background-position:center;border:1px solid rgba(99,102,241,.45);box-shadow:0 6px 18px #00000080;transform:translate(calc(var(--depth) * -2px),calc(var(--depth) * 2px));z-index:calc(10 - var(--depth))}.duel-deck--thin .duel-deck-card:first-child{opacity:0}.duel-flip{position:relative;width:88px;height:122px}.duel-flip-face{position:absolute;inset:0;margin:0;animation:none}.duel-flip--deal{animation:card-deal .9s cubic-bezier(.25,.9,.3,1) both}.duel-flip--deal .duel-flip-back{animation:card-face-back .9s linear both}.duel-flip--deal .duel-flip-front{animation:card-face-front .9s linear both}.duel-flip--flip{animation:card-turn .62s ease-in-out both}.duel-flip--flip .duel-flip-back{animation:card-face-back .62s linear both}.duel-flip--flip .duel-flip-front{animation:card-face-front .62s linear both}@keyframes card-deal{0%{transform:translateY(210px) scale(.78) rotate(-9deg);opacity:0}14%{opacity:1}55%{transform:translateY(0) scale(1) rotate(0)}74%{transform:translateY(0) scaleX(.05) rotate(0)}to{transform:translateY(0) scaleX(1) rotate(0)}}@keyframes card-turn{0%{transform:scaleX(1)}50%{transform:scaleX(.05)}to{transform:scaleX(1)}}@keyframes card-face-back{0%,73%{opacity:1}74%,to{opacity:0}}@keyframes card-face-front{0%,73%{opacity:0}74%,to{opacity:1}}.duel-card--placed{animation:card-place .4s cubic-bezier(.2,1.4,.4,1) both}@keyframes card-place{0%{opacity:0;transform:translateY(-22px) rotate(6deg)}}@media(prefers-reduced-motion:reduce){.duel-flip--deal,.duel-flip--flip,.duel-flip--deal .duel-flip-face,.duel-flip--flip .duel-flip-face,.duel-card--placed,.duel-deck-btn--ready{animation:none}.duel-flip-back{opacity:0}}.dice-stack{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dice-row{display:flex;gap:.4rem;justify-content:center}.die{display:block;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.5))}.dice-stack--big .die{width:clamp(88px,26vw,132px);height:clamp(88px,26vw,132px)}.dice-stack--small .die{width:44px;height:44px}.die--idle{opacity:.4;filter:grayscale(.35) brightness(.75)}.die--held{opacity:.55;filter:grayscale(.5) brightness(.7)}.dice-stack--ready{animation:dice-held 1.8s ease-in-out infinite}@keyframes dice-held{50%{filter:drop-shadow(0 0 12px rgba(99,102,241,.65))}}.die--tumbling{filter:blur(1.6px) drop-shadow(0 0 18px rgba(255,122,92,.5));animation:die-wobble .28s ease-in-out infinite;will-change:transform,filter}.dice-stack--small .die--tumbling{filter:blur(1px) drop-shadow(0 0 10px rgba(99,102,241,.5))}@keyframes die-wobble{50%{scale:1.09}}.die--settled{animation:die-land .42s cubic-bezier(.2,1.6,.35,1) both;animation-delay:calc(var(--i, 0) * .1s)}@keyframes die-land{0%{transform:scale(1.55) rotate(-16deg);filter:blur(3px);opacity:.35}70%{transform:scale(.94) rotate(2deg);filter:blur(0);opacity:1}to{transform:scale(1) rotate(0);filter:blur(0) drop-shadow(0 6px 16px rgba(0,0,0,.5));opacity:1}}@media(prefers-reduced-motion:reduce){.die--tumbling{animation:none;filter:blur(1px)}.die--settled{animation:none}}.dice-total{font-weight:900;font-style:italic;letter-spacing:.06em}.dice-stack--big .dice-total{font-size:2rem}.dice-stack--small .dice-total{font-size:1.1rem}.dice-total--pending{color:var(--muted);opacity:.5}.duel-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.duel-vs{font-style:italic;font-weight:900;color:var(--accent);letter-spacing:.1em}@keyframes duel-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.duel-card{width:88px;height:122px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;border:1px solid var(--border);background:var(--bg-raised);animation:duel-flip .4s ease both}@keyframes duel-flip{0%{transform:rotateY(90deg) scale(.9);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}.duel-card--empty{background:var(--bg-raised);border-style:dashed;border-color:#6366f14d;animation:none;display:flex;align-items:center;justify-content:center}.duel-card-waiting{font-size:2rem;font-weight:900;color:var(--muted);opacity:.5}.duel-card--back{background-image:var(--card-back);background-size:cover;background-position:center;border-color:#6366f180;animation:none}.duel-playing{background:linear-gradient(160deg,#fffdf6,#f2ecda);color:#11131f;font-weight:900;border-color:#be963ccc;box-shadow:inset 0 0 0 2px #be963c59,0 10px 26px #0000008c;text-shadow:0 1px 0 rgba(255,255,255,.6)}.duel-card--red{color:#d62828}.duel-card-rank{font-size:2.4rem;line-height:1}.duel-card-suit{font-size:1.5rem;line-height:1}.duel-dice-card{gap:.3rem}.duel-dice-faces{display:flex;flex-wrap:wrap;justify-content:center;gap:.15rem;line-height:1}.duel-die{width:46px;height:46px;object-fit:contain}.duel-dice-card:has(.duel-die:nth-child(3)) .duel-die{width:26px;height:26px}.duel-dice-total{font-size:1.6rem;font-weight:900}.duel-action{font-size:1.05rem;padding:.8rem 2rem}.duel-status{margin:0;min-height:1.4em;text-align:center}.duel-leave{font-size:.85rem}.duel-seal{position:absolute;margin:0;object-fit:contain;pointer-events:none;-webkit-mask-image:radial-gradient(circle closest-side,#000 78%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 78%,transparent 100%);animation:seal-stamp .5s cubic-bezier(.2,1.5,.35,1) both}.duel-seal--side{top:50%;left:100%;margin-left:.9rem;animation-name:seal-stamp-side}.duel-foe-value .duel-seal--side{left:auto;right:100%;margin:0 .9rem 0 0}.duel-seal--corner{right:.5rem;bottom:.5rem}.duel-seal--flow{position:static;display:block;margin:0 auto}@keyframes seal-stamp-side{0%{transform:translateY(-50%) scale(2.1) rotate(-14deg);opacity:0}55%{transform:translateY(-50%) scale(.92) rotate(2deg);opacity:1}to{transform:translateY(-50%) scale(1) rotate(0);opacity:1}}.duel-place{position:relative;display:inline-flex}.duel-seal--win{filter:drop-shadow(0 0 26px rgba(255,122,92,.55))}.duel-seal--lose{filter:drop-shadow(0 0 18px rgba(0,0,0,.7))}.duel-seal--tie{filter:drop-shadow(0 0 18px rgba(99,102,241,.45))}@keyframes seal-stamp{0%{transform:scale(2.1) rotate(-14deg);opacity:0}55%{transform:scale(.92) rotate(2deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.duel-mine--won .duel-stage,.duel-mine--won .duel-table{border-color:#34d39973}@media(prefers-reduced-motion:reduce){.duel-seal{animation:none}}.standings{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin:1.25rem 0}.standings-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.9rem;width:100%}.standings-side{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0;opacity:.7;transition:opacity .2s ease}.standings-side--lead{opacity:1}.standings-crown{height:18px;color:var(--accent)}.standings-name{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.standings-score{font-size:1.9rem;font-weight:900;font-style:italic;line-height:1.1;letter-spacing:.02em}.standings-dash{color:var(--muted);margin:0 .15rem}.stand-pips{display:inline-flex;gap:.25rem}.stand-pip{width:9px;height:9px;border-radius:50%;border:1px solid var(--border);background:#ffffff0f}.stand-pip--won{background:var(--accent);border-color:var(--accent-soft);box-shadow:0 0 10px #d4604f99}.standings-track{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:center}.standings-dot{width:7px;height:7px;border-radius:2px}.standings-dot--win{background:var(--win)}.standings-dot--lose{background:var(--lose)}.standings-dot--tie{background:var(--muted);opacity:.5}.duel-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#05070eb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:duel-fade .22s ease both}@keyframes duel-fade{0%{opacity:0}}.duel-modal-panel{width:100%;max-width:400px;text-align:center;padding:2rem 1.5rem 1.75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 24px 60px #0009;animation:duel-pop .3s cubic-bezier(.2,1.4,.4,1) both}.duel-modal-title{font-style:italic;font-weight:900;font-size:1.5rem;letter-spacing:.05em;margin:.75rem 0 0}.duel-result{text-align:center;padding:1rem .25rem 0;animation:duel-pop .4s cubic-bezier(.2,1.4,.4,1) both}.duel-result-title{font-style:italic;font-weight:900;font-size:2rem;margin:.75rem 0 0}.duel-result-showdown{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1.25rem}.duel-result-slot{display:flex;flex-direction:column;align-items:center;gap:.5rem}.duel-result-ties{margin:0 0 1.5rem}.duel-result-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.roulette{position:relative;display:flex;flex-direction:column;align-items:center;gap:1rem}.roul-wheel-wrap{position:relative;width:min(340px,82vw);aspect-ratio:1}.roul-wheel{width:100%;height:100%;border-radius:50%;background:#0b0d16;box-shadow:0 0 0 6px #1b2036,0 0 0 8px #a0aad259,0 18px 44px #0009;transition-property:transform;transition-timing-function:cubic-bezier(.28,.34,.16,1)}.roul-wheel--spinning{filter:drop-shadow(0 0 24px rgba(212,96,79,.35))}.roul-sector{stroke:#0000008c;stroke-width:.6}.roul-sector--red{fill:#a8322c}.roul-sector--black{fill:#14161f}.roul-sector--green{fill:#1f7a52}.roul-number{fill:#f4f6ff;font-size:7px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.roul-hub{fill:#1b2036;stroke:#a0aad266;stroke-width:1.5}.roul-hub-inner{fill:#262b45;stroke:#d4604f80;stroke-width:1}.roul-pointer{position:absolute;top:-6px;left:50%;transform:translate(-50%);z-index:2;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:20px solid var(--accent);filter:drop-shadow(0 2px 6px rgba(0,0,0,.7))}.roul-landed{display:flex;align-items:center;gap:.7rem;padding:.5rem 1.2rem;border-radius:999px;border:1px solid var(--border);animation:roul-drop .4s cubic-bezier(.2,1.5,.35,1) both}.roul-landed--red{background:#a8322c40;border-color:#a8322c}.roul-landed--black{background:#14161fe6}.roul-landed--green{background:#1f7a5240;border-color:#1f7a52}.roul-landed-number{font-size:1.9rem;font-weight:900;font-style:italic;line-height:1}.roul-landed-colour{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}@keyframes roul-drop{0%{opacity:0;transform:translateY(-14px) scale(.9)}}.roul-stake{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:.85rem}.roul-board-wrap{width:100%;overflow-x:auto;padding:.25rem 0;scrollbar-width:thin}.roul-board{position:relative;display:flex;gap:4px;min-width:520px;padding:8px;border-radius:12px;background:#0d2a1d;box-shadow:inset 0 0 0 2px #d4af5a59,0 12px 30px #00000080}.roul-board--holding,.roul-board--holding .roul-cell{cursor:none}.roul-zero-col{display:flex;width:46px;flex-shrink:0}.roul-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:1fr;gap:4px;flex:1}.roul-cell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;border-radius:5px;color:#f4f6ff;font-weight:800;font-size:.95rem;box-shadow:inset 0 0 0 1px #ffffff29;transition:transform .1s ease,box-shadow .12s ease}.roul-zero-col .roul-cell{height:100%}.roul-cell--red{background:#a8322c}.roul-cell--black{background:#14161f}.roul-cell--green{background:#1f7a52}.roul-cell:hover:not(:disabled){box-shadow:inset 0 0 0 1px #ffffff29,0 0 0 2px var(--accent);transform:translateY(-1px)}.roul-cell--taken{box-shadow:inset 0 0 0 1px #ffffff29,0 0 0 2px var(--accent),0 0 18px #d4604f99}.roul-cell--taken .roul-cell-number{transform:translateY(-8px);font-size:.75rem;opacity:.8}.roul-cell-number{transition:transform .12s ease}.roul-cell-coin{position:absolute;bottom:2px;width:26px;height:26px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));animation:roul-coin-drop .32s cubic-bezier(.2,1.5,.35,1) both;pointer-events:none}@keyframes roul-coin-drop{0%{transform:translateY(-26px) scale(1.5) rotate(-25deg);opacity:0}}.roul-held-coin{position:absolute;top:0;left:0;width:30px;height:30px;translate:calc(var(--x) - 15px) calc(var(--y) - 15px);pointer-events:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.7));animation:roul-coin-hover 1.8s ease-in-out infinite}@keyframes roul-coin-hover{50%{rotate:12deg}}.roul-odds-note{margin:0;font-size:.8rem}@media(prefers-reduced-motion:reduce){.roul-cell-coin,.roul-held-coin{animation:none}}.roul-rain{position:fixed;inset:0;z-index:55;overflow:hidden;pointer-events:none}.roul-coin{position:absolute;top:-12%;animation-name:roul-fall;animation-timing-function:linear;animation-fill-mode:both;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}@keyframes roul-fall{0%{transform:translate(0) rotate(0);opacity:0}8%{opacity:1}90%{opacity:1}to{transform:translate(var(--drift),120vh) rotate(var(--spin));opacity:.9}}@media(prefers-reduced-motion:reduce){.roul-coin{animation-duration:4s!important}.roul-landed{animation:none}}.roul-result{text-align:center;padding:2.25rem 1.5rem 1.75rem}.roul-result-pocket{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;margin-bottom:.75rem;border-radius:50%;border:2px solid var(--border)}.roul-result-pocket--red{background:#a8322c}.roul-result-pocket--black{background:#14161f}.roul-result-pocket--green{background:#1f7a52}.roul-result-title{font-style:italic;font-weight:900;font-size:1.7rem;margin:0}.roul-result-bet{margin:.35rem 0 1.25rem}.rps{display:flex;flex-direction:column;gap:1.25rem;align-items:center}.rps-scoreboard{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1.1rem 1.5rem}.rps-fighter{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:0}.rps-fighter-name{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rps-score{font-size:2.4rem;font-weight:900;line-height:1}.rps-mid{display:flex;flex-direction:column;align-items:center;gap:.15rem}.rps-vs{font-style:italic;font-weight:900;color:var(--accent);letter-spacing:.1em}.rps-round,.rps-target{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.rps-reveal{display:flex;align-items:center;gap:1.5rem;animation:reveal-pop .35s cubic-bezier(.2,1.4,.4,1) both}@keyframes reveal-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.rps-reveal-move{width:96px;height:96px;object-fit:contain;-webkit-mask-image:radial-gradient(circle closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 70%,transparent 100%);filter:drop-shadow(0 6px 16px rgba(255,77,58,.3))}.rps-reveal-move--mirror{transform:scaleX(-1)}.rps-reveal-outcome{font-style:italic;font-weight:900;font-size:1.4rem;letter-spacing:.08em}.rps-outcome-win{color:var(--win)}.rps-outcome-lose{color:var(--lose)}.rps-outcome-tie{color:var(--muted)}.rps-moves{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.rps-move{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.6rem;min-width:108px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.rps-move:hover:not(:disabled){transform:translateY(-4px) scale(1.04);border-color:var(--accent);box-shadow:0 8px 30px #ff4d3a40}.rps-move:active:not(:disabled){transform:scale(.95)}.rps-move:disabled{opacity:.45;cursor:not-allowed}.rps-move-art{width:84px;height:84px;object-fit:cover;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px #6366f140,0 4px 14px #0006;transition:transform .18s ease,box-shadow .18s ease}.rps-move:hover:not(:disabled) .rps-move-art{transform:scale(1.06);box-shadow:inset 0 0 0 1px #ff4d3a99,0 8px 22px #ff4d3a73}.rps-move-label{font-weight:700;letter-spacing:.04em}.rps-status{margin:0;min-height:1.4em;text-align:center}.rps-leave{font-size:.85rem}.rps-result{text-align:center;padding:2.5rem 1.5rem;animation:reveal-pop .4s cubic-bezier(.2,1.4,.4,1) both}.rps-result-emoji{font-size:3.6rem}.rps-result-title{font-style:italic;font-weight:900;font-size:2rem;margin:.5rem 0 0}.rps-result-score{font-size:1.6rem;font-weight:900;margin:.5rem 0 1.5rem}.rps-history{margin:0 auto 1.75rem;border-collapse:collapse}.rps-history th,.rps-history td{padding:.35rem 1rem;text-align:center}.rps-history th{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.rps-history tbody tr{border-top:1px solid var(--border)}.rps-result-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.rps-chip{width:30px;height:30px;object-fit:contain;vertical-align:middle}.straws{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%}.straws-turnbar{width:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:.9rem 1.25rem}.straws-player{font-weight:700;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.straws-turn{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:center}.straws-turn--yours{color:var(--accent);font-weight:900}.straws-bundle{display:flex;align-items:flex-end;justify-content:center;gap:.9rem;min-height:210px;padding:1rem 0}.straw{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:0;background:none;transition:transform .15s ease}.straw:hover:not(:disabled){transform:translateY(-10px)}.straw:disabled{cursor:default}.straw-stick{display:block;width:20px;height:130px;background-image:var(--straw);background-size:100% 100%;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);transition:height .35s cubic-bezier(.2,1.3,.4,1),filter .2s ease,opacity .2s ease}.straw--drawn{opacity:.85}.straw--short .straw-stick{height:74px;opacity:.45}.straw--long .straw-stick,.straw-stick--long{width:26px;height:176px;background-image:var(--straw-long);filter:drop-shadow(0 0 18px rgba(255,77,58,.75));animation:straw-pull .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes straw-pull{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}.straw-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.straws-status{margin:0;min-height:1.4em;text-align:center}.straws-leave{font-size:.85rem}.straws-result{text-align:center;padding:2.5rem 1.5rem}.straws-result-straw{display:flex;justify-content:center;margin-bottom:1rem}.straws-result-title{font-style:italic;font-weight:900;font-size:2rem;margin:.5rem 0 .25rem}.straws-result-sub{margin:0 0 1.75rem}.straws-result-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}@media(max-width:420px){.straws-bundle{gap:.55rem}.straw-stick{width:13px}}@media(prefers-reduced-motion:reduce){.straw--long .straw-stick,.straw-stick--long{animation:none}}.rematch-bar{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center;max-width:min(560px,calc(100vw - 2rem));padding:.85rem 1.25rem;border-radius:999px;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 18px 44px #0009;animation:rematch-rise .32s cubic-bezier(.2,1.3,.4,1) both}.rematch-bar--ask{border-color:#d4604f8c;box-shadow:0 18px 44px #0009,0 0 26px #d4604f47}@keyframes rematch-rise{0%{opacity:0;transform:translate(-50%) translateY(16px)}}.rematch-bar-text{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}.rematch-bar-actions{display:inline-flex;align-items:center;gap:.5rem}.rematch-bar .btn{padding:.5rem 1.1rem}@media(prefers-reduced-motion:reduce){.rematch-bar{animation:none}}.lobby{text-align:center;padding:2.5rem 1.5rem}.lobby-label{margin:0 0 .25rem;text-transform:uppercase;font-size:.75rem;letter-spacing:.15em}.lobby-code{font-size:clamp(2.2rem,9vw,3.6rem);font-weight:900;font-style:italic;letter-spacing:.3em;padding-left:.3em;color:var(--text);text-shadow:0 0 30px rgba(99,102,241,.5)}.lobby-copy-row{display:flex;justify-content:center;gap:.75rem;margin:1rem 0 1.75rem;flex-wrap:wrap}.lobby-players{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.lobby-player{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-raised);border:1px solid var(--border);border-radius:999px;padding:.4rem 1rem;font-weight:600}.lobby-player--host{border-color:#d4a0178c}.lobby-host-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#e3b341}.lobby-waiting{margin-bottom:.35rem}.lobby-hint{font-size:.85rem;margin:0 0 1.5rem}.lobby-invite-link{display:inline-flex;align-items:center;gap:.4rem;margin:.15rem 0 1.5rem;padding:.3rem .2rem;color:var(--accent-soft);font-size:.9rem;font-weight:600;text-decoration:underline;text-underline-offset:.28em;text-decoration-thickness:1px;text-decoration-color:#e2897b73;transition:color .14s ease}.lobby-invite-link:hover{color:var(--text);text-decoration-color:currentColor}.lobby-search{display:flex;justify-content:center;margin-bottom:1rem}.lobby-radar{width:54px;height:54px;border-radius:50%;border:2px solid var(--border);position:relative}.lobby-radar:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);animation:lobby-sweep 1.1s linear infinite}@keyframes lobby-sweep{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lobby-radar:after{animation:none;border-top-color:var(--border)}}.session-body{display:flex;flex-direction:column;gap:1.25rem}.page.page--offstage{display:none}.session-to-lobby{align-self:center;font-size:.85rem}.result-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#05070eb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlay-in .22s ease both}@keyframes overlay-in{0%{opacity:0}}.result-overlay-panel{position:relative;width:100%;max-width:440px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.5rem 1.75rem;box-shadow:0 24px 60px #0009;animation:overlay-pop .3s cubic-bezier(.2,1.4,.4,1) both}@keyframes overlay-pop{0%{opacity:0;transform:translateY(14px) scale(.94)}}.result-overlay-close{position:absolute;top:.6rem;right:.75rem;width:34px;height:34px;border-radius:50%;color:var(--muted);font-size:1rem;line-height:1;transition:background .12s ease,color .12s ease}.result-overlay-close:hover{background:var(--bg-raised);color:var(--text)}.session-notice{text-align:center;padding:2.5rem 1.5rem}.session-notice h2{margin:0 0 .5rem}.session-notice .btn{margin-top:1.25rem}.splash{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 500px at 50% 40%,#1c2140 0%,transparent 65%),var(--bg);cursor:pointer;overflow:hidden;transition:opacity .6s ease,filter .6s ease}.splash--fade{opacity:0;filter:blur(10px);pointer-events:none}.splash-inner{text-align:center;position:relative;z-index:2}.splash-field{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .7s ease;pointer-events:none}.splash--hold .splash-field,.splash--fade .splash-field{opacity:1}.splash-halo{position:absolute;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,77,58,.75) 40deg,transparent 110deg,transparent 180deg,rgba(99,102,241,.75) 220deg,transparent 300deg);-webkit-mask:radial-gradient(circle,transparent 61%,#000 63%,#000 68%,transparent 70%);mask:radial-gradient(circle,transparent 61%,#000 63%,#000 68%,transparent 70%)}.splash-halo--outer{width:min(78vmin,620px);height:min(78vmin,620px);animation:halo-spin 9s linear infinite}.splash-halo--inner{width:min(56vmin,440px);height:min(56vmin,440px);animation:halo-spin 6s linear infinite reverse;opacity:.8}@keyframes halo-spin{to{transform:rotate(360deg)}}.splash-wave{position:absolute;width:min(40vmin,320px);height:min(40vmin,320px);border-radius:50%;border:1px solid rgba(255,122,92,.5);opacity:0;animation:wave-out 3s ease-out infinite}.splash-wave--late{animation-delay:1.5s;border-color:#7882ff73}@keyframes wave-out{0%{transform:scale(.55);opacity:0}25%{opacity:.75}to{transform:scale(1.9);opacity:0}}.splash-embers{position:absolute;inset:0;overflow:hidden}.splash-ember{position:absolute;bottom:-6%;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#ff8a5c;box-shadow:0 0 8px #ff7a5ce6;opacity:0;animation:ember-rise var(--dur) linear var(--delay) infinite}@keyframes ember-rise{0%{transform:translateY(0) translate(0);opacity:0}12%{opacity:.9}85%{opacity:.6}to{transform:translateY(-108vh) translate(14px);opacity:0}}.splash-emblem{display:block;width:clamp(160px,34vw,280px);height:auto;margin:0 auto .25em;filter:drop-shadow(0 0 34px rgba(255,77,58,.55));-webkit-mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 80%,transparent 100%);opacity:0;animation:emblem-drop .8s cubic-bezier(.2,1.3,.4,1) .1s forwards}@keyframes emblem-drop{0%{opacity:0;transform:scale(2.2) rotate(-14deg);filter:blur(12px) drop-shadow(0 0 0 rgba(255,77,58,0))}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0) drop-shadow(0 0 26px rgba(255,77,58,.5))}}.splash--punch .splash-emblem{animation:emblem-drop .8s cubic-bezier(.2,1.3,.4,1) .1s forwards,emblem-pulse .45s ease-out 0s}.splash--hold .splash-emblem,.splash--fade .splash-emblem{animation:emblem-breathe-splash 2.6s ease-in-out infinite;opacity:1}@keyframes emblem-breathe-splash{50%{transform:scale(1.045);filter:drop-shadow(0 0 52px rgba(255,77,58,.8))}}@keyframes emblem-pulse{50%{filter:brightness(1.7) drop-shadow(0 0 46px rgba(255,122,92,.9))}}.splash--punch .splash-inner{animation:splash-shake .45s cubic-bezier(.36,.07,.19,.97) both}.splash-resolution{margin:0;font-size:clamp(2.2rem,9vw,6.5rem);font-weight:900;font-style:italic;letter-spacing:.06em;line-height:1;display:flex;justify-content:center;color:#fff}.splash-letter{display:inline-block;background:linear-gradient(180deg,#fff 30%,#c7cbe8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;--dx: calc((var(--i) - var(--mid, 4.5)) * 9vw);--dy: -18vh;opacity:0;animation:letter-explode-in .55s cubic-bezier(.2,.9,.25,1.2) forwards;animation-delay:calc(var(--i) * 55ms + 80ms)}.splash-letter:nth-child(2n){--dy: 18vh}@keyframes letter-explode-in{0%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(3) rotate(12deg);filter:blur(14px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translate(0) scale(1) rotate(0);filter:blur(0)}}.splash-arena{margin-top:.35em;font-size:clamp(1.6rem,6.5vw,4.5rem);font-weight:900;font-style:italic;letter-spacing:.5em;padding-left:.5em;color:var(--accent);text-shadow:0 0 40px rgba(255,77,58,.55);opacity:0}.splash--arena .splash-arena,.splash--english .splash-arena,.splash--punch .splash-arena,.splash--hold .splash-arena,.splash--fade .splash-arena{animation:arena-slam .5s cubic-bezier(.22,1.4,.36,1) forwards}@keyframes arena-slam{0%{opacity:0;transform:scale(4);filter:blur(8px)}70%{opacity:1;transform:scale(.94);filter:blur(0)}to{opacity:1;transform:scale(1)}}.splash-flash{position:absolute;inset:-40vmax;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(255,122,92,.5) 18%,transparent 45%);opacity:0;transform:scale(.1);pointer-events:none}.splash--punch .splash-flash{animation:flash-burst .5s ease-out forwards}@keyframes flash-burst{0%{opacity:0;transform:scale(.05)}25%{opacity:1}to{opacity:0;transform:scale(1)}}@keyframes splash-shake{10%,90%{transform:translate(-2px,1px) scale(1.02)}20%,80%{transform:translate(4px,-2px) scale(1.12)}30%,50%,70%{transform:translate(-7px,3px) scale(1.06)}40%,60%{transform:translate(6px,-3px) scale(1.09)}to{transform:translate(0) scale(1)}}.splash-english{margin:.9em 0 0;font-size:clamp(.7rem,2.6vw,1rem);font-weight:700;letter-spacing:.42em;padding-left:.42em;text-transform:uppercase;color:var(--muted);opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease}.splash-english--in{opacity:1;transform:translateY(0)}.splash-english-accent{color:var(--accent)}.splash-skip{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;color:var(--muted);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;animation:pulse 2s ease-in-out infinite}.splash--hold .splash-letter,.splash--fade .splash-letter{animation:letter-sheen 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * 90ms);opacity:1;transform:none}@keyframes letter-sheen{0%,70%,to{filter:brightness(1)}35%{filter:brightness(1.6) drop-shadow(0 0 14px rgba(180,200,255,.7))}}@media(prefers-reduced-motion:reduce){.splash-field,.splash-halo,.splash-wave,.splash-ember,.splash--hold .splash-emblem,.splash--fade .splash-emblem,.splash--hold .splash-letter,.splash--fade .splash-letter{animation:none}.splash-emblem,.splash--punch .splash-emblem{animation:none;opacity:1;transform:none;filter:drop-shadow(0 0 26px rgba(255,77,58,.5))}.splash-letter,.splash-arena,.splash--arena .splash-arena,.splash--english .splash-arena,.splash--punch .splash-arena,.splash--hold .splash-arena,.splash--fade .splash-arena{animation:none;opacity:1;transform:none}.splash--punch .splash-inner,.splash--punch .splash-flash{animation:none}.splash-english{transition:none;opacity:1;transform:none}}:root{--bg: #0b0d16;--bg-raised: #141828;--bg-card: #171b2e;--border: #262b45;--text: #eef0f8;--muted: #8b90a8;--accent: #d4604f;--accent-soft: #e2897b;--accent-deep: #b04537;--indigo: #6366f1;--win: #34d399;--lose: #f87171;--radius: 14px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;position:relative;background:radial-gradient(1200px 600px at 50% -10%,#1a1f38 0%,transparent 60%),var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;border:none;cursor:pointer;background:none}input{font:inherit}body:before{content:"";position:fixed;inset:0;z-index:-1;background-image:var(--tex-card);background-size:cover;background-position:center;opacity:.18;pointer-events:none}.result-overlay-panel,.duel-modal-panel,.join-menu-panel,.name-modal-panel{isolation:isolate}.duel-modal-panel,.name-modal-panel{position:relative}.result-overlay-panel:before,.duel-modal-panel:before,.join-menu-panel:before,.name-modal-panel:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background-image:var(--tex-card);background-size:cover;background-position:center;opacity:.5;pointer-events:none}.icon{display:inline-block;vertical-align:-.14em;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:999px;font-weight:700;letter-spacing:.02em;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{position:relative;background-image:var(--tex-accent),linear-gradient(135deg,var(--accent),var(--accent-deep));background-size:cover,auto;background-position:center,center;background-blend-mode:luminosity,normal;color:#fff;text-shadow:0 1px 2px rgba(90,24,16,.5);box-shadow:inset 0 1px #ffffff38,0 4px 18px #d4604f4d;animation:ember-breathe 3.6s ease-in-out infinite}.btn--primary:after{content:"";position:absolute;inset:-10px -8px -14px;z-index:-1;border-radius:inherit;background:radial-gradient(55% 90% at 30% 100%,rgba(196,122,110,.6),transparent 68%),radial-gradient(50% 85% at 72% 100%,rgba(176,88,74,.55),transparent 66%);filter:blur(12px);opacity:.8;pointer-events:none;animation:flame-lick 2.9s ease-in-out infinite}@keyframes flame-lick{0%,to{transform:scaleY(1) scaleX(1) translateY(0);opacity:.75}28%{transform:scaleY(1.22) scaleX(1.02) translateY(-2px);opacity:1}54%{transform:scaleY(.95) scaleX(1.07) translateY(1px);opacity:.82}78%{transform:scaleY(1.12) scaleX(.98) translateY(-1px);opacity:.94}}@keyframes ember-breathe{50%{box-shadow:inset 0 1px #ffffff47,0 6px 26px #d4604f8c}}.btn--primary:hover:not(:disabled){transform:translateY(-1px)}.btn--primary:hover:not(:disabled):after{animation-duration:1.5s;opacity:1}.btn--primary:disabled{animation:none}.btn--primary:disabled:after{animation:none;opacity:.25}@media(prefers-reduced-motion:reduce){.btn--primary,.btn--primary:after{animation:none}}.btn--secondary{position:relative;overflow:hidden;background-color:var(--bg-raised);background-image:var(--tex-card);background-size:cover;background-position:center;border:1px solid var(--border);color:var(--text)}.btn--secondary:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.16) 45%,rgba(160,180,255,.2) 55%,transparent 80%);transform:translate(-120%);pointer-events:none}.btn--secondary:hover:not(:disabled){border-color:var(--indigo)}.btn--secondary:hover:not(:disabled):after{animation:btn-sheen .65s ease-out}@keyframes btn-sheen{to{transform:translate(120%)}}@media(prefers-reduced-motion:reduce){.btn--secondary:hover:not(:disabled):after{animation:none}}.btn--ghost{color:var(--muted)}.btn--ghost:hover{color:var(--text)}.input{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.6rem .9rem;outline:none;transition:border-color .12s ease}.input:focus{border-color:var(--indigo)}.card{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;isolation:isolate}.card:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background-image:var(--tex-card);background-size:cover;background-position:center;opacity:.55;pointer-events:none}.page{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem 4rem}.page-narrow{width:100%;max-width:640px}.brand{font-style:italic;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.brand .brand-accent{color:var(--accent)}.muted{color:var(--muted)}.error-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#3d1d22;border:1px solid var(--lose);color:#ffd9d9;padding:.7rem 1.2rem;border-radius:10px;z-index:50;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.pulse{animation:pulse 1.6s ease-in-out infinite}.mark-win{color:var(--win)}.mark-lose{color:var(--lose)}
