@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:wght@400;600;700;800&display=swap";:root{--bg-0: #241d28;--bg-1: #2f2632;--bg-2: #3a2f3a;--paper: #f6ecd9;--paper-soft: #efe2c9;--ink: #3a2b25;--felt-0: #34594f;--felt-1: #416e60;--felt-2: #4f8273;--amber: #ecb45e;--amber-deep: #c98a36;--rose: #e3a0a0;--rose-deep: #c97f7f;--sage: #9ec4a8;--pos: #7fcaa0;--neg: #e58b86;--neutral: #b8a68f;--fur: #f0d8b4;--fur-line: #b98a5e;--card-w: 84px;--card-h: 118px;--radius: 20px;--shadow: 0 14px 34px rgba(20, 12, 18, .45);--shadow-soft: 0 8px 20px rgba(20, 12, 18, .28);font-synthesis:none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--paper);background:radial-gradient(90% 60% at 18% 8%,rgba(236,180,94,.16),transparent 55%),radial-gradient(80% 60% at 85% 12%,rgba(227,160,160,.14),transparent 55%),radial-gradient(120% 90% at 50% 115%,#1c1620,transparent 60%),linear-gradient(180deg,var(--bg-1),var(--bg-0));background-attachment:fixed;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3,.brand,.btn,.choice,.num,.mode-tag{font-family:"Baloo 2",Nunito,sans-serif}.app{max-width:900px;margin:0 auto;padding:14px clamp(12px,4vw,28px) 60px;min-height:100%;position:relative;z-index:1}.lantern{position:fixed;top:-28px;width:64px;height:84px;border-radius:0 0 40px 40px/0 0 30px 30px;background:radial-gradient(60% 60% at 50% 40%,#ffd98a,var(--rose-deep));box-shadow:0 0 60px 18px #ecb45e40;opacity:.5;z-index:0;animation:sway 6s ease-in-out infinite}.lantern:before{content:"";position:absolute;top:-16px;left:50%;width:2px;height:16px;background:#ffffff40;transform:translate(-50%)}.lantern.l{left:6%}.lantern.r{right:6%;animation-delay:-3s;width:52px;height:70px}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 0 16px}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:22px;cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.3px}.brand .fin{color:var(--amber)}.brand .mini-cat{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.stat-pills{display:flex;gap:8px;align-items:center}.pill{background:#00000038;border:1px solid rgba(236,180,94,.28);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800;display:flex;gap:6px;align-items:center;color:var(--paper)}.pill .ic{color:var(--amber)}.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(236,180,94,.28);background:#00000038;color:var(--paper);font-size:18px;cursor:pointer;display:grid;place-items:center;transition:transform .1s,background .15s}.icon-btn:hover{background:#ecb45e29}.icon-btn:active{transform:scale(.92)}.icon-btn.active{background:#ecb45e38;border-color:var(--amber);box-shadow:0 0 12px #ecb45e66}.btn{border:none;border-radius:16px;padding:14px 22px;font-size:16px;font-weight:800;font-family:"Baloo 2",sans-serif;cursor:pointer;transition:transform .08s ease,filter .15s ease;color:#4a3417;background:linear-gradient(180deg,#f6cd7e,var(--amber-deep));box-shadow:0 6px #9c6a26,var(--shadow-soft)}.btn:hover{filter:brightness(1.04)}.btn:active{transform:translateY(3px);box-shadow:0 3px #9c6a26}.btn:disabled{opacity:.5;cursor:default;box-shadow:0 6px #9c6a26}.btn.rose{background:linear-gradient(180deg,#f0b3b3,var(--rose-deep));box-shadow:0 6px #9c5757,var(--shadow-soft);color:#4a2424}.btn.rose:active{box-shadow:0 3px #9c5757}.btn.ghost{background:#ffffff0f;color:var(--paper);border:1px solid rgba(246,236,217,.22);box-shadow:none}.btn.ghost:active{transform:translateY(2px)}.btn.full{width:100%}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.hero{text-align:center;padding:10px 0 22px;position:relative}.hero .hero-cat{display:flex;justify-content:center;margin-bottom:4px}.hero h1{font-size:clamp(30px,8vw,48px);margin:4px 0 8px;letter-spacing:-.5px}.hero h1 .accent{color:var(--amber)}.hero p{color:#f6ecd9b8;margin:0 auto;max-width:460px;line-height:1.55}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(244px,1fr));gap:14px}.level-card{position:relative;background:linear-gradient(180deg,#ffffff0d,#0000002e);border:1px solid rgba(246,236,217,.1);border-radius:var(--radius);padding:18px;cursor:pointer;transition:transform .14s ease,border-color .15s,box-shadow .15s;overflow:hidden}.level-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:radial-gradient(80% 50% at 80% 0%,rgba(236,180,94,.12),transparent 60%);pointer-events:none}.level-card:hover:not(.locked){transform:translateY(-4px);border-color:#ecb45e8c;box-shadow:var(--shadow-soft)}.level-card.locked{opacity:.48;cursor:not-allowed}.level-card .num{font-size:12px;font-weight:800;color:var(--amber);letter-spacing:1.2px;text-transform:uppercase}.level-card h3{margin:6px 0;font-size:20px}.level-card .blurb{font-size:13px;color:#f6ecd9ad;line-height:1.5;min-height:56px}.level-card .mode-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:4px 10px;border-radius:999px;background:#e3a0a029;color:var(--rose);margin-top:10px}.level-card .lock-ic{position:absolute;top:16px;right:16px;font-size:18px}.stars{display:flex;gap:3px;margin-top:12px;font-size:16px}.star{color:#f6ecd92e}.star.on{color:var(--amber);text-shadow:0 0 10px rgba(236,180,94,.55)}.felt{background:radial-gradient(80% 60% at 50% 24%,var(--felt-2),var(--felt-0));border:6px solid #5a3f2c;outline:1px solid rgba(236,180,94,.25);border-radius:26px;padding:clamp(18px,5vw,32px);box-shadow:inset 0 2px 36px #00000059,var(--shadow);position:relative}.felt:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:18px;border:1px dashed rgba(246,236,217,.16);pointer-events:none}.card{width:var(--card-w);height:var(--card-h);border-radius:13px;background:linear-gradient(165deg,#fffdf7,#f3ead8);color:var(--ink);position:relative;box-shadow:var(--shadow-soft);display:inline-flex;flex-direction:column;justify-content:space-between;padding:8px 9px;font-weight:800;-webkit-user-select:none;user-select:none;border:1px solid rgba(0,0,0,.06)}.card.red{color:#d36a72}.card .corner{font-size:19px;line-height:1}.card .corner.br{align-self:flex-end;transform:rotate(180deg)}.card .pip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:38px}.card.back{background:radial-gradient(circle at 30% 32%,rgba(255,255,255,.5) 0 4px,transparent 5px),radial-gradient(circle at 70% 32%,rgba(255,255,255,.5) 0 4px,transparent 5px),radial-gradient(circle at 50% 50%,rgba(255,255,255,.55) 0 6px,transparent 7px),radial-gradient(circle at 38% 62%,rgba(255,255,255,.4) 0 3px,transparent 4px),radial-gradient(circle at 62% 62%,rgba(255,255,255,.4) 0 3px,transparent 4px),linear-gradient(160deg,var(--rose),var(--rose-deep));border:2px solid var(--amber)}.card.small{--card-w: 54px;--card-h: 76px}.card.small .corner{font-size:13px}.card.small .pip{font-size:24px}@keyframes dealIn{0%{opacity:0;transform:translateY(-26px) rotate(-7deg) scale(.9)}to{opacity:1;transform:none}}.card.deal{animation:dealIn .34s cubic-bezier(.2,.9,.3,1.25) both}@keyframes flashIn{0%{opacity:0;transform:scale(.82)}18%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.card.flash{animation:flashIn .2s ease both}.card-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tag-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:23px;border-radius:8px;font-size:13px;font-weight:800;padding:0 6px}.tag-pos{background:#7fcaa033;color:var(--pos)}.tag-neg{background:#e58b8633;color:var(--neg)}.tag-zero{background:#b8a68f33;color:var(--neutral)}.play-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.play-head .head-left{display:flex;align-items:center;gap:12px}.play-head .lvl-title{font-size:18px;font-weight:800}.play-head .lvl-title small{display:block;color:#f6ecd99e;font-weight:700;font-size:12px}.progress-track{height:8px;background:#00000047;border-radius:999px;overflow:hidden;margin:4px 0 18px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--amber),var(--rose));transition:width .3s ease}.prompt{text-align:center;margin:20px 0 12px}.prompt h2{font-size:23px;margin:0 0 4px}.prompt p{color:#f6ecd9ad;margin:0}.count-display{font-size:64px;font-weight:800;text-align:center;letter-spacing:-2px;margin:8px 0;font-variant-numeric:tabular-nums;font-family:"Baloo 2",sans-serif}.choices{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.choice{min-width:66px;padding:16px 18px;font-size:20px;font-weight:800;border-radius:16px;border:1px solid rgba(246,236,217,.16);background:#ffffff0f;color:var(--paper);cursor:pointer;transition:transform .08s,background .12s,border-color .12s}.choice:hover{background:#ffffff1f}.choice:active{transform:translateY(2px)}.choice.sel{border-color:var(--amber);background:#ecb45e2e}.choice.correct{border-color:var(--pos);background:#7fcaa038;color:var(--pos)}.choice.wrong{border-color:var(--neg);background:#e58b8638;color:var(--neg)}.stepper{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:8px}.stepper button{width:62px;height:62px;border-radius:50%;font-size:30px;font-weight:800;cursor:pointer;font-family:"Baloo 2",sans-serif;border:1px solid rgba(246,236,217,.2);background:#ffffff0f;color:var(--paper)}.stepper button:active{transform:scale(.94)}.feedback{text-align:center;min-height:26px;font-weight:800;margin-top:12px;font-size:17px}.feedback.good{color:var(--pos)}.feedback.bad{color:var(--neg)}.center{text-align:center}.muted{color:#f6ecd99e}.spacer{height:18px}.table-seat{margin:12px 0}.seat-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#f6ecd999;margin-bottom:6px;font-weight:800;display:flex;align-items:center;gap:6px}.seat-total{font-size:13px;color:var(--amber);font-weight:800;margin-left:6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#140e14bd;display:flex;align-items:center;justify-content:center;padding:20px;z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background:linear-gradient(180deg,#41342f,#322723);border:1px solid rgba(236,180,94,.4);border-radius:24px;padding:28px 26px;max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow);position:relative}.modal h2{margin:6px 0;font-size:27px}.modal .modal-cat{display:flex;justify-content:center;margin-top:-64px;margin-bottom:4px}.modal .big-stars{font-size:44px;margin:8px 0}.modal .big-stars .star.on{animation:pop .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes pop{0%{transform:scale(0) rotate(-30deg)}to{transform:scale(1) rotate(0)}}.modal .xp-line{color:var(--amber);font-weight:800;font-size:18px;margin:6px 0 16px}.stat-line{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(246,236,217,.1);font-size:14px}.stat-line span:last-child{font-weight:800}.hint-bar{background:#ecb45e1a;border:1px solid rgba(236,180,94,.28);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.55;margin:12px 0}.hint-bar b{color:var(--amber)}.footer{text-align:center;margin-top:42px;color:#f6ecd966;font-size:12px}.true-count-box{display:inline-flex;flex-direction:column;align-items:center;gap:2px;background:#0000003d;border:1px solid rgba(246,236,217,.12);border-radius:14px;padding:8px 18px}.true-count-box .v{font-size:26px;font-weight:800;font-family:"Baloo 2",sans-serif}.true-count-box .l{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#f6ecd994}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(246,236,217,.1);margin-bottom:12px;text-align:left}.settings-row .sr-title{font-weight:800;font-size:15px}.settings-row .sr-sub{font-size:12px;color:#f6ecd999;margin-top:2px}.toggle{width:52px;height:30px;border-radius:999px;border:none;cursor:pointer;position:relative;background:#0000004d;transition:background .15s;flex:none}.toggle.on{background:var(--pos)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .16s}.toggle.on:after{transform:translate(22px)}.cat-wrap{display:inline-grid;place-items:center}.cat-fur{fill:var(--fur);stroke:var(--fur-line);stroke-width:2}.cat-ear-in{fill:var(--rose)}.cat-blush{fill:var(--rose);opacity:.55}.cat-eyes{stroke:#4a3322;stroke-width:3.4;stroke-linecap:round}.cat-eyes-fill circle{fill:#4a3322}.cat-nose{fill:var(--rose-deep)}.cat-mouth{stroke:#6b4a32;stroke-width:2.2;stroke-linecap:round}.cat-whisker line{stroke:#6e503799;stroke-width:1.4;stroke-linecap:round}.cat-bow{fill:var(--rose-deep)}.cat-bow-knot{fill:var(--amber)}.cat-tear{fill:#8fd0e8}.cat-wrap[data-mood=win] svg,.cat-wrap[data-mood=happy] svg{animation:catHop .5s ease}@keyframes catHop{0%,to{transform:translateY(0)}30%{transform:translateY(-8px)}60%{transform:translateY(0)}}.cat-wrap[data-mood=sad] svg{animation:catShake .5s ease}@keyframes catShake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.cat-blink{animation:blink 5s infinite;transform-origin:center}@keyframes blink{0%,96%,to{opacity:1}98%{opacity:.15}}.dealer-cat-area{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:6px}.dealer-cat-area .speech{background:var(--paper);color:var(--ink);font-weight:800;font-size:13px;padding:6px 12px;border-radius:14px;position:relative;box-shadow:var(--shadow-soft)}.dealer-cat-area .speech:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--paper);border-bottom:0}@media (max-width: 480px){:root{--card-w: 72px;--card-h: 102px}.count-display{font-size:54px}.lantern{display:none}}
