@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Montserrat Variable", "Montserrat", system-ui, sans-serif;--night:#140d2e;--violet:#2a1a5e;--amethyst:#9b5cff;--amethyst-deep:#5b2bb8;--lilac:#d9c2ff;--gold:#ffc83d;--gold-deep:#c98a00;--teal:#3ee6c4;--teal-deep:#1a9c86;--text:#f6f1ff;--muted:#b3a6d6;--danger:#ff6b8b;--glass:#2a1a5e8c;--glass-edge:#d9c2ff2e;--radius-l:22px;--radius-m:14px;--ease-bounce:cubic-bezier(.3, 1.6, .5, 1)}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100dvh;color:var(--text);font-family:var(--font);background:var(--night);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:500;line-height:1.5;overflow-x:hidden}.sky{z-index:-1;background:radial-gradient(60% 45% at 50% 38%, #9b5cff4d, transparent 70%), radial-gradient(40% 30% at 50% 100%, #3ee6c41f, transparent 70%), conic-gradient(from 200deg at 15% 110%, transparent 0 20deg, #9b5cff1a 20deg 34deg, transparent 34deg), conic-gradient(from 120deg at 85% 110%, transparent 0 18deg, #9b5cff1a 18deg 30deg, transparent 30deg), linear-gradient(180deg, #1b1240 0%, var(--night) 60%);position:fixed;inset:0}main{text-align:center;width:100%;max-width:760px;margin:0 auto;padding:8px 16px 56px}.headline{letter-spacing:-.035em;text-wrap:balance;text-shadow:0 6px 28px #9b5cff8c;max-width:14ch;margin:8px auto 6px;font-size:clamp(34px,7vw,58px);font-weight:900;line-height:1.02}.headline.small{max-width:18ch;font-size:clamp(26px,5vw,36px)}.headline:focus{outline:none}.headline,.lede{z-index:3;position:relative}.lede{max-width:46ch;color:var(--muted);margin:6px auto}.lede strong{color:var(--text);font-weight:700}.lede.strong{color:var(--text);font-size:19px;font-weight:700}.lede.subtle{font-size:15px}code{font-family:var(--font);color:var(--gold);background:#ffc83d1a;border-radius:6px;padding:2px 8px;font-weight:700}.hidden{display:none!important}.step{display:none}.step.active{animation:step-in .45s var(--ease-bounce) both;display:block}@keyframes step-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}.loader{background:linear-gradient(135deg, var(--lilac), var(--amethyst) 50%, var(--amethyst-deep));clip-path:polygon(50% 0,100% 38%,50% 100%,0 38%);width:54px;height:54px;animation:loader-spin 1.4s var(--ease-bounce) infinite;margin:96px auto 18px}@keyframes loader-spin{0%{transform:rotateY(0)translateY(0)}50%{transform:rotateY(180deg)translateY(-10px)}to{transform:rotateY(360deg)translateY(0)}}.particles{pointer-events:none;z-index:50;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:10ms!important;animation-duration:10ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.topbar{justify-content:space-between;align-items:center;gap:12px;max-width:1080px;margin:0 auto;padding:16px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-gem{width:26px;height:26px;fill:var(--amethyst);filter:drop-shadow(0 0 8px #9b5cffcc)}.brand-gem .facet{fill:var(--lilac)}.brand-name{letter-spacing:-.01em;font-size:18px;font-weight:800}.topbar-right{align-items:center;gap:10px;display:flex}.player-chip{background:var(--glass);border:1px solid var(--glass-edge);border-radius:999px;align-items:center;gap:8px;max-width:50vw;padding:4px 14px 4px 4px;font-size:15px;font-weight:700;display:flex}.player-chip .player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-initial{background:linear-gradient(135deg, var(--teal), var(--amethyst));width:30px;height:30px;color:var(--night);border-radius:8px;flex:none;place-items:center;font-weight:900;display:grid}.icon-button{width:42px;height:42px;color:var(--text);cursor:pointer;background:var(--glass);border:1px solid var(--glass-edge);border-radius:12px;place-items:center;padding:0;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.icon-button svg path:first-child{fill:currentColor}.icon-button .sound-off{display:none}.icon-button.muted{color:var(--muted)}.icon-button.muted .sound-on{display:none}.icon-button.muted .sound-off{display:block}.icon-button:focus-visible,.game-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.quest{justify-content:center;margin:4px auto 18px;padding:0;list-style:none;display:flex}.quest li{width:104px;color:var(--muted);flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex;position:relative}.quest li+li:before{content:"";background:#d9c2ff29;border-radius:2px;width:100%;height:4px;position:absolute;top:9px;right:50%}.quest li.done+li:before{background:var(--teal);box-shadow:0 0 10px #3ee6c499}.quest-node{z-index:1;background:var(--violet);border:3px solid #d9c2ff4d;border-radius:7px;width:22px;height:22px;transition:background .3s,border-color .3s,box-shadow .3s;position:relative;transform:rotate(45deg)}.quest li.current{color:var(--text)}.quest li.current .quest-node{background:var(--gold);border-color:#fff3c4;animation:1.6s ease-in-out infinite node-pulse;box-shadow:0 0 0 6px #ffc83d2e,0 0 18px #ffc83db3}.quest li.done{color:var(--teal)}.quest li.done .quest-node{background:var(--teal);border-color:#b9fff1}@keyframes node-pulse{50%{box-shadow:0 0 0 10px #ffc83d00,0 0 24px #ffc83de6}}.game-button{font-family:var(--font);letter-spacing:-.005em;color:#2a1a00;cursor:pointer;background:linear-gradient(180deg, #ffe082, var(--gold));border-radius:var(--radius-m);box-shadow:0 6px 0 var(--gold-deep), 0 10px 24px #ffc83d59;border:0;margin-top:20px;padding:14px 30px 15px;font-size:17px;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-block}.game-button:hover:not(:disabled){filter:brightness(1.06)}.game-button:active:not(:disabled){box-shadow:0 1px 0 var(--gold-deep), 0 4px 12px #ffc83d4d;transform:translateY(5px)}.game-button:disabled{cursor:wait;filter:grayscale(.7)brightness(.7)}.game-button.ghost{color:var(--text);background:var(--glass);box-shadow:0 5px 0 #0a061acc, inset 0 0 0 1px var(--glass-edge)}.game-button.ghost:active:not(:disabled){box-shadow:0 1px 0 #0a061acc, inset 0 0 0 1px var(--glass-edge)}.notice{background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--radius-l);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:520px;margin:48px auto 0;padding:36px 24px 32px}.notice-icon{fill:none;width:56px;height:56px;stroke:var(--danger);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.notice-icon.warn{stroke:var(--gold)}.confirm{width:min(92vw,420px);color:var(--text);font-family:var(--font);border:1px solid var(--glass-edge);border-radius:var(--radius-l);background:linear-gradient(#2f1e66,#1d1342);padding:0;box-shadow:0 30px 80px #0009,0 0 0 1px #9b5cff66}.confirm[open]{animation:pop-in .35s var(--ease-bounce)}.confirm::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a061ab3}.confirm form{text-align:center;padding:28px 24px 26px}.confirm p{margin:0}.confirm-ask{color:var(--muted);font-weight:700}.confirm-name{letter-spacing:-.03em;color:var(--gold);font-size:30px;font-weight:900;line-height:1.1;margin:6px 0 10px!important}.confirm-note{color:var(--muted);font-size:15px}.confirm-buttons{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:4px;display:flex}.confirm-buttons .game-button{flex:140px}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}@media (width<=480px){.brand-name{display:none}.quest li{width:88px}}.video-frame{aspect-ratio:16/9;border-radius:var(--radius-l);box-shadow:0 0 0 1px var(--glass-edge), 0 0 0 6px #9b5cff24, 0 24px 60px #00000080;background:#000;margin-top:22px;position:relative;overflow:hidden}.video-frame iframe{width:100%;height:100%;position:absolute;inset:0}.energy{align-items:center;gap:14px;margin-top:18px;display:flex}.energy-track{border:1px solid var(--glass-edge);background:#0a061a99;border-radius:999px;flex:1;height:16px;padding:3px}.energy-fill{background:repeating-linear-gradient(115deg, #ffffff38 0 8px, transparent 8px 16px), linear-gradient(90deg, var(--teal-deep), var(--teal));background-size:32px 100%,100% 100%;border-radius:999px;width:0;height:100%;transition:width .3s ease-out;animation:.8s linear infinite energy-flow;box-shadow:0 0 14px #3ee6c4b3}.energy-percent{min-width:3.5ch;color:var(--teal);font-variant-numeric:tabular-nums;text-align:right;font-size:20px;font-weight:900}@keyframes energy-flow{to{background-position:32px 0,0 0}}.stage{--u:12px;--charge:0;place-items:center;max-width:520px;height:330px;margin:10px auto 0;display:grid;position:relative}.stage.quake{animation:.3s cubic-bezier(.36,.07,.19,.97) quake}.rays{background:repeating-conic-gradient(#ffc83d42 0 8deg, transparent 8deg 24deg);opacity:0;width:760px;height:760px;transition:opacity .6s, transform .9s var(--ease-bounce);pointer-events:none;margin:-380px 0 0 -380px;position:absolute;top:46%;left:50%;transform:scale(.2);-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 60%);mask-image:radial-gradient(circle,#000 10%,#0000 60%)}.stage.opened .rays{opacity:1;animation:18s linear infinite rays-spin;transform:scale(1)}.geode{width:340px;height:90px;box-shadow:0 0 calc(30px + var(--charge) * 50px) rgba(155, 92, 255, calc(.35 + var(--charge) * .5)), inset 0 6px 0 #d9c2ff40;background:radial-gradient(at 50% 40%,#6a3fd0,#2a1a5e 70%);border-radius:50%;margin-left:-170px;transition:box-shadow .3s;position:absolute;bottom:18px;left:50%}.shard{clip-path:polygon(50% 0,100% 22%,100% 100%,0 100%,0 22%);background:linear-gradient(100deg, var(--lilac), var(--amethyst) 45%, var(--amethyst-deep));width:34px;height:90px;filter:brightness(calc(.75 + var(--charge) * .6));transform-origin:50% 100%;transition:filter .3s;position:absolute;bottom:40px}.shard.s1{height:74px;left:10px;transform:rotate(-28deg)}.shard.s2{width:40px;height:112px;left:42px;transform:rotate(-12deg)}.shard.s3{width:42px;height:124px;right:44px;transform:rotate(14deg)}.shard.s4{height:70px;right:12px;transform:rotate(30deg)}.shard.s5{opacity:.55;width:28px;height:150px;margin-left:-14px;bottom:58px;left:50%}.charge{pointer-events:none;width:270px;height:270px;margin:-150px 0 0 -135px;transition:opacity .4s;position:absolute;top:50%;left:50%;transform:rotate(-90deg)}.charge circle{fill:none;stroke-width:7px}.charge-track{stroke:#d9c2ff24}.charge-fill{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:578;stroke-dashoffset:calc(578 * (1 - var(--charge)));filter:drop-shadow(0 0 6px #ffc83de6);transition:stroke-dashoffset .35s var(--ease-bounce)}.stage.opened .charge{opacity:0}.chest{z-index:2;width:calc(var(--u) * 14);height:calc(var(--u) * 14);cursor:pointer;filter:drop-shadow(0 calc(var(--u) * .8) 0 #0a061a8c);-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin-top:-20px;padding:0;position:relative}.chest:not(.open):not(.hit){animation:2s ease-in-out infinite idle-bob}.chest.open{transition:transform .6s var(--ease-bounce);transform:translateY(34px)scale(.82)}.chest:focus-visible{outline:3px solid var(--gold);outline-offset:12px;border-radius:8px}.chest:disabled{cursor:default}.chest.charging{filter:grayscale(.45) brightness(.75) drop-shadow(0 calc(var(--u) * .8) 0 #0a061a8c);animation:none}.stage.charging .charge-fill{stroke:var(--teal);filter:drop-shadow(0 0 6px #3ee6c4e6);transition:stroke-dashoffset .25s linear}.chest.hit{animation:.32s cubic-bezier(.3,1.8,.5,1) hit}.chest-base,.chest-lid{border:calc(var(--u) / 2) solid #2b1a0b;background:repeating-linear-gradient(180deg, #a5702f 0 calc(var(--u) * 2), #8b5a22 calc(var(--u) * 2) calc(var(--u) * 2.5));position:absolute;left:0;right:0}.chest-base{height:calc(var(--u) * 9);box-shadow:inset var(--u) 0 0 #5d3a14, inset calc(var(--u) * -1) 0 0 #5d3a14, inset 0 calc(var(--u) * -1) 0 #4a2e10;bottom:0}.chest-lid{bottom:calc(var(--u) * 8.5);height:calc(var(--u) * 5.5);transform-origin:0 100%;transition:transform .55s var(--ease-bounce);box-shadow:inset var(--u) 0 0 #5d3a14, inset calc(var(--u) * -1) 0 0 #5d3a14, inset 0 var(--u) 0 #c18a45}.chest-latch{left:50%;bottom:calc(var(--u) * -2.5);width:calc(var(--u) * 2);height:calc(var(--u) * 3.5);margin-left:calc(var(--u) * -1);border:calc(var(--u) / 2) solid #3a3a3a;box-shadow:inset 0 calc(var(--u) * -1) 0 #8e8e8e;background:#d4d4d4;position:absolute}.chest.open .chest-lid{transform:translate(calc(var(--u) * -1), calc(var(--u) * -3)) rotate(-26deg)}.chest-glow{left:50%;bottom:calc(var(--u) * 8);width:calc(var(--u) * 10);height:calc(var(--u) * 2);margin-left:calc(var(--u) * -5);box-shadow:0 0 calc(var(--u) * 4) calc(var(--u) * 2) #ffc83dd9;opacity:0;background:#fff6c8;transition:opacity .4s;position:absolute}.chest.open .chest-glow{opacity:1;animation:1.3s ease-in-out infinite alternate glow-pulse}.combo{z-index:3;pointer-events:none;position:absolute;top:18%;left:50%}.combo span{letter-spacing:-.03em;white-space:nowrap;color:var(--gold);-webkit-text-stroke:1px #6b4300;text-shadow:0 4px #6b4300,0 0 24px #ffc83dcc;font-size:34px;font-weight:900;animation:.9s ease-out forwards combo-pop;position:absolute;top:0;left:0}.flash{z-index:40;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 40%,#fffbe8,#ffc83d99 30%,#0000 70%);position:fixed;inset:0}.flash.go{animation:.7s ease-out flash}@keyframes idle-bob{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-6px)rotate(-1.5deg)}75%{transform:translateY(-6px)rotate(1.5deg)}}@keyframes hit{0%{transform:scale(1.12,.86)rotate(-5deg)}50%{transform:scale(.94,1.08)rotate(4deg)}to{transform:none}}@keyframes quake{20%{transform:translate(-6px,3px)}40%{transform:translate(6px,-3px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(3px,2px)}}@keyframes combo-pop{0%{transform:translate(-50%, 10px) scale(.4) rotate(var(--tilt,-8deg));opacity:0}25%{transform:translate(-50%, -16px) scale(1.15) rotate(var(--tilt,-8deg));opacity:1}to{transform:translate(-50%, -70px) scale(1) rotate(var(--tilt,-8deg));opacity:0}}@keyframes flash{0%{opacity:0}15%{opacity:1}to{opacity:0}}@keyframes rays-spin{to{transform:scale(1)rotate(360deg)}}@keyframes glow-pulse{to{opacity:.65}}@media (width<=520px){.stage{--u:10px;height:290px}.geode{width:280px;margin-left:-140px}.charge{width:230px;height:230px;margin:-128px 0 0 -115px}.rays{width:520px;height:520px;margin:-260px 0 0 -260px}}.cards{perspective:1100px;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:-6px;display:flex}.card{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;--lift:0px;width:200px;height:272px;color:inherit;font:inherit;cursor:pointer;transform-style:preserve-3d;transform:translateY(var(--lift)) rotateX(var(--rx)) rotateY(var(--ry));animation:.9s cubic-bezier(.2,.9,.3,1.15) both deal;animation-delay:calc(var(--i) * .22s);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;transition:transform .18s ease-out,opacity .35s,filter .35s;position:relative}.card:focus-visible{outline:3px solid var(--gold);outline-offset:6px;border-radius:var(--radius-l)}.card.dealt{animation:none}.card.dealt:hover:not(.faded){--lift:-10px}.card.faded{opacity:.28;filter:saturate(.4);pointer-events:none}.card.chosen{--lift:-16px}.card-inner{transform-style:preserve-3d;transition:transform .7s var(--ease-bounce);position:absolute;inset:0}.card.revealed .card-inner{transform:rotateY(180deg)}.card-back,.card-face{border-radius:var(--radius-l);backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.card-back{background:repeating-linear-gradient(45deg,#d9c2ff17 0 2px,#0000 2px 22px),repeating-linear-gradient(-45deg,#d9c2ff17 0 2px,#0000 2px 22px),radial-gradient(circle at 50% 45%,#7c45ea,#3a1f86 60%,#24135a);box-shadow:inset 0 0 0 2px #d9c2ff73,inset 0 0 0 8px #24135ae6,inset 0 0 0 9px #ffc83d80,0 18px 40px #00000073}.card-back:after{content:"";background:radial-gradient(circle at var(--mx) var(--my), #ffffff59, transparent 40%), linear-gradient(115deg, transparent 30%, #3ee6c440 45%, #ffc83d40 55%, transparent 70%);mix-blend-mode:screen;background-size:100% 100%,250% 250%;animation:3.5s linear infinite sheen;position:absolute;inset:0}.card-gem{clip-path:polygon(50% 0,100% 30%,100% 70%,50% 100%,0 70%,0 30%);background:linear-gradient(160deg, #fff6d6, var(--gold) 40%, var(--gold-deep));color:#5a3a00;place-items:center;width:92px;height:110px;font-size:52px;font-weight:900;animation:2.4s ease-in-out infinite gem-float;display:grid;position:relative}.card-face{background:linear-gradient(#34206f,#1c1240);gap:8px;padding:20px 14px;transform:rotateY(180deg);box-shadow:inset 0 0 0 1px #d9c2ff59,0 0 0 2px #9b5cff80,0 0 34px #9b5cff73}.card.chosen .card-face,.card.won .card-face{box-shadow:inset 0 0 0 1px #fff6d699, 0 0 0 3px var(--gold), 0 0 48px #ffc83da6}.item-slot{background:radial-gradient(circle,#ffc83d59,#9b5cff26 60%,#0000 72%);border-radius:50%;place-items:center;width:96px;height:96px;margin-bottom:4px;display:grid}.item-slot img{object-fit:contain;width:68px;height:68px;image-rendering:pixelated;filter:drop-shadow(0 6px 8px #00000080)}.card-name{letter-spacing:-.02em;color:var(--text);font-size:19px;font-weight:800;line-height:1.15}.card-description{color:var(--muted);font-size:14px;line-height:1.35}.card-note{color:var(--teal);background:#3ee6c41f;border-radius:999px;margin-top:2px;padding:3px 10px;font-size:12px;font-weight:700}.won{perspective:900px;justify-content:center;margin:26px 0 18px;display:flex}.card.won{cursor:default;width:240px;height:300px;animation:won-in .9s var(--ease-bounce) both}.card.won .card-face{transform:none}.card.won .card-name{font-size:22px}@keyframes deal{0%{opacity:0;transform:translateY(-260px)scale(.15)rotate(-30deg)}55%{opacity:1}to{opacity:1;transform:none}}@keyframes sheen{0%{background-position:0 0,100% 100%}to{background-position:0 0,0 0}}@keyframes gem-float{50%{transform:translateY(-6px)rotate(3deg)}}@keyframes won-in{0%{opacity:0;transform:scale(.3)rotateY(-180deg)}to{opacity:1;transform:none}}@media (width<=640px){.cards{gap:10px}.card{width:calc(33.333% - 7px);min-width:100px;height:210px}.card-gem{width:58px;height:70px;font-size:32px}.item-slot{width:66px;height:66px}.item-slot img{width:46px;height:46px}.card-face{gap:4px;padding:12px 8px}.card-name{font-size:14px}.card-description{font-size:12px}.card-note{padding:2px 6px;font-size:10px}.card.won{width:230px;height:290px}}
