:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#0c0d10;color:#f4f1e9;--gold:#dfb271;--muted:#9b9ea4;--line:#ffffff22;--display:Impact,'Arial Narrow',Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:wait}button:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}button{border:1px solid var(--line);background:#17191e}button:active{filter:brightness(1.25)}.screen{max-width:1600px;margin:auto;padding:22px 4vw;min-height:100svh;background:radial-gradient(ellipse at 60% 30%,#422a253f,transparent 65%)}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px}.brand{font-family:var(--display);font-size:32px;letter-spacing:-.5px}.brand b{font-weight:inherit;color:var(--gold)}.brand small{display:block;font:10px Arial;letter-spacing:4px;margin-top:5px;color:var(--muted)}.tools{display:flex;gap:7px}.tools button{padding:10px 12px;background:transparent;font-size:12px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold)}.select-heading{display:flex;align-items:end;justify-content:space-between;margin:24px 0 18px}.select-heading h1{margin:8px 0 0;font-size:clamp(32px,4.8vw,64px);line-height:1;font-family:var(--display);font-weight:400;letter-spacing:1px}.select-heading h1 span{color:var(--gold)}#record{font-size:12px;color:var(--muted);max-width:210px;line-height:1.6;text-align:right}#roster{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.card{height:clamp(170px,34vh,380px);position:relative;overflow:hidden;text-align:left;background:#ffffff;border:2px solid #ffffff20;transition:border-color .2s,box-shadow .2s}.card.selected{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold), 0 0 0 2px var(--gold);z-index:5}.card canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom}.card:after{display:none}.card .index{position:absolute;left:8px;top:8px;font-size:11px;color:#f4f1e9;z-index:1;background:#0c0d10e6;padding:3px 6px;border-radius:3px}.card .label{position:absolute;left:8px;bottom:8px;z-index:2;font:clamp(17px,2.2vw,28px) var(--display);letter-spacing:.4px;background:#0c0d10e6;padding:8px 10px;border-radius:4px;max-width:calc(100% - 16px);box-sizing:border-box}.card .label small{display:block;font:10px Arial;letter-spacing:2px;color:#c2b5a4;margin-top:4px}.setup{display:grid;grid-template-columns:1fr 1.3fr .75fr;gap:24px;align-items:center;padding:24px 0}h2{font:30px var(--display);letter-spacing:1px;font-weight:400;margin:0 0 8px}.hero-info p{font-size:12px;letter-spacing:3px;color:var(--gold);margin:0 0 12px}#heroCombo{display:flex;gap:5px;align-items:center;font-size:12px;color:var(--muted)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:27px;padding:6px;background:#ffffff0b;border:1px solid var(--line);font:12px Arial;color:#eee}.segmented{display:flex;margin-bottom:12px;border-bottom:1px solid var(--line)}.segmented button{flex:1;border:0;background:transparent;color:var(--muted);font-size:12px;padding:12px 5px;border-bottom:2px solid transparent}.segmented button.active{color:var(--gold);border-bottom-color:var(--gold)}#towers{display:flex;gap:6px}#towers button{flex:1;padding:12px 6px;font-size:12px;background:#ffffff04}#towers button.active{border-color:var(--gold);color:var(--gold)}#towers small{display:block;color:var(--muted);font-size:10px;margin-top:7px}#duelOptions{display:flex;gap:10px}label{font-size:12px;color:var(--muted)}select{display:block;margin-top:7px;border:1px solid var(--line);padding:8px;background:#16191d;color:#f4f1e9;width:100%}.primary{padding:16px 20px;color:#131215;background:var(--gold);border:0;font-size:15px;letter-spacing:1px;font-weight:700}.secondary{background:transparent;border:1px solid var(--line);padding:12px 16px;font-size:12px;letter-spacing:1px}.start-actions button{width:100%;margin-bottom:8px}.start-actions small{display:block;font-size:11px;color:var(--muted);text-align:center;line-height:1.5}footer{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;font-size:11px;color:#7f838c}.ladder-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.ladder-header h1{font:44px var(--display);margin:10px 0}.ladder-header .secondary{max-width:160px}#tourProgress{color:var(--gold);font-size:20px}#ladderList{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:30px 0}.rung{display:flex;align-items:center;gap:12px;padding:16px;background:#16181d;border:1px solid var(--line);position:relative}.rung.current{border-color:var(--gold);background:#3d2f21}.rung.cleared{opacity:.45}.rung strong{font:22px var(--display)}.rung small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.rung>span{color:var(--gold);font:24px var(--display)}#enterFight{display:block;width:min(400px,100%);margin:auto}
#game{height:100svh;width:100%;background:#08090b;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none}#arena{position:absolute;width:100%;height:100%;object-fit:contain}#hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;gap:22px;pointer-events:none}.health{flex:1}.health>div:first-child{display:flex;justify-content:space-between;align-items:center;font:24px var(--display);text-shadow:0 2px 6px black}.health span{font-size:16px;letter-spacing:6px;color:var(--gold)}.health-track{height:15px;background:#4e1c22;border:1px solid #f4d29d80;box-shadow:0 3px 12px #0008;margin-top:6px}.health-track>div{height:100%;width:100%;background:linear-gradient(90deg,#a98047,#f1d494);transition:width .1s linear}.right .health-track,.right .run-track{transform:scaleX(-1)}.run-track{height:4px;background:#ffffff20;width:70%;margin-top:5px}.run-track>div{height:100%;background:#789ca3;width:100%}.right .run-track{margin-left:auto}.health small{display:block;color:#cbc8bf;text-shadow:0 1px 3px black;margin-top:6px;font-size:10px;letter-spacing:2px}.right small{text-align:right}.timer{text-align:center;min-width:70px;padding-top:3px}.timer strong{font:42px/1 var(--display);display:block;text-shadow:0 3px 12px black}.timer span{font-size:10px;letter-spacing:1px}.battle-tools{position:absolute;top:100px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.battle-tools button{width:35px;height:28px;background:#10182099;font-size:15px}#announcement{position:absolute;top:28%;left:10%;right:10%;font:clamp(30px,7vw,86px)/1 var(--display);letter-spacing:3px;text-align:center;color:#f1c68b;text-shadow:0 4px 15px black;pointer-events:none}#subAnnouncement{position:absolute;top:47%;left:10%;right:10%;text-align:center;font-size:14px;letter-spacing:3px;color:#dfc6a6;text-shadow:0 2px 6px black;pointer-events:none}#combo,#enemyCombo{position:absolute;top:30%;left:6%;font:22px var(--display);color:#f0c084;pointer-events:none}#enemyCombo{left:auto;right:6%;text-align:right}#combo small,#enemyCombo small{display:block;font:12px Arial;margin-top:6px}.controls{position:absolute;bottom:max(17px,env(safe-area-inset-bottom));display:grid;gap:7px;touch-action:none}.controls button{width:59px;height:59px;border-radius:50%;border:1px solid #ffffff55;background:#111922b8;box-shadow:inset 0 0 16px #ffffff0b,0 2px 6px #0008;font-size:14px;touch-action:none}.controls button.down,.quick-specials button.down{background:#d5b27a;color:#16171a;border-color:#ffe2a9;transform:scale(.94)}.movement{left:max(23px,env(safe-area-inset-left));grid-template-columns:repeat(3,59px)}.movement .up{grid-column:2}.movement button:nth-child(2){grid-column:1}.movement .run{position:absolute;bottom:73px;left:0;width:46px;height:46px;font-size:11px;color:#bfcfd2;border-color:#789ca3}.attacks{right:max(23px,env(safe-area-inset-right));grid-template-columns:repeat(3,59px)}.attacks button:nth-child(4){grid-column:1}.attacks button:nth-child(5){grid-column:3}.attacks .block{grid-column:2;grid-row:1/span 2;align-self:center;color:#d2c3ad;border-color:var(--gold);font-size:12px}.attacks b{font-size:20px;display:block}.attacks small{display:block;font-size:8px;letter-spacing:1px;margin-top:3px}.quick-specials{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.quick-specials button{border:1px solid #bca37b77;border-radius:6px;background:#111921cc;color:var(--gold);width:37px;height:34px;font:14px var(--display);touch-action:none}.quick-specials.cooling{opacity:.4}#finish{position:absolute;top:63%;left:50%;transform:translateX(-50%);z-index:4;touch-action:none}#inputHistory{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);font:12px monospace;color:#d4cbbb;white-space:nowrap;pointer-events:none;text-shadow:0 2px 4px black}#practiceHud{position:absolute;top:110px;left:24px;display:flex;align-items:center;gap:12px;font-size:11px}#practiceHud button{font-size:10px;padding:6px}#practiceHud label{font-size:11px}#frameData{color:var(--gold)}#rotate{display:none}dialog{padding:0;border:1px solid #c1a17655;background:#14161d;color:#f4f1e9;width:min(620px,90vw);max-height:85svh}dialog::backdrop{background:#03070cdf;backdrop-filter:blur(8px)}.modal{padding:30px}.modal h2{font-size:40px;margin:12px 0 20px}.modal p{font-size:15px;line-height:1.65;color:#b6b9c0}.modal button{margin-top:10px;width:100%}#modalButtons{margin-top:15px}.moves-table{width:100%;border-collapse:collapse;font-size:13px}.moves-table td{border-bottom:1px solid var(--line);padding:10px 0;line-height:1.5}.moves-table td:last-child{text-align:right;color:var(--gold)}.moves-table small{font-size:11px;color:var(--muted)}.modal .hint{font-size:12px;color:#9b9ea4}.medal{font:72px var(--display);color:var(--gold);text-align:center}.ending{text-align:center}
@media(max-height:520px) and (orientation:landscape){.screen{padding:10px 4vw}header{padding-bottom:7px}.brand{font-size:25px}.brand small{font-size:8px}.tools button{padding:8px 10px;font-size:10px}.select-heading{margin:10px 0}.select-heading h1{font-size:30px}.eyebrow{font-size:9px}.select-heading>div{display:flex;align-items:center;gap:15px}.select-heading>div .eyebrow{display:none}#record{font-size:10px;margin:0}.card{height:39vh}.card .label{bottom:9px;font-size:18px}.card .label small{font-size:8px;letter-spacing:1px;margin-top:4px}.setup{padding:10px 0;gap:15px;grid-template-columns:.9fr 1.4fr .9fr}.hero-info h2{font-size:21px}.hero-info p{font-size:9px;margin-bottom:7px}kbd{padding:4px;min-width:23px;font-size:10px}#heroCombo{font-size:10px;gap:3px}.segmented{margin-bottom:6px}.segmented button{font-size:10px;padding:7px 3px}#towers button{padding:8px 3px;font-size:10px}#towers small{font-size:8px;margin-top:4px}.primary{padding:13px 10px;font-size:12px}.start-actions small{font-size:9px}.start-actions .secondary{font-size:9px;padding:8px}footer{display:none}.health>div:first-child{font-size:19px}.health-track{height:11px;margin-top:3px}.health small{font-size:8px}.timer strong{font-size:31px}.timer span{font-size:9px}.battle-tools{top:76px}.battle-tools button{width:29px;height:24px}.controls{gap:5px;bottom:max(10px,env(safe-area-inset-bottom))}.controls button{width:48px;height:48px}.movement,.attacks{grid-template-columns:repeat(3,48px)}.movement .run{bottom:57px;width:38px;height:38px;font-size:10px}.attacks b{font-size:17px}.attacks small{font-size:7px}.quick-specials{bottom:12px}.quick-specials button{height:27px;width:31px;font-size:12px}#inputHistory{bottom:45px;font-size:10px}#practiceHud{top:87px;font-size:9px}#announcement{top:30%;font-size:54px}#subAnnouncement{font-size:11px;top:49%}.modal{padding:20px}.modal h2{font-size:30px;margin:8px 0 12px}.moves-table{font-size:12px}.moves-table td{padding:7px 0}.ladder-header h1{font-size:28px;margin:7px 0}#ladderList{margin:16px 0;gap:7px}.rung{padding:10px}.rung strong{font-size:17px}.rung small{font-size:8px}.rung>span{font-size:18px}}
@media(max-width:650px) and (orientation:portrait){.screen{padding:18px}.tools button{padding:9px;font-size:10px}.brand{font-size:26px}.brand small{font-size:8px;letter-spacing:3px}.select-heading{margin:22px 0 16px}.select-heading h1{font-size:34px}.eyebrow{font-size:9px;letter-spacing:2px}#record{font-size:10px;max-width:90px}.card{height:180px;grid-column:span 2}#roster{grid-template-columns:repeat(6,1fr);gap:6px}.card:nth-child(4){grid-column:2/span 2}.card .label{font-size:16px;left:6px;bottom:9px}.card .label small{font-size:8px;letter-spacing:.5px}.card .index{font-size:9px;left:7px;top:7px}.setup{grid-template-columns:1fr;gap:17px;padding:20px 0}.hero-info{display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-info h2{font-size:25px;grid-column:1/span 2}.hero-info p{font-size:10px;margin:0}.hero-info #heroCombo{justify-content:end}.start-actions .primary{padding:17px;font-size:15px}.start-actions small{font-size:11px}footer{font-size:9px;line-height:1.6;gap:20px}footer span:last-child{text-align:right}.health>div:first-child{font-size:16px}.health span{font-size:12px}#hud{left:12px;right:12px;gap:8px}.timer strong{font-size:30px}.health small{font-size:8px}.health-track{height:10px}.timer{min-width:45px}.battle-tools{top:90px}#rotate{position:absolute;inset:0;background:#0c0d10f5;z-index:8;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}#rotate span{font-size:80px;color:var(--gold)}#rotate p{color:var(--muted);font-size:14px}#rotate.dismissed{display:none}.controls button{width:43px;height:43px}.movement,.attacks{grid-template-columns:repeat(3,43px)}.controls{gap:4px;bottom:35px}.movement{left:10px}.attacks{right:10px}.movement .run{bottom:55px;width:36px;height:36px}.attacks b{font-size:16px}.attacks .block{font-size:10px}.attacks small{font-size:7px}.quick-specials{bottom:150px}.quick-specials button{width:40px;height:34px}#inputHistory{bottom:195px}#announcement{font-size:33px;top:32%}#subAnnouncement{top:39%;font-size:11px}#finish{top:65%;font-size:13px}#ladderList{grid-template-columns:1fr 1fr}.rung{padding:12px 8px;gap:7px}.rung strong{font-size:18px}.rung small{font-size:8px}.ladder-header{flex-wrap:wrap;gap:10px}.ladder-header h1{font-size:32px}.ladder-header>.secondary{width:100%;max-width:100%}.modal{padding:22px}.modal h2{font-size:30px}.moves-table{font-size:12px}#practiceHud{top:135px;left:12px;flex-wrap:wrap;max-width:90%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Метка происхождения сборки. Неяркая: она для проверки, а не для игрока. */
.build-stamp{display:block;margin-top:4px;font-size:11px;letter-spacing:.06em;opacity:.45}
