@font-face{font-family:Ruslan Display;font-style:normal;font-display:swap;font-weight:400;src:url(./ruslan-display-cyrillic-400-normal-CrNaAs1F.woff2)format("woff2"),url(./ruslan-display-cyrillic-400-normal-EbEJim7_.woff)format("woff")}@font-face{font-family:Ruslan Display;font-style:normal;font-display:swap;font-weight:400;src:url(./ruslan-display-latin-400-normal-Bw2GNpT4.woff2)format("woff2"),url(./ruslan-display-latin-400-normal--TcDHj-M.woff)format("woff")}@font-face{font-family:Underdog;font-style:normal;font-display:swap;font-weight:400;src:url(./underdog-cyrillic-400-normal-SeswEYf1.woff2)format("woff2"),url(./underdog-cyrillic-400-normal-BmmVkR2i.woff)format("woff")}@font-face{font-family:Underdog;font-style:normal;font-display:swap;font-weight:400;src:url(./underdog-latin-400-normal-CqWUjXX5.woff2)format("woff2"),url(./underdog-latin-400-normal-DTBodRoH.woff)format("woff")}:root{--bg:#140b0d;--ink:#1a0e10;--line:#4a2f28;--cream:#f1e4c8;--muted:#a8917a;--red:#d63c3c;--gold:#f3c44e;--blue:#7cc3e0;--panel:linear-gradient(#2a181c, #201215);--panel-shadow:inset 0 0 0 2px #120a0b, inset 0 0 0 4px var(--line);--font-display:"Ruslan Display", Georgia, serif;--font-ui:"Underdog", "Trebuchet MS", system-ui, sans-serif;--outline:0 3px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink), 0 -1.5px 0 var(--ink), 2px 2px 0 var(--ink), -2px 2px 0 var(--ink);--vh:var(--app-height,100dvh);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports not (height:100dvh){:root{--vh:var(--app-height,100vh)}}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{background:radial-gradient(90% 55% at 50% 50%, #821e2652, transparent 70%), radial-gradient(120% 80% at 50% -10%, #2c1317 0%, transparent 60%), var(--bg);color:var(--cream);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;overscroll-behavior:none}body:before,body:after{content:"";pointer-events:none;z-index:0;position:fixed;top:0;bottom:0;left:0;right:0}body:before{background:radial-gradient(120% 90%,#0000 55%,#000000a6)}body:after{opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .85 0 0 0 0 .7 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#app{z-index:1;height:var(--vh);position:relative}.crown{-webkit-user-drag:none;height:auto;display:block}.crown--lamb{filter:drop-shadow(0 0 5px #ec3e52b3)}.crown--goat{filter:drop-shadow(0 0 5px #a846ebbf)}.crown-field{z-index:0;pointer-events:none;transition:opacity .4s;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.crown-field.is-hidden{opacity:0}.crown-field__crown{will-change:transform;transition:opacity .6s;position:absolute;top:0;left:0}.crown-field__crown .crown{transform-origin:44% 75%;width:100%;transition:opacity .35s,transform .45s cubic-bezier(.34,1.56,.64,1)}.crown-field__mood{opacity:0;position:absolute;top:0;left:0}.crown-field__crown.is-mood .crown-field__base{opacity:0}.crown-field__crown.is-mood .crown-field__mood{opacity:1}.crown-field__crown.is-mood .crown{transform:scale(1.15)}.crown-field__crown.is-idle{opacity:.75}.picker{grid-template-columns:1fr 1fr;gap:12px;width:min(100%,340px);display:grid}.picker__card{color:var(--cream);background:var(--panel);border:2px solid var(--line);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:8px 8px 10px;transition:transform 80ms,box-shadow 80ms,border-color .2s,opacity .2s;display:flex;box-shadow:0 4px #0d0708}.picker__card:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0d0708}.picker__card:disabled{cursor:default}.picker__card.is-mine{border-color:var(--gold);box-shadow:0 4px #0d0708,0 0 18px #f3c44e38}.picker__card.is-theirs,.picker.is-locked .picker__card:not(.is-mine){opacity:.55}.picker__art{width:100%;height:92px;position:relative;overflow:hidden}.picker__art .crown{width:108px;position:absolute;bottom:-4px;left:50%;transform:translate(-44%)}.picker__mark{border:2px solid var(--line);background:#170c0e;border-radius:50%;place-items:center;width:26px;height:26px;transition:background .2s,border-color .2s;display:grid}.picker__mark svg{fill:none;stroke:#0000;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.picker__card.is-mine .picker__mark{background:var(--gold);border-color:var(--gold);animation:.3s ease-out mark-pop}.picker__card.is-mine .picker__mark svg{stroke:var(--ink)}.picker__card.is-theirs .picker__mark{border-color:var(--muted)}.picker__card.is-theirs .picker__mark svg{stroke:var(--muted)}.picker__name{font-family:var(--font-display);font-size:18px}.picker__card--lamb .picker__name{color:#ff7d88}.picker__card--goat .picker__name{color:#c99bff}.picker__note{max-width:100%;min-height:1.2em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.2;overflow:hidden}.picker__card.is-mine .picker__note{color:var(--gold)}@keyframes mark-pop{50%{transform:scale(1.25)}}.fx-layer{pointer-events:none;z-index:50;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.screen{height:var(--vh);flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}button{font:inherit}.btn{width:100%;color:var(--cream);cursor:pointer;background:#2a171a;border:2px solid #5b3a30;border-radius:14px;padding:13px 18px;font-size:19px;transition:transform 80ms,box-shadow 80ms,border-color .2s;position:relative;box-shadow:0 4px #0d0708}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #0d0708}.btn--primary{background:linear-gradient(#c43b3b,#9a292e);border-color:#e0604f;box-shadow:0 4px #5a1418,0 10px 22px #9a292e59}.btn--primary:active:not(:disabled){box-shadow:0 1px #5a1418}.btn--ghost{box-shadow:none;color:var(--muted);background:0 0;border-color:#0000}.btn:disabled{opacity:.55;cursor:default}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.icon-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.opponent:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.badge{vertical-align:middle;color:var(--gold);background:var(--line);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:12px}.icon-btn{width:40px;height:40px;color:var(--cream);border:2px solid var(--line);cursor:pointer;background:#2a171ad9;border-radius:12px;place-items:center;padding:0;display:grid}.icon-btn svg{fill:currentColor;width:22px;height:22px}svg .stroke{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.die{--fill:#efe0c2;--side:#a68a68;--pip:#2b1517;aspect-ratio:112/122;width:100%;position:relative}.die__svg{width:100%;height:100%;display:block;overflow:visible}.die__body,.die__side{stroke:var(--ink);stroke-width:6px;stroke-linejoin:round;transition:fill .25s}.die__body{fill:var(--fill)}.die__side{fill:var(--side)}.die__shine{fill:none;stroke:#ffffff8c;stroke-width:5px;stroke-linecap:round}.die__pips{fill:var(--pip);transition:fill .25s}.die--x2{--fill:#f3c44e;--side:#b0801f}.die--x3{--fill:#7cc3e0;--side:#3b7f9e}.die--threat{animation:.9s ease-in-out infinite threat}@keyframes threat{50%{filter:drop-shadow(0 0 7px #ff4632f2);transform:rotate(-3deg)}}.die--burning{--fill:#5e2420;--side:#2e1110;--pip:#ff9a3c;filter:drop-shadow(0 0 10px #ff6e28e6)}.fly-layer{z-index:40;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.die--flying{filter:drop-shadow(0 12px 10px #00000073);position:fixed}.candle-wrap,.tray__candle{position:relative}.candle-wrap:before,.tray__candle:before{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#ffaa4652,#ff6e281a 35%,#0000 65%);width:320%;animation:2.4s ease-in-out infinite alternate glow;position:absolute;top:20%;left:50%;transform:translate(-50%,-50%)}@keyframes glow{to{opacity:.7;transform:translate(-50%,-50%)scale(.92)}}.candle{width:100%;height:auto;display:block;position:relative;overflow:visible}.candle__wax{fill:#e9dcc0;stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round}.candle__drip{fill:#f8efdc}.candle__wick{stroke:#2a1a14;stroke-width:2.5px;stroke-linecap:round}.candle__flame{fill:#ffa63a;transform-origin:20px 37px;animation:1.3s ease-in-out infinite alternate flicker}.candle__core{fill:#fff3c4;transform-origin:20px 34px;animation:.9s ease-in-out infinite alternate-reverse flicker}@keyframes flicker{0%{transform:scale(1)skew(0)}30%{transform:scale(.93,1.07)skew(3deg)}60%{transform:scale(1.05,.95)skew(-2deg)}to{transform:scale(.97,1.08)skew(1deg)}}.portrait{width:100%;height:100%;display:block}.portrait--easy{--robe:#6b5240;--eye:#f6e27a}.portrait--medium{--robe:#2f4f4c;--eye:#ffb347}.portrait--hard{--robe:#74202a;--eye:#ff4a3d}.p-hood{fill:var(--robe);stroke:var(--ink);stroke-width:3px}.p-fold{fill:none;stroke:#00000059;stroke-width:2.5px;stroke-linecap:round}.p-face{fill:#0a0506}.p-eye{fill:var(--eye);filter:drop-shadow(0 0 3px var(--eye));transform-box:fill-box;transform-origin:50%;animation:5s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.p-line{fill:none;stroke:#c9a46a;stroke-width:3px;stroke-linecap:round}.p-bead{fill:#c9a46a;stroke:var(--ink);stroke-width:1.5px}.p-hat{fill:#1f3533;stroke:var(--ink);stroke-width:3px;stroke-linejoin:round}.p-amulet{fill:var(--cream);stroke:var(--ink);stroke-width:2px}.p-amulet-pip{fill:var(--ink)}.p-horn{fill:#e8dcc0;stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round}.menu{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));justify-content:safe center;gap:22px;overflow-y:auto}.menu__sound{top:max(12px, env(safe-area-inset-top));z-index:2;position:absolute;right:12px}.menu__hero{text-align:center}.menu--compact .menu__candles,.menu--compact .menu__subtitle{display:none}.menu--compact .menu__title{margin-top:0}.menu__crown{filter:drop-shadow(0 0 6px #c8323abf);-webkit-user-drag:none;width:64px;height:auto;margin:0 auto 4px;display:block}.menu__candles{justify-content:center;align-items:flex-end;gap:22px;display:flex}.menu__candles>.candle-wrap{width:30px}.menu__dice{align-items:flex-end;gap:10px;display:flex}.menu__dice .die{width:54px}.menu__dice .die:nth-child(2){width:64px}.menu__title{font-family:var(--font-display);color:var(--red);text-shadow:0 4px 0 var(--ink), 0 0 26px #d63c3c59;margin:18px 0 0;font-size:clamp(32px,10.5vw,54px);font-weight:400;line-height:1}.menu__subtitle{letter-spacing:.08em;color:var(--muted);margin:8px 0 0;font-size:17px}.menu__panel{flex-direction:column;gap:12px;width:min(100%,360px);display:flex}.menu__greeting{text-align:center;margin:0 0 4px;font-size:18px}.menu__buttons,.menu__opponents{gap:12px;display:grid}.menu__heading{text-align:center;font-family:var(--font-display);margin:0;font-size:22px;font-weight:400}.opponent{text-align:left;color:var(--cream);background:var(--panel);border:2px solid var(--line);cursor:pointer;border-radius:16px;align-items:center;gap:14px;padding:12px 14px;transition:transform 80ms,box-shadow 80ms,border-color .2s;display:flex;box-shadow:0 4px #0d0708}.opponent:hover{border-color:#7a4c3e}.opponent:active{transform:translateY(3px);box-shadow:0 1px #0d0708}.opponent__portrait{border:2px solid var(--line);background:#170c0e;border-radius:50%;flex:none;width:58px;height:58px;overflow:hidden}.opponent__name{font-family:var(--font-display);font-size:19px}.opponent__level{font-size:13px}.opponent--easy .opponent__level{color:#b9d77a}.opponent--medium .opponent__level{color:var(--gold)}.opponent--hard .opponent__level{color:#ff6b5b}.opponent__blurb{color:var(--muted);font-size:14px}.opponent__stats{color:var(--muted);opacity:.85;margin-top:4px;font-size:12px}.rules{background:#00000047;border-radius:14px;margin:0;padding:14px 16px 14px 34px;font-size:16px;line-height:1.45}.rules li+li{margin-top:8px}.rules b{color:var(--gold);font-weight:400}.game{--cell:clamp(40px, min(calc((100vw - 76px) / 3), calc((var(--vh) - 262px) / 7)), 96px);--gap:calc(var(--cell) * .09);--board-w:calc(var(--cell) * 3 + var(--gap) * 2 + 24px);padding:max(8px, env(safe-area-inset-top)) 12px max(8px, env(safe-area-inset-bottom));justify-content:safe center;overflow-y:auto}.table{flex-direction:column;align-items:center;gap:6px;display:flex}.game__exit{top:max(10px, env(safe-area-inset-top));z-index:5;position:absolute;left:12px}.seat{width:min(100%, max(var(--board-w), 300px));align-items:center;gap:10px;height:48px;display:flex}.avatar{border:2px solid var(--line);background:#241316;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;transition:border-color .3s,box-shadow .3s;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar__letter{color:var(--cream);font-size:22px}.seat.is-turn .avatar{border-color:var(--gold);box-shadow:0 0 0 3px #f3c44e38,0 0 18px #f3c44e73}.avatar.is-hurt{border-color:var(--red);box-shadow:0 0 18px #d63c3cb3}.avatar.is-thinking .p-eye{animation:.9s ease-in-out infinite think}@keyframes think{50%{opacity:.3}}.seat__info{flex:1;min-width:0}.seat__name{white-space:nowrap;text-overflow:ellipsis;font-size:17px;overflow:hidden}.seat__status{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:13px;transition:color .3s;overflow:hidden}.seat.is-turn .seat__status{color:var(--gold)}.seat__total{text-align:right;min-width:2ch;text-shadow:var(--outline);font-size:34px;line-height:1}.board{grid-template-columns:repeat(3, var(--cell));gap:var(--gap);background:var(--panel);box-shadow:var(--panel-shadow), inset 0 10px 24px #00000080, 0 7px 0 #0d0708, 0 14px 28px #00000073;border-radius:18px;padding:12px;display:grid;position:relative}.board:before{content:"";pointer-events:none;border:1px dashed #f1e4c817;border-radius:13px;position:absolute;top:6px;bottom:6px;left:6px;right:6px}.column{gap:var(--gap);border-radius:12px;flex-direction:column;transition:background .2s,box-shadow .2s;display:flex}.board--opp .column{flex-direction:column-reverse}.column.is-active{cursor:pointer;animation:1.6s ease-in-out infinite column-pulse;box-shadow:0 0 0 2px #f3c44e8c,0 0 16px #f3c44e38}.column.is-active:hover,.column.is-active:active{background:#f3c44e17}.column.is-picked{background:#d63c3c1a;box-shadow:0 0 0 2px #d63c3cd9,0 0 18px #d63c3c66}@keyframes column-pulse{50%{box-shadow:0 0 0 2px #f3c44ee6,0 0 24px #f3c44e59}}.cell{width:var(--cell);height:var(--cell);background:#0000003d;border-radius:12px;place-items:center;display:grid;box-shadow:inset 0 2px 6px #0000008c,inset 0 0 0 1.5px #f1e4c80f}.cell>.die{width:82%}.col-scores{grid-template-columns:repeat(3, var(--cell));gap:var(--gap);align-items:center;height:24px;display:grid}.col-score{text-align:center;color:var(--cream);text-shadow:var(--outline);font-size:22px;line-height:1}.col-score.is-zero{color:var(--muted);opacity:.6}.flash-up{animation:.8s ease-out flash-up}.flash-down{animation:.8s ease-out flash-down}@keyframes flash-up{0%{color:var(--gold);text-shadow:0 0 14px #f3c44ee6}}@keyframes flash-down{0%{color:var(--red);text-shadow:0 0 14px #d63c3ce6}}.tray{justify-content:center;align-items:center;gap:calc(var(--cell) * .7);height:var(--cell);display:flex;position:relative}.tray__candle{width:calc(var(--cell) * .32)}.tray__slot{width:calc(var(--cell) * .8);place-items:center;display:grid;position:relative}.tray__sigil{width:calc(var(--cell) * 2.9);aspect-ratio:1;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scaleY(.46)}.sigil{fill:none;stroke:#8a2630;stroke-width:2.2px;opacity:.55;width:100%;height:100%;animation:90s linear infinite sigil-spin;display:block}.tray__sigil.is-flash .sigil{animation:90s linear infinite sigil-spin,.9s ease-out sigil-flash}@keyframes sigil-spin{to{transform:rotate(360deg)}}@keyframes sigil-flash{0%{stroke:#ff7a3c;opacity:1;filter:drop-shadow(0 0 6px #ff6a2a)}}.tray__slot:before{content:"";background:radial-gradient(#0009,#0000 70%);border-radius:50%;height:30%;position:absolute;bottom:-10%;left:-15%;right:-15%}.banner{z-index:30;pointer-events:none;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.banner span{font-family:var(--font-display);text-align:center;box-shadow:var(--panel-shadow), 0 12px 30px #0009;background:#140b0deb;border-radius:14px;padding:12px 22px;font-size:clamp(20px,6vw,28px)}.result-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080405b8;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.result-crown{pointer-events:none;flex:1 1 0;justify-content:center;width:100%;min-height:0;display:flex}.result-crown--top{align-items:flex-end}.result-crown--bottom{align-items:flex-start}.result-crown .crown{opacity:0;width:auto;height:100%;max-height:210px;transition:opacity .5s,transform .6s cubic-bezier(.34,1.56,.64,1);transform:translate(6%)scale(.6)}.result-crown .crown.is-ready{opacity:1;transform:translate(6%)}.result{text-align:center;background:var(--panel);width:min(100%,340px);box-shadow:var(--panel-shadow), 0 20px 50px #0009;border-radius:20px;flex:none;padding:26px 22px 22px}.result__title{font-family:var(--font-display);text-shadow:0 4px 0 var(--ink);margin:0;font-size:40px;font-weight:400}.result--win .result__title{color:var(--gold)}.result--loss .result__title{color:var(--red)}.result__subtitle{color:var(--muted);margin:8px 0 14px}.result__score{text-shadow:var(--outline);justify-content:center;gap:14px;margin-bottom:22px;font-size:50px;line-height:1;display:flex}.result__sep{color:var(--muted)}.result__buttons{gap:10px;display:grid}@media (prefers-reduced-motion:reduce){.candle__flame,.candle__core,.column.is-active,.die--threat,.candle-wrap:before,.tray__candle:before,.sigil{animation:none}}.lobby{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));text-align:center;justify-content:center;gap:14px}.lobby__candles{justify-content:center;gap:120px;display:flex}.lobby__candles>.candle-wrap{width:26px}.lobby__title{font-family:var(--font-display);color:var(--cream);text-shadow:0 3px 0 var(--ink);margin:0;font-size:clamp(22px,7vw,30px);font-weight:400}.lobby__hint{max-width:320px;color:var(--muted);margin:0;font-size:15px;line-height:1.4}.lobby__status{min-height:1.4em;color:var(--gold);margin:0;font-size:17px}.lobby__status.is-waiting:after{content:"";text-align:left;width:1.2em;animation:1.5s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.lobby__buttons{gap:12px;width:min(100%,340px);margin-top:6px;display:grid}.room-code{justify-content:center;gap:8px;display:flex}.room-code span{width:50px;height:60px;color:var(--cream);text-shadow:var(--outline);background:var(--panel);box-shadow:var(--panel-shadow), 0 5px 0 #0d0708;border-radius:12px;place-items:center;font-size:36px;line-height:1;display:grid}.code-input{width:min(100%,300px);font:inherit;letter-spacing:.35em;text-indent:.35em;text-align:center;text-transform:uppercase;color:var(--cream);border:2px solid var(--line);-webkit-user-select:text;user-select:text;background:#0000004d;border-radius:14px;outline:none;margin:0 auto;padding:12px 10px;font-size:34px}.code-input:focus{border-color:var(--gold)}.code-input::placeholder{color:#f1e4c840}.code-error{text-align:center;color:#ff7a6b;min-height:1.2em;margin:0;font-size:14px}.toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:70;white-space:nowrap;box-shadow:var(--panel-shadow), 0 10px 24px #00000080;background:#140b0df2;border-radius:12px;padding:10px 18px;font-size:16px;transition:opacity .4s;animation:.25s ease-out toast-in;position:fixed;transform:translate(-50%)}.toast.is-hiding{opacity:0}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.notice{top:max(8px, env(safe-area-inset-top));z-index:35;color:var(--gold);white-space:nowrap;box-shadow:var(--panel-shadow);opacity:0;pointer-events:none;background:#140b0df2;border-radius:10px;padding:8px 14px;font-size:14px;transition:opacity .3s,transform .3s;position:absolute;left:50%;transform:translate(-50%,-12px)}.notice.is-visible{opacity:1;transform:translate(-50%)}.seat.is-offline .avatar{filter:grayscale();opacity:.55}.seat.is-offline .seat__status{color:#ff7a6b}
