:root{--px:1;--ink:#2e222f;--night:#3e3546;--dusk:#625565;--aubergine:#45293f;--purple:#6b3e75;--violet:#905ea9;--lav:#a884f3;--pink:#eaaded;--paper:#c7dcd0;--white:#fff;--steel:#9babb2;--lilacgrey:#7f708a;--plumgrey:#694f62;--gold:#f9c22b;--brass:#fbb954;--bronze:#e6904e;--copper:#cd683d;--brick:#9e4539;--red:#e83b3b;--blood:#ae2334;--crimson:#831c5d;--flesh:#f04f78;--mint:#30e1b9;--teal:#0eaf9b;--ice:#8ff8e2;--clover:#1ebc73;--blue:#4d9be6;--sky:#8fd3ff;--cream:#fdcbb0}*{box-sizing:border-box}html,body{background:var(--ink);-webkit-user-select:none;user-select:none;height:100%;margin:0;overflow:hidden}#stage{image-rendering:pixelated;position:absolute}#canvas-host{position:absolute;inset:0}#ui{width:640px;height:360px;transform:scale(var(--px));transform-origin:0 0;pointer-events:none;color:var(--paper);-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;font-smooth:never;text-rendering:optimizespeed;font-family:m5x7,monospace;font-size:16px;line-height:10px;position:absolute;top:0;left:0}#ui *{pointer-events:none}#ui .interactive,#ui .interactive *{pointer-events:auto}.h{font-family:m6x11,monospace;font-size:18px;line-height:12px}.h2{font-family:m6x11,monospace;font-size:36px;line-height:24px}.title-font{font-family:Pixelify,monospace}.dim{color:var(--lilacgrey)}.picon{image-rendering:pixelated;vertical-align:middle;display:inline-block}.kw-value{color:var(--gold)}.kw-mult{color:var(--red)}.kw-xmult{color:var(--lav)}.kw-luck{color:var(--mint)}.kw-hunger{color:var(--flesh)}.kw-doom{color:var(--crimson);text-shadow:1px 0 var(--white), -1px 0 var(--white), 0 1px var(--white), 0 -1px var(--white)}.kw-bad{color:var(--red)}.kw-good{color:var(--clover)}.pframe{background:var(--night);border:1px solid var(--ink);box-shadow:inset 1px 1px 0 var(--dusk), inset -1px -1px 0 var(--aubergine), 0 0 0 1px var(--plumgrey);padding:4px;position:relative}.pframe-title{color:var(--brass);margin-bottom:4px;font-family:m6x11,monospace;font-size:18px;line-height:12px}.paper{background:var(--paper);color:var(--ink);box-shadow:inset 1px 1px 0 var(--white), inset -1px -1px 0 var(--steel), 0 0 0 1px var(--ink)}.pbtn{pointer-events:auto;cursor:pointer;color:var(--ink);background:var(--paper);box-shadow:inset 1px 1px 0 var(--white), inset -1px -1px 0 var(--steel), 0 0 0 1px var(--ink), 0 2px 0 1px var(--ink);white-space:nowrap;border:none;padding:2px 6px 3px;font-family:m5x7,monospace;font-size:16px;line-height:10px;position:relative;top:0}.pbtn:hover:not(:disabled){box-shadow:inset 1px 1px 0 var(--gold), inset -1px -1px 0 var(--steel), 0 0 0 1px var(--ink), 0 2px 0 1px var(--ink)}.pbtn:active:not(:disabled){box-shadow:inset 1px 1px 0 var(--steel), 0 0 0 1px var(--ink), 0 1px 0 1px var(--ink);top:1px}.pbtn:disabled{cursor:default;color:var(--lilacgrey);background:var(--dusk);box-shadow:inset 1px 1px 0 var(--lilacgrey), 0 0 0 1px var(--ink), 0 2px 0 1px var(--ink)}.pbtn-primary{background:var(--brass);box-shadow:inset 1px 1px 0 #fbff86, inset -1px -1px 0 var(--copper), 0 0 0 1px var(--ink), 0 2px 0 1px var(--ink)}.pbtn-gold{background:var(--gold)}.pbtn-danger{background:var(--red);color:var(--white);box-shadow:inset 1px 1px 0 #f68181, inset -1px -1px 0 var(--blood), 0 0 0 1px var(--ink), 0 2px 0 1px var(--ink)}.pbtn-ghost{background:var(--night);color:var(--paper);box-shadow:inset 1px 1px 0 var(--dusk), 0 0 0 1px var(--ink), 0 2px 0 1px var(--ink)}.pbar{background:var(--ink);gap:1px;height:5px;padding:1px;display:flex}.pbar span{background:var(--aubergine);flex:1}.topbar{background:var(--ink);border-bottom:1px solid var(--aubergine);align-items:center;gap:8px;width:640px;height:16px;padding:0 6px;display:flex;position:absolute;top:0;left:0}.logline{background:var(--ink);border-top:1px solid var(--aubergine);white-space:nowrap;width:640px;height:12px;color:var(--steel);padding:1px 6px;position:absolute;bottom:0;left:0;overflow:hidden}.receipt{width:118px;position:absolute;top:22px;bottom:18px;left:6px}.rightpanel{flex-direction:column;gap:6px;width:118px;display:flex;position:absolute;top:22px;bottom:18px;right:6px}.receipt-paper{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--ink), 2px 2px 0 1px var(--ink);padding:5px 6px 8px;position:relative;-webkit-mask:linear-gradient(#000,#000) top/100% calc(100% - 3px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/6px 3px repeat-x;mask:linear-gradient(#000,#000) top/100% calc(100% - 3px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/6px 3px repeat-x}.row{justify-content:space-between;align-items:center;gap:4px;display:flex}.col{flex-direction:column;gap:3px;display:flex}.sep{border-top:1px dashed var(--steel);margin:3px 0}.overlay{pointer-events:auto;background:#2e222fdb;justify-content:center;align-items:center;display:flex;position:absolute;inset:16px 0 12px}.card{background:var(--night);box-shadow:0 0 0 1px var(--ink), inset 1px 1px 0 var(--dusk), 3px 3px 0 1px var(--ink);padding:6px}.card.pick{cursor:pointer}.card.pick:hover{box-shadow:0 0 0 1px var(--gold), inset 1px 1px 0 var(--dusk), 3px 3px 0 1px var(--ink)}.tooltip{z-index:50;background:var(--ink);max-width:150px;color:var(--paper);box-shadow:0 0 0 1px var(--brass), 2px 2px 0 1px var(--ink);padding:3px 4px 4px;position:absolute;pointer-events:none!important}.toast{background:var(--brass);color:var(--ink);box-shadow:0 0 0 1px var(--ink), 2px 2px 0 1px var(--ink);padding:2px 6px 3px;position:absolute;top:22px;left:50%;transform:translate(-50%)}.blink{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.pulse{animation:.8s steps(2,end) infinite pulse}@keyframes pulse{50%{color:var(--gold)}}.throb{animation:1s ease-in-out infinite throb}@keyframes throb{50%{opacity:.6}}.tear{animation:.6s steps(6,end) forwards tear}@keyframes tear{to{opacity:0;transform:translateY(-40px)rotate(-6deg)}}.scroll{pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--dusk) var(--ink);overflow-y:auto}input[type=range]{pointer-events:auto;accent-color:var(--brass);width:90px;height:8px}textarea{pointer-events:auto;background:var(--ink);color:var(--paper);border:1px solid var(--dusk);resize:none;font-family:m5x7,monospace;font-size:16px;line-height:10px}.stamp{color:var(--red);border:1px solid var(--red);text-align:center;padding:0 2px 1px;font-size:16px;line-height:9px;transform:rotate(-2deg)}.stamp:nth-child(2n){transform:rotate(1.5deg)}.contract{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--ink), 3px 3px 0 1px var(--ink);padding:6px 8px 8px}.contract .fine{color:var(--blood)}.contract .boon{color:#165a4c}.asleep{opacity:.35;filter:grayscale()}.handwriting{color:var(--ink);font-family:Pixelify,monospace;font-size:13px;line-height:14px}.pip{background:var(--ink);width:6px;height:6px;box-shadow:0 0 0 1px var(--crimson);display:inline-block}.pip-on{background:var(--red);box-shadow:0 0 0 1px var(--white)}.cinema{z-index:50;justify-content:center;align-items:center;transition:background .6s;display:flex;position:absolute;inset:0;overflow:hidden}.shot{justify-content:center;align-items:center;animation:.4s both fadeIn;display:flex;position:absolute;inset:0}.cine-text{color:var(--paper);text-align:center;width:100%}.scene-abs .cine-text{position:absolute;left:0}.cine-skip{position:absolute;top:6px;right:6px}.cine-hint{text-align:center;width:100%;position:absolute;bottom:6px}.maw-line{color:var(--brass);text-align:center;font-size:16px;line-height:14px}.maw-dying{color:var(--red)}.fading{animation:fadeOut var(--shot-ms,4s) ease-in both;align-items:center;gap:6px}.fade-in{animation:.5s both fadeIn}.fade-in-late{animation:.8s 1.4s both fadeIn}.fade-out{animation:.8s 1s both fadeOut}.flicker-in{animation:.9s step-end 1.2s both flickerIn}.flicker-out{animation:.9s step-end .4s both flickerOut}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes flickerIn{0%{opacity:0}20%{opacity:1}30%{opacity:0}55%{opacity:1}65%{opacity:0}80%{opacity:1}to{opacity:1}}@keyframes flickerOut{0%{opacity:1}25%{opacity:0}40%{opacity:1}70%{opacity:0}80%{opacity:1}to{opacity:0}}.grins{background:var(--ink);box-shadow:0 0 0 2px var(--brass);grid-template-columns:repeat(5,34px);gap:1px;padding:3px;display:grid}.sign{text-align:center;width:300px;height:60px;font-size:48px;line-height:48px;position:relative}.sign span{position:absolute;top:6px;left:0;right:0}.sign-old{color:var(--sky);text-shadow:0 0 0 var(--blue), 2px 2px var(--blue)}.sign-new{color:var(--flesh);text-shadow:2px 2px var(--crimson)}.roll-in{animation:.9s ease-out both rollIn}@keyframes rollIn{0%{transform:translate(-320px)rotate(-720deg)}to{transform:translate(0)rotate(0)}}.glass{background:var(--night);width:420px;height:250px;box-shadow:0 0 0 6px var(--ink), 0 0 0 9px var(--crimson), inset 0 0 60px var(--ink);border-radius:40px;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:relative;overflow:hidden}.guest{background:var(--ink);width:18px;height:46px;box-shadow:0 -14px 0 -4px var(--ink);border-radius:9px 9px 2px 2px}.walk-in{animation:2.4s steps(12,end) both walkIn}@keyframes walkIn{0%{transform:translate(-220px)}to{transform:translate(0)}}.led-panel{background:var(--aubergine);box-shadow:0 0 0 3px var(--ink);flex-direction:column;gap:10px;min-width:320px;padding:16px 24px;display:flex}.led-text{color:var(--brass);text-align:center;font-size:32px;line-height:28px}.credits{position:absolute;inset:0;overflow:hidden}.credits-roll{width:100%;animation:creditsRoll var(--shot-ms,9s) linear both;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:100%}.credits-roll .gap{height:22px}.credits-led .credits-roll{color:var(--brass)}@keyframes creditsRoll{0%{transform:translateY(0)}to{transform:translateY(-560px)}}.scene-abs{touch-action:none;position:absolute;inset:0}.wall{background:var(--night)}.socket{background:var(--paper);width:26px;height:58px;box-shadow:0 0 0 2px var(--ink), inset 0 0 0 3px var(--steel);position:absolute}.cable{background:var(--ink);height:4px;box-shadow:0 1px 0 var(--dusk);position:absolute}.plug-slot{width:52px;height:52px;box-shadow:inset 0 0 0 1px var(--lilacgrey);justify-content:center;align-items:center;display:flex;position:absolute}.plug-piece{cursor:grab;position:absolute}.plug-assembled{background:var(--plumgrey);box-shadow:0 0 0 2px var(--ink);gap:0;padding:2px;display:flex;position:absolute}.dolores{color:var(--sky);letter-spacing:1px;font-style:italic}.dawn{color:var(--ink)}.shake-soft{animation:.4s steps(2,end) infinite ring;display:inline-block}@keyframes ring{0%{transform:translate(-1px)}to{transform:translate(1px)}}.flyer-btn{cursor:pointer;background:0 0;border:0;padding:0}.flyer-paper{background:var(--paper);color:var(--ink);text-align:center;width:260px;box-shadow:0 0 0 1px var(--ink), 3px 3px 0 var(--ink);align-items:center;gap:6px;padding:10px;transform:rotate(-1deg)}.flyer-photo{background:var(--steel);width:48px;height:56px;box-shadow:inset 0 0 0 2px var(--lilacgrey), inset 0 -18px 0 var(--dusk)}.dim-ink{color:var(--dusk)}@media (prefers-reduced-motion:reduce){.shake-soft{animation:none}}.silhouette{background:var(--plumgrey);image-rendering:pixelated;-webkit-mask-size:100% 100%;mask-size:100% 100%}.ach{box-shadow:inset 0 0 0 1px var(--dusk);opacity:.6;flex-direction:column;padding:2px 4px;display:flex}.ach-done{opacity:1;box-shadow:inset 0 0 0 1px var(--gold)}.ach-done .h{color:var(--gold)}.logo-chomp{animation:.5s steps(4,end) both logoChomp}@keyframes logoChomp{0%{transform:scaleY(1)}30%{transform:scaleY(.2)}60%{transform:scaleY(1.1)}to{transform:scaleY(1)}}.drawer-tab,.rotate-hint{display:none}.touch .drawer{z-index:8;transition:transform .15s ease-out}.touch .drawer-left:not(.open){transform:translate(-132px)}.touch .drawer-right:not(.open){transform:translate(132px)}.touch .drawer-tab{z-index:9;writing-mode:vertical-rl;font:inherit;color:var(--paper);background:var(--night);box-shadow:0 0 0 1px var(--ink), inset 0 0 0 1px var(--dusk);border:0;padding:10px 2px;display:block;position:absolute;top:150px}.touch .drawer-tab-left{left:0}.touch .drawer-tab-right{right:0}.touch.portrait .rotate-hint{z-index:100;background:var(--ink);color:var(--brass);text-align:center;pointer-events:auto;justify-content:center;align-items:center;font-size:32px;line-height:28px;display:flex;position:absolute;inset:0}.title-logo{z-index:1;line-height:0;position:relative}.trailer #ui{display:none}
