:root{--charcoal:#17130f;--charcoal-2:#221c15;--charcoal-3:#2c241b;--parchment:#ede1c4;--parchment-dim:#b9ac8a;--gold:#d4af37;--gold-bright:#f2cf65;--ink:#241d15;--crimson:#a8402f;--font-stack:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{background:var(--charcoal);height:100%;color:var(--parchment);font-family:var(--font-stack);margin:0}#app{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}.viewport{position:relative}.game{transform-origin:50%;background:radial-gradient(circle at 50% 0%, var(--charcoal-3), var(--charcoal) 70%);border:1px solid var(--gold);border-radius:12px;position:relative;overflow:hidden}.round{flex-direction:column;gap:16px;width:100%;height:100%;padding:24px;display:flex;position:relative}.round__hud{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;gap:28px;padding:12px 20px;display:flex}.round__stat{align-items:baseline;gap:6px;display:flex}.round__stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);font-size:12px}.round__stat-value{color:var(--gold-bright);font-size:22px;font-weight:700}.round__stat-value--target{color:var(--parchment-dim)}.round__stat--live .round__stat-value{color:var(--crimson)}.round__artifacts,.round-select__artifacts{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;align-items:center;gap:10px;min-height:64px;padding:8px 12px;display:flex}.artifact-tile{background:var(--charcoal-3);border:1px solid var(--gold);width:52px;height:52px;color:var(--gold-bright);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:relative}.artifact-tile--selected{box-shadow:0 0 0 2px var(--gold-bright)}.artifact-tile__glyph{pointer-events:none}.artifact-tile__sell{border:1px solid var(--crimson);background:var(--charcoal-2);color:var(--parchment);cursor:pointer;white-space:nowrap;opacity:0;pointer-events:none;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;transition:opacity .1s ease-out;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.artifact-tile:hover .artifact-tile__sell,.artifact-tile:focus .artifact-tile__sell,.artifact-tile--selected .artifact-tile__sell{opacity:1;pointer-events:auto}.artifact-tile--pulsing{animation:.35s ease-out card-pulse}.artifact-tile--pulsing.pulse--xmult{animation:.35s ease-out xmult-pulse}.artifact-tile--pulsing.pulse--retrigger,.card--pulsing.pulse--retrigger{box-shadow:0 0 0 4px #d4af3766}@keyframes xmult-pulse{0%{transform:scale(1)}30%{box-shadow:0 0 24px var(--crimson);transform:scale(1.3)rotate(-4deg)}60%{transform:scale(1.15)rotate(4deg)}to{transform:scale(1)rotate(0)}}.floating-label--retrigger{color:var(--gold-bright);font-style:italic}.dev-panel{z-index:1000;border:1px solid var(--crimson);background:#17130feb;border-radius:8px;flex-direction:column;gap:6px;max-width:220px;max-height:90vh;padding:10px;font-size:11px;display:flex;position:fixed;top:8px;right:8px;overflow-y:auto}.dev-panel[hidden]{display:none}.dev-panel__title{color:var(--crimson);letter-spacing:.08em;font-weight:700}.dev-panel__money,.dev-panel__grant{border:1px solid var(--parchment-dim);background:var(--charcoal-2);color:var(--parchment);cursor:pointer;text-align:left;border-radius:4px;padding:4px 8px;font-size:11px}.dev-panel__artifacts{flex-direction:column;gap:4px;display:flex}.round__body{flex:1;gap:16px;min-height:0;display:flex}.hand-chart{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;flex-shrink:0;width:240px;padding:12px;overflow-y:auto}.hand-chart__row{color:var(--parchment-dim);border-radius:4px;justify-content:space-between;gap:8px;padding:6px 8px;font-size:13px;display:flex}.hand-chart__row--active{background:var(--gold);color:var(--ink);font-weight:700}.round__main{flex-direction:column;flex:1;justify-content:flex-end;gap:16px;display:flex;position:relative}.round__floating-layer{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.floating-label{color:var(--gold-bright);font-size:20px;font-weight:700;animation:.35s ease-out forwards float-up;position:absolute;top:30%;left:50%;transform:translate(-50%)}.floating-label--mult,.floating-label--xmult{color:var(--crimson)}@keyframes float-up{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-40px)}}.round__hand{justify-content:center;gap:10px;min-height:160px;display:flex}.card{background:var(--parchment);border:1px solid var(--ink);cursor:pointer;width:88px;height:128px;font-family:var(--font-stack);color:var(--ink);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:transform .12s ease-out,box-shadow .12s ease-out;display:flex}.card--red{color:var(--crimson)}.card--black{color:var(--ink)}.card__rank{font-size:24px;font-weight:700}.card__suit svg{fill:currentColor;width:26px;height:26px}.card--selected{border-color:var(--gold);transform:translateY(-18px);box-shadow:0 10px 16px #0006}.card:hover:not(.card--selected){transform:translateY(-6px);box-shadow:0 6px 10px #0000004d}.card--ember{border-color:#c9502f;box-shadow:inset 0 0 0 2px #c9502f}.card--crystal{border-color:#6fb7d9;box-shadow:inset 0 0 0 2px #6fb7d9}.card--prism{border-color:var(--gold-bright);box-shadow:inset 0 0 0 2px var(--gold-bright), 0 0 10px #f2cf6580}.card--golden{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold);background:linear-gradient(160deg, var(--parchment), var(--gold-bright) 180%)}.card--volatile{border-color:var(--crimson);box-shadow:inset 0 0 0 2px var(--crimson)}.card--debuffed{opacity:.45;filter:grayscale()}.card--formula-target{outline:3px solid var(--gold-bright);outline-offset:2px}.card--facedown{background:var(--charcoal-3);border-color:var(--gold)}.card__back{background:repeating-linear-gradient(45deg, var(--charcoal-2), var(--charcoal-2) 6px, var(--gold) 6px, var(--gold) 7px);border-radius:4px;width:56px;height:88px}.round__play-hint{text-align:center;min-height:16px;color:var(--crimson);font-size:12px}.card--pulsing{animation:.35s ease-out card-pulse}@keyframes card-pulse{0%{transform:scale(1) translateY(var(--pulse-y,0))}40%{transform:scale(1.12) translateY(var(--pulse-y,0));box-shadow:0 0 18px var(--gold-bright)}to{transform:scale(1) translateY(var(--pulse-y,0))}}.round__controls{justify-content:center;gap:12px;display:flex}.btn{font-size:14px;font-weight:700;font-family:var(--font-stack);border:1px solid var(--gold);background:var(--charcoal-2);color:var(--parchment);cursor:pointer;border-radius:6px;padding:10px 20px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--play{background:var(--gold);color:var(--ink)}.btn--discard{border-color:var(--crimson)}.round__overlay{background:#17130fd9;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.round__overlay[hidden]{display:none}.round__overlay-card{background:var(--charcoal-2);border:1px solid var(--gold);border-radius:12px;flex-direction:column;align-items:center;gap:20px;padding:32px 48px;animation:.4s ease-out overlay-flourish;display:flex}@keyframes overlay-flourish{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.round--shake{animation:.35s ease-out screen-shake}@keyframes screen-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-2px)}}.round__overlay-card h2{color:var(--gold-bright);margin:0;font-size:32px}.round__payout{background:var(--charcoal);border:1px solid var(--parchment-dim);border-radius:8px;flex-direction:column;gap:6px;min-width:220px;padding:12px 16px;display:flex}.round__payout-row{color:var(--parchment-dim);justify-content:space-between;font-size:14px;display:flex}.round__payout-row--total{border-top:1px solid var(--parchment-dim);color:var(--gold-bright);padding-top:6px;font-weight:700}.menu{flex-direction:column;justify-content:center;align-items:center;gap:28px;width:100%;height:100%;padding:24px;display:flex;position:relative}.menu__title{letter-spacing:.06em;color:var(--gold-bright);text-shadow:0 0 24px #d4af3759;margin:0;font-size:56px}.menu__actions{gap:12px;display:flex}.menu__settings{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;flex-direction:column;gap:10px;min-width:220px;padding:16px 20px;display:flex}.menu__settings h2{text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);margin:0 0 4px;font-size:13px}.menu__setting{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.round-select{flex-direction:column;justify-content:center;align-items:center;gap:24px;width:100%;height:100%;padding:24px;display:flex;position:relative}.round-select__hud{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;gap:28px;padding:12px 20px;display:flex}.round-select__stat{align-items:baseline;gap:6px;display:flex}.round-select__stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);font-size:12px}.round-select__stat-value{color:var(--gold-bright);font-size:20px;font-weight:700}.round-select__rounds{gap:20px;display:flex}.round-select__round{background:var(--charcoal-2);border:1px solid var(--parchment-dim);width:200px;color:var(--parchment-dim);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:20px;display:flex;position:relative}.round-select__round--current{border-color:var(--gold);color:var(--parchment)}.round-select__round--beaten{opacity:.6}.round-select__round--locked{opacity:.4}.round-select__round-label{color:var(--gold-bright);font-size:18px;font-weight:700}.round-select__round-target{font-size:24px;font-weight:700}.round-select__round-status{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.round-select__trial-note{text-align:center;color:var(--parchment-dim);font-size:11px}.game-over{flex-direction:column;justify-content:center;align-items:center;gap:24px;width:100%;height:100%;display:flex}.game-over h2{color:var(--gold-bright);margin:0;font-size:36px}.game-over--victory h2{animation:1.6s ease-in-out infinite alternate victory-glow}@keyframes victory-glow{0%{text-shadow:0 0 10px var(--gold)}to{text-shadow:0 0 28px var(--gold-bright)}}.game-over__stats{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;flex-direction:column;gap:10px;min-width:260px;padding:16px 24px;display:flex}.game-over__stat{justify-content:space-between;font-size:15px;display:flex}.game-over__stat-label{color:var(--parchment-dim)}.game-over__stat-value{color:var(--gold-bright);font-weight:700}.game-over__badge{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);background:var(--gold-bright);border-radius:4px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700}.game-over__badge[hidden]{display:none}.game-over__leaderboard-section{flex-direction:column;align-items:center;gap:10px;min-width:260px;display:flex}.game-over__login[hidden],.game-over__submissions[hidden]{display:none}.game-over__submissions{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;flex-direction:column;gap:6px;width:100%;padding:12px 16px;display:flex}.game-over__submission-row{justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.game-over__submission-label{color:var(--parchment-dim)}.game-over__submission-status{color:var(--gold-bright)}.game-over__submission-row [data-el$=RetryBtn][hidden]{display:none}.leaderboard-overlay{z-index:10;background:#17130fd9;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.leaderboard-overlay[hidden]{display:none}.leaderboard-panel{background:var(--charcoal-2);border:1px solid var(--gold);border-radius:12px;flex-direction:column;gap:14px;width:420px;max-height:80%;padding:24px;display:flex;overflow-y:auto}.leaderboard-panel__header{justify-content:space-between;align-items:center;display:flex}.leaderboard-panel__header h2{color:var(--gold-bright);margin:0;font-size:22px}.leaderboard-panel__tabs{gap:8px;display:flex}.leaderboard-tab{color:var(--parchment-dim);background:var(--charcoal);border:1px solid var(--parchment-dim);cursor:pointer;border-radius:6px;flex:1;padding:8px 10px;font-size:12px;font-weight:700}.leaderboard-tab--active{color:var(--ink);background:var(--gold);border-color:var(--gold)}.leaderboard-panel__body{flex-direction:column;gap:4px;min-height:100px;display:flex}.leaderboard-row{background:var(--charcoal);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.leaderboard-row__rank{color:var(--parchment-dim);width:32px}.leaderboard-row__name{color:var(--parchment);flex:1}.leaderboard-row__score{color:var(--gold-bright);font-weight:700}.leaderboard-status{text-align:center;color:var(--parchment-dim);padding:12px;font-size:13px}.leaderboard-status--error{color:var(--crimson)}.leaderboard-standing,.leaderboard-local{color:var(--parchment-dim);text-align:center;font-size:12px}.leaderboard-local__tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);background:var(--parchment-dim);border-radius:4px;padding:1px 6px;font-size:10px}.round__consumables{min-height:0}.consumable-tray__tiles{gap:10px;display:flex}.consumable-tile{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.consumable-tile--armed{border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold-bright)}.consumable-tile__use{padding:3px 8px;font-size:11px}.consumable-panel{background:var(--charcoal-2);border:1px solid var(--gold);border-radius:6px;align-items:center;gap:12px;margin-top:8px;padding:8px 12px;font-size:13px;display:flex}.consumable-panel__suits{gap:6px;display:flex}.consumable-panel__hint--warn{color:var(--crimson)}.consumable-suit-btn{text-transform:capitalize;border:1px solid var(--parchment-dim);background:var(--charcoal-3);color:var(--parchment);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.consumable-suit-btn--selected{border-color:var(--gold-bright);background:var(--gold);color:var(--ink)}.shop{flex-direction:column;gap:14px;width:100%;height:100%;padding:24px;display:flex;position:relative;overflow-y:auto}.shop__hud{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;gap:28px;padding:12px 20px;display:flex}.shop__stat{align-items:baseline;gap:6px;display:flex}.shop__stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);font-size:12px}.shop__stat-value{color:var(--gold-bright);font-size:20px;font-weight:700}.shop__artifacts{background:var(--charcoal-2);border:1px solid var(--parchment-dim);border-radius:8px;align-items:center;gap:10px;min-height:64px;padding:8px 12px;display:flex}.shop__section{flex-direction:column;gap:8px;display:flex}.shop__heading{text-transform:uppercase;letter-spacing:.08em;color:var(--parchment-dim);margin:0;font-size:14px}.shop__offers,.shop__held{flex-wrap:wrap;gap:12px;display:flex}.shop-tile{background:var(--charcoal-2);border:1px solid var(--gold);border-radius:8px;flex-direction:column;gap:4px;width:200px;padding:12px;display:flex}.shop-tile--empty{color:var(--parchment-dim);border-style:dashed;justify-content:center;align-items:center}.shop-tile--held{border-color:var(--parchment-dim);width:auto}.shop-tile__name{color:var(--gold-bright);font-weight:700}.shop-tile__kind{color:var(--parchment-dim);font-size:11px;font-style:normal}.shop-tile__describe{color:var(--parchment-dim);font-size:12px}.shop-tile__cost{font-weight:700}.shop-tile__buy{padding:4px 10px}.shop__empty-note{color:var(--parchment-dim);font-size:13px}.shop__actions{justify-content:center;gap:12px;margin-top:auto;padding-top:8px;display:flex}html.motion-reduced .card,html.motion-reduced .card--pulsing,html.motion-reduced .artifact-tile--pulsing,html.motion-reduced .floating-label,html.motion-reduced .round--shake,html.motion-reduced .round__overlay-card,html.motion-reduced .game-over--victory h2{transition:none!important;animation:none!important}html.motion-reduced .card:hover:not(.card--selected){box-shadow:none!important;transform:none!important}
