:root{--ink:#14121f;--pit:#0b0a10;--bone:#f4f1ea;--grey:#8a8a9a;--red:#e0424f;--red-deep:#7a1d26;--gold:#ffd23f;--moss:#9de08a;--gold-deep:#6b5410;--ember:#ff7a2f;--violet:#b03cff;--cyan:#5fd3e6;--pixel:"PressStart2P", ui-monospace, "Cascadia Mono", Consolas, monospace;--sans:"PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Noto Sans SC", "Microsoft YaHei", "Hiragino Sans GB", system-ui, sans-serif;--jolt:0px;--pad:clamp(18px, 2.6vw, 52px);--panel-bg:#14121fd6;--hair:#f4f1ea29;--out:cubic-bezier(.16, 1, .3, 1);--stepped:steps(6, end);--z-stage:0;--z-veil:10;--z-landing:20;--z-hint:30}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--pit);color:var(--bone);font-family:var(--sans);-webkit-font-smoothing:antialiased;cursor:default;margin:0;overflow:hidden}body.is-playing{cursor:none}h1,h2,p,dl,dd,dt,figure{margin:0}button{font:inherit;color:inherit;background:0 0;border:0}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(button,[tabindex]):focus-visible{outline:2px solid var(--cyan);outline-offset:3px}#stage{z-index:var(--z-stage);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}#stage canvas{image-rendering:pixelated;transform-origin:50%;filter:saturate(.86)brightness(.82)contrast(1.04);transition:filter .6s var(--out);display:block}body.is-playing #stage canvas{filter:none}#veil{z-index:var(--z-veil);pointer-events:none;transition:opacity .6s var(--out);background:linear-gradient(90deg,#08070de6 0%,#08070dbd 24%,#08070d57 44%,#08070d00 60%),linear-gradient(#08070db8 0%,#08070d42 22%,#08070d0a 42% 64%,#08070d66 88%,#08070db8 100%),radial-gradient(124% 96% at 50% 46%,#06050a00 44%,#06050a4d 78%,#06050a9e 100%);position:fixed;inset:0}#veil:after{content:"";opacity:.14;background-image:linear-gradient(#06050a00 0 50%,#06050a 50% 100%);background-size:100% 3px;position:absolute;inset:0}#veil:before{content:"";opacity:0;transition:opacity .9s var(--out);background:radial-gradient(90% 60% at 50% 60%,#e0424f29 0%,#e0424f00 62%);position:absolute;inset:0}body.is-boss #veil:before{opacity:1}body.is-playing #veil{opacity:0}#landing{z-index:var(--z-landing);padding:var(--pad);pointer-events:none;transition:opacity .42s var(--out), visibility .42s step-end;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}#landing :is(button,a,.panel){pointer-events:auto}body.is-playing #landing{opacity:0;visibility:hidden;pointer-events:none}.bar{justify-content:space-between;align-items:flex-start;gap:clamp(20px,3vw,64px);display:flex}.bar-bottom{grid-row:3;align-items:flex-end}.stamp{font-family:var(--pixel);letter-spacing:.14em;color:#f4f1eab8;text-shadow:0 2px #06050ad9;font-size:10px;line-height:1}.stamp span{color:var(--grey)}.hero{flex-direction:column;gap:clamp(14px,1.6vw,26px);max-width:46rem;display:flex}.wordmark{font-family:var(--pixel);letter-spacing:0;white-space:nowrap;color:var(--bone);text-shadow:0 .06em 0 var(--pit), 0 .12em 0 #06050a8c;transform:translate3d(var(--jolt), 0, 0);will-change:transform;font-size:clamp(1.35rem,5.4vw,3.9rem);font-weight:400;line-height:1}.wordmark>span{display:inline-block}.wordmark .sp{width:.5em}.pitch{flex-direction:column;gap:.5em;max-width:34rem;display:flex}.lede{letter-spacing:.03em;color:#f4f1eaf0;text-shadow:0 1px 3px #06050ae6;text-wrap:pretty;font-size:clamp(.98rem,1.28vw,1.24rem);line-height:1.7}.sub{letter-spacing:.05em;color:#f4f1eaa8;text-shadow:0 1px 3px #06050ae6;font-size:clamp(.84rem,1.02vw,.98rem);line-height:1.85}.fineprint{letter-spacing:.06em;color:#f4f1ea80;font-size:.78rem;line-height:1.7}.fineprint.notice{max-width:30rem;color:var(--gold);border-left:0;padding-top:.2em}.actions{flex-wrap:wrap;align-items:stretch;gap:14px;display:flex}.btn{letter-spacing:.12em;cursor:pointer;transition:transform .14s var(--out), box-shadow .14s var(--out), background-color .14s linear, color .14s linear;border-radius:0;align-items:center;gap:.7em;padding:.95em 1.7em;font-size:clamp(.9rem,1.05vw,1rem);font-weight:600;display:inline-flex;position:relative}.btn-go{background:var(--gold);color:var(--ink);box-shadow:0 4px 0 var(--gold-deep), 0 4px 0 1px #06050abf}.btn-go:hover{box-shadow:0 5px 0 var(--gold-deep), 0 5px 0 1px #06050abf;background:#ffe07a;transform:translateY(-1px)}.btn-go:active{box-shadow:0 1px 0 var(--gold-deep), 0 1px 0 1px #06050abf;transform:translateY(3px)}.btn-ghost{color:#f4f1ea9e;box-shadow:inset 0 0 0 1px var(--hair);cursor:not-allowed;background:#14121f99}.btn-ghost .tag{font-family:var(--pixel);letter-spacing:.1em;color:var(--pit);background:var(--grey);padding:.45em .6em;font-size:8px}.loading{align-items:center;gap:14px;height:14px;transition:opacity .32s linear;display:flex}.loading-rail{background:#f4f1ea1a;width:min(19rem,46vw);height:6px;display:block;position:relative;box-shadow:inset 0 0 0 1px #f4f1ea2e}.loading-rail i{background:var(--gold);width:0%;transition:width .18s linear;position:absolute;inset:0 auto 0 0}#loading-label{font-family:var(--pixel);letter-spacing:.12em;color:var(--grey);font-size:9px;font-weight:400}.panel{background:var(--panel-bg);box-shadow:inset 0 0 0 1px #06050ae6, 0 0 0 1px var(--hair), 4px 4px 0 #05040980;position:relative}.readout{width:min(23rem,40vw);font-family:var(--pixel);flex-direction:column;gap:12px;padding:14px 16px 12px;display:flex}.readout-head{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.readout-head h2{font-family:var(--sans);letter-spacing:.16em;color:#f4f1eae6;font-size:.82rem;font-weight:600}.live{letter-spacing:.16em;color:var(--red);align-items:center;gap:6px;font-size:8px;display:inline-flex}.live i{background:var(--red-deep);width:6px;height:6px;transition:background-color 90ms linear}.live i.is-on{background:var(--red);box-shadow:0 0 0 2px #e0424f38}.readout-grid{grid-template-columns:1fr 1fr;gap:10px 14px;display:grid}.cell{flex-direction:column;gap:5px;min-width:0;display:flex}.cell dt{letter-spacing:.14em;color:var(--grey);font-size:8px}.cell dd{color:var(--bone);align-items:center;gap:7px;font-size:12px;line-height:1.1;display:flex}.cell-weapon{grid-column:1/-1}.wslot{flex:none;width:18px;height:18px;display:block}.wslot .icon{width:100%;height:100%;display:block}.is-fresh{animation:pop .34s var(--stepped)}@keyframes pop{0%,40%{color:var(--gold);filter:brightness(1.35)}to{color:inherit;filter:none}}.meter{background:#06050ad9;flex:auto;min-width:46px;height:7px;display:block;position:relative;box-shadow:inset 0 0 0 1px #f4f1ea33}.meter:after{content:"";width:calc(var(--fill,100%) - 2px);background:var(--moss);transition:width .16s linear;position:absolute;inset:1px auto 1px 1px}.meter-boss:after{background:var(--red)}.boss{border-top:1px solid var(--hair);grid-template-columns:1fr auto;align-items:center;gap:6px 10px;padding-top:10px;display:grid}.boss-name{letter-spacing:.16em;color:var(--red);grid-column:1/-1;font-size:8px}.boss b{color:var(--bone);font-size:10px;font-weight:400}.readout-foot{border-top:1px solid var(--hair);letter-spacing:.12em;color:var(--grey);justify-content:space-between;gap:12px;padding-top:10px;font-size:8px;display:flex}.readout-foot b{color:#f4f1eacc;font-weight:400}.controls{flex:none;width:min(30rem,42vw);padding:14px 18px 16px}.controls-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.controls-head h2{font-family:var(--sans);letter-spacing:.2em;color:#f4f1eae6;font-size:.82rem;font-weight:600}.controls-toggle{font-family:var(--pixel);letter-spacing:.12em;color:var(--gold);cursor:pointer;padding:6px 8px;font-size:8px;display:none;box-shadow:inset 0 0 0 1px #ffd23f59}.controls-body{grid-template-columns:1fr 1fr;gap:18px;margin-top:14px;display:grid}.column{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.column h3{font-family:var(--pixel);letter-spacing:.14em;color:#f4f1eae0;margin:0;font-size:9px;font-weight:400}.dial{background:#06050a8c;grid-template-rows:repeat(3,auto);grid-template-columns:repeat(3,1fr);place-items:center;gap:2px 4px;padding:6px;display:grid;box-shadow:inset 0 0 0 1px #f4f1ea1a}.dial-slot{align-items:center;gap:4px;display:flex}.dial-up{flex-direction:column-reverse}.dial-down{flex-direction:column}.dial-left{flex-direction:row-reverse}.dial-slot .icon{width:30px;height:30px;display:block}.dial-key{font-family:var(--pixel);letter-spacing:.06em;color:var(--gold);white-space:nowrap;font-size:8px;font-weight:400}.column .note{font-family:var(--pixel);letter-spacing:.1em;color:var(--grey);font-size:8px}.legend{width:100%;font-family:var(--pixel);grid-template-columns:auto 1fr;gap:5px 10px;font-size:8px;line-height:1.2;display:grid}.legend dt{color:var(--grey);letter-spacing:.1em}.legend dd{color:#f4f1eaeb;letter-spacing:.06em;overflow-wrap:anywhere;margin:0}.exit-hint{z-index:var(--z-hint);letter-spacing:.14em;color:#f4f1ea9e;box-shadow:inset 0 0 0 1px var(--hair);pointer-events:none;background:#0b0a10b8;align-items:center;gap:8px;padding:8px 14px;font-size:.76rem;transition:opacity .5s linear;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.exit-hint b{font-family:var(--pixel);color:var(--pit);background:#f4f1eacc;padding:4px 6px;font-size:8px;font-weight:400}.exit-hint.is-faded{opacity:0}#landing.is-loading .wordmark{color:#f4f1ea47;text-shadow:none}#landing.is-loading :is(.pitch,.actions,.fineprint){opacity:0;transform:translateY(14px)}#landing.is-loading .readout{opacity:0;transform:translate(26px)}#landing.is-loading .controls{opacity:0;transform:translateY(26px)}#landing.is-loading .stamp{opacity:0}#landing:not(.is-loading) .loading{opacity:0;pointer-events:none}#landing:not(.is-loading) .wordmark>span{animation:ignite .42s var(--stepped) backwards}#landing:not(.is-loading) .wordmark>span:first-child{animation-delay:40ms}#landing:not(.is-loading) .wordmark>span:nth-child(2){animation-delay:90ms}#landing:not(.is-loading) .wordmark>span:nth-child(3){animation-delay:.14s}#landing:not(.is-loading) .wordmark>span:nth-child(4){animation-delay:.19s}#landing:not(.is-loading) .wordmark>span:nth-child(5){animation-delay:.24s}#landing:not(.is-loading) .wordmark>span:nth-child(7){animation-delay:.3s}#landing:not(.is-loading) .wordmark>span:nth-child(8){animation-delay:.35s}#landing:not(.is-loading) .wordmark>span:nth-child(9){animation-delay:.4s}#landing:not(.is-loading) .wordmark>span:nth-child(10){animation-delay:.45s}#landing:not(.is-loading) .wordmark>span:nth-child(11){animation-delay:.5s}#landing:not(.is-loading) .wordmark>span:nth-child(12){animation-delay:.55s}@keyframes ignite{0%{opacity:.2;color:var(--gold);transform:translateY(-.14em)}60%{opacity:1;color:var(--gold);transform:translateY(0)}to{opacity:1;color:var(--bone);transform:translateY(0)}}#landing .stamp,#landing .readout,#landing .controls,#landing .pitch,#landing .actions,#landing .fineprint{transition:opacity .6s var(--out), transform .6s var(--out)}#landing:not(.is-loading) .stamp{transition-delay:.62s}#landing:not(.is-loading) .pitch{transition-delay:.48s}#landing:not(.is-loading) .actions{transition-delay:.6s}#landing:not(.is-loading) .fineprint{transition-delay:.68s}#landing:not(.is-loading) .readout{transition-delay:.76s}#landing:not(.is-loading) .controls{transition-delay:.84s}@media (max-width:1180px){.controls{width:min(30rem,100%)}.bar-bottom{flex-direction:column;align-items:flex-start;gap:20px}.controls-toggle{display:inline-block}.controls-body{display:none}.controls.is-open .controls-body{display:grid}}@media (max-width:900px){.readout{width:min(20rem,58vw)}.hero{max-width:none}#veil{background:linear-gradient(#08070df2 0%,#08070de6 24%,#08070d1f 34% 50%,#08070dd1 58%,#08070df5 72%,#08070dfa 100%),radial-gradient(140% 70% at 50% 42%,#06050a00 40%,#06050a73 100%)}#stage canvas{margin-bottom:24vh}}@media (max-width:700px){#landing{grid-template-rows:auto 1fr auto;gap:12px}.bar-top{flex-direction:column;align-items:stretch;gap:10px}.readout{width:100%}.readout-grid{gap:8px 12px}.cell-weapon{grid-column:auto}.actions{gap:10px}.btn{flex:100%;justify-content:center}.controls{width:100%}.controls-body{grid-template-columns:1fr;gap:20px}.exit-hint{bottom:14px}}@media (max-height:560px){.sub,.fineprint:not(.notice){display:none}.hero{gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.12s!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.wordmark,#landing.is-loading :is(.pitch,.actions,.fineprint,.readout,.controls){transform:none}}.btn-demo{color:var(--bone);cursor:pointer;background:#14121fb8;box-shadow:inset 0 0 0 1px #5fd3e680}.btn-demo:hover{background:#5fd3e624}
