:root{--ink: #f3e6d8;--dim: #cdb9a6;--blood: #c4202c;--ember: #ff8a3d;--gold: #d8a84e;--panel: rgba(12, 6, 10, .72);--line: rgba(216, 168, 78, .35);--hero: #ffb347}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#050204;color:var(--ink);font-family:Inter,system-ui,sans-serif}canvas#game{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:default;touch-action:none}html,body{touch-action:manipulation;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;user-select:text}.hidden{display:none!important}kbd{font-family:Inter,sans-serif;font-weight:800;font-size:11px;padding:2px 6px;border-radius:4px;border:1px solid var(--line);background:#0000008c;color:var(--ink)}#hud{position:fixed;inset:0;pointer-events:none}.hud-player{position:absolute;top:18px;left:18px;width:min(320px,44vw);z-index:3}.hud-name{font-family:Cinzel,serif;font-weight:700;letter-spacing:.08em;font-size:15px;margin-bottom:6px;text-shadow:0 2px 6px #000}.bar{position:relative;height:18px;background:#0009;border:1px solid var(--line);border-radius:3px;overflow:hidden}.bar-fill{position:absolute;inset:0;width:100%;background:linear-gradient(90deg,#6d0b14,var(--blood) 60%,#ff4d4d);transition:width .15s}.bar-chip{position:absolute;inset:0;width:100%;background:#f4e3c0;opacity:.75}.bar.hit{animation:barhit .25s}@keyframes barhit{0%{box-shadow:0 0 0 2px #fff,0 0 18px #ff3030}to{box-shadow:none}}.bar-text{position:absolute;inset:0;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 2px #000}.hud-wave{position:absolute;top:14px;left:50%;transform:translate(-50%);text-align:center;text-shadow:0 2px 8px #000}.hud-wave .label{font-family:Cinzel,serif;font-size:12px;letter-spacing:.3em;color:var(--dim)}.hud-wave .value{font-family:Cinzel,serif;font-weight:900;font-size:34px;line-height:1;color:var(--ember)}.hud-wave .sub{font-size:11px;color:var(--dim);margin-top:2px}.hud-score{position:absolute;top:18px;right:18px;text-align:right;font-family:Cinzel,serif;font-weight:700;font-size:18px;line-height:1.5;text-shadow:0 2px 6px #000}.hud-score .label{font-size:11px;letter-spacing:.2em;color:var(--dim)}.banner{position:absolute;top:30%;left:0;right:0;text-align:center;font-family:Cinzel,serif;font-weight:900;font-size:clamp(30px,6vw,64px);letter-spacing:.12em;color:var(--ink);text-shadow:0 0 24px rgba(255,80,30,.7),0 4px 10px #000;opacity:0;transition:opacity .4s,transform .4s;transform:scale(.94)}.banner.show{opacity:1;transform:scale(1)}.countdown{position:absolute;top:22%;left:0;right:0;text-align:center;font-family:Cinzel,serif;font-weight:900;font-size:clamp(60px,12vw,130px);color:#fff4d8;text-shadow:0 0 30px rgba(255,110,40,.8),0 4px 12px #000;pointer-events:none;opacity:0}.countdown.tick{animation:cdtick 1s ease-out forwards}@keyframes cdtick{0%{opacity:0;transform:scale(1.6)}15%{opacity:1;transform:scale(1)}80%{opacity:.9}to{opacity:0;transform:scale(.9)}}.banner small{display:block;font-size:.32em;letter-spacing:.4em;color:var(--dim);margin-top:8px}.bossbar.low{top:170px}.bossbar{position:absolute;top:74px;left:50%;transform:translate(-50%);width:min(560px,80vw);text-align:center}.boss-name{font-family:Cinzel,serif;font-weight:900;letter-spacing:.2em;font-size:13px;text-transform:uppercase;color:#d9b3ff;text-shadow:0 0 12px rgba(140,40,220,.8),0 2px 4px #000;margin-bottom:4px}.bar.boss{height:12px;border-color:#aa5aff80}.bar.boss .bar-fill{background:linear-gradient(90deg,#3a0a5a,#8a2be2 60%,#d08cff)}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(170,0,10,.55));opacity:0;transition:opacity .25s}.screen-flash{position:absolute;inset:0;background:#fff;opacity:0;mix-blend-mode:screen}.skillbar{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;gap:14px}.skill{position:relative;width:64px;height:64px;border-radius:12px;background:#0a0508cc;border:2px solid var(--line);overflow:hidden;box-shadow:0 6px 20px #0009}.skill.small{width:46px;height:46px;border-radius:10px}.skill-icon{position:absolute;inset:6px;border-radius:8px;background:radial-gradient(circle at 50% 40%,var(--hero),transparent 70%);opacity:.9}.skill-icon:after{content:"";position:absolute;inset:0;background:center/60% no-repeat var(--icon);filter:drop-shadow(0 0 4px var(--hero))}.dash-icon{background:radial-gradient(circle at 50% 50%,#d8a84e,transparent 70%)}.cd{position:absolute;inset:0;background:conic-gradient(rgba(0,0,0,.78) calc(var(--cd, 0) * 360deg),transparent 0)}.cd-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;text-shadow:0 2px 4px #000}.skill kbd,.ult kbd{position:absolute;bottom:3px;right:3px;font-size:11px;padding:1px 4px}.skill-name{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);width:84px;text-align:center;line-height:1.15;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--dim);text-transform:uppercase;text-shadow:0 1px 3px #000}.skill{overflow:visible}.skill .cd,.skill .skill-icon{border-radius:10px}.skill.ready{border-color:var(--hero)}.skill.flash{animation:skillflash .3s}@keyframes skillflash{0%{box-shadow:0 0 30px var(--hero)}}.ult{position:relative;width:92px;height:92px}.ult svg{position:absolute;inset:0;transform:rotate(-90deg)}.ult-track{fill:#0a0508d9;stroke:#ffffff1a;stroke-width:8}.ult-fill{fill:none;stroke:var(--hero);stroke-width:8;stroke-linecap:round;stroke-dasharray:276.5;stroke-dashoffset:276.5;filter:drop-shadow(0 0 6px var(--hero));transition:stroke-dashoffset .2s}.ult-core{position:absolute;inset:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,#0003,#000000b3)}.ult-pct{font-family:Cinzel,serif;font-weight:900;font-size:16px;text-shadow:0 2px 4px #000}.ult.full .ult-core{background:radial-gradient(circle,var(--hero),rgba(0,0,0,.6) 75%);animation:ultpulse .9s infinite alternate}.ult.full .ult-pct{font-size:13px;letter-spacing:.1em}@keyframes ultpulse{to{box-shadow:0 0 34px var(--hero),inset 0 0 20px #fff}}.ult .skill-name{width:110px;color:var(--ink)}.cutin{position:absolute;inset:0;opacity:0;overflow:hidden}.cutin.show{animation:cutin 1.1s forwards}.cutin-band{position:absolute;left:-10%;right:-10%;top:38%;height:150px;transform:rotate(-8deg) translate(-110%);background:linear-gradient(90deg,rgba(0,0,0,.95),var(--hero) 50%,rgba(0,0,0,.95));display:flex;flex-direction:column;justify-content:center;padding-left:22%;box-shadow:0 0 60px var(--hero)}.cutin.show .cutin-band{animation:band 1.1s cubic-bezier(.2,.9,.2,1) forwards}.cutin-hero{font-family:Cinzel,serif;font-weight:900;font-size:clamp(26px,5vw,56px);letter-spacing:.12em;color:#fff;text-shadow:0 4px 0 #000,0 0 20px #000}.cutin-skill{font-family:Inter,sans-serif;font-weight:800;font-size:clamp(14px,2.2vw,22px);letter-spacing:.4em;text-transform:uppercase;color:#120806}.speedlines{position:absolute;inset:-20%;background:repeating-conic-gradient(from 0deg at 50% 50%,#fff0 0deg 4deg,#ffffff2e 4.5deg 5deg);mask-image:radial-gradient(circle,transparent 25%,#000 70%);-webkit-mask-image:radial-gradient(circle,transparent 25%,#000 70%)}@keyframes cutin{0%{opacity:0}8%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes band{0%{transform:rotate(-8deg) translate(-110%)}22%{transform:rotate(-8deg) translate(0)}78%{transform:rotate(-8deg) translate(3%)}to{transform:rotate(-8deg) translate(110%)}}#damage-layer{position:absolute;inset:0;overflow:hidden}.dmg{position:absolute;left:0;top:0;will-change:transform;font-family:Cinzel,serif;font-weight:900;font-size:18px;color:#fff;text-shadow:0 0 6px rgba(255,120,40,.9),0 2px 3px #000;transform:translate(-50%,-50%);white-space:nowrap}.dmg.big{font-size:28px;color:#ffd27a}.dmg.ability{color:var(--hero);font-size:21px}.dmg.hurt{color:#ff5a5a}.dmg.ally{font-size:13px;color:#d8cfc499;text-shadow:0 1px 2px #000}.dmg.ally.big{font-size:17px;color:#e8d6a8}.dmg.heal{color:#7dff9a;text-shadow:0 0 8px rgba(60,255,120,.8),0 2px 3px #000}.heal-slot .skill-icon{background:radial-gradient(circle at 50% 40%,#5dff8a,transparent 70%)}.heal-slot.ready{border-color:#5dff8a}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-content:safe center;gap:22px;padding:24px 16px;text-align:center;overflow-y:auto}#lobby-leave{position:absolute;top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:6px;background:#0c0705bf;color:var(--ink)}#lobby{gap:16px}#title{background:linear-gradient(180deg,#050204cc,#0502041a 40%,#05020433 60%,#050204eb);justify-content:space-between}.title-block{margin-top:4vh}.kicker{font-family:Cinzel,serif;letter-spacing:.45em;font-size:12px;color:var(--gold);text-transform:uppercase}h1{font-family:Cinzel,serif;font-weight:900;font-size:clamp(38px,8vw,96px);margin:6px 0 4px;letter-spacing:.06em;line-height:1;background:linear-gradient(180deg,#fff1dc,#ff9a4a 55%,#b5161f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px rgba(255,60,20,.45))}h2{font-family:Cinzel,serif;font-weight:900;letter-spacing:.1em;margin:0}.acct-share{margin-left:8px;padding:6px 12px;min-height:36px;font-size:12px;vertical-align:middle}body.touch .keys-only-grid,body:not(.touch) .touch-only-grid{display:none}#coop,#lobby,#map,#forge,#trials,#friends,#controls{background:radial-gradient(ellipse at center,#0a0506cc,#060304e6 55%,#030102f5);-webkit-backdrop-filter:blur(6px) saturate(.7);backdrop-filter:blur(6px) saturate(.7)}.tag{color:var(--dim);margin:0;font-size:15px;font-style:italic;line-height:1.6}.menu{display:flex;flex-direction:column;gap:10px;min-width:min(320px,80vw);margin-top:auto}.menu-item{font-family:Cinzel,serif;font-weight:700;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);background:#0a0508a6;border:1px solid var(--line);border-radius:4px;padding:14px 20px;cursor:pointer;transition:all .15s}.menu-item:hover{border-color:var(--ember);background:#3c0e0abf;transform:translate(4px)}.menu-item.primary{color:#1a0604;background:linear-gradient(180deg,#ffc067,#e0602a);border:none;box-shadow:0 6px 30px #ff5a1e66}.menu-item.primary:hover{filter:brightness(1.1)}.pill{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.1em;padding:2px 6px;border-radius:10px;background:var(--line);vertical-align:middle;margin-left:6px}.menu-foot{color:var(--dim);font-size:12px;margin-bottom:2vh}#select{background:linear-gradient(90deg,#050204eb,#05020433 32% 66%,#050204eb);justify-content:space-between}.select-head{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:space-between}.back{font:inherit;color:var(--dim);background:none;border:none;cursor:pointer;font-size:15px}.back:hover{color:var(--ink)}.select-body{flex:1;width:100%;max-width:1200px;display:grid;grid-template-columns:300px 1fr 340px;gap:20px;align-items:center}.roster{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-card{cursor:pointer;padding:14px 10px;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;text-align:left;transition:transform .15s,border-color .15s,background .15s}.hero-card:hover{transform:translateY(-2px);border-color:var(--gold)}.hero-card.selected{border-color:var(--c);background:#280c0ae6;box-shadow:0 0 22px color-mix(in srgb,var(--c) 45%,transparent)}.hero-card .n{font-family:Cinzel,serif;font-weight:700;font-size:15px}.hero-card .r{font-size:10px;letter-spacing:.15em;color:var(--c);text-transform:uppercase;margin-top:2px}.hero-panel{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.hero-panel h3{font-family:Cinzel,serif;font-weight:900;font-size:26px;margin:0;letter-spacing:.06em}.hero-panel .role{color:var(--hero);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.hero-panel .blurb{color:var(--dim);font-size:13px;margin:8px 0 12px}.statbars{display:grid;grid-template-columns:70px 1fr;gap:6px 10px;font-size:11px;color:var(--dim);align-items:center;margin-bottom:14px}.statbars i{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--hero),transparent)}.kit{display:flex;flex-direction:column;gap:8px}.kit div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;font-size:12px;color:var(--dim)}.kit kbd{text-align:center}.kit b{color:var(--ink);display:block;font-size:13px}#start-btn{margin-bottom:2vh}#controls{background:#050204e6}.controls-grid{display:grid;gap:10px;text-align:left}.controls-grid{max-width:640px;width:100%}.controls-grid div{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--dim)}.controls-grid div span{margin-left:auto;width:calc(100% - 190px);min-width:200px}.cta,.ghost{pointer-events:auto;font-family:Cinzel,serif;font-weight:700;font-size:18px;letter-spacing:.15em;padding:14px 40px;border-radius:4px;cursor:pointer;text-transform:uppercase}.cta{color:#1a0604;background:linear-gradient(180deg,#ffc067,#e0602a);border:none;box-shadow:0 6px 30px #ff5a1e66}.cta:disabled{opacity:.5;cursor:default}.cta:not(:disabled):hover{filter:brightness(1.1)}.ghost{color:var(--ink);background:transparent;border:1px solid var(--line)}.ghost:hover{border-color:var(--gold)}#gameover{background:radial-gradient(ellipse at center,#280006bf,#000000eb)}.fallen{font-size:clamp(34px,7vw,72px);color:var(--blood);text-shadow:0 0 30px rgba(200,20,30,.6)}.stats{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:18px;font-family:Cinzel,serif}.stats div{display:flex;flex-direction:column}.stats .v{font-size:30px;font-weight:900;color:var(--ink)}.stats .k{font-size:11px;letter-spacing:.2em;color:var(--dim)}.stats .best{color:var(--ember)}.row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}#loading{background:#050204;z-index:5;justify-content:flex-end;padding-bottom:max(48px,7vh);overflow:hidden;transition:opacity .8s ease}#loading.fading{opacity:0;pointer-events:none}.load-art{position:absolute;inset:-4%;background:url(../textures/loading-arena.webp) center 35% / cover no-repeat;animation:loadpan 24s ease-out forwards}@keyframes loadpan{0%{transform:scale(1)}to{transform:scale(1.08) translate(-1%,-1%)}}.load-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0502041a,#05020400 35%,#050204bf 68%,#050204f7)}.load-body{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:640px;padding:0 16px}.load-kicker{font-family:Cinzel,serif;font-weight:700;letter-spacing:.35em;font-size:11px;color:var(--ember);text-transform:uppercase}.load-lore{margin:0 auto 6px;max-width:900px;min-height:3em;font-family:Cinzel,serif;font-size:clamp(15px,2.2vw,20px);line-height:1.5;color:#f3e6d0;text-shadow:0 2px 12px #000;transition:opacity .6s ease}.load-lore.out{opacity:0}.loader{width:min(320px,70vw);height:4px;background:#201014;border-radius:2px;overflow:hidden}.loader-fill{height:100%;width:0;background:linear-gradient(90deg,#b5161f,var(--ember));transition:width .2s}.load-text{font-family:Cinzel,serif;font-style:italic;letter-spacing:.08em;font-size:22px;color:var(--gold)}.load-sub{font-family:Cinzel,serif;letter-spacing:.4em;font-size:10px;color:var(--dim);text-transform:uppercase}@media (max-width: 900px){.select-body{grid-template-columns:1fr;overflow-y:auto}.hero-stage{display:none}.roster{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.stats{grid-template-columns:repeat(2,1fr)}.skill{width:52px;height:52px}.ult{width:76px;height:76px}}#coop,#lobby,#trials{background:#050204e0}.coop-box{display:flex;flex-direction:column;gap:14px;align-items:center;min-width:min(340px,86vw)}.or{color:var(--dim);font-size:12px;letter-spacing:.2em;text-transform:uppercase}.join-row{display:flex;gap:10px}#join-code{width:140px;font-family:Cinzel,serif;font-weight:900;font-size:24px;letter-spacing:.3em;text-align:center;text-transform:uppercase;padding:10px;color:var(--ink);background:#00000080;border:1px solid var(--line);border-radius:4px}#join-code:focus{outline:none;border-color:var(--ember)}.coop-status{min-height:18px;color:var(--ember);font-size:13px}.room-code{font-family:Cinzel,serif;font-weight:900;font-size:clamp(48px,10vw,96px);letter-spacing:.3em;color:var(--ember);text-shadow:0 0 30px rgba(255,110,40,.5)}.lobby-list{display:flex;flex-direction:column;gap:8px;width:min(460px,92vw)}.lobby-list>div{display:grid;grid-template-columns:1fr auto 96px;align-items:center;gap:10px;min-height:48px;padding:8px 16px;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--c, var(--line));border-radius:6px;font-family:Cinzel,serif}.lobby-list .you{border-color:var(--ember);border-left-color:var(--c)}.lobby-list .lb-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-list .lb-name small{color:var(--dim);font-size:11px}.lobby-list .crown{font-style:normal;color:var(--gold);margin-right:6px}.lobby-list .lb-hero{color:var(--c, var(--gold))}.lobby-list .lb-state{justify-self:end;font-family:Inter,sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.lobby-list .lb-state.on{color:#7dff9a}.lobby-list .lb-state.host{color:var(--gold)}.lobby-list>div.kickable{grid-template-columns:1fr auto 96px 44px}.menu-players{display:flex;flex-direction:column;gap:6px}.friend-game{border-color:var(--ember)!important;box-shadow:0 0 18px #ff6e2840}.menu-bring{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#0c07058c}.menu-bring .kicker{color:var(--dim);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.menu-bring-row{display:flex;align-items:center;gap:12px}.menu-bring .lobby-qr{width:92px;height:92px;flex:none}.menu-bring-code{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.menu-bring-code b{font-family:Cinzel,serif;font-weight:900;font-size:34px;letter-spacing:.25em;color:var(--ember)}.menu-bring-code button{padding:8px 14px!important;font-size:13px!important}#pause{overflow-y:auto;justify-content:safe center;padding:16px 0}.menu-player{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:Cinzel,serif;font-weight:700}.lb-kick{min-width:40px;min-height:40px;border:1px solid var(--line);border-radius:6px;background:none;color:var(--dim);cursor:pointer}.lb-kick:hover{color:#ff6a5a;border-color:#ff6a5a}.lobby-list .lb-empty{display:flex;justify-content:center;color:var(--dim);border-style:dashed;border-left-width:1px;opacity:.6;font-size:13px}.lobby-top{display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center}.lobby-code-box{display:flex;flex-direction:column;align-items:center;gap:6px}.lobby-qr-box{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--dim);font-size:11px}.lobby-qr{width:118px;height:118px;padding:4px;background:#fff;border-radius:6px}.lobby-qr svg{display:block;width:100%;height:100%}.lobby-hint{color:var(--dim);font-size:13px;min-height:18px;text-align:center}.title-me{position:absolute;top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-height:44px;padding:8px 14px;background:#0c070599;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;cursor:pointer;pointer-events:auto}.title-me b{font-family:Cinzel,serif;font-size:15px;color:var(--gold)}.title-me small{font-size:11px;color:var(--dim);letter-spacing:.06em}.party{margin-top:8px;display:flex;flex-direction:column;gap:5px}.pf{display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto 8px;column-gap:6px;row-gap:3px;align-items:center;padding:5px 8px 6px;width:min(230px,40vw);background:#0a060499;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:4px}.pf b{font-family:Cinzel,serif;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf em{font-style:normal;font-size:13px;color:var(--gold);text-shadow:0 0 8px var(--gold)}.pf small{font-size:12px;font-weight:800;color:#ff7a6a}.pf-hp{grid-column:1 / -1;height:8px;border-radius:3px;background:#0009;overflow:hidden}.pf-hp i{display:block;height:100%;background:linear-gradient(90deg,#6d0b14,var(--blood) 60%,#ff4d4d)}.pf.down{opacity:.6;border-left-color:#ff4d4d}#pings{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ping{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:2px;will-change:transform}.ping i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-style:normal;font-size:20px;color:#fff;background:color-mix(in srgb,var(--c) 55%,#000);border:2px solid var(--c);box-shadow:0 0 18px var(--c);animation:pingpop .9s ease-out infinite}.ping-help i{border-color:#ff5050;box-shadow:0 0 22px #ff5050}.ping span{font-family:Cinzel,serif;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 4px #000}.ping.edge i{width:32px;height:32px;font-size:16px}@keyframes pingpop{0%{transform:scale(1.25)}40%{transform:scale(1)}}.feed{position:absolute;left:18px;top:46%;display:flex;flex-direction:column;gap:4px;pointer-events:none;max-width:min(340px,50vw)}.feed-line{padding:4px 10px;border-left:3px solid var(--c);background:#0a0604a6;border-radius:3px;font-size:13px;color:var(--ink)}.feed-line b{color:var(--c);font-family:Cinzel,serif}.quick{position:absolute;right:calc(18px + env(safe-area-inset-right));top:96px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:auto}.quick-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#0a0604b3;font-size:22px;cursor:pointer}.quick-menu{display:flex;flex-direction:column;gap:6px}.quick-menu button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:#100906eb;color:var(--ink);font-family:Cinzel,serif;font-weight:700;font-size:14px;cursor:pointer}.quick-menu button i{font-style:normal;width:20px;text-align:center}.touch .quick-menu kbd{display:none}.parry-slot .skill-icon{background:radial-gradient(circle at 50% 40%,#e8f4ff,transparent 70%)}.dmg.parry{font-size:30px;color:#e8f4ff;letter-spacing:.1em;text-shadow:0 0 14px rgba(170,220,255,.95),0 2px 3px #000}#offscreen{position:absolute;inset:0;overflow:hidden}.offarrow{position:absolute;left:0;top:0;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:18px solid rgba(255,50,40,.9);filter:drop-shadow(0 0 6px rgba(255,40,30,.8));will-change:transform,opacity}.offarrow.boss{border-bottom-color:#be5afff2;filter:drop-shadow(0 0 8px rgba(160,60,255,.9));border-left-width:14px;border-right-width:14px;border-bottom-width:24px}.blessing{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at center,#0a06028c,#000000bf);pointer-events:auto;animation:blessin .35s ease-out}@keyframes blessin{0%{opacity:0}}.bless-title{font-family:Cinzel,serif;font-weight:900;font-size:clamp(24px,4vw,40px);letter-spacing:.12em;color:#fff4d8;text-shadow:0 0 24px rgba(255,220,140,.7)}.bless-sub{color:var(--dim);font-size:12px;letter-spacing:.15em;text-transform:uppercase}#bless-timer{color:var(--ember);font-weight:800;margin-left:6px}.bless-cards{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:12px;padding:0 16px}.bless-card{position:relative;width:220px;min-height:230px;padding:22px 18px;display:flex;flex-direction:column;gap:10px;text-align:center;cursor:pointer;color:var(--ink);font:inherit;background:linear-gradient(180deg,color-mix(in srgb,var(--gem) 18%,#0c0608),#0a0507 70%);border:1px solid color-mix(in srgb,var(--gem) 60%,transparent);border-radius:10px;box-shadow:0 0 30px color-mix(in srgb,var(--gem) 25%,transparent),inset 0 1px #ffffff14;transition:transform .15s,box-shadow .15s;animation:cardin .4s ease-out backwards}.bless-card:nth-child(2){animation-delay:.07s}.bless-card:nth-child(3){animation-delay:.14s}@keyframes cardin{0%{opacity:0;transform:translateY(20px)}}.bless-card:hover{transform:translateY(-6px);box-shadow:0 0 46px color-mix(in srgb,var(--gem) 55%,transparent)}.bless-card:before{content:"";width:34px;height:34px;margin:0 auto 4px;transform:rotate(45deg);background:radial-gradient(circle at 35% 35%,#fff,var(--gem) 45%,color-mix(in srgb,var(--gem) 40%,#000));box-shadow:0 0 18px var(--gem);border-radius:4px}.bless-key{position:absolute;top:10px;left:12px;font-weight:800;font-size:12px;color:var(--dim)}.bless-gem{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gem)}.bless-name{font-family:Cinzel,serif;font-weight:900;font-size:19px;line-height:1.2}.bless-desc{font-size:13px;color:var(--dim);line-height:1.45}.bless-row{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap;pointer-events:auto;cursor:pointer;width:fit-content}.gchip{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:2px 8px;border-radius:13px;background:#0a0604a6;border:1px solid color-mix(in srgb,var(--gem, #888) 60%,transparent);font-size:12px;font-weight:800;color:var(--ink)}.gchip i{width:9px;height:9px;transform:rotate(45deg);background:var(--gem);box-shadow:0 0 6px var(--gem);border-radius:2px}.gchip.more{border-color:var(--line);color:var(--dim)}.touch .gchip{min-height:32px}.build-panel{margin-top:8px;width:min(320px,70vw);max-height:50vh;overflow-y:auto;pointer-events:auto;background:#0c0705eb;border:1px solid var(--line);border-radius:6px;padding:8px 10px}.build-head{display:flex;justify-content:space-between;align-items:center;font-family:Cinzel,serif;font-weight:700;color:var(--gold);margin-bottom:6px}.build-head button{min-width:36px;min-height:36px;border:none;background:none;color:var(--dim);font-size:16px;cursor:pointer}.build-item{padding:6px 8px;border-left:3px solid var(--gem);margin-bottom:5px;background:#ffffff08}.build-item b{font-family:Cinzel,serif;font-size:13px}.build-item small{margin-left:6px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gem)}.build-item p{margin:3px 0 0;font-size:12px;color:var(--dim);line-height:1.35}.fade{position:fixed;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#000;opacity:0;pointer-events:none;transition:opacity 1.1s ease}.fade.show{opacity:1}.fade-title{font-family:Cinzel,serif;font-weight:900;font-size:clamp(28px,5vw,56px);letter-spacing:.14em;color:var(--ink);text-shadow:0 0 30px rgba(255,120,40,.5)}.fade-sub{font-family:Cinzel,serif;letter-spacing:.35em;font-size:12px;text-transform:uppercase;color:var(--dim)}.touch .hint,.touch .menu-foot,.touch .skillbar{display:none}.touch-ui{position:absolute;inset:0;pointer-events:none;touch-action:none}.stick-zone{position:absolute;left:0;top:30%;bottom:0;width:45%;pointer-events:auto;touch-action:none}.stick{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;left:110px;top:calc(100% - 130px);border-radius:50%;border:2px solid rgba(255,255,255,.18);background:radial-gradient(circle,#ffffff0f,#00000040);opacity:.55;transition:opacity .15s}.stick.on{opacity:1}.knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff8e8,var(--hero) 70%);box-shadow:0 0 18px var(--hero)}.t-cluster{position:absolute;right:calc(28px + env(safe-area-inset-right));bottom:calc(28px + env(safe-area-inset-bottom));width:96px;height:96px;transform:scale(var(--tscale, 1));transform-origin:bottom right}body:not(.touch) .touch-only{display:none!important}.t-btn.pop,.skill.pop{animation:readypop .45s ease-out}@keyframes readypop{0%{filter:brightness(2.2);box-shadow:0 0 26px var(--hero)}to{filter:none}}.t-btn.denied .t-ico,.skill.denied .skill-icon{animation:denied .3s}@keyframes denied{0%,to{translate:0}25%{translate:-4px 0}75%{translate:4px 0}}.t-btn{position:absolute;pointer-events:auto;touch-action:none;border-radius:50%;border:2px solid var(--line);color:var(--ink);font-family:Cinzel,serif;font-weight:900;background:radial-gradient(circle at 50% 35%,#3c1e14d9,#0a0508e6);overflow:hidden;-webkit-user-select:none;user-select:none}.t-btn:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(rgba(0,0,0,.72) calc(var(--cd, 0) * 360deg),transparent 0)}.t-btn.down{transform:scale(.92);filter:brightness(1.3)}.t-btn .t-cd{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-family:Inter,sans-serif;font-size:14px;z-index:1;text-shadow:0 1px 3px #000}.t-attack{inset:0;font-size:38px;border-color:var(--hero);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--hero) 45%,#2a1208),#0a0507);box-shadow:0 0 24px color-mix(in srgb,var(--hero) 40%,transparent)}.t-attack:after{display:none}.t-skill,.t-small{--r: 105px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--r)) rotate(calc(-1 * var(--a)))}.t-skill{width:62px;height:62px;font-size:18px}.t-small{--r: 178px;width:56px;height:56px;font-size:18px}.t-skill.down,.t-small.down{transform:translate(-50%,-50%) rotate(var(--a)) translate(var(--r)) rotate(calc(-1 * var(--a))) scale(.9)}.t-btn.ready{border-color:var(--hero)}.t-ult{width:70px;height:70px}.t-ult.ready{box-shadow:0 0 22px var(--hero);animation:ultpulse .9s infinite alternate}@media (max-height: 500px){.t-cluster{transform:scale(calc(var(--tscale, 1) * .82))}}#blessing:not(.hidden)~#touch,#pause:not(.hidden)~#touch{display:none}.home-hint{margin-top:10px;font-size:13px;color:var(--dim);text-align:center;max-width:360px;line-height:1.4}.home-hint b{color:var(--gold)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:8px;margin:2px 0 10px}.pod{width:120px;display:flex;flex-direction:column;align-items:center;text-align:center}.pod-name{font-family:Cinzel,serif;font-weight:900;font-size:15px;color:var(--c);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pod-hero{font-size:11px;color:var(--dim)}.pod-titles{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;margin:4px 0;min-height:18px}.pod-titles span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:#ffc86e24;color:var(--gold)}.pod-block{width:100%;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;border:1px solid color-mix(in srgb,var(--c) 60%,transparent);border-bottom:none;border-radius:4px 4px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 35%,#1a0e08),#0c0705cc);font-family:Cinzel,serif;font-size:20px;color:#fff4d8}.pod.p1 .pod-block{height:92px;box-shadow:0 0 24px color-mix(in srgb,var(--c) 45%,transparent);font-size:26px}.pod.p2 .pod-block{height:64px}.pod.p3 .pod-block{height:46px}.pod.p4 .pod-block{height:30px;font-size:16px}.pod-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:10px}.pod-table th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600;text-align:right;padding:3px 6px}.pod-table td{text-align:right;padding:4px 6px;border-top:1px solid rgba(255,255,255,.06);font-variant-numeric:tabular-nums}.pod-table th:nth-child(-n+2),.pod-table td:nth-child(-n+2){text-align:left}.pod-table td:nth-child(2){font-weight:800}.pod-table tr.you td{background:#ffc86e12}@media (max-width: 520px){.pod{width:25%}.pod-table{font-size:12px}}.forge-slots{display:flex;align-items:center;gap:6px;color:var(--dim);font-size:13px}.forge-slots i{width:14px;height:14px;transform:rotate(45deg);border:1px solid var(--gold);border-radius:2px}.forge-slots i.on{background:var(--gold);box-shadow:0 0 10px var(--gold)}.forge-slots i.locked{border-color:var(--line);opacity:.5}.forge-slots span{margin-left:6px}.btimer{--t: 1;display:inline-grid;place-items:center;width:34px;height:34px;margin-left:8px;vertical-align:middle;border-radius:50%;font-size:14px;color:var(--ink);background:radial-gradient(closest-side,rgba(12,7,5,.95) 76%,transparent 78%),conic-gradient(var(--ember) calc(var(--t) * 360deg),rgba(255,255,255,.12) 0)}.btimer.low{color:#ff6a5a;animation:ultpulse .5s infinite alternate}.bless-party{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;min-height:22px}.bless-party span{padding:4px 10px;border-radius:12px;border:1px solid var(--c);font-size:13px;color:var(--dim)}.bless-party span.done{color:var(--ink);background:color-mix(in srgb,var(--c) 25%,transparent)}.open-games{display:flex;flex-direction:column;gap:6px;width:100%}.tag.small{font-size:12px;margin:0}.voice-row{align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.voice-note{font-size:12px;color:var(--dim);max-width:280px}body.solo .coop-only{display:none!important}.party{pointer-events:auto}.pf .vo{font-style:normal;font-size:11px;margin-right:4px;opacity:.6}.pf .vo.on{opacity:1}.pf.speaking{box-shadow:0 0 0 2px #7dff9a,0 0 14px #7dff9a99}.ally.speaking .ally-tag{box-shadow:0 0 0 2px #7dff9a,0 0 12px #7dff9ab3;border-radius:4px}.mic-btn{position:absolute;right:calc(18px + env(safe-area-inset-right));top:152px;width:64px;height:64px;border-radius:50%;border:2px solid var(--line);background:#0a0604bf;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.mic-btn span{font-size:24px;line-height:1}.mic-btn small{font-size:10px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase}.mic-btn.on{border-color:#7dff9a;background:#143c1ed9}.mic-btn.talking{box-shadow:0 0 18px #7dff9a}.teach{display:inline-flex;align-items:center;gap:6px;margin-top:6px;min-height:34px;padding:5px 10px;border-radius:5px;border:1px solid var(--line);background:#0a060499;color:var(--dim);font:inherit;font-size:12px;cursor:pointer;pointer-events:auto}.teach b{color:var(--gold);font-family:Cinzel,serif}.teach small{color:var(--dim);font-size:11px}.teach.learn{flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border-color:color-mix(in srgb,var(--gold) 55%,transparent)}.hero-panel{max-height:calc(100vh - 150px);overflow-y:auto}.teach.learn:disabled{opacity:.45;cursor:default}.teach-pick{display:flex;gap:6px;flex-wrap:wrap}.teach.on{color:#1a0604;background:linear-gradient(180deg,#ffc067,#e0602a);border-color:transparent;font-weight:800}.teach-note{margin-top:10px;font-size:11px;color:var(--dim);line-height:1.4}.teach-mats{display:flex;gap:10px;margin-top:4px}.teach-mats span{display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-weight:800}.teach-mats i{width:8px;height:8px;transform:rotate(45deg);background:var(--m);box-shadow:0 0 6px var(--m)}.power-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.pchip{padding:2px 8px;border-radius:10px;font-size:12px;font-weight:800;color:#fff;background:color-mix(in srgb,var(--c) 35%,rgba(0,0,0,.6));border:1px solid var(--c)}.pchip.curse{--c: #b04aff;color:#e6c8ff}.trials-wrap{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;width:min(820px,96vw)}.trials-col{flex:1 1 320px;display:flex;flex-direction:column;gap:8px;text-align:left}.trial{padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;display:grid;gap:4px}.trial.done{border-color:color-mix(in srgb,#7dff9a 60%,transparent)}.trial.done b{color:#7dff9a}.trial-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.trial-top b{font-family:Cinzel,serif;font-size:14px}.trial-top small,.trial-n{font-size:11px;color:var(--dim)}.trial-bar{display:block;height:6px;border-radius:3px;background:#00000080;overflow:hidden}.trial-bar i{display:block;height:100%;background:linear-gradient(90deg,#e0602a,var(--gold))}.mastery-row{display:grid;grid-template-columns:110px 70px 1fr;gap:10px;align-items:center;padding:6px 10px;border-left:3px solid var(--c);background:var(--panel);border-radius:4px;font-size:13px}.mastery-row b{font-family:Cinzel,serif;color:var(--c)}.mastery-line{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;font-size:12px;color:var(--gold);margin:-2px 0 6px}.blessing.arming .bless-card{pointer-events:none;filter:saturate(.4) brightness(.7)}#allies{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ally{position:absolute;left:0;top:0;will-change:transform}.ally-tag{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:3px;white-space:nowrap}.ally-name{font-family:Cinzel,serif;font-weight:700;font-size:12px;color:var(--c);text-shadow:0 0 6px #000,0 1px 2px #000}.ally-hp,.ally-rev{width:64px;height:5px;border-radius:3px;background:#0009;overflow:hidden}.ally-hp i{display:block;height:100%;background:var(--c)}.ally-rev i{display:block;height:100%;background:#7dff9a}.ally.down .ally-name{color:#ff6a6a;animation:allypulse .8s infinite alternate}@keyframes allypulse{to{opacity:.45}}.ally-arrow{display:none;position:absolute;width:0;height:0;margin:-14px 0 0 -10px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:18px solid var(--c);filter:drop-shadow(0 0 6px var(--c))}.ally.edge .ally-arrow{display:block}.ally.edge .ally-tag{transform:translate(-50%,16px)}.ally.down .ally-arrow{border-bottom-color:#ff5a5a;animation:allypulse .6s infinite alternate}.downed{position:absolute;left:50%;top:58%;transform:translate(-50%);text-align:center;pointer-events:none}.downed-title{font-family:Cinzel,serif;font-weight:900;font-size:30px;letter-spacing:.12em;color:#ff5a5a;text-shadow:0 0 20px rgba(255,40,40,.6),0 2px 4px #000}.downed-sub{color:var(--ink);font-size:13px;margin:6px 0 8px;text-shadow:0 1px 3px #000}.downed-bar{width:220px;height:8px;margin:0 auto;border-radius:4px;background:#0009;overflow:hidden}.downed-bar i{display:block;height:100%;width:0;background:#7dff9a;box-shadow:0 0 10px #7dff9a}.skill-icon{display:flex;align-items:center;justify-content:center;color:#fff6e0}.skill-icon svg{width:62%;height:62%;filter:drop-shadow(0 0 4px var(--hero));position:relative;z-index:0}.heal-slot .skill-icon svg{filter:drop-shadow(0 0 4px #5dff8a)}.ult-core{flex-direction:column;gap:0}.ult-icon{width:30px;height:30px;color:#fff6e0;filter:drop-shadow(0 0 5px var(--hero))}.ult-icon svg{width:100%;height:100%}.ult-core .ult-pct{font-size:12px}.t-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff6e0;pointer-events:none}.t-ico svg{width:52%;height:52%;filter:drop-shadow(0 0 4px var(--hero))}.t-attack .t-ico svg{width:56%;height:56%}.t-btn .t-cd{z-index:2}.t-ult .t-cd{align-items:flex-end;padding-bottom:4px;font-size:12px;font-weight:700;color:#ffe6a8}.t-ult .t-ico{align-items:flex-start;padding-top:12px}.t-ult .t-ico svg{width:46%;height:46%}.menu-item.small-item{font-size:13px;padding:10px 16px;opacity:.85}.title-tools{position:absolute;top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));display:flex;gap:8px;pointer-events:auto}.title-tools .menu-item{min-height:44px;letter-spacing:.1em}#title{overflow-y:auto}@media (max-height: 820px){.title-block{margin-top:36px}h1{font-size:clamp(32px,7vw,72px)}.menu{gap:7px}.menu-item{font-size:15px;padding:10px 18px}}@media (max-height: 560px){#title .tag{display:none}.menu-item{padding:8px 16px}}.pause-btn{position:absolute;top:20px;right:150px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#0a06048c;display:none;align-items:center;justify-content:center;gap:5px;cursor:pointer;pointer-events:auto}.pause-btn i{display:block;width:4px;height:14px;border-radius:1px;background:var(--ink)}#hud .pause-btn{display:flex}.pause-menu{display:flex;flex-direction:column;gap:12px;margin-top:18px;min-width:260px}.pause-menu button{padding:12px 28px;font-size:15px}@media (max-width: 700px){.pause-btn{right:110px;top:14px}}.whisper{position:absolute;left:50%;bottom:150px;transform:translate(-50%);width:min(720px,calc(100vw - 32px));text-align:center;font-family:Cinzel,serif;font-style:italic;font-size:clamp(15px,2vw,21px);letter-spacing:.06em;opacity:0;filter:blur(6px);transition:opacity 1.1s ease,filter 1.1s ease,letter-spacing 4s ease;pointer-events:none}.whisper.dark{color:#c9b6e8;text-shadow:0 0 18px rgba(110,60,190,.9),0 0 3px #000,0 2px 8px #000}.whisper.light{color:#ffe3a3;font-style:normal;text-shadow:0 0 16px rgba(255,190,80,.7),0 2px 8px #000}.whisper.show{opacity:1;filter:blur(0);letter-spacing:.1em}body.touch .whisper{bottom:46%}.audio-sliders{display:flex;flex-direction:column;gap:10px;width:min(320px,100%);margin:4px auto;pointer-events:auto}.audio-sliders label{display:grid;grid-template-columns:90px 1fr 40px;align-items:center;gap:12px;font-family:Cinzel,serif;font-size:13px;letter-spacing:.12em;color:var(--ink);text-transform:uppercase}.audio-sliders span{text-align:left}.audio-sliders b{font-weight:400;color:var(--dim);text-align:right;font-size:12px}.audio-sliders input{width:100%;accent-color:#e0602a}.bless-card.art{border-color:var(--gem);box-shadow:0 0 0 1px var(--gem),0 0 26px color-mix(in srgb,var(--gem) 45%,transparent)}.bless-card.art .bless-name{color:#fff}.objective{margin-top:8px;padding:8px 14px;min-width:240px;border:1px solid rgba(255,200,110,.35);border-radius:4px;background:#0a06048c}.obj-title{font-family:Cinzel,serif;font-weight:700;font-size:14px;letter-spacing:.14em;color:var(--gold);text-transform:uppercase}.obj-desc{font-size:12px;color:var(--ink);opacity:.85;margin:2px 0 6px}.obj-bar{height:4px;background:#ffffff1f;border-radius:2px;overflow:hidden}.obj-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#ffcf6a,#fff2c2);transition:width .15s linear}.objective.danger .obj-bar i{background:linear-gradient(90deg,#8a2be2,#d6a6ff)}@media (max-width: 700px){.objective{min-width:0;padding:6px 10px}.obj-desc{display:none}}.bless-hint{font-size:11px;color:var(--gem);opacity:.9;letter-spacing:.04em}.bless-card.awaken{background:linear-gradient(160deg,#a0e6ff2e,#140c08eb 60%);box-shadow:0 0 0 2px #9fe8ff,0 0 40px #9fe8ff8c}.bless-card.awaken .bless-gem{color:#bff1ff}.bless-card.covenant{border-image:linear-gradient(135deg,var(--gem),var(--gem2)) 1;box-shadow:0 0 22px color-mix(in srgb,var(--gem) 35%,transparent),0 0 22px color-mix(in srgb,var(--gem2) 35%,transparent)}.run-card{width:min(560px,100%);padding:14px 18px;border:1px solid var(--line);border-radius:6px;background:#0c0705b3;text-align:left;pointer-events:auto}.run-card .rc-head{display:flex;justify-content:space-between;align-items:baseline;font-family:Cinzel,serif}.run-card .rc-hero{font-size:18px;font-weight:900;color:var(--gold)}.run-card .rc-realm{font-size:12px;letter-spacing:.12em;color:var(--dim);text-transform:uppercase}.run-card .rc-gems{display:flex;gap:10px;margin:10px 0 8px;flex-wrap:wrap}.run-card .rc-gem{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink)}.run-card .rc-gem i{width:10px;height:10px;transform:rotate(45deg);background:var(--gem);box-shadow:0 0 8px var(--gem)}.run-card .rc-list{font-size:12.5px;line-height:1.6;color:var(--ink);opacity:.9}.run-card .rc-list b{color:#bff1ff;font-weight:600}#victory{background:radial-gradient(ellipse at center,#281a0899,#000000e0)}.victory-kicker{font-family:Cinzel,serif;letter-spacing:.4em;font-size:12px;color:var(--ember);text-transform:uppercase}.victory-title{font-size:clamp(30px,6vw,60px);color:#fff4d8;text-shadow:0 0 30px rgba(255,210,120,.7);margin:0}.victory-lore{max-width:560px;font-family:Cinzel,serif;color:#f3e6d0;line-height:1.6;margin:0}.victory-lore em{color:var(--gold)}.manga-cta{font-family:Cinzel,serif;font-size:13px;letter-spacing:.1em;color:var(--gold);pointer-events:auto}.acct{display:flex;flex-direction:column;gap:12px;align-items:center;width:min(420px,100%)}.acct input,.lobby-invite input{flex:1;min-width:0;font-size:15px;padding:10px 12px;color:var(--ink);background:#00000080;border:1px solid var(--line);border-radius:4px}.acct input:focus{outline:none;border-color:var(--ember)}.acct .join-row{width:100%}.acct-me{width:100%;display:flex;flex-direction:column;gap:6px}.acct-code{font-family:Cinzel,serif;font-size:13px;letter-spacing:.12em;color:var(--dim);text-transform:uppercase}.acct-code b{color:var(--gold);font-size:20px;letter-spacing:.25em;margin-left:8px;user-select:all}.friend-list{width:100%;display:flex;flex-direction:column;gap:6px;max-height:40vh;overflow-y:auto}.friend{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;text-align:left}.friend .dot{width:8px;height:8px;border-radius:50%;background:#555;flex:none}.friend.online .dot{background:#4be38a;box-shadow:0 0 8px #4be38a}.friend .who{flex:1;min-width:0}.friend .who b{display:block;font-family:Cinzel,serif;color:var(--ink)}.friend .who small{color:var(--dim);font-size:12px}.friend button{min-height:44px;min-width:44px;padding:8px 14px;font-size:13px}.friend{min-height:56px}.back-link{background:none;border:none;color:var(--dim);font-size:12px;letter-spacing:.1em;text-decoration:underline;cursor:pointer;pointer-events:auto}.friend-badge{display:inline-block;min-width:18px;padding:1px 6px;margin-left:6px;border-radius:9px;background:var(--ember);color:#1a0604;font-size:11px}.lobby-invite{width:min(360px,86vw);display:flex;flex-direction:column;gap:8px;align-items:center}.invite-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;max-width:calc(100vw - 32px);background:#100906f2;border:1px solid var(--ember);border-radius:8px;box-shadow:0 8px 30px #0009;font-family:Cinzel,serif;color:var(--ink);pointer-events:auto;animation:blessin .3s ease-out}.invite-toast button{min-height:44px;min-width:44px;padding:8px 16px;font-size:14px}.acct-keep{width:100%;display:flex;flex-direction:column;gap:8px;align-items:center}.map-wrap{display:flex;gap:18px;align-items:stretch;width:min(1180px,100%);pointer-events:auto}.map-svg{flex:1 1 auto;min-width:0}.citadel-map{width:100%;height:auto;max-height:64vh}.citadel-map .link{stroke:#5a4030;stroke-width:2;stroke-dasharray:6 6}.citadel-map .link.open{stroke:var(--gold);opacity:.7}.citadel-map .node{cursor:pointer}.citadel-map .node .halo{fill:#ffb45a14;stroke:#ffc87840}.citadel-map .node .core{fill:#2a1810;stroke:var(--gold);stroke-width:2}.citadel-map .node.cleared .core{fill:#6a4010}.citadel-map .node.sel .halo{fill:#ffb45a40;stroke:var(--ember);stroke-width:2}.citadel-map .node.locked{cursor:not-allowed;opacity:.55}.citadel-map .node.locked .core{stroke:#5a5050;fill:#151012}.citadel-map .lock{fill:none;stroke:#8a8080;stroke-width:2}.citadel-map .label{fill:#f3e6d0;font-family:Cinzel,serif;font-size:17px;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#000;stroke-width:4px}.citadel-map .stars{fill:var(--gold);font-size:15px;text-anchor:middle;letter-spacing:2px;paint-order:stroke;stroke:#000;stroke-width:3px}.map-panel{flex:0 0 300px;display:flex;flex-direction:column;gap:10px;padding:16px;background:#0c0705bf;border:1px solid var(--line);border-radius:6px;text-align:left}.map-panel h3{margin:0;font-family:Cinzel,serif;color:var(--gold)}.map-panel .meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.map-panel p{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.map-panel .goals{font-size:13px;line-height:1.7;color:var(--ink)}.map-panel .goals .got{color:var(--gold)}.map-panel button{width:100%}.map-panel .cleansing-card{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}@media (max-width: 800px){.map-wrap{flex-direction:column}.map-panel{flex:none}.citadel-map{max-height:46vh}}.stars-big{font-size:36px;color:var(--gold);letter-spacing:6px;text-shadow:0 0 18px rgba(255,200,100,.7)}#map{background:radial-gradient(ellipse at 45% 45%,#180c0ad1,#000000f2)}#forge{background:radial-gradient(ellipse at 50% 30%,#3c1806bf,#000000f0);overflow-y:auto;justify-content:flex-start;padding-top:48px}.smith{max-width:560px}.smith-name{font-family:Cinzel,serif;font-weight:900;font-size:20px;color:var(--gold)}.smith-title{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--dim)}.smith-line{font-family:Cinzel,serif;font-style:italic;color:#f3e6d0;margin:8px 0 0}.mats{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-family:Cinzel,serif}.mats span{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;background:#0006}.mats i{width:10px;height:10px;transform:rotate(45deg);background:var(--m);box-shadow:0 0 8px var(--m)}.forge-hero{font-size:14px;color:var(--ink);display:flex;gap:10px;align-items:center}.forge-hero b{color:var(--gold);font-family:Cinzel,serif}.forge-hero button{padding:6px 12px;font-size:12px}.forge-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;width:min(820px,100%);pointer-events:auto}.forging{display:flex;flex-direction:column;gap:6px;padding:14px;text-align:left;background:#0e0805d9;border:1px solid var(--line);border-radius:6px}.forging.equipped{border-color:var(--ember);box-shadow:0 0 20px #ff782859}.forging h4{margin:0;font-family:Cinzel,serif;color:#f3e6d0}.forging p{margin:0;font-size:13px;line-height:1.45;color:var(--ink);opacity:.9;flex:1}.forging .cost{font-size:12px;color:var(--dim)}.forging .cost .short{color:#ff6a5a}.forging button{padding:8px 12px;font-size:13px}.reward{color:#ffc070;font-family:Cinzel,serif;font-size:14px;letter-spacing:.04em}.forging button:disabled{opacity:.4;filter:grayscale(.8);cursor:not-allowed}.objarrow{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:2px;will-change:transform;animation:objpulse 1.2s ease-in-out infinite}.objarrow i{display:block;width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:26px solid #ffd27a;filter:drop-shadow(0 0 10px rgba(255,200,90,.95))}.objarrow span{font-family:Cinzel,serif;font-size:12px;font-weight:700;color:#ffe2a0;text-shadow:0 1px 4px #000}@keyframes objpulse{50%{opacity:.6}}.menu-item.big{font-size:22px;padding:18px 24px;min-height:60px}.gear-menu{position:absolute;top:calc(100% + 6px);left:0;display:flex;flex-direction:column;gap:6px;min-width:200px;padding:8px;background:#0c0705eb;border:1px solid var(--line);border-radius:8px}.select-side{display:flex;justify-content:flex-end}.menu-corner{position:fixed;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));display:flex;align-items:flex-start;gap:8px;z-index:40;pointer-events:auto}.menu-corner .title-me{position:static}.party-bar{display:flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;background:#0c0705d9;border:1px solid var(--ember);border-radius:22px;color:var(--ink);font:600 12px Inter,sans-serif;cursor:pointer;box-shadow:0 0 16px #ff6e2840}.party-bar .pm{display:flex;align-items:center;gap:5px;padding:3px 8px;border-radius:12px;background:#ffffff0f;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.party-bar .pm i{width:9px;height:9px;border-radius:50%;flex:none}.party-bar .add{font-size:16px;font-weight:800;color:var(--gold);padding:0 4px}.bell{position:relative;width:44px;height:44px;border-radius:50%;background:#0c0705d9;border:1px solid var(--line);font-size:18px;cursor:pointer}.bell .friend-badge{position:absolute;top:-4px;right:-4px;margin:0}.bell-pop{position:fixed;top:calc(66px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));width:min(360px,calc(100vw - 28px));max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px;background:#0c0705f5;border:1px solid var(--line);border-radius:10px;z-index:41;text-align:left;box-shadow:0 12px 40px #0009}.bell-pop .empty{color:var(--dim);font-size:13px;text-align:center;padding:10px}@media (max-width: 700px){.party-bar .pm span{display:none}}.title-me.in-corner-hidden{display:none!important}:root{--bg-0: #080505;--bg-1: #130c0a;--bg-2: #1d1310;--iron: #3a2c24;--bronze: #7a5a32;--gold: #d8a84e;--gold-hi: #f6d58e;--ember: #ff8a3d;--ember-lo: #c84a1a;--blood: #c4202c;--ink: #f4e8d8;--dim: #d4c2ad;--mute: #9c8a78;--line: rgba(216, 168, 78, .38);--panel: rgba(16, 10, 8, .86);--fs-xs: 12px;--fs-s: 14px;--fs-m: 16px;--fs-l: 20px;--fs-xl: 28px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--safe: max(14px, 2.2vmin);--radius: 2px;--z-hud: 1;--z-menu: 10;--z-corner: 40;--z-toast: 60;--corner-tl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M1 17V5l4-4h12' fill='none' stroke='%23d8a84e' stroke-width='1.6'/%3E%3Cpath d='M5 9V7l2-2h2' fill='none' stroke='%23f6d58e' stroke-width='1'/%3E%3Crect x='2.6' y='2.6' width='3' height='3' transform='rotate(45 4.1 4.1)' fill='%23f6d58e'/%3E%3C/svg%3E");--corner-tr: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M17 17V5l-4-4H1' fill='none' stroke='%23d8a84e' stroke-width='1.6'/%3E%3Cpath d='M13 9V7l-2-2H9' fill='none' stroke='%23f6d58e' stroke-width='1'/%3E%3Crect x='12.4' y='2.6' width='3' height='3' transform='rotate(45 13.9 4.1)' fill='%23f6d58e'/%3E%3C/svg%3E");--corner-bl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M1 1v12l4 4h12' fill='none' stroke='%23d8a84e' stroke-width='1.6'/%3E%3Cpath d='M5 9v2l2 2h2' fill='none' stroke='%23f6d58e' stroke-width='1'/%3E%3Crect x='2.6' y='12.4' width='3' height='3' transform='rotate(45 4.1 13.9)' fill='%23f6d58e'/%3E%3C/svg%3E");--corner-br: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M17 1v12l-4 4H1' fill='none' stroke='%23d8a84e' stroke-width='1.6'/%3E%3Cpath d='M13 9v2l-2 2H9' fill='none' stroke='%23f6d58e' stroke-width='1'/%3E%3Crect x='12.4' y='12.4' width='3' height='3' transform='rotate(45 13.9 13.9)' fill='%23f6d58e'/%3E%3C/svg%3E");--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .42 0 0 0 0 .3 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}body{font-size:var(--fs-m)}.panel,.hero-panel,.map-panel,.trial,.forging,.run-card,.bell-pop,.build-panel,.gear-menu,.menu-bring,.invite-toast,.coop-box,.acct,.lobby-list>div:not(.lb-empty),.friend,.mastery-row,.objective{border-radius:var(--radius);border:1px solid var(--bronze);background:var(--corner-tl) top left / 18px no-repeat,var(--corner-tr) top right / 18px no-repeat,var(--corner-bl) bottom left / 18px no-repeat,var(--corner-br) bottom right / 18px no-repeat,var(--grain),linear-gradient(180deg,#221610eb,#0e0907f0);box-shadow:inset 0 1px #f6d58e1f,inset 0 0 0 1px #0009,inset 0 -14px 24px #00000059,0 10px 30px #0000008c}.friend,.lobby-list>div:not(.lb-empty),.mastery-row,.trial{background:var(--grain),linear-gradient(180deg,#1e140feb,#0f0a08f0)}.coop-box,.acct{padding:var(--sp-5)}.objective{padding:10px 16px;min-width:280px}.obj-title{font-size:15px}.obj-desc{font-size:13px;opacity:1}.obj-bar{height:6px;background:#0009;border:1px solid rgba(216,168,78,.3);border-radius:0}.lobby-list>div:not(.lb-empty){border-left:4px solid var(--c, var(--bronze))}.mastery-row{border-left:4px solid var(--c)}.pf{border-radius:var(--radius);border-color:var(--bronze);background:linear-gradient(180deg,#1e140fd9,#0c0806d9)}.menu-item,.cta,.ghost,.teach,.bell,.quick-btn,.lb-kick,.pause-btn{border-radius:var(--radius);transition:transform .12s ease,box-shadow .15s ease,filter .15s ease,border-color .15s ease,background .15s ease}.cta,.menu-item.primary{color:#1d0703;border:1px solid #ffd08a;background:linear-gradient(180deg,#ffd08a,#ff9a4a 45%,#d8541f);box-shadow:inset 0 1px #ffffff8c,inset 0 -3px #781e068c,0 0 0 1px #000000b3,0 8px 28px #ff641e59;text-shadow:0 1px 0 rgba(255,230,190,.6)}.cta:not(:disabled):hover,.menu-item.primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:inset 0 1px #fff9,inset 0 -3px #781e068c,0 0 0 1px #000000b3,0 10px 36px #ff78288c}.ghost,.menu-item:not(.primary),.teach{color:var(--ink);border:1px solid var(--bronze);background:linear-gradient(180deg,#3a2a20eb,#18100cf2);box-shadow:inset 0 1px #f6d58e2e,inset 0 -2px #00000080,0 0 0 1px #0009,0 4px 14px #00000073}.ghost:not(:disabled):hover,.menu-item:not(.primary):hover,.teach:not(:disabled):hover{border-color:var(--gold);transform:translateY(-2px);background:linear-gradient(180deg,#4c3626f2,#1e140ef2);box-shadow:inset 0 1px #f6d58e4d,inset 0 -2px #00000080,0 0 0 1px #0009,0 0 18px #d8a84e59}.menu-item:hover{transform:translateY(-2px)}.cta:active,.ghost:active,.menu-item:active,.teach:active{transform:translateY(1px) scale(.985);filter:brightness(.92)}.cta:focus-visible,.ghost:focus-visible,.menu-item:focus-visible,.teach:focus-visible,.back:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}.cta:focus:not(:focus-visible),.ghost:focus:not(:focus-visible),.menu-item:focus:not(:focus-visible){outline:none}.cta:disabled,.ghost:disabled,.teach:disabled{opacity:.45;filter:grayscale(.7);cursor:not-allowed;transform:none}.back{font-family:Cinzel,serif;font-weight:700;font-size:15px;letter-spacing:.1em;color:var(--dim);padding:8px 4px}.back:hover{color:var(--gold-hi)}#title .menu .menu-item.small-item{font-size:18px;padding:14px 20px;opacity:1}.tag{color:var(--dim);font-size:var(--fs-m);font-style:italic}#title .tag{font-size:clamp(15px,1.9vw,19px);color:#ecdcc6;text-shadow:0 2px 10px #000,0 0 2px #000;font-style:normal;letter-spacing:.02em}.or{font-size:var(--fs-xs);color:var(--gold)}.hero-panel .blurb,.map-panel p,.forging p,.friend .who small,.trial-top small,.trial-n,.kit div{font-size:var(--fs-s);color:var(--dim)}.kit b{font-size:15px}.trial-top b{font-size:16px}.hero-card .r{font-size:11px}kbd{border-radius:var(--radius);border-color:var(--bronze);background:linear-gradient(180deg,#2a1d16,#120b08);color:var(--gold-hi)}.trial-bar,.pf-hp,.ally-hp,.loader,.downed-bar,.obj-bar{background:linear-gradient(180deg,#050303,#1a110d);border:1px solid rgba(216,168,78,.35);border-radius:0;box-shadow:inset 0 1px 3px #000c}.trial-bar{height:10px}.trial-bar i{background:linear-gradient(180deg,#ffe39a,var(--gold) 50%,#a8701e);box-shadow:0 0 8px #ffc86473}.screen{padding:calc(var(--safe) + env(safe-area-inset-top)) calc(var(--safe) + env(safe-area-inset-right)) calc(var(--safe) + env(safe-area-inset-bottom)) calc(var(--safe) + env(safe-area-inset-left))}.hud-player{top:var(--safe);left:calc(var(--safe) + env(safe-area-inset-left))}.hud-score{top:var(--safe);right:calc(var(--safe) + env(safe-area-inset-right))}.skillbar{bottom:calc(var(--safe) + 10px + env(safe-area-inset-bottom))}h2{color:#fbecd2;text-shadow:0 2px 14px rgba(0,0,0,.9),0 0 24px rgba(216,120,40,.25)}#title{align-items:flex-start;padding-left:calc(var(--safe) * 2.5 + env(safe-area-inset-left));background:linear-gradient(90deg,#050204eb,#050204b3 30%,#05020400 55%),radial-gradient(ellipse at 70% 55%,transparent 40%,rgba(0,0,0,.7) 100%)}#title .title-block{text-align:left;margin-top:9vh;max-width:640px}#title h1{font-size:clamp(40px,7vw,92px)}#title .menu{margin-top:4vh;min-width:min(360px,80vw)}#title .menu .menu-item{text-align:left;padding-left:26px}#title .menu-foot{align-self:flex-start}#title .home-hint{text-align:left;margin-left:0}@media (max-width: 760px){#title{align-items:center;padding-left:var(--safe)}#title .title-block{text-align:center}#title .menu .menu-item{text-align:center;padding-left:20px}#title .menu-foot{align-self:center}}.ic{display:inline-flex;width:1.25em;height:1.25em;flex:none;vertical-align:-.25em}.ic svg{width:100%;height:100%}.currency{display:flex;align-items:center;gap:4px;min-height:44px;padding:4px 10px;border:1px solid var(--bronze);border-radius:var(--radius);background:linear-gradient(180deg,#221610eb,#0e0907f0);box-shadow:inset 0 1px #f6d58e1f,0 6px 18px #00000080}.mchip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-family:Cinzel,serif;font-weight:700;font-size:15px;color:var(--ink);white-space:nowrap}.mchip .ic{width:20px;height:20px;filter:drop-shadow(0 0 4px rgba(0,0,0,.8))}.mchip small{font-family:Inter,sans-serif;font-weight:600;font-size:12px;color:var(--dim);margin-left:2px}.rchips{display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:center}.rchips .mchip{padding:4px 10px;border:1px solid rgba(216,168,78,.4);background:#00000073;border-radius:var(--radius)}.rchips .mchip b{color:var(--gold-hi)}.rc-rewards{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid rgba(216,168,78,.2)}.teach-mats{gap:4px}.teach-mats .mchip{font-size:13px}.mats .mat-row{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:15px;border:1px solid var(--bronze);border-radius:var(--radius);background:#00000073}.mats .mat-row .ic{width:22px;height:22px}.mats .mat-row b{color:var(--gold-hi)}.gchip .gem-ic,.rc-gem .gem-ic{width:16px;height:16px}.gchip i,.rc-gem i{display:none}@media (max-width: 760px){.currency{padding:2px 6px}.mchip{font-size:13px;padding:2px 3px}.mchip .ic{width:16px;height:16px}}.trial{grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:12px 14px}.trial-ic{width:30px;height:30px;display:grid;place-items:center;color:var(--gold);border:1px solid var(--bronze);background:#0006}.trial-ic svg{width:20px;height:20px}.trial-body{display:grid;gap:5px;min-width:0}.trial-name{font-family:Cinzel,serif;font-size:15px;color:var(--ink)}.trial .rchips{flex-direction:column;align-items:stretch;gap:3px;min-width:96px}.trial .rchips .mchip{font-size:13px;padding:2px 8px}.trial .rchips .mchip small{display:none}.trial.done{border-color:#7dff9a8c}.trial.done .trial-ic{color:#7dff9a;border-color:#7dff9a8c}.trial.done .trial-bar i{background:linear-gradient(180deg,#b8ffc8,#4be38a)}#trials-weekly .trial{border-color:var(--gold);box-shadow:0 0 22px #d8a84e40,inset 0 1px #f6d58e33}#trials-weekly .trial-name{color:var(--gold-hi)}.hero-card{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:8px 10px 8px 8px;border-radius:var(--radius);border:1px solid var(--bronze);background:var(--grain),linear-gradient(180deg,#221610eb,#0e0907f0)}.hero-card .portrait{grid-row:1 / 3;width:56px;height:64px;overflow:hidden;border:1px solid rgba(216,168,78,.45);background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--c) 35%,#1a0e08),#0a0605 75%)}.hero-card .portrait img{width:100%;height:100%;object-fit:cover;display:block}.hero-card .portrait img:not([src]){visibility:hidden}.hero-card .n{align-self:end;font-size:15px}.hero-card .r{align-self:start}.hero-card.selected{border-color:var(--c);box-shadow:0 0 0 1px var(--c),0 0 24px color-mix(in srgb,var(--c) 45%,transparent)}.hero-panel h3{font-size:30px}.hero-panel .blurb summary{cursor:pointer;list-style:none;color:var(--ink)}.hero-panel .blurb summary::-webkit-details-marker{display:none}.hero-panel .blurb summary:after{content:" more ›";color:var(--gold);font-size:12px}.hero-panel .blurb[open] summary:after{content:""}.statbars{grid-template-columns:96px 1fr 44px;gap:8px 10px;font-size:13px}.statbars span:first-child,.statbars>span:nth-child(3n+1){display:inline-flex;align-items:center;gap:6px;color:var(--dim)}.statbars .ic{color:var(--gold);width:16px;height:16px}.statbars .sbar{height:8px;background:linear-gradient(180deg,#050303,#1a110d);border:1px solid rgba(216,168,78,.3)}.statbars .sbar i{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--hero) 60%,#000),var(--hero));box-shadow:0 0 8px color-mix(in srgb,var(--hero) 50%,transparent)}.statbars b{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.kit div{grid-template-columns:44px 1fr;gap:10px}.kit-ic{position:relative;width:40px;height:40px;display:grid;place-items:center;color:#fff6e0;border:1px solid var(--bronze);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--hero) 55%,#1a0e08),#0a0605 75%)}.kit-ic svg{width:24px;height:24px;filter:drop-shadow(0 0 4px var(--hero))}.kit-ic.ult{border-color:var(--hero);box-shadow:0 0 12px color-mix(in srgb,var(--hero) 50%,transparent)}.kit-ic kbd{position:absolute;right:-6px;bottom:-6px;font-size:10px;padding:0 4px}.teach.node{flex-direction:row;align-items:center;gap:10px}.teach.node .node-ic{width:26px;height:26px;display:grid;place-items:center;flex:none;color:var(--gold-hi);border:1px solid var(--gold);transform:rotate(45deg)}.teach.node .node-ic>*,.teach.node .node-ic{font-style:normal}.teach.node .node-ic svg{width:14px;height:14px;transform:rotate(-45deg)}.teach.node.ready{border-color:var(--gold);box-shadow:0 0 14px #d8a84e4d}.teach.node.locked{opacity:1;filter:none}.teach.node.locked b{color:var(--mute)}.teach.node.locked .node-ic{color:var(--mute);border-color:var(--mute)}.teach.node small{display:flex;gap:2px;margin-top:2px}.teach.node small .mchip{font-size:12px;padding:0 4px 0 0}.teach.node small .mchip .ic{width:14px;height:14px}.mastery-row{grid-template-columns:150px 70px 1fr}.mastery-row b{display:inline-flex;align-items:center;gap:8px}.mini-portrait{width:30px;height:34px;object-fit:cover;border:1px solid var(--bronze);background:#0a0605}.mini-portrait:not([src]){visibility:hidden}.select-head{padding-right:min(330px,34vw)}.hero-panel{max-height:calc(100vh - 200px)}#select{padding-bottom:calc(var(--safe) + 8px)}.hud-scrim{position:absolute;left:0;right:0;top:0;height:90px;background:linear-gradient(180deg,rgba(4,2,2,.4),transparent);pointer-events:none}.hud-wave{top:calc(var(--safe) - 4px)}.hud-wave .label{font-size:12px;color:var(--gold);letter-spacing:.4em}.hud-wave .value{font-size:44px;color:#ffb066;text-shadow:0 0 18px rgba(255,120,40,.55),0 3px 6px #000}.wave-prog{width:200px;height:6px;margin:6px auto 4px;background:linear-gradient(180deg,#050303,#1a110d);border:1px solid rgba(216,168,78,.45);box-shadow:inset 0 1px 3px #000}.wave-prog i{display:block;height:100%;width:0;margin-left:auto;margin-right:auto;background:linear-gradient(180deg,#ff9a5a,var(--blood));box-shadow:0 0 8px #ff502899;transition:width .25s}.hud-wave .sub{font-size:14px;font-weight:600;color:var(--ink);text-shadow:0 1px 3px #000,0 0 8px #000}.hud-score{font-size:20px;padding:6px 12px;border:1px solid rgba(122,90,50,.7);background:linear-gradient(180deg,#140d0abf,#080504bf)}.hud-score .label{font-size:11px;color:var(--gold)}.pause-btn{right:calc(var(--safe) + 150px + env(safe-area-inset-right));top:calc(var(--safe) + 6px);border-radius:var(--radius);border-color:var(--bronze)}.hud-name{font-size:16px;color:#fbecd2}.bar{height:22px;border:1px solid var(--bronze);border-radius:0;box-shadow:0 0 0 1px #000,inset 0 2px 4px #000c,0 4px 14px #00000080;background:linear-gradient(180deg,#0a0505,#1d100d)}.bar-text{font-size:13px;font-weight:800}.bar.boss{height:14px}.low-hp{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(160,0,12,.6) 100%);transition:opacity .4s}.low-hp.on{animation:lowpulse 1.1s ease-in-out infinite}@keyframes lowpulse{0%,to{opacity:.35}50%{opacity:.9}}.skill{border-radius:var(--radius);border-color:var(--bronze);background:radial-gradient(circle at 50% 30%,#281a12f2,#080504f2)}.skill .cd,.skill .skill-icon{border-radius:0}.skill.ready{border-color:var(--hero);box-shadow:0 0 0 1px #000,0 0 14px color-mix(in srgb,var(--hero) 55%,transparent);animation:readyglow 1.6s ease-in-out infinite}@keyframes readyglow{50%{box-shadow:0 0 0 1px #000,0 0 22px color-mix(in srgb,var(--hero) 80%,transparent)}}.skill kbd,.ult kbd{bottom:-9px;right:50%;transform:translate(50%);min-width:22px;text-align:center;font-size:11px;padding:1px 5px;z-index:2}.skill kbd.wide{font-size:9px;letter-spacing:.04em;padding:1px 4px}.skill-name{font-size:11px;color:var(--ink);opacity:.85}.ult.full{filter:drop-shadow(0 0 16px var(--hero))}.gchip{min-height:30px;padding:3px 10px;font-size:14px;border-radius:var(--radius);background:#0c0806cc}.gchip.more{color:var(--gold)}.hud-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 52%,transparent 60%,rgba(0,0,0,.5) 100%)}.banner{top:150px;padding:14px 0 16px;font-size:clamp(26px,4.6vw,52px);text-shadow:0 0 24px rgba(255,80,30,.7),0 2px 4px #000,0 0 2px #000,0 0 14px rgba(0,0,0,.9)}.banner small{font-family:Inter,sans-serif;font-weight:600;font-size:clamp(13px,1.5vw,16px);letter-spacing:.06em;color:#ecdcc6;text-transform:none;max-width:640px;margin:8px auto 0;padding:0 16px;line-height:1.4}.whisper{bottom:160px;padding:10px 24px;font-size:clamp(17px,2.1vw,22px)}.banner small{text-shadow:0 1px 2px #000,0 0 3px #000,0 0 12px rgba(0,0,0,.95),0 0 24px rgba(0,0,0,.7)}.whisper.dark{text-shadow:0 0 16px rgba(110,60,190,.9),0 1px 2px #000,0 0 3px #000,0 0 12px rgba(0,0,0,.95)}.whisper.light{text-shadow:0 0 14px rgba(255,190,80,.7),0 1px 2px #000,0 0 3px #000,0 0 12px rgba(0,0,0,.95)}.whisper.dark{color:#e4d4ff}.whisper.light{color:#ffe9b8}body.touch .whisper{bottom:auto;top:230px}.bless-card{width:230px;min-height:290px;padding:14px 16px 12px;gap:8px;border-radius:var(--radius);align-items:center;border:1px solid color-mix(in srgb,var(--gem) 70%,#3a2a1a);background:var(--corner-tl) top left / 18px no-repeat,var(--corner-tr) top right / 18px no-repeat,var(--corner-bl) bottom left / 18px no-repeat,var(--corner-br) bottom right / 18px no-repeat,radial-gradient(ellipse at 50% 22%,color-mix(in srgb,var(--gem) 26%,transparent),transparent 60%),linear-gradient(180deg,#1c120d,#0b0706 75%)}.bless-card:before{display:none}.bless-top{width:100%;display:flex;align-items:center;gap:8px}.bless-key{position:static;font-size:12px}.bless-gem{margin-left:auto;padding:3px 8px;font-size:10px;font-weight:800;letter-spacing:.16em;border:1px solid color-mix(in srgb,var(--gem) 60%,transparent);background:color-mix(in srgb,var(--gem) 14%,rgba(0,0,0,.5))}.bless-ic{display:flex;justify-content:center;gap:4px;height:58px;margin:4px 0 2px}.bless-ic svg{width:54px;height:54px;filter:drop-shadow(0 0 12px var(--gem))}.bless-card.covenant .bless-ic svg{width:44px;height:44px}.bless-name{font-size:20px;color:#fff4e0}.bless-desc{font-size:14px;color:var(--dim);flex:1}.bless-desc em{font-style:normal;font-weight:800;color:var(--gold-hi)}.bless-foot{width:100%;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--gem) 30%,transparent);font-size:12px;font-weight:600;color:var(--gem);letter-spacing:.04em}.bless-hint{display:none}.bless-card:hover{transform:translateY(-8px)}.bless-card.chosen{transform:translateY(-14px) scale(1.04);box-shadow:0 0 0 2px var(--gem),0 0 60px color-mix(in srgb,var(--gem) 70%,transparent);transition:transform .2s,box-shadow .2s}.bless-card.passed{opacity:.25;filter:grayscale(.8);transform:translateY(10px) scale(.96);transition:all .25s}.bless-build{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:8px;min-height:30px}.bless-build .bless-count{margin-left:6px;font-size:13px;color:var(--dim)}@media (max-width: 760px){.bless-card{width:200px;min-height:0}.bless-ic{height:44px}.bless-ic svg{width:40px;height:40px}}.slain-by{display:flex;flex-direction:column;gap:4px;margin-top:-8px;font-family:Cinzel,serif;font-size:17px;color:var(--dim)}.slain-by b{color:#ff7a6a}.slain-by em{font-size:15px;color:#d9c4f0;text-shadow:0 0 12px rgba(120,60,200,.6)}.stats div{align-items:center;gap:2px;padding:12px 8px;border:1px solid rgba(122,90,50,.6);background:linear-gradient(180deg,#1e120ecc,#0a0605d9)}.stats .ic{width:22px;height:22px;color:var(--gold)}.stats .v{font-size:34px;font-variant-numeric:tabular-nums}.stats .k{font-size:11px;color:var(--gold)}.stats .is-best{border-color:var(--ember);box-shadow:0 0 24px #ff782873;animation:bestpop .6s 1.2s both}.stats .is-best .k{color:var(--ember);font-weight:800}@keyframes bestpop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.08);opacity:1}}.fallen-next{display:grid;gap:6px;width:min(360px,90vw);font-size:13px;color:var(--gold)}.fallen-next:empty{display:none}#gameover .ghost[data-home]{border-color:var(--bronze)}.run-card{animation:rise .5s .3s both}.stats div{animation:rise .4s both}.stats div:nth-child(2){animation-delay:.08s}.stats div:nth-child(3){animation-delay:.16s}.stats div:nth-child(4){animation-delay:.24s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.party-slots{display:grid;grid-template-columns:repeat(4,minmax(0,150px));gap:12px;width:min(660px,100%)}.pslot{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;min-height:170px;border:1px solid var(--bronze);border-radius:var(--radius);color:var(--ink);font:inherit;background:var(--grain),linear-gradient(180deg,#221610eb,#0e0907f0)}.pslot.filled{border-color:var(--c);box-shadow:0 0 22px color-mix(in srgb,var(--c) 35%,transparent)}.pslot .portrait{width:84px;height:96px;overflow:hidden;border:1px solid rgba(216,168,78,.45);background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--c) 35%,#1a0e08),#0a0605 75%)}.pslot .portrait img{width:100%;height:100%;object-fit:cover}.pslot .portrait img:not([src]){visibility:hidden}.pslot b{font-family:Cinzel,serif;font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pslot small{font-size:12px;color:var(--dim)}.pslot.empty{cursor:pointer;border-style:dashed;justify-content:center;transition:border-color .15s,transform .12s}.pslot.empty:hover{border-color:var(--gold);transform:translateY(-2px)}.pslot .plus{width:56px;height:56px;display:grid;place-items:center;font-size:30px;color:var(--gold);border:1px solid var(--bronze);margin-bottom:8px}.pslot .plus{line-height:1}@media (max-width: 640px){.party-slots{grid-template-columns:repeat(2,1fr)}}.avatar{position:relative;flex:none;width:38px;height:38px;display:grid;place-items:center;font-family:Cinzel,serif;font-weight:900;font-size:17px;color:#fff4e0;background:linear-gradient(160deg,hsl(var(--h) 45% 38%),hsl(var(--h) 50% 16%));border:1px solid var(--bronze)}.avatar i{position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;border-radius:50%;background:#555;border:2px solid #120b08}.friend.online .avatar i{background:#4be38a;box-shadow:0 0 8px #4be38a}#trials-daily,#trials-weekly,#trials-mastery{display:grid;gap:8px}.lockup{display:flex;align-items:center;gap:clamp(12px,2vw,24px)}.emblem{width:clamp(96px,13vw,172px);height:auto;flex:none;filter:drop-shadow(0 0 22px rgba(255,120,40,.45)) drop-shadow(0 4px 10px #000);animation:emblemglow 4s ease-in-out infinite}@keyframes emblemglow{50%{filter:drop-shadow(0 0 34px rgba(255,140,50,.7)) drop-shadow(0 4px 10px #000)}}#title .lockup h1{margin:2px 0 0}.load-emblem{width:clamp(110px,16vw,180px);filter:drop-shadow(0 0 26px rgba(255,120,40,.5)) drop-shadow(0 4px 12px #000);margin-bottom:4px}@media (max-width: 760px){.lockup{flex-direction:column}}@media (max-height: 560px){.emblem{width:80px}}#coop{justify-content:flex-start;padding-top:calc(var(--safe) + 56px);gap:14px}.hub{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:min(900px,100%);align-items:start}.hub-col{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:18px;text-align:left}.hub-h{margin:0 0 4px;font-family:Cinzel,serif;font-weight:900;font-size:18px;letter-spacing:.12em;color:var(--gold-hi);text-transform:uppercase}.hub-col .or{text-align:center}.hub-col .join-row{justify-content:center}.hub-code{font-size:13px;color:var(--dim)}.hub-code b{margin-left:6px;font-family:Cinzel,serif;font-size:18px;letter-spacing:.2em;color:var(--gold);user-select:all}.hub-col .friend-list{max-height:44vh}#coop .party-slots{width:min(900px,100%);grid-template-columns:repeat(4,1fr)}#coop .pslot{min-height:150px}@media (max-width: 760px){.hub{grid-template-columns:1fr}}#coop{justify-content:flex-start;align-items:stretch;gap:18px;padding-top:calc(var(--safe) + 6px)}.hub-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;max-width:1400px;margin:0 auto;padding-right:64px}.hub-head .back{justify-self:start}.hub-title{text-align:center}.hub-title h2{font-size:clamp(24px,3vw,36px);letter-spacing:.14em;color:var(--gold-hi)}.hub-title .tag{margin:2px 0 0;font-size:16px}.hub-code{justify-self:end;display:flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border:1px solid var(--bronze);background:#00000073;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.hub-code b{font-family:Cinzel,serif;font-size:16px;letter-spacing:.16em;color:var(--gold-hi);margin:0}.hub-code .ghost{padding:6px 10px;font-size:12px}.hub{display:grid;grid-template-columns:1fr minmax(300px,380px);gap:24px;width:100%;max-width:1400px;margin:0 auto;align-items:start}.hub-main{display:flex;flex-direction:column;gap:14px;min-width:0}.hub-label{display:flex;align-items:center;gap:12px;font-family:Cinzel,serif;font-weight:700;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;font-size:15px}.hub-label small{font-family:Inter,sans-serif;letter-spacing:0;text-transform:none;color:var(--dim);font-weight:600;font-size:13px}.hub-label i{flex:1;height:1px;background:linear-gradient(90deg,var(--bronze),transparent)}#coop .party-slots{width:100%;grid-template-columns:repeat(4,1fr);gap:16px}#coop .pslot{position:relative;min-height:clamp(260px,48vh,440px);justify-content:flex-end;padding:0 10px 16px;overflow:hidden}#coop .pslot.filled .portrait{position:absolute;inset:0 0 auto;width:100%;height:78%;border:0;background:none}#coop .pslot.filled .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}#coop .pslot.filled:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,transparent,rgba(10,7,5,.96) 55%);pointer-events:none}#coop .pslot.filled>b,#coop .pslot.filled>small{position:relative;z-index:1}#coop .pslot.filled>b{font-size:18px;color:var(--gold-hi)}#coop .pslot.lead{border-color:var(--gold);box-shadow:0 0 30px #d8a84e47}.pslot-tag,.pslot-state{position:absolute;top:10px;z-index:2;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:3px 8px;background:#000000a6}.pslot-tag{left:10px;color:var(--gold-hi);border:1px solid var(--bronze);font-family:Cinzel,serif}.pslot-state{right:10px;display:flex;align-items:center;gap:6px;color:#e8c27a}.pslot-state i{width:8px;height:8px;border-radius:50%;background:#e8a23a;box-shadow:0 0 8px #e8a23a}.pslot-state.on{color:#8fe39f}.pslot-state.on i{background:#5fd97a;box-shadow:0 0 8px #5fd97a}#coop .pslot.empty{justify-content:center;gap:6px;border:2px dashed var(--iron);background:#00000059;color:var(--gold)}#coop .pslot.empty svg{width:42px;height:42px}#coop .pslot.empty b{font-family:Cinzel,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi);font-size:15px}#coop .pslot.empty:hover{border-color:var(--gold);background:#d8a84e0f}.hub-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap}.hub-actions .cta{padding:16px 44px;font-size:20px}.hub-main .open-games{text-align:left}.hub-side{display:flex;flex-direction:column;gap:0;padding:0;text-align:left;max-height:calc(100vh - 150px)}.hub-side-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 12px;border-bottom:1px solid var(--iron);font-family:Cinzel,serif;font-weight:700;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}.hub-side-head small{font-family:Inter,sans-serif;letter-spacing:0;text-transform:none;font-size:13px;color:var(--dim)}.hub-side-head small b{color:#8fe39f}.hub-add{padding:12px 14px;border-bottom:1px solid #2a2218}.hub-add input{flex:1;min-width:0;font-size:14px;padding:9px 12px;color:var(--ink);background:#0e0b08;border:1px solid var(--iron)}.hub-side #hub-msg{padding:0 14px;min-height:0}.hub-side .friend-list{flex:1;max-height:none;overflow-y:auto;gap:0}.hub-side .friend{border:0;border-bottom:1px solid #2a2218;background:none;box-shadow:none;padding:12px 14px}.hub-side .friend:not(.online){opacity:.6}.hub-side .friend button{min-height:36px;padding:6px 14px;font-size:12px}.hub-side-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid var(--iron);font-size:13px;color:var(--dim)}.hub-side-foot .ghost{padding:6px 12px;font-size:12px}@media (max-width: 900px){.hub{grid-template-columns:1fr}#coop .party-slots{grid-template-columns:repeat(2,1fr)}.hub-head{grid-template-columns:auto 1fr;padding-right:64px}.hub-code{grid-column:1 / -1;justify-self:center}.hub-side{max-height:none}}#title .menu .menu-item{display:flex;align-items:center;gap:14px}#title .menu .menu-item.primary{justify-content:center;font-size:26px;letter-spacing:.26em;min-height:72px}.enter-kbd{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.1em;padding:2px 7px;color:#2a1206;background:#ffffff40;border-color:#28140680}.mi{width:22px;height:22px;color:var(--gold);flex:none}.mi svg{width:100%;height:100%}#title .menu .friend-badge{margin-left:auto}.nameplate{position:absolute;right:calc(var(--safe) * 2 + env(safe-area-inset-right));bottom:calc(var(--safe) + 16px);display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:320px;padding:12px 20px;border:1px solid var(--bronze);background:var(--corner-tl) top left / 18px no-repeat,var(--corner-tr) top right / 18px no-repeat,var(--corner-bl) bottom left / 18px no-repeat,var(--corner-br) bottom right / 18px no-repeat,linear-gradient(180deg,#221610e6,#0e0907eb);text-align:left}.nameplate b{display:block;font-family:Cinzel,serif;font-size:20px;letter-spacing:.08em;color:var(--gold-hi)}.nameplate small{display:block;font-size:13px;color:var(--dim);margin-top:3px}.nameplate .np-best{text-align:right}.nameplate .np-best small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 2px}.nameplate .np-best b{color:var(--ink)}@media (max-width: 760px){.nameplate{display:none}}.map-modes{display:flex;gap:8px}.map-modes button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 18px;font-family:Cinzel,serif;font-weight:700;font-size:15px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--dim);border:1px solid var(--bronze);background:#0c0806bf;border-radius:var(--radius)}.map-modes button .ic{color:var(--gold)}.map-modes button.on{color:#1d0703;border-color:#ffd08a;background:linear-gradient(180deg,#ffd08a,#ff9a4a 45%,#d8541f)}.map-modes button.on .ic{color:#1d0703}.esc-list{display:flex;flex-direction:column;gap:10px;max-width:640px;margin:0 auto;text-align:left}.esc-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 12px;align-items:center;padding:14px 18px;cursor:pointer;color:var(--ink);font:inherit;text-align:left;border:1px solid var(--bronze);border-radius:var(--radius);background:var(--grain),linear-gradient(180deg,#221610eb,#0e0907f0)}.esc-card b{font-family:Cinzel,serif;font-size:19px;color:var(--gold-hi)}.esc-card small{grid-column:1;font-size:13px;color:var(--dim)}.esc-card .esc-stars{grid-row:1 / 3;grid-column:2;color:var(--gold);font-size:20px;letter-spacing:3px}.esc-card.sel{border-color:var(--ember);box-shadow:0 0 22px #ff782859}.esc-card:hover{border-color:var(--gold)}#next-btn small,#endless-btn small{display:block;font-size:11px;letter-spacing:.08em;opacity:.8;font-family:Inter,sans-serif;text-transform:none;margin-top:2px}#intro-card{position:fixed;left:6vw;bottom:14vh;z-index:40;pointer-events:none;color:#fff6e0;text-shadow:0 2px 10px #000,0 0 2px #000}#intro-card small{display:block;font-family:Cinzel,serif;font-size:13px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold, #e8c477);opacity:.9}#intro-card .ic-names{font-family:Cinzel,serif;font-weight:900;font-size:clamp(26px,4.4vw,46px);line-height:1.1;margin-top:6px}#intro-card .ic-names b{color:#fff6e0;text-shadow:0 0 18px var(--c),0 2px 10px #000}#intro-card .ic-names i{font-style:normal;opacity:.5;margin:0 .35em}#intro-card .ic-names:not(.solo){font-size:clamp(20px,3vw,32px)}#intro-card em{display:block;font-style:italic;font-size:15px;opacity:.85;margin-top:4px}#intro-card .ic-skip{position:fixed;right:4vw;bottom:5vh;font-size:12px;letter-spacing:.12em;opacity:.6;text-transform:uppercase}#intro-card.in>*{animation:introIn .6s cubic-bezier(.2,.8,.2,1) both}#intro-card.in .ic-names{animation-delay:.15s}#intro-card.in em{animation-delay:.3s}#intro-card.out{opacity:0;transition:opacity .4s}@keyframes introIn{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}.esc-board{margin:10px 0 12px;text-align:left}.board-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.board-head b{font-family:Cinzel,serif;color:var(--gold-hi);font-size:15px}.board-tabs{display:flex;gap:4px}.board-tabs button{font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,210,140,.25);background:transparent;color:var(--dim);cursor:pointer}.board-tabs button.on{color:var(--ink);border-color:var(--gold);background:#ffb4501f}.board-ghost{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;color:var(--dim);margin-bottom:6px}.board-ghost .ic{width:14px;height:14px;vertical-align:-2px}.board-ghost b{color:#b8d4ff;font-weight:600}.board-ghost .link{font:inherit;font-size:12px;background:none;border:0;color:var(--gold);text-decoration:underline;cursor:pointer;padding:2px}.board-rows{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.board-rows li{display:grid;grid-template-columns:22px 1fr auto auto;align-items:center;gap:8px;padding:4px 2px;font-size:13px;border-bottom:1px solid rgba(255,210,140,.08)}.board-rows li.muted{display:block;color:var(--dim);font-size:12px;border:0}.board-rows li.me{color:var(--gold-hi)}.board-rows .rank{color:var(--dim);text-align:right}.board-rows .who small{display:block;font-size:11px;color:var(--dim)}.board-rows .t{font-variant-numeric:tabular-nums}.race-btn{font:inherit;font-size:12px;padding:4px 10px;min-height:28px;border-radius:6px;border:1px solid rgba(160,200,255,.4);background:#78a0ff14;color:#b8d4ff;cursor:pointer}.race-btn.on{background:#78a0ff4d;color:#fff}#wave-left .ahead{color:#7dff9a}#wave-left .behind{color:#ff7a6a}.pb{color:#7dff9a;font-weight:700}.phone-list{display:none}.esc-card.locked{opacity:.5;cursor:not-allowed}body.touch .keys-only,body.touch .enter-kbd,body.touch .menu-foot{display:none!important}#rotate{display:none}@media (orientation: portrait) and (max-width: 600px){body.touch #rotate{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#2a140c,#050203 70%);color:var(--gold-hi)}#rotate svg{animation:rotatehint 2.4s ease-in-out infinite}#rotate b{font-family:Cinzel,serif;font-size:22px}#rotate small{color:var(--dim);font-size:14px}}@keyframes rotatehint{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (max-height: 500px){.screen{gap:10px;overflow-x:hidden}h2{font-size:22px;margin:0}#title .title-block{margin-top:40px}#title .emblem{width:56px}#title h1{font-size:34px}#title .kicker{font-size:10px}#title{align-items:flex-start;padding-left:calc(20px + env(safe-area-inset-left))}#title .title-block{text-align:left}#title .lockup{flex-direction:row}#title .menu{margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-width:0;width:min(560px,66vw)}#title .menu .menu-item.big{font-size:12px;letter-spacing:.08em;padding:8px 6px;min-height:48px;text-align:center;justify-content:center}#title .menu .menu-item .mi{display:none}#title .menu .menu-item.primary{grid-column:1 / -1;font-size:18px}#title .home-hint,#title .nameplate{display:none}.title-tools .menu-item{min-height:36px;padding:6px 12px}#map{justify-content:flex-start;padding-top:calc(10px + env(safe-area-inset-top))}#map h2{display:none}#map .map-modes{align-self:flex-start;margin-left:calc(72px + env(safe-area-inset-left))}#map .map-modes button{padding:8px 10px;font-size:12px;letter-spacing:.06em;min-height:40px}#map .map-panel .cta,#map .map-panel .ghost{padding:10px 12px;font-size:14px}#map .map-wrap{flex-direction:row;gap:10px;min-height:0;flex:1 1 auto}#map .map-svg{overflow-y:auto;max-height:calc(100vh - 70px)}#map .citadel-map{max-height:calc(100vh - 80px)}#map .esc-list .tag,#map .citadel-map{display:none}#map .phone-list{display:flex}.esc-card{padding:8px 12px}.esc-card b{font-size:15px}#map .map-panel{flex:0 0 min(300px,42vw);max-height:calc(100vh - 70px);overflow-y:auto;padding:10px 12px;gap:6px}#map .map-panel p{font-size:12px;line-height:1.4}#map .map-panel .goals{font-size:12px;line-height:1.5}#map .map-panel .cta{position:sticky;bottom:0;z-index:2;box-shadow:0 -8px 16px #080403e6}.screen>.back{position:fixed;top:calc(8px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));z-index:5;background:#0a0604cc;padding:8px 10px}#forge,#trials,#friends,#lobby{justify-content:flex-start;padding-top:calc(12px + env(safe-area-inset-top))}#forge .smith-line,#forge .smith-title{display:none}#forge .mats{gap:6px}.board-rows{max-height:none}#pause .bless-title{font-size:24px}#pause .pause-menu{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:8px;align-items:start;width:min(640px,92vw)}#pause .pause-menu>*{grid-column:2}#pause .pause-menu .audio-sliders{grid-column:1;grid-row:1 / span 8}#pause .pause-menu button{padding:9px 16px;font-size:13px}#coop{gap:8px;padding-top:calc(8px + env(safe-area-inset-top))}.hub-head{grid-template-columns:auto 1fr auto;padding-right:150px;gap:8px}.hub-code{grid-column:auto;justify-self:end}.hub-title h2{font-size:18px}.hub-title .tag{display:none}.hub{grid-template-columns:1fr minmax(200px,38%);gap:10px}.hub-main{gap:8px}.hub-label{font-size:12px}#coop .party-slots{grid-template-columns:repeat(4,1fr);gap:8px}#coop .pslot{min-height:125px;padding:0 6px 8px}.hub-add button,#coop .join-row button,#coop .join-row input{padding:6px 12px;font-size:14px;min-height:40px}#coop .pslot.filled>b{font-size:13px}#coop .pslot.empty svg{width:28px;height:28px}#coop .pslot.empty b{font-size:11px;letter-spacing:.1em}.pslot-tag,.pslot-state{font-size:9px;letter-spacing:.08em;padding:2px 5px;top:6px}.pslot-tag{left:6px}.pslot-state{right:6px}.hub-actions .cta{padding:10px 24px;font-size:16px}.hub-side{max-height:calc(100vh - 70px)}.hub-side-head{padding:8px 12px;font-size:13px}.hub-add,.hub-side .friend{padding:8px 10px}.select-head{padding-right:230px;gap:8px}.select-head h2{white-space:nowrap;font-size:18px}.select-head .back{white-space:nowrap}#select-forge{padding:6px 12px;font-size:13px;white-space:nowrap}.bless-card{min-height:0}}.a2hs{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:16px;background:#040203d1}.a2hs.hidden{display:none}.a2hs-card{display:flex;flex-direction:column;gap:12px;width:min(440px,100%);max-height:100%;overflow-y:auto;padding:18px 20px;text-align:left;border:1px solid var(--bronze);background:linear-gradient(180deg,#221610fa,#0e0907fa);color:var(--ink)}.a2hs-card>b{font-family:Cinzel,serif;font-size:20px;color:var(--gold-hi)}.a2hs-card ol{margin:0;padding-left:20px;display:grid;gap:8px;font-size:15px;line-height:1.4}.a2hs-card ol b{color:var(--gold)}.a2hs-card button{min-height:44px}
