:root{--shell-bg:#2b1a10;--shell-bg-soft:#3a2416;--bar-bg:#1f120a;--text:#f7e7d2;--text-dim:#c8a985;--accent:#f0a45c;--accent-strong:#ffc078;--focus:#ffd9a0}*{box-sizing:border-box}html,body{background:var(--shell-bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;padding:0;font-family:Trebuchet MS,Segoe UI,system-ui,-apple-system,sans-serif}body{overflow:hidden}#app{background:radial-gradient(circle at 50% 20%, var(--shell-bg-soft), var(--shell-bg) 70%);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);flex-direction:column;display:flex;position:fixed;inset:0}.stage{flex:auto;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.game-root{position:absolute;inset:0;overflow:hidden}.game-root canvas{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px;display:block;box-shadow:0 18px 40px #00000073}.button[hidden]{display:none}.button{background:linear-gradient(180deg, var(--accent-strong), var(--accent));color:#3a1f08;font:inherit;cursor:pointer;touch-action:manipulation;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:700;transition:transform .12s,filter .12s;display:inline-flex}.button:hover{filter:brightness(1.06)}.button:active{transform:translateY(1px)}.button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.button--wide{justify-content:center;width:100%;padding-block:13px;font-size:1rem}.result{background:linear-gradient(#150b0529,#150b05b8);justify-content:center;align-items:flex-end;padding:16px 16px 22px;animation:.22s ease-out both result-in;display:flex;position:absolute;inset:0}.result[data-outcome=lost]{align-items:center}.result[hidden]{display:none}.result__panel{text-align:center;background:linear-gradient(#3a2416f7,#1f120af7);border:1px solid #ffffff24;border-radius:18px;width:100%;max-width:340px;max-height:100%;padding:18px 20px 20px;overflow-y:auto;box-shadow:0 20px 44px #00000080}.result__eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 4px;font-size:.72rem;font-weight:700}.result__title{margin:0 0 6px;font-size:1.35rem;line-height:1.2}.result__text{color:var(--text-dim);margin:0 0 12px;font-size:.9rem;line-height:1.4}.result__stars{letter-spacing:.12em;color:var(--accent);margin:0 0 16px;font-size:1.7rem;line-height:1}.result__star--empty{opacity:.4}.result__bill{justify-content:center;gap:26px;margin:0 0 18px;display:flex}.result__figure{flex-direction:column;gap:2px;display:flex}.result__figure-label{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:700}.coin{vertical-align:-.13em;background-image:var(--coin);background-repeat:no-repeat;background-size:contain;width:.95em;height:.95em;margin-inline-start:.22em;display:inline-block}.result__figure-value{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:700;line-height:1.1}.result__actions{flex-direction:column;gap:8px;display:flex}.shop{background:#150b05b8;justify-content:center;align-items:center;padding:16px;animation:.18s ease-out both result-in;display:flex;position:absolute;inset:0}.shop[hidden]{display:none}.shop__panel{text-align:center;background:linear-gradient(#3a2416fa,#1f120afa);border:1px solid #ffc47a3d;border-radius:18px;width:100%;max-width:clamp(340px,44vw,520px);max-height:100%;padding:0 20px 20px;overflow-y:auto;box-shadow:0 20px 44px #0000008c}.shop__panel:focus{outline:none}.shop__header{z-index:1;background:#3a2416;border-radius:18px 18px 0 0;margin:0 -20px 10px;padding:16px 20px 8px;position:sticky;top:0}.shop__header .shop__purse{margin:0}.shop__x{width:34px;height:34px;color:var(--accent);font:inherit;cursor:pointer;touch-action:manipulation;background:#00000040;border:1px solid #ffc47a59;border-radius:50%;padding:0;font-size:1.15rem;line-height:1;position:absolute;top:10px;right:10px}.shop__x:focus-visible{outline:3px solid var(--focus)}.shop__purse{font-variant-numeric:tabular-nums;margin:0 0 10px;font-size:.95rem;font-weight:700}.shop__list{text-align:left;margin:0 0 14px}.shop__items{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.shop__item{background:#0003;border:1px solid #ffffff1a;border-radius:12px;padding:10px 12px}.shop__item[data-owned=yes]{opacity:.7;border-color:#ffc47a47;padding:6px 12px}.shop__item[data-owned=yes] .shop__head{gap:10px;margin:0}.shop__item[data-owned=yes] .shop__icon{width:30px;height:30px}.shop__item[data-owned=yes] .shop__name{margin:0;font-size:.85rem;font-weight:600}.shop__tick{color:var(--accent);flex:none;margin-left:auto;font-size:.95rem}.shop__item[data-level]{border-left:2px solid #ffc47a52;border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:20px}.shop__head{text-align:left;align-items:center;gap:12px;margin:0 0 8px;display:flex}.shop__icon{flex:none;width:56px;height:56px}.shop__words{min-width:0}.shop__name{margin:0 0 2px;font-size:.92rem;font-weight:700}.shop__blurb{color:var(--text-dim);margin:0;font-size:.78rem;line-height:1.35}.shop__foot{align-items:center;gap:10px;display:flex}.shop__buy{border:1px solid var(--accent);min-width:0;color:var(--accent);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;background:0 0;border-radius:999px;flex:auto;padding:7px 12px;font-size:.85rem;font-weight:700}.shop__buy[disabled]{color:var(--text-dim);cursor:default;border-color:#ffffff29}.shop__where{color:var(--text-dim);white-space:nowrap;flex:none;margin:0;font-size:.68rem}.shop__clear{width:100%;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;margin:10px 0 0;padding:6px;font-size:.72rem;text-decoration:underline;display:block}.shop__clear[data-armed=yes]{color:#ff9d6b;font-weight:700}.result[data-outcome=lost] .result__eyebrow{color:#ff9d6b}.result[data-outcome=lost] .result__panel{border-color:#ff8d5852}@keyframes result-in{0%{opacity:0}to{opacity:1}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.button{transition:none}.result,.shop{animation:none}}@media (orientation:landscape) and (max-height:560px){.button{padding:6px 12px;font-size:.82rem}.game-root canvas{box-shadow:none}}
