:root{color-scheme:dark;--bg:#111215;--panel:#191a20;--line:#30313b;--muted:#83848f;--text:#eeedf0;--lime:#d4ef9b;--blue:#66acff;--cyan:#80dfed;--red:#f47187;--lane-label:112px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:disabled{cursor:default;opacity:.45}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}button{border:0}button[hidden],[hidden]{display:none!important}.game-shell{max-width:1320px;padding:0 42px;margin:0 auto}.masthead{height:101px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);font-size:20px;letter-spacing:1px;font-weight:850}.brand-light{font-weight:350;color:#b5b4be}.brand small{display:block;color:#777982;font-size:8px;letter-spacing:3.2px;margin-top:7px;font-weight:600}.brand-symbol{font-size:44px;color:var(--lime);line-height:1;transform:skew(-12deg)}.header-right{display:flex;align-items:center;gap:26px}.prototype-label{font:9px ui-monospace,monospace;letter-spacing:1.3px;color:#a8a8b0;display:flex;align-items:center;gap:8px}.prototype-label span{color:#5d5e68}.prototype-label i,.live-dot{width:5px;height:5px;background:var(--lime);border-radius:50%;display:inline-block}.icon-button{display:flex;align-items:center;gap:8px;background:transparent;color:#7e808b;font-size:9px;padding:10px;border:1px solid #31323a;border-radius:6px}.icon-button svg{width:17px;height:17px}.arena-panel{border:1px solid #36333e;border-radius:10px;overflow:hidden;background:#181620;position:relative}.arena-topline{display:flex;justify-content:space-between;padding:17px 22px;color:#96909f;font:9px ui-monospace,monospace;letter-spacing:1.7px;border-bottom:1px solid #ffffff06}.arena-topline i{margin-right:8px;background:#a697be}.health-row{position:absolute;top:57px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;z-index:3;gap:28px}.health-card{width:37%;max-width:370px}.fighter-label{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-bottom:10px;gap:8px;color:#c8c4d2}.fighter-label b{font-size:8px;color:#8dbfff;margin-right:9px}.enemy-health .fighter-label b{color:#f48f9e;margin-left:9px;margin-right:0}.fighter-label strong{font:600 15px ui-monospace,monospace;white-space:nowrap;color:#eee}.fighter-label small{font-size:11px;color:#7e778b}.health-track{background:#070b16;border:1px solid #54759b66;padding:2px;height:9px;border-radius:2px}.health-track>div{height:100%;width:100%;background:linear-gradient(90deg,#326bab,#9fceff);box-shadow:0 0 12px #6ea2e544;transition:width .2s}.enemy-health .health-track{border-color:#a2647166;background:#1d0b17}.enemy-health .health-track>div{background:linear-gradient(90deg,#ef98a4,#a94760);box-shadow:0 0 12px #f5687744}.versus{font-family:Georgia,serif;font-size:15px;font-style:italic;color:#686070}.arena{height:300px;position:relative;isolation:isolate;overflow:hidden;--motion-speed:1}.arena-scenery{position:absolute;inset:0;width:100%;height:100%;stroke:none;filter:saturate(.8)}.rune-circle{position:absolute;left:50%;top:39%;width:155px;height:155px;border:1px dashed #9c86b529;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.rune-two{width:175px;height:175px;border-style:solid;border-color:#9c86b512}.rune-one:after{content:'✧';position:absolute;left:50%;top:-9px;color:#887497;font-size:14px}.fighter{position:absolute;bottom:20px;width:195px;height:214px;z-index:2;--fighter-color:#99e4ff;--direction:1;filter:drop-shadow(0 0 15px #4088da22)}.fighter.player{left:calc(50% - 242px)}.fighter.enemy{right:calc(50% - 242px);--fighter-color:#ff8699;--direction:-1;filter:drop-shadow(0 0 15px #e54b6822)}.character{height:100%;width:100%;stroke:none;overflow:visible}.enemy .character{transform:scaleX(-1)}.body{transform-origin:50% 95%;animation:breathe 4s ease-in-out infinite}.sword-arm{transform-origin:125px 111px}.magic-shield{position:absolute;right:4px;top:54px;width:65px;height:128px;border:2px solid var(--fighter-color);border-radius:50%;box-shadow:0 0 22px var(--fighter-color),inset 0 0 25px #9ceaff44;background:repeating-linear-gradient(60deg,transparent,transparent 10px,#a2e6ff15 11px,transparent 12px);opacity:0;transform:scale(.6);transition:opacity .08s,transform .1s}.enemy .magic-shield{right:auto;left:4px}.is-blocking .magic-shield{opacity:.8;transform:scale(1)}.strike-arc{position:absolute;top:50px;right:-35px;width:125px;height:140px;border-right:5px solid var(--fighter-color);border-radius:50%;opacity:0;filter:drop-shadow(0 0 10px var(--fighter-color));transform:rotate(-35deg)}.enemy .strike-arc{right:auto;left:-35px;border-right:0;border-left:5px solid var(--fighter-color);transform:rotate(35deg)}.is-attacking{animation:lunge calc(.38s / var(--motion-speed)) ease-out}.is-attacking .sword-arm{animation:sword-swing calc(.38s / var(--motion-speed)) ease-out}.is-attacking .strike-arc{animation:slash calc(.38s / var(--motion-speed)) ease-out}.is-hit{animation:hit calc(.3s / var(--motion-speed)) ease-out}.is-clashing .magic-shield{box-shadow:0 0 42px #fff,inset 0 0 25px var(--fighter-color)}.is-dead{opacity:.35;transform:translateY(15px) rotate(calc(-12deg * var(--direction)));transition:all .7s}.arena-state{position:absolute;top:67px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#bdb0ce;font:8px ui-monospace,monospace;letter-spacing:2px;white-space:nowrap}.state-diamond{font-size:14px;color:#7e6c98}.arena-bottom{position:absolute;bottom:15px;left:22px;right:22px;display:flex;justify-content:space-between;font:9px ui-monospace,monospace;letter-spacing:1.2px;color:#8b819b}.arena-bottom>span:first-child{display:flex;gap:8px;align-items:center}.arena-bottom i{width:4px;height:4px;border-radius:50%;background:#b2a5c5}.arena-bottom>span:last-child{color:#c8bbd9}.is-frozen .arena-scenery{filter:saturate(.45)}.is-releasing{animation:time-release .4s ease-out}.is-releasing .fighter{filter:grayscale(1) brightness(1.8)}.is-shaking{animation:shake .18s linear}.speed-lines{position:absolute;inset:0;pointer-events:none;opacity:0;background:repeating-linear-gradient(0deg,transparent 0 24px,#d9c6ff12 25px,transparent 26px 41px);mask-image:linear-gradient(90deg,#000,transparent 40%,transparent 60%,#000);transition:opacity .3s}.is-fast .speed-lines{opacity:1;animation:streak .15s linear infinite}.effects{position:absolute;inset:0;pointer-events:none;z-index:5}.damage-number{position:absolute;top:33%;font:700 28px ui-monospace,monospace;letter-spacing:-2px;color:#ff9ba7;text-shadow:0 0 15px #f14d76;animation:float-up .9s ease-out forwards}.damage-number.blocked{font-size:13px;letter-spacing:2px;color:#a7edff;text-shadow:0 0 12px #82cbff}.spark{position:absolute;top:56%;width:6px;height:6px;background:var(--spark-color);box-shadow:0 0 9px var(--spark-color);animation:spark-out .45s ease-out forwards}.planning-panel{padding-top:29px}.planning-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{font:9px ui-monospace,monospace;letter-spacing:1.65px;color:#8e909a}.planning-heading h1{font-size:30px;font-weight:550;letter-spacing:-1px;margin:8px 0 0;line-height:1.2}.planning-heading h1 span{color:var(--lime)}.countdown{display:flex;align-items:center;gap:13px}.countdown svg{color:var(--lime);width:24px;height:24px}.countdown strong{font:400 46px ui-monospace,SFMono-Regular,monospace;letter-spacing:-3px;color:var(--lime);font-variant-numeric:tabular-nums;min-width:113px}.countdown>span{color:#b6b8bf;font:8px ui-monospace,monospace;line-height:1.9;letter-spacing:1px}.countdown b{font-weight:400;color:#777a83;font-size:7px}.countdown.is-urgent strong,.countdown.is-urgent svg{color:#ff997c}.countdown-track{height:2px;background:#303329;margin-bottom:23px}.countdown-track>div{width:100%;height:100%;background:var(--lime);box-shadow:0 0 10px #d4ef9b33}.timeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font:8px ui-monospace,monospace;letter-spacing:1.2px;color:#9697a1}.timeline-header>span:last-child{display:flex;gap:8px;align-items:center;color:#777985}.timeline-header i{display:inline-block;width:6px;height:6px;background:#9899a9}.timeline-header .legend-block{background:transparent;border:1px solid #9295a3;margin-left:10px}.timeline{position:relative;border:1px solid #3c3d49;border-radius:7px;background:#17181e;overflow:hidden;padding-top:28px;padding-bottom:26px}.tick-ruler{display:grid;grid-template-columns:repeat(12,1fr);position:absolute;left:var(--lane-label);right:12px;top:0;height:28px;align-items:center;color:#676a77;font:8px ui-monospace,monospace;text-align:center}.lane{position:relative;display:flex;padding-right:12px;min-height:87px}.enemy-lane{background:linear-gradient(90deg,#42202c66,#2f1b2666);border-top:1px solid #49303a;border-bottom:1px solid #49303a}.player-lane{background:linear-gradient(90deg,#173c6566,#182b4866);border-bottom:1px solid #30445d}.lane-label{width:var(--lane-label);flex-shrink:0;display:flex;flex-direction:column;justify-content:center;padding-left:20px;gap:8px;color:#ec8799;font:600 10px ui-monospace,monospace;letter-spacing:1px}.lane-label small{font-size:6px;color:#a47483;letter-spacing:.8px;font-weight:400}.player-lane .lane-label{color:#8abdff}.player-lane .lane-label small{color:#6e8ba9}.lane-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));flex:1;min-width:0;position:relative;padding:10px 0;gap:4px}.tick-cell{grid-row:1;min-width:0;height:66px;border:1px solid #6b405233;background:#120b171c;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;color:#645266}.player-lane .tick-cell{background:#0c192d30;border-color:#4776a13d;color:#5e83a459}.tick-cell .empty-plus{font:200 19px ui-monospace,monospace}.tick-cell.has-action{z-index:1}.tick-cell svg{width:23px;height:23px;filter:drop-shadow(0 1px 3px #0003)}.tick-cell.attack{background:linear-gradient(140deg,#cc526f,#a33653);border-color:#f18aa199;color:#ffdde4;box-shadow:0 2px 9px #fa3c5410}.tick-cell.block{background:repeating-linear-gradient(-45deg,#7a385a22,#7a385a22 6px,#0000 6px,#0000 12px),#452c3f;border-color:#ae647e;color:#d99bac}.player-lane .tick-cell.attack{background:linear-gradient(140deg,#428ae2,#2457a3);border-color:#80baff;color:#e5f2ff}.player-lane .tick-cell.block{background:repeating-linear-gradient(-45deg,#6cecff0d,#6cecff0d 6px,#0000 6px,#0000 12px),#204457;border-color:#71c8df;color:#a6edfa}.tick-cell .action-tick{position:absolute;bottom:5px;right:6px;font:7px ui-monospace,monospace;opacity:.7}.tick-cell.is-impact{box-shadow:inset 0 0 0 2px #fff,0 0 15px currentColor;filter:brightness(1.4)}.tick-cell.is-resolved:after{content:'◆';position:absolute;top:4px;right:5px;font-size:7px;color:#ffd19a}.tick-cell.was-blocked:after{color:#b2f4ff;content:'◇'}.tick-cell[draggable=true]{cursor:grab}.player-lane .tick-cell:not(:disabled):hover{border-color:#bedcff;filter:brightness(1.2)}.player-lane .tick-cell.is-preview{border-color:#b5d8fa;background:#36577b88}.player-lane .tick-cell.invalid-preview{border-color:#ff9e9e;background:#8b354a55}.player-lane .tick-cell:disabled{opacity:1}.tick-cell.has-action:hover .action-tick{opacity:0}.tick-cell.has-action:not(:disabled):hover:before{content:'×';position:absolute;right:6px;bottom:2px;font-size:14px}.tick-cell.is-dragging{opacity:.35}.playhead-track{pointer-events:none;position:absolute;left:var(--lane-label);right:12px;top:22px;bottom:25px;z-index:4}.playhead{position:absolute;left:0;height:100%;width:2px;background:#edffd3;box-shadow:0 0 12px #d4ef9baa;opacity:0}.playhead span{position:absolute;top:-7px;left:-4px;color:#edffd3;font-size:10px}.timeline-scale{position:absolute;left:var(--lane-label);right:12px;bottom:7px;display:flex;justify-content:space-between;color:#6e7180;font:7px ui-monospace,monospace}.planner-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:43px;font-size:10px;color:#9295a1}.planner-caption button{font:8px ui-monospace,monospace;letter-spacing:1px;background:none;color:#90929c;padding:10px 0 10px 15px;white-space:nowrap}.planner-caption button span{font-size:14px;margin-left:7px}.controls-row{display:flex;align-items:center;gap:30px;margin-top:5px}.action-buttons{display:flex;gap:12px;flex:1}.action-choice{display:flex;align-items:center;position:relative;text-align:left;gap:15px;background:#1c1f26;border:1px solid #343d4a;border-radius:7px;padding:17px 20px;flex:1;min-width:0;transition:background .12s,border-color .12s}.action-choice.is-selected{background:#202c3d;border-color:#7aa7df;box-shadow:0 0 0 1px #7aa7df22}.action-choice.block-choice.is-selected{background:#1b3037;border-color:#82cfdc}.action-icon{color:#8ab9fa}.block-choice .action-icon{color:#8ddce7}.action-icon svg{width:28px;height:28px}.action-copy{display:flex;flex-direction:column;gap:7px}.action-copy strong{font-size:11px;letter-spacing:1.2px;font-weight:650;display:flex;align-items:center;gap:10px}.action-copy small{font:9px ui-monospace,monospace;color:#919bab;white-space:nowrap}.action-copy small i{font-style:normal;margin:0 4px;color:#555d6a}kbd{font:8px ui-monospace,monospace;border:1px solid #515968;border-radius:3px;padding:2px 4px;color:#9ea8b7}.choice-dot{margin-left:auto;width:10px;height:10px;border:1px solid #526072;border-radius:50%}.is-selected .choice-dot{border-color:#9cc6ff;background:#9cc6ff;box-shadow:inset 0 0 0 2px #2b3d57}.control-tip{width:280px;display:flex;gap:14px;align-items:center;color:#656a73}.control-tip svg{width:21px;height:21px;flex-shrink:0}.control-tip p{font-size:11px;line-height:1.8;margin:0;color:#a9aab2}.control-tip strong{font-size:10px;color:#696d78;font-weight:400}.instructions{display:flex;gap:27px;margin-top:21px;font-size:9px;color:#777a85;line-height:1.6}.instructions b{font:8px ui-monospace,monospace;color:#b4b7a9;margin-right:7px}.footer{margin-top:27px;border-top:1px solid #292b32;padding:18px 0 22px;display:flex;justify-content:space-between;color:#5d616d;font:7px ui-monospace,monospace;letter-spacing:1.4px}.footer i{color:#9aab83;margin:0 12px;font-style:normal}.result-overlay{position:fixed;inset:0;z-index:20;background:#090c14bc;backdrop-filter:blur(9px);display:grid;place-items:center;padding:24px}.result-card{text-align:center;background:radial-gradient(ellipse at top,#38403544,transparent 60%),#1b1e23;border:1px solid #666f5755;box-shadow:0 30px 100px #0008;border-radius:15px;padding:35px 42px;width:min(440px,100%)}.result-rune{font-size:45px;color:var(--lime);margin-bottom:18px;text-shadow:0 0 35px #d4ef9b66}.result-card h2{font:400 58px Georgia,serif;margin:15px 0;color:#e1efc8}.result-card>p{color:#a3a5ad;line-height:1.7;font-size:12px}.result-stats{display:flex;justify-content:center;gap:28px;margin:24px 0;padding:20px 0;border-top:1px solid #ffffff0d;border-bottom:1px solid #ffffff0d;color:#8e949e;font:8px ui-monospace,monospace;letter-spacing:1px}.result-stats b{display:block;color:#e5e6e8;font-size:23px;margin-bottom:7px;font-weight:400}.restart-button,.replay-button{width:100%;padding:16px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:1px;background:var(--lime);color:#263219}.restart-button small{display:block;font-size:9px;font-weight:400;letter-spacing:0;margin-top:5px}.restart-button span{margin-left:8px}.replay-button{margin-top:11px;background:#ffffff04;color:#c4c9d2;border:1px solid #444b56;font-size:9px}.result-card .replay-note{font-size:9px;margin-bottom:0;color:#6f7783}.replay-toolbar{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:25;display:flex;align-items:center;gap:22px;background:#272d37;box-shadow:0 8px 40px #0008;border:1px solid #758393;padding:13px 20px;border-radius:9px;font:10px ui-monospace,monospace;white-space:nowrap}.replay-toolbar button{background:#ffffff0c;padding:10px;border-radius:4px;font-size:9px}.replay-toolbar i{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:7px}@keyframes breathe{50%{transform:translateY(-2px) rotate(.5deg)}}@keyframes lunge{35%{translate:calc(32px * var(--direction)) 0}100%{translate:0 0}}@keyframes sword-swing{0%{transform:rotate(-25deg)}40%{transform:rotate(85deg)}100%{transform:rotate(0)}}@keyframes slash{15%{opacity:1}60%{opacity:.7}100%{opacity:0;scale:1.25}}@keyframes hit{20%{translate:calc(-16px * var(--direction)) 0;filter:brightness(2)}100%{translate:0 0}}@keyframes float-up{0%{opacity:0;transform:translateY(10px) scale(.8)}15%{opacity:1;transform:translateY(0) scale(1.1)}100%{opacity:0;transform:translateY(-55px) scale(1)}}@keyframes spark-out{0%{opacity:1;transform:translate(0,0) rotate(45deg)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(135deg)}}@keyframes shake{25%{transform:translate(-3px,1px)}75%{transform:translate(3px,-2px)}}@keyframes time-release{0%{filter:grayscale(1) brightness(1.5)}100%{filter:grayscale(0) brightness(1)}}@keyframes streak{to{background-position:120px 0}}@media(min-width:1600px){.game-shell{padding-top:15px}.arena{height:340px}.fighter{width:220px;height:240px}.planning-panel{padding-top:34px}.lane{min-height:98px}.tick-cell{height:77px}.planning-heading{margin-bottom:25px}}@media(max-width:1000px){.game-shell{padding:0 25px}.control-tip{width:220px}.controls-row{gap:20px}.action-choice{padding:15px;gap:10px}.instructions{gap:17px;font-size:8px}.fighter-label{font-size:8px;letter-spacing:.4px}.health-card{width:42%}}@media(max-width:760px){:root{--lane-label:70px}.game-shell{padding:0 16px}.masthead{height:80px}.brand{font-size:16px;gap:8px}.brand-symbol{font-size:37px}.brand small{font-size:6px;letter-spacing:2.5px}.prototype-label{display:none}.arena-topline{font-size:7px;padding:13px 14px;letter-spacing:1px}.arena{height:270px}.health-row{top:48px;left:15px;right:15px;gap:15px}.health-card{width:46%}.fighter-label{font-size:7px;letter-spacing:0;align-items:flex-start}.fighter-label b{display:block;margin:0 0 4px}.enemy-health .fighter-label b{margin:4px 0 0}.fighter-label strong{font-size:12px}.fighter-label small{font-size:8px}.versus{font-size:12px}.fighter{height:190px;width:174px;bottom:23px}.fighter.player{left:calc(50% - 190px)}.fighter.enemy{right:calc(50% - 190px)}.arena-state{top:78px;font-size:6px;gap:7px}.rune-circle{top:46%;width:115px;height:115px}.rune-two{width:135px;height:135px}.planning-panel{padding-top:24px}.planning-heading h1{font-size:24px}.eyebrow{font-size:7px;letter-spacing:1px}.countdown{gap:7px}.countdown strong{font-size:35px;min-width:87px}.countdown svg{width:18px}.countdown>span{font-size:7px}.countdown b{font-size:6px}.timeline-header{font-size:7px;letter-spacing:.7px}.desktop-only{display:none}.lane-label{font-size:8px;padding-left:11px}.lane-label small{font-size:5px;letter-spacing:0}.lane-grid{gap:3px}.tick-cell svg{width:20px;height:20px}.lane{padding-right:7px}.tick-ruler,.playhead-track,.timeline-scale{right:7px}.control-tip{display:none}.instructions{display:flex;flex-wrap:wrap;gap:5px 17px;font-size:8px;margin-top:17px}.instructions span:nth-child(2){order:3;flex-basis:100%}.footer{font-size:6px;letter-spacing:.7px;margin-top:23px}.footer i{margin:0 5px}}@media(max-width:430px){:root{--lane-label:50px}.game-shell{padding:0 10px}.planning-heading h1{font-size:21px}.planning-heading .eyebrow{max-width:180px;line-height:1.6;font-size:6px}.countdown strong{font-size:32px;min-width:78px}.countdown svg{display:none}.countdown>span{font-size:6px}.countdown b{font-size:5px}.lane-label{font-size:7px;padding-left:6px;letter-spacing:.5px}.lane-label small{font-size:4px}.lane-grid{gap:2px}.tick-cell svg{width:17px;height:17px}.tick-cell .action-tick{font-size:5px;right:3px}.action-choice{padding:14px 10px;gap:8px}.action-copy strong{font-size:10px;gap:6px}.action-copy small{font-size:7px}.action-icon svg{width:23px}.choice-dot{width:8px;height:8px}.planner-caption{font-size:8px}.planner-caption button{font-size:7px}.fighter.player{left:calc(50% - 174px)}.fighter.enemy{right:calc(50% - 174px)}.result-card{padding:26px}.replay-toolbar{gap:8px;padding:9px;font-size:8px}.replay-toolbar button{font-size:8px}.fighter-label>span{font-size:6px}}@media(prefers-reduced-motion:reduce){.body{animation:none}.is-shaking,.is-fast .speed-lines{animation:none}.is-attacking{animation:none}.is-attacking .sword-arm,.is-attacking .strike-arc{animation-duration:.15s}.spark{display:none}}
