:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--felt:#1c1530;--felt-2:#261d40;--felt-3:#31274f;--line:#463a6b;--ink:#f4effc;--muted:#a99fc6;--gold:#f4c652;--chips:#4fb3ff;--mult:#ff5d8f;--bad:#ff6b6b;--b0:#ff6b6b;--b1:#ffb547;--b2:#5aa9ff;--b3:#5ad1a3;--stone:#6d6585;--wild:conic-gradient(from 45deg, var(--b0), var(--b1), var(--b2), var(--b3), var(--b0));--display:"Bungee", "Arial Black", Impact, system-ui, sans-serif;--body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--r:10px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--felt);color:var(--ink)}body{font-family:var(--body);background:radial-gradient(120% 60% at 50% 0%, #2c2150 0%, var(--felt) 60%) fixed, var(--felt);min-height:100%;padding-block:12px 32px;padding-inline:16px;font-size:15px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.app{flex-direction:column;gap:12px;max-width:440px;margin:0 auto;display:flex}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.brand{font-family:var(--display);letter-spacing:.02em;color:var(--gold);font-size:22px;line-height:1}.brand small{font-family:var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);vertical-align:middle;margin-left:6px;font-size:11px;font-weight:600}.btns{gap:6px;display:flex}.ghostbtn.lvl{color:var(--ink);font-weight:800}.ghostbtn.lvl.ready{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb, var(--gold) 25%, transparent)}.xpbar{background:var(--felt-3);border-radius:999px;height:10px;overflow:hidden}.xpbar>i{background:linear-gradient(90deg, var(--chips), var(--gold));height:100%;display:block}.tree{gap:14px;display:grid}.branch h3{margin:0 0 6px}.nodes{grid-template-columns:1fr 1fr;gap:6px;display:grid}.node{text-align:left;background:var(--felt-3);border:1px solid var(--line);color:var(--muted);border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;display:flex}.node b{color:var(--ink);font-size:14px}.node .st{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.node.have{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 12%, var(--felt-3))}.node.have .st{color:var(--gold)}.node.can{border-color:var(--chips);cursor:pointer}.node.can .st{color:var(--chips)}.node.locked{opacity:.5}.levelup{background:color-mix(in srgb, var(--gold) 14%, var(--felt-3));border:1px solid var(--gold);border-radius:var(--r);color:var(--ink);padding:10px 12px}.ghostbtn .short{display:none}.ghostbtn{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.ghostbtn:hover{color:var(--ink);border-color:var(--muted)}.hud{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{background:var(--felt-2);border-radius:var(--r);flex-direction:column;gap:2px;min-width:0;padding:8px 10px;display:flex}.lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.num{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:20px;line-height:1.1}.bossbar{background:color-mix(in srgb, var(--bad) 18%, var(--felt-2));border:1px solid color-mix(in srgb, var(--bad) 50%, transparent);border-radius:var(--r);padding:8px 12px;font-size:14px}.bossbar b{color:var(--bad);text-transform:uppercase;letter-spacing:.08em;margin-right:6px;font-size:12px}.target{flex-direction:column;gap:6px;display:flex}.tline{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.big{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:34px;line-height:1}.of{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.of b{font-family:var(--display);color:var(--ink);font-size:18px;font-weight:400}.bar{background:var(--felt-3);border-radius:999px;height:10px;overflow:hidden}#fill{border-radius:inherit;background:linear-gradient(90deg, var(--gold), #ffe08f);width:0;height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1)}.hand{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.chipbox,.multbox{border-radius:var(--r);flex-direction:column;align-items:center;padding:6px 12px;display:flex}.chipbox{background:color-mix(in srgb, var(--chips) 22%, var(--felt-2));border:1px solid color-mix(in srgb, var(--chips) 55%, transparent)}.multbox{background:color-mix(in srgb, var(--mult) 22%, var(--felt-2));border:1px solid color-mix(in srgb, var(--mult) 55%, transparent)}.chipbox .v,.multbox .v{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:26px;line-height:1.1}.chipbox .lbl{color:var(--chips)}.multbox .lbl{color:var(--mult)}.x{font-family:var(--display);color:var(--muted);font-size:22px}.notes{text-align:center;color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;grid-column:1/-1;height:2.9em;font-size:13px;display:-webkit-box;overflow:hidden}.notes .hot{color:var(--gold);font-weight:800}.kick{animation:.35s ease-out kick}@keyframes kick{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.play{flex-direction:column;gap:12px;min-width:0;display:flex}.board-wrap{position:relative}.board{border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;background:#140f24;border-radius:14px;grid-template-columns:repeat(8,1fr);gap:4px;max-width:100%;margin-inline:auto;padding:8px;display:grid}.cell{aspect-ratio:1;background:var(--felt-3);color:#0000006b;border-radius:6px;place-items:center;font-size:clamp(9px,2.6vw,13px);transition:background-color .12s;display:grid;position:relative}.cell.ctr:not(.f){box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--gold) 45%, transparent)}.cell.f{background:var(--c);box-shadow:inset 0 -4px #00000038,inset 0 3px #ffffff47}.cell.f:before{content:var(--g)}.cell.gold{box-shadow:inset 0 0 0 3px var(--gold), inset 0 -4px 0 #00000038, 0 0 8px color-mix(in srgb, var(--gold) 55%, transparent)}.cell.wild{background:var(--wild)}.cell.wild:before{content:"✦";color:#ffffffe6}.cell.stone{background:var(--stone);background-image:repeating-linear-gradient(45deg,#0000002e 0 3px,#0000 3px 7px);box-shadow:inset 0 0 0 2px #00000040}.cell.pv{background:color-mix(in srgb, var(--c) 55%, var(--felt-3));outline:2px solid var(--c);outline-offset:-2px}.cell.bad{outline:2px dashed var(--bad);outline-offset:-3px}.cell.wc{box-shadow:0 0 0 2px var(--gold), 0 0 12px color-mix(in srgb, var(--gold) 60%, transparent)}.cell.wc.fl{box-shadow:0 0 0 3px #fff, 0 0 16px var(--gold)}.cell.pop{animation:.28s ease-in forwards pop}@keyframes pop{0%{filter:brightness(1.8);transform:scale(1)}to{opacity:0;transform:scale(.2)}}.burst{pointer-events:none;text-align:center;white-space:nowrap;z-index:5;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.burst .t{font-family:var(--display);color:var(--gold);text-shadow:0 3px #7a4b00,0 0 24px #f4c65299;font-size:40px;line-height:1}.burst .s{font-family:var(--display);color:var(--ink);text-shadow:0 2px #000;font-size:22px}.burst.go{animation:1s cubic-bezier(.2,1.4,.4,1) forwards burst}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-80%)scale(1)}}.float{font-family:var(--display);color:var(--ink);pointer-events:none;text-shadow:0 2px #000;z-index:4;font-size:22px;animation:.9s ease-out forwards float;position:absolute}@keyframes float{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-48px)}}.tray{grid-template-columns:repeat(3,1fr);gap:8px;min-height:108px;display:grid}.slot{background:var(--felt-2);border-radius:var(--r);touch-action:none;border:1px solid #0000;place-items:center;min-width:0;padding:10px 4px;display:grid;position:relative}.slot.sel{border-color:var(--gold);background:var(--felt-3)}.slot.dim .mini{opacity:.35}.slot.empty{border:1px dashed var(--line);background:0 0}.slot .rot{border:1px solid var(--line);background:var(--felt-3);width:34px;height:34px;color:var(--ink);touch-action:manipulation;border-radius:50%;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;bottom:4px;left:4px}.slot .rot:hover{border-color:var(--gold);color:var(--gold)}.slot .tag{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:10px;font-weight:800;position:absolute;top:4px;right:6px}.mini{gap:3px;display:grid}.mini i{border-radius:4px;width:15px;height:15px;display:block}.mini i.f,.ghost i.f{background:var(--c);box-shadow:inset 0 -2px #00000038}.mini i.gold,.ghost i.gold{box-shadow:inset 0 0 0 2px var(--gold)}.mini i.wild,.ghost i.wild{background:var(--wild)}.mini i.bomb,.ghost i.bomb{box-shadow:inset 0 0 0 2px var(--bad);background:#2b2140}.ghost{z-index:50;pointer-events:none;filter:drop-shadow(0 8px 12px #00000080);display:grid;position:fixed}.ghost i{border-radius:6px;display:block}.hint{color:var(--muted);text-align:center;text-wrap:balance;margin:0;font-size:13px}.hint b{color:var(--ink)}.charms h2{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:11px;font-weight:600}.charm-list{flex-wrap:wrap;gap:6px;display:flex}.charm{background:var(--felt-2);border:1px solid var(--line);border-radius:8px;max-width:100%;padding:6px 10px;font-size:13px}.charm b{color:var(--gold);font-weight:800}.charm span{color:var(--muted)}.none{color:var(--muted);font-size:13px}.modal{z-index:60;background:#0c0816cc;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet{background:var(--felt-2);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:420px;margin-block:auto;padding:20px 18px;display:flex}.sheet h2{font-family:var(--display);color:var(--gold);text-wrap:balance;margin:0;font-size:26px;font-weight:400;line-height:1.1}.sheet h3{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.sheet p{color:var(--muted);margin:0}.sheet p b{color:var(--ink)}.cards{gap:8px;display:grid}.card{text-align:left;background:var(--felt-3);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.card:hover{border-color:var(--gold)}.card .txt{flex-direction:column;gap:2px;min-width:0;display:flex}.card b{color:var(--gold);font-size:16px;font-weight:800}.card span{color:var(--ink);font-size:14px}.card .mini i{width:12px;height:12px}.deckgrid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;display:grid}.dk{background:var(--felt-3);border:1px solid var(--line);border-radius:10px;place-items:center;min-height:76px;padding:8px;display:grid;position:relative}button.dk:hover{border-color:var(--gold)}.dk .mini i{width:12px;height:12px}.dk .tag{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:9px;font-weight:800;position:absolute;bottom:3px;right:6px}.primary{background:var(--gold);color:#2a1d00;border:0;border-radius:999px;padding:12px 18px;font-size:16px;font-weight:800}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.statgrid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.statgrid div{background:var(--felt-3);border-radius:10px;padding:8px 10px}.statgrid .num{font-size:18px}textarea.copy{background:var(--felt);width:100%;min-height:96px;color:var(--ink);border:1px solid var(--line);font:13px/1.4 var(--body);resize:vertical;border-radius:8px;padding:8px}.legend{grid-template-columns:auto 1fr;gap:6px 10px;font-size:14px;display:grid}.legend dt{color:var(--gold);font-weight:800}.legend dd{color:var(--ink);margin:0}.toggle{background:var(--felt-3);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--gold);flex:none;margin:2px 0 0}.toggle b{color:var(--gold)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=480px){.top{flex-wrap:nowrap}.brand{white-space:nowrap;font-size:18px}.brand small{display:none}.btns{gap:4px}.btns .ghostbtn{white-space:nowrap;padding:5px 9px;font-size:12px}.ghostbtn .long{display:none}.ghostbtn .short{display:inline}}@media (width<=380px){.brand{font-size:16px}.btns .ghostbtn{padding:4px 7px;font-size:11.5px}}@media (height<=780px){.app,.play{gap:8px}.stat{padding:5px 10px}.num{font-size:18px}.big{font-size:28px}.chipbox .v,.multbox .v{font-size:22px}.tray{min-height:96px}}@media (width>=760px) and (orientation:landscape){.app{grid-template-rows:repeat(7,auto) 1fr;grid-template-columns:minmax(0,1fr) 320px;align-items:start;column-gap:28px;max-width:1040px;display:grid}.app>*{grid-column:2}.app>.play{grid-area:1/1/-1}.play .tray{width:var(--board-w,100%);margin-inline:auto}.hint{text-align:left}}.mini.spin,.ghost.spin{animation:.18s cubic-bezier(.2,.8,.3,1) spin90}@keyframes spin90{0%{transform:rotate(-90deg)}to{transform:none}}.slot.deal .mini{animation:.32s cubic-bezier(.3,1.6,.5,1) both deal;animation-delay:inherit}@keyframes deal{0%{opacity:0;transform:translateY(18px)scale(.6)}to{opacity:1;transform:none}}.spark{background:var(--c);pointer-events:none;z-index:6;border-radius:2px;width:12px;height:12px;animation:.65s cubic-bezier(.2,.7,.3,1) forwards spark;position:absolute;transform:translate(-50%,-50%)}@keyframes spark{to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(200deg) scale(.4);opacity:0}}.shake{animation:.28s ease-out shake}.shake-big{animation:.42s ease-out shake-big}@keyframes shake{0%,to{transform:none}25%{transform:translate(-3px,1px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-2px)}}@keyframes shake-big{0%,to{transform:none}15%{transform:translate(-7px,3px)rotate(-.6deg)}35%{transform:translate(6px,-3px)rotate(.5deg)}55%{transform:translate(-4px,2px)}75%{transform:translate(3px,-1px)}}
