:root{--color-bg: #0a0a0a;--color-fg: #33ff33;--color-fg-dim: #1a8c1a;--color-fg-bright: #66ff66;--color-accent: #ff3333;--color-accent-dim: #992222;--color-gold: #ffcc33;--color-border: #33ff33;--color-phase-offer: #33ff33;--color-phase-revolt: #ff3333;--color-phase-combat: #ffcc33;--color-phase-roundend: #8866cc;--font-main: "Press Start 2P", monospace;--font-size-base: 10px;--font-size-lg: 14px;--font-size-xl: 18px;--font-size-xxl: 24px;--font-size-sm: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--tap-target-min: 44px;--brick-tint: rgba(26, 140, 26, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-main);font-size:var(--font-size-base);line-height:1.6;height:100dvh;overflow:hidden;image-rendering:pixelated}#app{max-width:580px;max-height:940px;margin:20px auto;padding:var(--spacing-md);min-height:calc(100dvh - 40px);display:flex;flex-direction:column;border:3px solid var(--color-fg);overflow:hidden;position:relative}#app.crt-enabled{border-radius:12px;box-shadow:inset 0 0 60px #0006,0 0 20px #33ff3326;filter:url(#crt-barrel);overflow:hidden}@media(pointer:coarse){#app.crt-enabled{filter:none}}@media(max-width:480px){#app{margin:0 auto;padding:var(--spacing-sm);min-height:100dvh;max-height:100dvh;border-width:2px}#app.crt-enabled{border-radius:0}.menu-gear{top:8px;right:var(--spacing-sm);width:28px;height:28px;padding:4px}.status-bar{padding:var(--spacing-xs);margin-right:48px;gap:var(--spacing-xs)}.app-footer{font-size:7px}}#app.crt-enabled:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:radial-gradient(ellipse at 50% 50%,transparent 60%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:999}#game-area{--brick: rgba(255, 255, 255, .03);--brick-hi: rgba(255, 255, 255, .04);--mortar: rgba(0, 0, 0, .15);--brick-tint: rgba(26, 140, 26, .05);flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background-color:var(--color-bg);background-image:linear-gradient(to bottom,var(--brick-tint),var(--brick-tint)),repeating-linear-gradient(to bottom,transparent 0,transparent 23px,var(--mortar) 23px,var(--mortar) 25px),repeating-linear-gradient(to right,var(--mortar) 0,var(--mortar) 2px,transparent 2px,transparent 50px),repeating-linear-gradient(to right,var(--mortar) 0,var(--mortar) 2px,transparent 2px,transparent 50px),repeating-linear-gradient(to bottom,var(--brick-hi) 0,var(--brick-hi) 2px,transparent 2px,transparent 25px),repeating-linear-gradient(125deg,transparent 0,transparent 3px,rgba(255,255,255,.008) 3px,rgba(255,255,255,.008) 4px),repeating-linear-gradient(55deg,transparent 0,transparent 5px,rgba(0,0,0,.03) 5px,rgba(0,0,0,.03) 6px),repeating-linear-gradient(to bottom,var(--brick) 0,var(--brick) 23px,transparent 23px,transparent 25px);background-size:100% 100%,100% 25px,50px 50px,50px 50px,100% 25px,7px 7px,11px 11px,100% 25px;background-position:0 0,0 0,0 0,25px 25px,0 1px,0 0,0 0,0 0}#game-area:has(.phase-offer){--brick-tint: rgba(26, 140, 26, .05)}#game-area:has(.phase-revolt){--brick-tint: rgba(255, 51, 51, .05)}#game-area:has(.phase-combat){--brick-tint: rgba(255, 204, 51, .05)}#game-area:has(.phase-roundend){--brick-tint: rgba(136, 102, 204, .05)}.app-footer{display:flex;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);font-size:7px;color:var(--color-fg-dim);opacity:.5;flex-shrink:0}.app-footer a{color:var(--color-fg-dim);text-decoration:none}.app-footer a:hover{color:var(--color-fg);text-decoration:underline}.screen{display:flex;flex-direction:column;gap:var(--spacing-md);animation:screenIn .25s ease-out}.phase-offer,.phase-revolt,.phase-combat,.phase-roundend{flex:1 0 auto;min-height:100%}.phase-offer>*,.phase-revolt>*,.phase-combat>*,.phase-roundend>*{flex-shrink:0}.phase-offer .inventory-grid,.phase-revolt .inventory-grid,.phase-combat .inventory-grid,.phase-roundend .inventory-grid{flex:1 1 0;min-height:140px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.phase-offer>button.btn-primary:last-child,.phase-offer>button.btn-danger:last-child,.phase-offer>button.btn-ghost:last-child,.phase-revolt>button.btn-primary:last-child,.phase-revolt>button.btn-danger:last-child,.phase-revolt>button.btn-ghost:last-child,.phase-combat>button.btn-primary:last-child,.phase-combat>button.btn-danger:last-child,.phase-combat>button.btn-ghost:last-child,.phase-roundend>button.btn-primary:last-child,.phase-roundend>button.btn-danger:last-child,.phase-roundend>button.btn-ghost:last-child{margin-top:auto;flex-shrink:0;position:sticky;bottom:0;background:var(--color-bg);box-shadow:0 -12px 14px -4px var(--color-bg);z-index:5;max-width:95%;align-self:center}.matchup-zone .btn-danger{display:block;max-width:95%;margin-left:auto;margin-right:auto}@keyframes screenIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.screen-title,.screen-victory,.screen-gameover{align-items:center;justify-content:center;text-align:center;min-height:60dvh}.screen-title>button,.screen-victory>button,.screen-gameover>button{max-width:320px}.screen-intro{align-items:center;justify-content:center;text-align:center;min-height:60dvh;gap:var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-md)}.intro-line{font-size:var(--font-size-sm);color:var(--color-fg-dim);font-style:italic;line-height:2;opacity:0;animation:introFadeIn .8s ease-out forwards}@keyframes introFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.intro-footer{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;max-width:280px;opacity:0;animation:introFadeIn .8s ease-out forwards}.intro-skip-label{font-size:7px;color:var(--color-fg-dim);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);cursor:pointer}.intro-skip-label input[type=checkbox]{accent-color:var(--color-fg);cursor:pointer}.game-title{font-size:var(--font-size-xxl);letter-spacing:8px;text-shadow:0 0 20px var(--color-fg),0 0 40px var(--color-fg-dim)}.game-subtitle{font-size:var(--font-size-sm);color:var(--color-fg-dim);margin-top:var(--spacing-sm)}.game-version{font-size:var(--font-size-sm);color:var(--color-fg-dim);margin-top:var(--spacing-xs)}.phase-title{font-size:var(--font-size-lg);text-align:center;padding:var(--spacing-sm) 0}.result-win{color:var(--color-fg-bright);text-shadow:0 0 12px var(--color-fg),0 0 24px var(--color-fg-dim);animation:resultPulse .6s ease-out}.result-loss{color:var(--color-accent);text-shadow:0 0 12px var(--color-accent),0 0 24px var(--color-accent-dim);animation:resultPulse .6s ease-out}@keyframes resultPulse{0%{opacity:0;transform:scale(1.15)}50%{opacity:1;transform:scale(1.05)}to{transform:scale(1)}}.status-bar{display:flex;justify-content:space-between;border:1px solid var(--color-fg-dim);padding:var(--spacing-sm);margin-right:60px;gap:var(--spacing-sm);flex-shrink:0;position:sticky;top:0;z-index:4;background:var(--color-bg)}.status-item{display:flex;flex-direction:column;align-items:center;gap:2px}.status-label{font-size:var(--font-size-sm);color:var(--color-fg-dim)}.status-value{font-size:var(--font-size-base)}.phase-bar{display:flex;gap:2px;margin-bottom:var(--spacing-xs)}.phase-step{flex:1;text-align:center;font-size:7px;padding:3px 0;color:var(--color-fg-dim);border-bottom:2px solid var(--color-fg-dim);opacity:.3;transition:opacity .2s,border-color .2s}.phase-step-passed{opacity:.5;border-bottom-color:var(--color-fg-dim)}.phase-step-active{opacity:1;font-weight:700}.phase-step-active.phase-step-offer{color:var(--color-phase-offer);border-bottom-color:var(--color-phase-offer)}.phase-step-active.phase-step-revolt{color:var(--color-phase-revolt);border-bottom-color:var(--color-phase-revolt)}.phase-step-active.phase-step-combat{color:var(--color-phase-combat);border-bottom-color:var(--color-phase-combat)}.phase-step-active.phase-step-roundend{color:var(--color-phase-roundend);border-bottom-color:var(--color-phase-roundend)}.phase-offer .phase-title{color:var(--color-phase-offer)}.phase-revolt .phase-title{color:var(--color-phase-revolt)}.phase-combat .phase-title{color:var(--color-phase-combat)}.phase-roundend .phase-title{color:var(--color-phase-roundend)}.phase-revolt .status-bar,.phase-combat .status-bar{border-color:var(--color-fg-dim)}button{font-family:var(--font-main);font-size:var(--font-size-base);color:var(--color-fg);background:var(--color-bg);border:2px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);min-height:var(--tap-target-min);min-width:var(--tap-target-min);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .1s,color .1s;width:100%}button:active{background:var(--color-fg);color:var(--color-bg)}button:disabled{opacity:.3;cursor:not-allowed}.btn-danger{border-color:var(--color-accent);color:var(--color-accent)}.btn-ghost{border-color:var(--color-fg-dim);color:var(--color-fg-dim)}.decline-cost{font-size:var(--font-size-sm);color:var(--color-accent);margin-top:var(--spacing-xs)}.decline-cost-heavy{font-size:var(--font-size-base);font-weight:700;text-shadow:0 0 8px var(--color-accent);letter-spacing:1px}.action-row{display:flex;gap:var(--spacing-sm)}.action-row button{flex:1}.item-card{border:2px solid var(--color-fg-dim);padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);position:relative;transition:border-color .2s,box-shadow .2s}.item-card.rarity-common{border-color:var(--color-fg-dim)}.item-card.rarity-rare{border-color:var(--color-fg)}.item-card.rarity-legendary{border-color:var(--color-gold)}.item-card.highlight-revolter{border-color:var(--color-accent);box-shadow:0 0 8px var(--color-accent-dim)}.item-card.highlight-defender{border-color:var(--color-fg-bright);box-shadow:0 0 8px var(--color-fg-dim)}.item-card.selectable{cursor:pointer;min-height:var(--tap-target-min)}.item-card.selectable:hover,.item-card.selectable:focus-visible{border-color:var(--color-fg-bright);box-shadow:0 0 8px var(--color-fg-dim)}.item-card.selectable:active{background:var(--color-fg-dim);color:var(--color-bg)}.item-card.selected{border-color:var(--color-fg-bright);box-shadow:0 0 8px var(--color-fg-dim);opacity:.5}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.item-name{font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:75%}.rarity-badge{font-size:7px;padding:2px 4px;border:1px solid}.rarity-badge.rarity-common{color:var(--color-fg-dim);border-color:var(--color-fg-dim)}.rarity-badge.rarity-rare{color:var(--color-fg);border-color:var(--color-fg)}.rarity-badge.rarity-legendary{color:var(--color-gold);border-color:var(--color-gold)}.item-stats{display:flex;justify-content:space-between;margin:var(--spacing-xs) 0;gap:2px}.stat-col{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.stat-label{font-size:7px;color:var(--color-fg-dim)}.stat-value{font-size:var(--font-size-sm);text-align:center}.item-affixes{margin-top:var(--spacing-xs);border-top:1px solid var(--color-fg-dim);padding-top:var(--spacing-xs)}.affix{font-size:7px;color:var(--color-fg-dim);padding:1px 0}.item-traits{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.trait-badge{font-size:7px;padding:1px 4px;border:1px solid var(--color-fg-bright);color:var(--color-fg-bright)}.trait-badge.trait-loyal{border-color:var(--color-gold);color:var(--color-gold)}.trait-badge.trait-acquiesced{border-color:var(--color-fg-dim);color:var(--color-fg-dim);font-style:italic}.curse-indicator{font-size:var(--font-size-sm);color:var(--color-accent);margin-top:var(--spacing-xs)}.inventory-grid{display:flex;flex-direction:column}.section-title{font-size:var(--font-size-sm);color:var(--color-fg-dim);margin-bottom:var(--spacing-sm);text-align:center;letter-spacing:2px}.empty-text{text-align:center;color:var(--color-fg-dim);font-size:var(--font-size-sm)}.combat-comparison{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.combat-side{flex:1;min-width:0;text-align:center;border:1px solid var(--color-fg-dim);padding:var(--spacing-sm);animation:fadeSlideIn .3s ease-out both}.combat-side:first-child{animation-delay:.1s}.combat-side:last-child{animation-delay:.3s}.combat-label{font-size:7px;color:var(--color-fg-dim);margin-bottom:var(--spacing-xs)}.combat-name{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-power{font-size:var(--font-size-lg);margin-bottom:2px}.combat-roll{font-size:7px;color:var(--color-fg-dim)}.combat-vs{font-size:var(--font-size-lg);color:var(--color-fg-dim);flex-shrink:0;animation:fadeSlideIn .3s ease-out .2s both}.combat-details{border:1px solid var(--color-fg-dim);padding:var(--spacing-sm)}.detail-line{font-size:var(--font-size-sm);padding:2px 0;color:var(--color-fg);animation:fadeSlideIn .3s ease-out both}.detail-line:nth-child(1){animation-delay:.15s}.detail-line:nth-child(2){animation-delay:.3s}.detail-line:nth-child(3){animation-delay:.45s}.detail-line:nth-child(4){animation-delay:.6s}.text-accent{color:var(--color-accent)}.text-dim{color:var(--color-fg-dim);font-style:italic}.text-gold{color:var(--color-gold);font-style:italic}.round-events{border:1px solid var(--color-fg-dim);padding:var(--spacing-sm)}.event-info{font-size:var(--font-size-sm);color:var(--color-fg-dim);padding:2px 0}.event-danger{font-size:var(--font-size-sm);color:var(--color-accent);padding:2px 0}.flavor-text{font-size:var(--font-size-sm);color:var(--color-fg-dim);text-align:center;font-style:italic}.instruction-text{font-size:var(--font-size-sm);text-align:center;color:var(--color-fg)}.victory-title{font-size:var(--font-size-xxl);color:var(--color-fg-bright);text-shadow:0 0 20px var(--color-fg),0 0 40px var(--color-fg-dim);animation:victoryIn .8s ease-out}@keyframes victoryIn{0%{opacity:0;transform:scale(.8);letter-spacing:16px}60%{opacity:1;transform:scale(1.05)}to{transform:scale(1);letter-spacing:8px}}.victory-subtitle{font-size:var(--font-size-sm);color:var(--color-fg-dim);animation:fadeSlideIn .4s ease-out .4s both}.gameover-title{font-size:var(--font-size-xxl);color:var(--color-accent);text-shadow:0 0 20px var(--color-accent),0 0 40px var(--color-accent-dim);animation:gameoverIn .6s ease-out}@keyframes gameoverIn{0%{opacity:0;transform:translateY(-10px)}40%{opacity:1}60%{transform:translateY(2px)}to{transform:translateY(0)}}.gameover-subtitle{font-size:var(--font-size-sm);color:var(--color-accent-dim);animation:fadeSlideIn .4s ease-out .3s both}.echoes-earned{font-size:var(--font-size-lg);color:var(--color-gold);animation:fadeSlideIn .4s ease-out .5s both}.attrition-section{border:1px solid var(--color-phase-roundend);padding:var(--spacing-sm)}.attrition-header{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-sm)}.attrition-title{font-size:var(--font-size-sm);color:var(--color-phase-roundend);letter-spacing:2px}.attrition-total{font-size:7px;color:var(--color-fg-dim)}.attrition-heal-note{font-size:7px;color:var(--color-fg-dim);margin-bottom:var(--spacing-sm)}.attrition-wrath-note{font-size:7px;color:var(--color-accent);margin-bottom:var(--spacing-sm)}.peace-boon{font-size:var(--font-size-base);color:var(--color-fg-bright);margin:var(--spacing-md) 0}.attrition-grid{display:flex;flex-direction:column;gap:3px}.attrition-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);padding:2px 0;animation:fadeSlideIn .3s ease-out both}.attrition-row:nth-child(1){animation-delay:.1s}.attrition-row:nth-child(2){animation-delay:.2s}.attrition-row:nth-child(3){animation-delay:.3s}.attrition-row:nth-child(4){animation-delay:.4s}.attrition-row:nth-child(5){animation-delay:.5s}.attrition-row:nth-child(6){animation-delay:.6s}.attrition-destroyed{color:var(--color-accent)}.attrition-item-name{color:var(--color-fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.attrition-maxhp{display:flex;gap:var(--spacing-xs);align-items:center}.attrition-before{color:var(--color-fg-dim)}.attrition-arrow{color:var(--color-phase-roundend);font-size:7px}.attrition-after{color:var(--color-fg)}.attrition-after-dead{color:var(--color-accent)}.death-summary{text-align:center;font-size:var(--font-size-sm);padding:var(--spacing-xs) 0}.event-header{font-size:var(--font-size-sm);color:var(--color-accent);letter-spacing:2px;margin-bottom:var(--spacing-xs)}.matchup-zone{min-height:0}.matchup-zone:not(:empty){animation:fadeSlideIn .2s ease-out;padding-bottom:var(--spacing-lg);border-bottom:1px dashed var(--color-fg-dim);margin-bottom:var(--spacing-xs)}.matchup-preview{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.matchup-preview .item-card{width:100%}.matchup-vs{font-size:var(--font-size-lg);color:var(--color-phase-combat);text-align:center;letter-spacing:4px}.matchup-odds{font-size:var(--font-size-sm);text-align:center;padding:var(--spacing-xs) 0;letter-spacing:1px}.odds-good{color:var(--color-fg-bright)}.odds-even{color:var(--color-gold)}.odds-bad{color:var(--color-accent)}.matchup-zone .btn-danger{margin-top:var(--spacing-xs)}.combat-side{position:relative;transition:border-color .5s ease-out,box-shadow .5s ease-out}.combat-side-cursed{border-color:var(--color-accent)!important;box-shadow:0 0 14px var(--color-accent-dim),inset 0 0 18px #ff333314}.combat-side-loyal{border-color:var(--color-gold)!important;box-shadow:0 0 14px #ffcc3373,inset 0 0 18px #ffcc3314}.combat-side-acquiesced{border-style:dashed!important;border-color:var(--color-fg-bright)!important;box-shadow:inset 0 0 18px #33ff330f;opacity:.75}.impact-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-xxl);letter-spacing:4px;font-weight:700;pointer-events:none;z-index:10;text-align:center;white-space:nowrap;max-width:95%;animation:impactFade 3s ease-out forwards;text-shadow:0 0 3px #000,0 0 6px #000,0 0 10px #000,0 0 18px #000}.impact-overlay.impact-cursed{color:var(--color-accent);text-shadow:0 0 3px #000,0 0 6px #000,0 0 10px #000,0 0 18px #000,0 0 14px var(--color-accent),0 0 24px var(--color-accent-dim)}.impact-overlay.impact-loyal{color:var(--color-gold);text-shadow:0 0 3px #000,0 0 6px #000,0 0 10px #000,0 0 18px #000,0 0 14px var(--color-gold),0 0 24px rgba(255,204,51,.5)}.impact-overlay.impact-acquiesced{color:var(--color-fg-bright);font-style:italic;font-size:var(--font-size-base);letter-spacing:2px;text-shadow:0 0 3px #000,0 0 6px #000,0 0 10px #000,0 0 18px #000,0 0 10px var(--color-fg-dim)}@keyframes impactFade{0%{opacity:0;transform:translate(-50%,-50%) scale(1.4)}10%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes crumble{0%{opacity:1;transform:scale(1);filter:none}20%{transform:translate(-3px) scale(1)}30%{transform:translate(3px) scale(.98)}40%{transform:translate(-2px) scale(.95);filter:brightness(1.5) saturate(0)}60%{opacity:.6;transform:scale(.9);filter:brightness(.5) saturate(0)}to{opacity:0;transform:scale(.7) translateY(8px);filter:brightness(0) saturate(0)}}.crumbling{animation:crumble 1.2s ease-in forwards}.combat-side.crumbling{animation-delay:1.5s}.crumbling .item-card,.crumbling.item-card{border-color:var(--color-accent);box-shadow:0 0 12px var(--color-accent-dim)}.attrition-row.crumbling{animation:crumble 1s ease-in forwards}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-6px)}20%{transform:translate(6px)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-2px)}60%{transform:translate(2px)}70%{transform:translate(-1px)}80%{transform:translate(1px)}}.shake{animation:shake .5s ease-in-out}.menu-gear{position:absolute;top:18px;right:var(--spacing-md);z-index:900;background:none;border:none;color:var(--color-fg-dim);width:36px;height:36px;min-width:0;min-height:0;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.menu-gear svg{width:100%;height:100%;display:block}.menu-gear.menu-gear-hidden{display:none}.menu-gear:hover{border-color:var(--color-fg);color:var(--color-fg)}.menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;background:#000000d9;display:flex;align-items:center;justify-content:center}.menu-overlay.menu-hidden{display:none}.menu-panel{background:var(--color-bg);border:2px solid var(--color-fg-dim);padding:var(--spacing-lg);width:280px;display:flex;flex-direction:column;gap:var(--spacing-md)}.menu-title{font-size:var(--font-size-lg);color:var(--color-fg);text-align:center;margin:0}.menu-row{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:var(--spacing-sm)}.menu-label{font-size:var(--font-size-sm);color:var(--color-fg-dim);text-align:right}.menu-toggle{background:none;border:1px solid var(--color-fg);color:var(--color-fg);font-family:var(--font-main);font-size:var(--font-size-sm);padding:var(--spacing-sm);cursor:pointer;text-align:center}.menu-toggle.toggle-off{border-color:var(--color-fg-dim);color:var(--color-fg-dim)}.menu-restart{background:none;border:2px solid var(--color-accent);color:var(--color-accent);font-family:var(--font-main);font-size:var(--font-size-sm);padding:var(--spacing-sm);cursor:pointer;margin-top:var(--spacing-sm)}.menu-restart:hover{background:var(--color-accent);color:var(--color-bg)}.menu-main-menu{background:none;border:1px solid var(--color-fg-dim);color:var(--color-fg-dim);font-family:var(--font-main);font-size:var(--font-size-sm);padding:var(--spacing-sm);cursor:pointer}.menu-main-menu:hover{border-color:var(--color-fg);color:var(--color-fg)}.menu-close{background:none;border:1px solid var(--color-fg-dim);color:var(--color-fg-dim);font-family:var(--font-main);font-size:var(--font-size-sm);padding:var(--spacing-sm);cursor:pointer}.menu-close:hover{border-color:var(--color-fg);color:var(--color-fg)}@keyframes breathe{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-1.5px) rotate(-.15deg)}66%{transform:translateY(1px) rotate(.2deg)}}@keyframes glowPulse{0%,to{text-shadow:0 0 2px var(--color-fg-dim)}50%{text-shadow:0 0 10px var(--color-fg),0 0 4px var(--color-fg-dim)}}@keyframes btnPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes drift{0%,to{transform:translate(0)}25%{transform:translate(.8px,-.6px)}50%{transform:translate(-.4px,.5px)}75%{transform:translate(-.6px,-.3px)}}@keyframes flavorDrift{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(-1px);opacity:1}}.item-card{animation:breathe 5s ease-in-out infinite}.item-card:nth-child(2){animation-delay:.7s}.item-card:nth-child(3){animation-delay:1.4s}.item-card:nth-child(4){animation-delay:2.1s}.item-card:nth-child(5){animation-delay:.3s}.item-card:nth-child(6){animation-delay:1.8s}.item-card.crumbling{animation:crumble 1.2s ease-in forwards}.status-value{animation:glowPulse 5s ease-in-out infinite}.status-item{animation:drift 9s ease-in-out infinite}.status-item:nth-child(2){animation-delay:2s}.status-item:nth-child(3){animation-delay:4s}.status-item:nth-child(4){animation-delay:6s}.phase-title{animation:drift 11s ease-in-out infinite}.flavor-text,.instruction-text{animation:flavorDrift 7s ease-in-out infinite}.btn-primary,.btn-danger,.btn-ghost{animation:btnPulse 6s ease-in-out infinite}.btn-primary{animation-delay:0s}.btn-danger{animation-delay:1s}.btn-ghost{animation-delay:2s}.menu-panel button{animation:none}#app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:repeating-linear-gradient(to right,transparent 0,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 3px),repeating-linear-gradient(transparent,transparent 2px,rgba(0,0,0,.22) 2px,rgba(0,0,0,.22) 4px);pointer-events:none;z-index:1000;animation:crtFlicker 6s ease-in-out infinite}@keyframes crtFlicker{0%,to{opacity:1}47%{opacity:1}48%{opacity:.92}49%{opacity:1}73%{opacity:1}74%{opacity:.94}75%{opacity:1}}
