:root{--bg:#0b0a0d;--panel:#16131a;--panel-2:#1f1a24;--line:#3a2f3f;--fg:#d9cfbf;--fg-dim:#8d8176;--lamp:#e2a94f;--blood:#b3302b;--ghost:#9fd3d6;--ok:#7fb58a;--display:"IM Fell English SC", Georgia, serif;--body:"IM Fell English", Georgia, serif;--mono:"Courier Prime", "Courier New", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{height:100%}html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);font-family:var(--body);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));-webkit-user-select:none;user-select:none;touch-action:none;margin:0;padding-block-start:0;padding-block-end:0;overflow:hidden}#app{box-sizing:border-box;flex-direction:column;gap:6px;max-width:980px;height:100%;margin:0 auto;padding-block-start:6px;padding-block-end:6px;display:flex}header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}h1{font-family:var(--display);letter-spacing:.04em;margin:0;font-size:1.35rem;font-weight:400}.stat{font-family:var(--mono);color:var(--fg-dim);font-size:.8rem}.stat b{color:var(--lamp);font-weight:400}#stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}canvas{max-width:100%;max-height:100%;image-rendering:pixelated;border:1px solid var(--line);background:#000}#patience{border:1px solid var(--line);background:#000;border-radius:3px;height:22px;position:relative;overflow:hidden}#patience i{background:var(--lamp);height:100%;transition:width .3s linear,background .3s;display:block}#patience span{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;text-shadow:0 0 4px #000,0 0 2px #000;justify-content:center;align-items:center;font-size:.74rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#patience.hunt{animation:.5s infinite alternate throb}@keyframes throb{0%{box-shadow:0 0 0 0 var(--blood)}to{box-shadow:0 0 12px 2px var(--blood)}}#readout{font-family:var(--mono);color:var(--ghost);text-shadow:0 0 6px #000,0 0 2px #000;pointer-events:none;max-width:70ch;min-height:1.2em;font-size:.78rem;position:absolute;bottom:8px;left:8px;right:8px}#toolbar{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.tool{background:var(--panel);border:1px solid var(--line);min-width:0;font-family:var(--mono);color:var(--fg-dim);cursor:pointer;text-align:left;border-radius:3px;flex:72px;padding:5px 6px;font-size:.72rem;line-height:1.25}.tool b{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-weight:400;display:block;overflow:hidden}.tool.on{border-color:var(--lamp);color:var(--lamp);background:var(--panel-2)}.tool.on b{color:var(--lamp)}.tool:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}button:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}#actions{gap:6px;display:flex}.btn{font-family:var(--display);letter-spacing:.05em;background:var(--panel-2);color:var(--fg);border:1px solid var(--line);cursor:pointer;border-radius:3px;padding:8px 14px;font-size:.95rem}.btn.primary{background:var(--lamp);color:#1a1208;border-color:var(--lamp)}.btn.danger{background:var(--blood);color:#fff;border-color:var(--blood)}.btn:disabled{opacity:.4;cursor:default}#bUse2{background:var(--lamp);color:#1a1208;width:74px;height:74px;font-family:var(--display);touch-action:none;z-index:2;border:0;border-radius:50%;font-size:1.05rem;display:none;position:absolute;bottom:10px;right:10px;box-shadow:0 0 0 3px #0009}#bUse2:active{transform:scale(.94)}#hint{font-family:var(--mono);color:var(--fg-dim);pointer-events:none;font-size:.68rem;display:none;position:absolute;top:8px;left:10px}@media (pointer:coarse){#bUse2{display:block}#bUse{display:none}#hint{display:block}#readout{font-size:.72rem;right:94px}#toolbar{scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;flex-wrap:nowrap;overflow-x:auto}#toolbar::-webkit-scrollbar{display:none}.tool{flex:none;min-height:44px;padding:6px 10px}.btn{min-height:44px}}@media (max-width:520px){h1{font-size:1.1rem}.stat{font-size:.72rem}#app{gap:5px;padding-block-start:4px;padding-block-end:4px}.card{padding:16px 14px}.card h2{font-size:1.3rem}.shop{grid-template-columns:1fr 1fr;gap:6px}.item{padding:8px}.item small{font-size:.74rem}.ghosts{grid-template-columns:1fr 1fr}}.overlay{padding:max(16px,env(safe-area-inset-left,0px));z-index:5;background:#050407eb;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.card{background:var(--panel);border:1px solid var(--line);box-sizing:border-box;width:100%;max-width:640px;max-height:100%;padding:22px 24px;overflow:auto}.card h2{font-family:var(--display);text-wrap:balance;margin:0 0 6px;font-size:1.6rem;font-weight:400}.card p{max-width:65ch;margin:.4em 0;line-height:1.5}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);font-size:.72rem}.shop{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:14px 0;display:grid}.item{background:var(--panel-2);border:1px solid var(--line);flex-direction:column;gap:4px;padding:10px;display:flex}.item b{font-family:var(--display);font-weight:400}.item small{color:var(--fg-dim);line-height:1.35}.item .row{font-family:var(--mono);justify-content:space-between;align-items:center;margin-top:auto;font-size:.8rem;display:flex}.item button{font-family:var(--mono);background:var(--lamp);color:#1a1208;cursor:pointer;border:0;border-radius:2px;padding:4px 10px;font-size:.78rem}.item button:disabled{background:var(--line);color:var(--fg-dim);cursor:default}.ev{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.chip{font-family:var(--mono);border:1px solid var(--line);background:var(--panel-2);color:var(--fg-dim);cursor:pointer;border-radius:2px;padding:5px 9px;font-size:.78rem}.chip.found{border-color:var(--ok);color:var(--ok)}.chip.ruled{border-color:var(--blood);color:var(--blood);text-decoration:line-through}.ghosts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.g{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;text-align:left;color:var(--fg);font-family:var(--body);padding:8px}.g b{font-family:var(--display);font-weight:400;display:block}.g small{font-family:var(--mono);color:var(--fg-dim);font-size:.68rem;line-height:1.4;display:block}.g.out{opacity:.28}.g:hover:not(.out){border-color:var(--lamp)}.kbd{font-family:var(--mono);color:var(--fg-dim);font-size:.74rem;line-height:1.6}.kbd code{border:1px solid var(--line);color:var(--fg);border-radius:2px;padding:0 4px}.dead h2{color:var(--blood);font-size:2.2rem}.won h2{color:var(--ok)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.card .actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.card h3{font-family:var(--display);letter-spacing:.03em;color:var(--lamp);margin:16px 0 4px;font-size:1.05rem;font-weight:400}.card ul{max-width:65ch;margin:.3em 0;padding-left:1.1em;line-height:1.5}.card li{margin:.25em 0}.card code{font-family:var(--mono);border:1px solid var(--line);border-radius:2px;padding:0 4px;font-size:.85em}.tools{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px;padding:0;list-style:none;display:grid}.tools li{font-size:.9rem;line-height:1.4}.price{font-family:var(--mono);color:var(--fg-dim);font-size:.75rem}.welcome{text-align:center}.welcome .title{letter-spacing:.06em;margin:4px 0 10px;font-size:2.6rem}.welcome .lede{color:var(--fg);font-size:1.1rem;font-style:italic}.welcome p{margin-left:auto;margin-right:auto}.welcome .actions{justify-content:center}#bHelp{font-family:var(--mono);margin-left:auto;padding-inline-start:12px;padding-inline-end:12px}.card.wide{max-width:1180px}.knobs{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px 10px;margin:10px 0;display:grid}.knobs label{font-family:var(--mono);color:var(--fg-dim);flex-direction:column;gap:2px;font-size:.7rem;display:flex}.knobs input{font-family:var(--mono);background:var(--panel-2);color:var(--fg);border:1px solid var(--line);border-radius:2px;min-width:0;padding:4px 6px;font-size:.8rem}.gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:14px;display:grid}.gallery figure{margin:0}.gallery canvas{border:1px solid var(--line);width:100%;height:auto;image-rendering:pixelated;display:block}.gallery figcaption{font-family:var(--mono);color:var(--fg-dim);margin-top:4px;font-size:.7rem}a.btn{align-items:center;text-decoration:none;display:inline-flex}
