.profile-backdrop{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at center,#140c069e,#040302eb);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:profile-backdrop-in .2s steps(5) both}@keyframes profile-backdrop-in{0%{opacity:0}to{opacity:1}}.profile-frame{display:flex;flex-direction:column;width:min(1500px,96%);max-height:90%;overflow:hidden;padding:22px 26px 26px;border:3px solid #6e4a24;border-radius:14px;background:linear-gradient(158deg,#f4e7c6,#ecdcb2 46%,#e2cf9f);box-shadow:inset 0 0 0 2px #caa063,inset 0 0 34px #78522447,0 24px 60px #0009;animation:profile-frame-in .3s cubic-bezier(.2,.86,.24,1.04) both}@keyframes profile-frame-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.profile-head{flex:none}.profile-identity{display:flex;align-items:center;gap:16px;padding-bottom:14px}.profile-crest{flex:none;display:grid;place-items:center;width:56px;height:56px;border:3px solid #7a4e1e;border-radius:50%;background:radial-gradient(circle at 42% 34%,#fff3d2,#d9bd80 70%);color:#4a2e10;font-family:var(--font-title);font-size:22px;letter-spacing:.02em;box-shadow:inset 0 0 0 2px #fff6d699}.profile-identity__text{min-width:0}.profile-name{font-family:var(--font-title);font-size:38px;line-height:1;color:#452a0d;text-shadow:0 1px 0 rgba(255,245,214,.5)}.profile-name--input{display:block;width:min(100%,15ch);margin:0;padding:2px 8px 2px 6px;border:0;border-bottom:2px dashed rgba(122,78,30,.45);border-radius:6px 6px 4px 4px;background:transparent;outline:none;transition:background-color .12s ease,border-color .12s ease}.profile-name--input::placeholder{color:#a98a54}.profile-name--input:hover{background:#fff5d666;border-bottom-color:#7a4e1ebf}.profile-name--input:focus-visible{background:#fff5d6b3;border-bottom-color:#7a4e1e;border-bottom-style:solid}.profile-sub{margin-top:3px;font-family:var(--font-ui);font-size:13px;letter-spacing:.06em;color:#7c6236}.profile-close{flex:none;margin-left:auto;align-self:flex-start;width:40px;height:40px;padding:0;border:2px solid #7a4e1e;border-radius:50%;background:radial-gradient(circle at 40% 36%,#fdf0cf,#dcc088 72%);color:#6e3f16;font-size:18px;font-weight:900;line-height:1;cursor:pointer;transition:filter .1s steps(2)}.profile-close:hover{filter:brightness(1.06)}.profile-tabs{display:flex;gap:4px;padding-bottom:6px;margin-bottom:16px;border-bottom:2px solid rgba(110,74,36,.5)}.profile-tab{padding:9px 20px;border:2px solid rgba(110,74,36,.5);border-radius:8px;background:#fff6d666;color:#8a6c3c;font-family:var(--font-ui);font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:color .1s steps(2),border-color .1s steps(2),background .1s steps(2)}.profile-tab:hover{border-color:#7a4e1e;color:#5a3c14}.profile-tab.is-active{border-color:#7a4e1e;background:linear-gradient(180deg,#fbf0d2,#efe0b8);color:#4a2e0c}.profile-summary{flex:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.profile-summary__cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;border:1.5px solid rgba(110,74,36,.4);border-radius:12px;background:linear-gradient(180deg,#fbf1d6,#eadaad)}.profile-summary__value{font-family:var(--font-title);font-size:30px;line-height:1;color:#5a3410}.profile-summary__label{font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a6c3c}.profile-runs{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;border:1.5px solid rgba(110,74,36,.4);border-radius:12px;background:#fffae859}.profile-empty{padding:60px 20px;text-align:center;color:#7c6236;font-size:20px}.run-row{display:grid;grid-template-columns:92px 128px minmax(180px,1fr) 216px;align-items:center;gap:16px;padding:12px 18px;border-left:5px solid var(--accent, #a98c56);border-bottom:1.5px solid rgba(110,74,36,.22)}.run-row:last-child{border-bottom:0}.run-row[data-outcome=win]{border-left-color:#4f8a2c;background:linear-gradient(90deg,rgba(99,153,34,.16),transparent 42%)}.run-row[data-outcome=loss]{border-left-color:#bb4a2e;background:linear-gradient(90deg,rgba(187,74,46,.14),transparent 42%)}.run-archetype-badge[data-accent=danger]{--accent: #c14a35}.run-archetype-badge[data-accent=good]{--accent: #5f8f2e}.run-archetype-badge[data-accent=coin]{--accent: #c39322}.run-archetype-badge[data-accent=teal]{--accent: #2f8f7d}.run-archetype-badge[data-accent=spicy]{--accent: #c26a1c}.run-archetype-badge[data-accent=fruit]{--accent: #b1567a}.run-portrait{display:flex;flex-direction:column;align-items:center;gap:6px}.run-archetype-badge{position:relative;display:grid;place-items:center;width:62px;height:62px;border:3px solid var(--accent, #7a4e1e);border-radius:50%;background:radial-gradient(circle at 50% 38%,#fff4d6,#dcc189 72%);box-shadow:inset 0 0 0 2px #fff6d680}.run-archetype-badge img{width:74%;height:74%;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(90,60,20,.35))}.run-portrait__level{position:absolute;bottom:-4px;right:-4px;min-width:22px;height:22px;padding:0 5px;display:grid;place-items:center;border:2px solid #6e4a24;border-radius:999px;background:#f3e3ba;color:#5a3410;font-family:var(--font-title);font-size:13px;line-height:1}.run-archetype-badge__name{font-family:var(--font-ui);font-size:12px;font-weight:700;line-height:1.15;text-align:center;color:#6a4a1e}.run-result{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.run-outcome{font-family:var(--font-title);font-size:22px;line-height:1;letter-spacing:.02em;text-transform:uppercase}.run-outcome.is-win{color:#3b6d11}.run-outcome.is-loss{color:#a3311f}.run-result__mode{font-family:var(--font-ui);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#96794a}.run-result__services{font-family:var(--font-ui);font-size:14px;font-weight:700;color:#5a4322}.run-mid{display:flex;flex-direction:column;gap:10px;min-width:0;margin-left:24px}.run-row__charms,.run-charms{display:flex;align-items:center}.run-charms__slots{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border-radius:8px;background:#6e4a241f}.run-charm{display:grid;place-items:center;width:60px;height:60px;border:2px solid #7a5a2c;border-radius:8px;background:radial-gradient(circle at 50% 35%,#fbefce,#e2cf9f 75%);transition:filter .1s steps(2)}.run-charm:hover{filter:brightness(1.08);border-color:#a6763a}.run-charm img{width:82%;height:82%;object-fit:contain}.run-charms__none{font-family:var(--font-ui);font-size:13px;font-style:italic;color:#96794a}.run-stats{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:6px 28px;padding-left:4px}.run-stat{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.run-stat b{font-family:var(--font-title);font-size:18px;line-height:1;color:#5a3410}.run-stat__label{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#96794a}.run-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.run-meta__actions{display:flex;align-items:center;gap:8px}.run-date{font-family:var(--font-ui);font-size:12px;color:#96794a;text-align:right}.run-seed{position:relative;display:flex;align-items:center}.run-seed__btn{display:flex;align-items:center;gap:7px;padding:4px 10px;border:1.5px solid #a9884e;border-radius:8px;background:#f3e6c2;cursor:pointer;transition:filter .1s steps(2)}.run-seed__btn:hover{filter:brightness(1.05)}.run-seed__label{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a6c3c}.run-seed__value{font-family:var(--font-mono, monospace);font-size:14px;font-weight:700;color:#5a3410}.run-seed__pop{position:absolute;bottom:calc(100% + 6px);right:0;padding:3px 9px;border-radius:6px;background:#4f8a2c;color:#f4ffe6;font-family:var(--font-ui);font-size:11px;font-weight:800;white-space:nowrap;box-shadow:0 4px 10px #0006;animation:profile-pop-in .12s steps(3) both}@keyframes profile-pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.run-replay{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1.5px solid #a9884e;border-radius:8px;background:#f3e6c2;color:#6e3f16;font-size:20px;line-height:1;cursor:pointer;transition:filter .1s steps(2)}.run-replay:hover{filter:brightness(1.05)}.charm-tip{position:fixed;z-index:9999;transform:translate(-50%,calc(-100% - 14px));padding:5px 11px;border:1.5px solid #6e4a24;border-radius:7px;background:#2a1a0b;color:#ffe6a3;font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.02em;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #00000080}.profile-records{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:min-content;align-content:start;gap:12px;overflow-y:auto;padding:2px}.record-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;border:1.5px solid rgba(110,74,36,.4);border-radius:12px;background:linear-gradient(180deg,#fbf1d6,#eadaad);text-align:center}.record-tile__icon{width:40px;height:40px;object-fit:contain}.record-tile__value{font-family:var(--font-title);font-size:26px;line-height:1.05;color:#5a3410;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.record-tile__label{font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#8a6c3c}.profile-ach{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px}.profile-ach__overall{flex:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 14px;padding:12px 16px;border:1.5px solid rgba(110,74,36,.4);border-radius:12px;background:linear-gradient(180deg,#fbf1d6,#eadaad)}.profile-ach__bar{grid-column:1 / 2;grid-row:2;height:12px;border-radius:999px;background:#4a2e0c2e;overflow:hidden}.profile-ach__bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#c8901f,#eec24a)}.profile-ach__caption{grid-column:1 / 2;grid-row:1;font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7c5c2a}.profile-ach__pct{grid-column:2;grid-row:1 / 3;font-family:var(--font-title);font-size:34px;line-height:1;color:#5a3410}.profile-ach__grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;overflow-y:auto;padding-right:6px}.ach-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid rgba(110,74,36,.4);border-left:4px solid var(--tier, #a98c56);border-radius:12px;background:linear-gradient(90deg,#fbf1d6,#eddcb0 60%)}.ach-card.is-locked{opacity:.66;filter:saturate(.7)}.ach-card[data-tier=bronze]{--tier: #b87333}.ach-card[data-tier=silver]{--tier: #9aa1a8}.ach-card[data-tier=gold]{--tier: #d69f1f}.ach-card__badge{flex:none;display:grid;place-items:center;width:48px;height:48px;background:center / contain no-repeat}.ach-card[data-tier=bronze] .ach-card__badge{background-image:url(../assets/ui/badge-frame-bronze.webp)}.ach-card[data-tier=silver] .ach-card__badge{background-image:url(../assets/ui/badge-frame-silver.webp)}.ach-card[data-tier=gold] .ach-card__badge{background-image:url(../assets/ui/badge-frame-gold.webp)}.ach-card.is-locked .ach-card__badge{background-image:url(../assets/ui/badge-frame-locked.webp)}.ach-card__star{color:#fff4cf;font-size:18px;line-height:1;text-shadow:0 1px 2px rgba(90,52,16,.7)}.ach-card__body{flex:1;min-width:0}.ach-card__name{display:block;font-family:var(--font-title);font-size:17px;color:#5a3410}.ach-card__desc{margin:2px 0 7px;font-family:var(--font-ui);font-size:12px;line-height:1.3;color:#7c6236}.ach-card__progress{display:flex;align-items:center;gap:9px}.ach-card__track{flex:1;height:8px;border-radius:999px;background:#4a2e0c2e;overflow:hidden}.ach-card__fill{height:100%;border-radius:999px;background:var(--tier, #a98c56)}.ach-card__num{flex:none;font-family:var(--font-ui);font-size:12px;font-weight:700;color:#6a4a1e}.profile-runs::-webkit-scrollbar,.profile-records::-webkit-scrollbar,.profile-ach__grid::-webkit-scrollbar{width:10px}.profile-runs::-webkit-scrollbar-thumb,.profile-records::-webkit-scrollbar-thumb,.profile-ach__grid::-webkit-scrollbar-thumb{border-radius:999px;background:#6e4a2473}.profile-runs::-webkit-scrollbar-track,.profile-records::-webkit-scrollbar-track,.profile-ach__grid::-webkit-scrollbar-track{background:transparent}.profile-tab:focus-visible,.profile-close:focus-visible,.run-seed__btn:focus-visible,.run-replay:focus-visible{outline:2px solid #7a4e1e;outline-offset:2px}.leaderboard-board{height:100%;max-height:100%}.leaderboard-board .profile-tabs{flex-wrap:wrap;row-gap:2px}.leaderboard-board .profile-tab{padding:7px 14px;font-size:13px}.leaderboard-board .profile-crest svg{width:30px;height:30px}.lb-list{flex:1 1 auto;min-height:0;overflow-y:auto;border:1.5px solid rgba(110,74,36,.4);border-radius:12px;background:#fffae859}.lb-list::-webkit-scrollbar{width:10px}.lb-list::-webkit-scrollbar-thumb{border-radius:999px;background:#6e4a2473}.lb-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 20px;border-bottom:1.5px solid rgba(110,74,36,.22)}.lb-row:last-child{border-bottom:0}.lb-rank{font-family:var(--font-title);font-size:20px;color:#8a6c3c}.lb-row:nth-child(1) .lb-rank{color:#c8901f}.lb-row:nth-child(2) .lb-rank{color:#8b8f96}.lb-row:nth-child(3) .lb-rank{color:#b87333}.lb-entry{display:flex;flex-direction:column;gap:5px;min-width:0}.lb-name{font-family:var(--font-ui);font-size:16px;font-weight:700;color:#452a0d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-meta{display:flex;flex-wrap:wrap;gap:6px}.lb-chip{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 9px;border-radius:999px;white-space:nowrap}.lb-chip--kitchen{color:#5a3410;background:#c8901f29;border:1px solid rgba(200,144,31,.4)}.lb-chip--diff{color:#4a3316;border:1px solid transparent}.lb-chip--easy{background:#5a965a2e;border-color:#5a965a6b}.lb-chip--normal{background:#6e4a2424;border-color:#6e4a2457}.lb-chip--hard{background:#c5802633;border-color:#c5802675}.lb-chip--nightmare{color:#6a1414;background:#b02e2e29;border-color:#b02e2e75}.lb-value{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.lb-value__main{font-family:var(--font-title);font-size:20px;color:#5a3410}.lb-value__caption{font-family:var(--font-ui);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#8a6c3c}.lb-filters{display:flex;flex-wrap:wrap;gap:14px;padding:0 2px 12px}.lb-filter{display:flex;align-items:center;gap:8px}.lb-filter__label{font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a6c3c}.lb-select{font-family:var(--font-ui);font-size:14px;font-weight:600;color:#452a0d;padding:6px 34px 6px 12px;border:1.5px solid rgba(110,74,36,.4);border-radius:10px;background-color:#fffae899;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a6c3c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.lb-select:focus-visible{outline:2px solid #c8901f;outline-offset:2px}.lb-empty{display:grid;place-items:center;flex:1 1 auto;color:#7c6236;font-size:18px}.archetype-select{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:36px;background:radial-gradient(ellipse at center,#140c069e,#040302eb);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:book-backdrop-in .22s steps(5) both}.archetype-modal{position:relative;width:min(840px,100%);display:grid;gap:20px;border:3px solid #6e4a24;border-radius:14px;background:linear-gradient(158deg,#f4e7c6,#ecdcb2 46%,#e2cf9f);padding:28px 36px 32px;box-shadow:inset 0 0 0 2px #caa063,inset 0 0 34px #78522447,0 24px 60px #0009;animation:book-open .38s cubic-bezier(.2,.86,.24,1.04) both}.archetype-select [data-accent=danger]{--accent: #c24634}.archetype-select [data-accent=good]{--accent: #4f8f2c}.archetype-select [data-accent=coin]{--accent: #c68f1e}.archetype-select [data-accent=teal]{--accent: #2f8f7f}.archetype-select [data-accent=spicy]{--accent: #c06a1e}.archetype-select [data-accent=fruit]{--accent: #b1466b}.archetype-modal__close{position:absolute;top:-14px;right:-14px;z-index:10;width:42px;height:42px;min-height:0;padding:0;border:2px solid #7a4e1e;border-radius:50%;background:radial-gradient(circle at 40% 36%,#fdf0cf,#dcc088 72%);color:#6e3f16;font-size:var(--fs-md);font-weight:900;line-height:1;box-shadow:inset 0 0 0 2px #fff6d699,0 4px 10px #0006;transition:filter .1s steps(2)}.archetype-modal__close:hover:not(:disabled){filter:brightness(1.06)}.archetype-modal__header{text-align:center}.archetype-modal__header .eyebrow{color:#7c6236;font-size:var(--fs-2xs);letter-spacing:.3em;margin-bottom:6px}.archetype-modal__header h2{font-family:var(--font-title);font-size:var(--fs-2xl);color:#452a0d;margin:0;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,245,214,.5)}.archetype-slider{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}.archetype-arrow{display:grid;place-items:center;width:56px;height:56px;min-height:0;padding:0;border:2px solid rgba(110,74,36,.6);border-radius:50%;background:linear-gradient(180deg,#fbf0d2,#ead9ac);color:#5a3c14;font-family:var(--font-title);font-size:var(--fs-xl);font-weight:700;line-height:0;box-shadow:inset 0 0 0 2px #fff6d680,0 3px 7px #5034144d;transition:filter .1s steps(2),border-color .1s steps(2),transform .1s steps(2)}.archetype-arrow:hover:not(:disabled){filter:brightness(1.05);border-color:var(--accent, #7a4e1e)}.archetype-arrow:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 0 0 2px #fff6d680,0 1px 3px #5034144d}.archetype-slider__viewport{overflow:hidden;border-radius:10px}.archetype-slider__track{display:flex;transition:transform .32s cubic-bezier(.2,.86,.24,1.04)}.archetype-slide{flex:0 0 100%;min-width:0;padding:4px}.archetype-card{position:relative;display:grid;align-content:start;gap:14px;min-height:312px;overflow:hidden;border:2px solid rgba(110,74,36,.5);border-radius:10px;background:linear-gradient(180deg,#fffae8d1,#f0e2bebd);box-shadow:inset 0 0 0 1px #caa06366,0 4px 12px #5034142e;padding:22px 24px}.archetype-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent, #7a5a32);box-shadow:0 0 12px var(--accent, transparent);opacity:.95}.archetype-card__name{font-family:var(--font-title);font-size:var(--fs-lg);font-weight:700;color:#452a0d;text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;text-shadow:0 1px 0 rgba(255,245,214,.5)}.archetype-card__tagline{color:#8a6c3c;font-size:var(--fs-2xs);font-style:italic;line-height:1.35;margin:0}.archetype-card__desc{color:#5f4a2a;font-size:var(--fs-2xs);line-height:1.45;margin:0}.archetype-card__deck,.archetype-card__charm{display:grid;gap:6px}.archetype-card__deck-label,.archetype-card__charm-kicker{color:#8a6c3c;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.archetype-card__foods{display:flex;flex-wrap:wrap;gap:7px}.archetype-food{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 4px;border:1px solid rgba(122,78,30,.35);border-radius:6px;background:#fff8e08c;box-shadow:inset 0 1px 2px #78522424}.archetype-food__slot{display:grid;place-items:center;width:26px;height:26px}.archetype-food__slot img{width:100%;height:100%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.archetype-food__count{color:#5a3c14;font-family:var(--font-number);font-size:var(--fs-2xs);font-weight:900}.archetype-card__charm{margin-top:2px;padding-top:14px;border-top:1px solid rgba(122,78,30,.25);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.archetype-card__charm-slot{display:grid;place-items:center;width:38px;height:38px;border:1.5px solid rgba(122,78,30,.4);border-radius:7px;background:radial-gradient(circle at 46% 40%,#fff6d6e6,#f0e2beb3 70%);box-shadow:inset 0 1px 2px #78522429}.archetype-card__charm-icon{width:30px;height:30px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.archetype-card__charm-label{display:grid;gap:2px;min-width:0}.archetype-card__charm-name{color:#452a0d;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archetype-card__charm-none{color:#8a6a48;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;font-style:italic}.archetype-dots{display:flex;justify-content:center;gap:9px}.archetype-dot{width:11px;height:11px;min-height:0;padding:0;border:1.5px solid rgba(122,78,30,.45);border-radius:50%;background:#78522438;transition:background .12s steps(2),width .14s steps(3),border-color .12s steps(2)}.archetype-dot:hover:not(.is-active){border-color:#7a4e1ecc}.archetype-dot.is-active{width:26px;border-radius:6px;border-color:var(--accent, #7a4e1e);background:var(--accent, #7a4e1e);box-shadow:0 0 8px var(--accent, rgba(122, 78, 30, .5))}.archetype-difficulty{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.archetype-difficulty__label{color:#8a6c3c;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.archetype-difficulty__options{display:inline-flex;gap:6px}.archetype-diff-slot{position:relative;display:inline-flex}.archetype-diff:disabled{pointer-events:none}.archetype-diff__tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);z-index:60;width:max-content;max-width:220px;padding:8px 11px;border:3px solid #17100d;border-radius:4px;background:linear-gradient(180deg,rgba(255,241,207,.07),transparent 5rem),#17100d;box-shadow:inset 0 0 0 2px #ffe6a30f,0 6px #090604;color:#f4e2b8;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;line-height:1.3;text-align:center;text-transform:none;letter-spacing:.01em;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .11s ease,transform .11s ease}.archetype-diff-slot:hover .archetype-diff__tip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.archetype-diff{min-height:0;padding:7px 14px;border:2px solid rgba(110,74,36,.5);border-radius:8px;background:#d6c49ce6;color:#5a3c14;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:color .1s steps(2),border-color .1s steps(2),background .1s steps(2)}.archetype-diff:hover:not(.is-active):not(.is-locked){border-color:#7a4e1e}.archetype-diff.is-active{border-color:#7a4e1e;background:linear-gradient(180deg,#fbf0d2,#efe0b8);color:#3b1f10}.archetype-diff.is-locked{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.archetype-diff__lock{margin-right:4px}.archetype-diff-mods{flex-basis:100%;min-height:48px;display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:6px;margin-top:2px}.archetype-diff-mod{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1.5px solid rgba(110,74,36,.35);border-radius:999px;background:#d6c49c80;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:700;color:#5a3c14}.archetype-diff-mod__label{text-transform:uppercase;letter-spacing:.08em;opacity:.85}.archetype-diff-mod__value{font-weight:900;font-variant-numeric:tabular-nums}.archetype-diff-mod.is-good{border-color:#4e822a8c;background:#8cbe5a38}.archetype-diff-mod.is-good .archetype-diff-mod__value{color:#3e6a1e}.archetype-diff-mod.is-bad{border-color:#b4463280;background:#c85a4629}.archetype-diff-mod.is-bad .archetype-diff-mod__value{color:#9a3320}.archetype-diff-mod.is-baseline{color:#8a6c3c;font-style:italic}.archetype-seed{display:flex;align-items:center;justify-content:center;gap:12px}.archetype-seed__label{color:#8a6c3c;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.archetype-seed__input{width:280px;min-height:0;padding:8px 12px;border:2px solid rgba(110,74,36,.5);border-radius:8px;background:#fffae8b3;color:#452a0d;font-family:var(--font-ui);font-size:var(--fs-2xs);letter-spacing:.04em;transition:border-color .1s steps(2),background .1s steps(2)}.archetype-seed__input::placeholder{color:#a98a54}.archetype-seed__input:focus-visible{outline:none;border-color:#7a4e1e;background:#fffae8f0}.archetype-modal__start{width:100%;min-height:0;padding:13px 16px;border:2px solid var(--accent, #7a4e1e);border-radius:8px;background:linear-gradient(180deg,#fbf0d2,#efe0b8);color:#4a2e0c;font-family:var(--font-title);font-size:var(--fs-md);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,246,214,.6);box-shadow:inset 0 0 0 1px #fff6d680,0 3px 8px #50341447;transition:filter .1s steps(2),transform .1s steps(2),box-shadow .1s}.archetype-modal__start:hover:not(:disabled){filter:brightness(1.05);box-shadow:inset 0 0 0 1px #fff6d680,0 3px 8px #50341447,0 0 16px var(--accent, transparent)}.archetype-modal__start:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 0 0 1px #fff6d680,0 1px 3px #50341447}.archetype-modal__start:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.demo-lock{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;border-radius:inherit;background:#0a0c16bd;backdrop-filter:blur(2.5px);-webkit-backdrop-filter:blur(2.5px);text-align:center;pointer-events:none}.demo-lock__icon{font-size:2.6rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.demo-lock__label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffd76a;padding:.25rem .6rem;border:1px solid rgba(255,215,106,.5);border-radius:999px;background:#00000059}.demo-lock__sub{font-size:.9rem;line-height:1.3;color:#ffffffbf;max-width:82%}.archetype-card.is-locked,.compendium-cell.is-locked{position:relative}.archetype-modal__start:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.4)}.archetype-dot.is-locked{opacity:.4}.collect-tile.is-demo-locked .collect-tile__art{border-color:#ffd76a80}.collect-tile__demo{position:absolute;top:4px;right:5px;z-index:4;font-size:.9rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7))}.menu-screen.menu-hub{display:block;padding:0}.menu-hub:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,4,3,.82) 0%,rgba(6,4,3,.28) 34%,transparent 56%),linear-gradient(0deg,rgba(6,4,3,.72),transparent 22%)}.menu-hub>*{position:absolute;z-index:2}.hub-nav{top:0;left:0;right:0;height:88px;display:flex;align-items:center;gap:30px;padding:0 52px;background:linear-gradient(180deg,#080503fa,#080503d1 60%,#08050373);border-bottom:1px solid rgba(0,0,0,.5)}.hub-tabs{display:flex;align-items:center;gap:30px}.hub-tab{padding:6px 2px;border:0;background:none;color:#b49a70;font-family:var(--font-ui);font-size:22px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.6);cursor:pointer;transition:color .12s steps(2)}.hub-tab:hover{color:#ffe6a3}.hub-tab.is-active{color:#ffe6a3;border-bottom:3px solid #e6c063;padding-bottom:3px;cursor:default}.hub-nav__icons{margin-left:auto;display:flex;gap:12px}.hub-icon{display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid rgba(120,74,34,.7);border-radius:50%;background:#140d0999;color:#e6c063;cursor:pointer;transition:filter .1s steps(2)}.hub-icon svg{width:24px;height:24px}.hub-icon:hover{filter:brightness(1.2)}.hub-play{left:64px;top:50%;transform:translateY(-50%);width:500px}.hub-play .eyebrow{margin-bottom:14px}.hub-play__title{font-family:var(--font-title);font-size:88px;line-height:.95;color:#ffe6a3;text-shadow:0 4px 0 #4b201b,0 6px 14px rgba(0,0,0,.55),0 0 28px rgba(255,198,96,.18);margin-bottom:16px}.hub-play__copy{max-width:460px;font-family:var(--font-ui);font-size:18px;line-height:1.5;color:#d8c2a0;margin-bottom:28px;text-shadow:0 2px 0 rgba(0,0,0,.45)}.hub-play__actions{display:grid;grid-template-columns:max-content;justify-content:start;gap:12px}.hub-btn{min-width:320px;text-align:left;padding:14px 24px;border:2px solid rgba(120,74,34,.7);border-radius:10px;background:#140d09b8;color:#efd7a6;font-family:var(--font-title);font-size:26px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:filter .1s steps(2),transform .11s steps(2)}.hub-btn:hover{filter:brightness(1.14);transform:translate(4px)}.hub-btn:active{transform:translate(1px)}.hub-btn--primary{background:linear-gradient(180deg,#8a2418,#6a170f);border-color:#b5471f;color:#ffdf9e;box-shadow:inset 0 1px #ffd29640,0 4px #00000059}.hub-btn--primary:active{box-shadow:inset 0 1px #ffd29640}.hub-btn--ghost{min-width:0;padding-left:2px;border-color:transparent;background:none;font-size:22px;color:#c9b184}.hub-btn--ghost:hover{color:#ffe6a3}.hub-btn--daily{margin-top:6px;border-color:#b58a3f;background:linear-gradient(180deg,#3c2a10d9,#221608d9);color:#ffe6a3;box-shadow:inset 0 1px #ffd29633,0 3px #00000059}.hub-wishlist{left:64px;bottom:76px;display:inline-flex;align-items:center;gap:10px;width:max-content;padding:9px 18px 9px 10px;border:2px solid #c8901f;border-radius:14px;background:linear-gradient(180deg,#4a3214f0,#281a0bf2);color:#ffe6a3;font-family:var(--font-title);font-size:20px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px #ffd69638,0 0 16px #ffcf4d24,0 3px #00000052;transition:filter .11s steps(2),transform .11s steps(2),box-shadow .11s steps(2)}.hub-wishlist:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:inset 0 1px #ffd69647,0 0 24px #ffcf4d42,0 5px #00000052}.hub-wishlist:active{transform:translateY(0);box-shadow:inset 0 1px #ffd69638}.hub-wishlist__badge{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;background:radial-gradient(circle at 40% 32%,#43300f,#1b1105);box-shadow:inset 0 0 0 1px #ffcf4d73,inset 0 2px 5px #00000080}.hub-wishlist__logo{width:19px;height:19px;color:#ffcf4d}.hub-wishlist__label{line-height:1}.hub-wishlist__heart{font-size:.95em;color:#ff7a90;text-shadow:0 0 8px rgba(255,122,144,.55);animation:hub-heartbeat 1.7s ease-in-out infinite}@keyframes hub-heartbeat{0%,38%,to{transform:scale(1)}12%{transform:scale(1.28)}24%{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.hub-wishlist__heart{animation:none}}:root[data-reduced-motion=true] .hub-wishlist__heart{animation:none}.hub-chef{margin-top:16px;display:flex;align-items:center;gap:11px;width:100%;max-width:336px;padding:9px 12px;border:1px solid rgba(230,192,99,.34);border-radius:11px;background:linear-gradient(180deg,#30220ec7,#181007d1);box-shadow:inset 0 1px #ffe6a01a,0 3px #0000005c,0 5px 12px #0000005c;color:var(--text, #fff1cf);text-align:left;cursor:pointer;transition:transform .12s ease,border-color .14s ease,box-shadow .14s ease}.hub-chef:hover,.hub-chef:focus-visible{transform:translateY(-2px);border-color:#ffe6a3d9;box-shadow:inset 0 1px #ffe6a029,0 5px #0000005c,0 9px 18px #0000006b,0 0 16px #ffd67833}.hub-chef:active{transform:translateY(2px);box-shadow:inset 0 1px #ffe6a01a,0 1px #0000005c,0 3px 8px #0000005c}.hub-chef__crown{flex:none;font-size:21px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));animation:hub-chef-bob 2.6s ease-in-out infinite}.hub-chef__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.hub-chef__eyebrow{font-family:var(--font-ui);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#e6c063}.hub-chef__name{font-family:var(--font-friz, Georgia, serif);font-size:17px;line-height:1.1;color:#fff1cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-chef__name--empty{font-family:var(--font-ui);font-size:15px;font-style:italic;color:var(--muted, #d1b996)}.hub-chef__score{flex:none;display:flex;align-items:baseline;gap:4px;font-family:var(--font-number, "Inter", sans-serif)}.hub-chef__score b{font-size:22px;font-weight:900;color:var(--good, #75e08d)}.hub-chef__score small{font-size:11px;font-weight:800;text-transform:uppercase;color:color-mix(in srgb,var(--good, #75e08d) 55%,#f3ead6)}.hub-chef__cta{margin-top:3px;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.01em;color:#ffe6a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-chef:hover .hub-chef__cta,.hub-chef:focus-visible .hub-chef__cta{color:#fff6da}.hub-chef__go{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:radial-gradient(circle at 40% 32%,#5a4116,#2a1c08);box-shadow:inset 0 0 0 1px #ffcf4d80;color:#ffe6a3;font-family:var(--font-title);font-size:24px;line-height:0;padding-bottom:3px;transition:transform .14s ease,background .14s ease,box-shadow .14s ease}.hub-chef:hover .hub-chef__go,.hub-chef:focus-visible .hub-chef__go{transform:translate(3px);background:radial-gradient(circle at 40% 32%,#7a5a1e,#3a280c);box-shadow:inset 0 0 0 1px #ffdc78b3}@keyframes hub-chef-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-2px) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.hub-chef__crown{animation:none}}.hub-dossier{right:52px;top:132px;width:440px;padding:18px 20px;border:2px solid rgba(120,74,34,.6);border-radius:14px;background:#100b08d1;box-shadow:inset 0 0 0 1px #ffdc960f,0 18px 40px #00000080}.hub-dossier__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.hub-dossier__eyebrow{font-family:var(--font-ui);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a98e63}.hub-dossier__link{border:0;background:none;color:#e6c063;font-family:var(--font-ui);font-size:14px;font-weight:700;cursor:pointer;transition:color .1s steps(2);box-shadow:none}.hub-dossier__link:hover{color:#ffe6a3}.hub-dossier__empty{padding:20px 6px;text-align:center;font-family:var(--font-ui);font-size:15px;color:#c9b184;opacity:.8}.hub-lastrun{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:14px;border-radius:10px;border-left:5px solid var(--accent, #7a5a32)}.hub-lastrun[data-outcome=win]{border-left-color:#6fae4a;background:linear-gradient(90deg,rgba(111,174,74,.16),transparent 60%)}.hub-lastrun[data-outcome=loss]{border-left-color:#d65a4a;background:linear-gradient(90deg,rgba(214,90,74,.15),transparent 60%)}.hub-lastrun__badge[data-accent=danger]{--accent: #d65a4a}.hub-lastrun__badge[data-accent=good]{--accent: #6fae4a}.hub-lastrun__badge[data-accent=coin]{--accent: #e0b54e}.hub-lastrun__badge[data-accent=teal]{--accent: #4fb3a3}.hub-lastrun__badge[data-accent=spicy]{--accent: #e08a3c}.hub-lastrun__badge[data-accent=fruit]{--accent: #cf6f93}.hub-lastrun__badge{flex:none;display:grid;place-items:center;width:52px;height:52px;border:3px solid var(--accent, #ffe6a3);border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(255,220,150,.14),transparent 65%),#0d1013;box-shadow:0 0 10px var(--accent, transparent)}.hub-lastrun__badge img{width:74%;height:74%;object-fit:contain}.hub-lastrun__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hub-lastrun__name{font-family:var(--font-ui);font-size:15px;font-weight:700;color:#efd7a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-lastrun__verdict{font-family:var(--font-ui);font-size:13px}.hub-lastrun__verdict.is-win{color:#8fdc6a}.hub-lastrun__verdict.is-loss{color:#ef7a68}.hub-lastrun__replay{flex:none;display:grid;place-items:center;width:38px;height:38px;padding:0;border:2px solid #e6c063;border-radius:50%;background:#140d0999;color:#ffe6a3;font-size:20px;line-height:1;cursor:pointer;transition:filter .1s steps(2),transform .14s ease}.hub-lastrun__replay:hover{filter:brightness(1.18);transform:rotate(-120deg)}.hub-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.hub-metric{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:8px;background:#0000004d}.hub-metric__value{font-family:var(--font-title);font-size:24px;line-height:1;color:#ffe6a3}.hub-metric__label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#a98e63}.hub-ach{display:flex;align-items:center;gap:10px}.hub-ach__label{font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a98e63}.hub-ach__bar{flex:1;height:8px;border-radius:999px;background:#0006;overflow:hidden}.hub-ach__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#e6b13a,#ffe6a3)}.hub-quests{margin-top:14px;padding-top:12px;border-top:1px solid rgba(230,192,99,.18)}.hub-quests__label{display:block;margin-bottom:8px;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a98e63}.hub-quests__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hub-quest{display:flex;align-items:center;gap:10px}.hub-quest[data-accent=danger]{--accent: #d65a4a}.hub-quest[data-accent=good]{--accent: #6fae4a}.hub-quest[data-accent=coin]{--accent: #e0b54e}.hub-quest[data-accent=teal]{--accent: #4fb3a3}.hub-quest[data-accent=spicy]{--accent: #e08a3c}.hub-quest[data-accent=fruit]{--accent: #cf6f93}.hub-quest__badge{flex:none;display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--accent, #ffe6a3);border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(255,220,150,.14),transparent 65%),#0d1013}.hub-quest--charm[data-rarity=common]{--accent: #b8a47f}.hub-quest--charm[data-rarity=rare]{--accent: #66b7f0}.hub-quest--charm[data-rarity=epic]{--accent: #8f6ae8}.hub-quest--charm[data-rarity=legendary]{--accent: #ffd45c}.hub-quest--charm{align-items:flex-start}.hub-quest__badge--charm{width:48px;height:48px}.hub-quest__hint{display:block;margin:1px 0 4px;font-family:var(--font-ui);font-size:11px;line-height:1.25;color:#a98e63}.hub-quest--charm .hub-quest__num{margin-top:2px}.hub-quests__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.hub-quests__head .hub-quests__label{margin-bottom:0}.hub-quests__all{border:none;background:none;padding:0;cursor:pointer;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--gold-soft, #f0d49c);transition:color .12s ease;box-shadow:none}.hub-quests__all:hover,.hub-quests__all:focus-visible{color:var(--gold-bright, #ffe6a3)}.hub-quest__badge img{width:72%;height:72%;object-fit:contain}.hub-quest__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.hub-quest__name{font-family:var(--font-ui);font-size:13px;font-weight:700;color:#efd7a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-quest__bar{height:7px;border-radius:999px;background:#0006;overflow:hidden}.hub-quest__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent, #e6b13a),#ffe6a3)}.hub-quest__num{flex:none;font-family:var(--font-ui);font-size:12px;font-weight:700;color:#cbb083;font-variant-numeric:tabular-nums;align-self:end}.hub-ach__num{font-family:var(--font-ui);font-size:12px;color:#efd7a6}.hub-page{inset:96px 0 0;display:flex;align-items:center;justify-content:center;padding:8px 40px 40px;overflow:hidden;animation:hub-fade .24s ease both}.hub-page .profile-frame--inline,.hub-page .leaderboard-board{height:100%;max-height:100%}.hub-page .compendium-frame--inline{height:100%}.hub-hotkeys{left:0;right:0;bottom:0;height:56px;display:flex;align-items:center;gap:26px;padding:0 52px;background:linear-gradient(0deg,rgba(8,5,3,.9),transparent);font-family:var(--font-ui);font-size:14px;color:#c9b184}.hub-hotkeys kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;margin-right:6px;border:1.5px solid rgba(120,74,34,.8);border-radius:5px;background:#140d09b3;color:#ffe6a3;font-family:var(--font-ui);font-size:12px;font-weight:700}.hub-nav{animation:hub-fade .32s ease both}.hub-play{animation:hub-fade .46s ease 60ms both}.hub-dossier{animation:hub-fade .46s ease .14s both}.hub-hotkeys{animation:hub-fade .32s ease .2s both}.hub-wishlist{animation:hub-fade .46s ease .14s both}@keyframes hub-fade{0%{opacity:0}to{opacity:1}}.hub-tab:focus-visible,.hub-btn:focus-visible,.hub-icon:focus-visible,.hub-dossier__link:focus-visible,.hub-lastrun__replay:focus-visible{outline:2px solid #ffe6a3;outline-offset:3px}@media(prefers-reduced-motion:reduce){.hub-nav,.hub-play,.hub-dossier,.hub-hotkeys{animation:none}.hub-btn,.hub-lastrun__replay{transition:none}}.compendium-backdrop{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at center,#140c0699,#040302e6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:book-backdrop-in .22s steps(5) both}.compendium-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;animation:book-open .38s cubic-bezier(.2,.86,.24,1.04) both}.compendium-book{position:relative;aspect-ratio:2048 / 1330;height:776px;max-width:100%;background:url(../assets/ui/compendium-book-open.webp) center / 100% 100% no-repeat;filter:drop-shadow(0 18px 40px rgba(0,0,0,.6))}.compendium-close{position:absolute;top:-14px;right:-14px;z-index:10;width:42px;height:42px;min-height:0;padding:0;border:2.5px solid #5a2a10;border-radius:50%;background:radial-gradient(circle at 40% 36%,rgba(255,212,92,.18),transparent 60%),#2c1008;color:#d4954a;font-size:var(--fs-sm);font-weight:900;line-height:1;box-shadow:inset 0 2px #ffc85024,0 4px #090604,0 0 0 1px #5a2a1099;transition:filter .1s steps(2)}.compendium-close:hover:not(:disabled){filter:brightness(1.22)}.compendium-head{display:grid;justify-items:center;gap:8px;text-align:center}.compendium-head .eyebrow{color:#e6b557;font-size:var(--fs-3xs);letter-spacing:.3em;margin:0}.compendium-title{margin:0;font-family:var(--font-title);font-size:var(--fs-xl);color:var(--gold-bright);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 3px 0 #4b201b,0 0 18px rgba(255,198,96,.18)}.compendium-tabs{display:flex;gap:4px;margin-top:4px}.compendium-tab{min-height:0;padding:9px 20px;border:2px solid #7a4e1e;border-radius:8px;background:#d6c49ceb;color:#4a2e0c;font-family:var(--font-ui);font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:color .1s steps(2),border-color .1s steps(2),background .1s steps(2)}.compendium-tab:hover:not(.is-active){border-color:#7a4e1e;background:#e9dcbaf5}.compendium-tab.is-active{border-color:#c8a020;background:linear-gradient(180deg,#fbf0d2,#efe0b8);color:#3b1f10}.compendium-pages{position:absolute;inset:8% 9% 9.5%;overflow:visible}.compendium-chapter{display:flex;flex-direction:column;height:100%;min-height:0;padding:10px 30px 6px;animation:compendium-chapter-in .24s ease both}.book-spread{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.book-spread__banner{position:absolute;top:4px;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}.book-spread__pages{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;column-gap:132px}.book-spread__pages.anim-next{animation:compendium-page-next .3s cubic-bezier(.2,.86,.24,1.04) both}.book-spread__pages.anim-prev{animation:compendium-page-prev .3s cubic-bezier(.2,.86,.24,1.04) both}.book-page{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:visible;padding-top:32px}.book-grid{display:grid;gap:10px}.book-grid--fill{flex:1 1 auto;min-height:0}.book-grid--auto{grid-auto-rows:min-content;align-content:start}.book-cell{min-width:0}.book-cell--full{grid-column:1 / -1}.book-pager{flex:none;display:flex;align-items:center;justify-content:space-between;padding:4px 40px 14px}.book-pager__side{display:flex;align-items:center;gap:10px}.book-pager__btn{display:grid;place-items:center;width:40px;height:40px;min-height:0;padding:0;border:2px solid #6a4a22;border-radius:50%;background:linear-gradient(180deg,rgba(255,220,140,.14),transparent 50%),linear-gradient(180deg,#3c2412,#2a190c);color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-lg);line-height:0;box-shadow:inset 0 1px #ffe19629,0 3px #0c0703;transition:filter .1s steps(2),transform .1s steps(2)}.book-pager__btn:hover:not(:disabled){filter:brightness(1.16)}.book-pager__btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffe1961f,0 1px #0c0703}.book-pager__btn:disabled{opacity:.4;cursor:default}.book-pager__label{min-width:56px;font-family:var(--font-number);font-size:var(--fs-2xs);font-weight:800;color:#7a421f;text-align:center}.collect-tile{position:relative;display:flex;flex-direction:column;gap:5px;height:100%;text-align:center}.collect-tile__art{position:relative;display:grid;place-items:center;flex:1 1 auto;min-height:0;width:100%;border:2px solid color-mix(in srgb,var(--rarity, #5b3c2f) 62%,#3a2410);border-radius:8px;background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--rarity, #6b4a22) 36%,transparent),transparent 64%),linear-gradient(160deg,color-mix(in srgb,var(--rarity, #6b4a22) 32%,#241509),color-mix(in srgb,var(--rarity, #6b4a22) 15%,#180e07));box-shadow:inset 0 1px 3px #00000080,0 2px 5px #22120459;overflow:hidden}.collect-tile__art img{width:84%;height:84%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.collect-tile--charm .collect-tile__art img{position:relative;width:auto;height:auto;max-width:min(84%,112px);max-height:min(84%,140px)}.collect-tile.is-locked .collect-tile__art img{filter:brightness(0) opacity(.55)}.collect-tile.is-locked .collect-tile__art{filter:saturate(.6) brightness(.82)}.collect-tile__lock{position:absolute;inset:0;z-index:3;display:grid;place-items:center;font-family:var(--font-title);font-size:var(--fs-lg);font-weight:900;color:#d6a33bb3;text-shadow:0 2px 4px rgba(0,0,0,.6)}.collect-tile.is-unlocked .collect-tile__art:hover{filter:brightness(1.08);border-color:var(--rarity, #c8a020)}.collect-tile__name{max-width:100%;overflow:hidden;color:#3b1f10;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:700;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.collect-tile.is-locked .collect-tile__name{color:#8a6a48}.collect-tile__popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);z-index:60;width:220px;max-width:78vw;display:grid;gap:6px;padding:11px 12px;border:3px solid var(--ink, #17100d);border-radius:4px;background:linear-gradient(180deg,rgba(255,241,207,.07),transparent 5rem),#17100d;box-shadow:inset 0 0 0 2px #ffe6a30f,0 6px #090604;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .11s ease,transform .11s ease}.collect-tile:hover .collect-tile__popup{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.collect-tile__popup-kind{font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase;color:var(--muted, #d7bd91)}.collect-tile__popup-kind.rarity-common{color:#d7bd91}.collect-tile__popup-kind.rarity-rare{color:var(--teal, #4fb8b0)}.collect-tile__popup-kind.rarity-epic{color:var(--rarity-epic, #a335ee)}.collect-tile__popup-kind.rarity-legendary{color:var(--coin, #f2c14e)}.collect-tile__popup-name{color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-sm);line-height:1.05;text-transform:uppercase}.collect-tile__popup-desc{margin:0;color:var(--muted, #cdb78e);font-family:var(--font-ui);font-size:var(--fs-2xs);line-height:1.35;text-transform:none}.collect-tile__popup-ings{display:flex;flex-wrap:wrap;gap:4px;margin-top:1px}.collect-tile__popup-ing{display:grid;place-items:center;width:26px;height:26px;border:1.5px solid rgba(255,230,163,.22);border-radius:5px;background:#fff1cf0d}.collect-tile__popup-ing img{width:84%;height:84%;object-fit:contain}.achievement-overall{display:flex;align-items:baseline;justify-content:center;gap:10px}.achievement-overall__caption{flex:none;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7a421f}.achievement-overall__pct{flex:none;font-family:var(--font-number);font-size:var(--fs-sm);font-weight:900;color:#7a5008}.achievement{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;height:100%;min-height:92px;border:1.5px solid rgba(86,49,20,.6);border-radius:8px;background:linear-gradient(180deg,#f7ebcefa,#e2cc9ef7);padding:10px 12px;box-shadow:inset 0 1px #fff8e080,0 2px 6px #2212044d}.achievement.is-locked{opacity:.62;filter:saturate(.6)}.achievement__badge{display:grid;place-items:center;flex:none;width:52px;height:52px;background:center / contain no-repeat;color:#ffe6a8;font-size:var(--fs-sm);line-height:1}.tier-bronze{--tier: #b87333}.tier-silver{--tier: #b7c0c9}.tier-gold{--tier: #e6b13a}.tier-bronze .achievement__badge{background-image:url(../assets/ui/badge-frame-bronze.webp)}.tier-silver .achievement__badge{background-image:url(../assets/ui/badge-frame-silver.webp)}.tier-gold .achievement__badge{background-image:url(../assets/ui/badge-frame-gold.webp)}.achievement.is-locked .achievement__badge{background-image:url(../assets/ui/badge-frame-locked.webp)}.achievement__star{color:#fff4cf;text-shadow:0 0 6px rgba(255,210,110,.9),0 1px 2px rgba(80,40,0,.7)}.achievement__body{min-width:0}.achievement__name{color:#3b1f10;font-family:var(--font-title);font-size:var(--fs-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.05}.achievement__desc{margin:3px 0 7px;color:#6a4626;font-family:var(--font-ui);font-size:10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.achievement__progress{display:flex;flex-direction:column;gap:3px}.achievement__progress-track{width:100%;height:7px;border-radius:5px;background:#28160a52;overflow:hidden}.achievement__progress-fill{height:100%;background:var(--tier, #b5852f);transition:width .22s steps(6)}.achievement__progress-num{align-self:center;font-family:var(--font-number);font-size:9px;font-weight:800;color:#7a421f}.record-card{display:grid;gap:6px;justify-items:center;padding:16px 14px;border:1.5px solid rgba(86,49,20,.55);border-radius:10px;background:linear-gradient(180deg,#f7ebcefa,#dcc496f5);box-shadow:inset 0 1px #fff8e08c,0 2px 6px #2212044d;text-align:center}.record-card__icon{display:block;width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(60,30,0,.4))}.record-card__value{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-number);font-size:var(--fs-lg);font-weight:900;color:#7a5008;line-height:1}.record-card__label{font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6a4626}@keyframes compendium-chapter-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes compendium-page-next{0%{opacity:0;transform:translate(34px)}to{opacity:1;transform:none}}@keyframes compendium-page-prev{0%{opacity:0;transform:translate(-34px)}to{opacity:1;transform:none}}.daily-hero{display:flex;flex-direction:column;align-items:center;gap:10px;margin:4px 0 18px;padding:18px;border:2px solid rgba(120,74,34,.5);border-radius:12px;background:linear-gradient(180deg,#3c2a1080,#22160859);text-align:center}.daily-hero__meta{margin:0;color:#e8c98c;font-family:var(--font-ui);font-size:15px}.daily-hero__play{padding:12px 32px;border:2px solid #b58a3f;border-radius:10px;background:linear-gradient(180deg,#8a2418,#6a170f);color:#ffdf9e;font-family:var(--font-title);font-size:24px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px #ffd29640,0 4px #00000059;transition:filter .1s steps(2),transform .11s steps(2)}.daily-hero__play:hover{filter:brightness(1.12)}.daily-hero__play:active{transform:translateY(2px);box-shadow:inset 0 1px #ffd29640}.daily-hero__best{color:#ffe0a0;font-family:var(--font-ui);font-size:14px;font-weight:600}.daily-crown{margin-left:6px;font-size:.9em}.daily-row--won{border-left:4px solid #e0b54e}.charm-unlocks{display:flex;flex-direction:column}.charm-unlocks__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.charm-unlocks__back{flex:none;margin-top:2px;padding:9px 18px;border-radius:10px;border:1px solid #b98f4e;background:linear-gradient(180deg,#f6e7bf,#e8d199);color:#4a3410;font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.charm-unlocks__back:hover,.charm-unlocks__back:focus-visible{background:linear-gradient(180deg,#fcefcf,#efdaa6);border-color:#8a5f24;transform:translateY(-1px)}.charm-unlocks__list{list-style:none;margin:0;padding:6px 4px 8px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1}.charm-unlock-row{display:flex;align-items:center;gap:16px;padding:13px 18px 13px 14px;border-radius:14px;border:1px solid #7c5e42;border-left:6px solid var(--accent, #cbb083);background:linear-gradient(180deg,#715743,#5b4531);box-shadow:0 3px 9px #00000042,inset 0 1px #fff1cf17}.charm-unlock-row.rarity-common{--accent: #cbb083}.charm-unlock-row.rarity-rare{--accent: #66b7f0}.charm-unlock-row.rarity-epic{--accent: #a98bff}.charm-unlock-row.rarity-legendary{--accent: #ffb64a}.charm-unlock-row.is-earned{--accent: #6fd07a;background:linear-gradient(180deg,#5a663c,#495630);border-color:#7c9159}.charm-unlock-row__icon{position:relative;flex:none;width:68px;height:68px;display:grid;place-items:center;border-radius:14px;border:2px solid var(--accent, #cbb083);background:radial-gradient(circle at 50% 36%,rgba(255,220,150,.16),transparent 66%),#0f0c0d;box-shadow:0 0 0 1px #0006,0 0 16px color-mix(in srgb,var(--accent, #cbb083) 40%,transparent)}.charm-unlock-row__icon img{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5))}.charm-unlock-row.is-earned .charm-unlock-row__icon:after{content:"✓";position:absolute;right:-6px;bottom:-6px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#4f9b52;color:#fff;font-size:13px;font-weight:900;border:2px solid #232c1a;box-shadow:0 1px 4px #00000080}.charm-unlock-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.charm-unlock-row__top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.charm-unlock-row__name{font-family:var(--font-friz, Georgia, serif);font-size:20px;color:#fbeecb}.charm-unlock-row__rarity{font-family:var(--font-ui);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px;color:#231708;background:var(--accent, #cbb083);box-shadow:inset 0 1px #ffffff4d}.charm-unlock-row__status{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-ui);font-size:11px;font-weight:800;letter-spacing:.04em;color:#12210f;background:#6fd07a;padding:4px 11px;border-radius:999px}.charm-unlock-row__desc{margin:0;font-size:13px;line-height:1.4;color:#e6d5ab}.charm-unlock-row__cond{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:3px}.charm-unlock-row__how{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#f2e4c0}.charm-unlock-row__how-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#241a0a;background:var(--gold-soft, #f0d49c);padding:3px 9px;border-radius:999px}.charm-unlock-row__prog{display:flex;align-items:center;gap:9px;margin-left:auto}.charm-unlock-row__bar{display:block;width:132px;height:8px;border-radius:999px;background:#0000006b;overflow:hidden;box-shadow:inset 0 1px 2px #0006}.charm-unlock-row__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 65%,#fff 8%),var(--accent, #cbb083));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,transparent)}.charm-unlock-row__num{font-family:var(--font-number, "Inter", sans-serif);font-size:12px;font-weight:800;color:#e6d5ab;white-space:nowrap}.charm-unlock-row__runtag{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-ui);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f0d49c;background:#00000057;padding:3px 10px 3px 8px;border-radius:999px;border:1px solid #a9834a}.charm-unlock-row__runtag svg{width:12px;height:12px;opacity:.9}.lost-screen__desc{color:#6e4a24;font-size:var(--fs-sm);line-height:1.35}.wishlist-compare{display:flex;flex-direction:column;gap:8px}.wishlist-compare__row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:12px;padding:11px 14px;border:1px solid rgba(110,74,36,.28);border-radius:11px;background:linear-gradient(180deg,#fff6d899,#f0e0bc80);box-shadow:inset 0 1px #fff6}.wishlist-compare__label{justify-self:start;font-family:var(--font-title);font-size:var(--fs-md);color:#452a0d}.wishlist-compare__demo{font-size:var(--fs-md);font-weight:800;color:#7a5a2a}.wishlist-compare__full{font-size:var(--fs-md);font-weight:900;color:#8a5a0e}.wishlist-compare__demo small,.wishlist-compare__full small{display:block;font-size:var(--fs-3xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.wishlist-compare__arrow{font-size:var(--fs-lg);color:#b8862f}.wishlist-screen__pitch{margin:0;font-size:var(--fs-xs);color:#7a5a2a}.wishlist-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.wishlist-cta__icon{color:#d6455f;font-size:1.1em}.lost-screen__btn.wishlist-ghost{background:#fff6d880;border-color:#6e4a2466;color:#5a3d16;box-shadow:inset 0 1px #fff6}.lost-screen__btn.wishlist-ghost:hover,.lost-screen__btn.wishlist-ghost:focus-visible{filter:brightness(1.02)}:root{color-scheme:dark;--font-friz: "Friz Quadrata", "Friz Quadrata Std", "FrizQuadrata", "Friz Quadrata ITC", Georgia, serif;--font-title: "Cinzel", Georgia, serif;--font-ui: "Inter", system-ui, sans-serif;--font-number: "Inter", system-ui, sans-serif;--fs-3xs: 10px;--fs-2xs: 12px;--fs-xs: 14px;--fs-sm: 16px;--fs-md: 19px;--fs-lg: 23px;--fs-xl: 30px;--fs-2xl: 42px;--fs-3xl: 66px;--fs-display: 104px;--bg: #101317;--panel: #251819;--panel-strong: #342224;--panel-dark: #0d1013;--ink: #070607;--line: #634838;--line-cool: #334c58;--text: #fff1cf;--muted: #d1b996;--coin: #ffd45c;--gold-bright: #ffe6a3;--gold-soft: #f0d49c;--danger: #ff5a63;--good: #75e08d;--teal: #5fc8ba;--purple: #8f6ae8;--fish: #66b7f0;--fruit: #e978a8;--spicy: #f7a84d;--dessert: #9a70e8;font-family:var(--font-ui);font-weight:600}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-height:100%;background:linear-gradient(45deg,rgba(255,255,255,.018) 25%,transparent 25%) 0 0 / 16px 16px,linear-gradient(135deg,rgba(95,200,186,.09),transparent 38%),linear-gradient(315deg,rgba(143,106,232,.1),transparent 34%),var(--bg);color:var(--text);font-family:var(--font-ui);font-weight:600}html:lang(tr) *{text-transform:none!important}button{min-height:42px;border:3px solid var(--ink);background:#4a3026;color:var(--text);cursor:pointer;font:inherit;font-family:var(--font-ui);font-weight:700;text-transform:uppercase;box-shadow:inset 0 3px #ffffff24,inset 0 -4px #00000047,0 4px 0 var(--ink)}button:hover:not(:disabled){filter:brightness(1.12)}button:disabled{cursor:not-allowed;filter:grayscale(.8);opacity:.48}.btn-action{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;min-height:58px;border:0;background:transparent;box-shadow:none;color:var(--gold-soft);font-family:var(--font-title);font-size:var(--fs-sm);font-weight:850;letter-spacing:.04em;line-height:1;padding:12px 30px;text-align:center;text-shadow:0 2px 0 rgba(16,9,5,.72),0 0 10px rgba(255,213,135,.16);text-transform:uppercase;white-space:nowrap;transition:filter 80ms steps(2),transform 60ms steps(1)}.btn-action:before{content:"";position:absolute;inset:0;z-index:-1;background:url(../assets/hud/monster-field-bg.webp) center / 100% 100% no-repeat;pointer-events:none}.btn-action--primary{font-size:var(--fs-md);text-shadow:0 2px 0 rgba(42,18,6,.82),0 0 12px rgba(255,212,92,.24)}.btn-action:hover:not(:disabled){filter:brightness(1.12)}.btn-action:active:not(:disabled){transform:translateY(2px)}.btn-action:disabled{cursor:default;opacity:.5;filter:none}.btn-action:disabled:before{filter:grayscale(.72) brightness(.66)}h1,h2,p{margin:0}h1{color:var(--gold-bright);font-family:var(--font-title);font-size:clamp(40px,6vw,72px);font-weight:700;line-height:.95;text-shadow:0 5px 0 #4b201b}h2{color:var(--gold-bright);font-family:var(--font-title);font-size:18px;font-weight:700;text-transform:uppercase}:where(strong,b,.card-stat){font-family:var(--font-number);font-variant-numeric:lining-nums tabular-nums}:where(.card-stat,.resolution-final strong,.service-summary__coins footer strong,.lost-screen__score strong,.lost-screen__stats strong){font-weight:900}.stage-viewport{position:fixed;inset:0;overflow:hidden;background:var(--bg, #070504)}.stage-viewport:before{content:"";position:absolute;inset:-48px;background:url(../assets/backgrounds/kitchen-workshop.webp) center / cover no-repeat;filter:blur(7px) brightness(.7) saturate(.95);z-index:0}.stage{position:absolute;z-index:1;top:50%;left:50%;width:1920px;height:1080px;transform:translate(-50%,-50%) scale(var(--stage-scale, 1));transform-origin:center center;will-change:transform}.app-shell{--hud-offset: 410px;display:grid;grid-template-areas:"hud play";grid-template-columns:minmax(360px,410px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);column-gap:0;row-gap:0;width:100%;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}.app-shell.is-menu{grid-template-areas:"play";grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.play-shell{grid-area:play;display:grid;grid-template-rows:minmax(0,1fr) 430px;position:relative;isolation:isolate;min-height:0;overflow:hidden;border:4px solid var(--ink);border-left:0;background:#120d0b;box-shadow:inset 0 0 0 3px #ffe6a30f,0 12px #090604}.scene-stage{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.scene-stage>*{position:absolute;inset:0;pointer-events:none}.scene-layer{background-position:center;background-size:cover;background-repeat:no-repeat;image-rendering:auto}.scene-layer--bg{background-image:url(../assets/backgrounds/kitchen-workshop-tavern-bg.webp);z-index:1}.scene-layer--monster{background-image:url(../assets/backgrounds/kitchen-workshop-monster.webp);z-index:4}.scene-layer--monster.is-boss-monster{filter:brightness(.95) contrast(1.05) saturate(.95) drop-shadow(0 7px 7px rgba(0,0,0,.5))}.scene-layer--ingredients{background-image:url(../assets/backgrounds/kitchen-workshop-tabletop-ingredients.webp);z-index:5}.scene-layer--table{background-image:url(../assets/backgrounds/kitchen-workshop-table.webp);z-index:3;bottom:-30%}.scene-stage.is-shop .scene-layer--bg{background-image:url(../assets/backgrounds/menu-planning-nook.webp)}.scene-stage.is-shop .scene-layer--monster,.scene-stage.is-shop .scene-layer--ingredients,.scene-stage.is-shop .scene-layer--table{display:none}.scene-vignette{background:linear-gradient(180deg,#08050414,#08050433 48%,#0805048f),radial-gradient(circle at 50% 68%,rgba(255,212,92,.1),transparent 34%);z-index:6}.scene-fire{position:absolute;inset:auto;z-index:3;pointer-events:none;transform:translate(-50%,-100%)}.scene-fire--hearth{left:44.5%;top:40%;width:96px;height:120px}.scene-fire--cauldron{left:68.5%;top:52.5%;width:172px;height:48px}.app-shell.is-menu .scene-fire--cauldron{left:64.7%}.app-shell.is-menu .scene-fire--hearth{left:45.5%;top:40.5%}.app-shell.is-menu .scene-layer--monster{display:none}.scene-fire__glow{position:absolute;left:50%;bottom:-12%;width:150%;height:80%;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at 50% 72%,#ffbc5680,#ff742038 46%,#ff501400 74%);filter:blur(3px);mix-blend-mode:screen;animation:scene-fire-glow 1.8s ease-in-out infinite}.scene-fire__flame{position:absolute;left:50%;bottom:0;transform:translate(-50%);transform-origin:50% 100%;border-radius:46% 46% 50% 50%/34% 34% 78% 78%;mix-blend-mode:screen;animation:scene-fire-lick 1s ease-in-out infinite}.scene-fire__flame--back{width:90%;height:82%;background:linear-gradient(to top,#ff501400,#ff4e14d1 16%,#ff822499 52%,#ffaa3c00);filter:blur(5px);opacity:.8;animation-duration:1.15s}.scene-fire__flame--mid{width:60%;height:70%;background:linear-gradient(to top,#ff3c0f00,#ff4d12 16%,#ff9a26 54%,#ffd25a00);filter:blur(2.5px);animation-duration:.82s;animation-delay:-.25s}.scene-fire__flame--core{width:32%;height:52%;background:linear-gradient(to top,#ff962800,#ffd24a 30%,#fff6d4 70%,#fff0);filter:blur(1.2px);animation-duration:.66s;animation-delay:-.45s}.scene-fire__ember{position:absolute;left:50%;bottom:14%;width:4px;height:4px;border-radius:50%;background:#ffd27a;box-shadow:0 0 6px 2px #ffaa3cb3;mix-blend-mode:screen;opacity:0;animation:scene-fire-ember 2.4s ease-out infinite}.scene-fire__ember:nth-child(5){left:44%;animation-duration:2.4s}.scene-fire__ember:nth-child(6){left:57%;animation-duration:3.1s;animation-delay:-1.4s}@keyframes scene-fire-lick{0%{transform:translate(-50%) scale(1) skew(0);opacity:.85}20%{transform:translate(-52%) scale(.94,1.14) skew(-3deg);opacity:1}45%{transform:translate(-48%) scale(1.05,.92) skew(2deg);opacity:.9}70%{transform:translate(-51%) scale(.97,1.08) skew(-2deg);opacity:1}to{transform:translate(-50%) scale(1) skew(0);opacity:.85}}@keyframes scene-fire-glow{0%,to{opacity:.72;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.08)}}@keyframes scene-fire-ember{0%{transform:translate(-50%) translateY(0) scale(1);opacity:0}20%{opacity:.85}to{transform:translate(-50%) translateY(-52px) scale(.2);opacity:0}}@media(prefers-reduced-motion:reduce){.scene-fire__flame,.scene-fire__glow,.scene-fire__ember{animation:none}}:root[data-reduced-motion=true] .scene-fire__flame,:root[data-reduced-motion=true] .scene-fire__glow,:root[data-reduced-motion=true] .scene-fire__ember{animation:none}.play-shell.is-overlay{grid-template-rows:minmax(0,1fr)}.game-shell{position:relative;min-height:0;overflow:hidden;border-bottom:0;background:transparent}.play-shell.is-overlay .game-shell{border-bottom:0}.panel,.modal{border:4px solid var(--ink);background:linear-gradient(180deg,rgba(255,241,207,.045),transparent 6rem),linear-gradient(135deg,rgba(95,200,186,.035),transparent 48%),var(--panel);box-shadow:inset 0 0 0 3px #ffe6a312,0 6px #090604}.hud{grid-area:hud;position:relative;z-index:3;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,1.8vh,22px);min-width:0;min-height:0;overflow:visible;background:#120d0b url(../assets/ui/sidebar-backdrop-only.webp) center / 100% 100% no-repeat;padding:clamp(25px,7.5vh,25px) clamp(10px,1.1vw,16px) clamp(24px,4vh,44px)}.hud:before{content:none}.hud>*{min-width:0;min-height:0}.coin-pocket{--pocket-w: clamp(168px, 15vw, 224px);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:var(--pocket-w);aspect-ratio:3 / 1;margin-inline:auto;padding:calc(var(--pocket-w) * .05) calc(var(--pocket-w) * .12);background:url(../assets/hud/coin-counter-badge.webp) center / 100% 100% no-repeat;color:var(--coin);pointer-events:auto}.coin-pocket .coin-icon{display:inline-block;flex:0 0 auto;width:38px;height:38px;background:url(../assets/ui/icons/coin-icon.webp) center / contain no-repeat;image-rendering:pixelated}.coin-pocket strong{font-size:26px;font-weight:950;line-height:1;text-shadow:0 3px 0 #3c2410}.feed-button{min-height:44px;font-size:15px}.panel{padding:14px}.primary{color:#221107}.danger{color:var(--danger)}.good{color:var(--good)}.hud-menu-fab{position:absolute;top:clamp(10px,1.4vh,16px);right:clamp(10px,1vw,16px);z-index:50;display:grid;place-items:center;width:clamp(40px,4vw,50px);height:clamp(40px,4vw,50px);padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;transition:filter .11s steps(2),transform .13s steps(3)}.hud-menu-fab:hover:not(:disabled){filter:brightness(1.15);transform:scale(1.08)}.hud-menu-fab:active:not(:disabled){filter:brightness(.9);transform:scale(.93)}.hud-menu-fab__icon{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));pointer-events:none}.charm-shelf{position:relative;z-index:20;container-type:inline-size;flex:0 1 auto;width:min(98%,372px);max-height:100%;aspect-ratio:901 / 1400;display:grid;align-content:start;overflow:visible;border:0;background:transparent;box-shadow:none;padding:clamp(46px,5.8vh,62px) clamp(20px,2vw,32px) clamp(14px,1.8vh,22px)}.charm-shelf:before{content:"";position:absolute;inset:0;z-index:0;background:url(../assets/ui/charm-board-bg.webp) center / 100% 100% no-repeat;pointer-events:none}.charm-shelf__row{position:absolute;inset:0;z-index:1;display:block;min-width:0;min-height:0;overflow:visible;padding:0}.charm-popup{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);z-index:200;width:210px;display:grid;gap:8px;border:3px solid var(--ink);background:linear-gradient(180deg,rgba(255,241,207,.07),transparent 5rem),#17100d;box-shadow:inset 0 0 0 2px #ffe6a30f,0 6px #090604;padding:12px;pointer-events:auto}.charm-popup__rarity{color:var(--muted);font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}.charm-popup__rarity.rarity-common{color:#d7bd91}.charm-popup__rarity.rarity-rare{color:var(--teal)}.charm-popup__rarity.rarity-epic{color:var(--rarity-epic, #a335ee)}.charm-popup__rarity.rarity-legendary{color:var(--coin)}.charm-popup__name{color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-sm);line-height:1;text-transform:uppercase}.charm-popup__quote{color:var(--coin);font-size:var(--fs-xs);font-style:italic;font-weight:950;line-height:1.2}.charm-popup__desc{color:var(--muted);font-size:var(--fs-xs);line-height:1.35;margin:0;text-transform:none}.charm-popup__stack{display:block;padding:5px 9px;border-radius:7px;background:#ffd45c1a;box-shadow:inset 0 0 0 1px #ffd45c47;color:var(--gold-bright);font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;line-height:1.3;letter-spacing:.02em}.charm-popup__uses{font-family:var(--font-number);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--coin)}.charm-popup__sell{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:32px;border:2px solid #5d4732;background:linear-gradient(180deg,rgba(255,200,90,.1),transparent 58%),#1a130e;color:var(--coin);font-family:var(--font-title);font-size:var(--fs-xs);font-weight:950;letter-spacing:.04em;padding:5px 10px;text-transform:uppercase;transition:filter 80ms steps(2),transform 60ms steps(1)}.charm-popup__sell:hover{filter:brightness(1.15)}.charm-popup__sell:active{transform:translateY(2px)}.charm-popup__sell .coin-icon{width:14px;height:14px}.charm-token{position:relative;display:grid;place-items:center;width:clamp(34px,3.4vw,44px);height:clamp(34px,3.4vw,44px);border:2px solid #3f2a22;background:radial-gradient(circle at 50% 38%,rgba(255,212,92,.16),transparent 58%),linear-gradient(180deg,rgba(255,241,207,.08),transparent 48%),#120c0a;box-shadow:inset 0 0 0 2px #ffe6a30f,0 4px #090604;cursor:grab;padding:5px;touch-action:none}.charm-token:active{cursor:grabbing}.charm-token:focus-visible{outline:3px solid var(--coin);outline-offset:2px}.charm-token:hover,.charm-token:focus-visible,.charm-token.is-selected{z-index:50}.charm-token img{width:76%;height:76%;object-fit:contain;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 3px 0 rgba(0,0,0,.42)) drop-shadow(0 8px 8px rgba(0,0,0,.22))}.charm-token--hanging{--charm-width: clamp(40px, 28cqw, 94px);--charm-anchor-offset: calc(var(--charm-width) * .125);--slot-x: 50%;--slot-y: 28%;position:absolute;top:calc(var(--slot-y) - var(--charm-anchor-offset));left:calc(var(--slot-x) - (var(--charm-width) / 2));width:var(--charm-width);height:calc(var(--charm-width) * 1.25);border:0;background:transparent;box-shadow:none;padding:0;transform-origin:50% 10%}.charm-slot--empty{cursor:default;pointer-events:none}.charm-slot--empty.is-drop-target{pointer-events:auto}.charm-slot--empty.is-drop-target:after{content:"";position:absolute;inset:10% 6% 34%;border-radius:50%;border:2px dashed rgba(255,212,92,.62);background:#ffd45c1a;pointer-events:none}.charm-token--hanging:nth-child(1){--slot-x: 26.25%;--slot-y: 21%}.charm-token--hanging:nth-child(2){--slot-x: 50%;--slot-y: 21%}.charm-token--hanging:nth-child(3){--slot-x: 73.75%;--slot-y: 21%}.charm-token--hanging:nth-child(4){--slot-x: 36%;--slot-y: 45%}.charm-token--hanging:nth-child(5){--slot-x: 62.2%;--slot-y: 45%}.charm-token--hanging:nth-child(6){--slot-x: 26.2%;--slot-y: 70.25%}.charm-token--hanging:nth-child(7){--slot-x: 49.7%;--slot-y: 70.25%}.charm-token--hanging:nth-child(8){--slot-x: 74%;--slot-y: 70.25%}.charm-token--hanging .charm-token__swing{position:relative;display:block;width:100%;height:100%;transform-origin:50% 10%;animation:charm-swing 3.7s ease-in-out infinite;filter:drop-shadow(0 3px 0 rgba(0,0,0,.34)) drop-shadow(0 10px 10px rgba(0,0,0,.24));pointer-events:none}.charm-token--hanging:hover .charm-token__swing,.charm-token--hanging:focus-visible .charm-token__swing{animation-duration:1.55s}.charm-token--hanging img.charm-token__charm{position:absolute;z-index:1;top:0;left:50%;width:100%;height:100%;object-fit:contain;object-position:center bottom;image-rendering:auto;transform:translate(-50%)}.charm-token.rarity-rare{border-color:var(--teal)}.charm-token.rarity-epic{border-color:var(--rarity-epic, #a335ee)}.charm-token.rarity-legendary{border-color:var(--coin);background:linear-gradient(90deg,#ffd45c2e,#8f6ae81a),#17100d}.charm-token--hanging.rarity-legendary{background:transparent}.charm-token--hanging.rarity-legendary .charm-token__swing{filter:drop-shadow(0 0 8px rgba(255,209,95,.28)) drop-shadow(0 3px 0 rgba(0,0,0,.34)) drop-shadow(0 10px 10px rgba(0,0,0,.24))}.charm-token.is-dragging{opacity:.48;transform:scale(.92)}.charm-token.is-active{animation:charm-trigger 1.05s steps(7) both;z-index:2}.charm-token--hanging.is-active .charm-token__swing{animation:charm-swing 1.1s ease-in-out infinite,charm-glow-pulse .54s ease-in-out infinite alternate}@keyframes charm-trigger{0%,to{filter:none;transform:translateY(0) rotate(0)}18%{filter:brightness(1.35);transform:translateY(-5px) rotate(-3deg)}36%{transform:translateY(-4px) rotate(3deg)}54%{transform:translateY(-3px) rotate(-2deg)}74%{filter:brightness(1.2);transform:translateY(-2px) rotate(1deg)}}@keyframes charm-swing{0%,to{transform:rotate(-2.2deg)}50%{transform:rotate(2.4deg)}}@keyframes charm-glow-pulse{0%{filter:drop-shadow(0 0 4px rgba(255,212,92,.6)) drop-shadow(0 3px 0 rgba(0,0,0,.34)) drop-shadow(0 10px 10px rgba(0,0,0,.24))}to{filter:drop-shadow(0 0 12px rgba(255,212,92,1)) drop-shadow(0 0 24px rgba(255,212,92,.55)) drop-shadow(0 3px 0 rgba(0,0,0,.34)) drop-shadow(0 10px 10px rgba(0,0,0,.24))}}.active-menu{position:absolute;top:0;right:0;z-index:1;display:flex;flex-direction:column;width:min(404px,100%);aspect-ratio:1024 / 1536;min-height:0;max-height:calc(100% - clamp(20px,3.2vh,36px));padding:108px 64px 56px;border:0;border-radius:0;background:url(../assets/ui/active-menu-scroll-open.webp) center / 100% 100% no-repeat;box-shadow:none;overflow:hidden;pointer-events:auto;cursor:pointer;transform-origin:top center;clip-path:inset(0 0 0 0);transition:clip-path .38s cubic-bezier(.2,.8,.25,1),filter .15s ease,transform .15s ease}.active-menu:hover{filter:brightness(1.05);transform:scale(1.012)}.active-menu.is-collapsed{clip-path:inset(0 0 86.5% 0)}.active-menu.is-collapsed .active-menu__courses{opacity:0;pointer-events:none}.active-menu__collapsed-label{position:absolute;top:44px;left:64px;right:64px;text-align:center;color:#2b1608;font-family:var(--font-title);font-size:var(--fs-md);font-weight:900;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,248,225,.5);pointer-events:none}.active-menu__courses{flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-start;gap:0;min-height:0;overflow-y:auto;padding:9px 3px 0 0;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 12px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 10px,#000 calc(100% - 12px),transparent 100%);transition:opacity .22s ease}@media(prefers-reduced-motion:reduce){.active-menu,.active-menu__courses{transition:none}}.active-menu__courses::-webkit-scrollbar{width:3px}.active-menu__courses::-webkit-scrollbar-thumb{background:#ffe6a347;border-radius:2px}.active-menu__course-title{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 2px;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.active-menu__course-title{text-shadow:0 1px 0 rgba(255,248,225,.6),0 0 1px rgba(0,0,0,.35)}.active-menu__course-title--appetizer{color:#134a6b}.active-menu__course-title--main{color:#8a3210}.active-menu__course-title--dessert{color:#4d2a7a}.active-menu__course-title:before,.active-menu__course-title:after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(101,66,34,.5) 45%,rgba(101,66,34,.5) 55%,transparent)}.active-menu__course-bonus{font-family:var(--font-number);font-size:var(--fs-xs);font-weight:800;letter-spacing:.02em;padding:1px 6px;border-radius:6px;background:var(--good);color:var(--ink)}.active-menu__list{display:flex;flex-direction:column;gap:3px;margin:0;padding:0 10px;list-style:none}.active-menu__course+.active-menu__course{margin-top:7px}.menu-item{display:flex;flex-direction:column;gap:2px;padding:2px 2px 4px}.menu-item__name{display:flex;align-items:baseline;gap:4px;color:#2c1e08;font-family:var(--font-title);font-size:var(--fs-xs);font-weight:700;line-height:1.1;letter-spacing:.01em;text-shadow:0 1px 0 rgba(255,249,228,.65),0 0 1px rgba(30,14,0,.4)}.menu-item__check{display:inline-grid;place-items:center;align-self:center;flex:none;width:16px;height:16px;border-radius:50%;border:1px solid #1f6e34;background:linear-gradient(180deg,#66d381,#2f9a4e);color:#0b3817;font-size:10px;font-weight:900;line-height:1;box-shadow:0 0 6px #60d0788c}.menu-item.is-complete{position:relative}.menu-item.is-complete:before{content:"";position:absolute;inset:-1px -5px;border-radius:10px;background:radial-gradient(135% 130% at 2% 50%,rgba(96,206,120,.34),transparent 64%);pointer-events:none;animation:menu-item-served 2s ease-in-out infinite}.menu-item.is-complete .menu-item__name{font-weight:900}@keyframes menu-item-served{0%,to{opacity:.55}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.menu-item.is-complete:before{animation:none;opacity:.8}}.menu-item__chosen{color:#8a5c06;cursor:help}.menu-item__tags{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:5px}.menu-item__rarity{flex:none;padding:1px 6px;border-radius:999px;color:#fff8ec;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:900;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 1px 1px rgba(0,0,0,.45)}.menu-item.rarity-common .menu-item__rarity{background:#7a6238;border:1px solid #5c4a2a}.menu-item.rarity-rare .menu-item__rarity{background:#1f6aa6;border:1px solid #124d7c}.menu-item.rarity-epic .menu-item__rarity{background:#7638b8;border:1px solid #572888}.menu-item.rarity-legendary .menu-item__rarity{background:#c1740f;border:1px solid #90530a}.menu-item__meta{display:flex;align-items:center;gap:5px}.menu-item__ings{display:flex;flex:none;flex-wrap:nowrap;gap:3px}.menu-item__ing{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:5px;border:1px solid rgba(101,66,34,.42);background:#fff6e080}.menu-item__ing img{width:90%;height:90%;object-fit:contain}.menu-item__ing.is-matched{border-color:#378c4be6;background:#78d2828c;box-shadow:0 0 4px #46b45f80}.menu-item__leader{flex:1 1 auto;align-self:center;min-width:8px;height:0;border-bottom:1px dotted rgba(92,62,30,.55)}.menu-item__price{flex:none;display:inline-flex;align-items:baseline;gap:4px;font-family:var(--font-number);font-weight:900}.menu-item__price .pack-recipe-card__cal,.menu-item__price .pack-recipe-card__mult,.menu-item__tags .active-menu-card__level{padding:0 6px;font-size:var(--fs-3xs)}.menu-item__price .pack-recipe-card__cal small{font-size:var(--fs-3xs)}.menu-item__price.is-granny .pack-recipe-card__cal{color:#ffd044;font-style:italic;background:color-mix(in srgb,#ffd044 16%,rgba(0,0,0,.34));border-color:color-mix(in srgb,#ffd044 45%,transparent)}.active-menu-card__level{display:inline-flex;align-items:baseline;border-radius:999px;font-weight:900;line-height:1.5;letter-spacing:.02em;color:#fbf2ff;background:linear-gradient(180deg,#7d55b4,#5c3a90);border:1px solid #472b73;text-shadow:0 1px 1px rgba(0,0,0,.45)}.active-menu__recipe{display:flex;flex-direction:column;gap:3px;width:100%;padding:4px 7px;border:1.5px solid color-mix(in srgb,var(--rarity, #777) 78%,#000);border-radius:7px;background:linear-gradient(180deg,color-mix(in srgb,var(--rarity, #777) 40%,#1f1714),color-mix(in srgb,var(--rarity, #777) 20%,#140e0c));box-shadow:inset 0 1px #ffffff17,0 3px 7px #00000080}.active-menu__recipe.is-complete{border-color:#ffd044;animation:active-menu-complete-pulse 1.5s ease-in-out infinite}@keyframes active-menu-complete-pulse{0%,to{box-shadow:inset 0 1px #ffffff1f,0 0 0 1px #ffd04466,0 0 6px #ffc83c40,0 3px 7px #00000080}50%{box-shadow:inset 0 1px #ffffff24,0 0 0 1px #ffd044b3,0 0 14px #ffc83c80,0 3px 7px #00000080}}.active-menu__recipe-head{display:flex;align-items:center;gap:6px}.active-menu__recipe-name{flex:1 1 auto;overflow:hidden;color:#f6ead2;font-family:var(--font-title);font-size:var(--fs-sm);font-weight:700;line-height:1.05;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.7);text-transform:uppercase;white-space:nowrap}.active-menu__recipe.is-complete .active-menu__recipe-name{color:var(--gold-bright)}.active-menu__ingredients{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.active-menu__ing{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(0,0,0,.5);border-radius:5px;background:linear-gradient(180deg,#00000052,#00000080);box-shadow:inset 0 1px 2px #00000080;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.active-menu__ing.is-matched{border-color:#78dc78d9;background:#50c86452;box-shadow:inset 0 0 5px #78dc7866,0 0 5px #50c86466}.active-menu__ing img{width:84%;height:84%;object-fit:contain}.active-menu__reward{display:flex;align-items:baseline;gap:3px;color:#f1e6d0;font-family:var(--font-number);font-size:var(--fs-xs);font-weight:900;text-shadow:0 1px 1px rgba(0,0,0,.5)}.active-menu__reward small{color:#f1e6d09e;font-size:var(--fs-2xs);font-weight:800;text-transform:uppercase}.active-menu__reward-mult{margin-left:3px;color:var(--coin)}.hand-panel{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:visible;background:linear-gradient(180deg,#0c070500,#0c070538 42%,#0c070594);padding:4px 12px 10px}.hand-panel__header{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:4px}.deck-pile{position:absolute;right:36px;bottom:210px;z-index:7;display:grid;gap:4px;justify-items:center;place-items:center}.deck-pile:hover{z-index:40}.deck-breakdown{position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:100;min-width:160px;border:2px solid var(--ink);background:linear-gradient(180deg,rgba(255,212,92,.08),transparent 3rem),#120c0a;box-shadow:inset 0 0 0 1px #ffe6a312,0 5px #090604b3;padding:8px 10px;pointer-events:none}.deck-breakdown__header{color:var(--muted);font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;line-height:1;margin:0 0 6px;padding-bottom:5px;border-bottom:1px solid rgba(255,230,163,.12);text-transform:uppercase}.deck-breakdown__rows{display:flex;flex-flow:column wrap;align-content:flex-start;max-height:360px;gap:0 16px}.deck-breakdown__row{display:flex;align-items:center;gap:6px;padding:2px 0;min-width:168px}.deck-breakdown__icon{flex:0 0 auto;width:16px;height:16px;object-fit:contain;image-rendering:pixelated}.deck-breakdown__name{flex:1;color:var(--text);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:600;text-transform:capitalize;white-space:nowrap}.deck-breakdown__count{color:var(--coin);font-family:var(--font-number);font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.deck-breakdown__row--upgrade .deck-breakdown__name{font-weight:800}.deck-breakdown__row.upgrade-jumbo .deck-breakdown__name{color:var(--good)}.deck-breakdown__row.upgrade-premium .deck-breakdown__name{color:#b89bff}.deck-breakdown__row.upgrade-gilded .deck-breakdown__name{color:var(--coin)}.deck-pile__count{position:absolute;z-index:3;bottom:-0%;left:56%;transform:translate(-50%);display:inline-flex;align-items:baseline;gap:2px;padding:3px 12px 4px;border:1.5px solid #d6a33b;border-radius:999px;background:linear-gradient(180deg,rgba(255,214,110,.14),transparent 55%),linear-gradient(180deg,#2a1808,#170d05);box-shadow:inset 0 1px #ffe09638,0 2px 5px #0000008c;white-space:nowrap}.deck-pile__count b{color:var(--gold-bright);font-family:var(--font-number);font-size:var(--fs-sm);font-weight:900;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.6)}.deck-pile__count i{color:#b8966a;font-family:var(--font-number);font-size:var(--fs-2xs);font-style:normal;font-weight:800;line-height:1}.deck-pile__stack{position:relative;display:block;width:184px;aspect-ratio:1024 / 1536;image-rendering:pixelated}.deck-pile__card{position:absolute;top:8%;left:20.5%;width:74%;height:81%;display:block;border:0;object-fit:fill;image-rendering:pixelated;z-index:1}.deck-pile__frame{position:absolute;inset:0;z-index:2;display:block;width:110%;height:100%;border:0;object-fit:fill;image-rendering:auto;pointer-events:none}.deck-pile.is-dealing .deck-pile__stack{animation:deck-deal-pulse .52s steps(4)}.hand-panel__header span{color:var(--coin);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase}.hand-panel__header strong{color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-sm);font-weight:700;text-transform:uppercase}.hand-panel__header em{color:var(--muted);font-style:normal;font-weight:900;text-transform:uppercase}.hand-grid{display:flex;align-items:end;justify-content:center;min-height:0;overflow:visible;padding:22px 22px 0}.food-card{--card-rotate: 0deg;--card-offset: 0px;--card-z: 1;--hover-lift: 18px;--hover-scale: 1.035;--peek-shift: 52px;--selected-lift: 48px;--flip-x: 0px;--drag-x: 0px;display:block;flex:0 0 176px;width:176px;min-height:0;border:0;background:transparent;box-shadow:none;height:auto;padding:0;text-align:initial;touch-action:none;cursor:grab;transform:translate(var(--flip-x)) translateY(var(--card-offset)) rotate(var(--card-rotate));transform-origin:50% 100%;transition:filter .12s steps(2),transform .18s cubic-bezier(.2,.9,.18,1);z-index:var(--card-z)}.food-card+.food-card{margin-left:-56px}.food-card:hover:not(:disabled){filter:brightness(1.08);transform:translateY(calc(var(--card-offset) - var(--hover-lift))) rotate(0) scale(var(--hover-scale));z-index:30}.food-card.selected,.food-card.selected:hover:not(:disabled){filter:drop-shadow(0 0 0 var(--coin)) drop-shadow(0 12px 12px rgba(0,0,0,.34)) brightness(1.12);transform:translateY(calc(var(--card-offset) - var(--selected-lift))) rotate(var(--card-rotate)) scale(1.02);z-index:32}.food-card:hover:not(:disabled)~.food-card{transform:translate(var(--peek-shift)) translateY(var(--card-offset)) rotate(var(--card-rotate))}.food-card:hover:not(:disabled)~.food-card.selected{transform:translate(var(--peek-shift)) translateY(calc(var(--card-offset) - var(--selected-lift))) rotate(var(--card-rotate)) scale(1.02)}.food-card.is-dealing,.food-card.is-discarding,.food-card.is-playing,.hand-panel.is-animating .food-card{pointer-events:none}.food-card.is-dealing{animation:card-deal-in .54s cubic-bezier(.18,.88,.24,1.08) both;animation-delay:var(--deal-delay, 0ms)}.food-card.is-discarding{animation:card-discard-out .3s cubic-bezier(.62,0,.8,.42) both;animation-delay:var(--discard-delay, 0ms)}.food-card.is-playing{animation:card-play-out .32s cubic-bezier(.55,0,.85,.45) both}.hand-grid.is-reordering .food-card.is-dragging,.hand-grid.is-reordering .food-card.is-dragging:hover:not(:disabled){transition:none;z-index:60;cursor:grabbing;filter:drop-shadow(0 16px 20px rgba(0,0,0,.42)) brightness(1.08);transform:translate(var(--drag-x)) translateY(calc(var(--card-offset) - 30px)) rotate(0) scale(1.08)}.hand-grid.is-reordering .food-card:not(.is-dragging){pointer-events:none}.hand-grid.is-reordering .food-card.is-dragging~.food-card{transform:translate(var(--flip-x)) translateY(var(--card-offset)) rotate(var(--card-rotate))}.hand-grid.is-reordering .food-card.is-dragging~.food-card.selected{transform:translate(var(--flip-x)) translateY(calc(var(--card-offset) - var(--selected-lift))) rotate(var(--card-rotate)) scale(1.02)}@keyframes deck-deal-pulse{0%,to{filter:none;transform:translateY(0) rotate(0)}45%{filter:brightness(1.18);transform:translateY(-5px) rotate(2deg)}}@keyframes card-deal-in{0%{opacity:0;transform:translate(150px,-152px) rotate(18deg) scale(.52)}62%{opacity:1;transform:translateY(calc(var(--card-offset) - 12px)) rotate(0) scale(1.045)}to{opacity:1;transform:translateY(var(--card-offset)) rotate(var(--card-rotate)) scale(1)}}@keyframes card-discard-out{0%{opacity:1;transform:translateY(var(--card-offset)) rotate(var(--card-rotate)) scale(1)}to{opacity:0;transform:translate(-150px,116px) rotate(-22deg) scale(.62)}}@keyframes card-play-out{0%{opacity:1;transform:translateY(calc(var(--card-offset) - var(--selected-lift))) rotate(var(--card-rotate)) scale(1.02)}to{opacity:0;transform:translate(-240px,-34px) rotate(-13deg) scale(.58)}}@keyframes feed-btn-breathe{0%,to{filter:drop-shadow(0 6px 0 rgba(23,11,4,.52)) drop-shadow(0 0 24px rgba(121,236,67,.36))}50%{filter:drop-shadow(0 6px 0 rgba(23,11,4,.52)) drop-shadow(0 0 38px rgba(137,255,77,.54))}}.game-card{position:relative;display:block;width:100%;aspect-ratio:2 / 3;margin:0 auto;color:#fff0c5;image-rendering:pixelated;container-type:inline-size}.hand-feed-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.5fr) minmax(0,1fr);align-items:center;gap:22px;padding-top:4px}.hand-feed-row .action-bar-button{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;border:0;background:transparent;box-shadow:none;color:#f5d58b;font-family:var(--font-title);font-weight:850;letter-spacing:0;line-height:1;overflow:visible;padding:0;text-align:left;text-shadow:0 2px 0 rgba(16,9,5,.72),0 0 10px rgba(255,213,135,.16);transition:filter 80ms steps(2),box-shadow .2s ease,transform 60ms steps(1)}.hand-feed-row .action-bar-button:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--action-button-bg) center / 100% 100% no-repeat;pointer-events:none}.hand-feed-row .action-bar-button--secondary{--action-button-bg: url(../assets/hud/monster-field-bg.webp);min-height:90px;gap:12px;padding:10px 24px}.hand-feed-row .action-bar-button--primary{--action-button-bg: url(../assets/hud/monster-field-bg.webp);min-height:96px;gap:16px;padding:13px 36px;color:#f3cf83;text-align:center;text-shadow:0 2px 0 rgba(42,18,6,.82),0 0 12px rgba(255,212,92,.24)}.hand-feed-row .feed-button{position:relative;justify-self:center;width:184px;min-height:0;aspect-ratio:1;padding:0;filter:drop-shadow(0 6px 0 rgba(23,11,4,.52))}.feed-button__count{position:absolute;left:50%;bottom:8%;transform:translate(-50%);padding:2px 12px;border-radius:999px;background:#170b04d1;border:2px solid rgba(255,205,106,.55);color:var(--gold-soft);font-family:var(--font-title);font-size:var(--fs-md);font-weight:900;line-height:1;letter-spacing:.02em;pointer-events:none;white-space:nowrap}.hand-feed-row .feed-button:before{display:none}.feed-button__icon{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto;pointer-events:none}.hand-feed-row .action-bar-button--primary strong{color:var(--gold-soft);font-family:var(--font-title);font-size:var(--fs-xl);font-weight:900;line-height:.95;text-align:center;text-transform:uppercase;white-space:nowrap}.action-bar-button__copy{display:grid;min-width:0;gap:2px}.action-bar-button__copy strong{color:var(--gold-soft);font-family:var(--font-title);font-size:var(--fs-md);font-weight:900;line-height:1;text-transform:uppercase;white-space:nowrap}.action-bar-button__copy small{display:block;min-width:0;color:#d3ad6b;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:800;line-height:1.08;text-transform:none;white-space:nowrap}.action-bar-button__icon{flex:0 0 auto;display:block;width:clamp(34px,2.05vw,52px);height:clamp(34px,2.5vw,52px);object-fit:contain;filter:drop-shadow(0 2px 0 rgba(0,0,0,.55)) drop-shadow(0 0 8px rgba(255,205,106,.18));pointer-events:none}.hand-feed-row .feed-button:not(:disabled){animation:feed-btn-breathe 2.6s ease-in-out infinite}.hand-feed-row .action-bar-button:hover:not(:disabled){filter:brightness(1.1)}.hand-feed-row .action-bar-button:active:not(:disabled){transform:translateY(3px)}.hand-feed-row .action-bar-button:disabled{animation:none;opacity:.5}.hand-feed-row .action-bar-button:disabled:before{filter:grayscale(.72) brightness(.66)}.hand-feed-row .action-bar-button--secondary:disabled{cursor:default;opacity:1;filter:none}.hand-feed-row .action-bar-button--secondary:disabled:before{filter:none}.hand-feed-row .action-bar-button--secondary:disabled .action-bar-button__copy,.hand-feed-row .action-bar-button--secondary:disabled .action-bar-button__icon{opacity:.62}.game-card>img,.card-food-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.game-card__ribbon{clip-path:inset(0 0 74% 0)}.game-card__gem{transform:scale(1.35);transform-origin:50% 7%}.card-food-art{display:grid;place-items:center;padding:22% 20% 19%}.card-food-art img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 0 rgba(25,12,8,.42)) drop-shadow(0 12px 10px rgba(25,12,8,.26))}.card-name,.card-stat,.card-type,.card-effect{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none}.card-name,.card-stat,.card-type{font-family:var(--font-ui);color:#fff3c5;font-weight:950;line-height:1;text-transform:uppercase;text-shadow:2px 0 #1b0d09,-2px 0 #1b0d09,0 2px #1b0d09,0 -2px #1b0d09,2px 2px #1b0d09}.card-name{left:19.14%;top:10.68%;width:62.11%;height:8.33%;font-size:8.4cqw;overflow:hidden}.card-stat{left:43.36%;top:81.2%;width:13.28%;height:8.4%;color:#fff8da;font-family:var(--font-number);font-size:11.5cqw;font-weight:900}.card-stat.is-roasted{color:#7ef2a0;text-shadow:0 0 6px rgba(48,200,106,.55)}.deck-pile.is-no-waste .deck-pile__stack{animation:no-waste-pulse .9s ease-in-out 2}.deck-pile__no-waste{position:absolute;left:50%;top:-14%;transform:translate(-50%);white-space:nowrap;padding:2px 10px;border-radius:10px;background:#183c22eb;border:1px solid #58c97c;color:#9df5b8;font-size:12px;font-weight:700;pointer-events:none;animation:no-waste-float 1.8s ease-out forwards;z-index:5}@keyframes no-waste-pulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 12px rgba(88,201,124,.85)) brightness(1.15)}}@keyframes no-waste-float{0%{opacity:0;translate:0 8px}15%{opacity:1;translate:0 0}80%{opacity:1}to{opacity:0;translate:0 -10px}}.card-type{left:25%;top:66.15%;width:50%;height:7.03%;font-size:7.4cqw}.card-effect{left:14.84%;top:77%;width:70.31%;height:11.46%;color:#342013;font-size:5.8cqw;font-weight:950;line-height:1.16;text-shadow:none;text-transform:none}.card-calorie-badge{position:absolute;top:-11px;left:50%;transform:translate(-50%);z-index:2;display:flex;align-items:center;justify-content:center;min-width:22cqw;height:14cqw;border:2px solid var(--ink);border-radius:2px;font-family:var(--font-number);font-size:8.4cqw;font-weight:900;line-height:1;padding:1.5cqw 3cqw;pointer-events:none;white-space:nowrap}.card-calorie-badge--recipe{background:var(--coin);color:#1a0e09}.card-calorie-badge--filler{background:#3e2e28;color:#8a7068}.recipe-book{position:relative;z-index:0;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;align-self:stretch;justify-self:stretch;width:100%;height:100%;min-height:0;overflow:visible;border:0;background:transparent;box-shadow:none;padding:15% 11% 13.5% 17.5%}.recipe-book:before{content:"";position:absolute;inset:0;z-index:0;background:url(../assets/ui/empty-recipe-book-page.webp) center / 100% 100% no-repeat;pointer-events:none}.recipe-book>*{position:relative;z-index:1}.recipe-book__filters{display:flex;gap:0;border-bottom:1.5px solid rgba(86,49,20,.28);margin-bottom:8px}.recipe-filter-btn{flex:1;min-height:0;border:0;border-bottom:2.5px solid transparent;background:none;box-shadow:none;color:#9a6840;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:700;letter-spacing:.05em;line-height:1;margin-bottom:-1.5px;padding:5px 4px 7px;text-transform:uppercase;cursor:pointer;transition:color .1s steps(2),border-color .1s steps(2)}.recipe-filter-btn:hover:not(:disabled){color:#5a2e10;filter:none}.recipe-filter-btn.is-active{color:#3b1f10;border-bottom-color:#7a421f}.recipe-book__list{display:flex;flex-direction:column;gap:5px;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px}.recipe-book__list::-webkit-scrollbar{width:3px}.recipe-book__list::-webkit-scrollbar-track{background:#5631141a;border-radius:2px}.recipe-book__list::-webkit-scrollbar-thumb{background:#5631145c;border-radius:2px}.recipe{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;flex:0 0 auto;border:1.5px solid color-mix(in srgb,var(--rarity, transparent) 50%,rgba(58,32,12,.7));border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--rarity, transparent) 32%,rgba(206,178,132,.96)),color-mix(in srgb,var(--rarity, transparent) 32%,rgba(178,146,100,.94)));padding:8px 10px;box-shadow:inset 0 1px #fff4d666,0 3px 8px #2212046b;transition:border-color .12s steps(2),background .12s steps(2),box-shadow .12s steps(2)}.recipe.partial{border-color:#754d386b;background:linear-gradient(90deg,#754d2824,#ffe5a80f 55%,#754d281a),#5c33111a}.recipe.active-course{border-color:#8c5f3f85}.recipe.complete{border-color:#c8a020;border-width:2px;overflow:hidden;background:linear-gradient(90deg,#ffd43c47,#ffec8c1a 50%,#ffd43c38),#5c33112e;box-shadow:inset 0 1px #ffef8c47,inset 0 -1px #8c5a0a33,0 0 0 1px #c8a0202e,0 2px 10px #c896142e}.recipe.complete:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,235,100,.22) 50%,transparent 70%);background-size:300% 100%;animation:recipe-complete-shimmer 3.6s steps(14) infinite;pointer-events:none;z-index:2}.recipe__art{position:relative;display:grid;place-items:center;width:64px;aspect-ratio:1;border:1.5px solid #5b3c2f;border-radius:5px;background:radial-gradient(circle at 48% 42%,rgba(255,212,92,.1),transparent 55%),#371c0d47;overflow:hidden;flex:0 0 auto}.recipe.partial .recipe__art{border-color:#754d38}.recipe.complete .recipe__art{border-color:#c8a020;border-width:2px;background:radial-gradient(circle at 48% 42%,rgba(255,212,92,.32),transparent 62%),#371c0d47;box-shadow:inset 0 0 10px #c8a02047}.recipe__complete-badge{position:absolute;bottom:3px;right:3px;font-size:var(--fs-2xs);line-height:1;color:#ffd044;text-shadow:0 0 6px rgba(255,200,40,.9),0 1px 0 rgba(0,0,0,.5);z-index:1;pointer-events:none}.recipe__art img{width:92%;height:92%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 2px rgba(0,0,0,.32))}.recipe__body{display:grid;gap:7px;min-width:0}.recipe__name{min-width:0;overflow:hidden;color:#3b1f10;font-family:var(--font-title);font-size:var(--fs-xs);font-weight:700;line-height:1.05;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,236,180,.32);text-transform:uppercase;white-space:nowrap}.recipe.complete .recipe__name{color:#7a5008;text-shadow:0 1px 0 rgba(255,220,80,.5)}.recipe__course-tag{flex:0 0 auto;font-family:var(--font-ui);font-size:var(--fs-3xs);font-style:normal;font-weight:900;letter-spacing:.06em;line-height:1;padding:3px 6px;border-radius:3px;text-transform:uppercase;white-space:nowrap}.recipe__course-tag--appetizer{border:1.5px solid #46682d;background:linear-gradient(180deg,#7eac5c,#6f9b50);color:#f2f7e7;text-shadow:0 1px 0 rgba(36,54,20,.5)}.recipe__course-tag--main{border:1.5px solid #722420;background:linear-gradient(180deg,#c04e44,#b0423a);color:#fbe7df;text-shadow:0 1px 0 rgba(82,22,18,.5)}.recipe__course-tag--dessert{border:1.5px solid #56356a;background:linear-gradient(180deg,#9b69af,#8a5a9e);color:#f5ebfa;text-shadow:0 1px 0 rgba(60,36,74,.5)}.recipe__meta{display:flex;align-items:center;gap:6px;min-width:0}.recipe__progress-count{margin-left:auto;color:#7a421f;font-family:var(--font-number);font-size:var(--fs-3xs);font-weight:900;line-height:1}.recipe.complete .recipe__progress-count{color:#9a7010}.recipe__reward{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;width:58px;padding-left:11px;border-left:1.5px solid rgba(86,49,20,.28)}.recipe__reward-cal{display:flex;flex-direction:column;align-items:center;line-height:1}.recipe__reward-cal b{color:#4a2c10;font-family:var(--font-number);font-size:var(--fs-md);font-weight:900;line-height:1}.recipe__reward-cal small{margin-top:2px;color:#9a6840;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.recipe__reward-mult{color:#5a3010;font-family:var(--font-number);font-size:var(--fs-2xs);font-weight:900;line-height:1;padding:2px 7px;border:1.5px solid rgba(86,49,20,.34);border-radius:4px;background:#4b28121f}.recipe.complete .recipe__reward{border-left-color:#b8900e66}.recipe.complete .recipe__reward-cal b{color:#7a5008}.recipe.complete .recipe__reward-cal small{color:#9a7010}.recipe.complete .recipe__reward-mult{border-color:#b8900e;background:#ffd43c57;color:#4a2c04}.recipe__ingredients{display:flex;flex-wrap:nowrap;gap:4px;min-width:0}.recipe__ingredient{display:grid;place-items:center;flex:0 1 28px;aspect-ratio:1;min-width:0;border:1px solid rgba(34,18,6,.55);background:linear-gradient(180deg,#26150980,#40261252);border-radius:4px;box-shadow:inset 0 1px 2px #0006;overflow:hidden}.recipe__ingredient img{width:84%;height:84%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.recipe__ingredient.matched{border-color:#a0781499;background:#ffd45c3d}.recipe__ingredient.matched img{filter:drop-shadow(0 1px 0 rgba(0,0,0,.2))}@keyframes recipe-complete-shimmer{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes recipe-resolution-pulse{0%,to{filter:none;transform:translateY(0)}42%{filter:brightness(1.18);transform:translateY(-2px)}}.menu-screen,.screen-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#100b09b8;padding:22px}.menu-screen{background:radial-gradient(ellipse 92% 80% at 50% 40%,#120b0647,#070403d1 72%,#040202f0)}.menu-panel{display:flex;flex-direction:column;align-items:center;max-width:900px;text-align:center}.eyebrow{color:#e6b557;font-family:var(--font-ui);font-size:18px;font-weight:700;letter-spacing:.34em;margin-bottom:14px;text-transform:uppercase}.menu-panel h1{font-size:96px;letter-spacing:.01em;text-shadow:0 4px 0 #4b201b,0 6px 14px rgba(0,0,0,.55),0 0 28px rgba(255,198,96,.18)}.menu-copy{max-width:720px;color:#d8c2a0;font-size:18px;line-height:1.5;margin:10px 0 16px;text-shadow:0 2px 0 rgba(0,0,0,.45)}.menu-actions{display:flex;flex-direction:column;align-items:center;gap:8px}.menu-actions button{position:relative;display:grid;place-items:center;width:352px;min-height:0;aspect-ratio:480 / 150;border:0;border-radius:0;background:url(../assets/ui/buttons/secondary-button-bg.webp) center / 100% 100% no-repeat;box-shadow:none;color:var(--gold-soft);font-family:var(--font-title);font-size:28px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.6);transition:filter .1s steps(2),transform .11s steps(2)}.menu-actions button:hover:not(:disabled){filter:brightness(1.13);transform:translateY(-2px)}.menu-actions button:active:not(:disabled){filter:brightness(.92);transform:translateY(1px)}.menu-actions .primary{width:392px;background-image:url(../assets/ui/buttons/primary-button-bg.webp);color:var(--gold-bright);font-size:32px;text-shadow:0 2px 0 rgba(70,16,12,.7)}.modal{width:min(900px,92%);padding:18px}.screen-overlay .modal{width:min(1180px,calc(100% - 24px))}.show-menu-backdrop{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:56px 48px;background:radial-gradient(ellipse at center,#140c0699,#040302e0);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:book-backdrop-in .22s steps(5) both}.show-menu-modal{display:grid;gap:15px;width:360px;border:3px solid #2a160a;border-radius:12px;background:linear-gradient(180deg,rgba(255,210,110,.08),transparent 38%),linear-gradient(180deg,#261609,#190f07);padding:30px 34px 36px;box-shadow:inset 0 0 0 2px #d6a33b4d,inset 0 2px #ffe6a31f,0 16px 40px #0000009e;animation:book-open .38s cubic-bezier(.2,.86,.24,1.04) both}.show-menu-modal__title{text-align:center;color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-xl);font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 3px 0 #4b201b,0 0 18px rgba(255,198,96,.2);margin-bottom:10px}.show-menu-modal__actions{display:grid;justify-items:center;gap:12px}.show-menu-modal__actions button{position:relative;display:grid;place-items:center;width:100%;min-height:0;aspect-ratio:480 / 150;max-height:66px;border:0;border-radius:0;background:url(../assets/ui/buttons/secondary-button-bg.webp) center / 100% 100% no-repeat;box-shadow:none;color:var(--gold-soft);font-family:var(--font-title);font-size:var(--fs-sm);font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.6);transition:filter .1s steps(2),transform .11s steps(2)}.show-menu-modal__actions button:hover:not(:disabled){filter:brightness(1.13);transform:translateY(-2px)}.show-menu-modal__actions button:active:not(:disabled){filter:brightness(.92);transform:translateY(1px)}.show-menu-modal__actions .show-menu-modal__resume{background-image:url(../assets/ui/buttons/primary-button-bg.webp);color:var(--gold-bright);text-shadow:0 2px 0 rgba(70,16,12,.7)}.recipe-book-modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:56px 48px;padding-left:calc(var(--hud-offset, 410px) + 48px);background:radial-gradient(ellipse at center,#140c069e,#040302e6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:book-backdrop-in .24s steps(5) both}.recipe-book-modal{position:relative;height:min(720px,calc(100% - 32px));aspect-ratio:1024 / 1536;max-width:100%;transform-origin:center center;animation:book-open .46s cubic-bezier(.2,.86,.24,1.04) both;filter:drop-shadow(0 18px 38px rgba(0,0,0,.6)) drop-shadow(0 4px 0 #090604)}.recipe-book-modal__pages{position:relative;width:100%;height:100%;min-height:0;overflow:hidden}.recipe-book-modal__pages .recipe-book{height:100%}.recipe-book-modal__close{position:absolute;top:-6px;right:-6px;width:42px;height:42px;min-height:0;z-index:10;border:2.5px solid #5a2a10;border-radius:50%;background:radial-gradient(circle at 40% 36%,rgba(255,212,92,.18),transparent 60%),#2c1008;color:#d4954a;font-size:var(--fs-xs);font-weight:900;line-height:1;padding:0;box-shadow:inset 0 2px #ffc85024,0 4px #090604,0 0 0 1px #5a2a1099;transition:filter .1s steps(2)}.recipe-book-modal__close:hover:not(:disabled){filter:brightness(1.22)}@keyframes book-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes book-open{0%{opacity:0;transform:translateY(14px) scale(.92)}60%{opacity:1;transform:translateY(-3px) scale(1.015)}to{opacity:1;transform:translateY(0) scale(1)}}.chef-name{display:flex;align-items:center;gap:12px;margin:6px 0 18px}.chef-name__label{display:inline-flex;align-items:center;gap:8px;color:var(--gold-soft, #e6b557);font-family:var(--font-ui);font-size:20px;font-weight:700;letter-spacing:.04em;text-shadow:0 2px 0 rgba(0,0,0,.5)}.chef-name__input{width:240px;padding:10px 14px;border:3px solid #2a160a;border-radius:8px;background:#17100d;color:#fff;font-family:var(--font-ui);font-size:18px;letter-spacing:.03em}.chef-name__input::placeholder{color:#d8c2a08c}.chef-name__input:focus{outline:none;border-color:var(--coin, #f5b41e)}.chef-name__help{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;border:2px solid currentColor;border-radius:50%;font-size:14px;font-weight:900;line-height:1;cursor:help}.chef-name__help:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:max-content;max-width:240px;padding:8px 12px;border:2px solid #2a160a;border-radius:8px;background:#17100d;color:#f3e2c2;font-family:var(--font-ui);font-size:14px;font-weight:600;letter-spacing:.02em;line-height:1.35;text-align:center;text-transform:none;text-shadow:none;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s steps(2);box-shadow:0 8px 22px #00000080;z-index:5}.chef-name__help:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2a160a;opacity:0;transition:opacity .12s steps(2)}.chef-name__help:hover:after,.chef-name__help:focus-visible:after,.chef-name__help:hover:before,.chef-name__help:focus-visible:before{opacity:1}.modal.settings-screen{position:relative;width:auto;height:min(900px,92%);aspect-ratio:1025 / 1376;max-width:94%;display:block;border:0;border-radius:0;background:none;box-shadow:none;padding:0;filter:drop-shadow(0 20px 44px rgba(0,0,0,.62))}.modal.settings-screen:before{content:"";position:absolute;inset:0;z-index:0;background:url(../assets/ui/service-summary-receipt-bg.webp) center / 100% 100% no-repeat;pointer-events:none}.settings-screen__plaque{position:absolute;z-index:2;top:12%;left:51%;transform:translate(-50%,-50%);color:#4a2a10;font-family:var(--font-title);font-size:var(--fs-md);font-weight:700;letter-spacing:.14em;line-height:1;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,238,188,.5);white-space:nowrap;pointer-events:none}.settings-close{position:absolute;z-index:3;top:-2%;right:-1.5%;display:grid;place-items:center;width:42px;height:42px;min-height:0;padding:0;border:2.5px solid #5a2a10;border-radius:50%;background:radial-gradient(circle at 40% 36%,rgba(255,212,92,.2),transparent 60%),#2c1008;color:#d4954a;font-size:var(--fs-sm);font-weight:900;line-height:1;box-shadow:inset 0 2px #ffc85029,0 4px #090604,0 0 0 1px #5a2a1099;transition:filter .1s steps(2),transform 90ms steps(2)}.settings-close:hover:not(:disabled){filter:brightness(1.22)}.settings-close:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px #ffc8501f,0 1px #090604,0 0 0 1px #5a2a1099}.settings-scroll{position:absolute;z-index:1;inset:20.5% 14% 15.5% 15.5%;overflow-y:auto;overflow-x:hidden;display:grid;gap:18px;align-content:start;padding-right:10px}.settings-scroll::-webkit-scrollbar{width:4px}.settings-scroll::-webkit-scrollbar-track{background:#5631141a;border-radius:2px}.settings-scroll::-webkit-scrollbar-thumb{background:#56311466;border-radius:2px}.settings-group__title{color:#7a421f;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 6px;padding-bottom:5px;border-bottom:1.5px solid rgba(86,49,20,.26);text-shadow:0 1px 0 rgba(255,240,200,.4)}.settings-group__rows{display:grid;gap:3px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:7px 9px;border-radius:6px}.setting-row:hover{background:#56311414}.setting-row__text{display:grid;gap:2px;min-width:0}.setting-row__text strong{color:#3b1f10;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:700;text-shadow:0 1px 0 rgba(255,240,200,.34)}.setting-row__text em{color:#8a6a48;font-family:var(--font-ui);font-size:var(--fs-2xs);font-style:normal;line-height:1.3}.setting-row__control{flex:0 0 auto;display:flex;align-items:center}.setting-row.is-disabled{opacity:.42}.slider-control{display:flex;align-items:center;gap:10px;width:168px}.settings-slider{flex:1 1 auto;min-width:0;height:8px;-webkit-appearance:none;appearance:none;border-radius:999px;background:linear-gradient(90deg,#e0b94e 0%,#c08820 var(--slider-fill, 0%),rgba(58,34,14,.4) var(--slider-fill, 0%),rgba(58,34,14,.4) 100%);box-shadow:inset 0 1px 2px #0006,0 1px #fff0c859;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid #4a2a10;background:radial-gradient(circle at 38% 34%,#ffe9b0,#d9a23a 70%);box-shadow:0 2px 3px #00000073;cursor:pointer}.settings-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;border:2px solid #4a2a10;background:radial-gradient(circle at 38% 34%,#ffe9b0,#d9a23a 70%);box-shadow:0 2px 3px #00000073;cursor:pointer}.settings-slider:disabled{cursor:not-allowed}.settings-slider__value{flex:0 0 auto;width:26px;text-align:right;color:#5a3010;font-family:var(--font-number);font-size:var(--fs-xs);font-weight:900}.settings-toggle{position:relative;width:48px;height:25px;min-height:0;padding:0;border:2px solid #3a2310;border-radius:999px;background:linear-gradient(180deg,#2a1a0d,#3a2614);box-shadow:inset 0 1px 3px #0000008c;cursor:pointer;transition:background .12s steps(2),border-color .12s steps(2)}.settings-toggle.is-on{background:linear-gradient(180deg,#5f9a36,#467425);border-color:#2c4a14}.settings-toggle__knob{position:absolute;top:50%;left:3px;width:17px;height:17px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff4d6,#d9b96a 75%);box-shadow:0 2px 3px #00000080;transform:translateY(-50%);transition:left .13s cubic-bezier(.3,.9,.3,1.2)}.settings-toggle.is-on .settings-toggle__knob{left:calc(100% - 20px);background:radial-gradient(circle at 38% 34%,#fffceb,#eadd96 75%)}.settings-action-btn{min-height:0;padding:8px 14px;border:2px solid #6a3c1c;border-radius:6px;background:linear-gradient(180deg,#5a3a20,#3f2713);color:var(--gold-soft);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;white-space:nowrap;box-shadow:inset 0 1px #ffdc8c33,0 3px #1b0e05;transition:filter .1s steps(2),transform .1s steps(2)}.settings-action-btn:hover:not(:disabled){filter:brightness(1.12)}.settings-action-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffdc8c24,0 1px #1b0e05}.settings-action-btn.is-on{border-color:#4f8a2e;background:linear-gradient(180deg,#4f7e2c,#38591d);color:#ecffd8}.settings-action-btn.is-danger{border-color:#8a3020;background:linear-gradient(180deg,#9a3525,#6e2418);color:#ffe1d6}.settings-select{min-width:150px;padding:8px 12px;border:2px solid #6a3c1c;border-radius:6px;background:linear-gradient(180deg,#5a3a20,#3f2713);color:var(--gold-soft);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;box-shadow:inset 0 1px #ffdc8c33,0 3px #1b0e05;cursor:pointer}.settings-select:focus{outline:none;border-color:var(--coin, #f5b41e)}.settings-select:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.settings-select option{background:#2a1b10;color:var(--gold-soft)}.settings-segmented{display:inline-flex;border:2px solid #5a3418;border-radius:7px;overflow:hidden;background:#3a220e2e;box-shadow:inset 0 1px 2px #00000052}.settings-segmented__option{min-height:0;padding:7px 13px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#9a6840;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;transition:background .1s steps(2),color .1s steps(2)}.settings-segmented__option+.settings-segmented__option{border-left:1px solid rgba(86,49,20,.28)}.settings-segmented__option:hover{color:#6a3c14}.settings-segmented__option.is-active{background:linear-gradient(180deg,#d6a33b,#b8851f);color:#2a1606;text-shadow:0 1px 0 rgba(255,240,200,.4)}.settings-screen__footer{position:absolute;z-index:2;left:15.5%;right:14%;bottom:8%;display:flex;flex-direction:column;gap:6px;padding-top:10px;color:#4d300d;font-family:var(--font-ui);font-size:var(--fs-3xs);letter-spacing:.04em}.settings-screen__footer-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-screen__privacy{text-align:center;font-style:italic;opacity:.85}.settings-text-input{width:170px;max-width:50vw;padding:8px 10px;border:2px solid var(--ink, #2a1b10);border-radius:6px;background:#fffaebd9;color:#2a2118;font-family:var(--font-ui);font-size:14px}.settings-text-input:focus{outline:none;border-color:var(--coin, #f5b41e)}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}[data-screen-shake=false] .feed-resolution.is-shaking-big,[data-screen-shake=false] .feed-resolution.is-shaking-final,[data-screen-shake=false] .pack-open--bursting .pack-open__stage{animation:none!important}[data-screen-shake=false] .resolution-stat-box{--hit-shake: 0px !important}.feed-resolution{position:absolute;top:clamp(10px,2vh,20px);left:clamp(14px,3vw,34px);right:clamp(14px,3vw,34px);bottom:clamp(16px,4vh,42px);z-index:40;display:grid;gap:12px;max-width:980px;max-height:calc(100% - 24px);margin:0 auto;overflow:auto;border:4px solid var(--ink);background:linear-gradient(180deg,rgba(255,212,92,.12),transparent 7rem),linear-gradient(135deg,rgba(95,200,186,.08),transparent 48%),#17100d;box-shadow:inset 0 0 0 3px #ffe6a314,0 8px #090604;padding:12px;animation:resolution-enter .22s steps(4) both}.resolution-fly-number{position:absolute;left:var(--source-left, 12%);bottom:42px;z-index:4;display:grid;place-items:center;min-width:58px;min-height:38px;border:3px solid var(--ink);background:var(--coin);color:#1a0e09;font-family:var(--font-number);font-size:22px;font-weight:900;line-height:1;padding:7px 10px;pointer-events:none;text-shadow:none}.resolution-fly-number--base{animation:fly-to-base .72s cubic-bezier(.2,.9,.2,1) both}.resolution-fly-number--multiplier{background:#75e08d;animation:fly-to-multiplier .72s cubic-bezier(.2,.9,.2,1) both}.resolution-final{display:grid;justify-items:end;gap:4px;opacity:0;transform:scale(.94);transition:opacity .16s steps(3),transform .22s steps(4);text-align:right}.resolution-final span{color:var(--coin);font-family:var(--font-ui);font-size:11px;font-weight:600;text-transform:uppercase}.resolution-final strong{color:var(--good);font-size:clamp(40px,5.5vw,72px);line-height:.9;text-shadow:0 5px 0 #123016}.resolution-final em{color:var(--muted);font-size:11px;font-style:normal;font-weight:900;text-transform:uppercase}@keyframes resolution-enter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fly-to-base{0%{opacity:0;transform:translate(-50%) scale(.72)}18%{opacity:1}to{opacity:0;transform:translate(calc(20% - var(--source-left, 12%)),-252px) scale(.88)}}@keyframes fly-to-multiplier{0%{opacity:0;transform:translate(-50%) scale(.72)}18%{opacity:1}to{opacity:0;transform:translate(calc(68% - var(--source-left, 12%)),-252px) scale(.88)}}@keyframes feed-packet{0%{opacity:0;transform:translate(-50%,-46px) rotate(45deg) scale(.7)}20%{opacity:1}to{opacity:0;transform:translate(-50%,64px) rotate(45deg) scale(1.1)}}.game-status-layer{position:absolute;inset:0;z-index:6;pointer-events:none}.course-status-badge{position:relative;flex:0 0 auto;width:100%;aspect-ratio:1.5 / 1;color:var(--text);filter:drop-shadow(0 5px 0 rgba(9,6,4,.76));font-family:var(--font-title);pointer-events:none}.course-status-badge img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none}.course-status-badge strong{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;width:84%;overflow:hidden;color:var(--gold-bright);text-transform:uppercase;white-space:nowrap}.course-status-badge__label{font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:800;letter-spacing:.22em;line-height:1;color:#f7c65b;text-shadow:0 2px 0 #090604}.course-status-badge__count{display:inline-flex;align-items:baseline;gap:.04em;font-size:40px;line-height:.92;text-shadow:0 3px 0 #090604,0 0 14px rgba(255,230,163,.12)}.course-status-badge__total{color:var(--muted);font-size:26px}.course-status-badge em,.course-status-badge b{position:absolute;left:50%;transform:translate(-50%,-50%);overflow:hidden;width:70%;font-family:var(--font-ui);font-style:normal;line-height:1;text-align:center;text-overflow:ellipsis;text-shadow:0 2px 0 #090604;text-transform:uppercase;white-space:nowrap}.course-status-badge em{top:65%;color:#f7c65b;font-size:var(--fs-sm)}.course-status-badge b{top:80.5%;color:var(--gold-bright);font-size:var(--fs-sm)}.monster-progress,.resolution-stat-boxes{--top-status-box-height: 86px}.play-status-cluster{position:absolute;top:16px;left:12px;width:min(840px,calc(100% - 520px));display:flex;flex-direction:column;align-items:flex-start;gap:10px;pointer-events:none}.course-steps{box-sizing:border-box;position:absolute;top:150px;right:calc(min(364px,100%) - 10px);display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none;transition:opacity .22s ease}.active-menu.is-collapsed~.course-steps{opacity:0;pointer-events:none}.course-steps__list{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin:0;padding:0;list-style:none}.course-step{flex:none;min-width:0;display:flex;flex-direction:row;align-items:center;gap:7px;padding:4px 10px 4px 6px;border:1px solid rgba(255,214,130,.24);border-right:none;border-radius:11px 0 0 11px;background:linear-gradient(90deg,#221912d1,#120c09f0);box-shadow:inset 0 1px #ffffff0d,-2px 2px 5px #0000006b;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.course-step__dot{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,214,130,.35);background:#00000059;color:var(--coin);font-family:var(--font-number);font-size:var(--fs-xs);font-weight:900;line-height:1}.course-step__body{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:0}.course-step__name{max-width:0;opacity:0;overflow:hidden;color:#f1e6d0;font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:900;letter-spacing:.04em;line-height:1;text-transform:uppercase;white-space:nowrap;transition:max-width .36s cubic-bezier(.2,.8,.25,1),opacity .24s ease}.course-step__now{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.course-step.is-done{opacity:.85}.course-step.is-done .course-step__dot{border-color:#78c88299;background:var(--good);color:var(--ink)}.course-step--appetizer{--step-accent: #4aa6dc}.course-step--main{--step-accent: #e2853a}.course-step--dessert{--step-accent: #a97fe6}.course-step.is-current{padding:5px 12px 5px 6px;border-color:var(--step-accent, var(--gold-bright));border-right-color:transparent;background:linear-gradient(90deg,color-mix(in srgb,var(--step-accent, #ffd45c) 26%,rgba(30,22,16,.9)),color-mix(in srgb,var(--step-accent, #ffd45c) 10%,rgba(18,12,9,.94)));box-shadow:inset 0 1px #ffffff0f,-3px 3px 8px #0000006b;animation:course-step-pulse 2.4s ease-in-out infinite}.course-step.is-current .course-step__name{max-width:150px;opacity:1}.course-step.is-current .course-step__dot{border-color:var(--step-accent, var(--gold-bright));background:var(--step-accent, var(--coin));color:#16100a;animation:course-dot-pulse 2.4s ease-in-out infinite}.course-step.is-current .course-step__name{color:#fff}.course-step.is-current .course-step__now{color:var(--step-accent, var(--gold-bright))}.course-step.is-todo{opacity:.5}.course-steps__rule{margin:0;padding-left:2px;color:#f1e6d0d1;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:700;letter-spacing:.02em}@keyframes course-step-pulse{0%,to{box-shadow:inset 0 1px #ffffff14,0 0 10px color-mix(in srgb,var(--step-accent, #ffd45c) 55%,transparent)}50%{box-shadow:inset 0 1px #ffffff14,0 0 18px color-mix(in srgb,var(--step-accent, #ffd45c) 78%,transparent)}}@keyframes course-dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.course-step.is-current,.course-step.is-current .course-step__dot{animation:none}}.monster-progress{position:relative;width:100%;aspect-ratio:2134 / 322;flex:0 0 auto;display:block;border:0;background:url(../assets/hud/monster-progress-bg.webp) center / 100% 100% no-repeat;box-shadow:none}.monster-progress.has-pulse{animation:progress-bar-pulse .82s steps(6)}.monster-progress.is-complete{box-shadow:0 0 26px #ffd45c47}.monster-progress__label{position:absolute;top:42%;left:8%;right:8%;transform:translateY(-50%);display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.monster-progress__label span,.resolution-stat-box span{overflow:hidden;color:var(--coin);font-size:var(--fs-2xs);font-weight:900;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.monster-progress__label span{font-size:var(--fs-lg)}.monster-progress__label strong{color:var(--gold-bright);font-size:var(--fs-lg);line-height:1;text-shadow:0 2px 0 #090604;white-space:nowrap}.monster-progress__label strong.is-pulsing{animation:hunger-number-pop .46s steps(5) both}.monster-progress__percent{position:absolute;left:calc(8.5% + var(--monster-progress-n, 0) * .8325%);top:70.5%;transform:translateY(-50%);margin-left:7px;color:#fff3c5;font-family:var(--font-number);font-size:var(--fs-xs);font-style:normal;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;text-shadow:1px 1px 0 #1b0d09,-1px 0 0 #1b0d09,0 -1px 0 #1b0d09,0 1px 0 #1b0d09;transition:left 1.05s cubic-bezier(.18,.84,.12,1),opacity .16s ease;pointer-events:none}.monster-progress.is-complete .monster-progress__percent{display:none}.monster-progress.is-filling .monster-progress__percent{opacity:0}.monster-progress.is-empty .monster-progress__percent{left:50%;margin-left:0;transform:translate(-50%,-50%)}.monster-progress.is-warning .monster-progress__label strong{color:#ffc36a}.monster-progress.is-danger .monster-progress__label strong{color:#ff8f7a}.monster-progress__track{position:absolute;left:8.85%;top:63%;height:16%;width:83.25%;overflow:hidden;border:0;background:linear-gradient(180deg,#000000a8,#180c0566 55%,#462e1247);box-shadow:inset 0 2px 3px #000c,inset 0 -1px #ffd27829}.monster-progress__track:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 2px),rgba(255,226,158,.16) calc(20% - 2px) 20%);pointer-events:none}.monster-progress__fill{position:absolute;left:0;top:0;bottom:0;width:var(--monster-progress, 0%);border-radius:6px;background:linear-gradient(180deg,#e8ffb0f2,#9bf35300 36%),linear-gradient(180deg,#a6f75f,#62c623 48%,#3c8e13);box-shadow:inset 0 1px #f0ffbef2,inset 0 -2px 3px #00000059,0 0 12px #78e6288c,0 0 26px #78e62847;transition:width 1.05s cubic-bezier(.18,.84,.12,1),background .42s ease,box-shadow .42s ease}.monster-progress__fill:before{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(115deg,#fff0 0 14px,#ffffff1a 14px 24px);background-size:38px 100%;mix-blend-mode:screen;animation:hunger-flow 3.2s linear infinite;pointer-events:none}.monster-progress.is-warning .monster-progress__fill{background:linear-gradient(180deg,#fff0acf2,#ffc45600 36%),linear-gradient(180deg,#ffd15a,#f59b28 48%,#c96a12);box-shadow:inset 0 1px #fff0bef2,inset 0 -2px 3px #00000059,0 0 16px #ffaa3299,0 0 30px #ff962857}.monster-progress.is-danger .monster-progress__fill{background:linear-gradient(180deg,#ffec9afa,#ff962800 36%),linear-gradient(180deg,#ffe07b,#ff9a2e 46%,#e5541c);box-shadow:inset 0 1px #fff2c2,inset 0 -2px 3px #0006,0 0 22px #ff8c28b8,0 0 42px #ff6e1e75;animation:hunger-fill-danger 2s ease-in-out infinite}.monster-progress.is-danger .monster-progress__fill:before{animation-duration:2.2s}.monster-progress.is-complete .monster-progress__fill{background:linear-gradient(180deg,#ffffec,#ffe17800 42%),linear-gradient(180deg,#fff2b0,#ffd45a 45%,#f5a623);box-shadow:inset 0 1px #ffffdc,inset 0 -2px 3px #00000059,0 0 30px #ffd25ad9,0 0 62px #ffb43c80}.monster-progress.is-complete .monster-progress__track:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;mix-blend-mode:screen;animation:hunger-bar-shimmer 1.5s ease-in-out infinite;pointer-events:none}.resolution-stat-boxes{display:flex;gap:6px;justify-content:flex-start;margin-left:24px}.resolution-stat-box{position:relative;isolation:isolate;display:grid;align-content:center;gap:5px;flex:0 0 auto;width:calc(var(--top-status-box-height) * 1.25);height:var(--top-status-box-height);min-width:0;min-height:0;border:0;background:url(../assets/hud/resolution-stat-box-bg.webp) center / 100% 100% no-repeat;box-shadow:none;padding:16px;text-align:right;overflow:visible}.resolution-stat-box{--heat-color: color-mix(in srgb, #ff5a1e, #ffd36a calc(var(--heat-level, 0) * 8%))}.resolution-stat-box:before{content:"";position:absolute;inset:7% 6%;z-index:0;border-radius:9px;pointer-events:none;box-shadow:inset 0 0 calc(var(--heat-level, 0) * 3px) var(--heat-color);opacity:clamp(0,calc(var(--heat-level, 0) * .22),1);transition:opacity .2s ease,box-shadow .2s ease}.resolution-stat-box.is-blazing:before{animation:heat-pulse .52s ease-in-out infinite}.resolution-stat-box span,.resolution-stat-box strong{position:relative;z-index:1}.resolution-stat-box strong{overflow:visible;color:color-mix(in srgb,var(--good),#fff3c6 calc(var(--heat-level, 0) * 9%));font-size:var(--fs-lg);line-height:.9;transition:color .16s ease;text-shadow:0 1px 0 rgba(232,255,206,.32),0 3px 0 #123016,0 5px 7px rgba(0,0,0,.55);white-space:nowrap}.resolution-stat-box span{overflow:visible;text-overflow:clip;letter-spacing:.08em;color:var(--gold-soft);text-shadow:0 1px 0 rgba(0,0,0,.7)}.resolution-stat-box--multiplier strong{color:color-mix(in srgb,var(--coin),#fff3c6 calc(var(--heat-level, 0) * 9%));font-size:var(--fs-lg);text-shadow:0 1px 0 rgba(255,240,190,.36),0 3px 0 #3c2410,0 5px 7px rgba(0,0,0,.55)}.resolution-stat-box--base{--hit-accent: var(--good);--num-shadow: #123016}.resolution-stat-box:has(.stat-breakdown){pointer-events:auto;cursor:help}.stat-breakdown{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:max-content;min-width:168px;display:grid;gap:4px;border:3px solid var(--ink);background:linear-gradient(180deg,rgba(255,241,207,.07),transparent 4rem),#17100d;box-shadow:inset 0 0 0 2px #ffe6a30f,0 6px #090604;padding:10px 12px;text-align:left;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.resolution-stat-box:hover .stat-breakdown,.resolution-stat-box:focus-within .stat-breakdown{opacity:1;transform:translateY(0)}.stat-breakdown__row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font-size:var(--fs-sm);line-height:1.15;white-space:nowrap;color:var(--muted)}.stat-breakdown__row b{color:var(--good);text-shadow:0 2px 0 #123016}.resolution-stat-box--multiplier .stat-breakdown__row b{color:var(--coin);text-shadow:0 2px 0 #3c2410}.stat-breakdown__row--total{margin-top:4px;padding-top:6px;border-top:2px solid rgba(255,230,163,.14);color:#fff1cf}.resolution-stat-box--multiplier{--hit-accent: var(--coin);--num-shadow: #3c2410}.resolution-stat-box--coins{order:-1;--hit-accent: var(--coin);--num-shadow: #3c2410}.resolution-stat-box--coins strong{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;color:var(--coin);text-shadow:0 3px 0 #3c2410}.resolution-stat-box--coins strong .coin-icon{width:15px;height:15px}.resolution-stat-box.is-hit{animation:stat-box-pop .42s cubic-bezier(.2,1.3,.35,1) both}.resolution-stat-box.is-hit strong{animation:stat-num-surge .62s ease-out both}@keyframes stat-box-pop{0%{transform:translate(0) scale(1);filter:brightness(1)}18%{transform:translate(calc(var(--hit-shake, 0px) * -1)) scale(var(--hit-scale, 1.16));filter:brightness(var(--hit-bright, 1.9))}38%{transform:translate(var(--hit-shake, 0px)) scale(calc(var(--hit-scale, 1.16) * .965));filter:brightness(1.3)}60%{transform:translate(calc(var(--hit-shake, 0px) * -.5)) scale(1.04);filter:brightness(1.12)}to{transform:translate(0) scale(1);filter:brightness(1)}}@keyframes stat-num-surge{0%,to{text-shadow:0 3px 0 var(--num-shadow),0 0 calc(var(--heat-level, 0) * 2.4px) var(--heat-color)}14%{color:#fff7e0;text-shadow:0 0 var(--hit-glow, 20px) var(--hit-accent),0 3px 0 var(--num-shadow)}}@keyframes heat-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.55)}}.recipe-drawer{display:flex;flex-direction:column;gap:4px;margin-left:24px;padding-top:4px}.recipe-drawer__item{display:flex;align-items:center;gap:9px;border:2px solid var(--ink);background:linear-gradient(180deg,rgba(255,241,207,.07) 0%,transparent 36px),#17100d;box-shadow:inset 0 0 0 1px #ffe6a30d,0 3px #090604cc;padding:6px 10px;pointer-events:none;animation:recipe-drawer-item-in .18s ease-out both}.recipe-drawer__item:nth-child(2){animation-delay:50ms}.recipe-drawer__item:nth-child(3){animation-delay:.1s}.recipe-drawer__icon{flex:0 0 28px;width:28px;height:28px;object-fit:contain;image-rendering:pixelated}.recipe-drawer__info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.recipe-drawer__name{display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-xs);font-weight:700;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.recipe-drawer__count{display:inline-flex;align-items:center;flex-shrink:0;background:var(--coin);color:#1a0e09;border-radius:2px;font-family:var(--font-number);font-size:var(--fs-2xs);font-weight:950;line-height:1.2;padding:1px 3px}.recipe-drawer__stats{color:var(--muted);font-family:var(--font-number);font-size:var(--fs-2xs);font-weight:900;line-height:1;text-transform:uppercase;white-space:nowrap}@keyframes recipe-drawer-item-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.feed-resolution{position:fixed;inset:0;z-index:80;display:block;max-width:none;max-height:none;overflow:visible;border:0;background:transparent;box-shadow:none;padding:0;pointer-events:none;animation:none}.resolution-fly-number{--fly-accent: var(--coin);--fly-ink: #160d06;position:fixed;inset:0 auto auto 0;z-index:84;display:inline-flex;align-items:center;justify-content:center;gap:0;padding:5px 14px 6px;border:3px solid var(--ink);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.22) 0%,transparent 38%),linear-gradient(180deg,color-mix(in srgb,var(--fly-accent) 92%,#fff 8%) 0%,var(--fly-accent) 52%,color-mix(in srgb,var(--fly-accent) 70%,#000 30%) 100%);color:var(--fly-ink);font-family:var(--font-number);font-size:30px;font-weight:900;letter-spacing:-.03em;line-height:1;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:inset 0 2px #ffffff59,inset 0 -3px #0000004d,0 4px 0 var(--ink),0 0 0 3px #00000040,0 0 18px 2px color-mix(in srgb,var(--fly-accent) 55%,transparent);transform-origin:50% 50%;animation:fly-number-to-target 1s cubic-bezier(.34,.12,.2,1) both}.resolution-fly-number:before{content:"";position:absolute;inset:-10px;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fly-accent) 60%,transparent) 0%,transparent 70%);opacity:.7}.resolution-fly-number--base{--fly-accent: var(--good)}.resolution-fly-number--multiplier{--fly-accent: var(--coin)}.resolution-fly-number--multiply{--fly-accent: var(--gold-bright)}.resolution-fly-number--filler{--fly-accent: #b8a08f;font-size:22px;padding:4px 12px 5px;box-shadow:inset 0 2px #ffffff47,inset 0 -2px #00000047,0 3px 0 var(--ink),0 0 0 3px #0003}.resolution-final{position:fixed;left:0;top:0;z-index:83;display:grid;justify-items:center;gap:6px;min-width:min(460px,84vw);padding:18px 22px;text-align:center;pointer-events:none;transform:translate(calc(var(--final-from-x, 50vw) - 50%),calc(var(--final-from-y, 50vh) - 50%)) scale(.82);opacity:0}.resolution-final--counting{opacity:1;transform:translate(calc(var(--final-from-x, 50vw) - 50%),calc(var(--final-from-y, 50vh) - 50%)) scale(1);transition:opacity .14s steps(3),transform .22s steps(4)}.resolution-final--counting strong{animation:number-counting-throb .11s steps(2) infinite}.resolution-final--hold{opacity:1;transform:translate(calc(var(--final-from-x, 50vw) - 50%),calc(var(--final-from-y, 50vh) - 50%)) scale(1)}.resolution-final--hold strong{animation:final-calories-punch .7s steps(7) both}.resolution-final--flying{animation:final-total-to-progress .84s cubic-bezier(.18,.84,.12,1) both}.resolution-final span{color:var(--coin);font-family:var(--font-ui);font-size:clamp(14px,2vw,22px);font-weight:900;line-height:1;text-transform:uppercase;text-shadow:2px 0 #100b09,-2px 0 #100b09,0 2px #100b09,0 -2px #100b09}.resolution-final strong{font-size:clamp(68px,10vw,132px);line-height:.84;text-shadow:5px 0 #100b09,-5px 0 #100b09,0 5px #100b09,0 -5px #100b09,0 12px 0 rgba(0,0,0,.24)}.resolution-final--low strong{color:var(--danger)}.resolution-final--close strong{color:#f7a84d}.resolution-final--met strong{color:var(--good)}.resolution-final--over strong{color:var(--coin)}.celebration-burst{position:fixed;inset:0;z-index:86;overflow:hidden;pointer-events:none;isolation:isolate}.celebration-flash{position:absolute;left:var(--cx, 50%);top:var(--cy, 50%);width:1700px;height:1700px;translate:-50% -50%;background:radial-gradient(circle,#fff6d8f2,#ffd45c8c 24%,#ffd45c00 58%);mix-blend-mode:screen;animation:celebration-flash .64s ease-out both}.celebration-rays{position:absolute;left:var(--cx, 50%);top:var(--cy, 47%);width:1700px;aspect-ratio:1;translate:-50% -50%;background:repeating-conic-gradient(from 0deg,#ffe6a300 0deg 6deg,#ffe6a333 6deg 12deg);-webkit-mask-image:radial-gradient(circle,#000 0%,#000 30%,transparent 66%);mask-image:radial-gradient(circle,#000 0%,#000 30%,transparent 66%);mix-blend-mode:screen;animation:celebration-rays 1.5s ease-out both}.celebration-ring{position:absolute;left:var(--cx, 50%);top:var(--cy, 47%);width:40px;height:40px;translate:-50% -50%;border-radius:50%;border:6px solid rgba(255,230,163,.9);box-shadow:0 0 18px #ffd45cb3,inset 0 0 18px #ffd45c66;animation:celebration-ring .88s cubic-bezier(.12,.7,.2,1) both}.celebration-ring--2{animation-delay:.15s;border-color:#ffffffd9}.celebration-confetti{position:absolute;left:var(--cx, 50%);top:var(--cy, 50%);box-shadow:0 0 6px #00000038;will-change:transform,opacity;animation-name:celebration-confetti;animation-timing-function:cubic-bezier(.16,.62,.32,1);animation-fill-mode:both}.celebration-coin{position:absolute;left:var(--cx, 50%);top:var(--cy, 50%);will-change:transform,opacity;animation-name:celebration-coin-fall;animation-timing-function:cubic-bezier(.45,.04,.72,.62);animation-fill-mode:both}.celebration-coin__face{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff6d8,#ffd45c 38%,#e8a92f 72%,#b9791c);box-shadow:0 0 10px #ffd45ccc,inset 0 -3px 4px #965a0c99,inset 0 3px 4px #ffffffb3;animation:celebration-coin-spin linear infinite}.celebration-sparkle{position:absolute;left:var(--cx, 50%);top:var(--cy, 50%);background:radial-gradient(circle,#fff 0%,var(--coin) 55%,transparent 75%);clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);filter:drop-shadow(0 0 6px rgba(255,230,163,.9));will-change:transform,opacity;animation-name:celebration-sparkle;animation-timing-function:ease-in-out;animation-iteration-count:2;animation-fill-mode:both}@media(prefers-reduced-motion:reduce){.celebration-rays,.celebration-ring,.celebration-confetti,.celebration-coin,.celebration-sparkle{display:none}.celebration-flash{animation-duration:1s}}.recipe.is-resolving{animation:recipe-resolution-pulse .9s steps(7) both}@keyframes fly-number-to-target{0%{opacity:0;transform:translate(calc(var(--fly-from-x) - 50%),calc(var(--fly-from-y) - 50%)) scale(.6);filter:brightness(2.2)}9%{opacity:1;transform:translate(calc(var(--fly-from-x) - 50%),calc(var(--fly-from-y) - 50% - 12px)) scale(1.3);filter:brightness(1.2)}40%{opacity:1;transform:translate(calc(var(--fly-from-x) - 50%),calc(var(--fly-from-y) - 50% - 8px)) scale(1.18);filter:brightness(1)}92%{opacity:1;transform:translate(calc(var(--fly-to-x) - 50%),calc(var(--fly-to-y) - 50%)) scale(1.04);filter:brightness(1.05)}to{opacity:0;transform:translate(calc(var(--fly-to-x) - 50%),calc(var(--fly-to-y) - 50%)) scale(.84);filter:brightness(2)}}@keyframes final-total-to-progress{0%{opacity:1;transform:translate(calc(var(--final-from-x) - 50%),calc(var(--final-from-y) - 50%)) scale(1);filter:brightness(1)}12%{transform:translate(calc(var(--final-from-x) - 50%),calc(var(--final-from-y) - 50%)) scale(1.1);filter:brightness(1.6)}to{opacity:0;transform:translate(calc(var(--final-to-x) - 50%),calc(var(--final-to-y) - 50%)) scale(.14);filter:brightness(3.5)}}@keyframes progress-bar-pulse{0%{filter:none;transform:scale(1)}14%{filter:brightness(1.7) saturate(1.3);transform:scale(1.038) translateY(-2px)}28%{filter:brightness(1.4);transform:scale(1.024) translateY(1px)}46%{filter:brightness(1.25);transform:scale(1.016)}to{filter:none;transform:scale(1)}}@keyframes progress-bar-pulse-mobile{0%{filter:none;transform:scale(1)}14%{filter:brightness(1.7) saturate(1.3);transform:scale(1.038) translateY(-2px)}28%{filter:brightness(1.4);transform:scale(1.024) translateY(1px)}46%{filter:brightness(1.25);transform:scale(1.016)}to{filter:none;transform:scale(1)}}@keyframes hunger-bar-shimmer{0%{background-position:-55% 0}to{background-position:170% 0}}@keyframes hunger-flow{to{background-position:38px 0}}@keyframes hunger-fill-danger{0%,to{filter:brightness(1)}50%{filter:brightness(1.22) saturate(1.35)}}@keyframes hunger-number-pop{0%{transform:scale(1);filter:none}20%{transform:scale(1.3);filter:brightness(2.4) saturate(1.3)}55%{transform:scale(1.12);filter:brightness(1.55)}80%{transform:scale(1.04);filter:brightness(1.15)}to{transform:scale(1);filter:none}}@keyframes celebration-flash{0%{opacity:0;transform:scale(.6)}14%{opacity:1}to{opacity:0;transform:scale(1.25)}}@keyframes celebration-rays{0%{opacity:0;transform:rotate(-26deg) scale(.3)}16%{opacity:.85}70%{opacity:.5}to{opacity:0;transform:rotate(34deg) scale(1.35)}}@keyframes celebration-ring{0%{opacity:.9;transform:scale(.2);border-width:8px}to{opacity:0;transform:scale(30);border-width:.5px}}@keyframes celebration-confetti{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}10%{opacity:1;transform:translate(calc(var(--burst-x) - 50%),calc(var(--burst-y) - 50%)) scale(1) rotate(calc(var(--rot) * .25))}80%{opacity:1}to{opacity:0;transform:translate(calc(var(--to-x) - 50%),calc(var(--to-y) - 50%)) scale(.9) rotate(var(--rot))}}@keyframes celebration-coin-fall{0%{opacity:0;transform:translate(calc(var(--start-x) - 50%),calc(var(--start-y) - 50%))}12%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(calc(var(--end-x) - 50%),calc(var(--end-y) - 50%))}}@keyframes celebration-coin-spin{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}to{transform:scaleX(1)}}@keyframes celebration-sparkle{0%{opacity:0;transform:translate(calc(var(--start-x) - 50%),calc(var(--start-y) - 50%)) scale(0) rotate(0)}50%{opacity:1;transform:translate(calc(var(--start-x) - 50%),calc(var(--start-y) - 50%)) scale(1) rotate(45deg)}to{opacity:0;transform:translate(calc(var(--start-x) - 50%),calc(var(--start-y) - 50%)) scale(0) rotate(90deg)}}@keyframes recipe-resolution-pulse{0%,to{filter:none;transform:translateY(0)}42%{filter:brightness(1.18);transform:translateY(-3px)}}@keyframes number-counting-throb{0%{filter:brightness(1);text-shadow:5px 0 #100b09,-5px 0 #100b09,0 5px #100b09,0 -5px #100b09}50%{filter:brightness(1.22);text-shadow:5px 0 #100b09,-5px 0 #100b09,0 5px #100b09,0 -5px #100b09,0 0 28px rgba(117,224,141,.4),0 0 56px rgba(117,224,141,.18)}to{filter:brightness(1)}}@keyframes final-calories-punch{0%{filter:brightness(1);transform:scale(1)}7%{filter:brightness(3.8);transform:scale(1.42) rotate(-1.5deg);text-shadow:5px 0 #100b09,-5px 0 #100b09,0 5px #100b09,0 -5px #100b09,0 0 40px rgba(117,224,141,.7),0 0 80px rgba(117,224,141,.35)}18%{filter:brightness(2.1);transform:scale(1.24) rotate(1deg)}32%{filter:brightness(1.55);transform:scale(1.16) rotate(-.5deg)}52%{filter:brightness(1.28);transform:scale(1.09)}74%{filter:brightness(1.12);transform:scale(1.04)}to{filter:brightness(1);transform:scale(1)}}@keyframes impact-ring-expand{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.recipe-reveal{position:fixed;top:var(--cy, 46%);left:var(--cx, 50%);transform:translate(-50%,-50%);z-index:45;display:grid;justify-items:center;gap:10px;width:max-content;pointer-events:none;animation:recipe-reveal-appear .4s steps(7) both}.recipe-reveal .pack-recipe-card{width:clamp(152px,15vw,200px);aspect-ratio:auto;height:auto;padding:12px 12px 13px;gap:7px;pointer-events:none}.recipe-reveal .pack-recipe-card__art{position:relative}.recipe-reveal .recipe-reveal__glow{inset:-28%;z-index:0}.recipe-reveal .pack-recipe-card__art img{position:relative;z-index:1}.recipe-reveal__eyebrow{padding:4px 13px 5px;border:2px solid var(--ink);background:linear-gradient(180deg,#ffe08a 0%,var(--coin) 55%,#e0a92e 100%);color:#2a1709;font-family:var(--font-ui);font-size:clamp(9px,.82vw,11px);font-weight:900;letter-spacing:.16em;line-height:1;text-transform:uppercase;box-shadow:inset 0 1px #ffffff80,0 3px #090604}.recipe-reveal__glow{position:absolute;inset:-34%;z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(255,200,80,.34) 0%,rgba(255,180,60,.08) 46%,transparent 68%);animation:recipe-reveal-glow 1.3s ease-in-out infinite alternate}@keyframes recipe-reveal-glow{0%{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}@keyframes recipe-reveal-appear{0%{opacity:0;transform:translate(-50%,-18%) scale(.28);filter:brightness(4)}55%{transform:translate(-50%,-56%) scale(1.1);filter:brightness(1.5)}80%{transform:translate(-50%,-48%) scale(.96);filter:brightness(1)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:brightness(1)}}.course-reveal{position:fixed;left:var(--cx, 50%);top:var(--cy, 46%);transform:translate(-50%,-50%);z-index:45;display:grid;justify-items:center;gap:9px;width:max-content;max-width:380px;padding:17px 32px 19px;text-align:center;pointer-events:none;border:4px solid var(--ink);border-radius:18px;background:linear-gradient(180deg,rgba(95,200,186,.16),transparent 58%),linear-gradient(180deg,#1d2a2a,#14100d);box-shadow:inset 0 0 0 3px #ffe6a31f,0 10px #090604,0 0 38px 6px #5fc8ba4d;animation:course-reveal-appear .38s cubic-bezier(.16,.72,.18,1) both}.course-reveal__eyebrow{padding:4px 14px 5px;border:2px solid var(--ink);border-radius:999px;background:linear-gradient(180deg,#7fe0d0 0%,var(--teal) 60%,#2f8f82 100%);color:#0c2320;font-family:var(--font-ui);font-size:12px;font-weight:900;letter-spacing:.18em;line-height:1;text-transform:uppercase;box-shadow:inset 0 1px #ffffff80,0 3px #090604}.course-reveal__name{color:var(--gold-bright);font-family:var(--font-title);font-size:34px;font-weight:900;line-height:1;text-shadow:0 3px 0 #090604}.course-reveal__rate{display:inline-flex;align-items:center;gap:11px;color:var(--teal);font-family:var(--font-ui);font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.course-reveal__value{display:inline-grid;place-items:center;min-width:58px;padding:4px 13px 5px;border:3px solid var(--ink);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--good) 92%,#fff 8%) 0%,var(--good) 55%,color-mix(in srgb,var(--good) 70%,#000 30%) 100%);color:#0c2310;font-family:var(--font-number);font-size:23px;font-weight:900;letter-spacing:-.02em;box-shadow:inset 0 2px #fff6,0 3px 0 var(--ink)}@keyframes course-reveal-appear{0%{opacity:0;transform:translate(-50%,-34%) scale(.7);filter:brightness(2.4)}60%{opacity:1;transform:translate(-50%,-54%) scale(1.05);filter:brightness(1.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:brightness(1)}}.resolution-ledger{position:fixed;left:var(--cx, 50%);top:var(--cy, 47%);transform:translate(-50%,-50%);z-index:82;width:min(440px,82vw);display:grid;gap:11px;padding:16px 18px 15px;border:4px solid var(--ink);border-radius:16px;background:linear-gradient(180deg,rgba(255,212,92,.12),transparent 38%),linear-gradient(180deg,#1d150f,#140d0a);box-shadow:inset 0 0 0 3px #ffe6a31a,0 12px #090604,0 0 46px 8px #ffb43c29;pointer-events:none;animation:ledger-in .26s cubic-bezier(.16,.72,.18,1) both}.resolution-ledger__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.resolution-ledger__title{color:var(--coin);font-family:var(--font-ui);font-size:12px;font-weight:900;letter-spacing:.14em;line-height:1;text-transform:uppercase}.resolution-ledger__combo{display:inline-flex;align-items:baseline;gap:5px;padding:3px 10px 4px;border:2px solid var(--ink);border-radius:999px;background:linear-gradient(180deg,#ffe08a 0%,var(--coin) 60%,#e0a92e 100%);color:#2a1709;font-family:var(--font-ui);font-size:10px;font-weight:900;letter-spacing:.1em;line-height:1;text-transform:uppercase;box-shadow:inset 0 1px #ffffff80,0 2px #090604;animation:combo-pop .24s steps(4) both}.resolution-ledger__combo b{font-family:var(--font-number);font-size:15px}.resolution-ledger__combo[data-combo-tier="2"]{background:linear-gradient(180deg,#ffd08a,#ff9d3c 60%,#e0731c)}.resolution-ledger__combo[data-combo-tier="3"]{background:linear-gradient(180deg,#ffb1b1,#ff5d5d 58%,#c92a2a);color:#fff1cf;box-shadow:inset 0 1px #fff6,0 2px #090604,0 0 16px #ff5a5a99}.resolution-ledger__rows{display:grid;gap:6px;align-content:start;min-height:150px}.resolution-ledger__row{display:flex;align-items:center;gap:10px;padding:6px 9px;border:2px solid var(--ink);border-radius:9px;background:linear-gradient(180deg,rgba(255,241,207,.06),transparent 60%),#17100d;box-shadow:0 2px #090604b3;animation:ledger-row-in .34s cubic-bezier(.2,1.5,.4,1) both}.resolution-ledger__row:last-child{border-color:#ffe6a38c;box-shadow:0 2px #090604b3,0 0 16px #ffc85a52}.resolution-ledger__icon{flex:0 0 30px;width:30px;height:30px;object-fit:contain;image-rendering:pixelated}.resolution-ledger__dot{flex:0 0 14px;width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);background:var(--coin)}.resolution-ledger__dot--base{background:var(--good)}.resolution-ledger__dot--utility{background:var(--muted)}.resolution-ledger__label{flex:1;overflow:hidden;color:var(--text);font-family:var(--font-title);font-size:14px;font-weight:700;line-height:1.05;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.resolution-ledger__chip{flex:0 0 auto;padding:3px 10px 4px;border:2px solid var(--ink);border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--coin) 92%,#fff 8%),var(--coin) 55%,color-mix(in srgb,var(--coin) 70%,#000 30%));color:#1a0e09;font-family:var(--font-number);font-size:16px;font-weight:900;letter-spacing:-.02em;line-height:1;box-shadow:inset 0 1px #fff6,0 2px 0 var(--ink)}.resolution-ledger__row--base .resolution-ledger__chip{background:linear-gradient(180deg,color-mix(in srgb,var(--good) 92%,#fff 8%),var(--good) 55%,color-mix(in srgb,var(--good) 70%,#000 30%));color:#0c2310}.resolution-ledger__chip--multiply{background:linear-gradient(180deg,color-mix(in srgb,var(--gold-bright) 92%,#fff 8%),var(--gold-bright) 55%,color-mix(in srgb,var(--gold-bright) 70%,#000 30%));color:#160d06}.resolution-ledger__row--premium{border-color:color-mix(in srgb,var(--purple) 70%,var(--ink) 30%);box-shadow:0 2px #090604b3,0 0 16px color-mix(in srgb,var(--purple) 45%,transparent)}.resolution-ledger__dot--premium{background:var(--purple)}.resolution-ledger__row--premium .resolution-ledger__chip{background:linear-gradient(180deg,color-mix(in srgb,var(--purple) 88%,#fff 12%),var(--purple) 55%,color-mix(in srgb,var(--purple) 68%,#000 32%));color:#fff}.resolution-ledger__row:is(.rarity-rare,.rarity-epic,.rarity-legendary) .resolution-ledger__label{color:var(--rarity)}.resolution-ledger__totals{display:flex;align-items:center;justify-content:center;gap:9px;padding-top:9px;border-top:2px solid rgba(255,230,163,.14)}.resolution-ledger__totals em{color:var(--muted);font-family:var(--font-number);font-size:18px;font-style:normal;font-weight:900}.resolution-ledger__t{display:inline-grid;place-items:center;min-width:44px;padding:3px 8px 4px;border:2px solid var(--ink);border-radius:8px;background:#221812;font-family:var(--font-number);font-size:19px;font-weight:900;line-height:1;animation:total-tick .22s steps(3) both}.resolution-ledger__t--base{color:var(--good)}.resolution-ledger__t--mult{color:var(--coin)}.resolution-ledger__t-total{min-width:64px;padding:4px 12px 5px;border:3px solid var(--ink);border-radius:10px;background:linear-gradient(180deg,#2a2014,#160f0a);color:var(--gold-bright);font-family:var(--font-number);font-size:30px;font-weight:900;line-height:1;text-shadow:0 3px 0 #090604;box-shadow:inset 0 0 0 2px #ffe6a31a,0 3px #090604;animation:total-tick .26s steps(4) both}@keyframes ledger-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes ledger-row-in{0%{opacity:0;transform:scale(.66)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes combo-pop{0%{transform:scale(.6) rotate(-6deg)}60%{transform:scale(1.18) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes total-tick{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(1.16);filter:brightness(1.7)}to{transform:scale(1);filter:brightness(1)}}.feed-resolution.is-shaking-big{animation:res-shake-big .32s ease-in-out both}.feed-resolution.is-shaking-final{animation:res-shake-final .56s ease-in-out both}@keyframes res-shake-big{0%,to{transform:translate(0)}20%{transform:translate(-5px,3px)}40%{transform:translate(4px,-3px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}@keyframes res-shake-final{0%,to{transform:translate(0)}12%{transform:translate(-9px,5px)}26%{transform:translate(8px,-6px)}40%{transform:translate(-7px,4px)}56%{transform:translate(5px,-3px)}72%{transform:translate(-3px,2px)}86%{transform:translate(2px,-1px)}}@media(prefers-reduced-motion:reduce){.feed-resolution.is-shaking-big,.feed-resolution.is-shaking-final{animation:none}}.premium-shatter{position:fixed;inset:0;z-index:60;display:grid;place-items:center;gap:28px;grid-auto-flow:row;pointer-events:none;background:radial-gradient(circle at 50% 45%,#0006,#000000b8);animation:premium-shatter-veil 1.5s ease forwards}.premium-shatter__flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--purple) 70%,#fff),transparent 60%);opacity:0;animation:premium-shatter-flash .5s ease forwards}.premium-shatter__cards{display:flex;gap:40px;align-items:center;justify-content:center}.premium-shatter__card{position:relative;width:210px;height:270px;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--purple) 60%,transparent))}.premium-shatter__half{position:absolute;top:0;height:100%;width:52%;overflow:hidden;border:2px solid color-mix(in srgb,var(--purple) 70%,var(--ink) 30%);background:color-mix(in srgb,var(--purple) 20%,#100a18 80%);transform-origin:center}.premium-shatter__half img{position:absolute;top:0;width:210px;height:100%;object-fit:contain}.premium-shatter__half--l{left:0;border-right:none;border-radius:14px 2px 2px 14px;clip-path:polygon(0 0,100% 0,88% 20%,100% 42%,86% 66%,100% 84%,92% 100%,0 100%);animation:premium-shard-left 1.4s cubic-bezier(.4,0,.5,1) forwards}.premium-shatter__half--l img{left:0}.premium-shatter__half--r{right:0;border-left:none;border-radius:2px 14px 14px 2px;clip-path:polygon(12% 0,100% 0,100% 100%,8% 100%,14% 84%,0 66%,14% 42%,0 20%);animation:premium-shard-right 1.4s cubic-bezier(.4,0,.5,1) forwards}.premium-shatter__half--r img{right:0}.premium-shatter__name{position:absolute;bottom:-26px;left:0;right:0;text-align:center;font-size:15px;font-weight:700;color:color-mix(in srgb,var(--purple) 40%,#fff 60%);text-shadow:0 1px 4px #000;animation:premium-shatter-fade 1.4s ease forwards}.premium-shatter__label{font-size:34px;font-weight:900;letter-spacing:.04em;color:color-mix(in srgb,var(--purple) 45%,#fff 55%);text-shadow:0 0 18px color-mix(in srgb,var(--purple) 70%,transparent),0 2px 6px #000;animation:premium-lost-in 1.4s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes premium-shatter-veil{0%{opacity:0}14%{opacity:1}82%{opacity:1}to{opacity:0}}@keyframes premium-shatter-flash{0%{opacity:0;transform:scale(.6)}30%{opacity:.9}to{opacity:0;transform:scale(1.3)}}@keyframes premium-shard-left{0%{transform:translate(0) rotate(0);opacity:1}22%{transform:translate(-4px,-6px) rotate(-3deg);opacity:1}to{transform:translate(-120px,130px) rotate(-38deg);opacity:0}}@keyframes premium-shard-right{0%{transform:translate(0) rotate(0);opacity:1}22%{transform:translate(4px,-6px) rotate(3deg);opacity:1}to{transform:translate(120px,150px) rotate(34deg);opacity:0}}@keyframes premium-lost-in{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.08)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@keyframes premium-shatter-fade{0%,60%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.premium-shatter__half--l,.premium-shatter__half--r,.premium-shatter__flash{animation-name:premium-shatter-fade}}.service-line{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:24px;pointer-events:auto;background:radial-gradient(ellipse at 50% 46%,#030202d1,#030202b8 58%,#0302027a);animation:service-line-in .3s cubic-bezier(.16,.72,.18,1) both}.service-line__card{display:grid;justify-items:center;gap:26px;width:min(1340px,94%);padding:38px 44px 40px;border:4px solid var(--ink);border-radius:26px;overflow:hidden;background:radial-gradient(120% 92% at 50% -12%,rgba(255,176,92,.16) 0%,transparent 54%),linear-gradient(180deg,#302115eb,#18100bf0 62%,#0f0a07f2);box-shadow:inset 0 2px #ffe6a31f,inset 0 0 0 1px #ffe6a30f,inset 0 -44px 90px #00000073,0 30px 80px #000000b3}.service-line__head{display:grid;justify-items:center;gap:14px}.service-line__title{color:var(--coin);font-family:var(--font-ui);font-size:var(--fs-2xl);font-weight:600;letter-spacing:.3em;line-height:1;text-transform:uppercase;text-shadow:2px 0 #100b09,-2px 0 #100b09,0 2px #100b09,0 -2px #100b09}.service-line__threat{display:inline-flex;align-items:center;gap:10px;margin:0;padding:7px 18px 8px;border:3px solid var(--ink);border-radius:999px;background:#5fc8ba24;box-shadow:inset 0 0 0 1px #5fc8ba4d;color:#aef0e4;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:800;letter-spacing:.12em;line-height:1;text-transform:uppercase}.service-line__threat.is-here{background:#e0783c2e;box-shadow:inset 0 0 0 1px #ff965066;color:#ffce9c;animation:service-line-alarm .9s ease-in-out infinite}.service-line__threat-icon{font-size:15px;line-height:1;color:var(--teal);text-shadow:0 0 8px rgba(95,200,186,.6)}.service-line__threat.is-here .service-line__threat-icon{color:#ffb066;text-shadow:0 0 10px rgba(255,150,80,.7)}.service-line__rail{position:relative;display:flex;align-items:center;width:100%;margin:0;padding:60px 16px 54px;list-style:none;border-radius:20px;background:linear-gradient(180deg,#00000057,#00000024);box-shadow:inset 0 2px 12px #00000080,inset 0 0 0 1px #ffe6a30f,inset 0 -1px #ffe6a30d}.service-line__node{position:relative;display:flex;align-items:center;flex:0 0 auto}.service-line__node:not(:first-of-type){flex:1 1 auto}.service-line__link{flex:1 1 auto;height:5px;min-width:20px;border-radius:999px;background:#ffe6a324;box-shadow:inset 0 0 0 1px #09060499}.service-line__link.is-walked{background:linear-gradient(90deg,#b98a4e,#8a5f2c);box-shadow:inset 0 1px #ffffff38}.service-line__link.is-toboss{background:linear-gradient(90deg,rgba(95,200,186,.25),var(--teal));animation:service-line-toboss 1.1s ease-in-out infinite}.service-line__link.is-actbreak{position:relative;min-width:44px;background:transparent;box-shadow:none;animation:none}.service-line__link.is-actbreak:before{content:"";position:absolute;top:50%;left:50%;width:3px;height:30px;transform:translate(-50%,-50%);border-radius:999px;background:repeating-linear-gradient(180deg,rgba(255,230,163,.3) 0 4px,transparent 4px 9px)}.service-line__body{position:relative;display:inline-flex;flex:0 0 auto}.service-line__disc{position:relative;display:grid;place-items:center;width:42px;height:42px;border:3px solid var(--ink);border-radius:50%;background:radial-gradient(circle at 38% 32%,#3a2c20,#211710 72%);box-shadow:inset 0 2px #ffe6a314,0 3px #090604;animation:service-line-node-in .34s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--i, 0) * 40ms)}.service-line__svc-num{font-family:var(--font-ui);font-size:15px;font-weight:800;line-height:1;color:#ffe6a380}.service-line__node.is-done .service-line__disc:not(.has-portrait){background:radial-gradient(circle at 38% 30%,#c69a5a,#96692f 55%,#6a451d);box-shadow:inset 0 2px #ffffff38,0 3px #090604}.service-line__node.is-done .service-line__svc-num{color:#2a1709b8}.service-line__node.is-current .service-line__disc{box-shadow:inset 0 2px #fff9,0 0 0 4px #ffe6a340,0 0 18px 4px #ffc85a8c,0 3px #090604;animation:service-line-node-in .34s cubic-bezier(.2,1.4,.4,1) both,service-line-current 1.2s ease-in-out .36s infinite}.service-line__node.is-current .service-line__disc:not(.has-portrait){background:radial-gradient(circle at 38% 28%,#fff6d8 0%,var(--gold-bright) 50%,#e0a92e 100%)}.service-line__node.is-current .service-line__svc-num{color:#3a2109;font-size:17px}.service-line__node.is-boss .service-line__disc{width:76px;height:76px;border-width:4px;box-shadow:inset 0 2px #ffe6a31a,0 0 0 3px #5fc8ba73,0 4px #090604}.service-line__disc.has-portrait{overflow:hidden;background-size:460%;background-repeat:no-repeat}.service-line__disc.has-portrait:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 40%,transparent 44%,rgba(0,0,0,.58) 100%);box-shadow:inset 0 2px 6px #00000080;pointer-events:none}.service-line__node.is-done .service-line__disc.has-portrait{filter:grayscale(.85) brightness(.5)}.service-line__node.is-upcoming .service-line__disc.has-portrait{filter:grayscale(.1) brightness(.7)}.service-line__node.is-current .service-line__disc.has-portrait{filter:none}.service-line__node.is-boss.is-done .service-line__disc,.service-line__node.is-boss.is-current .service-line__disc{box-shadow:inset 0 2px #ffffff73,0 0 0 3px #5fc8ba99,0 0 22px 5px #5fc8ba73,0 4px #090604}.service-line__crown{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:26px;height:26px;border:2px solid var(--ink);border-radius:50%;background:linear-gradient(180deg,#7fe0d0 0%,var(--teal) 60%,#2f8f82 100%);font-size:15px;line-height:1;color:#0c2320;text-shadow:none}.service-line__node.is-upcoming .service-line__crown{filter:brightness(.85)}.service-line__pin{position:absolute;bottom:100%;left:50%;margin-bottom:8px;z-index:3;display:grid;justify-items:center;transform:translate(-50%);pointer-events:none;animation:service-line-pin-pop .36s cubic-bezier(.2,1.5,.4,1) both,service-line-pin-bob 1.6s ease-in-out .36s infinite}.service-line__pin-label{padding:5px 13px 6px;border:3px solid var(--ink);border-radius:999px;background:linear-gradient(180deg,#ffe08a 0%,var(--coin) 58%,#d2901f 100%);color:#2a1709;font-family:var(--font-ui);font-size:15px;font-weight:900;letter-spacing:.14em;line-height:1;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.45);box-shadow:inset 0 1px #ffffff8c,0 3px #090604}.service-line__pin:after{content:"";width:12px;height:12px;margin-top:-4px;background:var(--coin);border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg);box-shadow:2px 2px #09060466}.service-line__node.is-boss .service-line__pin-label{background:linear-gradient(180deg,#7fe0d0 0%,var(--teal) 60%,#2f8f82 100%);color:#0c2320}.service-line__node.is-boss .service-line__pin:after{background:var(--teal)}.service-line__meta{position:absolute;top:100%;left:50%;margin-top:10px;display:grid;justify-items:center;gap:4px;width:max-content;max-width:116px;transform:translate(-50%);pointer-events:none}.service-line__target{color:#aef0e4;font-family:var(--font-ui);font-size:15px;font-weight:800;line-height:1;white-space:nowrap;text-shadow:0 2px 0 #100b09}.service-line__foot{display:grid;justify-items:center;gap:20px}.service-line__now{display:inline-flex;align-items:baseline;gap:12px;color:var(--gold-bright);font-family:var(--font-title);font-size:46px;font-weight:700;line-height:1;text-transform:uppercase;text-shadow:3px 0 #100b09,-3px 0 #100b09,0 3px #100b09,0 -3px #100b09}.service-line__now-label{letter-spacing:.02em}.service-line__now-num{display:inline-block;animation:service-line-num-pop .42s cubic-bezier(.2,1.5,.4,1) both}.service-line__now-total{color:var(--muted);font-size:30px}.service-line__now-sub{display:inline-flex;align-items:center;gap:16px}.service-line__now-craving{display:inline-flex;align-items:center;gap:9px;color:#f4dfa6;font-family:var(--font-ui);font-size:21px;font-weight:800;letter-spacing:.05em;line-height:1;text-transform:uppercase;text-shadow:0 2px 0 #100b09}.service-line__craves-label{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.16em}.service-line__now-target{display:inline-flex;align-items:center;gap:16px;color:#e9d9bf;font-family:var(--font-ui);font-size:21px;font-weight:800;letter-spacing:.04em;line-height:1;text-shadow:0 2px 0 #100b09}.service-line__now-target:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}.service-line__now-boss{align-self:center;padding:6px 16px 7px;border:3px solid var(--ink);border-radius:999px;background:linear-gradient(180deg,#7fe0d0 0%,var(--teal) 60%,#2f8f82 100%);color:#0c2320;font-family:var(--font-ui);font-size:17px;font-weight:900;letter-spacing:.16em;text-shadow:none;box-shadow:inset 0 1px #ffffff80,0 3px #090604}.service-line__delta{display:inline-flex;align-items:center;gap:16px;font-family:var(--font-ui);font-size:var(--fs-md);font-weight:800;line-height:1;animation:service-line-delta-in .46s cubic-bezier(.2,.9,.3,1) .7s both}.service-line__delta-label{color:var(--muted);font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase}.service-line__delta-stat{display:inline-flex;align-items:center;text-shadow:0 2px 0 #100b09}.service-line__delta-stat.is-coins{color:var(--coin)}.service-line__delta-stat.is-fed{color:var(--teal)}.service-line__cta{margin-top:4px;padding:16px 44px 18px;border:4px solid var(--ink);border-radius:14px;background:linear-gradient(180deg,#ffe08a 0%,var(--coin) 55%,#d2901f 100%);color:#2a1709;font-family:var(--font-title);font-size:28px;font-weight:700;letter-spacing:.05em;line-height:1;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 2px #ffffff80,0 6px #090604;transition:transform 80ms steps(2),filter 80ms steps(2)}.service-line__cta:hover{filter:brightness(1.07)}.service-line__cta:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff80,0 3px #090604}@keyframes service-line-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes service-line-node-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes service-line-current{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes service-line-pin-pop{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.7)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes service-line-pin-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}@keyframes service-line-num-pop{0%{transform:scale(.6);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes service-line-toboss{0%,to{opacity:.55;box-shadow:0 0 4px #5fc8ba4d}50%{opacity:1;box-shadow:0 0 12px #5fc8ba99}}@keyframes service-line-alarm{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}@keyframes service-line-delta-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.service-line,.service-line__disc,.service-line__node.is-current .service-line__disc,.service-line__pin,.service-line__now-num,.service-line__link.is-toboss,.service-line__threat.is-here,.service-line__delta{animation:none}.service-line__pin{transform:translate(-50%)}}.service-strip{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 7px;border:3px solid var(--ink);border-radius:999px;background:#0c0705b8;box-shadow:inset 0 1px #ffe6a31f,0 3px #090604;cursor:pointer;transition:filter 80ms steps(2)}.service-strip:hover{filter:brightness(1.15)}.service-strip.is-static{cursor:default}.service-strip.is-static:hover{filter:none}.service-strip__label{color:var(--gold-bright);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:900;letter-spacing:.08em;line-height:1;text-transform:uppercase;text-shadow:0 2px 0 #100b09;white-space:nowrap}.service-strip__medallion{position:relative;display:block;width:34px;height:34px;border:3px solid var(--ink);border-radius:50%;overflow:hidden;background-size:470%;background-repeat:no-repeat;box-shadow:0 0 0 2px #5fc8ba8c}.service-strip__medallion.is-here{box-shadow:0 0 0 2px #5fc8bad9,0 0 12px 3px #5fc8ba80;animation:service-strip-alarm .9s ease-in-out infinite}.service-strip__crown{position:absolute;top:-2px;right:-1px;font-size:13px;font-style:normal;line-height:1;color:var(--gold-bright);text-shadow:1px 0 #100b09,-1px 0 #100b09,0 1px #100b09,0 -1px #100b09}.service-strip__boss{color:#aef0e4;font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:.06em;line-height:1;text-transform:uppercase;text-shadow:0 2px 0 #100b09;white-space:nowrap}.service-strip__boss.is-here{color:#ffce9c;animation:service-strip-alarm .9s ease-in-out infinite}@keyframes service-strip-alarm{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}@media(prefers-reduced-motion:reduce){.service-strip__medallion.is-here,.service-strip__boss.is-here{animation:none}}.course-moment{position:absolute;inset:158px 420px 40px 352px;z-index:20;display:grid;place-items:center;padding:24px;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#030202d1,#030202bd 60%,#03020280);border-radius:20px;animation:course-moment-in .22s ease-out both}.course-moment.is-leaving{animation:course-moment-out .34s cubic-bezier(.5,0,.75,.4) both}.course-hero{display:flex;align-items:center;gap:28px;animation:course-hero-in .34s cubic-bezier(.2,1.1,.35,1) both}.course-hero__dish img{display:block;width:140px;height:140px;object-fit:cover;border:5px solid var(--ink);border-radius:50%;background:#211710;box-shadow:inset 0 3px #ffe6a32e,0 0 0 4px var(--coin),0 0 40px 8px #ffc85a73,0 8px #090604b3;animation:course-dish-pop .46s cubic-bezier(.2,1.4,.4,1) both}.course-hero__text{display:grid;gap:6px;text-align:left}.course-hero__eyebrow{color:var(--coin);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:700;letter-spacing:.3em;line-height:1;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 0 #100b09}.course-hero__title{color:var(--gold-bright);font-family:var(--font-title);font-size:62px;font-weight:700;letter-spacing:.01em;line-height:.98;text-transform:uppercase;white-space:nowrap;text-shadow:3px 0 #100b09,-3px 0 #100b09,0 3px #100b09,0 -3px #100b09}.course-hero__bonus{display:flex;align-items:baseline;gap:10px;margin-top:4px;white-space:nowrap}.course-hero__bonus b{color:#9fe1a5;font-family:var(--font-title);font-size:40px;font-weight:700;line-height:1;text-shadow:2px 0 #0d2712,-2px 0 #0d2712,0 2px #0d2712,0 -2px #0d2712}.course-hero__bonus span{color:#cdbfa0;font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-shadow:0 2px 0 #100b09}@keyframes course-moment-in{0%{opacity:0}to{opacity:1}}@keyframes course-moment-out{0%{opacity:1}to{opacity:0}}@keyframes course-hero-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes course-dish-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.course-moment,.course-moment.is-leaving,.course-hero,.course-hero__dish img{animation:none}}.modal__header{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:16px}.modal__header p{color:var(--muted);font-size:var(--fs-xs);line-height:1.35;margin-top:8px}.modal__header h2{font-size:var(--fs-xl);line-height:1.1}.btn-back{min-height:0;padding:10px 22px;border:2px solid #5a3418;border-radius:8px;background:linear-gradient(180deg,#3c2412,#2a190c);color:var(--gold-soft);font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:inset 0 1px #ffdc8c29,0 3px #0c0703;transition:filter .1s steps(2),transform .1s steps(2)}.btn-back:hover:not(:disabled){filter:brightness(1.16)}.btn-back:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px #ffdc8c1f,0 1px #0c0703}.shop-screen .modal__header h2{font-size:var(--fs-lg);letter-spacing:.02em;line-height:1.1}.shop-screen__title{position:absolute;top:15%;left:50%;transform:translate(-50%,-50%);color:#2a1005;font-family:var(--font-title);font-size:var(--fs-xl);font-weight:700;letter-spacing:.12em;text-align:center;text-shadow:0 1px 0 rgba(255,210,120,.5),0 -1px 0 rgba(0,0,0,.18);text-transform:uppercase;white-space:nowrap}.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:visible;align-content:start}@keyframes shop-deal-in{0%{opacity:0;transform:translate(-180px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes shop-deal-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(180px) scale(.9)}}.shop-grid.is-enter .shop-item{animation:shop-deal-in .36s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i, 0) * 90ms)}.shop-grid.is-exit .shop-item{animation:shop-deal-out .36s cubic-bezier(.5,0,.85,.4) both;animation-delay:calc(var(--i, 0) * 90ms)}@media(prefers-reduced-motion:reduce){.shop-grid.is-enter .shop-item,.shop-grid.is-exit .shop-item{animation:none}}.shop-screen{position:relative;display:flex;flex-direction:column;border:none;box-shadow:none;background:url(../assets/ui/shop-screen-bg.webp) center / 100% 100% no-repeat,#0e0906;padding:200px 160px 110px;height:75%}.shop-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:auto}.shop-footer button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:56px;min-width:168px;border:0;border-radius:12px;background:transparent;box-shadow:inset 0 0 0 2px #ffde963d,inset 0 1px #ffecb838,0 4px #0c0703,0 7px 14px #0000006b;color:var(--gold-soft);font-family:var(--font-title);font-size:var(--fs-xs);font-weight:850;letter-spacing:.04em;padding:11px 22px;text-align:center;text-shadow:0 2px 0 rgba(16,9,5,.72);text-transform:uppercase;transition:filter 80ms steps(2),transform 60ms steps(1),box-shadow 60ms steps(1);white-space:nowrap}.shop-footer button:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:12px;background:url(../assets/hud/monster-field-bg.webp) center / cover no-repeat;pointer-events:none}.shop-footer button:hover:not(:disabled){filter:brightness(1.12)}.shop-footer button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 2px #ffde963d,0 1px #0c0703,0 2px 6px #0006}.shop-cost{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:#08050375;box-shadow:inset 0 0 0 1px #ffdc9647;color:var(--coin);text-shadow:0 1px 0 rgba(0,0,0,.6)}.shop-cost--free{color:var(--good)}.shop-footer .shop-cost .coin-icon{width:16px;height:16px}.shop-footer button:disabled{filter:none;opacity:.5}.shop-footer button:disabled:before{filter:grayscale(.72) brightness(.66)}.shop-footer .shop-leave-btn{color:var(--gold-soft);font-size:var(--fs-sm);text-shadow:0 2px 0 rgba(42,18,6,.82),0 0 12px rgba(255,212,92,.24)}.shop-footer .shop-leave-btn:before{background:url(../assets/hud/monster-field-bg.webp) center / 100% 100% no-repeat}.shop-empty{grid-column:1 / -1;border:3px solid var(--ink);background:#17100d;color:var(--muted);font-weight:850;margin:0;padding:18px;text-align:center}.card-removal-overlay{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:#070607b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:18px}.card-removal-modal{width:min(1100px,100%);aspect-ratio:3 / 2;position:relative;display:flex;flex-direction:column;justify-content:flex-start;border:0;background:url(../assets/ui/card-pack-modal-bg.webp) center / 100% 100% no-repeat;box-shadow:none;padding:165px 80px 220px;overflow:visible}.card-removal-header{text-align:center}.card-removal-header h2{margin:0;color:#3a2410;text-shadow:0 1px 0 rgba(255,244,214,.45)}.card-removal-skip{position:absolute;right:96px;bottom:226px;min-height:50px;padding:10px 28px;font-size:var(--fs-xs)}.card-removal-grid{flex:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:32px}.card-removal-grid .pack-flip{flex:0 0 auto;width:150px}.card-removal-grid .food-card{width:150px;flex:0 0 auto;padding:8px;border-radius:16px;background:transparent;transform:none;transition:transform .12s ease,filter .12s ease}.card-removal-grid .food-card+.food-card,.card-removal-grid .food-card:hover:not(:disabled)~.food-card{margin-left:0;transform:none}.card-removal-grid .food-card:hover:not(:disabled){transform:translateY(-6px);filter:brightness(1.08) drop-shadow(0 8px 12px rgba(0,0,0,.5))}.card-removal-grid.is-removing .pack-flip{pointer-events:none}.card-removal-grid .pack-flip.is-returning{animation:removal-return .72s cubic-bezier(.4,0,.75,.2) forwards}.card-removal-grid .pack-flip.is-returning:nth-child(2){animation-delay:70ms}.card-removal-grid .pack-flip.is-returning:nth-child(3){animation-delay:.14s}.card-removal-grid .pack-flip.is-returning:nth-child(4){animation-delay:.21s}@keyframes removal-return{0%{opacity:1;transform:translateY(0) scale(1) rotate(0)}to{opacity:0;transform:translateY(-150px) scale(.5) rotate(-6deg)}}.card-removal-grid .pack-flip.is-chosen{z-index:3;animation:removal-chosen-wait .98s ease-out both}@keyframes removal-chosen-wait{0%{transform:translateY(0) scale(1)}to{transform:translateY(-6px) scale(1.06)}}.card-removal-grid .pack-flip.is-cutting{animation:none;transform:translateY(-6px) scale(1.06)}.card-cut{position:relative}.card-cut .cut-anchor{visibility:hidden}.card-cut .cut-half{position:absolute;inset:0;will-change:transform,opacity}.card-cut .cut-half .food-card{width:100%}.card-cut .cut-half--left{clip-path:inset(0 50% 0 0);animation:card-cut-left 1.5s cubic-bezier(.3,0,.5,1) forwards}.card-cut .cut-half--right{clip-path:inset(0 0 0 50%);animation:card-cut-right 1.5s cubic-bezier(.3,0,.5,1) forwards}@keyframes card-cut-left{0%{transform:translate(0) rotate(0);opacity:1}10%{transform:translate(-3px) rotate(-1deg);opacity:1}45%{transform:translate(-34px,62px) rotate(-11deg);opacity:1}70%{opacity:.85}to{transform:translate(-64px,190px) rotate(-22deg);opacity:0}}@keyframes card-cut-right{0%{transform:translate(0) rotate(0);opacity:1}10%{transform:translate(3px) rotate(1deg);opacity:1}45%{transform:translate(34px,70px) rotate(11deg);opacity:1}70%{opacity:.85}to{transform:translate(64px,210px) rotate(22deg);opacity:0}}.card-cut .cut-flash{position:absolute;top:-6%;bottom:-6%;left:50%;width:3px;transform:translate(-50%) scaleY(0);transform-origin:top center;background:linear-gradient(180deg,transparent,rgba(255,255,255,.95) 30%,rgba(255,240,190,1) 50%,rgba(255,255,255,.95) 70%,transparent);box-shadow:0 0 8px 2px #fff5cde6,0 0 18px 4px #ffd27880;pointer-events:none;animation:card-cut-flash .9s ease-out forwards}@keyframes card-cut-flash{0%{opacity:0;transform:translate(-50%) scaleY(0)}10%{opacity:1;transform:translate(-50%) scaleY(1)}28%{opacity:.85}45%{opacity:0}to{opacity:0}}@media(prefers-reduced-motion:reduce){.card-removal-grid .pack-flip.is-returning,.card-removal-grid .pack-flip.is-chosen,.card-cut .cut-half--left,.card-cut .cut-half--right,.card-cut .cut-flash{animation-duration:1ms;animation-timing-function:linear}}.service-summary{display:grid;justify-items:center;gap:12px;width:min(720px,calc(100% - 24px));max-height:min(94%,900px);overflow:visible;border:0;background:transparent;box-shadow:none;padding:0}.service-summary__receipt{position:relative;aspect-ratio:1025 / 1376;display:grid;grid-template-rows:auto auto auto;align-content:start;gap:8px;width:min(620px,92%);min-width:min(360px,calc(100% - 24px));min-height:0;overflow:hidden;background:url(../assets/ui/service-summary-receipt-bg.webp) center / 100% 100% no-repeat;color:#3d2817;padding:170px 102px 84px;text-shadow:none;transform-origin:top center;animation:summary-receipt-in .65s cubic-bezier(.2,.8,.3,1) both}@keyframes summary-receipt-in{0%{opacity:0;transform:translateY(-22px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes summary-row-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes summary-pop-in{0%{opacity:0;transform:scale(.55)}70%{transform:scale(1.16)}to{opacity:1;transform:scale(1)}}.service-summary__receipt>*{animation:summary-row-in .46s ease-out both}.service-summary__receipt>*:nth-child(1){animation-delay:.36s}.service-summary__receipt>*:nth-child(2){animation-delay:.62s}.service-summary__receipt>*:nth-child(3){animation-delay:.88s}.service-summary__receipt>*:nth-child(4){animation-delay:1.14s}.service-summary__coin-total{animation:summary-pop-in .52s ease-out both;animation-delay:1.42s}.service-summary__actions{animation:summary-row-in .46s ease-out both;animation-delay:1.4s}@media(prefers-reduced-motion:reduce){.service-summary__receipt,.service-summary__receipt>*,.service-summary__coin-total,.service-summary__actions{animation:none}}.service-summary__header{position:absolute;top:8.9%;right:30%;left:30%;display:grid;align-content:center;justify-items:center;gap:1px;height:6.3%;min-width:0;text-align:center}.service-summary__header span{color:#7b512b;font-size:var(--fs-xs);font-weight:950;letter-spacing:.08em;line-height:1;margin:0;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,238,178,.35)}.service-summary__header h2{max-width:100%;overflow:hidden;color:#3b2414;font-size:var(--fs-lg);line-height:1;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(255,238,178,.45);white-space:nowrap}.service-summary__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;border-block:2px solid rgba(101,66,34,.34);padding-block:7px}.service-summary__section{display:grid;gap:5px;min-width:0;border:0;background:transparent;padding:0}.service-summary__section h3{margin:0 0 2px;color:#5b351c;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase}.service-summary__section article,.service-summary__meta,.service-summary__coins div,.service-summary__coins footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 14px}.service-summary__section article,.service-summary__coins div,.service-summary__coins footer{border-bottom:1px solid rgba(90,58,28,.18);padding:4px 0}.service-summary__section article:last-child,.service-summary__coins div:last-of-type,.service-summary__coins footer:last-child{border-bottom:none;padding:2px 0}.service-summary__section article em{grid-column:1 / -1;overflow:hidden;color:#87633b;font-size:var(--fs-2xs);font-style:normal;font-weight:900;line-height:1.12;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.service-summary__meta span,.service-summary__section span,.service-summary__section p{color:#5d3b20;font-size:var(--fs-xs);font-weight:950;line-height:1.08;text-transform:uppercase}.service-summary__meta strong,.service-summary__section strong{color:#2f1b0f;font-size:var(--fs-md);line-height:1.05;text-align:right;text-shadow:0 1px 0 rgba(255,238,178,.42)}.service-summary__coins{align-self:end;margin-top:6px}.service-summary__coins .service-summary__label{display:inline-flex;align-items:center;line-height:1}.summary-help{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;min-height:0;margin-left:6px;padding:0;border:1.5px solid #8a5a2c;border-radius:50%;background:#fff4d699;color:#6b3f1c;transform:translateY(-.06em);cursor:help}.summary-help .summary-help__glyph{font-size:9px;font-weight:900;line-height:1}.summary-help .summary-help__tip{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:5;width:max-content;max-width:220px;padding:8px 10px;border-radius:8px;background:#2f1b0f;color:#ffe9b0;font-size:var(--fs-2xs);font-weight:700;line-height:1.3;letter-spacing:normal;text-align:left;text-transform:none;text-shadow:none;box-shadow:0 6px 16px #00000059;opacity:0;transform:translate(-50%) translateY(4px);transition:opacity .12s ease,transform .12s ease;pointer-events:none}.summary-help:hover .summary-help__tip,.summary-help:focus-visible .summary-help__tip{opacity:1;transform:translate(-50%) translateY(0)}.service-summary__coins footer{border-color:var(--coin);border-top:2px solid rgba(91,53,28,.7);border-bottom:0;margin-top:2px;padding-top:9px}.service-summary__coins footer strong{color:#5a2f13;font-size:var(--fs-xl)}.service-summary__coin-total{display:inline-flex;align-items:center;justify-self:end;gap:6px}.service-summary__coin-total .coin-icon{width:24px;height:24px}.service-summary__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:min(520px,calc(100% - 36px))}.service-summary__actions button{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-width:220px;min-height:72px;border:0;background:transparent;box-shadow:none;color:var(--gold-soft);font-family:var(--font-title);font-size:var(--fs-lg);font-weight:900;letter-spacing:0;line-height:1;padding:12px 36px;text-transform:uppercase;text-shadow:0 2px 0 rgba(42,18,6,.82),0 0 12px rgba(255,212,92,.24);transition:filter 80ms steps(2),transform 60ms steps(1)}.service-summary__actions button:before{content:"";position:absolute;inset:0;z-index:-1;background:url(../assets/hud/monster-field-bg.webp) center / 100% 100% no-repeat;pointer-events:none}.service-summary__actions button:hover:not(:disabled){filter:brightness(1.1)}.service-summary__actions button:active:not(:disabled){transform:translateY(3px)}.profile-frame.lost-screen{display:grid;grid-template-columns:minmax(300px,460px) minmax(0,1fr);gap:24px;width:min(1200px,94%);max-height:min(92%,760px);padding:24px;overflow:hidden}.lost-screen__art{margin:0;align-self:stretch;justify-self:stretch;width:100%;min-height:300px;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 50% 32%,#2a1c14,#120b08);box-shadow:inset 0 0 0 2px #fff6d666,0 6px 16px #4a2d0847}.lost-screen__art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:pixelated}.lost-screen__body{display:flex;flex-direction:column;min-width:0;min-height:0}.lost-screen__scroll{display:flex;flex-direction:column;gap:13px;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:4px}.lost-screen__head{display:grid;gap:2px}.lost-screen__head .eyebrow{color:#b5462f;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lost-screen__head h2{margin-top:2px;color:#452a0d;font-family:var(--font-title);font-size:var(--fs-2xl);line-height:1.02;text-shadow:0 1px 0 rgba(255,245,214,.5)}.lost-screen__best-badge{justify-self:start;margin-top:6px;padding:5px 12px;border:1px solid #c8901f;border-radius:999px;background:linear-gradient(180deg,#ffe6a3,#ffd45c);color:#4a3410;font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:900;letter-spacing:.06em;line-height:1;text-transform:uppercase}.lost-screen__scoreline{display:grid;gap:8px;padding:12px 0;border-top:1px solid rgba(110,74,36,.25);border-bottom:1px solid rgba(110,74,36,.25)}.lost-screen__score-num{display:flex;align-items:baseline;gap:8px}.lost-screen__score-num strong{color:#b5462f;font-size:var(--fs-3xl);line-height:.85;text-shadow:0 1px 0 rgba(255,245,214,.5)}.lost-screen__score-num span{color:#7a5a2a;font-size:var(--fs-xs);font-weight:900;text-transform:uppercase}.lost-progress{width:100%;height:14px;border-radius:999px;background:#4a34102e;box-shadow:inset 0 1px 3px #4a341059;overflow:hidden}.lost-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#c9503f,#e0a01e);box-shadow:0 0 8px #e0a01e73}.lost-screen__scoreline em{color:#b5462f;font-size:var(--fs-2xs);font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.lost-screen__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.lost-screen__stats article{display:grid;gap:5px;justify-items:center;min-width:0;padding:11px 6px 9px;border:1px solid rgba(110,74,36,.28);border-radius:11px;background:linear-gradient(180deg,#fff6d899,#f0e0bc80);box-shadow:inset 0 1px #fff6;text-align:center}.lost-screen__stats span{color:#7a5a2a;font-size:var(--fs-3xs);font-weight:900;letter-spacing:.04em;line-height:1.15;text-transform:uppercase}.lost-screen__stats strong{color:#452a0d;font-size:var(--fs-lg);line-height:1}.lost-screen__records{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.lost-screen__record{display:grid;gap:4px;justify-items:center;padding:10px 6px;border:1px solid rgba(110,74,36,.22);border-radius:9px;background:#fff6d880;text-align:center}.lost-screen__record span{color:#7a5a2a;font-size:var(--fs-3xs);font-weight:900;letter-spacing:.04em;text-transform:uppercase}.lost-screen__record strong{color:#452a0d;font-size:var(--fs-md);line-height:1}.lost-screen__record.is-best{border-color:#c8901f;background:linear-gradient(180deg,#ffd45c59,#fff6d880)}.lost-screen__record.is-best strong{color:#8a5a0e}.lost-screen__standing{display:grid;gap:2px}.lost-screen__note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px;border-bottom:1px solid rgba(110,74,36,.18)}.lost-screen__note span{color:#7a5a2a;font-size:var(--fs-2xs);font-weight:900;text-transform:uppercase}.lost-screen__note strong{color:#452a0d;font-size:var(--fs-sm)}.lost-screen__actions{display:flex;justify-content:flex-end;flex:none;margin-top:14px;padding-top:4px;gap:16px}.lost-screen__btn{min-width:240px;padding:13px 36px;border-radius:12px;border:1px solid #b8862f;background:linear-gradient(180deg,var(--gold-bright, #ffe6a3),var(--coin, #ffd45c));color:#2a1c0c;font-family:var(--font-title);font-size:var(--fs-md);font-weight:800;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 16px #0000006b,0 0 20px color-mix(in srgb,var(--coin, #ffd45c) 34%,transparent),inset 0 1px #ffffff59;transition:transform .12s ease,filter .12s ease}.lost-screen__btn:hover,.lost-screen__btn:focus-visible{transform:translateY(-2px);filter:brightness(1.05)}.lost-screen__btn:active{transform:translateY(0)}.shop-item{position:relative;display:flex;flex-direction:column;align-items:center;overflow:visible;cursor:default;-webkit-user-select:none;user-select:none}.shop-item__popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:50;width:248px;display:grid;gap:8px;border:3px solid var(--ink);background:linear-gradient(180deg,rgba(255,241,207,.07),transparent 5rem),#17100d;box-shadow:inset 0 0 0 2px #ffe6a30f,0 6px #090604;padding:12px;pointer-events:none}.shop-item.is-disabled{opacity:.46}.shop-item.rarity-common .shop-item__visual-inner{filter:drop-shadow(0 4px 3px rgba(0,0,0,.4))}.shop-item.rarity-rare .shop-item__visual-inner{animation:rarity-glow-rare 2.2s ease-in-out infinite}.shop-item.rarity-epic .shop-item__visual-inner{animation:rarity-glow-epic 1.8s ease-in-out infinite}.shop-item.rarity-legendary .shop-item__visual-inner{animation:rarity-glow-legendary 1.5s ease-in-out infinite}@keyframes rarity-glow-rare{0%,to{filter:drop-shadow(0 0 7px rgba(95,200,186,.45))}50%{filter:drop-shadow(0 0 24px rgba(95,200,186,.85))}}@keyframes rarity-glow-epic{0%,to{filter:drop-shadow(0 0 9px rgba(176,84,255,.55))}50%{filter:drop-shadow(0 0 32px rgba(176,84,255,1))}}@keyframes rarity-glow-legendary{0%,to{filter:drop-shadow(0 0 8px rgba(255,150,50,.85)) drop-shadow(0 0 18px rgba(255,90,20,.55))}50%{filter:drop-shadow(0 0 16px rgba(255,140,40,1)) drop-shadow(0 0 44px rgba(255,80,15,.92))}}.shop-item__visual{display:flex;align-items:center;justify-content:center;width:100%;height:320px;padding:16px;border-radius:16px;background:linear-gradient(180deg,#3a261229,#3a26120f);box-shadow:inset 0 0 0 2px #78522673,inset 0 0 0 4px #ffecb81f,inset 0 8px 20px #2214084d;pointer-events:none}.shop-item__visual-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:transform .22s cubic-bezier(.2,.9,.18,1)}.shop-item:hover:not(.is-disabled) .shop-item__visual-inner,.shop-item.is-active:not(.is-disabled) .shop-item__visual-inner{transform:translateY(-10px)}.shop-card-preview{height:90%;aspect-ratio:2 / 3;width:auto;max-width:100%}.shop-item[role=button]{cursor:pointer}.shop-item[role=button].is-disabled{cursor:not-allowed}.shop-item__tag{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;gap:7px;width:172px;height:80px;margin-top:-12px;padding:4px 14px 10px 38px;background:url(../assets/ui/shop-price-tag.webp) center / contain no-repeat;color:#3a2412;font-family:var(--font-number);line-height:1;white-space:nowrap;transform-origin:14% 42%;transform:rotate(3deg);transition:transform .22s cubic-bezier(.2,.9,.18,1),filter .12s ease;filter:drop-shadow(0 5px 4px rgba(0,0,0,.4))}.shop-item:hover:not(.is-disabled) .shop-item__tag,.shop-item.is-active:not(.is-disabled) .shop-item__tag{animation:tag-swing 1.5s ease-in-out infinite;filter:drop-shadow(0 7px 6px rgba(0,0,0,.45)) brightness(1.04)}.shop-item[role=button]:not(.is-disabled):active .shop-item__tag{transform:rotate(3deg) scale(.95)}.shop-item.is-disabled .shop-item__tag{filter:grayscale(.65) brightness(.72)}.shop-item__tag-action{font-size:var(--fs-sm);font-weight:950;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,244,214,.5)}.shop-item__tag-price{display:flex;align-items:center;gap:4px;font-size:var(--fs-lg);font-weight:950;text-shadow:0 1px 0 rgba(255,244,214,.5)}.shop-item__tag--sell .shop-item__tag-action{color:#94221a}@keyframes tag-swing{0%{transform:rotate(2deg)}50%{transform:rotate(6deg)}to{transform:rotate(2deg)}}.shop-charm-preview{display:grid;place-items:center;width:100%;height:100%}.shop-charm-preview img{max-height:256px;max-width:100%;width:auto;height:auto;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 0 rgba(0,0,0,.55)) drop-shadow(0 10px 14px rgba(0,0,0,.32))}.shop-detail__kind{font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase;color:var(--muted)}.shop-detail__kind.rarity-common{color:#d7bd91}.shop-detail__kind.rarity-rare{color:var(--teal)}.shop-detail__kind.rarity-epic{color:var(--rarity-epic, #a335ee)}.shop-detail__kind.rarity-legendary{color:var(--coin)}.shop-detail__name{color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-md);line-height:1;text-transform:uppercase}.shop-detail__quote{color:var(--coin);font-size:var(--fs-xs);font-style:normal;font-weight:950;line-height:1.25}.shop-detail__desc{color:var(--muted);font-size:var(--fs-sm);line-height:1.4;text-transform:none}.coin-icon{display:inline-block;flex:0 0 auto;width:17px;height:17px;background:url(../assets/ui/icons/coin-icon.webp) center / contain no-repeat;image-rendering:pixelated}.shop-item__price i{display:inline-block;flex:0 0 auto;width:22px;height:22px;background:url(../assets/ui/icons/coin-icon.webp) center / contain no-repeat;image-rendering:pixelated}.coin-icon{width:18px;height:18px}.leaderboard-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.leaderboard-tab{padding:6px 12px;border:2px solid var(--ink);border-radius:6px;background:#17100d;color:var(--muted);font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.leaderboard-tab:hover{color:var(--coin);border-color:var(--coin)}.leaderboard-tab.is-active{background:var(--coin);color:var(--ink)}.leaderboard-list{display:grid;gap:10px}.leaderboard-list article{display:grid;grid-template-columns:58px 1fr 110px 80px;gap:10px;align-items:center;border:3px solid var(--ink);background:#17100d;padding:12px}.leaderboard-list strong,.leaderboard-list b{color:var(--coin)}.leaderboard-list em{color:var(--muted);font-style:normal}.reward-screen{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 24px 32px}.screen-overlay:has(.reward-screen){background:radial-gradient(ellipse 92% 82% at 50% 46%,#08050457,#060403b3)}.reward-screen__title{color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-2xl);font-weight:700;letter-spacing:.1em;text-align:center;text-shadow:0 2px 0 rgba(0,0,0,.4),0 0 22px rgba(255,200,90,.35);text-transform:uppercase}.reward-screen__prompt{color:var(--muted);font-family:var(--font-ui);font-size:var(--fs-sm);letter-spacing:.04em;margin-bottom:14px}.reward-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:22px}.reward-card{--accent: var(--coin);--glow: rgba(255, 212, 92, .4);position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:270px;min-height:402px;padding:20px 22px 24px;border:3px solid transparent;border-radius:15px;background:linear-gradient(180deg,#3a2413,#241507 58%,#190e05) padding-box,linear-gradient(150deg,#ffe6a3,#b5852f 26%,#6e4a1c 54%,#b5852f 76%,#ffe6a3) border-box;box-shadow:inset 0 2px #ffecb838,inset 0 -4px 12px #0000008c,inset 0 0 44px #0006,0 9px #0a0603,0 17px 32px #0000008c;color:var(--text);cursor:pointer;will-change:transform,opacity;opacity:0;animation:reward-card-in .22s cubic-bezier(.22,.85,.25,1) both;animation-delay:calc(var(--i, 0) * 55ms);transition:transform .13s ease-out,filter .13s ease-out}.reward-card:after{content:"";position:absolute;inset:3px;border-radius:12px;pointer-events:none;background:repeating-linear-gradient(92deg,#ffecb808 0 2px,#0000000d 2px 5px);mix-blend-mode:overlay;opacity:.5}.reward-card:before{content:"";position:absolute;inset:9px;border-radius:9px;pointer-events:none;background:radial-gradient(circle at 0 0,#ffe1a0 2.4px,#6e4a1c 3px,transparent 3.5px),radial-gradient(circle at 100% 0,#ffe1a0 2.4px,#6e4a1c 3px,transparent 3.5px),radial-gradient(circle at 0 100%,#ffe1a0 2.4px,#6e4a1c 3px,transparent 3.5px),radial-gradient(circle at 100% 100%,#ffe1a0 2.4px,#6e4a1c 3px,transparent 3.5px)}.reward-card:hover{transform:translateY(-9px) scale(1.03);filter:brightness(1.07)}.reward-card:active{transform:translateY(-3px) scale(1.01)}.reward-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.reward-card__ribbon{z-index:1;margin-top:2px;padding:4px 16px;border-radius:999px;background:linear-gradient(180deg,#4a3316,#281a0a);border:1px solid color-mix(in srgb,var(--accent) 66%,#6e4a1c);color:color-mix(in srgb,var(--accent) 62%,#f2ddaf);font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.22em;text-transform:uppercase;box-shadow:inset 0 1px #ffecb833,0 2px 4px #00000080}.reward-card__emblem{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:128px;height:128px;margin:4px 0 2px;border:4px solid transparent;border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--accent) 24%,#1d1108),#150c06 72%) padding-box,conic-gradient(from 218deg,#ffe6a3,#a9762c 25%,#5f3f18,#a9762c 75%,#ffe6a3) border-box;box-shadow:inset 0 3px 6px #ffecb838,inset 0 -7px 15px #0000009e,0 3px 8px #00000080}.reward-card__icon{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.6))}.reward-card__emblem:has(.reward-card__icon) .reward-card__hero,.reward-card__emblem:has(.reward-card__icon) .reward-card__sub{display:none}.reward-card__hero{font-family:var(--font-title);font-size:38px;font-weight:700;line-height:1;color:color-mix(in srgb,var(--accent) 78%,#ffe6a3);text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 10px rgba(0,0,0,.5)}.reward-card__sub{max-width:100px;color:#cdb891;font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:.08em;line-height:1.15;text-align:center;text-transform:uppercase}.reward-card__name{z-index:1;display:flex;align-items:center;justify-content:center;min-height:2.2em;font-family:var(--font-title);font-size:var(--fs-lg);font-weight:700;line-height:1.05;text-align:center;color:var(--gold-bright);text-shadow:0 2px 0 rgba(0,0,0,.55),0 -1px 0 rgba(255,236,184,.14)}.reward-card__divider{position:relative;width:74%;height:1px;margin:4px 0 6px;background:linear-gradient(90deg,transparent,#a9762c 22%,#a9762c 78%,transparent)}.reward-card__divider:before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(135deg,#ffe6a3,#a9762c);border:1px solid #5f3f18}.reward-card__desc{display:flex;align-items:center;justify-content:center;min-height:3.1em;margin-top:auto;padding:9px 12px;border-radius:9px;background:#0000003d;box-shadow:inset 0 1px 2px #00000073;color:#e6d5b3;font-family:var(--font-ui);font-size:var(--fs-xs);line-height:1.45;text-align:center}.reward-card--coin{--accent: #ffd45c;--glow: rgba(255, 212, 92, .4)}.reward-card--base-multiplier{--accent: #b89bff;--glow: rgba(143, 106, 232, .42)}.reward-card--base-calorie{--accent: #75e08d;--glow: rgba(117, 224, 141, .38)}.reward-card--free-reroll{--accent: #5fc8ba;--glow: rgba(95, 200, 186, .38)}.reward-card--free-card-remove{--accent: #ff7a82;--glow: rgba(255, 122, 130, .38)}.reward-card--upgrade-jumbo{--accent: #75e08d;--glow: rgba(117, 224, 141, .4)}.reward-card--upgrade-premium{--accent: #b89bff;--glow: rgba(143, 106, 232, .44)}.reward-card--upgrade-gilded{--accent: #ffd45c;--glow: rgba(255, 212, 92, .44)}.reward-card--cookbook{--accent: #e0a86a;--glow: rgba(224, 168, 106, .4)}@keyframes reward-card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.card-upgrade-tag{position:absolute;top:6%;left:50%;transform:translate(-50%);z-index:3;padding:2px 10px;border-radius:999px;background:#0c0805d1;border:1px solid currentColor;font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.food-card.upgrade-jumbo .card-upgrade-tag{color:var(--good)}.food-card.upgrade-premium .card-upgrade-tag{color:#b89bff}.food-card.upgrade-gilded .card-upgrade-tag{color:var(--coin)}.food-card.upgrade-gilded .game-card{filter:drop-shadow(0 0 8px rgba(255,212,92,.55))}.food-card.upgrade-premium .game-card{filter:drop-shadow(0 0 8px rgba(143,106,232,.55))}.food-card.upgrade-jumbo .game-card{filter:drop-shadow(0 0 8px rgba(117,224,141,.5))}.reward-upgrade-cell{flex:0 0 auto;transform-origin:center center;will-change:transform,opacity}.reward-upgrade-grid.is-animating .reward-upgrade-cell{pointer-events:none}.reward-upgrade-cell.is-dismissed{animation:reward-upgrade-dismiss var(--dismiss-ms, .46s) cubic-bezier(.5,0,.75,0) forwards}.reward-upgrade-cell.is-dismissed:nth-child(2){animation-delay:60ms}.reward-upgrade-cell.is-dismissed:nth-child(3){animation-delay:.12s}.reward-upgrade-cell.is-dismissed:nth-child(4){animation-delay:.18s}@keyframes reward-upgrade-dismiss{to{opacity:0;transform:translateY(26px) scale(.8) rotate(-5deg)}}.reward-upgrade-cell.is-picked{position:relative;z-index:4}.reward-upgrade-cell.is-morphing{animation:reward-upgrade-morph 1.08s cubic-bezier(.34,1.56,.64,1) both}@keyframes reward-upgrade-morph{0%{transform:scale(1);filter:brightness(1) drop-shadow(0 0 0 transparent)}30%{transform:scale(1.22) rotate(1.5deg);filter:brightness(1.55) drop-shadow(0 0 22px var(--upgrade-glow, rgba(255, 212, 92, .75)))}55%{transform:scale(1.06) rotate(-.5deg);filter:brightness(1.15) drop-shadow(0 0 16px var(--upgrade-glow, rgba(255, 212, 92, .6)))}to{transform:scale(1.12);filter:brightness(1) drop-shadow(0 0 12px var(--upgrade-glow, rgba(255, 212, 92, .45)))}}.reward-upgrade-cell.is-flying{animation:reward-upgrade-fly .66s cubic-bezier(.6,.04,.98,.34) forwards}@keyframes reward-upgrade-fly{0%{transform:scale(1.12);opacity:1}to{transform:translateY(58vh) scale(.24) rotate(8deg);opacity:0}}@media(prefers-reduced-motion:reduce){.reward-upgrade-cell.is-dismissed,.reward-upgrade-cell.is-morphing,.reward-upgrade-cell.is-flying{animation-duration:1ms;animation-timing-function:linear}}:root{--rarity-common: #9d9d9d;--rarity-rare: #0070dd;--rarity-epic: #a335ee;--rarity-legendary: #ff8000}.rarity-common{--rarity: var(--rarity-common)}.rarity-rare{--rarity: var(--rarity-rare)}.rarity-epic{--rarity: var(--rarity-epic)}.rarity-legendary{--rarity: var(--rarity-legendary)}.rarity-basic{--rarity: var(--muted)}.menu-builder-backdrop,.cookbook-pack-backdrop{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#070607b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.menu-builder-backdrop{background:linear-gradient(#0806066b,#0806069e),url(../assets/backgrounds/menu-planning-nook.webp) center / cover no-repeat}.menu-builder{width:min(880px,96vw);max-height:90vh;display:flex;flex-direction:column;gap:16px;overflow:hidden;border:0;background:none;box-shadow:none}.menu-builder__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.menu-builder__header h2{font-family:var(--font-title);margin:2px 0;font-size:1.4rem}.menu-builder__hint{color:var(--muted);font-size:.85rem;margin:0}.menu-builder__count{flex:none;font-family:var(--font-number);font-weight:700;font-size:1.1rem;padding:6px 12px;border:3px solid var(--ink);border-radius:12px;background:var(--panel-strong);color:var(--text)}.menu-builder__count.is-full{color:var(--coin);border-color:var(--coin)}.menu-builder__courses{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;overflow-y:auto;padding-right:4px}.menu-course__title{display:flex;align-items:center;justify-content:space-between;gap:6px;font-family:var(--font-title);font-size:1rem;margin:0 0 8px;padding-bottom:4px;border-bottom:2px solid var(--line)}.menu-course__title--appetizer{color:var(--fish)}.menu-course__title--main{color:var(--spicy)}.menu-course__title--dessert{color:var(--dessert)}.menu-course__req{flex:none;font-family:var(--font-number);font-size:.6rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:8px;background:var(--bad, #c0443a);color:#fff}.menu-course__req.is-met{background:var(--good);color:var(--ink)}.menu-course__list{display:flex;flex-direction:column;gap:6px}.recipe__level{font-family:var(--font-number);font-size:.66rem;font-weight:700;padding:1px 5px;border-radius:6px;background:var(--coin);color:var(--ink)}.menu-recipe{width:100%;gap:8px;padding:7px 8px;font:inherit;text-align:left;cursor:pointer}.menu-recipe:hover:not(.is-locked){border-color:#3a200ceb;filter:brightness(1.05)}.menu-recipe:not(.is-selected){opacity:.92}.menu-recipe.is-selected{border-color:#c8a020;border-width:2px;background:linear-gradient(90deg,#ffd43c42,#ffec8c1a 50%,#ffd43c33),linear-gradient(180deg,#ceb284f5,#b29264f0);box-shadow:inset 0 1px #ffef8c47,0 0 0 1px #c8a02040,0 2px 10px #c8961438}.menu-recipe.is-locked{cursor:not-allowed;opacity:.5}.menu-recipe__check{position:absolute;top:2px;left:2px;z-index:2;display:grid;place-items:center;width:15px;height:15px;font-size:10px;font-weight:900;line-height:1;color:#2a1c0a;background:#ffd044;border-radius:4px}.menu-recipe:not(.is-selected) .menu-recipe__check{display:none}.recipe__rarity-tag{flex:0 0 auto;font-family:var(--font-ui);font-size:7.5px;font-style:normal;font-weight:900;letter-spacing:.06em;line-height:1;padding:3px 6px;border-radius:3px;text-transform:uppercase;white-space:nowrap;color:#2a1c0a;background:var(--rarity, var(--muted));border:1.5px solid rgba(0,0,0,.28);text-shadow:0 1px 0 rgba(255,255,255,.25)}.menu-builder__footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-builder__next-wrap{position:relative;display:inline-flex}.menu-builder__next-wrap[data-disabled-hint]:hover:after{content:attr(data-disabled-hint);position:absolute;bottom:calc(100% + 8px);right:0;z-index:50;width:max-content;max-width:260px;border:2px solid var(--ink);border-radius:8px;background:var(--panel-strong, #17100d);box-shadow:0 5px #090604b3;color:var(--text);font-family:var(--font-ui);font-size:var(--fs-xs);font-weight:700;line-height:1.3;padding:8px 11px;text-align:left;pointer-events:none}.cookbook-pack{position:relative;width:min(1100px,100%);aspect-ratio:3 / 2;display:flex;flex-direction:column;justify-content:flex-start;text-align:center;border:0;background:url(../assets/ui/card-pack-modal-bg.webp) center / 100% 100% no-repeat;box-shadow:none;padding:156px 80px 200px;overflow:visible}.pack-skip-btn{position:absolute;right:40%;bottom:214px;z-index:3;min-height:48px;padding:10px 30px;font-size:var(--fs-xs);animation:pack-reveal-fade .32s ease-out both}.pack-skip-btn:active:not(:disabled){transform:translateY(2px)}.charm-recipe-choice{width:min(1200px,120vw);max-height:90vh;display:flex;flex-direction:column;gap:20px;text-align:center;border:0;background:none;box-shadow:none;overflow:auto}.charm-recipe-choice__header{display:flex;flex-direction:column;gap:6px}.charm-recipe-choice__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:#e8c474}.charm-recipe-choice__header h2{font-family:var(--font-title);margin:0;font-size:clamp(1.4rem,2.4vw,2rem)}.charm-recipe-choice__desc{margin:0 auto;max-width:60ch;font-size:.92rem;line-height:1.4;opacity:.82}.charm-recipe-choice__options{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:start}.card-pack-option{display:grid;place-items:center;padding:8px;border:0;border-radius:16px;background:transparent;box-shadow:none;cursor:pointer;transition:transform .12s ease,filter .12s ease}.card-pack-option:hover{transform:translateY(-6px);filter:brightness(1.08) drop-shadow(0 8px 12px rgba(0,0,0,.5))}.card-pack-option .game-card{width:clamp(120px,16vw,168px)}.shop-cardpack-preview{display:grid;place-items:center;width:100%;height:100%}.shop-cardpack-preview img,.shop-cookbook-preview img{height:90%;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.55))}.shop-cookbook-preview{display:grid;place-items:center;width:100%;height:100%}.recipe__menu-badge{font-family:var(--font-number);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:6px;background:var(--good);color:var(--ink)}.recipe.off-menu{opacity:.62}.recipe.off-menu .recipe__art img{filter:grayscale(.4)}.pack-open{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;flex:1;min-height:0}.pack-open--revealing{justify-content:flex-start}.pack-open--revealing .pack-open__header{position:static;flex:none;margin-bottom:4px}.pack-open--revealing .pack-open__options{display:flex;align-items:center}.pack-open__stage{position:relative;display:grid;place-items:center;gap:14px}.pack-open--bursting .pack-open__stage{animation:pack-shake .34s cubic-bezier(.36,.07,.19,.97) both}.pack-open__pack{position:relative;display:grid;place-items:center;width:250px;aspect-ratio:3 / 4;border:0;background:transparent;box-shadow:none;padding:0;cursor:pointer;animation:pack-idle 2.2s ease-in-out infinite;transition:filter .12s steps(2)}.pack-open__pack:hover:not(:disabled){filter:brightness(1.08) drop-shadow(0 0 22px rgba(255,212,92,.5))}.pack-open__art{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55));pointer-events:none;-webkit-user-select:none;user-select:none}.pack-open__rays,.pack-open__flash{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none}.pack-open__rays{z-index:1;width:200%;aspect-ratio:1;background:repeating-conic-gradient(from 0deg,rgba(255,224,130,.55) 0deg 8deg,transparent 8deg 22deg);-webkit-mask-image:radial-gradient(circle,#000 0%,transparent 70%);mask-image:radial-gradient(circle,#000 0%,transparent 70%)}.pack-open__flash{z-index:3;width:160%;aspect-ratio:1;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,224,130,.6) 28%,transparent 62%)}.pack-open__pack.is-charging{animation:pack-charge .38s ease-in-out forwards}.pack-open__pack.is-bursting{animation:pack-burst .56s cubic-bezier(.3,0,.2,1) forwards}.pack-open__ring{position:absolute;left:50%;top:50%;width:120px;aspect-ratio:1;border-radius:50%;border:4px solid rgba(255,244,200,.9);box-shadow:0 0 24px 6px #ffda7899,inset 0 0 20px 4px #ffda7866;transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;z-index:2}.pack-open--bursting .pack-open__ring{animation:pack-ring .62s cubic-bezier(.2,.7,.3,1) forwards}.pack-open__sparks{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:4}.pack-spark{position:absolute;left:0;top:0;width:var(--sz, 6px);height:var(--sz, 6px);margin:calc(var(--sz, 6px) / -2);border-radius:50%;background:radial-gradient(circle,#fff,#ffe08a 45%,#ff962800 72%);opacity:0}.pack-open--bursting .pack-spark{animation:pack-spark .64s cubic-bezier(.2,.7,.3,1) forwards}.pack-open__pack.is-bursting .pack-open__rays{animation:pack-rays .62s ease-out forwards}.pack-open__pack.is-bursting .pack-open__flash{animation:pack-flash .52s ease-out forwards}.pack-open__hint{margin:0;color:var(--coin);font-family:var(--font-title);font-size:var(--fs-xs);font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.6);animation:pack-hint 1.4s ease-in-out infinite}@keyframes pack-idle{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-10px) rotate(1.5deg)}}@keyframes pack-hint{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes pack-burst{0%{transform:scale(1) rotate(0)}18%{transform:scale(.86) rotate(-3deg)}34%{transform:scale(1.14) rotate(3deg)}to{transform:scale(1.5) rotate(0);opacity:0;filter:brightness(2)}}@keyframes pack-rays{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}35%{opacity:.9}to{transform:translate(-50%,-50%) scale(1.3) rotate(70deg);opacity:0}}@keyframes pack-flash{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}22%{opacity:1;filter:brightness(1.4)}to{transform:translate(-50%,-50%) scale(1.9);opacity:0}}@keyframes pack-charge{0%{transform:scale(1) rotate(0)}30%{transform:scale(.9,1.04) rotate(-2deg) translate(-3px)}55%{transform:scale(1.02,.96) rotate(2deg) translate(3px)}78%{transform:scale(.94,1.02) rotate(-2deg) translate(-2px)}to{transform:scale(.98) rotate(0)}}@keyframes pack-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px,3px)}30%{transform:translate(6px,-3px)}45%{transform:translate(-5px,-2px)}60%{transform:translate(4px,3px)}78%{transform:translate(-2px,-1px)}}@keyframes pack-ring{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%) scale(3.4);opacity:0;border-width:1px}}@keyframes pack-spark{0%{transform:rotate(var(--a, 0deg)) translate(0) scale(1);opacity:0}12%{opacity:1}to{transform:rotate(var(--a, 0deg)) translate(var(--d, 160px)) scale(.2);opacity:0}}.pack-open__header{text-align:center;animation:pack-reveal-fade .32s ease-out both}.pack-open__header h2{font-family:var(--font-title);margin:2px 0 0;color:#3a2410;font-weight:900;text-shadow:0 1px 0 rgba(255,244,214,.5)}.pack-open__options{width:100%}.pack-open__options--grid{display:flex;gap:22px;justify-content:center;align-items:start}.pack-open__options--column{display:flex;flex-direction:column;gap:8px}.pack-open__options .pack-flip{animation:none;opacity:0}.pack-open__options .pack-flip.is-revealed{animation:pack-fly-in .5s cubic-bezier(.2,.8,.3,1) both}@keyframes pack-fly-in{0%{transform:translate(var(--from-x, 0),-150px) scale(.32) rotate(var(--from-rot, 0deg));opacity:0}22%{opacity:1}72%{transform:translate(0) scale(1.07) rotate(0);opacity:1}to{transform:translate(0) scale(1) rotate(0);opacity:1}}.pack-open__options .pack-flip.is-selectable{cursor:pointer}.pack-open__options.is-selecting .pack-flip{pointer-events:none}.pack-open__options .pack-flip.is-picked{z-index:3;animation:pack-pick-fly .64s cubic-bezier(.5,0,.75,.35) forwards}@keyframes pack-pick-fly{0%{transform:translateY(0) scale(1);opacity:1}16%{transform:translateY(-16px) scale(1.06);opacity:1}55%{transform:translateY(70px) scale(.9) rotate(4deg);opacity:1}to{transform:translateY(240px) scale(.32) rotate(8deg);opacity:0}}.pack-open__options .pack-flip.is-unpicked{animation:pack-pick-dismiss .32s cubic-bezier(.5,0,.75,.2) forwards}@keyframes pack-pick-dismiss{0%{transform:scale(1);opacity:1}to{transform:translateY(14px) scale(.78);opacity:0}}@media(prefers-reduced-motion:reduce){.pack-open__pack.is-charging,.pack-open--bursting .pack-open__stage,.pack-open--bursting .pack-open__ring,.pack-open--bursting .pack-spark,.pack-open__options .pack-flip.is-revealed,.pack-open__options .pack-flip.is-picked,.pack-open__options .pack-flip.is-unpicked{animation-duration:1ms;animation-timing-function:linear}}.pack-recipe-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;width:210px;height:308px;padding:14px 12px 12px;border:2px solid color-mix(in srgb,var(--rarity, #777) 68%,#1a120c);border-radius:14px;background:radial-gradient(120% 78% at 50% -6%,color-mix(in srgb,var(--rarity, #777) 34%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--rarity, #777) 34%,#241a15),color-mix(in srgb,var(--rarity, #777) 13%,#140e0c));box-shadow:inset 0 0 0 1px #ffe2a824,inset 0 1px #ffffff1a,0 6px 16px #0000008c;color:#f6ead2;font:inherit;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,filter .14s ease}.pack-recipe-card:before{content:"";position:absolute;left:12px;right:12px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,transparent,var(--rarity, #999) 22%,var(--rarity, #999) 78%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--rarity, #999) 55%,transparent)}.pack-recipe-card:hover{transform:translateY(-6px);filter:brightness(1.05);border-color:color-mix(in srgb,var(--rarity, #777) 88%,#fff 12%);box-shadow:inset 0 0 0 1px #ffe2a838,inset 0 1px #ffffff1f,0 12px 24px #0000008c,0 0 28px color-mix(in srgb,var(--rarity, #777) 48%,transparent)}.pack-recipe-card__rarity{font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--rarity, #ccc) 55%,#fff);text-shadow:0 1px 2px rgba(0,0,0,.7),0 0 10px color-mix(in srgb,var(--rarity, #ccc) 40%,transparent)}.pack-recipe-card__art{position:relative;width:52%;aspect-ratio:1;flex:none;margin-top:8px;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--rarity, #777) 30%,transparent),transparent 62%)}.pack-recipe-card__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}.pack-recipe-card__name{font-family:var(--font-title);font-size:var(--fs-xs);font-weight:700;line-height:1.08;letter-spacing:.01em;text-align:center;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.7);margin-top:6px}.pack-recipe-card__ingredients{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:8px;max-width:118px}.pack-recipe-card__ing{display:grid;place-items:center;flex:0 0 36px;width:auto;height:auto;min-width:0;aspect-ratio:1;border:1px solid rgba(0,0,0,.45);border-radius:7px;background:linear-gradient(180deg,#00000047,#00000075);box-shadow:inset 0 1px #ffffff0d}.pack-recipe-card__ing img{width:90%;height:90%;object-fit:contain}.pack-recipe-card__reward{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,241,207,.13);font-family:var(--font-number);font-size:var(--fs-xs);font-weight:900;text-shadow:0 1px 1px rgba(0,0,0,.5)}.pack-recipe-card__cal,.pack-recipe-card__mult{display:inline-flex;align-items:baseline;gap:2px;padding:2px 9px;border-radius:999px;line-height:1.5;color:var(--chip);background:linear-gradient(180deg,color-mix(in srgb,var(--chip) 26%,rgba(12,9,7,.55)),color-mix(in srgb,var(--chip) 12%,rgba(12,9,7,.72)));border:1px solid color-mix(in srgb,var(--chip) 55%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--chip) 35%,rgba(255,255,255,.28)),0 1px 2px #0006}.pack-recipe-card__cal{--chip: var(--good)}.pack-recipe-card__cal small{color:color-mix(in srgb,var(--good) 55%,#f3ead6);font-size:var(--fs-3xs);font-weight:800;text-transform:uppercase}.pack-recipe-card__mult{--chip: var(--gold-bright)}.pack-recipe-card__status{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;gap:3px;font-family:var(--font-number);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--good);color:var(--ink);box-shadow:0 2px 5px #00000073,inset 0 1px #ffffff4d}.pack-recipe-card__status.is-levelup{background:var(--coin)}.pack-flip{perspective:1000px;animation:pack-card-pop .32s cubic-bezier(.2,.8,.3,1) both}.pack-open__options--column .pack-flip{width:100%}.pack-flip:not(.is-revealed){pointer-events:none}.pack-flip__inner{position:relative;transform-style:preserve-3d;transform:rotateY(180deg);transition:transform .52s cubic-bezier(.4,.1,.2,1)}.pack-flip.is-revealed .pack-flip__inner{transform:rotateY(0)}.pack-flip__face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.pack-flip__front{transform:rotateY(0)}.pack-flip__back{position:absolute;inset:0;display:grid;place-items:center;transform:rotateY(180deg);border:2px solid rgba(255,230,163,.22);border-radius:12px;background:radial-gradient(circle at 50% 38%,rgba(255,212,92,.18),transparent 60%),linear-gradient(180deg,#2a1d18,#140d0b);box-shadow:inset 0 0 0 2px #0006,0 4px 10px #00000080;overflow:hidden}.pack-flip__back img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.pack-flip__mark{font-family:var(--font-title);font-size:var(--fs-xl);font-weight:900;color:#ffe08280;text-shadow:0 2px 6px rgba(0,0,0,.6)}@keyframes pack-card-pop{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pack-reveal-fade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.pack-open__pack,.pack-open__hint,.pack-flip,.pack-flip__inner,.pack-open__header{animation:none!important;transition:none!important}.pack-flip__inner{transform:rotateY(0)}}.tutorial-overlay{position:fixed;inset:0;z-index:9000;pointer-events:none}.tutorial-spotlight{position:fixed;left:0;top:0;width:0;height:0;border-radius:14px;box-shadow:0 0 0 4px #ffe6a38c,0 0 22px 6px #ffd58752,0 0 0 9999px #080607b8;pointer-events:none}@media(prefers-reduced-motion:no-preference){.tutorial-spotlight{animation:tutorial-spotlight-pulse 1.8s ease-in-out infinite}}@keyframes tutorial-spotlight-pulse{0%,to{box-shadow:0 0 0 4px #ffe6a380,0 0 18px 5px #ffd58742,0 0 0 9999px #080607b8}50%{box-shadow:0 0 0 5px #ffe6a3b3,0 0 30px 9px #ffd5876b,0 0 0 9999px #080607b8}}.tutorial-bubble{position:fixed;left:0;top:0;width:340px;max-width:calc(100vw - 32px);padding:18px 20px 16px;background:var(--panel-strong);border:3px solid var(--ink);border-radius:12px;box-shadow:inset 0 3px #ffffff1f,inset 0 -5px #00000057,0 6px 0 var(--ink),0 14px 30px #00000080;color:var(--text);pointer-events:auto;isolation:isolate}@media(prefers-reduced-motion:no-preference){.tutorial-bubble{animation:tutorial-bubble-in .22s ease-out both}}@keyframes tutorial-bubble-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.tutorial-bubble__progress{margin:0 0 6px;color:var(--gold-soft);font-family:var(--font-ui);font-size:var(--fs-3xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.85}.tutorial-bubble__title{margin:0 0 8px;color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-lg);font-weight:800;line-height:1.05;text-shadow:0 3px 0 #4b201b}.tutorial-bubble__body{margin:0 0 16px;color:var(--text);font-family:var(--font-ui);font-size:var(--fs-sm);font-weight:600;line-height:1.45}.tutorial-bubble__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-bubble__skip{min-height:0;padding:6px 4px;border:0;background:transparent;box-shadow:none;color:var(--muted);font-family:var(--font-ui);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}.tutorial-bubble__skip:hover:not(:disabled){color:var(--text);filter:none}.tutorial-bubble__next{min-height:44px;padding:10px 22px;border:3px solid var(--ink);border-radius:10px;background:linear-gradient(180deg,#6a4a2c,#4a3026);color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-sm);font-weight:850;letter-spacing:.04em;text-transform:uppercase}.tutorial-bubble__hint{display:inline-flex;align-items:center;gap:8px;color:var(--gold-bright);font-family:var(--font-title);font-size:var(--fs-sm);font-weight:800;letter-spacing:.02em;text-transform:uppercase}.tutorial-bubble__hint:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 8px 2px #75e08d99}@media(prefers-reduced-motion:no-preference){.tutorial-bubble__hint:before{animation:tutorial-hint-blink 1.1s steps(1,end) infinite}}@keyframes tutorial-hint-blink{50%{opacity:.25}}.tutorial-bubble__arrow{position:absolute;width:16px;height:16px;background:var(--panel-strong);border:3px solid var(--ink);border-right:0;border-bottom:0}.tutorial-bubble[data-resolved-placement=top] .tutorial-bubble__arrow{left:50%;bottom:-10px;transform:translate(-50%) rotate(225deg)}.tutorial-bubble[data-resolved-placement=bottom] .tutorial-bubble__arrow{left:50%;top:-10px;transform:translate(-50%) rotate(45deg)}.tutorial-bubble[data-resolved-placement=left] .tutorial-bubble__arrow{top:50%;right:-10px;transform:translateY(-50%) rotate(135deg)}.tutorial-bubble[data-resolved-placement=right] .tutorial-bubble__arrow{top:50%;left:-10px;transform:translateY(-50%) rotate(-45deg)}.tutorial-bubble[data-resolved-placement=center] .tutorial-bubble__arrow{display:none}.achievement-toasts{position:absolute;top:26px;left:50%;transform:translate(-50%);z-index:70;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.achievement-toast{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;width:380px;max-width:86vw;padding:8px 14px 8px 9px;border:1.5px solid rgba(86,49,20,.6);border-radius:9px;background:linear-gradient(180deg,#f7ebcefa,#e2cc9ef7);box-shadow:inset 0 1px #fff8e080,0 6px 18px #1209028c;animation:achievement-toast-life 4.2s both}.achievement-toast:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(105deg,transparent 38%,rgba(255,252,232,.6) 50%,transparent 62%);transform:translate(-130%);animation:achievement-toast-shine .9s ease-out .24s 1 both;pointer-events:none}.achievement-toast.tier-bronze{--tier: #b87333}.achievement-toast.tier-silver{--tier: #b7c0c9}.achievement-toast.tier-gold{--tier: #e6b13a}.achievement-toast__badge{position:relative;z-index:3;display:grid;place-items:center;width:40px;height:40px;background:center / contain no-repeat;color:#fff4cf;font-size:var(--fs-2xs);line-height:1;animation:achievement-badge-pop .64s cubic-bezier(.2,1.5,.45,1) .12s both}.achievement-toast.tier-bronze .achievement-toast__badge{background-image:url(../assets/ui/badge-frame-bronze.webp)}.achievement-toast.tier-silver .achievement-toast__badge{background-image:url(../assets/ui/badge-frame-silver.webp)}.achievement-toast.tier-gold .achievement-toast__badge{background-image:url(../assets/ui/badge-frame-gold.webp)}.achievement-toast__star{text-shadow:0 0 6px rgba(255,210,110,.9),0 1px 2px rgba(80,40,0,.7)}.achievement-toast__body{min-width:0;display:flex;flex-direction:column;gap:1px}.achievement-toast__eyebrow{color:var(--tier, #b5852f);font-family:var(--font-ui);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.achievement-toast__name{color:#3b1f10;font-family:var(--font-title);font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.achievement-toast__desc{color:#6a4626;font-family:var(--font-ui);font-size:10px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes achievement-toast-life{0%{opacity:0;transform:translateY(-26px) scale(.82)}6%{opacity:1;transform:translateY(5px) scale(1.06)}11%{transform:translateY(0) scale(1)}88%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.97)}}@keyframes achievement-toast-shine{to{transform:translate(130%)}}@keyframes achievement-badge-pop{0%{opacity:0;transform:scale(.2) rotate(-20deg)}60%{opacity:1;transform:scale(1.22) rotate(6deg)}to{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.achievement-toast:after{display:none;animation:none}.achievement-toast__badge{animation:none}@keyframes achievement-toast-life{0%{opacity:0}5%,90%{opacity:1}to{opacity:0}}}.charm-reveal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:32px;--rar: #e9cf9b;--rar-ink: #7a5a2a}.charm-reveal__backdrop{position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 34%,#0a06048c,#040303db);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:charm-reveal-fade .3s ease-out both}.charm-reveal__card{position:relative;width:min(540px,94vw);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:28px 40px 26px;border-radius:20px;background:linear-gradient(158deg,#f4e7c6,#ecdcb2 46%,#e2cf9f);border:3px solid #6e4a24;box-shadow:inset 0 0 0 2px #caa063,inset 0 0 34px #78522447,0 0 44px color-mix(in srgb,var(--rar) 28%,transparent),0 30px 80px #000000b3;animation:charm-reveal-card-in .8s cubic-bezier(.22,.7,.28,1) both}.charm-reveal__card.is-exiting{animation:charm-reveal-card-out .8s cubic-bezier(.5,0,.7,.3) forwards;pointer-events:none}.charm-reveal__content{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.charm-reveal__eyebrow{font-family:var(--font-title, "Cinzel", serif);font-size:var(--fs-sm, 16px);letter-spacing:.3em;text-transform:uppercase;color:var(--rar-ink);text-shadow:0 1px 0 rgba(255,248,224,.5)}.charm-reveal__showcase{position:relative;width:236px;height:236px;display:grid;place-items:center;margin:2px 0}.charm-reveal__rays{position:absolute;inset:-18px;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--rar-ink) 26%,transparent) 0deg 5deg,transparent 5deg 17deg);-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 64%);mask-image:radial-gradient(circle,#000 20%,transparent 64%);opacity:.55;animation:charm-reveal-spin 18s linear infinite}.charm-reveal__medallion{position:relative;width:182px;height:182px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 36%,rgba(255,220,150,.18),transparent 66%),#141013;border:4px solid var(--rar);box-shadow:0 0 0 2px #0000004d,0 0 30px color-mix(in srgb,var(--rar) 48%,transparent),inset 0 0 26px #0000008c}.charm-reveal__aura{position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--rar) 55%,transparent) 0%,transparent 68%);filter:blur(6px);animation:charm-reveal-pulse 2.6s ease-in-out infinite}.charm-reveal__art{position:relative;width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.6));animation:charm-reveal-pop .56s cubic-bezier(.16,.9,.26,1.5) both .12s}.charm-reveal__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.charm-reveal__name{font-family:var(--font-friz, Georgia, serif);font-size:var(--fs-2xl, 42px);line-height:1.02;color:#3f2c14;text-shadow:0 1px 0 rgba(255,248,224,.4)}.charm-reveal__rarity{font-family:var(--font-ui);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 11px;border-radius:999px;color:#231708;background:var(--rar);box-shadow:inset 0 1px #ffffff59}.charm-reveal__desc{margin:2px 0 0;max-width:40ch;font-size:var(--fs-sm, 16px);line-height:1.45;color:#6a5836}.charm-reveal__how{display:inline-flex;align-items:center;gap:8px;margin-top:2px;padding:6px 12px 6px 6px;border-radius:999px;background:#5a3f141a;border:1px solid rgba(120,82,36,.3)}.charm-reveal__how-label{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#241a0a;background:var(--gold-soft, #f0d49c);padding:3px 9px;border-radius:999px}.charm-reveal__how-text{font-size:var(--fs-xs, 14px);color:#4a3410}.charm-reveal__cta{margin-top:10px;display:inline-flex;align-items:center;gap:10px;padding:13px 16px 13px 26px;border-radius:14px;border:1px solid #b8862f;background:linear-gradient(180deg,var(--gold-bright, #ffe6a3),var(--coin, #ffd45c));color:#2a1c0c;font-family:var(--font-title, "Cinzel", serif);font-size:var(--fs-md, 19px);font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 6px 16px #4a2d0852,0 0 20px color-mix(in srgb,var(--coin, #ffd45c) 40%,transparent);transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;animation:charm-reveal-cta 1.8s ease-in-out infinite .7s}.charm-reveal__cta:hover{transform:translateY(-2px);filter:brightness(1.05)}.charm-reveal__cta:active{transform:translateY(0)}.charm-reveal__cta-count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#2a1c0ceb;color:var(--gold-bright, #ffe6a3);font-family:var(--font-number, "Inter", sans-serif);font-size:13px;font-weight:800}.charm-reveal__dots{display:flex;gap:7px;margin-top:4px}.charm-reveal__dot{width:7px;height:7px;border-radius:50%;background:#4a341040}.charm-reveal__dot.is-current{background:var(--rar-ink);box-shadow:0 0 8px color-mix(in srgb,var(--rar) 60%,transparent)}.charm-reveal__card.rarity-common{--rar: #e0c186;--rar-ink: #7a5a2a}.charm-reveal__card.rarity-rare{--rar: #66b7f0;--rar-ink: #1f5f9e}.charm-reveal__card.rarity-epic{--rar: #a98bff;--rar-ink: #6a3fb0}.charm-reveal__card.rarity-legendary{--rar: #ffb64a;--rar-ink: #b06f10}@keyframes charm-reveal-fade{0%{opacity:0}to{opacity:1}}@keyframes charm-reveal-pop{0%{opacity:0;transform:scale(.4) rotate(-8deg)}70%{transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes charm-reveal-card-in{0%{opacity:0;transform:translate(-100vw) scale(.5)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes charm-reveal-card-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100vw) scale(.5)}}@keyframes charm-reveal-spin{to{transform:rotate(360deg)}}@keyframes charm-reveal-pulse{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:.9;transform:scale(1.06)}}@keyframes charm-reveal-cta{0%,to{box-shadow:0 6px 16px #4a2d0852,0 0 18px color-mix(in srgb,var(--coin, #ffd45c) 34%,transparent)}50%{box-shadow:0 6px 16px #4a2d0852,0 0 32px color-mix(in srgb,var(--coin, #ffd45c) 60%,transparent)}}@media(prefers-reduced-motion:reduce){.charm-reveal__backdrop,.charm-reveal__card,.charm-reveal__card.is-exiting,.charm-reveal__art{animation-duration:1ms}.charm-reveal__rays,.charm-reveal__aura,.charm-reveal__cta{animation:none}}.name-entry{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:32px}.name-entry__backdrop{position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 30%,#0c0705d1,#030202f5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:name-entry-fade .32s ease-out both}.name-entry__card{position:relative;width:min(540px,94vw);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:34px 44px 30px;border-radius:20px;background:linear-gradient(158deg,#f4e7c6,#ecdcb2 46%,#e2cf9f);border:3px solid #6e4a24;box-shadow:inset 0 0 0 2px #caa063,inset 0 0 34px #78522447,0 30px 80px #000000b8;animation:name-entry-card-in .46s cubic-bezier(.22,.7,.28,1) both}.name-entry__eyebrow{font-family:var(--font-title, "Cinzel", serif);font-size:var(--fs-sm, 16px);letter-spacing:.34em;text-transform:uppercase;color:#7a5a2a;text-shadow:0 1px 0 rgba(255,248,224,.5)}.name-entry__title{margin:2px 0 0;font-family:var(--font-friz, Georgia, serif);font-size:var(--fs-2xl, 42px);line-height:1.04;color:#3f2c14;text-shadow:0 1px 0 rgba(255,248,224,.4)}.name-entry__subtitle{margin:0;max-width:40ch;font-size:var(--fs-sm, 16px);line-height:1.45;color:#6a5836}.name-entry__field{display:flex;align-items:stretch;gap:10px;width:100%;margin-top:10px}.name-entry__input{flex:1;min-width:0;padding:12px 16px;border-radius:12px;border:2px solid #a9803f;background:#fffaecd9;color:#33230f;font-family:var(--font-friz, Georgia, serif);font-size:var(--fs-lg, 24px);text-align:center;box-shadow:inset 0 2px 6px #5a3f142e}.name-entry__input:focus{outline:none;border-color:#c8952f;box-shadow:inset 0 2px 6px #5a3f142e,0 0 0 3px #ffd45c66}.name-entry__dice{flex:0 0 auto;width:52px;border-radius:12px;border:2px solid #a9803f;background:#7852241f;font-size:22px;cursor:pointer;transition:transform .12s ease,filter .12s ease,background .12s ease}.name-entry__dice:hover{transform:translateY(-1px) rotate(-8deg);background:#78522433}.name-entry__dice:active{transform:translateY(0)}.name-entry__cta{margin-top:16px;width:100%;padding:14px 16px;border-radius:14px;border:1px solid #b8862f;background:linear-gradient(180deg,var(--gold-bright, #ffe6a3),var(--coin, #ffd45c));color:#2a1c0c;font-family:var(--font-title, "Cinzel", serif);font-size:var(--fs-md, 19px);font-weight:800;letter-spacing:.04em;cursor:pointer;box-shadow:0 6px 16px #4a2d0852,0 0 20px color-mix(in srgb,var(--coin, #ffd45c) 40%,transparent);transition:transform .12s ease,filter .12s ease}.name-entry__cta:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05)}.name-entry__cta:active:not(:disabled){transform:translateY(0)}.name-entry__cta:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.6)}@keyframes name-entry-fade{0%{opacity:0}to{opacity:1}}@keyframes name-entry-card-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.name-entry__backdrop,.name-entry__card{animation-duration:1ms}}.orientation-gate{display:none}@media(orientation:portrait)and (pointer:coarse){.orientation-gate{position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:20px;padding:32px;text-align:center;background:radial-gradient(ellipse at center,#1c120a,#070504 78%)}}.orientation-gate__phone{width:64px;height:108px;border:4px solid var(--coin);border-radius:12px;background:#ffd45c14;box-shadow:0 0 0 3px var(--ink);animation:orientation-rotate 2.4s cubic-bezier(.65,0,.35,1) infinite}.orientation-gate__phone-screen{display:block;width:100%;height:100%;border-radius:6px;background:linear-gradient(160deg,rgba(255,212,92,.22),transparent 60%)}.orientation-gate__title{color:var(--gold-bright);font-family:var(--font-title);font-size:clamp(22px,6vw,30px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 3px 0 #4b201b}.orientation-gate__copy{max-width:280px;color:var(--muted);font-size:clamp(13px,3.6vw,15px);line-height:1.4}@keyframes orientation-rotate{0%,18%{transform:rotate(0)}46%,72%{transform:rotate(-90deg)}to{transform:rotate(-90deg)}}@media(prefers-reduced-motion:reduce){.food-card{transition:none}.deck-pile.is-dealing .deck-pile__stack,.food-card.is-dealing,.food-card.is-discarding,.charm-token.is-active,.charm-token__swing,.feed-resolution,.resolution-fly-number,.resolution-final strong,.recipe-reveal__glow,.orientation-gate__phone{animation:none}}.boot-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,#fffdf5,#fdf3d6 55%,#f6e7be);opacity:1;transition:opacity .45s ease,visibility .45s ease}.boot-screen.is-fading{opacity:0;visibility:hidden}.boot-glow{position:absolute;width:60vmin;height:60vmin;border-radius:50%;background:radial-gradient(circle,rgba(245,180,30,.35),transparent 65%);filter:blur(10px);animation:boot-pulse 2.4s ease-in-out infinite}@keyframes boot-pulse{0%,to{transform:scale(.92);opacity:.6}50%{transform:scale(1.06);opacity:.95}}.boot-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:28px}.boot-logo{width:min(360px,60vmin);height:auto;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.18));animation:boot-float 3s ease-in-out infinite}@keyframes boot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.boot-bar{width:min(360px,64vmin);height:12px;border-radius:999px;background:#1410081f;overflow:hidden;box-shadow:inset 0 1px 2px #00000026}.boot-bar__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#f5b41e,#ffd34e);box-shadow:0 0 12px #f5b41eb3;transition:width .2s ease}.boot-pct{font-family:var(--font-ui, "Inter", system-ui, sans-serif);font-weight:700;font-size:14px;letter-spacing:.12em;color:#2a2118}.boot-logo--fallback{display:flex;flex-direction:column;align-items:center;gap:4px}.boot-logo__z{font-family:var(--font-title, "Cinzel", serif);font-size:96px;font-weight:900;line-height:1;color:#f5b41e;text-shadow:2px 3px 0 #141414}.boot-logo__name{font-family:var(--font-title, "Cinzel", serif);font-size:40px;font-weight:900;letter-spacing:.06em;color:#141414}.boot-logo__sub{font-family:var(--font-ui, "Inter", sans-serif);font-size:14px;letter-spacing:.4em;color:#f5b41e}.boot-status{min-height:1.2em;font-family:var(--font-title, "Cinzel", serif);font-size:18px;font-style:italic;letter-spacing:.02em;color:#6b5836;animation:boot-line-in .36s ease}.boot-tip{display:flex;align-items:center;gap:10px;max-width:min(440px,80vw);min-height:1.4em;margin-top:6px;text-align:center;font-family:var(--font-ui, "Inter", system-ui, sans-serif);font-size:13px;line-height:1.4;color:#4a3d29;animation:boot-line-in .36s ease}.boot-tip__label{flex:none;padding:2px 8px;border-radius:999px;background:#141414;color:#ffd34e;font-weight:800;font-size:10px;letter-spacing:.16em}@keyframes boot-line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.boot-footer{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-family:var(--font-ui, "Inter", system-ui, sans-serif);color:#6b5836}.boot-footer__cta{font-size:13px;font-weight:700;color:#b8861a}.boot-footer__meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}@media(prefers-reduced-motion:reduce){.boot-glow,.boot-logo,.boot-status,.boot-tip{animation:none}}
