@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-ext-400-normal-ChcxYnmu.woff2)format("woff2"),url(/assets/special-elite-latin-ext-400-normal-CaJZjSVf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2)format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#ece2c6;--paper-2:#e0d2ae;--ink:#2a2521;--stamp:#a52a1f;--pencil:#2e4a78}*{box-sizing:border-box}html,body{background:#0d0b09;height:100%;margin:0;overflow:hidden}body{color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-family:Special Elite,Courier New,Songti SC,STSong,Noto Serif CJK SC,SimSun,monospace;font-size:clamp(12px,1.25vw,18px)}#app{position:fixed;inset:0}#scene{touch-action:none;width:100%;height:100%;display:block}.layer{pointer-events:none;position:absolute;inset:0}.hidden{display:none!important}.strip{background:var(--paper);text-transform:uppercase;letter-spacing:.09em;clip-path:polygon(0 0,100% 0,calc(100% - 3px) 22%,100% 48%,calc(100% - 4px) 74%,100% 100%,0 100%,3px 78%,0 52%,4px 24%);filter:drop-shadow(0 2px 3px #00000080);background-image:linear-gradient(#8c64281a,#8c642800 35%,#3c280a1f);margin:0;padding:.42em .95em .22em;font-weight:400;line-height:1.3;display:inline-block}.strip.small{font-size:.8em}.strip.big{letter-spacing:.14em;font-size:1.7em}.strip b{font-size:1.25em;font-weight:400}.strip:nth-child(odd){transform:rotate(-.7deg)}.strip:nth-child(2n){transform:rotate(.5deg)translate(.4em)}.sheet{background:var(--paper-2);background-image:repeating-linear-gradient(#0000 0 1.9em,#3c280a21 1.9em calc(1.9em + 1px)),radial-gradient(at 20% 10%,#fffae680,#0000 60%);border:1px solid #3c280a66;flex-direction:column;align-items:flex-start;gap:.45em;padding:1em 1.3em 1.2em;display:flex;position:relative;box-shadow:0 10px 30px #0000008c,0 0 0 4px #e0d2ae40}.sheet-head{border-bottom:3px double var(--ink);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;justify-content:space-between;align-self:stretch;align-items:baseline;gap:2.5em;margin-bottom:.3em;padding-bottom:.35em;font-size:.72em;display:flex}.sheet-head span:first-child{letter-spacing:.3em;font-family:Georgia,Times New Roman,serif;font-size:1.5em;font-weight:700}.stamp{color:var(--stamp);border:3px double var(--stamp);text-transform:uppercase;letter-spacing:.14em;opacity:.9;background:#ece2c6d1;border-radius:4px;padding:.28em .7em .08em;display:inline-block;transform:rotate(-6deg)}.hint{letter-spacing:.16em;color:var(--paper);text-shadow:0 1px 3px #000;text-transform:uppercase;font-size:.7em}.sheet .hint{color:#2a2521b3;text-shadow:none}button{font:inherit;color:inherit;cursor:pointer;pointer-events:auto}.btn{background:var(--ink);color:var(--paper);border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.16em;padding:.55em 1.2em .35em;font-size:1.05em;transition:transform 80ms,box-shadow 80ms,background .12s;box-shadow:0 3px #00000073}.btn:hover{background:var(--stamp);border-color:var(--stamp)}.btn:active{transform:translateY(2px);box-shadow:0 1px #00000073}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{border-color:var(--ink);background:#2a25211f}button:focus-visible{outline:3px solid var(--pencil);outline-offset:3px}.hud-col{top:max(14px, env(safe-area-inset-top));flex-direction:column;gap:.35em;display:flex;position:absolute}.hud-col.left{align-items:flex-start;left:16px}.hud-col.right{align-items:flex-end;right:16px}#msg{text-align:center;opacity:0;max-width:90vw;font-size:1.15em;transition:opacity .25s,transform .25s;position:absolute;top:17%;left:50%;transform:translate(-50%,-8px)rotate(-.6deg)}#msg.on{opacity:1;transform:translate(-50%)rotate(-.6deg)}#weapon{left:16px;bottom:max(14px, env(safe-area-inset-bottom));transform-origin:0 100%;position:absolute;transform:rotate(.6deg)}#weapon.empty{color:var(--stamp)}#pips{letter-spacing:.02em;vertical-align:.15em;font-size:.7em}#weapon.pop{animation:.3s pop}#weapon.nope{animation:.25s nope}@keyframes pop{40%{transform:rotate(.6deg)scale(1.18)}}@keyframes nope{25%{transform:rotate(.6deg)translate(-6px)}75%{transform:rotate(.6deg)translate(6px)}}#fire{right:18px;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 3.4em);background:var(--stamp);border-color:var(--paper);touch-action:none;border-radius:50%;width:5.2em;height:5.2em;font-size:1.2em;display:none;position:absolute}.touch #fire{display:block}#touch-hint{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 2.9em);opacity:.85;display:none;position:absolute;left:50%;transform:translate(-50%)}.touch #touch-hint{display:inline-block}#corner{top:max(14px, env(safe-area-inset-top));flex-direction:column;align-items:flex-end;gap:.35em;max-width:calc(100vw - 32px);display:flex;position:absolute;right:16px}#xpbox{white-space:nowrap;transform:rotate(.8deg)}#step{transform:rotate(-.5deg)}.bar{vertical-align:middle;border:2px solid var(--ink);width:7em;height:.7em;margin-left:.6em;display:inline-block;transform:translateY(-.12em)}.bar i{background:repeating-linear-gradient(90deg, var(--ink) 0 4px, transparent 4px 6px);width:0;height:100%;transition:width .4s;display:block}#card{left:50%;bottom:max(3vh, env(safe-area-inset-bottom));align-items:center;gap:1.2em;max-width:96vw;display:flex;position:absolute;transform:translate(-50%)}.dossier{text-align:center;flex-direction:column;align-items:center;gap:.4em;min-width:min(30em,66vw);display:flex}.dossier .btn{margin-top:.35em}.arrow{background:var(--paper);border:2px solid var(--ink);flex:none;width:3.2em;height:3.2em;padding:.2em 0 0;font-size:1.2em;box-shadow:0 3px #00000073}.arrow:hover:not(:disabled){background:var(--ink);color:var(--paper)}.arrow:disabled{opacity:.35;cursor:default}#rotate-hint{display:none}@media (orientation:portrait){.touch #rotate-hint{display:block}.touch #m-hint{display:none}}.shake{animation:.35s shake}@keyframes shake{25%{transform:rotate(-6deg)translate(-8px)}50%{transform:rotate(-6deg)translate(8px)}75%{transform:rotate(-6deg)translate(-5px)}}#over,#pause{background:#0f0a056b;flex-direction:column;justify-content:center;align-items:center;gap:.6em;display:flex}#over .sheet{width:min(40em,92vw);font-size:1.05em;transform:rotate(-.8deg)}.ico{vertical-align:-.35em;flex:none;width:1.5em;height:1.5em;display:inline-block}.ico:empty{display:none}.ico svg{width:100%;height:100%;display:block}#msg .ico{margin-right:.5em}#over .summary{align-items:stretch;gap:.7em;width:min(36em,94vw);max-height:96vh;overflow-y:auto;transform:rotate(-.4deg)}.sum-cause{border-bottom:3px double var(--ink);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.6em;padding-bottom:.5em;display:flex}.sum-cause .ico{width:2.1em;height:2.1em}.sum-score{text-transform:uppercase;letter-spacing:.14em;align-items:baseline;gap:.5em;display:flex}.sum-score b{letter-spacing:.04em;font-size:3.1em;font-weight:400;line-height:1}.sum-record{color:var(--stamp);border:2px solid var(--stamp);align-items:center;gap:.35em;margin-left:auto;padding:.3em .6em .12em;font-size:.85em;display:inline-flex;transform:rotate(-3deg)}.tiles{grid-template-columns:repeat(4,1fr);gap:.5em;display:grid}.tile{background:var(--paper);border:2px solid var(--ink);text-align:center;flex-direction:column;align-items:center;gap:.15em;padding:.6em .3em .45em;display:flex}.tile .ico{width:2.3em;height:2.3em}.tile b{font-size:1.45em;font-weight:400}.tile small{letter-spacing:.12em;text-transform:uppercase;opacity:.78;font-size:.62em}.gauge-row{align-items:center;gap:.6em;display:flex}.gauge{border:2px solid var(--ink);background:#2a252114;flex:1;height:1.05em;position:relative}.gauge i{width:0;transition:width .6s ease-out;position:absolute;top:0;bottom:0;left:0}.gauge .fill{background:repeating-linear-gradient(90deg, var(--ink) 0 5px, transparent 5px 7px)}.gauge.beaten .fill,.gauge .gain{background:repeating-linear-gradient(90deg, var(--stamp) 0 5px, transparent 5px 7px)}.gauge .mark{background:var(--ink);width:3px;margin-left:-2px;transition:none;top:-5px;bottom:-5px}.gauge-label{letter-spacing:.07em;text-transform:uppercase;flex:0 0 46%;font-size:.72em}#sum-notes{flex-direction:column;gap:.35em;display:flex}.sum-note{background:var(--paper);border-left:4px solid var(--stamp);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.5em;padding:.4em .6em .25em;font-size:.85em;display:flex}@media (width<=520px){.tiles{grid-template-columns:repeat(2,1fr)}.gauge-row{flex-wrap:wrap}.gauge-label{flex-basis:100%;padding-left:2.1em}}.no-grain #grain,.no-grain #scratches,.no-grain #vignette{display:none}.actions{flex-wrap:wrap;gap:.8em;margin-top:.5em;display:flex}.actions.center{justify-content:center;margin-top:.1em}.btn.ghost.on-dark{background:var(--paper)}.btn.ghost.on-dark:hover{background:var(--paper-2)}.strip-btn{top:max(14px, env(safe-area-inset-top));border:0;position:absolute;left:16px;transform:rotate(-.8deg)}.strip-btn:hover{background-color:#fff6da}@media (width<=640px){.strip-btn{top:calc(max(14px, env(safe-area-inset-top)) + 5.4em)}}#settings{pointer-events:auto;background:#0f0a0599;justify-content:center;align-items:center;display:flex}#settings .sheet{gap:.7em;width:min(38em,94vw);max-height:96vh;overflow-y:auto;transform:rotate(-.5deg)}.set-row{text-transform:uppercase;letter-spacing:.09em;align-self:stretch;align-items:center;gap:.7em;min-height:3.1em;display:flex}.dots{border-bottom:2px dotted #2a252173;flex:1;min-width:1em;transform:translateY(.3em)}.keycap{color:#f2ead4;letter-spacing:.05em;text-transform:uppercase;background:radial-gradient(circle at 35% 28%,#57514a,#1d1a17 72%);border:3px solid #c9c3b2;border-radius:1.5em;flex:none;min-width:3em;height:3em;padding:.2em .6em 0;font-size:1em;transition:transform 70ms,box-shadow 70ms;box-shadow:0 0 0 2px #6f6a5e,0 4px #3a352e,0 7px 9px #00000073,inset 0 1px 2px #ffffff4d}.keycap.wide{padding:.2em 1.1em 0}.keycap:hover{border-color:#fff6da}.keycap:active{transform:translateY(3px);box-shadow:0 0 0 2px #6f6a5e,0 1px #3a352e,0 2px 4px #00000073,inset 0 1px 2px #ffffff4d}.keycap.listening{border-color:var(--stamp);color:#ffd9c9;animation:.7s steps(2,end) infinite listening}@keyframes listening{50%{box-shadow:0 0 0 2px var(--stamp), 0 4px 0 #3a352e, 0 0 14px #a52a1fcc}}.volume{align-items:center;gap:.28em;display:flex}.pip{border:2px solid var(--ink);background:0 0;width:.85em;height:1.7em;padding:0}.pip.on{background:var(--ink)}.volume.muted .pip.on{opacity:.3}.pip.mute{border-radius:50%;width:1.7em;margin-right:.4em;font-size:1em;line-height:1}.pip.mute.on{background:var(--stamp);border-color:var(--stamp);color:var(--paper)}.choice{flex-wrap:wrap;justify-content:flex-end;gap:.35em;display:flex}.choice button{border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.08em;background:0 0;padding:.4em .7em .2em}.choice button:hover{background:#2a25211f}.choice button.on{background:var(--ink);color:var(--paper)}@media (width<=520px){.set-row{flex-wrap:wrap;gap:.4em .7em}}#tag{pointer-events:auto;background:#0f0a05bd;flex-direction:column;justify-content:center;align-items:center;gap:.9em;display:flex}.plaque{aspect-ratio:1.8;color:#45453f;text-align:center;background-image:repeating-linear-gradient(100deg,#ffffff14 0 2px,#0000000d 2px 4px),linear-gradient(160deg,#dcdcd4 0%,#a9a9a1 38%,#cacac2 56%,#8c8c85 100%);border:2px solid #62625c;border-radius:50%;justify-content:space-between;align-items:center;gap:.6em;width:min(30em,92vw);padding:0 1.2em;display:flex;box-shadow:inset 0 2px 3px #ffffffbf,inset 0 -5px 9px #00000059,0 14px 30px #0009}.hole{background:#1a1612;border-radius:50%;flex:none;width:1.1em;height:1.1em;box-shadow:inset 0 2px 3px #000,0 1px #fff9}.plaque-body{flex-direction:column;flex:1;align-items:center;gap:.55em;min-width:0;display:flex}.plaque-top,.plaque-sub{letter-spacing:.24em;text-shadow:0 1px #ffffff8c;font-size:.72em}#tag-input,.plaque-name{width:100%;font:inherit;letter-spacing:.14em;text-transform:uppercase;text-align:center;color:#3a3a35;text-shadow:0 1px #ffffffa6,0 -1px #0000004d;caret-color:var(--stamp);-webkit-user-select:text;user-select:text;background:0 0;border:0;border-bottom:2px dashed #3c3c378c;border-radius:0;outline:none;padding:.12em 0 0;font-size:1.8em}#tag-input::placeholder{color:#3a3a3559;text-shadow:none}#tag-input:focus-visible{border-bottom-color:var(--stamp)}.plaque-name{border-bottom-color:#0000;animation:.5s cubic-bezier(.3,1.6,.6,1) engrave}@keyframes engrave{0%{opacity:0;filter:brightness(2);transform:scale(1.6)}}#tag-msg.error{color:var(--stamp)}#vignette{background:radial-gradient(#0000 52%,#140c0457 78%,#0c0702bd 100%)}#grain{opacity:.2;mix-blend-mode:overlay;background-size:160px 160px;animation:.5s step-end infinite grain;inset:-80px}@keyframes grain{0%{transform:translate(0)}12%{transform:translate(-31px,17px)}25%{transform:translate(22px,-44px)}37%{transform:translate(-58px,-9px)}50%{transform:translate(40px,33px)}62%{transform:translate(-12px,61px)}75%{transform:translate(63px,-27px)}87%{transform:translate(-45px,48px)}}#scratches i{opacity:0;background:#fffaeb21;width:1px;animation:5.3s step-end infinite scratch;position:absolute;top:0;bottom:0}#scratches i+i{animation-duration:7.9s;animation-delay:-3s}@keyframes scratch{0%{opacity:1;left:22%}3%{opacity:.6;left:22.4%}6%{opacity:0}41%{opacity:.8;left:71%}43%{opacity:1;left:70.7%}47%{opacity:0}78%{opacity:.7;left:48%}80%{opacity:0}}#fade{opacity:0;background:#0d0b09;transition:opacity .22s}#fade.on{opacity:1}@media (prefers-reduced-motion:reduce){#grain,#scratches i{animation:none}}@media (width<=640px){.sheet-head{letter-spacing:.1em;gap:1em}.hud-col.right{top:calc(max(14px, env(safe-area-inset-top)) + 5.4em);align-items:flex-start;left:16px;right:auto}}
