:root{--px-font:var(--font-pixel);--px-tiny:var(--font-pixel-display);--px-body:var(--font-pixel-readable);--px-felt-1:var(--color-px-felt-1);--px-felt-2:var(--color-px-felt-2);--px-felt-3:var(--color-px-felt-3);--px-panel:var(--color-px-panel);--px-panel-2:var(--color-px-panel-2);--px-panel-3:var(--color-px-panel-3);--px-panel-edge:var(--color-px-panel-edge);--px-bevel-hi:var(--color-px-bevel-hi);--px-bevel-lo:var(--color-px-bevel-lo);--px-violet:var(--color-px-violet);--px-violet-2:var(--color-px-violet-2);--px-violet-d:var(--color-px-violet-d);--px-gold:var(--color-px-gold);--px-gold-d:var(--color-px-gold-d);--px-red:var(--color-px-red);--px-red-d:var(--color-px-red-d);--px-blue:var(--color-px-blue);--px-blue-d:var(--color-px-blue-d);--px-green:var(--color-px-green);--px-green-d:var(--color-px-green-d);--px-paper:var(--color-px-paper);--px-paper-sh:var(--color-px-paper-sh);--px-ink:var(--color-px-ink)}.px-app{width:100%;min-height:100vh;font-family:var(--px-font);color:var(--px-paper);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(ellipse at center, var(--px-felt-2) 0%, var(--px-felt-1) 50%, var(--px-felt-3) 100%);image-rendering:pixelated;image-rendering:crisp-edges;-webkit-font-smoothing:none;grid-template:"sidebar stage"1fr/240px 1fr;display:grid;position:relative;overflow:hidden}.px-app:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,#0000 0 3px,#0000000f 3px 4px),radial-gradient(circle at 30% 40%,#ffffff0a 0 200px,#0000 200px),radial-gradient(circle at 70% 60%,#ffffff08 0 220px,#0000 220px);position:absolute;inset:0}.px-panel{background:var(--px-panel-2);border:4px solid var(--px-panel-edge);box-shadow:inset 0 0 0 2px var(--px-bevel-hi), inset 0 -4px 0 0 var(--px-bevel-lo), 0 4px 0 0 #000;z-index:1;position:relative}.px-panel.flat{box-shadow:inset 0 0 0 2px var(--px-bevel-hi), inset 0 -2px 0 0 var(--px-bevel-lo)}.px-sidebar{z-index:2;background:var(--px-felt-3);box-shadow:inset -4px 0 0 var(--px-gold-d);border-right:4px solid #000;flex-direction:column;grid-area:sidebar;gap:10px;padding:12px;display:flex;overflow-y:auto}.px-mode{background:var(--px-violet-d);box-shadow:inset 0 0 0 2px var(--px-violet), inset 0 -3px 0 var(--px-bevel-lo);border:3px solid #000;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;display:flex}.px-mode .lbl{font-family:var(--px-tiny);color:var(--px-paper);letter-spacing:.04em;font-size:9px}.px-mode .v{font-family:var(--px-tiny);color:var(--px-gold);text-shadow:2px 2px #000;letter-spacing:.04em;font-size:14px}.px-score-panel{background:var(--px-panel);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.px-score-panel .lbl{font-family:var(--px-tiny);color:var(--px-paper);letter-spacing:.04em;font-size:9px}.px-score-panel .score{font-family:var(--font-mono), "JetBrains Mono", monospace;color:var(--px-gold);text-shadow:2px 2px #000;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:36px;font-weight:800}.px-score-panel .projected{font-family:var(--px-font);color:var(--px-paper-sh);font-size:16px}.px-score-panel .projected strong{color:var(--px-green);font-weight:400}.px-chip{background:var(--px-paper);border:1px solid #000;border-radius:50%;flex:none;width:12px;height:12px;display:inline-block;position:relative}.px-chip:before{content:"";border:1px dashed var(--px-ink);border-radius:50%;position:absolute;inset:2px}.px-statgrid-2{grid-template-columns:1fr 1fr;gap:6px;display:grid}.px-stat-2{background:var(--px-panel);box-shadow:inset 0 0 0 2px var(--px-bevel-hi), inset 0 -2px 0 var(--px-bevel-lo);border:3px solid #000;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.px-stat-2 .lbl{font-family:var(--px-tiny);color:var(--px-paper);letter-spacing:.04em;font-size:9px}.px-stat-2 .v{font-family:var(--px-tiny);color:var(--px-gold);text-shadow:2px 2px #000;font-size:18px}.px-stat-2 .sub{font-family:var(--px-font);color:var(--px-paper-sh);font-size:14px}.px-lives-panel{justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.px-lives-panel .lbl{font-family:var(--px-tiny);color:var(--px-paper);letter-spacing:.04em;font-size:9px}.px-actbtn{background:var(--px-red);font-family:var(--px-tiny);color:#fff;text-shadow:2px 2px 0 var(--px-red-d);cursor:pointer;box-shadow:inset 0 0 0 2px #ff8080, inset 0 -3px 0 var(--px-red-d);text-align:center;letter-spacing:.04em;border:3px solid #000;justify-content:center;align-items:center;gap:6px;padding:12px 14px;font-size:13px;line-height:1.4;text-decoration:none;transition:transform 80ms;display:inline-flex}.px-actbtn:active{box-shadow:inset 0 0 0 2px #ff8080, inset 0 -1px 0 var(--px-red-d);transform:translateY(2px)}.px-actbtn .icon{width:14px;height:14px}.px-actbtn.options{background:var(--px-gold);color:#fff;text-shadow:2px 2px 0 var(--px-gold-d);box-shadow:inset 0 0 0 2px #ffd668, inset 0 -3px 0 var(--px-gold-d)}.px-actbtn.options:active{box-shadow:inset 0 0 0 2px #ffd668, inset 0 -1px 0 var(--px-gold-d)}.px-sidebar-bottom{gap:6px;margin-top:auto;display:flex}.px-sidebar-bottom .px-actbtn{flex:1}.px-stage{z-index:1;flex-direction:column;grid-area:stage;display:flex;position:relative}.px-timeline-wrap{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:0 24px;display:flex;position:relative}.px-tl-prompt{font-family:var(--px-tiny);color:var(--px-paper);text-shadow:2px 2px #000;text-align:center;letter-spacing:.04em;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.px-tl-prompt:before,.px-tl-prompt:after{content:"";background:var(--px-violet);width:24px;height:4px;box-shadow:inset 0 -2px 0 var(--px-violet-d)}.px-timeline{scrollbar-width:thin;align-items:center;gap:8px;max-width:100%;min-height:220px;padding:32px 16px;display:flex;position:relative;overflow-x:auto}.px-timeline .rail{background:repeating-linear-gradient(90deg, var(--px-violet) 0 12px, transparent 12px 20px);z-index:0;height:4px;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-2px);box-shadow:0 0 8px #a87bff66}.px-card{background:var(--px-paper);z-index:1;width:165px;height:231px;font-family:var(--px-tiny);cursor:default;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:3px solid #000;flex-direction:column;flex:none;display:flex;position:relative;box-shadow:4px 4px #000}.px-card .qualifier{text-align:center;font-family:var(--px-body);color:var(--px-ink);opacity:.7;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;padding:0 6px;font-size:9px;font-weight:500;line-height:1;position:absolute;top:10px;left:0;right:0;overflow:hidden}.px-card .art{flex-direction:column;flex:1;justify-content:center;align-items:center;margin:36px 8px 56px;display:flex;position:relative}.px-card .art .name{font-family:var(--px-body);color:var(--px-ink);text-align:center;letter-spacing:.04em;text-transform:uppercase;white-space:normal;word-break:normal;overflow-wrap:normal;width:100%;min-width:0;padding:0 4px;font-size:10px;font-weight:600;line-height:1.2}.px-card .year{text-align:center;font-family:var(--font-mono), "JetBrains Mono", monospace;color:var(--px-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1;position:absolute;bottom:18px;left:0;right:0}.px-card .strip{height:9px;margin:0 -3px -3px}.px-card.era-colonia .year{color:#b45309}.px-card.era-colonia .strip{background:#b45309}.px-card.era-reino .year{color:var(--px-blue-d)}.px-card.era-reino .strip{background:var(--px-blue-d)}.px-card.era-imperio .year{color:#7c2d12}.px-card.era-imperio .strip{background:#7c2d12}.px-card.era-republica .year{color:var(--px-green-d)}.px-card.era-republica .strip{background:var(--px-green-d)}.px-card.era-vargas .year{color:var(--px-red-d)}.px-card.era-vargas .strip{background:var(--px-red-d)}.px-card.era-militar .year{color:#444}.px-card.era-militar .strip{background:#444}.px-card.era-moderno .year{color:var(--px-violet-d)}.px-card.era-moderno .strip{background:var(--px-violet-d)}.px-card.era-contemp .year{color:#0e7490}.px-card.era-contemp .strip{background:#0e7490}.px-card.is-closed .year{color:var(--px-ink)}.px-card.is-closed .strip{background:var(--px-paper-sh)}.px-card .qualifier,.px-card .year{z-index:2}.px-card .art,.px-card .strip{z-index:2;position:relative}.px-card .stamp{pointer-events:none;z-index:0;clip-path:polygon(25% 0%,75% 0%,100% 25%,100% 75%,75% 100%,25% 100%,0% 75%,0% 25%);width:96px;height:96px;image-rendering:pixelated;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-10deg)}.px-card .stamp:before{content:"";background:var(--px-paper);clip-path:polygon(25% 0%,75% 0%,100% 25%,100% 75%,75% 100%,25% 100%,0% 75%,0% 25%);position:absolute;inset:7px}.px-card .stamp svg{z-index:1;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;shape-rendering:crispedges;width:56px;height:56px;position:relative}.px-card .stamp-success{background:var(--px-green-d);color:var(--px-green-d);opacity:.42}.px-card .stamp-error{background:var(--px-red-d);color:var(--px-red-d);opacity:.42}.px-slot{border:0 dashed var(--px-violet);z-index:1;width:0;height:231px;font-family:var(--px-tiny);color:#0000;text-align:center;letter-spacing:.04em;white-space:nowrap;pointer-events:none;background:0 0;flex:none;place-items:center;font-size:7px;transition:width .32s cubic-bezier(.34,1.56,.64,1),border-width 80ms,background .1s,box-shadow .1s,color .1s;display:grid;overflow:hidden}.px-slot.active{width:165px;color:var(--px-violet);box-shadow:0 0 0 2px var(--px-violet), 0 0 16px #a87bff99;background:#a87bff40;border-width:3px}.px-floater{font-family:var(--px-tiny);z-index:5;pointer-events:none;text-shadow:3px 3px #000;align-items:center;gap:6px;font-size:24px;display:flex;position:absolute;top:20%;left:50%;transform:translate(-50%)}.px-floater .n{color:var(--px-paper)}.px-floater .badge{background:var(--px-blue);color:#fff;width:28px;height:28px;box-shadow:inset 0 0 0 2px #7badff, inset 0 -2px 0 var(--px-blue-d);border:3px solid #000;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.px-active{flex-direction:column;align-items:center;gap:12px;padding:16px 24px 24px;display:flex}.px-active-card-wrap{align-items:center;gap:16px;display:flex}.px-card.active{cursor:grab;box-shadow:4px 4px 0 #000, 0 0 0 2px var(--px-gold);animation:1.6s ease-in-out infinite px-pulse}.px-card.active:hover{transform:translateY(-4px)}.px-card.active:active{cursor:grabbing}@keyframes px-pulse{0%,to{box-shadow:4px 4px 0 #000, 0 0 0 2px var(--px-gold)}50%{box-shadow:4px 4px 0 #000, 0 0 0 4px var(--px-gold), 0 0 16px #f5b94280}}.px-active-counter{font-family:var(--px-tiny);color:var(--px-paper);text-shadow:2px 2px #000;text-align:center;margin-top:6px;font-size:11px}.px-active-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.px-chip-btn{font-family:var(--px-tiny);cursor:pointer;border:3px solid #000;align-items:center;gap:6px;padding:10px 16px;font-size:12px;transition:transform 80ms;display:inline-flex}.px-chip-btn:active{transform:translateY(2px)}.px-chip-btn.skip{background:var(--px-panel-2);color:var(--px-paper);text-shadow:2px 2px #000;box-shadow:inset 0 0 0 2px var(--px-bevel-hi), inset 0 -3px 0 var(--px-bevel-lo)}.px-chip-btn.hint{background:var(--px-gold);color:#fff;text-shadow:2px 2px 0 var(--px-gold-d);box-shadow:inset 0 0 0 2px #ffd668, inset 0 -3px 0 var(--px-gold-d)}.px-chip-btn .icon{width:12px;height:12px;margin-right:2px}.px-chip-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.px-chip-btn .count{background:#0006;margin-left:2px;padding:3px 6px;font-size:11px}.px-deck{z-index:2;flex-direction:column;grid-area:deck;justify-content:space-between;align-items:center;gap:16px;padding:16px 8px;display:flex}.px-deckcell{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.px-deckcell .lbl{font-family:var(--px-tiny);color:var(--px-paper);text-shadow:1px 1px #000;text-align:center;letter-spacing:.04em;font-size:7px}.px-deckcell .v{font-family:var(--px-tiny);color:var(--px-paper);text-shadow:2px 2px #000;font-size:10px}.px-deckback{background:repeating-linear-gradient(45deg, var(--px-violet-2) 0 6px, var(--px-violet-d) 6px 12px);width:60px;height:84px;box-shadow:3px 3px 0 #000, 4px 4px 0 var(--px-violet-d), 7px 7px 0 #000;border:3px solid #000;place-items:center;display:grid;position:relative}.px-deckback .Λ{font-family:var(--px-tiny);color:#fff;text-shadow:2px 2px #000;font-size:22px}.px-deckback .border{pointer-events:none;border:2px solid #fff;position:absolute;inset:4px}.px-discardstack{width:60px;height:84px;font-family:var(--px-tiny);color:#ffffff80;text-align:center;letter-spacing:.04em;background:#0003;border:3px dashed #ffffff4d;place-items:center;padding:8px 4px;font-size:7px;line-height:1.4;display:grid;position:relative}.discard-card{font-family:var(--px-tiny);color:var(--px-red);text-shadow:2px 2px #000;flex-direction:column;align-items:center;gap:4px;font-size:18px;display:flex}.discard-card small{color:var(--px-paper);font-size:8px}.px-deck-mini{background:var(--px-paper);width:32px;height:40px;font-family:var(--px-tiny);color:var(--px-ink);border:2px solid #000;place-items:center;font-size:7px;display:grid;position:relative;box-shadow:2px 2px #000}.px-lives{justify-content:center;align-items:center;gap:6px;display:flex}.px-lives .heart-icon{filter:drop-shadow(2px 2px #000);flex:none;width:22px;height:22px}.px-lives .heart-icon.is-full{color:var(--px-red)}.px-lives .heart-icon.is-lost{color:var(--px-paper);opacity:.25}.px-drag{pointer-events:none;z-index:1000;position:fixed;transform:translate(-50%,-50%)rotate(-3deg)scale(1.06)}.px-erakey{font-family:var(--px-tiny);color:var(--px-paper);width:100%;box-shadow:inset 0 0 0 1px var(--px-bevel-hi);background:#0000004d;border:2px solid #000;flex-direction:column;align-items:stretch;gap:3px;padding:8px 6px;font-size:7px;display:flex}.px-erakey .row{text-shadow:1px 1px #000;align-items:center;gap:4px;display:flex}.px-erakey .swatch{border:1px solid #000;flex:none;width:8px;height:8px}.px-menu{width:100%;min-height:100vh;font-family:var(--px-font);color:var(--px-paper);image-rendering:pixelated;-webkit-font-smoothing:none;grid-template-rows:1fr auto auto;grid-template-areas:"header""nav""footer";place-items:center;padding:32px 16px;display:grid;position:relative;overflow:hidden}.px-menu-bg{background:radial-gradient(ellipse at center, var(--px-felt-2) 0%, var(--px-felt-1) 50%, var(--px-felt-3) 100%), repeating-linear-gradient(0deg, transparent 0 3px, #0000000f 3px 4px);background-blend-mode:multiply;z-index:0;position:absolute;inset:0}.px-menu>:not(.px-menu-bg){z-index:1;position:relative}.px-menu-header{text-align:center;flex-direction:column;grid-area:header;align-items:center;gap:16px;padding-top:48px;display:flex}.px-menu-logo .mark{background:var(--px-violet-2);width:72px;height:72px;box-shadow:inset 0 0 0 2px var(--px-violet), 0 6px 0 0 #000;border:4px solid #000;place-items:center;display:grid}.px-menu-logo .mark .Λ{font-family:var(--px-tiny);color:#fff;text-shadow:2px 2px #000;font-size:28px}.px-menu-title{font-family:var(--px-tiny);color:var(--px-gold);text-shadow:4px 4px 0 #000, 8px 8px 0 var(--px-gold-d);letter-spacing:.04em;margin:8px 0 0;font-size:clamp(40px,9vw,88px);line-height:1}.px-menu-tagline{font-family:var(--px-font);color:var(--px-paper);text-shadow:2px 2px #000;margin:4px 0 0;font-size:22px}.px-menu-tagstrip{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.px-menu-tagstrip .tag{font-family:var(--px-tiny);letter-spacing:.04em;background:var(--px-panel-2);color:var(--px-paper);box-shadow:inset 0 0 0 1px var(--px-bevel-hi), inset 0 -2px 0 var(--px-bevel-lo);border:2px solid #000;padding:4px 8px;font-size:8px}.px-menu-nav{grid-area:nav;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;width:100%;max-width:760px;padding:24px 0;display:grid}.px-menu-btn{text-align:left;cursor:pointer;font-family:var(--px-tiny);border:4px solid #000;grid-template:"icon label""icon desc"/auto 1fr;align-items:center;column-gap:12px;padding:14px 16px;text-decoration:none;transition:transform 80ms;display:grid;position:relative}.px-menu-btn .icon{grid-area:icon;align-self:center;width:24px;height:24px}.px-menu-btn .label{letter-spacing:.04em;color:#fff;text-shadow:2px 2px #000;grid-area:label;font-size:13px}.px-menu-btn .desc{font-family:var(--px-font);color:var(--px-paper);grid-area:desc;margin-top:2px;font-size:16px}.px-menu-btn .soon{letter-spacing:.06em;background:var(--px-red);color:#fff;text-shadow:1px 1px 0 var(--px-red-d);border:2px solid #000;padding:3px 6px;font-size:8px;position:absolute;top:-10px;right:8px;box-shadow:inset 0 0 0 1px #ff8080}.px-menu-btn-primary{background:var(--px-violet-2);box-shadow:inset 0 0 0 2px var(--px-violet), inset 0 -4px 0 var(--px-violet-d), 0 6px 0 0 #000}.px-menu-btn-primary:hover:not(.disabled){transform:translateY(-2px)}.px-menu-btn-primary:active:not(.disabled){box-shadow:inset 0 0 0 2px var(--px-violet), inset 0 -2px 0 var(--px-violet-d), 0 2px 0 0 #000;transform:translateY(2px)}.px-menu-btn-options{background:var(--px-panel-2);box-shadow:inset 0 0 0 2px var(--px-bevel-hi), inset 0 -3px 0 var(--px-bevel-lo), 0 4px 0 0 #000}.px-menu-btn-options:hover:not(.disabled){transform:translateY(-2px)}.px-menu-btn-options:active:not(.disabled){transform:translateY(2px)}.px-menu-btn.disabled{opacity:.55;cursor:not-allowed}.px-menu-footer{flex-wrap:wrap;grid-area:footer;justify-content:center;align-items:center;gap:12px;padding-top:16px;display:flex}.px-menu-link{font-family:var(--px-tiny);letter-spacing:.06em;color:var(--px-paper);text-shadow:1px 1px #000;box-shadow:inset 0 0 0 1px var(--px-bevel-hi);cursor:pointer;background:#00000040;border:2px solid #000;align-items:center;gap:6px;padding:6px 10px;font-size:9px;text-decoration:none;display:inline-flex}.px-menu-link:hover{color:var(--px-gold)}.px-menu-link .icon{width:12px;height:12px}.px-menu-copyright{font-family:var(--px-tiny);color:var(--px-paper-sh);text-shadow:1px 1px #000;margin-left:auto;font-size:8px}@media (max-width:640px){.px-menu{padding:16px 12px}.px-menu-header{padding-top:16px}.px-menu-copyright{text-align:center;width:100%;margin-left:0}}.px-logo{border-bottom:2px dashed #ffffff26;align-items:center;gap:6px;padding:4px 0 8px;display:flex}.px-logo .mark{background:var(--px-violet-2);width:22px;height:22px;box-shadow:inset 0 0 0 1px var(--px-violet);border:2px solid #000;place-items:center;display:grid}.px-logo .mark .Λ{font-family:var(--px-tiny);color:#fff;font-size:11px}.px-logo .word{font-family:var(--px-tiny);color:var(--px-paper);text-shadow:2px 2px #000;letter-spacing:.04em;font-size:11px}.px-logo .crumb{font-family:var(--px-tiny);color:#ffffff80;margin-left:auto;font-size:6px}
