:root{--dt-bg:#03050c;--dt-ink:#e8f6ff;--dt-accent:#19f2c4;--dt-accent-ink:#02110d;--dt-alt:#ff3df0;--dt-dim:#8fa7bd;--dt-font:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, Menlo, monospace;--dt-body:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, Menlo, monospace;--dt-radius:6px;--pw-glass:#040812c7;--pw-line:#e8f6ff2e;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}#ui{font-family:var(--dt-body);color:var(--dt-ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}#ui[data-hidden="1"] .hud,#ui[data-hidden="1"] .bar,#ui[data-hidden="1"] .toasts{opacity:0;pointer-events:none}#ui button{font:inherit;color:inherit}#ui [hidden]{display:none!important}#ui[data-title="1"] .lanes,#ui[data-title="1"] .keys,#ui[data-title="1"] .gamehud,#ui[data-play="1"] .hud .sub{display:none}.pw-btn{all:unset;box-sizing:border-box;cursor:pointer;min-width:44px;min-height:44px;font:700 13px/1 var(--dt-font);letter-spacing:.08em;text-transform:uppercase;text-align:center;background:var(--pw-glass);border:1px solid var(--pw-line);border-radius:var(--dt-radius);-webkit-backdrop-filter:blur(6px);pointer-events:auto;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.pw-btn:hover{border-color:var(--dt-accent)}.pw-btn:is(:focus-visible,.pad-focus){outline:3px solid var(--dt-ink);outline-offset:1px}.pw-btn[aria-pressed=true],.pw-btn.on{background:color-mix(in srgb, var(--dt-accent) 28%, var(--pw-glass));border-color:var(--dt-accent);color:var(--dt-ink)}.pw-btn.go{background:var(--dt-accent);color:var(--dt-accent-ink);border-color:#0000}.hud{top:calc(10px + var(--safe-t));left:calc(12px + var(--safe-l));right:calc(12px + var(--safe-r));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;transition:opacity .25s;display:flex;position:absolute}.hud .name{font:800 clamp(15px, 2.4vmin, 22px)/1.1 var(--dt-font);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 12px #19f2c48c,0 1px #000}.hud .sub{font:500 clamp(11px, 1.6vmin, 14px)/1.3 var(--dt-body);color:var(--dt-dim);text-shadow:0 1px 2px #000;max-width:min(46ch,60vw);margin-top:4px}.hud .tag{border:1px solid var(--pw-line);letter-spacing:.1em;text-transform:uppercase;color:var(--dt-accent);background:#00000059;border-radius:3px;margin-right:6px;padding:1px 6px;font-size:10px;display:inline-block}.hud .right{text-align:right;font:600 clamp(11px, 1.6vmin, 14px)/1.4 var(--dt-body);color:var(--dt-dim);text-shadow:0 1px 2px #000}.hud .right b{color:var(--dt-ink)}.bar{left:calc(10px + var(--safe-l));right:calc(10px + var(--safe-r));bottom:calc(10px + var(--safe-b));pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;transition:opacity .25s;display:flex;position:absolute}.bar .grow{flex:none}.toasts{top:calc(64px + var(--safe-t));pointer-events:none;justify-items:center;gap:6px;width:min(92vw,520px);transition:opacity .25s;display:grid;position:absolute;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--dt-accent);border-radius:var(--dt-radius);background:var(--pw-glass);font:600 13px/1.3 var(--dt-body);text-align:center;padding:8px 14px;animation:3.2s forwards pw-toast}@keyframes pw-toast{0%{opacity:0;transform:translateY(-6px)}8%{opacity:1;transform:none}85%{opacity:1}to{opacity:0}}.panel{padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));pointer-events:auto;z-index:20;background:#0103088c;place-items:center;display:grid;position:absolute;inset:0}.panel .card{box-sizing:border-box;border:1px solid var(--pw-line);background:#040812f0;border-radius:10px;align-content:start;gap:12px;width:min(980px,100%);max-height:100%;padding:16px 18px;display:grid;overflow-y:auto;box-shadow:0 0 40px #19f2c41f}.panel.small .card{width:min(560px,100%)}.panel h2{font:800 clamp(15px, 2.6vmin, 20px)/1.1 var(--dt-font);letter-spacing:.14em;text-transform:uppercase;color:var(--dt-accent);margin:0}.panel h3{font:700 12px/1 var(--dt-font);letter-spacing:.2em;text-transform:uppercase;color:var(--dt-alt);margin:6px 0 0}.panel .head{z-index:2;background:#040812f5;justify-content:space-between;align-items:center;gap:10px;padding:4px 0 8px;display:flex;position:sticky;top:-16px}.panel p{font:500 13px/1.45 var(--dt-body);color:var(--dt-dim);margin:0}.panel p b{color:var(--dt-ink)}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.tile{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--pw-line);background:#ffffff08;border-radius:6px;align-content:start;gap:3px;min-height:74px;padding:9px 44px 9px 11px;display:grid;position:relative}.tile:hover{border-color:var(--dt-accent)}.tile:is(:focus-visible,.pad-focus){outline:3px solid var(--dt-ink);outline-offset:1px}.tile.cur{border-color:var(--dt-accent);background:color-mix(in srgb, var(--dt-accent) 14%, transparent)}.tile b{font:700 13px/1.2 var(--dt-font);letter-spacing:.06em;text-transform:uppercase}.tile small{font:500 11px/1.3 var(--dt-body);color:var(--dt-dim)}.tile em{font:600 10px/1 var(--dt-body);letter-spacing:.12em;text-transform:uppercase;color:var(--dt-accent);font-style:normal}.tile .seen{background:var(--dt-accent);width:7px;height:7px;box-shadow:0 0 6px var(--dt-accent);border-radius:50%;position:absolute;bottom:8px;right:9px}.cell{display:grid;position:relative}.cell .star{all:unset;box-sizing:border-box;width:44px;height:44px;color:var(--dt-dim);cursor:pointer;place-items:center;font-size:18px;display:grid;position:absolute;top:0;right:0}.cell .star.on{color:#ffd23f;text-shadow:0 0 8px #ffd23f}.row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.field{font:600 13px/1.3 var(--dt-body);grid-template-columns:minmax(120px,190px) 1fr;align-items:center;gap:8px 12px;display:grid}.field>span:first-child{color:var(--dt-dim)}.seg{flex-wrap:wrap;gap:6px;display:inline-flex}.field input[type=range]{width:100%;min-height:44px;accent-color:var(--dt-accent)}.note{border-left:3px solid var(--dt-alt);font:500 12px/1.4 var(--dt-body);color:var(--dt-ink);background:#ff3df012;padding:8px 10px}.lanes{left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));bottom:calc(var(--bar-h,52px) + 16px + var(--safe-b));pointer-events:none;grid-template-columns:repeat(5,1fr);gap:6px;height:clamp(64px,20vh,150px);display:grid;position:absolute}.lane{all:unset;box-sizing:border-box;touch-action:none;pointer-events:auto;cursor:pointer;border:1px solid color-mix(in srgb, var(--lane) 55%, transparent);background:color-mix(in srgb, var(--lane) 8%, #02040a80);color:var(--lane);font:800 clamp(12px, 3.2vmin, 18px)/1 var(--dt-font);letter-spacing:.1em;border-radius:8px;place-items:end center;padding-bottom:6px;display:grid}.lane.down{background:color-mix(in srgb, var(--lane) 38%, #02040a80);box-shadow:0 0 18px var(--lane)}.keys{left:calc(8px + var(--safe-l));right:calc(8px + var(--safe-r));bottom:calc(var(--bar-h,52px) + 16px + var(--safe-b));pointer-events:none;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;height:clamp(60px,18vh,130px);display:grid;position:absolute}.key{all:unset;box-sizing:border-box;touch-action:none;pointer-events:auto;cursor:pointer;border:1px solid var(--pw-line);font:700 12px/1 var(--dt-font);color:var(--dt-dim);background:#e8f6ff12;border-radius:6px;place-items:end center;padding-bottom:6px;display:grid}.key.down{background:color-mix(in srgb, var(--dt-accent) 45%, #02040a80);color:var(--dt-ink);box-shadow:0 0 14px var(--dt-accent)}.keys.eph{grid-template-rows:1fr;grid-template-columns:repeat(9,1fr);grid-auto-flow:row}.kb{box-sizing:border-box;pointer-events:none;border:1px solid var(--pw-line);font:700 clamp(12px, 2.4vmin, 16px)/1 var(--dt-font);color:var(--dt-dim);opacity:1;will-change:opacity, transform;background:#e8f6ff17;border-radius:6px;grid-row:1;place-items:end center;padding-bottom:6px;transition:opacity 70ms linear,transform 70ms ease-out;animation:.11s ease-out pw-kb-in;display:grid;position:relative;transform:none}.kb:after{content:"";border-radius:inherit;box-shadow:0 0 16px var(--dt-accent), inset 0 0 12px var(--dt-accent);opacity:0;transition:opacity 70ms linear;position:absolute;inset:-1px}.kb.down{background:color-mix(in srgb, var(--dt-accent) 42%, #02040a80);color:var(--dt-ink);transform:scale(.96)}.kb.down:after{opacity:1}.kb.fading{opacity:0;transition:opacity 1s cubic-bezier(.4,0,.9,.5),transform 1s ease-in;transform:translateY(8px)scale(.94)}@keyframes pw-kb-in{0%{opacity:0;transform:translateY(8px)scale(.94)}}@media (prefers-reduced-motion:reduce){.kb{transition:none;animation:none}.kb.fading{opacity:1;transition:none;transform:none}}.gamehud{top:calc(10px + var(--safe-t));pointer-events:none;text-shadow:0 0 10px #000000e6;justify-items:center;gap:3px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.gamehud .score{font:900 clamp(26px, 6vmin, 46px)/1 var(--dt-font);letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--dt-ink);text-shadow:0 0 16px var(--dt-accent), 0 2px 0 #000}.gamehud .combo{font:800 clamp(12px, 2.4vmin, 17px)/1 var(--dt-font);letter-spacing:.14em;text-transform:uppercase;color:var(--dt-alt);min-height:1em}.gamehud .time{background:#ffffff24;border-radius:2px;width:min(240px,50vw);height:4px;overflow:hidden}.gamehud .time i{background:var(--dt-accent);height:100%;box-shadow:0 0 8px var(--dt-accent);display:block}.judge{left:50%;bottom:calc(var(--bar-h,52px) + clamp(64px, 20vh, 150px) + 28px + var(--safe-b));font:900 clamp(18px, 4.5vmin, 32px)/1 var(--dt-font);letter-spacing:.2em;text-transform:uppercase;pointer-events:none;opacity:0;text-shadow:0 0 14px,0 2px #000;position:absolute;transform:translate(-50%)}.judge.pop{animation:.5s ease-out forwards pw-judge}@keyframes pw-judge{0%{opacity:1;transform:translate(-50%)scale(1.25)}60%{opacity:1}to{opacity:0;transform:translate(-50%)scale(1)}}.judge[data-j=perfect]{color:#ffd23f}.judge[data-j=good]{color:var(--dt-accent)}.judge[data-j=miss]{color:#f57}.countdown{font:900 clamp(60px, 22vmin, 180px)/1 var(--dt-font);color:var(--dt-ink);text-shadow:0 0 30px var(--dt-accent);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.dropnote{font:800 22px/1.2 var(--dt-font);letter-spacing:.12em;text-transform:uppercase;color:var(--dt-accent);border:3px dashed var(--dt-accent);z-index:40;pointer-events:none;text-align:center;background:#03050ccc;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.dt-title,.dt-recap{z-index:30}.dt-title[data-look=neon] .dt-name{text-shadow:0 0 22px color-mix(in srgb, var(--dt-accent) 70%, transparent)}@media (width<=640px){.panel{background:#01030873;place-items:end center;padding:0}.panel .card{width:100%;max-height:min(82vh,100%);padding:14px 14px calc(14px + var(--safe-b));border-radius:14px 14px 0 0}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.field{grid-template-columns:1fr;gap:4px}.pw-btn{letter-spacing:.04em;padding:8px 9px;font-size:12px}.hud .sub{max-width:52vw}}@media (height<=460px) and (aspect-ratio>=1){.hud .sub{display:none}.pw-btn{min-height:44px;padding:6px 10px}.panel{padding:6px calc(8px + var(--safe-r)) 6px calc(8px + var(--safe-l))}.panel .card{gap:8px;padding:10px 14px}.panel .head{top:-10px}.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.tile{min-height:62px;padding-top:6px;padding-bottom:6px}.lanes{height:clamp(48px,24vh,90px);bottom:calc(var(--bar-h,44px) + 14px + var(--safe-b))}.keys{height:clamp(44px,22vh,80px);bottom:calc(var(--bar-h,44px) + 14px + var(--safe-b))}.judge{bottom:calc(var(--bar-h,44px) + 24vh + 22px)}}.layer{grid-template-columns:minmax(150px,270px) 1fr;align-items:center;gap:8px 12px;display:grid}.layer input[type=range]{width:100%;min-height:44px;accent-color:var(--dt-accent)}.panel .tiny{font:500 12px/1.4 var(--dt-body);color:var(--dt-dim)}.panel button[data-preset]{text-transform:none;letter-spacing:.02em}.panel.dock{pointer-events:none;padding-top:calc(10px + var(--safe-t));background:0 0;align-content:start;place-items:start center}.panel.dock .card{pointer-events:auto;max-height:calc(100vh - var(--bar-h,52px) - clamp(60px, 18vh, 130px) - 50px - var(--safe-t) - var(--safe-b));max-height:calc(100dvh - var(--bar-h,52px) - clamp(60px, 18vh, 130px) - 50px - var(--safe-t) - var(--safe-b));flex-direction:column;display:flex;overflow:hidden}.panel.dock .card>*{flex:none}.curpreset{font:500 12px/1.35 var(--dt-body);color:var(--dt-dim);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:200px;display:-webkit-box;overflow:hidden}.curpreset b{color:var(--dt-ink);font-size:14px}@media (width<=640px),(height<=460px) and (aspect-ratio>=1){.seg.scroll{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.seg.scroll .pw-btn{flex:none}}.plist{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-content:start;gap:6px;min-height:0;display:grid;overflow-y:auto}.panel.dock .card>.plist{flex:auto;min-height:96px}.preset{all:unset;box-sizing:border-box;cursor:pointer;border:1px solid var(--pw-line);background:#ffffff08;border-radius:6px;align-content:center;gap:2px;min-height:58px;padding:6px 10px;display:grid}.preset:hover{border-color:var(--dt-accent)}.preset:is(:focus-visible,.pad-focus){outline:3px solid var(--dt-ink);outline-offset:1px}.preset[aria-pressed=true]{border-color:var(--dt-accent);background:color-mix(in srgb, var(--dt-accent) 16%, transparent)}.preset b{font:700 12px/1.2 var(--dt-font);letter-spacing:.04em}.preset small{font:500 10px/1.25 var(--dt-body);color:var(--dt-dim);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=640px){.layer{grid-template-columns:1fr;gap:2px}.plist{grid-template-columns:1fr}.panel.dock{padding-top:var(--safe-t)}.panel.dock .card{width:100%;max-height:calc(100vh - var(--bar-h,96px) - clamp(60px, 18vh, 130px) - 40px - var(--safe-t) - var(--safe-b));max-height:calc(100dvh - var(--bar-h,96px) - clamp(60px, 18vh, 130px) - 40px - var(--safe-t) - var(--safe-b));border-radius:0 0 14px 14px}}@media (height<=460px) and (aspect-ratio>=1){.layer{grid-template-columns:minmax(150px,270px) 1fr}.curpreset{-webkit-line-clamp:2;line-clamp:2}.plist{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.panel.dock .card{width:min(720px,100%);max-height:calc(100vh - var(--bar-h,44px) - clamp(44px, 22vh, 80px) - 34px - var(--safe-t) - var(--safe-b));max-height:calc(100dvh - var(--bar-h,44px) - clamp(44px, 22vh, 80px) - 34px - var(--safe-t) - var(--safe-b));border-radius:0 0 10px 10px}}@media (prefers-reduced-motion:reduce){.toast{animation-duration:3.2s}.judge.pop{opacity:1;animation:none}}.linkbox{box-sizing:border-box;min-width:0;min-height:44px;color:var(--dt-ink);border:1px solid var(--pw-line);font:500 14px/1.2 var(--dt-body);background:#ffffff0d;border-radius:6px;flex:200px;padding:8px 12px}.linkbox:focus-visible{outline:3px solid var(--dt-ink);outline-offset:1px;border-color:var(--dt-accent)}.credits{text-align:center;justify-items:center;gap:6px;padding:18px 8px 8px;display:grid}.credits p{color:var(--dt-dim);font:500 14px/1.4 var(--dt-body);margin:0}.credits .c-game{color:var(--dt-ink);font:700 12px/1 var(--dt-font);letter-spacing:.24em;text-transform:uppercase}.credits .c-title{color:var(--dt-accent);font:900 clamp(30px, 8vmin, 48px)/1 var(--dt-font);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 0 .3em color-mix(in srgb, var(--dt-accent) 55%, transparent)}.credits .c-dev{color:var(--dt-ink);margin-top:12px;font-size:15px}@media (aspect-ratio<=1){.dt-title .dt-minor{flex-wrap:wrap}.dt-title .dt-minor .dt-item{flex:28%}}:root[data-b-theme][data-b-world=pulsewire]{--dt-bg:#03050c;--dt-font:var(--b-mono);--dt-radius:var(--b-r-m);--pw-glass:#040812d1;--pw-line:color-mix(in srgb, var(--b-line) 85%, transparent)}#ui .pw-btn.go,.dt-recap .pw-btn.go,#ui .pw-btn.b-primary{background:var(--b-accent);color:var(--b-accent-ink);box-shadow:var(--b-shadow-1);border-color:#0000}#ui .pw-btn.go:hover{background:color-mix(in srgb, var(--b-accent) 88%, #fff)}#ui .pw-btn[aria-pressed=true].go,#ui .pw-btn.on.go{color:var(--b-accent-ink)}html[data-b-theme] .pw-btn{border-radius:var(--b-r-m);font-family:var(--b-mono);transition:border-color var(--b-fast), background var(--b-fast), transform var(--b-fast)}html[data-b-theme] .pw-btn:hover{border-color:var(--b-accent)}html[data-b-theme] .pw-btn:active{transform:translateY(1px)scale(.985)}html[data-b-theme] .pw-btn:is(:focus-visible,.pad-focus),html[data-b-theme] .tile:is(:focus-visible,.pad-focus),html[data-b-theme] .preset:is(:focus-visible,.pad-focus),html[data-b-theme] .linkbox:focus-visible{outline:3px solid var(--b-tape);outline-offset:2px}html[data-b-theme] .pw-btn[aria-pressed=true]:not(.go),html[data-b-theme] .pw-btn.on:not(.go){color:var(--b-text);background:color-mix(in srgb, var(--b-accent) 30%, var(--pw-glass))}html[data-b-theme] .pw-btn:disabled,html[data-b-theme] .pw-btn[aria-disabled=true]{opacity:.6;border-style:dashed}html[data-b-theme] .panel .card{border-color:var(--b-line);border-radius:var(--b-r-l);background:#040812f2}html[data-b-theme] .panel h2{color:var(--b-accent-text)}html[data-b-theme] .panel .head h2:after{content:"";background:repeating-linear-gradient(-45deg, var(--b-tape) 0 10px, var(--b-tape-ink) 10px 20px);border-radius:2px;width:64px;height:6px;margin-top:8px;display:block}html[data-b-theme] .panel h3{color:var(--b-accent-2)}html[data-b-theme] .panel p{font-size:14px}html[data-b-theme] .note{border-left-color:var(--b-accent-2);color:var(--b-text);font-size:13px}html[data-b-theme] .field{font-size:14px}html[data-b-theme] .field input[type=range],html[data-b-theme] .layer input[type=range]{accent-color:var(--b-accent)}html[data-b-theme] .hud .tag{border-color:var(--b-line);font-size:12px}html[data-b-theme] .hud .sub,html[data-b-theme] .hud .right{font-size:clamp(12px,1.7vmin,14px)}html[data-b-theme] .tile small,html[data-b-theme] .preset small,html[data-b-theme] .panel .tiny,html[data-b-theme] .curpreset,html[data-b-theme] .tile em{font-size:12px}html[data-b-theme] .tile,html[data-b-theme] .preset{border-color:var(--b-line);border-radius:var(--b-r-m)}html[data-b-theme] .tile.cur,html[data-b-theme] .preset[aria-pressed=true]{border-color:var(--b-accent)}html[data-b-theme] .toast{border-radius:var(--b-r-m);font-size:14px}html[data-b-theme] .cell .star{color:var(--b-dim)}html[data-b-theme] .dt-title .dt-item{border-radius:var(--b-r-m)}#ui .pw-btn{font-family:var(--dt-font)}#ui .dt-title .dt-item{color:var(--b-text)}#ui .dt-title .dt-item.main,#ui .orient-seg-btn.orient-on{color:var(--b-accent-ink)}@media (height<=430px) and (aspect-ratio>=1){:root[data-b-theme] .dt-title .dt-name:after,html[data-b-theme] .panel .head h2:after{display:none}}
