:root{font-family:Arial,Helvetica,sans-serif;color:#efe7d6;--gold:#d1b374;--green:#a6d582;--red:#e58769;--ink:#171c1c;--line:#d6b87240}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#343e32;font-size:13px;user-select:none}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button,select{border:1px solid var(--line);background:#172121c9;border-radius:4px}button:hover{background:#3b4032;filter:brightness(1.12)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e0c380;outline-offset:3px}button{padding:8px 12px}p,h1,h2,h3{margin:0}kbd{font:10px Arial,sans-serif;border:1px solid #e2ceb13a;border-radius:3px;padding:3px 5px;background:#19212560;color:#d8cdb7;white-space:nowrap}.hidden{display:none!important}#scene,#worldHud{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}#worldHud{pointer-events:none;z-index:2}.topbar{position:fixed;top:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 24px;z-index:8;background:linear-gradient(#112021dc,#1221227d,transparent);text-shadow:0 1px 4px #000}.brand{display:flex;gap:8px;align-items:center;letter-spacing:2px;font-size:12px;font-weight:700}.brand>span:not(.daggers){font-weight:400;color:#d9d3bd}.brand small{font-size:8px;letter-spacing:1px;color:#c7cdbd;background:#31454188;border:1px solid #c4cbaa33;padding:5px 7px;margin-left:8px}.daggers{font-size:25px;color:var(--gold)}.map-title{position:absolute;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:3px;color:#dfd5b9}.map-title span{margin:0 13px;color:var(--gold)}.map-title b{font-size:12px;letter-spacing:1px;font-weight:400;font-variant-numeric:tabular-nums}.topbar nav{display:flex;gap:7px}.topbar button{font-size:10px;padding:6px 8px;background:#121d2266;border-color:#d1c79723}.topbar kbd{margin-left:5px;font-size:8px;padding:2px 4px}.frames{position:fixed;left:28px;top:72px;display:flex;gap:22px;z-index:3;transition:opacity .3s}.unit{position:relative;display:flex;width:280px;gap:8px;background:linear-gradient(100deg,#121819ec,#172222be);border:1px solid #c8a97565;border-radius:6px;padding:8px 9px;box-shadow:0 4px 15px #0004}.portrait{width:48px;height:54px;border:1px solid #bba47766;position:relative;flex-shrink:0;overflow:hidden;background:radial-gradient(ellipse at top,#77617d,#25222e)}.portrait .fallback-art{display:flex;height:100%;align-items:center;justify-content:center}.portrait svg{width:35px;height:35px;stroke-width:1.5;color:#d6c3d3}.warrior .portrait{background:radial-gradient(ellipse at top,#a5814f,#332a23)}.warrior .portrait svg{color:#d4b573}.unit-main{flex:1;min-width:0}.unit-name{display:flex;align-items:center;justify-content:space-between;margin:2px 0 7px;font-size:8px;letter-spacing:.5px;gap:6px}.unit-name b{font-size:8px;font-weight:500;white-space:nowrap}.unit-name span{color:#c8a8e6;font-size:7px;white-space:nowrap}.warrior .unit-name span{color:#e5bca6}.bar{position:relative;height:18px;background:#17251b;border:1px solid #4d583d;overflow:hidden;border-radius:2px}.bar i{position:absolute;inset:0;width:100%;background:linear-gradient(#729657,#4b6c41);transition:width .065s}.bar span{position:absolute;inset:0;display:grid;place-items:center;font-weight:600;font-size:10px;text-shadow:0 1px 2px #151915;font-variant-numeric:tabular-nums}.warrior .hp{background:#452e20;border-color:#9b664d}.warrior .hp i{background:linear-gradient(#ba7654,#8c4735)}.energy,.cc{height:13px;margin-top:4px}.energy{background:#372e1b;border-color:#8e7945}.energy i{background:linear-gradient(#ba9650,#9c7637)}.energy span{font-size:8px}.energy em{position:absolute;left:0;bottom:0;width:0;height:1px;background:#ffe898}.cc{background:#262138;border-color:#726384}.cc i{width:0;background:#6e5a87}.cc span{font-size:7px;font-weight:400;letter-spacing:.2px}.enemy-med{position:absolute;width:30px;height:30px;right:-13px;top:51px;border:1px solid #e5c590;border-radius:4px;background:#253c3c;overflow:hidden}.enemy-med>div{position:absolute;inset:0}.enemy-med svg{width:80%;margin:10%;color:#e0c074}.enemy-med b{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;text-shadow:0 1px 3px #000,0 0 3px #000;background:#0002}.dr-row{position:absolute;left:2px;top:83px;display:flex;gap:4px}.dr-chip{font-size:8px;padding:5px 6px;border:1px solid #e1cba331;background:#192327d9;border-radius:3px;color:#deceb4;display:flex;gap:5px;align-items:center}.dr-chip b{font-size:10px;font-weight:500;color:#b4d496}.dr-chip small{font-size:7px;color:#bdaca0}.dr-chip.reduced b{color:#edc16e}.dr-chip.immune b{color:#ff8c79}.p-effects{position:absolute;left:3px;top:83px;display:flex;flex-wrap:wrap;gap:4px;max-width:280px}.buff-chip{font-size:8px;background:#192521df;border:1px solid #caba8f36;padding:5px 6px;border-radius:3px;color:#e6c58a}.buff-chip.danger{color:#f0a191;background:#342426dc}.minimap-shell{position:fixed;top:68px;right:26px;width:148px;z-index:3}.minimap-shell canvas{width:148px;height:148px;border-radius:50%;border:2px solid #8d7951;box-shadow:0 3px 15px #0004;background:#293723c9}.minimap-shell>div{text-align:center;letter-spacing:1px;margin-top:7px;text-shadow:0 1px 3px #000}.minimap-shell span{font-size:8px;color:#ede0bc}.minimap-shell small{display:block;font-size:7px;color:#dddbbcaa;margin-top:5px}.zone-entry{position:fixed;left:50%;top:23%;transform:translateX(-50%);font-family:Georgia,serif;font-size:42px;color:#eadca0;text-shadow:0 2px 8px #111d19;z-index:4;pointer-events:none;animation:entry 4.5s both}.zone-entry small{display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:2px;text-align:center;margin-top:8px;color:#e0dec5}@keyframes entry{0%{opacity:0;transform:translate(-50%,8px)}15%,65%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}.countdown{position:fixed;left:50%;top:33%;transform:translateX(-50%);font-family:Georgia,serif;color:#f5df97;text-shadow:0 3px 20px #19231e;font-size:88px;z-index:4;pointer-events:none}.notice{position:fixed;top:30%;left:50%;transform:translateX(-50%);z-index:5;padding:9px 17px;max-width:75%;border:1px solid #d5b16c44;background:#162326ca;color:#e0d7bc;font-size:12px;text-align:center;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .15s;text-shadow:0 1px 4px #000}.notice.show{opacity:1}.notice.bad{color:#ffad92;border-color:#d27c6a55}.notice.good{color:#bedd99}.notice.warn{color:#f8db8b}.mission{position:fixed;left:28px;bottom:171px;width:290px;padding:11px 13px;background:linear-gradient(90deg,#142020d9,#17221dad);border:1px solid #bfaf7736;border-radius:5px;z-index:3}.mission-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.1px;color:#d8c7a2}.mission-heading b{font-size:17px;font-weight:400;letter-spacing:0;color:#e6d497}.mission-progress{height:3px;background:#ccbb7933;margin:8px 0}.mission-progress i{display:block;height:3px;width:0;background:#b7d786}.mission-meta{display:flex;justify-content:space-between;font-size:8px;color:#d2c7ad}.mission p{margin-top:8px;font-size:10px;line-height:1.55;color:#c5cab8}.dock{position:fixed;bottom:13px;left:50%;transform:translateX(-50%);width:min(1130px,calc(100vw - 48px));z-index:6;background:linear-gradient(#182020d9,#131b1ef0);border:1px solid #c8aa6966;border-radius:6px;padding:8px 9px 5px;box-shadow:0 8px 40px #0005}.dock-info{display:flex;align-items:center;height:27px;gap:10px;font-size:8px;letter-spacing:.7px;color:#d9caa8;margin-bottom:5px;padding:0 4px}.dock-info #combatStatus{min-width:70px;color:#bad893}.dock-info #combatTimer{min-width:113px;color:#cfc5a9}.combat-track{height:3px;width:80px;background:#d4c39329}.combat-track i{display:block;width:0;height:100%;background:#c7cf93}.cp-label{margin-left:auto;font-size:7px;color:#b8b49e}.combo{display:flex;gap:7px}.combo i{width:10px;height:10px;border-radius:50%;background:#8e793133;border:1px solid #bb97524f}.combo i.on{background:#d7c078;border-color:#f2da95;box-shadow:0 0 7px #e9b65955}.auto-label{margin-left:20px;font-size:8px;min-width:53px}.gcd{font-size:8px;min-width:42px}.actions{display:grid;grid-template-columns:repeat(17,minmax(0,1fr));gap:5px}.action{position:relative;aspect-ratio:1/1.10;border-radius:4px;border:1px solid #c3a47287;background:#262832;padding:0;overflow:hidden;box-shadow:inset 0 0 0 1px #181b19,0 2px 3px #0006;touch-action:none}.action .spell-icon{position:absolute;inset:2px 2px 13px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 65% 25%,#8b6449 0,#493344 50%,#212426 100%)}.action .fallback-art{position:absolute;inset:4px;display:flex;align-items:center;justify-content:center}.fallback-art svg{width:83%;height:83%;stroke-width:1.5;filter:drop-shadow(0 2px 2px #0008);color:#e3bf95}.action:nth-child(2n) .spell-icon{background:radial-gradient(ellipse at 70% 15%,#af7350,#762c36 45%,#292833)}.action:nth-child(3n) .spell-icon{background:radial-gradient(ellipse at top,#677987,#3b4761 45%,#242633)}.action:nth-child(4n) .spell-icon{background:radial-gradient(ellipse at top,#907378,#453153 60%,#201e2b)}.action:nth-child(7n) .spell-icon{background:radial-gradient(ellipse at top,#bc985b,#797541 45%,#252e2f)}.wow-icon{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.action .key{position:absolute;left:3px;top:3px;z-index:4;font-size:13px;font-weight:bold;text-shadow:0 1px 3px #000,0 0 4px #000;background:#0c171a66;line-height:16px;padding:0 3px;border-radius:2px;color:#ffefc8}.action .key.mouse{font-size:10px}.action .energy-cost{position:absolute;right:4px;top:4px;z-index:4;font-size:8px;color:#f5d682;text-shadow:0 1px 3px #000}.action .spell-name{position:absolute;bottom:0;left:0;right:0;height:12px;display:grid;place-items:center;font-size:7px;white-space:nowrap;color:#e6dabe;background:#171d22;z-index:5}.action .cooldown{position:absolute;inset:2px 2px 13px;background:conic-gradient(#000b 0deg var(--sweep,0deg),transparent var(--sweep,0deg) 360deg);z-index:2}.action .cooldown-num{position:absolute;inset:7px 0 12px;display:grid;place-items:center;z-index:3;font-size:22px;font-weight:700;color:#fff1d7;text-shadow:0 2px 4px #000,0 0 5px #000;font-variant-numeric:tabular-nums}.action .spell-gcd{position:absolute;bottom:13px;left:2px;right:2px;height:2px;transform-origin:left;background:#e6d0a2;z-index:4;transform:scaleX(0)}.action.dim .spell-icon{filter:saturate(.3) brightness(.68)}.action.unavailable{border-color:#713d3888}.action.active{border-color:#cbe78f;box-shadow:0 0 9px #c7e57944}.action.pressed{transform:translateY(2px);filter:brightness(1.6)}.action:last-child{border-color:#a8d8c59e}.dock-help{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#c2c2ae99;margin:6px 3px 0;gap:10px;white-space:nowrap}.dock-help b{font-size:8px;color:#d8d3b8b5;font-weight:400}.dock-help button{padding:2px 5px;font-size:8px;border:0;background:transparent;color:#c4c4b0}.dock-help kbd{font-size:7px;padding:1px 3px}.intro{position:fixed;inset:0;background:linear-gradient(90deg,#101b20ed 0%,#142126b8 32%,#1421261a 70%,#14212600);z-index:7;pointer-events:none}.intro-content{position:absolute;left:6vw;top:50%;transform:translateY(-47%);width:440px;max-width:45vw;pointer-events:auto}.kicker{font-size:9px;color:#bdc5af;letter-spacing:2px}.kicker span{color:var(--gold);margin:0 9px}.intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(59px,5.5vw,92px);font-weight:400;line-height:1.02;letter-spacing:-2px;margin:23px 0}.intro h1 em{color:#e3c385;font-style:normal}.intro-lead{font-size:15px;color:#cbd0bd;line-height:1.75}.intro-rule{font-size:11px;line-height:2.3;color:#b8c4af;margin:19px 0 22px}.intro-rule span{font-size:9px;color:var(--gold);margin-right:8px}.setup-row{display:flex;gap:10px;margin:0 0 14px}.setup-row label{flex:1;min-width:0;font-size:9px;color:#abb9a7}.setup-row select{display:block;width:100%;color:#e8dfc6;margin-top:7px;padding:9px 7px;background:#21302fee;font-size:11px}.primary{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;background:linear-gradient(#debf7b,#c9a465);color:#202b26;border:1px solid #ead49b;border-radius:4px;padding:14px 16px;font-weight:700;font-size:11px;letter-spacing:1px;box-shadow:0 3px 13px #0002}.primary kbd{background:#3d391415;color:#494b32;border-color:#4b4c2729;font-size:9px;margin-left:auto}.primary span{font-size:19px;font-weight:400}.primary:hover{background:linear-gradient(#e6ce98,#dbba78)}.intro-note{font-size:9px;color:#a4b3a18c;line-height:1.7;margin-top:14px}.scene-note{position:absolute;bottom:32px;right:32px;font-size:9px;letter-spacing:1.7px;color:#ece0b9;text-shadow:0 2px 3px #121a18}.scene-note i{display:inline-block;background:#d8b570;width:6px;height:6px;border-radius:50%;margin-right:8px}.scene-note span{display:block;text-align:right;margin-top:7px;font-size:7px;color:#dee0c5ad;letter-spacing:1px}body[data-state=intro] .frames,body[data-state=intro] .minimap-shell,body[data-state=intro] .dock,body[data-state=intro] .mission{opacity:0;pointer-events:none}body[data-state=intro] .map-title{opacity:.4}body[data-state=intro] #worldHud{display:none}.modal-backdrop,.pause{position:fixed;inset:0;z-index:20;background:#10191ce0;backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}.modal{width:640px;max-width:95vw;max-height:91vh;overflow:auto;background:linear-gradient(130deg,#24302c,#172225);border:1px solid #cab27a77;border-radius:8px;padding:25px 28px;color:#dcdcca;box-shadow:0 25px 80px #0005}.modal>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:6px}.modal h2{font-size:27px;font-weight:400;margin-top:6px;font-family:Georgia,serif;color:#e5d3a7}.modal h3{font-size:12px;font-weight:500;color:#dbc392;margin:0 0 15px}.setting-group{padding:18px 0;border-bottom:1px solid #cfbb7e22}.setting-group p,.modal p{font-size:11px;line-height:1.75;color:#aebaa9;margin:13px 0 0}.slider-label{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#c6cdb9}.slider-label input{width:100%;margin:0 0 9px;accent-color:var(--gold)}.check{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;margin-top:8px;cursor:pointer}.check input{accent-color:var(--gold);width:14px;height:14px}.bind-row{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px}.bind-row b{color:#e7d088;margin-left:6px;font-size:13px}.bind-row button{font-size:11px;border-color:#ccad7466;color:#e3d0a1}.select-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:12px;margin-top:17px}.select-label select{width:295px;max-width:66%;color:#d3dcc3;font-size:10px;padding:8px}.bind-prompt{padding:12px;margin-top:12px;border:1px solid var(--gold);background:#bea85b15;color:#f5df9e;font-size:11px;line-height:1.6}.model-disclosure{font-size:10px!important;color:#95a496!important;line-height:1.7!important;margin-top:16px!important}.modal footer{display:flex;gap:15px;justify-content:space-between;align-items:center;padding-top:19px;margin-top:7px;border-top:1px solid var(--line)}.compact{width:auto;font-size:10px;padding:10px 13px}.modal footer>span{font-size:8px;color:#9aa991}.modal .controls-guide p{margin:12px 0;color:#c1cbb6}.modal .controls-guide b{color:#e7d4a4;font-weight:400}#bindTable{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:20px 0}#bindTable>div{display:flex;align-items:center;gap:8px;font-size:11px;color:#bbccb3}#bindTable kbd{min-width:43px;text-align:center;color:#eddfb2}.pause>div{width:370px;max-width:95vw;text-align:center;background:#1b2928;border:1px solid #ceb07466;padding:29px;border-radius:8px}.pause h2{font-family:Georgia,serif;font-size:43px;font-weight:400;margin:17px 0;color:#e8d0a1}.pause p{color:#bbc8b1;font-size:12px;line-height:1.8;margin-bottom:22px}.pause .primary{margin-top:20px}.pause button:not(.primary){font-size:10px;margin-top:14px;background:none;border:none;color:#acb8a4}.pause .result-card{width:460px}.result-card h2{font-size:37px}.result-card #resultStats{font-size:12px;line-height:2;color:#d9c794}.log-panel{position:fixed;top:195px;right:25px;bottom:174px;width:305px;background:#172122eF;border:1px solid #c3af7044;border-radius:5px;z-index:10;padding:13px;display:flex;flex-direction:column;box-shadow:0 8px 30px #0005}.log-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.log-panel h3{font-size:12px;font-weight:400;color:#dbbf86}.log-panel header button{border:0;padding:2px 4px;background:transparent}.log-panel #logs{flex:1;overflow:auto;font-size:10px;line-height:1.6}.logline{margin-bottom:6px;color:#bcc5b3}.logline small{font-size:8px;color:#8b9a87;margin-right:6px}.logline.bad{color:#e29b86}.logline.good{color:#bcd59b}.logline.warn{color:#e4c07f}.log-panel #exportBtn{font-size:10px;margin-top:10px}.fatal{position:fixed;inset:15%;z-index:80;background:#201e1c;border:1px solid #e7916c;border-radius:8px;padding:40px;font-size:18px;line-height:1.7;display:grid;place-items:center}.fatal p{font-size:13px}.mini-toast{color:#f0d796}
@media(min-width:1650px){.frames{top:80px;left:34px;gap:24px}.unit{width:326px;padding:10px;gap:10px}.portrait{width:52px;height:59px}.unit-name b{font-size:9px}.unit-name span{font-size:8px}.bar{height:21px}.energy,.cc{height:14px}.dr-row,.p-effects{top:91px}.enemy-med{top:58px}.dock{width:1230px;bottom:20px;padding:10px 12px 7px}.actions{gap:6px}.action .spell-name{font-size:8px}.action .cooldown-num{font-size:25px}.mission{bottom:198px;left:34px;width:315px}.mission p{font-size:11px}.minimap-shell{width:170px;right:32px;top:76px}.minimap-shell canvas{width:170px;height:170px}}
@media(max-width:1150px){.topbar{padding:0 15px}.brand small{display:none}.map-title{font-size:9px;left:45%}.unit{width:250px}.unit-name b{font-size:7px}.unit-name span{font-size:6px}.frames{left:18px;gap:14px}.portrait{width:40px}.minimap-shell,.minimap-shell canvas{width:127px}.minimap-shell canvas{height:127px}.minimap-shell{right:18px}.dock{width:calc(100% - 30px);padding:7px}.actions{gap:3px}.action .key{font-size:11px;padding:0 2px;line-height:14px}.action .spell-name{font-size:6px}.action .cooldown-num{font-size:18px}.action .energy-cost{font-size:7px}.mission{bottom:150px;width:264px;left:18px}.intro-content{max-width:47vw;left:5vw}.intro h1{font-size:65px}.intro-lead{font-size:13px}.intro-rule{font-size:10px}.topbar nav{gap:4px}.topbar nav button{font-size:9px}}
@media(max-width:850px){.map-title{display:none}.topbar{height:42px;padding:0 12px}.brand{font-size:10px;gap:6px;letter-spacing:1px}.topbar button{font-size:0!important;padding:4px 6px}.topbar kbd{font-size:9px;margin:0}.frames{left:12px;top:55px;gap:14px}.unit{width:232px;padding:6px}.portrait{width:34px;height:48px}.unit-name b{font-size:7px}.unit-name{margin-bottom:5px}.bar{height:17px}.energy,.cc{height:13px}.dr-row,.p-effects{top:73px}.dr-chip{font-size:7px;padding:4px}.dr-chip b{font-size:9px}.enemy-med{right:-13px;top:42px}.minimap-shell{width:100px;top:52px;right:12px}.minimap-shell canvas{width:100px;height:100px}.minimap-shell span{font-size:6px}.minimap-shell small{display:none}.dock{width:calc(100% - 18px);bottom:7px;padding:6px}.actions{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.action{aspect-ratio:auto;height:50px}.action .key{font-size:11px}.action .cooldown-num{font-size:20px}.action .spell-name{font-size:7px}.mission{bottom:188px;width:247px;padding:8px 10px}.mission p{font-size:9px}.dock-help{font-size:7px;gap:6px}.dock-help b{font-size:7px}.dock-info{font-size:7px;gap:7px;height:24px}.dock-info #combatTimer{min-width:103px}.dock-info #combatStatus{min-width:59px}.combat-track{width:50px}.combo{gap:5px}.auto-label{margin-left:8px;font-size:7px}.intro-content{max-width:52vw;top:48%;left:5vw}.intro h1{font-size:52px;margin:17px 0}.intro-lead{font-size:12px}.intro-rule{font-size:9px;margin:14px 0}.intro-note{font-size:8px}.setup-row label{font-size:8px}.setup-row select{font-size:9px;padding:7px 4px}.primary{font-size:10px;padding:12px}.scene-note{right:18px;bottom:18px;font-size:7px}.scene-note span{font-size:6px}.kicker{font-size:7px}.log-panel{top:165px;bottom:190px;right:10px;width:276px}.zone-entry{font-size:30px}.zone-entry small{font-size:9px}.notice{font-size:10px;top:31%}}
@media(max-height:700px) and (min-width:851px){.intro-content{transform:translateY(-44%)}.intro h1{font-size:58px;margin:14px 0}.intro-lead{font-size:12px;line-height:1.6}.intro-rule{font-size:10px;line-height:2;margin:12px 0}.intro-note{font-size:8px}.setup-row select{padding:7px}.mission{bottom:150px}.unit{padding:6px}.frames{top:59px}.dr-row,.p-effects{top:77px}.minimap-shell{top:57px;width:119px}.minimap-shell canvas{width:119px;height:119px}.topbar{height:45px}}
@media(max-width:630px){.frames{gap:10px;width:calc(100% - 30px)}.unit{width:calc(50% - 5px);gap:4px}.portrait{display:none}.unit-name b{font-size:6px}.unit-name span{font-size:6px}.minimap-shell{display:none}.dr-chip{font-size:6px;padding:4px 3px;gap:3px}.dr-chip small{font-size:6px}.mission{width:215px;bottom:184px}.dock-help>span:first-child{display:none}.dock-help{justify-content:flex-end}.action{height:47px}.action .spell-name{font-size:5px}.action .energy-cost{font-size:6px}.action .cooldown-num{font-size:17px}.dock-info{gap:5px}.cp-label,.gcd{display:none}.combat-track{width:30px}.intro-content{max-width:84vw;width:340px;left:8vw}.intro{background:linear-gradient(90deg,#101b20ef,#142126a8 55%,#14212630)}.intro h1{font-size:49px}.scene-note{display:none}.modal{padding:18px}.modal h2{font-size:24px}.select-label{display:block}.select-label select{max-width:100%;width:100%;margin-top:9px}.dock-info #combatTimer{min-width:103px}.auto-label{margin-left:0}.combo{gap:4px}.combo i{width:8px;height:8px}}

/* 0.4 — combat-first HUD: the combo resource belongs to the target frame. */
.frames .unit.warrior{width:426px;}
.target-health{display:flex;align-items:center;gap:9px;}
.target-health>.hp{flex:1;min-width:68px;height:26px;}
.target-combo{height:29px;display:flex;align-items:center;gap:9px;padding:3px 7px;border:1px solid #73603a;border-radius:4px;background:#141310f0;flex:none;}
.target-combo .combo{gap:5px;}
.target-combo .combo i{width:15px;height:15px;background:#28251f;border:2px solid #6b6045;box-shadow:inset 0 1px 4px #000;border-radius:50%;}
.target-combo .combo i.on{border-color:#fff0a0;background:radial-gradient(circle at 35% 28%,#ffffd1,#ffc535 52%,#d9780b);box-shadow:0 0 7px #ffd1399a;}
#comboCount{font:900 22px Arial,sans-serif;line-height:24px;color:#ffdc60;min-width:35px;text-shadow:1px 1px 2px #000;}
#comboCount span{font-size:12px;color:#bba872;}
.target-combo.full{border-color:#ffe577;box-shadow:0 0 12px #ffc73d55;}
.warrior .unit-name b{font-size:10px;}.warrior .unit-name span{font-size:9px;}
.warrior .bar>span{font-size:11px;}.warrior .cc>span{font-size:9px;}
.warrior .dr-row{top:95px;}.warrior .enemy-med{top:66px;right:-12px;}
.target-auras{position:absolute;top:125px;left:1px;display:flex;gap:7px;}
.aura-square{position:relative;width:43px;height:43px;border:2px solid #c586f6;background:#111018;border-radius:2px;box-shadow:0 2px 7px #0009;}
.aura-square>.spell-icon{position:absolute;inset:0;overflow:hidden;}
.aura-square b{position:absolute;inset:0;display:grid;place-items:center;font:bold 21px Arial;color:#fff;-webkit-text-stroke:1px #000;paint-order:stroke fill;text-shadow:1px 2px 2px #000;z-index:2;}
.eye-status{position:absolute;right:0;top:96px;max-width:167px;border:1px solid #ab75d9;background:#24152ef0;padding:4px 7px;font:bold 10px Arial;color:#e0baff;}
.player-control{position:fixed;left:50%;top:41%;transform:translate(-50%,-50%);z-index:9;pointer-events:none;text-align:center;filter:drop-shadow(0 4px 9px #0009);}
.player-control-heading{font:800 15px Arial;color:#f2ddff;letter-spacing:1.4px;text-shadow:0 2px 2px #000;margin-bottom:7px;}
.player-control-square{position:relative;width:102px;height:102px;margin:auto;border:3px solid #e0acff;border-radius:3px;box-shadow:0 0 0 2px #150d1d,0 0 25px #752ba955;overflow:hidden;background:#100b16;}
.player-control-square>.spell-icon{position:absolute;inset:0;}
#playerControlSweep{position:absolute;inset:0;background:conic-gradient(#090515a6 var(--sweep,0deg),transparent 0deg);}
#playerControlTime{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:900 58px Arial,sans-serif;letter-spacing:-3px;-webkit-text-stroke:3px #000;paint-order:stroke fill;text-shadow:2px 0 #000,-2px 0 #000,0 2px #000,0 -2px #000,2px 3px 2px #000;}
#playerControlName{display:block;font:bold 16px Arial;color:#fff;margin-top:9px;text-shadow:0 2px 3px #000;}
body[data-state="intro"] .player-control,body[data-state="settings"] .player-control,body[data-state="help"] .player-control,body[data-state="result"] .player-control,body[data-state="countdown"] .player-control{display:none;}
.action .spell-icon{background:#171618!important;}.action.dim .spell-icon{filter:saturate(.9) brightness(.79);}.action .cooldown{pointer-events:none;}.action .wow-icon{image-rendering:auto;}
.icon-unavailable{display:grid;place-items:center;color:#d5cec3;font:bold 11px Arial;background:#201e22;position:absolute;inset:0;text-align:center;padding:3px;}
@media(min-width:1650px){.frames .unit.warrior{width:468px;}.target-combo .combo i{width:17px;height:17px;}.warrior .dr-row{top:104px;}.warrior .target-auras{top:133px;}.eye-status{top:105px;}.warrior .enemy-med{top:75px;}}
@media(max-width:1150px){.frames .unit.warrior{width:392px;}.target-combo{gap:6px;padding:3px 5px;}.target-combo .combo i{width:14px;height:14px;}#comboCount{font-size:20px;min-width:32px;}.target-health{gap:5px;}}
@media(max-width:850px){.frames .unit.warrior{width:354px;}.warrior .dr-row{top:89px;}.warrior .target-auras{top:118px;}.warrior .enemy-med{top:60px;}.eye-status{top:90px;max-width:145px;font-size:9px;}.target-combo .combo i{width:12px;height:12px;}.target-combo .combo{gap:3px;}.warrior .unit-name b{font-size:8px;}.warrior .unit-name span{font-size:8px;}.player-control-square{width:86px;height:86px;}#playerControlTime{font-size:50px;}}
@media(max-width:630px){.frames{left:9px;width:calc(100% - 20px);gap:6px;}.frames .unit.player{width:33%;}.frames .unit.warrior{width:67%;}.target-combo{gap:3px;padding:2px 3px;}.target-combo .combo i{width:10px;height:10px;}.target-combo .combo{gap:3px;}#comboCount{font-size:17px;min-width:25px;}#comboCount span{font-size:10px;}.warrior .bar>span{font-size:8px;}.warrior .cc>span{font-size:7px;}.target-health>.hp{min-width:41px;}.eye-status{top:159px;left:0;right:auto;}.target-auras .aura-square{width:36px;height:36px;}.player-control{top:42%;}}

.icon-unavailable{font:700 8px/1.2 Arial,sans-serif;color:#eee8dc;text-align:center;overflow-wrap:anywhere;padding:8px 3px;background:#1a1b20;display:grid;place-items:center;width:100%;height:100%;}.aura-square .icon-unavailable{font-size:7px;}

/* 0.5 — quiet combat HUD, stance bar, clockwise GCD reveal. */
#brandHome{background:none;border:0;padding:0;color:inherit;cursor:pointer;pointer-events:auto;}
#brandHome:focus-visible{outline:2px solid #eddb9b;outline-offset:5px;}
.action-stack{position:relative;overflow:hidden;isolation:isolate;padding:2px;}
.actions{grid-template-columns:repeat(16,minmax(0,1fr));}
.normal-actions{position:relative;z-index:1;}
.stealth-actions{position:absolute;inset:2px;z-index:2;transform:translateY(110%);transition:transform .105s cubic-bezier(.4,0,.8,.5);background:#1c1724;pointer-events:none;}
.action-stack.is-stealth .stealth-actions{transform:translateY(0);transition:transform .22s cubic-bezier(.15,.8,.3,1);pointer-events:auto;}
.action-stack.is-stealth .normal-actions{pointer-events:none;}
.action-stack.no-animation .stealth-actions{transition:none!important;}
.stance-strip{position:absolute;left:10px;bottom:calc(100% + 8px);display:flex;align-items:center;gap:10px;padding:5px 11px 5px 5px;border:1px solid #a592576b;border-radius:5px;background:#152023e8;box-shadow:0 4px 12px #0006;}
.stealth-slot{width:58px;height:64px;}
.stealth-slot .action{width:58px;height:64px;aspect-ratio:auto;}
.stealth-slot.is-stealth .action{border-color:#ba86ec;box-shadow:0 0 12px #8846d76b;}
.stealth-caption{display:flex;flex-direction:column;gap:6px;min-width:102px;}
.stealth-caption b{font-size:10px;letter-spacing:1.5px;color:#e3c9ff;}
.stealth-caption small{font-size:10px;color:#c1c8b8;}
.action .cooldown,.action .spell-gcd{position:absolute;inset:2px 2px 13px;height:auto;transform:none;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg var(--reveal,360deg),rgba(0,0,0,.84) var(--reveal,360deg) 360deg);}
.action .cooldown{z-index:2;}
.action .spell-gcd{z-index:3;}
.action .cooldown-num{z-index:4;}
.action .key,.action .energy-cost{z-index:5;}
.action .spell-name{z-index:6;}
.action.dim .spell-icon{filter:saturate(.9) brightness(.9);}
.dock-info .gcd,.dock-info .auto-label{display:none;}
.player-control{transform:translate(-50%,-50%) scale(.6666667);transform-origin:center;}
.notice{display:none!important;}
.setup-row{grid-template-columns:1fr;}.setup-row label{width:100%;}
.mode-description{font-size:11px!important;line-height:1.55!important;color:#ddcbb0!important;min-height:35px;margin:7px 0 12px!important;max-width:380px;}
.mission{bottom:235px;}
body[data-state="intro"] .dock,body[data-state="intro"] .mission,body[data-state="intro"] .frames,body[data-state="intro"] .minimap-shell{display:none;}
@media(min-width:1650px){.mission{bottom:253px;}.stance-strip{bottom:calc(100% + 10px);}.stealth-slot,.stealth-slot .action{width:64px;height:70px;}}
@media(max-width:1150px){.stance-strip{left:8px;gap:8px;}.mission{bottom:219px;}}
@media(max-width:850px){.actions{grid-template-columns:repeat(8,minmax(0,1fr));}.stance-strip{left:6px;bottom:calc(100% + 6px);padding:4px 8px 4px 4px;}.stealth-slot,.stealth-slot .action{width:48px;height:53px;}.stealth-caption{gap:4px;min-width:95px;}.stealth-caption b,.stealth-caption small{font-size:9px;}.mission{bottom:257px;}}
@media(max-height:700px) and (min-width:851px){.mission{bottom:220px;}.stance-strip{padding:4px 7px 4px 4px;}.stealth-slot,.stealth-slot .action{width:46px;height:52px;}.mode-description{font-size:10px!important;min-height:28px;}}
@media(prefers-reduced-motion:reduce){.action-stack .stealth-actions{transition-duration:.01s!important;}}
/* Home remains reachable above the pause/result backdrops. */
.topbar{z-index:25;}
/* v8 rebuild based exclusively on the uploaded v6 project. */
.mission{display:none!important;}
body[data-state="intro"] .donation,body[data-state="bindings"] .donation,body[data-state="rankings"] .donation,body[data-state="replay"] .donation{display:none;}
.donation{position:fixed;left:22px;bottom:clamp(218px,28vh,265px);width:min(290px,26vw);z-index:6;filter:drop-shadow(0 8px 18px #080d10bc);}
.donation a{display:block;padding:11px 14px 12px;text-decoration:none;color:#ede5d0;background:linear-gradient(125deg,#101d22e8,#272316e8);border:1px solid #c8a15a99;border-radius:7px;transition:border-color .2s,transform .2s;}
.donation a:hover{transform:translateY(-3px);border-color:#ffe2a4;}
.donation-top{display:flex;gap:5px;align-items:center;font:bold 10px Arial;letter-spacing:.65px;color:#e9cf96;}
.donation-top span{margin-left:auto;font-size:17px;}
.donation strong{display:block;font-size:14px;letter-spacing:.2px;margin:9px 0 11px;color:#fff7de;}
.donation-bar{height:8px;border:1px solid #e6c77777;border-radius:20px;background:#080e12;overflow:hidden;}
.donation-bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,#b87d33,#f8d87c,#fff4b4);box-shadow:0 0 13px #ffc36670;transition:width .6s;}
.donation-figures{display:flex;justify-content:space-between;margin-top:5px;font:700 11px Arial;color:#ead9a6;}
.donation small{display:block;font:10px/1.5 Arial;color:#b9b9a7;margin-top:9px;}
#stealthSlot .action.stealth-locked{filter:saturate(.08) brightness(.43)!important;border-color:#555!important;box-shadow:none!important;cursor:not-allowed;}
#stealthSlot .action.stealth-locked .spell-icon{filter:grayscale(1) brightness(.5)!important;}
#stealthSlot .action.stealth-ready:not(.active){filter:brightness(1.13);box-shadow:0 0 15px #a972d46b;}
.intro-secondary{display:flex;gap:9px;margin-bottom:12px;max-width:430px;}
.intro-secondary button{flex:1;min-width:0;font-size:11px;padding:12px 7px;line-height:1.3;}
.intro-secondary .keybind-open{background:linear-gradient(130deg,#b18645,#ecc67d);border-color:#f8db9d;color:#181a1d;font-weight:900;box-shadow:0 0 20px #e4b86c55;}
.intro-secondary .keybind-open:hover{filter:brightness(1.15);}
.setup-row{display:flex!important;gap:9px;max-width:430px;}
.setup-row label{flex:1;min-width:0;}
.setup-row input{display:block;width:100%;margin-top:7px;border:1px solid #d1b37488;border-radius:4px;background:#101c23e8;color:#fff3dc;padding:10px 11px;font:bold 12px Arial;}
.nick-error{min-height:13px;font:10px Arial;color:#ffac96;margin-top:5px;}
#modeDescription{margin-top:8px!important;}
.custom-overlay{position:fixed;inset:0;z-index:45;display:grid;place-items:center;padding:24px;background:#061014c9;backdrop-filter:blur(8px);}
.custom-card{width:min(850px,95vw);max-height:min(92vh,950px);min-height:0;display:flex;flex-direction:column;gap:14px;background:linear-gradient(145deg,#1b292d,#171d24 70%,#212016);border:1px solid #d3bb795c;border-radius:10px;padding:24px;box-shadow:0 20px 90px #000e;}
.custom-card header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d3bb7944;padding-bottom:13px;}
.custom-card h2{font:900 clamp(22px,3vw,35px) Georgia;color:#f2e6c3;margin:7px 0 0;}
.custom-card .kicker{font-size:10px;color:#c1a97b;letter-spacing:2px;}
.custom-card p{font:12px/1.6 Arial;color:#c7ceca;}
.key-tabs{display:flex;gap:9px;}
.key-tabs button{flex:1;padding:12px;font:900 12px Arial;letter-spacing:.6px;}
.key-tabs button.selected{border-color:#e9c984;background:#54462c;color:#ffedc4;}
.keybind-prompt{padding:10px 12px;background:#111a21;border-left:3px solid #ceb36d;font:12px/1.4 Arial;color:#e5d3a9;min-height:38px;}
.keybind-prompt.waiting{border-color:#e7b25b;box-shadow:0 0 13px #d3a56744;animation:keyblink .8s infinite alternate;}
@keyframes keyblink{from{background:#241c12;}to{background:#4b3517;}}
.keybind-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;overflow-y:auto;padding-right:8px;min-height:80px;}
.key-row{display:grid;grid-template-columns:39px minmax(0,1fr) minmax(76px,auto) 34px 34px;gap:7px;align-items:center;padding:6px;background:#101a1fd4;border:1px solid #b99d6140;border-radius:5px;}
.key-row .spell-icon{position:relative;display:block;width:39px;height:39px;overflow:hidden;}
.key-row .spell-title{font-weight:800;font-size:11px;color:#eadfc6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.key-row .key-choose{min-width:72px;font:900 11px Arial;color:#fbe3a9;border-color:#c7aa62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:9px 6px;}
.key-row .key-move{padding:6px;font-size:16px;}
.custom-card footer{display:flex;justify-content:space-between;gap:9px;align-items:center;border-top:1px solid #d3bb7944;padding-top:13px;}
.ranking-card{max-width:660px;}
.ranking-scroll{overflow-y:auto;max-height:min(48vh,450px);border:1px solid #c4a35a45;border-radius:6px;}
.ranking-table{width:100%;border-collapse:collapse;table-layout:fixed;}
.ranking-table th{position:sticky;top:0;background:#322d22;text-align:left;color:#edce88;padding:12px;}
.ranking-table td{padding:10px 12px;border-bottom:1px solid #e0be7040;font-weight:700;}
.ranking-table tbody tr:nth-child(1) td{color:#f5df99;}
.ranking-table tbody tr:nth-child(2) td{color:#d8e0dd;}
.ranking-table tbody tr:nth-child(3) td{color:#d4a687;}
.ranking-table th:first-child{width:27%;}.ranking-table th:last-child{width:30%;}
.result-card{position:relative;overflow:hidden;isolation:isolate;max-height:90vh;overflow-y:auto;}
#resultTitle{font:900 clamp(50px,8vw,94px)/1.08 Georgia,serif;letter-spacing:1px;margin:10px 0 12px;}
#result.victory .result-card{border:2px solid #b7dd76;box-shadow:0 0 80px #b4de5847,inset 0 0 48px #9ace3522;}
#result.victory #resultTitle{color:#e8ff9c;text-shadow:0 0 20px #93db6b,0 0 48px #73b837,0 4px 4px #101410;animation:victoryTitle 1.1s ease-out;}
#result.defeat .result-card{border:2px solid #814345;filter:saturate(.82);box-shadow:0 0 65px #450e2460,inset 0 0 85px #551b3540;}
#result.defeat #resultTitle{color:#fe9f94;text-shadow:0 3px 4px #240810,0 0 26px #a0204260;animation:defeatTitle 1.1s ease-out;}
@keyframes victoryTitle{0%{transform:scale(.46) rotate(-4deg);opacity:0;}62%{transform:scale(1.14) rotate(1deg);opacity:1;}100%{transform:scale(1) rotate(0);}}
@keyframes defeatTitle{0%{transform:translateY(-30px) scale(1.16);opacity:0;filter:blur(9px);}100%{transform:none;opacity:1;filter:blur(0);}}
.result-particles{pointer-events:none;position:absolute;inset:0;z-index:-1;overflow:hidden;}
.result-particles i{position:absolute;left:var(--x);top:-20%;height:var(--h);width:var(--w);background:var(--c);opacity:.8;animation:fall var(--d) var(--delay) ease-in-out infinite;transform:rotate(var(--r));}
#result.defeat .result-particles i{width:1px;height:65px;background:#a5bac0;opacity:.12;}
@keyframes fall{to{transform:translate(var(--dx),120vh) rotate(780deg);}}
#resultStats{margin:14px 0!important;text-align:left;max-height:30vh;overflow:auto;min-width:min(470px,82vw);}
.stats-head{margin:11px 0 5px;color:#e4ca8b;border-bottom:1px solid #b99c593d;padding-bottom:4px;font:bold 12px Arial;letter-spacing:.6px;}
.stats-line{display:flex;justify-content:space-between;gap:15px;padding:4px 2px;border-bottom:1px solid #b99c591e;font:12px/1.5 Arial;}
.stats-line b{white-space:nowrap;color:#f3e7c8;}
.stats-total{font-size:15px;color:#dff1c1;margin-bottom:8px;}
.result-actions{display:flex;gap:10px;margin:13px 0;justify-content:center;}
.result-actions button{flex:1;}
.replay-cta{background:linear-gradient(105deg,#5a3927,#b48a55);border-color:#f4d596;font-weight:900;letter-spacing:1px;}
.score-status{font:11px/1.5 Arial;color:#e9ca8c;}
.replay-ui{position:fixed;inset:0;pointer-events:none;z-index:36;display:flex;flex-direction:column;justify-content:space-between;padding:67px 30px 18px;background:linear-gradient(#0810179e,transparent 30%,transparent 63%,#0810179e);}
.replay-banner{display:flex;align-items:center;gap:16px;width:100%;text-shadow:0 2px 4px black;}
.replay-banner .kicker{font-weight:900;color:#f1d7a3;letter-spacing:2px;}
#replayMoment{font:900 22px Georgia;color:#f7e7ce;text-shadow:0 3px 14px #000;}
#replayExit{margin-left:auto;pointer-events:auto;background:#321e1ee8;border-color:#bd8e62;padding:10px 20px;}
.replay-bottom{margin:auto auto 0;width:min(900px,94vw);display:flex;align-items:center;gap:15px;padding:14px 17px;background:#0d1821db;border:1px solid #d1b37496;border-radius:9px;box-shadow:0 9px 30px #0009;pointer-events:auto;}
.replay-buttons{display:flex;gap:6px;}.replay-buttons button{white-space:nowrap;font-weight:800;}
#replaySeek{flex:1;accent-color:#e6be66;min-width:60px;}
#replayTimer{font:bold 12px Arial;color:#ffe1a2;white-space:nowrap;}
body[data-state="replay"] .frames,body[data-state="replay"] .minimap-shell,body[data-state="replay"] .dock,body[data-state="replay"] .player-control,body[data-state="replay"] #worldHud{display:none;}
@media(max-width:1150px){.donation{left:14px;bottom:210px;width:245px;}}
@media(max-width:850px){.donation{bottom:245px;width:205px;}.donation a{padding:9px;}.donation small{display:none;}.intro-secondary button{font-size:9px;padding:10px 5px;}}
@media(max-width:630px){.donation{bottom:206px;left:8px;width:180px;}.donation strong{font-size:11px;}.donation-top{font-size:8px;}.intro-content{max-height:92vh;overflow:auto;}.setup-row{flex-direction:column;}.keybind-rows{grid-template-columns:1fr;}.custom-card{padding:15px;}.replay-ui{padding:48px 10px 14px;}.replay-banner{gap:6px;flex-wrap:wrap;}.replay-bottom{display:block;text-align:center;}.replay-bottom>*{margin:4px 0;}.replay-buttons{justify-content:center;flex-wrap:wrap;}.key-row{grid-template-columns:32px minmax(0,1fr) 82px 28px 28px;gap:4px;}.key-row .spell-icon{width:32px;height:32px;}}
@media(prefers-reduced-motion:reduce){#resultTitle,.result-particles i{animation:none!important;}}
