:root{--ink:#14130e;--paper:#f4ecd6;--red:#e2462c;--mustard:#ffd23e;--blue:#3d8cf0;--muted:#b9b4a6;--b1:#5fa349;--b2:#edb92a;--b3:#ee7a2b;--b4:#de4530;--f-display:"Dela Gothic One", "Arial Black", Impact, sans-serif;--f-body:"IBM Plex Sans", system-ui, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--f-arcade:"Press Start 2P", "IBM Plex Mono", monospace;--u:clamp(9px, 1.15vw, 17px)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--paper);font-family:var(--f-body);-webkit-font-smoothing:antialiased;background:#0c0b09;margin:0;overflow:hidden}#app{position:fixed;inset:0}#c{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;-webkit-user-select:none;user-select:none;font-size:var(--u);position:absolute;inset:0}button{font:inherit;color:inherit}#hud{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.05em;font-weight:600;line-height:1.2;position:absolute;inset:0}.hp{flex-direction:column;gap:.45em;display:flex;position:absolute}.tl{align-items:flex-start;top:1.3em;left:1.3em}.tc{align-items:center;top:1.3em;left:50%;transform:translate(-50%)}.tr{align-items:flex-end;top:1.3em;right:1.3em}.bl{align-items:flex-start;bottom:1.3em;left:1.3em}.bc{align-items:center;bottom:1.3em;left:50%;transform:translate(-50%)}.br{align-items:flex-end;bottom:1.3em;right:1.3em}.plate{background:var(--ink);white-space:nowrap;padding:.4em .7em;box-shadow:.25em .25em #00000080}.plate.clock,.plate.pts{font-family:var(--f-arcade);letter-spacing:0;padding:.45em .6em .35em;font-size:1.15em;font-weight:400}.plate.pts{color:var(--mustard);font-size:1em}.plate.note{background:var(--mustard);color:var(--ink)}.strikes{gap:.4em;display:flex}.strikes i{width:1.45em;height:1.45em;box-shadow:0 0 0 .16em var(--paper);background:radial-gradient(circle at 35% 30%,#a39f93,#2a2924 70%);border-radius:50%}.strikes i.off{box-shadow:inset 0 0 0 .16em var(--paper);opacity:.5;background:0 0}.bar{width:13em;height:.85em;box-shadow:0 0 0 .16em var(--ink);background:#14130ecc}.bar span{background:var(--paper);height:100%;transition:width .12s linear;display:block}.bar.red span{background:var(--red)}.bar.blue span{background:var(--blue)}.bar.thin{width:9em;height:.5em}.bar.wide{width:22em;max-width:46vw}.bar.night{width:15em;height:.45em}.bar.dim{opacity:.35}.bossbar{align-items:center;gap:.6em;margin-top:.2em;display:flex}.rowc{align-items:stretch;gap:.5em;display:flex}.rowc .plate{align-items:center;display:flex}.heat{align-items:flex-end;gap:.35em;display:flex}.heat em{align-self:center;margin-right:.4em;font-style:normal}.heat i{width:.5em;height:1.6em;box-shadow:inset 0 0 0 .13em var(--paper);opacity:.55}.heat i.on{background:var(--red);box-shadow:none;opacity:1}.tempo{align-items:flex-end;gap:.3em;height:1.8em;display:flex}.tempo i{opacity:.3;width:2.3em;height:.8em;box-shadow:0 0 0 .13em var(--ink)}.tempo i.on{opacity:1}.tempo i.cur{height:1.7em;box-shadow:0 0 0 .13em var(--ink), 0 0 0 .34em var(--paper)}.tempo i.b1{background:var(--b1)}.tempo i.b2{background:var(--b2)}.tempo i.b3{background:var(--b3)}.tempo i.b4{background:var(--b4)}.tempo.up{animation:.3s tup}.tempo.down{animation:.35s tdown}@keyframes tup{30%{transform:scale(1.18)}}@keyframes tdown{25%{transform:translate(-.5em)}60%{transform:translate(.4em)}}.mini{background:var(--ink);width:11em;padding:.35em;box-shadow:.25em .25em #00000080}.mini svg{width:100%;height:auto;display:block}#floats{position:absolute;inset:0;overflow:hidden}.float{font-family:var(--f-mono);letter-spacing:.04em;white-space:nowrap;text-shadow:.1em .1em 0 var(--ink), -.06em -.06em 0 var(--ink), .06em -.06em 0 var(--ink), -.06em .06em 0 var(--ink);font-size:1em;font-weight:600;animation:.9s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}.float.big{font-family:var(--f-display);font-size:1.7em;font-weight:400;animation-duration:1.15s}@keyframes rise{0%{opacity:1;margin-top:0}70%{opacity:1}to{opacity:0;margin-top:-4.5em}}#banner{font-family:var(--f-display);color:var(--mustard);white-space:nowrap;text-shadow:.07em .07em 0 var(--ink), -.03em -.03em 0 var(--ink), .03em -.03em 0 var(--ink), -.03em .03em 0 var(--ink);font-size:4.4em;line-height:1;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}#banner.pop{animation:1.25s ease-out forwards pop}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(-3deg)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.12)rotate(-2deg)}22%{transform:translate(-50%,-50%)scale(1)rotate(-2deg)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-62%)scale(1)rotate(-2deg)}}#card{flex-direction:column;align-items:flex-start;gap:.4em;display:flex;position:absolute;bottom:22%;left:3em}#card b{font-family:var(--f-display);color:var(--paper);text-shadow:.07em .07em 0 var(--ink);font-size:3.2em;font-weight:400;line-height:1}#card span{font-family:var(--f-mono);background:var(--paper);color:var(--ink);text-transform:uppercase;letter-spacing:.08em;padding:.3em .7em;font-weight:600}#card.in{animation:2.4s ease-out forwards cardin}@keyframes cardin{0%{opacity:0;transform:translate(-2em)}10%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}#hint{font-family:var(--f-mono);white-space:nowrap;border-left:.3em solid var(--mustard);background:#14130ed1;padding:.45em .9em;font-size:.95em;position:absolute;bottom:7.2em;left:50%;transform:translate(-50%)}#screen{pointer-events:auto;-webkit-user-select:none;user-select:none;font-size:clamp(13px,1.05vw,16px);display:flex;position:absolute;inset:0;overflow-y:auto}#screen[hidden]{display:none}#screen.dim{background:#0c0b09db;justify-content:center;align-items:flex-start;padding:3vh 16px}#screen.side{background:linear-gradient(90deg,#0c0b0900 0%,#0c0b098c 38%,#0c0b09ed 56%);justify-content:flex-end}#screen.title{background:#14130e 50%/cover no-repeat;align-items:center}#screen.title.art{background-image:linear-gradient(90deg,#14130ef7 0%,#14130ee6 34%,#14130e59 62%,#14130e00 80%),url(/art/title.jpg)}.center{flex-direction:column;align-items:center;gap:14px;margin:auto;display:flex}.title-in{flex-direction:column;align-items:flex-start;gap:14px;max-width:620px;margin-left:clamp(16px,6vw,110px);padding:24px 0;display:flex}.logo{font-family:var(--f-display);color:var(--paper);text-shadow:.045em .045em 0 var(--red);margin:0;font-size:clamp(54px,9.5vw,150px);font-weight:400;line-height:.9}.tag{font-family:var(--f-display);background:var(--paper);color:var(--ink);box-shadow:.2em .2em 0 var(--red);margin:0;padding:.3em .6em;font-size:clamp(16px,1.9vw,28px);line-height:1.25}.kicker{font-family:var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mustard);margin:0;font-size:12px;font-weight:600}.lead{font-family:var(--f-mono);margin:0}.keys{font-family:var(--f-mono);color:var(--muted);max-width:560px;font-size:12.5px;line-height:1.7}.keys b{color:var(--ink);background:var(--paper);padding:0 .4em;font-weight:600}.col{flex-direction:column;align-items:stretch;gap:8px;min-width:min(360px,100%);display:flex}.btn{text-align:left;background:var(--ink);border:2px solid var(--paper);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:10px 14px;display:flex}.btn b{font-family:var(--f-mono);letter-spacing:.07em;text-transform:uppercase;font-size:14px;font-weight:600}.btn span{color:var(--muted);font-size:12.5px;line-height:1.35}.btn:hover:not(.off){background:var(--paper);color:var(--ink)}.btn:hover:not(.off) span{color:#4a483f}.btn.primary{background:var(--red);border-color:var(--red)}.btn.primary span{color:#ffd9cf}.btn.primary:hover:not(.off){background:var(--mustard);border-color:var(--mustard);color:var(--ink)}.btn.off{opacity:.4;cursor:default}.btn.small{padding:6px 10px}.btn.small b{font-size:12px}h2{font-family:var(--f-display);margin:0;font-size:clamp(24px,3vw,40px);font-weight:400;line-height:1.08}h2 small{font-family:var(--f-mono);color:var(--muted);letter-spacing:.04em;font-size:13px;font-weight:500}h3{font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mustard);margin:0;font-size:12px;font-weight:600}.text{color:#e1dbc8;max-width:62ch;margin:0;font-size:15px;line-height:1.55}.text b{color:var(--paper)}.muted{color:var(--muted);font-size:13px}.dialog{background:var(--ink);border:2px solid var(--paper);grid-template-columns:minmax(0,5fr) minmax(0,6fr);width:min(1000px,100%);margin:auto;display:grid;box-shadow:10px 10px #00000080}.dialog.wide{width:min(1120px,100%)}.dialog .art{border-right:2px solid var(--paper);background:#2a2924 50%/cover no-repeat;min-height:340px}.dialog .body{flex-direction:column;gap:14px;min-width:0;padding:22px 24px 24px;display:flex}.dialog:not(:has(.art)){grid-template-columns:minmax(0,1fr);width:min(620px,100%)}.stats{border:1px solid #4a483f;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid}.stats div{border-bottom:1px solid #4a483f;border-right:1px solid #4a483f;min-width:0;padding:7px 10px}.stats dt{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.stats dd{font-family:var(--f-mono);margin:2px 0 0;font-size:14px;font-weight:600}.stats.tight{grid-template-columns:repeat(6,auto)}.reward{flex-direction:column;align-items:flex-start;gap:14px;width:min(980px,100%);margin:auto;display:flex}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;display:grid}.favor{text-align:left;background:var(--ink);border:2px solid var(--paper);cursor:pointer;flex-direction:column;min-width:0;padding:0;transition:transform .1s;display:flex}.favor:hover{transform:translateY(-4px)rotate(-.6deg);box-shadow:8px 8px #00000080}.favor .hd{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--paper);color:var(--ink);justify-content:space-between;gap:8px;padding:7px 12px;font-size:11.5px;font-weight:600;display:flex}.favor.r1 .hd{background:var(--blue);color:#fff}.favor.r2 .hd{background:var(--mustard);color:var(--ink)}.favor .bd{flex-direction:column;gap:8px;padding:14px;display:flex}.favor .bd b{font-family:var(--f-display);font-size:22px;font-weight:400;line-height:1.1}.favor .bd p{color:#d6d0bd;margin:0;font-size:14px;line-height:1.45}.favor .slot{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.favor .warn{font-family:var(--f-mono);color:var(--mustard)!important;font-size:12px!important}.chip{font-family:var(--f-mono);border:1.5px solid var(--paper);margin:0 6px 6px 0;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.chip.r1{border-color:var(--blue);color:#a9cdfb}.chip.r2{border-color:var(--mustard);color:var(--mustard)}.mapscreen{flex-direction:column;gap:12px;width:min(1080px,100%);margin:auto;display:flex}.maphead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.wallmap{background:var(--ink);border:2px solid var(--paper);flex-direction:column;gap:4px;padding:12px 12px 8px;display:flex;overflow-x:auto}.wallmap .row{grid-template-columns:22px repeat(14,minmax(38px,1fr)) 150px;align-items:stretch;gap:4px;min-width:760px;display:grid}.rn,.bn{font-family:var(--f-mono);color:var(--muted);align-items:center;font-size:12px;font-weight:600;display:flex}.bn{color:var(--paper);padding-left:8px}.brick{justify-content:center;align-items:center;height:38px;display:flex;position:relative}.brick.b1{background:var(--b1)}.brick.b2{background:var(--b2)}.brick.b3{background:var(--b3)}.brick.b4{background:var(--b4)}.brick em{font-style:normal;font-family:var(--f-mono);background:var(--paper);color:var(--ink);place-items:center;width:20px;height:20px;font-size:13px;font-weight:600;display:grid}.brick small{font-family:var(--f-mono);color:var(--ink);background:var(--mustard);padding:0 3px;font-size:10px;font-weight:600;position:absolute;bottom:0;right:2px}.brick.done{background:0 0;box-shadow:inset 0 0 0 2px #4a483f}.brick.done em{color:var(--muted);background:0 0}.brick.cur{box-shadow:inset 0 0 0 3px var(--blue);background:#3d8cf040}.brick.lock{filter:saturate(.3)brightness(.6)}.brick.opt{cursor:pointer;outline:3px solid var(--paper);outline-offset:-1px;z-index:1;animation:1.1s infinite optp}.brick.opt:hover{outline-color:var(--mustard);transform:scale(1.08)}@keyframes optp{50%{outline-color:var(--mustard)}}.legend{font-family:var(--f-mono);color:var(--muted);flex-wrap:wrap;gap:4px 14px;padding-top:6px;font-size:11.5px;display:flex}.legend em{background:var(--paper);color:var(--ink);margin-right:5px;padding:0 5px;font-style:normal;font-weight:600}.row-btns{flex-wrap:wrap;gap:8px;display:flex}.info{min-height:1.5em}.hub{border-left:2px solid var(--paper);background:#14130ee6;flex-direction:column;gap:16px;width:min(600px,100%);min-height:100%;padding:22px 22px 40px;display:flex}.hub section{flex-direction:column;gap:8px;display:flex}.hub .line{border-top:1px solid #3a382f;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding-top:8px;display:flex}.hub .line>div{min-width:0}.hub .line b{font-size:14.5px}.hub .line p{color:var(--muted);margin:2px 0 0;font-size:12.5px;line-height:1.4}.hub input[type=text]{font:600 14px var(--f-mono);background:var(--ink);color:var(--paper);border:2px solid var(--paper);width:150px;padding:6px 8px}.pips{font-family:var(--f-mono);color:var(--mustard);letter-spacing:.15em;white-space:nowrap}.pause{background:var(--ink);border:2px solid var(--paper);flex-direction:column;gap:12px;width:min(560px,100%);margin:auto;padding:22px;display:flex}@media (max-width:760px){.dialog{grid-template-columns:minmax(0,1fr)}.dialog .art{border-right:0;border-bottom:2px solid var(--paper);min-height:180px}.cards{grid-template-columns:minmax(0,1fr)}.stats.tight{grid-template-columns:repeat(3,auto)}#banner{font-size:2.6em}.hub{border-left:0}}
