:root{--bg:#b8ecff;--panel:#fffdf5;--panel-2:#fff1c9;--ink:#1d1832;--muted:#6d6890;--yellow:#ffd23f;--yellow-dk:#d98e00;--coral:#ff5d73;--coral-dk:#c62b47;--teal:#2ec4b6;--teal-dk:#0e8d80;--blue:#4da6ff;--blue-dk:#1f66c4;--violet:#7c5cff;--violet-dk:#4a2fc2;--crimson:#fb6c00;--crimson-dk:#e73f1e;--gold:#dcdcdc;--gold-dk:#4a4a4a;--navy:#2456c9;--navy-dk:#10306e;--ink-fixed:#1d1832;--paper-fixed:#fffdf5;--dot:rgba(29,24,50,0.09);--radius:16px;--radius-sm:11px;--bw:3px;--font-display:"Archivo Black","Space Grotesk",-apple-system,sans-serif;--pop:cubic-bezier(0.34,1.56,0.64,1)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--ink);overflow-x:hidden;background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.6px,transparent 0);background-size:22px 22px}::selection{background:var(--yellow);color:var(--ink-fixed)}:focus-visible{outline:3px dashed var(--ink);outline-offset:3px}.App{text-align:center;min-height:100svh;flex-direction:column}.App,.page{display:flex}.page{flex:1 1;position:relative;width:100%;max-width:460px;margin:0 auto;padding:22px max(18px,env(safe-area-inset-right)) 22px max(18px,env(safe-area-inset-left));flex-direction:column;grid-gap:18px;gap:18px}.page-center{justify-content:center;grid-gap:16px;gap:16px}.brand{font-family:var(--font-display);font-weight:400;font-size:clamp(1.9rem,7.5vw,2.5rem);text-transform:uppercase;letter-spacing:.01em;line-height:1.12;margin:0}.brand span{display:inline-block;padding:1px 14px 5px;background:var(--coral);color:var(--paper-fixed);border:var(--bw) solid var(--ink);border-radius:12px;transform:rotate(-2deg);box-shadow:4px 4px 0 var(--ink);animation:sticker-in .5s var(--pop) backwards}@keyframes sticker-in{0%{opacity:0;transform:rotate(8deg) scale(.4)}}.tagline{color:var(--ink);opacity:.75;margin:12px 0 0;font-size:.95rem;font-weight:600}.label{display:flex;align-items:center;grid-gap:8px;gap:8px;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}.label:before{content:"";width:9px;height:9px;flex:0 0 auto;background:var(--yellow);border:2px solid var(--ink);transform:rotate(45deg)}.hint{color:var(--ink);opacity:.72;font-size:.9rem;font-weight:500;margin:12px 0 0}.site-footer{margin-top:auto;padding-top:24px;text-align:center;color:var(--ink);opacity:.55;font-size:.82rem;font-weight:700}.divider{display:flex;align-items:center;grid-gap:12px;gap:12px;color:var(--ink);font-family:var(--font-display);font-weight:400;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.divider:after,.divider:before{content:"";flex:1 1;height:5px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--ink),var(--ink) 12px,transparent 0,transparent 22px)}.big-emoji{font-size:3.6rem;line-height:1;filter:drop-shadow(4px 4px 0 rgba(29,24,50,.18));animation:emoji-bob 2.2s ease-in-out infinite}@keyframes emoji-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(4deg)}}.ticker{overflow:hidden;background:var(--ink);border:var(--bw) solid var(--ink);border-radius:12px;transform:rotate(-1.2deg);box-shadow:4px 4px 0 rgba(29,24,50,.25);padding:9px 0;-webkit-user-select:none;user-select:none}.ticker-track{display:inline-flex;white-space:nowrap;will-change:transform;animation:ticker-scroll 16s linear infinite;font-family:var(--font-display);font-weight:400;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.ticker-track span{margin-right:34px;color:var(--paper-fixed)}.ticker-track span:nth-child(odd){color:var(--yellow)}@keyframes ticker-scroll{to{transform:translateX(-50%)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:420px){.page{padding-top:16px;grid-gap:14px;gap:14px}}@media (prefers-reduced-motion:reduce){.big-emoji,.brand span,.ticker-track{animation:none}}.btn{display:block;width:100%;padding:13px 18px;border:var(--bw) solid var(--ink);border-radius:14px;background:var(--yellow);color:var(--ink-fixed);font-size:.95rem;font-family:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:center;text-decoration:none;cursor:pointer;box-shadow:5px 5px 0 var(--yellow-dk);transition:transform .1s ease,box-shadow .1s ease}.btn:hover{transform:translate(-2px,-2px) rotate(-.6deg);box-shadow:8px 8px 0 var(--yellow-dk)}.btn:active{transform:translate(4px,4px) scale(.97);box-shadow:0 0 0 var(--yellow-dk)}.btn-ghost{background:var(--paper-fixed);color:var(--ink-fixed);border-color:var(--ink-fixed);box-shadow:5px 5px 0 rgba(29,24,50,.35)}.btn-ghost:hover{box-shadow:8px 8px 0 rgba(29,24,50,.4)}.btn-ghost:active{box-shadow:0 0 0 rgba(29,24,50,.4)}.btn.btn-light{background:var(--paper-fixed);color:var(--ink-fixed);border-color:var(--ink-fixed);box-shadow:5px 5px 0 rgba(29,24,50,.4)}.btn.btn-light:hover{box-shadow:8px 8px 0 rgba(29,24,50,.45)}.btn.btn-light:active{box-shadow:0 0 0 rgba(29,24,50,.45)}.btn-danger{background:var(--coral);color:var(--paper-fixed);box-shadow:5px 5px 0 var(--coral-dk)}.btn-danger:hover{box-shadow:8px 8px 0 var(--coral-dk)}.btn-danger:active{box-shadow:0 0 0 var(--coral-dk)}.field{margin-bottom:12px}.field:last-of-type{margin-bottom:14px}.input{width:100%;padding:12px 14px;border-radius:12px;border:var(--bw) solid var(--ink);background:var(--panel);color:var(--ink);font-size:1rem;font-family:inherit;font-weight:600;outline:none;caret-color:var(--coral);box-shadow:4px 4px 0 var(--ink);transition:transform .08s ease,box-shadow .08s ease}.input::placeholder{color:var(--muted);font-weight:500}.input:focus{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--yellow-dk)}.card{background:var(--panel);border:var(--bw) solid var(--ink);border-radius:var(--radius);padding:20px;text-align:left;box-shadow:7px 7px 0 var(--ink);animation:card-in .45s var(--pop) both}@keyframes card-in{0%{opacity:0;transform:translateY(18px) scale(.94) rotate(.6deg)}}.card h2{margin:0 0 14px;font-family:var(--font-display);font-weight:400;font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em}.card h2:after{content:"";display:block;width:56px;height:7px;margin-top:7px;border:2px solid var(--ink);border-radius:4px;background:repeating-linear-gradient(-45deg,var(--coral),var(--coral) 7px,var(--yellow) 0,var(--yellow) 14px)}.game-card{position:relative;overflow:hidden}.game-card:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(29,24,50,.1) 1.5px,transparent 0);background-size:16px 16px}.game-card>*{position:relative;z-index:1}.suit-mark:before{content:var(--suit,"♠");position:absolute;right:-16px;bottom:-34px;z-index:0;font-size:7.5rem;line-height:1;opacity:.16;transform:rotate(-14deg);pointer-events:none}.game-card--yellow{background:var(--yellow);color:var(--ink-fixed);box-shadow:7px 7px 0 var(--yellow-dk)}.game-card--violet{background:var(--violet);color:#fff;box-shadow:7px 7px 0 var(--violet-dk)}.game-card--violet:after{background-image:radial-gradient(hsla(0,0%,100%,.14) 1.5px,transparent 0)}.game-card--set{background:var(--teal);color:var(--ink-fixed);box-shadow:7px 7px 0 var(--teal-dk)}.game-card--falka{background:var(--crimson);color:#fff;box-shadow:7px 7px 0 var(--crimson-dk)}.game-card--president{background:var(--gold);color:var(--ink-fixed);box-shadow:7px 7px 0 var(--gold-dk)}.game-card--dice{background:var(--navy);color:#fff;box-shadow:7px 7px 0 var(--navy-dk)}.game-card--dice:after,.game-card--falka:after{background-image:radial-gradient(hsla(0,0%,100%,.14) 1.5px,transparent 0)}.game-card h2{color:var(--ink-fixed)}.game-card--dice h2,.game-card--falka h2,.game-card--violet h2{color:#fff}.game-card--dice .label,.game-card--falka .label,.game-card--violet .label{color:hsla(0,0%,100%,.78)}.game-card--dice .hint,.game-card--falka .hint,.game-card--violet .hint{color:#fff}.game-card .input{background:var(--paper-fixed);color:var(--ink-fixed);border-color:var(--ink-fixed);box-shadow:4px 4px 0 rgba(29,24,50,.42)}.game-card .input::placeholder{color:#8b86a5}.game-card .input:focus{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(29,24,50,.55)}@media (max-width:420px){.card{padding:16px}}@media (prefers-reduced-motion:reduce){.card{animation:none}}.game-hero{text-align:center;margin:22px 0 2px;animation:hero-pop .5s var(--pop) backwards}.game-hero-title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;grid-gap:10px 12px;gap:10px 12px;margin:0;line-height:1;font-family:var(--font-display);font-weight:400;letter-spacing:0;font-size:clamp(1.9rem,6.6vw,2.9rem);text-transform:uppercase}.gh-chip{display:inline-block;padding:6px 16px 10px;border:var(--bw) solid var(--ink);border-radius:14px;animation:gh-float 3.4s ease-in-out infinite;will-change:transform}.gh-chip--a{--rot:-2.5deg}.gh-chip--b{--rot:2.5deg;animation-delay:.55s}.gh-chip:hover{animation-play-state:paused}@keyframes gh-float{0%,to{transform:rotate(var(--rot,0deg)) translateY(0)}50%{transform:rotate(var(--rot,0deg)) translateY(-8px)}}@keyframes hero-pop{0%{opacity:0;transform:translateY(-16px) scale(.9)}}.gh-chip--yellow{background:var(--yellow);color:var(--ink-fixed);box-shadow:5px 5px 0 var(--yellow-dk)}.gh-chip--yellow-dk{background:#f2b60c;color:var(--ink-fixed);box-shadow:5px 5px 0 #9c6f00}.gh-chip--violet{background:var(--violet);color:#fff;box-shadow:5px 5px 0 var(--violet-dk)}.gh-chip--violet-dk{background:#5f43e0;color:#fff;box-shadow:5px 5px 0 #2c1a80}.gh-chip--set{background:var(--teal);color:var(--ink-fixed);box-shadow:5px 5px 0 var(--teal-dk)}.gh-chip--falka{background:var(--crimson);color:#fff;box-shadow:5px 5px 0 var(--crimson-dk)}.gh-chip--president{background:var(--gold);color:var(--ink-fixed);box-shadow:5px 5px 0 var(--gold-dk)}.gh-chip--dice{background:var(--navy);color:#fff;box-shadow:5px 5px 0 var(--navy-dk)}@media (prefers-reduced-motion:reduce){.game-hero,.gh-chip{animation:none}}.scoreboard{flex-direction:column}.score-row,.scoreboard{display:flex;grid-gap:10px;gap:10px}.score-row{align-items:center;justify-content:space-between;background:var(--panel);border:var(--bw) solid var(--ink);border-radius:12px;padding:10px 13px;font-weight:600;box-shadow:4px 4px 0 var(--ink);animation:row-in .4s var(--pop) backwards}.score-row:first-child{animation-delay:.03s}.score-row:nth-child(2){animation-delay:.09s}.score-row:nth-child(3){animation-delay:.15s}.score-row:nth-child(4){animation-delay:.21s}.score-row:nth-child(5){animation-delay:.27s}.score-row:nth-child(6){animation-delay:.33s}@keyframes row-in{0%{opacity:0;transform:translateX(-14px) rotate(-1deg)}}.score-row .name{display:flex;align-items:center;grid-gap:8px;gap:8px;flex-wrap:wrap;text-align:left}.score-row .points{font-size:1.1rem}.score-row .points,.value{font-family:var(--font-display);font-weight:400}.value{font-size:.9rem;background:var(--yellow);border:2px solid var(--ink);border-radius:8px;padding:2px 10px;box-shadow:2px 2px 0 var(--ink);transform:rotate(2deg)}.tag{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:var(--panel-2);border:2px solid var(--ink);color:var(--ink);transform:rotate(-3deg);box-shadow:2px 2px 0 rgba(29,24,50,.3)}.tag-host{background:var(--yellow);color:var(--ink-fixed)}.tag-offline{background:var(--panel-2);opacity:.85}.tag.done{background:var(--teal);color:var(--ink-fixed);animation:tag-pop .32s var(--pop) both}@keyframes tag-pop{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(-3deg)}}.pname,.row-tags{display:flex;align-items:center;grid-gap:8px;gap:8px}.dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--ink);flex:0 0 auto}.dot.on{background:var(--teal);animation:dot-ping 2.2s ease-out infinite}@keyframes dot-ping{0%{box-shadow:0 0 0 0 rgba(46,196,182,.55)}70%,to{box-shadow:0 0 0 8px rgba(46,196,182,0)}}.dot.off{background:var(--muted)}.player-list li.offline,.score-row.offline{opacity:.5}.kick-btn{border:2px solid var(--ink);background:var(--panel);color:var(--ink);font-size:.8rem;font-weight:700;line-height:1;padding:3px 7px;border-radius:7px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:transform .1s ease}.kick-btn:hover{background:var(--coral);color:var(--paper-fixed);transform:rotate(-8deg) scale(1.1)}.kick-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.edit-btn{border:2px solid var(--ink);background:var(--panel);color:var(--ink);font-size:.8rem;font-weight:700;line-height:1;padding:3px 7px;border-radius:7px;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:transform .1s ease}.edit-btn:hover{background:var(--yellow);color:var(--ink-fixed);transform:rotate(8deg) scale(1.1)}.edit-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.score-row.winner{background:linear-gradient(110deg,var(--yellow),#ffe98f 42%,var(--yellow) 55%);background-size:220% 100%;box-shadow:4px 4px 0 var(--yellow-dk);animation:row-in .4s var(--pop) backwards,winner-sheen 2.4s linear infinite}.score-row.winner,.score-row.winner .points{color:var(--ink-fixed)}@keyframes winner-sheen{0%{background-position:120% 0}to{background-position:-100% 0}}.score-row.flash-gain{animation:flash-gain 1.4s ease}.score-row.flash-loss{animation:flash-loss 1.4s ease}@keyframes flash-gain{0%,to{background:var(--panel);transform:none}20%{background:var(--teal);transform:rotate(-1deg) scale(1.02)}}@keyframes flash-loss{0%,to{background:var(--panel);transform:none}20%{background:var(--coral);transform:rotate(1deg) scale(.99)}}.points{position:relative}.delta-float{position:absolute;right:0;bottom:100%;font-family:var(--font-display);font-size:1rem;pointer-events:none;animation:delta-rise 1.6s ease forwards}.delta-float.gain{color:var(--teal-dk)}.delta-float.loss{color:var(--coral-dk)}@keyframes delta-rise{0%{opacity:0;transform:translateY(6px) scale(.7)}20%{opacity:1;transform:translateY(-3px) scale(1.25)}to{opacity:0;transform:translateY(-26px) scale(1)}}@media (prefers-reduced-motion:reduce){.delta-float,.dot.on,.score-row,.score-row.flash-gain,.score-row.flash-loss,.score-row.winner,.tag.done{animation:none}}.room-code{position:relative;display:flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px;color:var(--ink-fixed);background:var(--yellow);border:var(--bw) solid var(--ink);border-radius:12px;padding:14px 16px;margin-bottom:16px;box-shadow:5px 5px 0 var(--yellow-dk);transform:rotate(-1deg);outline:2px dashed rgba(29,24,50,.65);outline-offset:-8px}.room-code .code{font-family:var(--font-display);font-weight:400;font-size:1.45rem;letter-spacing:.14em;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.copy-btn{flex:0 0 auto;background:var(--paper-fixed);border:var(--bw) solid var(--ink);border-radius:9px;color:var(--ink-fixed);cursor:pointer;font-size:.8rem;font-weight:700;font-family:inherit;text-transform:uppercase;letter-spacing:.04em;padding:6px 10px;box-shadow:3px 3px 0 rgba(29,24,50,.45);transition:transform .1s ease,box-shadow .1s ease}.copy-btn:hover{transform:translate(-1px,-1px) rotate(2deg);box-shadow:4px 4px 0 rgba(29,24,50,.5)}.copy-btn:active{transform:translate(3px,3px);box-shadow:0 0 0 rgba(29,24,50,.5)}.player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;grid-gap:9px;gap:9px}.player-list li{background:var(--panel-2);border:var(--bw) solid var(--ink);border-radius:11px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;font-weight:600;box-shadow:3px 3px 0 rgba(29,24,50,.55);animation:player-in .4s var(--pop) backwards}.player-list li:first-child{animation-delay:.03s}.player-list li:nth-child(2){animation-delay:.09s}.player-list li:nth-child(3){animation-delay:.15s}.player-list li:nth-child(4){animation-delay:.21s}.player-list li:nth-child(5){animation-delay:.27s}.player-list li:nth-child(6){animation-delay:.33s}@keyframes player-in{0%{opacity:0;transform:translateY(10px) rotate(1.5deg) scale(.92)}}@media (prefers-reduced-motion:reduce){.player-list li{animation:none}}.overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);background-image:radial-gradient(var(--dot) 1.6px,transparent 0);background-size:22px 22px}.overlay-card{text-align:center;max-width:340px;animation:overlay-in .4s var(--pop) both}@keyframes overlay-in{0%{opacity:0;transform:translateY(14px) scale(.92)}}.suit-loader{grid-gap:10px;gap:10px}.suit-loader,.suit-loader span{display:flex;justify-content:center}.suit-loader span{width:46px;height:46px;align-items:center;font-size:1.5rem;background:var(--panel);color:var(--ink);border:var(--bw) solid var(--ink);border-radius:11px;box-shadow:4px 4px 0 var(--ink);animation:suit-hop 1.1s ease-in-out infinite}.suit-loader span:nth-child(2){animation-delay:.12s}.suit-loader span:nth-child(3){animation-delay:.24s}.suit-loader span:nth-child(4){animation-delay:.36s}.suit-loader .red{color:var(--coral)}@keyframes suit-hop{0%,55%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-14px) rotate(-8deg)}}.overlay-title{font-family:var(--font-display);font-weight:400;font-size:1.05rem;text-transform:uppercase;margin:22px 0 8px}.overlay-sub{color:var(--ink);opacity:.75;font-size:.9rem;font-weight:500;line-height:1.5;margin:0}@media (prefers-reduced-motion:reduce){.overlay-card,.suit-loader span{animation:none}}.create-card{--suit:"♣";transform:rotate(-1.2deg);animation-delay:.12s}.create-card:focus-within{transform:rotate(0deg);transition:transform .2s var(--pop)}.join-card{--suit:"♦";transform:rotate(1.2deg);animation-delay:.24s}.join-card:focus-within{transform:rotate(0deg);transition:transform .2s var(--pop)}.modal-backdrop{position:fixed;inset:0;z-index:1800;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(29,24,50,.5);animation:backdrop-in .16s ease both}@keyframes backdrop-in{0%{opacity:0}}.modal{width:100%;max-width:350px;background:var(--panel);border:var(--bw) solid var(--ink);border-radius:var(--radius);padding:24px 22px;text-align:center;box-shadow:8px 8px 0 var(--ink);transform:rotate(-1deg);animation:modal-in .28s var(--pop) both}@keyframes modal-in{0%{opacity:0;transform:translateY(18px) rotate(2deg) scale(.88)}to{opacity:1;transform:rotate(-1deg)}}.modal-title{margin:0 0 8px;font-family:var(--font-display);font-weight:400;font-size:1.15rem;text-transform:uppercase}.modal-msg{margin:0 0 18px;color:var(--ink);opacity:.8;font-weight:500;line-height:1.5}.modal-actions{display:flex;grid-gap:10px;gap:10px}.modal-actions .btn{flex:1 1;padding:12px 10px}@media (prefers-reduced-motion:reduce){.modal,.modal-backdrop{animation:none}}.edit-modal{text-align:left}.edit-modal .modal-title{text-align:center}.edit-modal .field{margin-bottom:14px}.edit-modal .label{margin:0 0 6px}.edit-modal .modal-actions{margin-top:18px}.announce-composer{text-align:left}.announce-composer .modal-title{text-align:center}.announce-input{resize:vertical;min-height:84px;font-family:inherit}.announce-backdrop{position:fixed;inset:0;z-index:1900;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(29,24,50,.62);animation:backdrop-in .16s ease both}.announce-alert{width:100%;max-width:380px;background:var(--yellow);color:var(--ink-fixed);border:var(--bw) solid var(--ink);border-radius:var(--radius);padding:26px 22px 22px;text-align:center;box-shadow:9px 9px 0 var(--ink);transform:rotate(-1.5deg);animation:announce-in .45s var(--pop) both}@keyframes announce-in{0%{opacity:0;transform:translateY(-40px) rotate(4deg) scale(.7)}60%{opacity:1;transform:translateY(6px) rotate(-2.5deg) scale(1.04)}to{opacity:1;transform:rotate(-1.5deg)}}.announce-from{margin:0 0 10px;font-family:var(--font-display);font-weight:400;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em}.announce-text{margin:0 0 20px;font-size:1.25rem;font-weight:700;line-height:1.4;overflow-wrap:break-word}@media (prefers-reduced-motion:reduce){.announce-alert,.announce-backdrop{animation:none}}.btn.btn-mega{font-family:var(--font-display);font-weight:400;font-size:1.05rem;letter-spacing:.1em;padding:17px 18px;animation:mega-pulse 1.6s ease-in-out infinite}.btn.btn-mega:active,.btn.btn-mega:hover{animation:none}@keyframes mega-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.025) rotate(-.4deg)}}@media (prefers-reduced-motion:reduce){.btn.btn-mega{animation:none}}.confetti-piece{top:-16px;width:10px;height:14px;border:2px solid var(--ink)}.confetti-emoji,.confetti-piece{position:fixed;z-index:2000;pointer-events:none;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}.confetti-emoji{top:-28px;line-height:1}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) translateX(0) rotate(0)}to{opacity:.9;transform:translateY(105svh) translateX(var(--drift)) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){.confetti-emoji,.confetti-piece{animation:none;display:none}}.support-promo-modal{position:relative;max-width:380px;padding:30px 24px 24px;background:var(--yellow);color:var(--ink-fixed);box-shadow:10px 10px 0 var(--yellow-dk);transform:rotate(-2deg);animation:support-modal-pop .4s var(--pop) both}.falka-app .support-promo-modal,.wave-app .support-promo-modal{color:#fff}.support-promo-modal .modal-msg,.support-promo-modal .modal-title{color:inherit}.support-promo-modal .modal-msg{opacity:.9}@keyframes support-modal-pop{0%{opacity:0;transform:rotate(6deg) scale(.7)}to{opacity:1;transform:rotate(-2deg) scale(1)}}.support-promo-close{position:absolute;top:-16px;right:-16px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:var(--bw) solid var(--ink);border-radius:50%;background:#e6483f;color:#fff;font-family:var(--font-display);font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:3px 3px 0 rgba(0,0,0,.4);transition:transform .12s ease}.support-promo-close:hover{transform:scale(1.12) rotate(-8deg)}.support-promo-close:active{transform:scale(.94)}.support-promo-close.locked{background:var(--muted);font-size:.9rem;cursor:not-allowed}.support-promo-close.locked:hover{transform:none}.support-promo-emoji{display:inline-block;font-size:3rem;line-height:1;margin-bottom:4px;animation:support-emoji-bounce 1.6s ease-in-out infinite}@keyframes support-emoji-bounce{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-10px) rotate(6deg)}}.support-promo-title{font-size:1.5rem}.support-promo-cta{margin-top:4px;animation:support-cta-pulse 1.6s ease-in-out infinite}@keyframes support-cta-pulse{0%,to{transform:scale(1);box-shadow:5px 5px 0 rgba(29,24,50,.4)}50%{transform:scale(1.03);box-shadow:7px 7px 0 rgba(29,24,50,.5)}}@media (prefers-reduced-motion:reduce){.support-promo-cta,.support-promo-emoji,.support-promo-modal{animation:none}}.game-header{text-align:left;padding-right:52px}.close-x{position:absolute;top:16px;right:16px;z-index:5;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:var(--bw) solid var(--ink);border-radius:11px;background:var(--coral);color:var(--paper-fixed);font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:4px 4px 0 var(--coral-dk);transition:transform .18s ease,box-shadow .18s ease}.close-x:hover{transform:rotate(90deg) scale(1.06);box-shadow:5px 5px 0 var(--coral-dk)}.close-x:active{transform:rotate(90deg) translate(2px,2px) scale(.95);box-shadow:0 0 0 var(--coral-dk)}.game-line{display:flex;align-items:center;flex-wrap:wrap;grid-gap:12px;gap:12px;margin:0}.adu-suit{font-size:1.9rem;font-weight:700;background:var(--yellow);border:var(--bw) solid var(--ink);border-radius:12px;padding:3px 13px;box-shadow:4px 4px 0 var(--yellow-dk);line-height:1.3;transform:rotate(-2deg);animation:suit-flip .55s var(--pop) backwards}.adu-suit.adu-red{background:var(--paper-fixed);color:var(--coral)}.adu-suit.adu-none{font-size:1rem;line-height:2.3;background:var(--panel-2);text-transform:uppercase;letter-spacing:.04em}@keyframes suit-flip{0%{opacity:0;transform:rotate(-2deg) rotateY(120deg) scale(.6)}}.game-meta{color:var(--ink);opacity:.78;font-size:.9rem;font-weight:600}.round-progress{height:18px;border:var(--bw) solid var(--ink);border-radius:999px;background:var(--panel);box-shadow:3px 3px 0 rgba(29,24,50,.4);overflow:hidden}.round-progress-fill{height:100%;min-width:14px;border-right:var(--bw) solid var(--ink);border-radius:0 999px 999px 0;background:repeating-linear-gradient(-55deg,var(--coral),var(--coral) 12px,var(--yellow) 0,var(--yellow) 24px);background-size:200% 100%;animation:barber 1.2s linear infinite;transition:width .5s var(--pop)}@keyframes barber{to{background-position:33px 0}}.phase-card .hint{font-weight:600}.final-card{--suit:"★"}.rank{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 auto;font-family:var(--font-display);font-weight:400;font-size:.8rem;background:var(--panel);border:2px solid var(--ink);border-radius:50%;box-shadow:2px 2px 0 rgba(29,24,50,.4);transform:rotate(-6deg)}.rank-1{background:var(--yellow)}.rank-2{background:#e6e5f2}.rank-3{background:#ffb27a}.toast{position:fixed;top:18px;left:50%;z-index:1500;transform:translateX(-50%) rotate(-2deg);background:var(--yellow);color:var(--ink-fixed);font-family:var(--font-display);font-weight:400;font-size:.95rem;padding:11px 20px;border-radius:999px;border:var(--bw) solid var(--ink);box-shadow:5px 5px 0 var(--ink);animation:toast-in 1.5s ease forwards;pointer-events:none;white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-26px) rotate(4deg) scale(.7)}12%,78%{opacity:1;transform:translate(-50%) rotate(-2deg) scale(1)}to{opacity:0;transform:translate(-50%,-16px) rotate(-2deg) scale(.94)}}.shake{animation:shake .52s ease}@keyframes shake{0%,to{transform:translateX(0) rotate(0)}15%{transform:translateX(-10px) rotate(-1.2deg)}30%{transform:translateX(10px) rotate(1.2deg)}45%{transform:translateX(-7px) rotate(-.7deg)}60%{transform:translateX(7px) rotate(.7deg)}78%{transform:translateX(-3px)}}@media (prefers-reduced-motion:reduce){.adu-suit,.round-progress-fill,.shake,.toast{animation:none}}.suits{grid-gap:9px;gap:9px}.suit-chip,.suits{display:flex;justify-content:center}.suit-chip{width:48px;height:48px;align-items:center;font-size:1.4rem;font-weight:700;background:var(--panel);border:var(--bw) solid var(--ink);border-radius:11px;box-shadow:4px 4px 0 var(--ink);animation:suit-bob 2.8s ease-in-out infinite;transition:transform .3s var(--pop)}.suit-chip:hover{transform:rotate(1turn)}.suit-chip:first-child{animation-delay:0s}.suit-chip:nth-child(2){animation-delay:.18s}.suit-chip:nth-child(3){animation-delay:.36s}.suit-chip:nth-child(4){animation-delay:.54s}.suit-chip:nth-child(5){animation-delay:.72s}@keyframes suit-bob{0%,55%,to{transform:translateY(0)}25%{transform:translateY(-9px) rotate(-6deg)}}.suit-chip.s-red{color:var(--coral-dk)}.suit-chip.s-none{color:var(--muted)}.rules-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;grid-gap:16px;gap:16px}.rule-step,.score-rule{display:flex;align-items:flex-start;grid-gap:13px;gap:13px}.score-rule{margin-bottom:12px}.step-num{flex:0 0 auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:400;font-size:1rem;border:var(--bw) solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink);transform:rotate(-5deg)}.rule-step:nth-child(2n) .step-num{transform:rotate(5deg)}.rule-step:nth-child(odd) .step-num{background:var(--yellow)}.rule-step:nth-child(2n) .step-num{background:var(--coral);color:var(--paper-fixed)}.score-rule.good strong{color:var(--teal-dk)}.score-rule.bad strong{color:var(--coral-dk)}.step-body strong{display:block;font-size:.98rem}.step-body p{margin:3px 0 0;font-size:.88rem;opacity:.78;line-height:1.45;font-weight:500}.rules-eg{margin:4px 0 0;background:var(--panel-2);border:2.5px dashed var(--ink);border-radius:11px;padding:11px 13px;font-size:.9rem;font-weight:500}.eg-good{color:var(--teal-dk);font-weight:700}.eg-bad{color:var(--coral-dk);font-weight:700}@media (prefers-reduced-motion:reduce){.suit-chip{animation:none}}.lang-switcher{position:relative;display:inline-block}.lang-switcher-btn{display:flex;align-items:center;grid-gap:6px;gap:6px;padding:8px 12px;border:var(--bw) solid var(--ink);border-radius:12px;background:var(--paper-fixed);color:var(--ink-fixed);font-family:var(--font-display);font-weight:400;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;box-shadow:3px 3px 0 rgba(29,24,50,.35);transition:transform .12s ease,box-shadow .12s ease}.lang-switcher-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 rgba(29,24,50,.4)}.lang-switcher-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(29,24,50,.4)}.lang-switcher-caret{width:11px;height:8px;margin-left:2px;flex:0 0 auto;color:var(--ink-fixed);opacity:.7;transition:transform .16s var(--pop)}.lang-switcher-caret.open{transform:rotate(180deg)}.flag-icon{width:20px;height:14px;flex:0 0 auto;display:block;border-radius:2px;border:1.5px solid var(--ink-fixed);box-shadow:1px 1px 0 rgba(29,24,50,.35)}.lang-switcher-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:50;list-style:none;margin:0;padding:6px;min-width:150px;background:var(--panel);border:var(--bw) solid var(--ink);border-radius:12px;box-shadow:5px 5px 0 rgba(29,24,50,.4);animation:lang-menu-in .16s var(--pop) both}@keyframes lang-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.95)}}.lang-switcher-option{display:flex;align-items:center;grid-gap:8px;gap:8px;width:100%;padding:9px 10px;border:none;border-radius:8px;background:transparent;color:var(--ink);font-family:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.lang-switcher-option:hover{background:var(--panel-2)}.lang-switcher-option.active{background:var(--yellow);color:var(--ink-fixed);font-weight:700}@media (prefers-reduced-motion:reduce){.lang-switcher-menu{animation:none}}.menu-page{max-width:460px}@media (min-width:660px){.menu-page{max-width:1180px}}.menu-topbar{display:flex;justify-content:flex-end;margin-top:8px}.menu-hero{text-align:center;margin:48px 0 4px;animation:menu-hero-in .5s var(--pop) backwards;animation-delay:.05s}.menu-hero-title{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;grid-gap:10px;gap:10px;margin:0;line-height:1;font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:0;font-size:clamp(2.3rem,8.5vw,4rem);perspective:600px}.mh-word{--rot:0deg;display:inline-block;padding:8px 18px 12px;border:var(--bw) solid var(--ink);border-radius:16px;transform:rotate(var(--rot));animation:mh-float 3.4s ease-in-out infinite;will-change:transform}.mh-word--1{--rot:-4deg;background:var(--yellow);color:var(--ink-fixed);box-shadow:6px 6px 0 var(--yellow-dk)}.mh-word--2{--rot:4deg;background:var(--violet);color:#fff;box-shadow:6px 6px 0 var(--violet-dk);animation-delay:.55s}.mh-word:hover{animation-play-state:paused}@keyframes mh-float{0%,to{transform:rotate(var(--rot)) translateY(0)}50%{transform:rotate(var(--rot)) translateY(-10px)}}.menu-hero-sub{margin:18px 0 0;color:var(--ink);opacity:.75;font-size:.98rem;font-weight:600}.menu-grid{display:grid;grid-template-columns:1fr;grid-gap:22px;gap:22px;margin-top:6px}@media (min-width:660px){.menu-grid{grid-template-columns:repeat(2,1fr);grid-gap:26px;gap:26px;align-items:stretch}}@media (min-width:1080px){.menu-grid{grid-template-columns:repeat(4,1fr)}}.menu-card{display:flex;flex-direction:column;align-items:stretch;grid-gap:12px;gap:12px;text-align:left;text-decoration:none;min-height:236px;padding:24px 20px 20px;border:var(--bw) solid var(--ink);border-radius:var(--radius);position:relative;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease}.menu-card:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(29,24,50,.1) 1.5px,transparent 0);background-size:16px 16px;pointer-events:none}.menu-card--rikiki{background:var(--yellow);color:var(--ink-fixed);box-shadow:8px 8px 0 var(--yellow-dk);transform:rotate(-1.4deg);animation:pop-rikiki .55s var(--pop) backwards;animation-delay:.18s}.menu-card--wave{background:var(--violet);color:#fff;box-shadow:8px 8px 0 var(--violet-dk);transform:rotate(1.4deg);animation:pop-wave .55s var(--pop) backwards;animation-delay:.3s}.menu-card--wave:after{background-image:radial-gradient(hsla(0,0%,100%,.14) 1.5px,transparent 0)}.menu-card--set{background:var(--teal);color:var(--ink-fixed);box-shadow:8px 8px 0 var(--teal-dk);transform:rotate(-.8deg);animation:pop-set .55s var(--pop) backwards;animation-delay:.42s}.menu-card--falka{background:var(--crimson);color:#fff;box-shadow:8px 8px 0 var(--crimson-dk);transform:rotate(1.1deg);animation:pop-falka .55s var(--pop) backwards;animation-delay:.54s}.menu-card--falka:after{background-image:radial-gradient(hsla(0,0%,100%,.14) 1.5px,transparent 0)}.menu-card--president{background:var(--gold);color:var(--ink-fixed);box-shadow:8px 8px 0 var(--gold-dk);transform:rotate(-1.1deg);animation:pop-president .55s var(--pop) backwards;animation-delay:.66s}.menu-card--dice{background:var(--navy);color:#fff;box-shadow:8px 8px 0 var(--navy-dk);transform:rotate(1.3deg);animation:pop-dice .55s var(--pop) backwards;animation-delay:.78s}.menu-card--dice:after{background-image:radial-gradient(hsla(0,0%,100%,.16) 1.5px,transparent 0)}.menu-card:hover{transform:rotate(0deg) translate(-3px,-5px)}.menu-card--rikiki:hover{box-shadow:12px 14px 0 var(--yellow-dk)}.menu-card--wave:hover{box-shadow:12px 14px 0 var(--violet-dk)}.menu-card--set:hover{box-shadow:12px 14px 0 var(--teal-dk)}.menu-card--falka:hover{box-shadow:12px 14px 0 var(--crimson-dk)}.menu-card--president:hover{box-shadow:12px 14px 0 var(--gold-dk)}.menu-card--dice:hover{box-shadow:12px 14px 0 var(--navy-dk)}.menu-card:active{transform:rotate(0deg) translate(3px,3px)}.menu-card--rikiki:active{box-shadow:3px 3px 0 var(--yellow-dk)}.menu-card--wave:active{box-shadow:3px 3px 0 var(--violet-dk)}.menu-card--set:active{box-shadow:3px 3px 0 var(--teal-dk)}.menu-card--falka:active{box-shadow:3px 3px 0 var(--crimson-dk)}.menu-card--president:active{box-shadow:3px 3px 0 var(--gold-dk)}.menu-card--dice:active{box-shadow:3px 3px 0 var(--navy-dk)}.menu-ring{position:absolute;top:16px;right:16px;z-index:1;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;background:var(--paper-fixed);color:var(--ink-fixed);border:3px dashed var(--ink);border-radius:50%;box-shadow:3px 3px 0 rgba(29,24,50,.35);animation:ring-spin 14s linear infinite}.menu-ring span{display:block;animation:ring-spin-reverse 14s linear infinite}@keyframes ring-spin{to{transform:rotate(1turn)}}@keyframes ring-spin-reverse{to{transform:rotate(-1turn)}}.menu-deco{position:relative;z-index:1;margin-bottom:2px}.menu-deco--suits{display:flex;grid-gap:7px;gap:7px;line-height:1}.menu-deco--suits .ms{display:inline-flex;align-items:center;justify-content:center;width:34px;height:46px;font-size:1.35rem;background:var(--paper-fixed);border:var(--bw) solid var(--ink-fixed);border-radius:7px;box-shadow:2px 2px 0 rgba(29,24,50,.35);transform-origin:bottom center;transition:transform .2s var(--pop)}.menu-deco--suits .s-black{color:var(--ink-fixed)}.menu-deco--suits .s-red{color:#d62f22}.menu-card--rikiki:hover .ms:first-child{transform:rotate(-18deg) translateY(-4px)}.menu-card--rikiki:hover .ms:nth-child(2){transform:rotate(-6deg) translateY(-1px)}.menu-card--rikiki:hover .ms:nth-child(3){transform:rotate(6deg) translateY(-1px)}.menu-card--rikiki:hover .ms:nth-child(4){transform:rotate(18deg) translateY(-4px)}.menu-deco--wave{height:28px;margin-right:64px;border:var(--bw) solid var(--ink);border-radius:8px;background:linear-gradient(90deg,#5b8def,#ffd23f 50%,#ff6f61);box-shadow:3px 3px 0 rgba(20,12,60,.55)}.menu-needle{position:absolute;top:-4px;bottom:-4px;left:64%;width:4px;background:#221a30;border-radius:2px;animation:needle-sweep 4.5s ease-in-out infinite}.menu-card--wave:hover .menu-needle{animation-duration:1.5s}.menu-deco--set{display:flex;grid-gap:7px;gap:7px;line-height:1}.mset{display:inline-block;width:26px;height:34px;background:var(--paper-fixed);border:var(--bw) solid var(--ink-fixed);border-radius:7px;box-shadow:2px 2px 0 rgba(29,24,50,.35);transform-origin:bottom center;transition:transform .2s var(--pop),box-shadow .2s var(--pop);position:relative;will-change:transform}.mset-oval{animation:mset-float-1 3.1s ease-in-out infinite}.mset-diamond{animation:mset-float-2 2.7s ease-in-out infinite;animation-delay:.25s}.mset-squiggle{animation:mset-float-3 3.4s ease-in-out infinite;animation-delay:.5s}@keyframes mset-float-1{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-9deg) translateY(-7px)}}@keyframes mset-float-2{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-9px) rotate(4deg)}}@keyframes mset-float-3{0%,to{transform:rotate(5deg) translateY(0)}50%{transform:rotate(9deg) translateY(-6px)}}.menu-card--set:hover .mset{animation:none;box-shadow:3px 4px 0 rgba(29,24,50,.4)}.mset:before{content:"";position:absolute;inset:6px 5px;border:2.5px solid #0e8d80}.mset-oval:before{border-radius:999px;background:#0e8d80}.mset-diamond:before{border-color:#7c5cff;transform:rotate(45deg) scale(.72)}.mset-squiggle:before{border-color:#d2660f;border-radius:60% 40% 55% 45%/45% 55% 40% 60%}.menu-card--set:hover .mset:first-child{transform:rotate(-10deg) translateY(-3px)}.menu-card--set:hover .mset:nth-child(2){transform:translateY(-5px)}.menu-card--set:hover .mset:nth-child(3){transform:rotate(10deg) translateY(-3px)}@keyframes needle-sweep{0%{left:10%}50%{left:88%}to{left:10%}}.menu-deco--falka{display:flex;align-items:center;grid-gap:8px;gap:8px;line-height:1}.mfalka-moon{position:relative;width:34px;height:34px;flex:0 0 auto;background:var(--paper-fixed);border:var(--bw) solid var(--ink-fixed);border-radius:50%;box-shadow:2px 2px 0 rgba(0,0,0,.35);overflow:hidden;animation:mfalka-float 3.8s ease-in-out infinite}.mfalka-moon:before{content:"";position:absolute;top:-12%;right:-32%;width:100%;height:124%;background:var(--crimson);border-radius:50%}.mfalka-eye{width:10px;height:14px;flex:0 0 auto;background:#ffce54;border:2px solid var(--ink-fixed);border-radius:50%;box-shadow:1px 1px 0 rgba(0,0,0,.35);animation:mfalka-blink 4.2s ease-in-out infinite}.mfalka-eye:nth-child(3){animation-delay:.15s}@keyframes mfalka-float{0%,to{transform:rotate(0deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-6px)}}@keyframes mfalka-blink{0%,88%,to{transform:scaleY(1)}92%{transform:scaleY(.15)}}.menu-card--falka:hover .mfalka-eye,.menu-card--falka:hover .mfalka-moon{animation:none}.menu-card--falka:hover .mfalka-moon{transform:rotate(-10deg) translateY(-4px)}.menu-card--falka:hover .mfalka-eye{transform:scaleY(1.3);background:#ffe08a}.menu-deco--president{line-height:1}.mpres-badge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--paper-fixed);border:var(--bw) solid var(--ink-fixed);border-radius:13px;box-shadow:3px 3px 0 rgba(0,0,0,.35);transform-origin:50% 100%;animation:mpres-tilt 3.2s ease-in-out infinite}.mpres-crown{display:block;width:26px;height:auto}@keyframes mpres-tilt{0%,to{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-7px)}}.menu-card--president:hover .mpres-badge{animation:none;transform:rotate(0deg) translateY(-6px) scale(1.12)}.menu-deco--dice{line-height:1}.mdice-cube{display:inline-grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);grid-gap:3px;gap:3px;width:42px;height:42px;padding:7px;box-sizing:border-box;background:var(--paper-fixed);border:var(--bw) solid var(--ink-fixed);border-radius:13px;box-shadow:3px 3px 0 rgba(0,0,0,.35);animation:mdice-spin 2.6s ease-in-out infinite}.mdice-pip{border-radius:50%;background:var(--ink-fixed)}.mdice-pip:first-child{grid-row:1;grid-column:1}.mdice-pip:nth-child(2){grid-row:2;grid-column:2}.mdice-pip:nth-child(3){grid-row:3;grid-column:3}@keyframes mdice-spin{0%,to{transform:rotate(0deg)}50%{transform:rotate(1turn)}}.menu-card--dice:hover .mdice-cube{animation-duration:.6s}.menu-title{font-family:var(--font-display);font-weight:400;font-size:1.6rem;text-transform:uppercase;letter-spacing:0;line-height:1.05}.menu-desc,.menu-title{position:relative;z-index:1}.menu-desc{font-size:.92rem;font-weight:500;opacity:.85}.menu-cta{position:relative;z-index:1;margin-top:auto;align-self:flex-start;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;padding:6px 14px;background:var(--paper-fixed);color:var(--ink-fixed);border:var(--bw) solid var(--ink);border-radius:9px;box-shadow:3px 3px 0 rgba(29,24,50,.35);transition:transform .14s ease,box-shadow .14s ease}.menu-card:hover .menu-cta{transform:translate(-1px,-1px) rotate(-1deg);box-shadow:5px 5px 0 rgba(29,24,50,.4)}.menu-arrow{display:inline-block;transition:transform .16s ease}.menu-card:hover .menu-arrow{transform:translateX(6px)}@keyframes menu-hero-in{0%{opacity:0;transform:translateY(-16px) scale(.9)}}@keyframes pop-rikiki{0%{opacity:0;transform:rotate(-1.4deg) translateY(24px) scale(.88)}to{opacity:1;transform:rotate(-1.4deg)}}@keyframes pop-wave{0%{opacity:0;transform:rotate(1.4deg) translateY(24px) scale(.88)}to{opacity:1;transform:rotate(1.4deg)}}@keyframes pop-set{0%{opacity:0;transform:rotate(-.8deg) translateY(24px) scale(.88)}to{opacity:1;transform:rotate(-.8deg)}}@keyframes pop-falka{0%{opacity:0;transform:rotate(1.1deg) translateY(24px) scale(.88)}to{opacity:1;transform:rotate(1.1deg)}}@keyframes pop-president{0%{opacity:0;transform:rotate(-1.1deg) translateY(24px) scale(.88)}to{opacity:1;transform:rotate(-1.1deg)}}@keyframes pop-dice{0%{opacity:0;transform:rotate(1.3deg) translateY(24px) scale(.88)}to{opacity:1;transform:rotate(1.3deg)}}.menu-page .ticker{margin-top:14px;animation:menu-hero-in .5s var(--pop) backwards;animation-delay:.42s}@media (prefers-reduced-motion:reduce){.mdice-cube,.menu-card--dice,.menu-card--falka,.menu-card--president,.menu-card--rikiki,.menu-card--set,.menu-card--wave,.menu-hero,.menu-needle,.menu-page .ticker,.menu-ring,.menu-ring span,.mfalka-eye,.mfalka-moon,.mh-word,.mpres-badge,.mset{animation:none}}.wave-app{--bg:#ebe4ff;--panel:#fff;--panel-2:#f4efff;--ink:#221a30;--muted:#7b7290;--yellow:#7c5cff;--yellow-dk:#4a2fc2;--coral:#ff6b9d;--coral-dk:#c83e72;--teal:#2bbf8f;--teal-dk:#18906a;--blue:#5b8def;--blue-dk:#2f5bc0;--dot:rgba(34,26,48,0.06);background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.4px,transparent 0);background-size:18px 18px}.wave-app .btn:not(.btn-light):not(.btn-ghost){color:#fff}.wave-app .btn-ghost{color:var(--ink-fixed)}.wave-wrap{margin:6px 0 22px}.wave-ends{display:flex;justify-content:space-between;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin-bottom:8px}.wave-bar{position:relative;height:46px;border:var(--bw) solid var(--ink);border-radius:10px;background:linear-gradient(90deg,#5b8def,#ffd23f 50%,#ff6f61);box-shadow:3px 3px 0 var(--ink);overflow:hidden}.wave-zone{position:absolute;top:0;bottom:0;background:rgba(33,28,21,.18);border-left:2px dashed var(--ink);border-right:2px dashed var(--ink)}.wave-needle{position:absolute;top:-4px;bottom:-4px;width:4px;background:var(--ink);transform:translateX(-2px);border-radius:2px}.wave-needle.preview{background:#fff;box-shadow:0 0 0 2px var(--ink)}.wave-marker{position:absolute;bottom:0;width:0;height:0;transform:translateX(-7px);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:11px solid var(--ink)}.wave-marker-name{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:.62rem;font-weight:700;white-space:nowrap;color:var(--ink);background:var(--panel);border:1.5px solid var(--ink);border-radius:5px;padding:0 4px}.wave-bar.interactive{cursor:pointer;touch-action:none}.wave-handle{position:absolute;top:-6px;bottom:-6px;width:6px;background:var(--ink);transform:translateX(-3px);border-radius:3px;pointer-events:none}.wave-handle:after{content:"";top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:2.5px solid var(--ink)}.wave-handle-val,.wave-handle:after{position:absolute;left:50%;background:var(--panel)}.wave-handle-val{top:-28px;transform:translateX(-50%);font-size:.72rem;font-weight:800;border:2px solid var(--ink);border-radius:6px;padding:0 6px;color:var(--ink)}.wave-help{text-align:center;color:var(--ink);opacity:.7;font-size:.85rem;font-weight:500;margin:0 0 10px}.wave-clue{font-size:1.6rem;font-weight:800;text-align:center;margin:4px 0 12px}.set-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:3px;gap:3px;height:140px;padding:10px 6px;background:var(--paper-fixed);border:var(--bw) solid var(--ink);border-radius:var(--radius-sm);box-shadow:3px 3px 0 rgba(29,24,50,.35);cursor:pointer;font:inherit;transition:transform .12s var(--pop),box-shadow .12s var(--pop),border-color .12s ease,background-color .12s ease}.set-card:hover:not(:disabled):not(.set-card--selected){transform:translate(-1px,-2px);box-shadow:5px 6px 0 rgba(29,24,50,.4)}.set-card:active:not(:disabled){transform:translate(2px,2px);box-shadow:0 0 0 rgba(29,24,50,.4)}.set-card--selected{background:var(--panel-2);border-color:var(--blue-dk);box-shadow:0 0 0 3px var(--blue),4px 5px 0 var(--blue-dk);transform:translate(-2px,-5px) scale(1.03)}.set-card--selected:after{content:"✓";position:absolute;top:-11px;right:-11px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;line-height:1;font-size:13px;font-weight:700;color:var(--paper-fixed);background:var(--blue-dk);border:2px solid var(--paper-fixed);border-radius:50%}.set-card:disabled{opacity:.6;cursor:default}.set-card--mini{height:auto;padding:6px 4px;grid-gap:1px;gap:1px;cursor:default}.set-card--mini .set-shape{max-width:30px}.set-card--mini:hover:not(:disabled):not(.set-card--selected){transform:none;box-shadow:3px 3px 0 rgba(29,24,50,.35)}.set-shape{width:100%;max-width:60px;height:auto;display:block}.set-board{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}@media (min-width:460px){.set-board{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){.set-card{transition:none}}.set-app{--bg:#d7f5ef;--panel:#fff;--panel-2:#eafcf7;--ink:#123a34;--muted:#5d8a82;--yellow:#2ec4b6;--yellow-dk:#0e8d80;--coral:#ff8a3d;--coral-dk:#c65f1d;--dot:rgba(18,58,52,0.07);background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.4px,transparent 0);background-size:18px 18px}.set-toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:1100;padding:10px 20px;border:var(--bw) solid var(--ink);border-radius:12px;font-family:var(--font-display);font-weight:400;font-size:1.1rem;box-shadow:4px 4px 0 rgba(29,24,50,.4);animation:set-toast-in .32s var(--pop) both}.set-toast--leaving{animation:set-toast-out .22s cubic-bezier(.4,0,1,1) both}.set-toast--ok{background:var(--yellow);color:var(--ink-fixed)}.set-toast--bad{background:var(--coral);color:var(--paper-fixed)}@keyframes set-toast-in{0%{opacity:0;transform:translate(-50%,-18px) scale(.85)}60%{opacity:1;transform:translate(-50%,2px) scale(1.03)}}@keyframes set-toast-out{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-14px) scale(.9)}}@media (prefers-reduced-motion:reduce){.set-toast,.set-toast--leaving{animation:none}}.set-history{display:flex;flex-direction:column;grid-gap:8px;gap:8px;max-height:260px;overflow-y:auto}.set-history-row{display:flex;align-items:center;justify-content:space-between;grid-gap:10px;gap:10px;padding:6px 0;border-bottom:1px dashed var(--dot)}.set-history-row:last-child{border-bottom:none}.set-history-name{flex:0 0 auto;font-weight:600;color:var(--ink)}.set-history-cards{display:flex;grid-gap:6px;gap:6px}.falka-app{--bg:#ffdd9c;--panel:#fffaf0;--panel-2:#ffeec2;--ink:#3a1608;--muted:#8a5a35;--yellow:var(--crimson);--yellow-dk:var(--crimson-dk);--coral:#f9b637;--coral-dk:#c98a1f;--dot:rgba(58,22,8,0.08);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.4px,transparent 0);background-size:18px 18px}.falka-app .btn:not(.btn-light):not(.btn-ghost){color:#fff}.falka-app .btn-ghost{color:var(--ink-fixed)}.falka-role-badge{margin-top:0}.falka-clock{font-family:var(--font-display);font-weight:400;font-size:.85rem}.falka-evidence{margin:0;padding-left:20px;display:flex;flex-direction:column;grid-gap:8px;gap:8px}.falka-evidence li{font-size:.92rem}.falka-evidence-lead{font-weight:700;color:var(--yellow-dk)}.falka-target-list{display:flex;flex-direction:column;grid-gap:9px;gap:9px;margin:10px 0}.falka-target-btn{display:block;width:100%;padding:12px 16px;border:var(--bw) solid var(--ink-fixed);border-radius:12px;background:var(--paper-fixed);color:var(--ink-fixed);font-size:.95rem;font-weight:700;text-align:left;cursor:pointer;box-shadow:4px 4px 0 rgba(29,24,50,.4);transition:transform .1s ease,box-shadow .1s ease}.falka-target-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(29,24,50,.45)}.falka-target-btn:active{transform:translate(3px,3px);box-shadow:0 0 0 rgba(29,24,50,.45)}.falka-target-btn.selected{background:var(--yellow);color:#fff;box-shadow:4px 4px 0 var(--yellow-dk)}.falka-target-btn--skip{border-style:dashed;opacity:.85}.falka-suspicion-list{display:flex;flex-direction:column;grid-gap:14px;gap:14px}.falka-suspicion-row{display:flex;flex-direction:column;grid-gap:6px;gap:6px}.falka-suspicion-name{font-weight:700}.falka-scale{display:flex;grid-gap:6px;gap:6px}.falka-scale-btn{flex:1 1;padding:8px 0;border:2px solid var(--ink);border-radius:9px;background:var(--panel-2);color:var(--ink);font-weight:700;cursor:pointer;box-shadow:2px 2px 0 rgba(29,24,50,.3);transition:transform .1s ease,box-shadow .1s ease}.falka-scale-btn:hover{transform:translateY(-2px)}.falka-scale-btn.selected{background:var(--yellow);color:#fff;box-shadow:2px 2px 0 var(--yellow-dk)}.falka-row--wolf{background:var(--panel-2);box-shadow:4px 4px 0 var(--yellow-dk)}.president-app{--bg:#eee;--panel:#fff;--panel-2:#e2e2e2;--ink:#141414;--muted:#6e6e6e;--yellow:var(--gold);--yellow-dk:var(--gold-dk);--coral:#2b2b2b;--coral-dk:#000;--teal:#cfcfcf;--teal-dk:#1a1a1a;--dot:rgba(20,20,20,0.08);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.4px,transparent 0);background-size:18px 18px}.president-app .btn:not(.btn-light):not(.btn-ghost){color:var(--ink-fixed)}.president-order{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;grid-gap:6px;gap:6px}.president-order li{display:flex;align-items:center;grid-gap:8px;gap:8px;background:var(--panel-2);border:2px solid var(--ink);border-radius:9px;padding:6px 10px;font-weight:600}.president-order-rank{font-family:var(--font-display);font-weight:400;color:var(--muted)}.president-role-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:var(--panel-2);border:2px solid var(--ink);color:var(--ink)}.president-banner{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:1100;max-width:min(92vw,420px);padding:12px 18px;border:var(--bw) solid var(--ink);border-radius:14px;background:var(--yellow);color:var(--ink-fixed);box-shadow:5px 5px 0 var(--yellow-dk);text-align:center;animation:president-banner-in .32s var(--pop) both}.president-banner-title{margin:0 0 6px;font-family:var(--font-display);font-weight:400;font-size:1rem}.president-banner-roles,.president-history-roles{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:6px 10px;gap:6px 10px;font-size:.85rem;font-weight:600}.president-banner-role{display:inline-flex;align-items:center;grid-gap:5px;gap:5px}@keyframes president-banner-in{0%{opacity:0;transform:translate(-50%,-14px) scale(.9)}}.president-history{display:flex;flex-direction:column;grid-gap:8px;gap:8px;max-height:260px;overflow-y:auto}.president-history-row{display:flex;flex-direction:column;grid-gap:4px;gap:4px;padding:6px 0;border-bottom:1px dashed var(--dot)}.president-history-row:last-child{border-bottom:none}.president-history-roles{justify-content:flex-start}.president-history-round{font-weight:700;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}@media (prefers-reduced-motion:reduce){.president-banner{animation:none}}.dice-die{width:76px;height:76px;flex:0 0 auto;background:var(--paper-fixed);border:var(--bw) solid var(--ink-fixed);border-radius:16px;box-shadow:4px 4px 0 rgba(20,10,40,.4);animation:dice-pop-in .42s var(--pop) both}@media (min-width:460px){.dice-die{width:92px;height:92px}}.dice-die--rolling{animation:dice-tumble .32s linear infinite}.dice-face{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;padding:15%;box-sizing:border-box}.dice-pip{align-self:center;justify-self:center;width:62%;height:62%;border-radius:50%;background:var(--die-accent,var(--ink-fixed));box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}@keyframes dice-pop-in{0%{opacity:0;transform:scale(.4) rotate(-24deg)}60%{opacity:1;transform:scale(1.15) rotate(6deg)}to{transform:scale(1) rotate(0deg)}}@keyframes dice-tumble{0%{transform:rotate(0deg) scale(1)}20%{transform:rotate(-20deg) scale(.92)}40%{transform:rotate(16deg) scale(1.06)}60%{transform:rotate(-12deg) scale(.95)}80%{transform:rotate(18deg) scale(1.04)}to{transform:rotate(0deg) scale(1)}}@media (prefers-reduced-motion:reduce){.dice-die,.dice-die--rolling{animation:none}}.dice-app{--bg:#cfe6ff;--panel:#fff;--panel-2:#e7f2ff;--ink:#12233f;--muted:#56708f;--yellow:var(--navy);--yellow-dk:var(--navy-dk);--coral:#4da6ff;--coral-dk:#1f66c4;--dot:rgba(18,35,63,0.07);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(var(--dot) 1.4px,transparent 0);background-size:18px 18px}.dice-app .btn:not(.btn-light):not(.btn-ghost){color:#fff}.dice-app .card{color:var(--ink)}.player-row-list{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px}.dice-player-chip{display:inline-flex;align-items:center;grid-gap:6px;gap:6px;background:var(--panel-2);border:2px solid var(--ink);border-radius:999px;padding:5px 10px 5px 8px;font-weight:600;font-size:.88rem}.dice-player-chip--offline{opacity:.55}.dice-count-row{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px;margin-bottom:18px}.dice-count-chip{width:42px;height:42px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:400;font-size:1.05rem;background:var(--panel-2);border:var(--bw) solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;transition:transform .12s var(--pop),box-shadow .12s var(--pop),background .12s ease}.dice-count-chip:hover:not(:disabled):not(.dice-count-chip--active){transform:translate(-1px,-2px);box-shadow:5px 5px 0 var(--ink)}.dice-count-chip:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.dice-count-chip--active{background:var(--navy);color:#fff;box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-2px) scale(1.06)}.dice-count-chip:disabled{opacity:.55;cursor:default}.dice-row{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:14px;gap:14px;padding:10px 0 6px}.dice-total{margin:4px 0 18px;text-align:center;font-family:var(--font-display);font-weight:400;font-size:3.4rem;line-height:1;color:var(--navy);animation:dice-total-in .4s var(--pop) both}@keyframes dice-total-in{0%{opacity:0;transform:scale(.7) translateY(6px)}}.dice-roll-btn{font-size:1.15rem;padding:18px;box-shadow:6px 6px 0 var(--navy-dk)}.dice-roll-btn:hover{box-shadow:9px 9px 0 var(--navy-dk)}.dice-roll-btn:active{box-shadow:1px 1px 0 var(--navy-dk)}.dice-roll-btn:disabled{opacity:.75;cursor:default}.dice-rolled-by{text-align:center;margin-top:10px}@media (prefers-reduced-motion:reduce){.dice-total{animation:none}}
/*# sourceMappingURL=main.0906bc92.chunk.css.map */