/* CROSSCAST / 4-G: smoked glass, amber edges, luminous physical cards. */
:root{color-scheme:dark;--paper:#080b0d;--panel:#111416;--ink:#f1efe8;--muted:#999c98;--line:#3c3529;--teal:#e5b66b;--tealbg:#2b2316;--red:#ff6a66;--redbg:#3b161a;--gold:#edbe73;--blue:#68c7ff;--radius:13px}
body{background:radial-gradient(ellipse at 44% 31%,#36271742,transparent 57%),radial-gradient(ellipse at 80% 86%,#5b35151c,transparent 45%),#080b0d;color:var(--ink);font-size:13px;min-width:320px}
body:before{content:'';position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff02 0,#ffffff02 1px,transparent 1px,transparent 4px);opacity:.35;z-index:-1}
.app{max-width:1440px;padding:0 28px 16px}.topbar{height:68px;border-color:#a67c3535;position:relative}.brand{gap:11px}.brandmark{background:linear-gradient(145deg,#e1ad60,#7a4e1e);color:#17110a;border-radius:7px;width:32px;height:32px;box-shadow:0 0 20px #e9a5461c,inset 0 1px #ffe4ab;transform:rotate(-9deg);font-size:24px}.brand h1{font-size:20px;letter-spacing:.18em;font-weight:750}.brand small{font-size:8px;letter-spacing:.24em;color:#b89b70;margin-top:1px}.toplinks{gap:7px}.quiet{color:#c9c5bb;background:linear-gradient(#ffffff05,#ffffff00);border-color:#a38a5738;border-radius:6px;font-size:11px;padding:7px 11px}.quiet:hover{background:#c4994a14;border-color:#d3ad6166}.primary{background:linear-gradient(130deg,#f1c67e,#b77d30);color:#1a1208;border:1px solid #f1c788;box-shadow:0 3px 16px #b479271b,inset 0 1px #ffedc280;border-radius:7px;font-weight:750}.primary:hover{background:linear-gradient(130deg,#ffdb9b,#c99546);box-shadow:0 0 20px #dcaa4c22}.primary:disabled{opacity:.45}.mobile-menu-toggle{display:none}.edition{display:none}
body:not(.lobby-open):not(.waiting) .app{height:100dvh;min-height:570px;display:grid;grid-template-rows:56px 26px 28px minmax(0,1fr);padding-bottom:14px}body:not(.lobby-open):not(.waiting) .topbar{height:56px}body:not(.lobby-open):not(.waiting) .brand h1{font-size:17px}body:not(.lobby-open):not(.waiting) .brand small{font-size:7px}
.onlinebar{padding:4px 1px 0;min-height:0;font-size:9px;gap:10px;border:0;color:#a4a59d}.onlinebar #connection{font-size:9px}.onlinebar #peer{font-size:10px;letter-spacing:.03em}.onlinebar .quiet{font-size:9px;padding:2px 8px;min-height:20px}.onlinebar.offline{color:#ff9b80;background:#70301d2b}.statusbar{padding:0;gap:12px}.statusleft{gap:9px}.round{font-size:9px;letter-spacing:.15em;padding-right:9px;border-color:#685133}.round b{display:none}.phase{font-size:10px;font-weight:500;color:#b7b5aa;gap:7px}.dot{width:5px;height:5px;background:#e4b56a;box-shadow:0 0 7px #e3b06599}.tick{font-size:10px;font-variant-numeric:tabular-nums}.tick #timeHelp{display:none}
main{display:grid;grid-template-rows:minmax(0,1fr) 170px;gap:10px;min-height:0}.workspace{display:grid;grid-template-columns:104px minmax(0,1fr) 186px;gap:18px;min-height:0;align-items:center}.duel-hud{display:flex;flex-direction:column;gap:18px;align-items:stretch;z-index:3;align-self:center}.core-panel{position:relative;border:1px solid #89642e72;background:linear-gradient(130deg,#ffffff08,#15141280 60%,#b1772020);box-shadow:inset 0 1px #ffe1a414,0 5px 15px #0005;border-radius:8px;padding:12px 10px 14px;overflow:hidden}.core-panel>span{font-size:9px;letter-spacing:.12em;color:#dcab6e;display:block}.core-panel>b{display:block;font-size:37px;line-height:1.25;letter-spacing:-.05em;color:#fff6e9;text-shadow:0 0 18px #e7b25d22;font-variant-numeric:tabular-nums;font-weight:600}.core-panel>small{font-size:7px;letter-spacing:.15em;color:#7f817b}.core-panel>i{display:block;position:absolute;bottom:0;left:9px;right:9px;height:2px;background:#e1b66b;box-shadow:0 0 12px #ffc36788}.enemy-core{border-color:#a360455c}.enemy-core>span{color:#ef8581}.enemy-core>i{background:#f3837a;box-shadow:0 0 10px #f66d6580}.own-core>span{color:#7bbde5}.own-core>i{background:#62c8ff;box-shadow:0 0 10px #5dc7ff80}
.charge{position:relative;min-width:0;padding:0;background:none;border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;color:#d9b77b}.charge .charge-dial{width:68px;height:68px;overflow:visible;filter:drop-shadow(0 0 6px #e2af5830);transform:rotate(-90deg)}.charge-dial circle{fill:none;stroke:#6e552b33;stroke-width:3}.charge-dial #chargeArc{stroke:#e3b567;stroke-dasharray:169.65;stroke-dashoffset:169.65;stroke-linecap:round}.charge>div:first-of-type{display:flex;flex-direction:column;gap:4px;align-items:center;font-size:9px;white-space:nowrap}.charge>div>b{font-size:15px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:#e9d3aa}.charge .progress,.charge small{display:none}.charge.hand-full .charge-dial{filter:none;opacity:.4}.charge.hand-full>div>b{color:#88897e}
.arena{position:relative;min-width:0;min-height:0;height:100%;max-height:500px;padding:24px 10px 22px;display:grid;grid-template-rows:24px minmax(0,1fr) 20px;background:transparent;border:0;border-radius:0;overflow:visible;isolation:isolate}
.arena:before,.arena>.lane-hints{position:absolute;inset:-12px -35px -12px;pointer-events:none}
.arena:before{content:'';z-index:-2;background:url('/arena-floor.svg') center/100% 100% no-repeat;pointer-events:none;opacity:1}.arena:after{content:'';position:absolute;inset:10% -3% -2%;z-index:-3;background:radial-gradient(ellipse at 50% 90%,#c9872b1a,transparent 60%);filter:blur(20px);pointer-events:none}
.sidecaption,.sidecaption.me{margin:0;min-height:0;align-items:center;justify-content:center;gap:10px;font-size:9px;color:#9c9485}.sidecaption strong{font-size:8px;font-weight:650;letter-spacing:.14em;gap:9px}.sidecaption .avatar{display:none}.sidecaption>span:last-child,.sidecaption.me>span{display:none}.sidecaption strong>span:last-child{font-size:9px;color:#aaa697;font-weight:400;letter-spacing:.01em}.sidecaption.me strong>span:last-child{display:none}.sidecaption.me strong{color:#8dbdd8}.sidecaption:not(.me) strong{color:#d8a18e}.boardlegend{display:none}
/* Perspective lane borders live in arena-floor.svg; columns are hit areas only. */
.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:0;position:relative;padding:0 3px}.column{position:relative;display:grid;grid-template-rows:64px minmax(80px,1fr) 72px;gap:0;min-width:0;min-height:0;isolation:isolate}
.lane,.lane.enemy,.lane.mine{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:0;height:64px;padding:2px 6px 12px;border:1px solid transparent;background:transparent;border-radius:5px;box-shadow:none;isolation:isolate;overflow:visible;color:var(--ink);transition:background .15s,border-color .15s,filter .15s}.lane:before{content:'';position:absolute;bottom:7px;left:7%;right:7%;height:29px;background:linear-gradient(180deg,#a2b5b722,#0f171b 60%,#04080a);border:1px solid #576a714d;border-radius:5px;transform:perspective(240px) rotateX(22deg);box-shadow:0 7px 10px #0009,inset 0 1px #ffffff25;z-index:-2}.lane.mine:before{border-color:#b4d5f05a}.lane.enemy:before{border-color:#987a6377}.lane .lanetitle{font-size:10px;color:#c2b8a1;justify-content:center;white-space:nowrap;letter-spacing:.03em}.lane.mine .lanetitle{display:none}.lane .hp{display:flex;align-items:baseline;justify-content:center;gap:2px;margin:0 0 4px;color:#d8e8ed;font-size:10px;line-height:1.1;text-shadow:0 1px 3px #000}.hp b{font-size:21px;line-height:1.1;font-weight:600;color:#f0f3ef;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.hp small{font-size:10px;color:#bcc7c9}.hpbar{position:absolute;bottom:13px;left:12%;right:12%;height:5px;background:#05090d;border:1px solid #4e79864d;border-radius:4px;overflow:visible;box-shadow:0 1px #ffffff0a;z-index:1}.hpbar span{height:3px;display:block;background:linear-gradient(90deg,#197dce,#72d9ff);border-radius:3px;box-shadow:0 0 6px #50b9ff88;transition:width .25s}.enemy .hpbar{border-color:#a6515355}.enemy .hpbar span{background:linear-gradient(90deg,#d32d46,#ff6e75);box-shadow:0 0 6px #ff4c5799}.lane.mine{height:72px;padding-top:6px;padding-bottom:12px}.lane.mine .hp b{font-size:23px}.lane:disabled{opacity:1}.lane.selected,.lane.targetable:hover{padding:2px 6px 12px;border:1px solid #d9a75944;box-shadow:0 0 14px #c88e2e13;background:#d89c2311}.lane.mine.selected{padding-top:6px}.lane-base{position:absolute;bottom:5px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,#cc984a80,transparent);z-index:-1}.lane.destroyed,.lane.destroyed:before{background:#0d0f10;border-color:#5a4a3733}.lane.destroyed .hpbar{opacity:.2}.lane.destroyed .hp b{color:#736f68}.lane.destroyed .hp small{color:#5c5d58}.lane.destroyed .lane-base{opacity:.3}.dead-hint{position:absolute;top:2px;left:0;right:0;bottom:auto;font-size:7px;letter-spacing:.08em;line-height:1;text-align:center;color:#b37859;pointer-events:none}.enemy .dead-hint{top:19px}.lane.destroyed .hp{opacity:.6}.installed{display:flex;position:absolute;top:-8px;color:#96cdff;font-size:11px;align-items:center;gap:3px}.laneeffects{position:absolute;bottom:calc(100% - 3px);left:5%;right:5%;display:flex;justify-content:center;gap:3px;flex-wrap:wrap;margin:0;pointer-events:none;z-index:9}.enemy .laneeffects{bottom:auto;top:calc(100% - 5px)}.effectchip{display:flex;align-items:center;gap:4px;border:1px solid #55c98788;border-radius:5px;background:#123d2add;color:#b8ffce;padding:4px 6px;font-size:10px;box-shadow:0 0 14px #3ef58125}.effectchip svg{color:#73ff9e;filter:drop-shadow(0 0 3px #77ff94)}.effectchip b{font-size:13px}.effectchip small{font-size:8px}.effectchip.guard{background:#153a5d;color:#bde6ff;border-color:#5da3e8}
.transit,.projectile-track{position:relative;height:auto!important;min-height:0;margin:0;padding:0;overflow:visible;display:block;background:transparent}.transit:empty:before,.projectile-track:empty:before{content:none}.projectile-track:after{content:'';position:absolute;top:18%;bottom:18%;left:50%;border-left:1px dashed #b6905121;pointer-events:none}
.flight.travel{position:absolute;top:0;left:calc(25% - 30px);width:60px;min-height:80px;padding:0;border:0;background:none;border-radius:5px;box-shadow:none;z-index:4;animation:none;will-change:transform;touch-action:none;color:#fff}.flight.travel.guardflight{left:calc(72% - 27px);width:54px;min-height:66px}.flight-face{position:relative;height:80px;display:flex;flex-direction:column;align-items:center;border:1px solid #ffa8a1;border-radius:4px;background:linear-gradient(125deg,#f9564f,#ae1e28 35%,#350d15);box-shadow:0 0 10px #ff4e5938,inset 0 0 0 2px #2b0c12,inset 0 0 14px #ff898c55,0 5px 9px #0009;transform:rotate(-7deg);color:#fff4ee;isolation:isolate}.flight-face:after{content:'';position:absolute;inset:4px;border:1px solid #ffbbb34d;border-radius:1px;pointer-events:none}.flight.travel.enemy .flight-face{transform:rotate(7deg)}.flight-value{font-size:24px;line-height:1.1;align-self:flex-start;margin:4px 0 0 7px;font-weight:550;text-shadow:0 0 7px #ffbab3;font-variant-numeric:tabular-nums}.flight-art{position:absolute;inset:24px 0 21px;display:grid;place-items:center;filter:drop-shadow(0 0 5px #ffb3a2)}.flight-art svg{width:28px;height:28px;stroke-width:2}.flight-owner{position:absolute;top:-11px;right:-8px;font-size:10px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;border:1px solid #6bc6f4;background:#092b43;color:#abdeff;box-shadow:0 0 8px #339af455;z-index:6;font-weight:750}.enemy .flight-owner{background:#491722;border-color:#dc7274;color:#ffc6b4;box-shadow:0 0 8px #e85c6655}.flight .eta{font-size:10px;line-height:1.1;font-weight:650;white-space:nowrap;letter-spacing:0;margin-top:auto;margin-bottom:5px;text-shadow:0 1px 3px #000}.flight .progress{position:absolute;bottom:2px;left:4px;right:4px;height:2px;margin:0;background:#11070b}.flight .progress span{background:#ffb2a0;box-shadow:0 0 4px #ffb8a1}.flight.travel:before{content:'';position:absolute;left:50%;top:calc(100% - 10px);width:1px;height:55px;background:linear-gradient(#f4876588,transparent);box-shadow:0 0 8px #f0a06155;pointer-events:none;z-index:-1}.flight.travel.enemy:before{top:auto;bottom:calc(100% - 10px);background:linear-gradient(transparent,#f4876588)}
.guardflight .flight-face{height:66px;transform:rotate(-5deg);border-color:#8bd5ff;background:linear-gradient(140deg,#3dd4ff,#1679c5 48%,#082d5f);box-shadow:0 0 15px #2986f44d,inset 0 0 0 2px #0d325d,inset 0 0 14px #9ae5ff55}.guardflight .flight-value{font-size:21px;text-shadow:0 0 6px #65cfff}.guardflight .flight-art{inset:17px 0 18px;filter:drop-shadow(0 0 4px #9be8ff)}.guardflight .flight-art svg{width:25px;height:25px}.guardflight .eta{font-size:9px;margin-bottom:4px}.guardflight .progress span{background:#7cdeff}.flight.guardflight:before{background:linear-gradient(#6ac9ff66,transparent);height:38px}.flight.guardflight.enemy:before{background:linear-gradient(transparent,#6ac9ff66)}.flight.travel.bending{border:0}.flight.skill-locked{outline:2px solid #cfa6ff!important;outline-offset:6px;box-shadow:0 0 20px #bc8dff50}.flight.drop-ok{outline:1px solid #d2b07c66;outline-offset:5px}.bend-badge{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);font-size:8px;white-space:nowrap;color:#e5c7ff;background:#392344e8;border:1px solid #ad88c8;border-radius:4px;padding:3px 5px;pointer-events:none}.skill-mark{font-size:10px;color:#f1cfff;margin-left:2px}.clash{position:absolute;left:50%;transform:translate(-50%,-50%);z-index:15;border:1px solid #ffdfa1;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;padding:0;background:radial-gradient(#fff7cd,#dca55299 35%,transparent 72%);box-shadow:0 0 30px #f4b65560;color:#fff8e7;text-shadow:0 1px 3px #462905;font-size:17px;font-weight:800;animation:clash-bloom .8s ease-out forwards;pointer-events:none}
.sidebar{display:block;align-self:center;z-index:4}.sidebar .selection,.sidebar .logpanel{display:none}.panel{background:linear-gradient(145deg,#ffffff07,#080b0ed9 55%,#a76a1612);border:1px solid #9d783b70;border-radius:10px;box-shadow:inset 0 1px #f9ddb61a,0 8px 24px #0005;padding:14px}.panel .eyebrow{font-size:9px;letter-spacing:.16em;color:#c4aa7a;margin-bottom:14px}.panel .eyebrow .slotstatus{display:none}.workshop-zones{display:grid;grid-template-columns:1fr;gap:12px}.workshop-zones .workshop-drop{position:relative;min-height:108px;height:108px;width:100%;padding:11px;border:1px solid #8a693959;border-radius:7px;background:radial-gradient(ellipse at 35% 60%,#aa6f1723,transparent 72%),#0b0e11cc;color:#e9dfca;box-shadow:inset 0 1px #ffffff0a;text-align:left;display:block;cursor:copy}.workshop-drop>span{display:grid;grid-template-columns:52px 1fr;grid-template-rows:25px 48px;column-gap:9px;align-items:center}.zone-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;font-size:12px;line-height:1.1;color:#e1d3b5;font-weight:650;margin:0;letter-spacing:.05em}.zone-title small{font-size:8px;letter-spacing:0;font-weight:400;color:#938875}.forge-ring{position:relative;display:grid;place-items:center;width:48px;height:48px;color:#dcad61}.forge-ring svg{width:48px;height:48px;transform:rotate(-90deg)}.forge-ring circle{fill:none;stroke:#5e4e2e;stroke-width:4}.forge-ring circle+circle{stroke:#c69c55;stroke-dasharray:125.66;stroke-dashoffset:94.25;stroke-linecap:round;filter:drop-shadow(0 0 2px #f6c87744)}.forge-ring>b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:500;gap:2px}.forge-ring>b>svg{width:19px;height:19px;transform:none}.forge-ring em{font-style:normal;font-size:16px}.zone-time{display:block;font-size:12px;font-weight:500;margin:0;color:#b8b3a7;white-space:nowrap;font-variant-numeric:tabular-nums}.processing .forge-ring circle+circle{stroke:#f5c77d;filter:drop-shadow(0 0 3px #ffc87866)}.workshop-zones .workshop-drop.processing{cursor:default;opacity:1;background:radial-gradient(ellipse at 35% 60%,#c38b2e33,transparent 72%),#0b0e11cc;border-style:solid}.workshop-zones .swap-zone{border-color:#6f71644a}.swap-zone .forge-ring circle+circle{stroke:#d5b67d}.workshop-zones .workshop-drop:hover:not(:disabled){border-color:#d1a55e99;background-color:#211d16}.workshop-status{display:none}.jobbuttons{position:absolute;margin:0;top:53px;right:24px;z-index:5}.jobbuttons button{min-height:26px;width:30px;font-size:0;line-height:0;padding:0;background:#2f2415;border:1px solid #a97b3c77;color:#e6b86e;border-radius:4px}.jobbuttons button:after{content:'↶';font-size:18px;line-height:1}.panel#workshopDrop{position:relative}.workshop-drop:disabled{opacity:1}.workshop-drop:disabled:not(.processing){opacity:.6}
.handsection{margin:0;padding:0;min-width:0;position:relative;border-top:1px solid #b1813d3b;padding-top:7px;z-index:10;background:linear-gradient(180deg,#0a0c0f00,#0a0c0f88)}.handheading{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:18px;margin:0 0 7px;padding:0 2px}.handheading h2{font-size:9px;font-weight:500;letter-spacing:.2em;color:#c5a776;white-space:nowrap}.handheading h2 span{font-size:11px;font-weight:500;color:#d1c7b3;letter-spacing:0;margin-left:9px}.handheading>p,.mobile-only,#desktopHint,#mobileHint,.footer .notice{display:none}.hand{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-auto-rows:132px;gap:9px;min-height:132px;padding:0 3px 2px;overflow:visible;align-content:start;touch-action:pan-y pinch-zoom}.hand .card{--face-a:#f6564a;--face-b:#8d1723;--accent:#ff9c8b;--card-glow:#f1574b55;--inner:#3b0b13;position:relative;display:flex;flex-direction:column;margin:0;padding:0;min-width:0;max-width:none;width:100%;height:132px;min-height:0;border:1px solid var(--accent);border-radius:5px;background:radial-gradient(ellipse at 30% 15%,#ffffff44,transparent 40%),linear-gradient(130deg,var(--face-a),var(--face-b) 48%,#150d14);box-shadow:0 0 0 1px #06090c,0 0 10px var(--card-glow),inset 0 0 0 3px var(--inner),inset 0 0 17px #ffdbbe22,0 5px 8px #0008;color:#fff5e9;touch-action:none;overflow:hidden;transition:transform .15s,box-shadow .15s,filter .15s;isolation:isolate;-webkit-touch-callout:none}.hand .card.guard,.drag-ghost.card.guard{--face-a:#28bdf5;--face-b:#095f9f;--accent:#8bd9ff;--card-glow:#2489e455;--inner:#0b2947}.hand .card.heal,.drag-ghost.card.heal{--face-a:#3dce82;--face-b:#0c6538;--accent:#9ae9b2;--card-glow:#30c97544;--inner:#0c3321}.hand .card.skill,.drag-ghost.card.skill{--face-a:#ac6bec;--face-b:#54217f;--accent:#dbb0ff;--card-glow:#a86ce84d;--inner:#2d1244}.hand .card:before{content:'';position:absolute;inset:5px 5px 34px;border:1px solid #fff5d63d;z-index:-1;pointer-events:none}.hand .card:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,#fff2e00c 42%,transparent 43% 69%,#ffffff0c 70%,transparent 78%);pointer-events:none}.hand .cardtop{display:flex;align-items:flex-start;justify-content:space-between;padding:8px 9px 0;line-height:1;min-height:0;color:#fff5e9;font-size:10px}.card-rank{font-weight:550;font-size:31px;letter-spacing:-.05em;text-shadow:0 0 7px var(--accent)}.cardtop small{font-size:8px;opacity:.35;margin-top:2px}.hand .card.skill .card-rank{font-size:26px;letter-spacing:-.03em}.hand .cardart{height:auto;flex:1;display:grid;place-items:center;position:relative;min-height:32px;color:#fff9ee;filter:drop-shadow(0 0 5px var(--accent));padding:0}.hand .cardart svg{width:39px;height:39px;stroke-width:2.1}.hand .cardbottom{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:100%;padding:4px 2px 5px;min-height:32px;background:linear-gradient(135deg,var(--inner),#101317);color:#fff5e9;border-top:1px solid #ffffff26;box-shadow:0 -1px 7px #0003}.hand .cardname{display:block;font-size:11px;line-height:1.15;font-weight:750;letter-spacing:.01em;color:#fff1e9;white-space:nowrap}.hand .card.guard .cardbottom,.hand .card.guard .cardname{color:#def5ff}.hand .card.heal .cardbottom,.hand .card.heal .cardname{color:#e1ffeb}.hand .card.skill .cardbottom,.hand .card.skill .cardname{color:#f1e4ff}.card-time{font-size:9px;line-height:1.15;font-weight:650;font-variant-numeric:tabular-nums}.hand .card.selected{transform:translateY(-6px);outline:2px solid #ffe6b5;outline-offset:3px;box-shadow:0 0 20px var(--card-glow),0 10px 16px #000a}.hand .card:hover:not(:disabled){transform:translateY(-6px);box-shadow:0 0 20px var(--card-glow),0 10px 16px #000a;filter:brightness(1.1)}.hand .card:disabled{opacity:1}.hand .mobile-hidden{display:none}.emptyhand{grid-column:1/-1;min-height:132px;display:grid;place-items:center;border:1px dashed #86663855;border-radius:7px;font-size:11px;letter-spacing:.25em;color:#947d56;padding:0}.hand-pages{display:flex;align-items:center;justify-content:center;gap:10px;position:absolute;right:0;top:1px;font-size:9px;color:#b4a68b}.hand-pages[hidden]{display:none}.hand-pages button{min-height:24px;min-width:30px;padding:0;font-size:20px}.footer{border:0;margin:0;padding:0;min-height:0}.footer:has(#end[hidden]){display:none}.end{background:linear-gradient(135deg,#e3b769,#b38036);color:#1a1208;border-radius:7px;border:1px solid #dcb46c}
.hand .card.drag-source{opacity:1!important;transform:none;outline:1px dashed var(--accent);outline-offset:-6px;box-shadow:0 0 0 1px #06090c,inset 0 0 0 3px var(--inner)}.drag-ghost.card{--face-a:#f6564a;--face-b:#8d1723;--accent:#ff9c8b;--inner:#3b0b13;z-index:120;min-width:0!important;min-height:0!important;max-width:none!important;padding:0;border-radius:5px;overflow:hidden;background:radial-gradient(ellipse at 30% 15%,#ffffff44,transparent 40%),linear-gradient(130deg,var(--face-a),var(--face-b) 48%,#150d14);border:1px solid var(--accent);box-shadow:0 12px 35px #000a,0 0 20px #f87a6240!important;pointer-events:none;color:#fff9ef;transition:none!important}.drag-ghost.guard{background:linear-gradient(130deg,#28bdf5,#093b6f);border-color:#8bd9ff}.drag-ghost.heal{background:linear-gradient(130deg,#3dce82,#0a4126);border-color:#9ae9b2}.drag-ghost.skill{background:linear-gradient(130deg,#ac6bec,#341148);border-color:#dbb0ff}.drag-ghost .cardtop{display:flex;justify-content:space-between;padding:7px 8px 0}.drag-ghost .cardtop small{display:none}.drag-ghost .cardart{display:grid;place-items:center;flex:1;height:auto;color:#fff6e8;filter:drop-shadow(0 0 4px currentColor)}.drag-ghost .cardart svg{width:30px;height:30px}.drag-ghost .cardbottom{background:linear-gradient(135deg,var(--inner),#101317);color:#fff5e9;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:4px;min-height:29px}.drag-ghost .cardname{font-size:10px;color:#fff5e9;display:block}.drag-ghost .card-time{font-size:9px}.drop-ok{outline:1px solid #ddb36e66;outline-offset:3px}.drop-over{outline:2px solid #ffdfa3!important;outline-offset:3px;background:#b9872624!important;box-shadow:0 0 20px #dbab4744!important}.drop-invalid{outline:2px solid #f08370!important;outline-offset:3px}.lane.drop-ok{background:#d6b06f0b}.workshop-drop.drop-over{border-color:#ffe3a1}.dragging,.dragging *{user-select:none!important}
.damage-number{position:fixed;z-index:60;pointer-events:none;color:#ffb0a2;text-shadow:0 0 10px #f55c4b,0 2px 3px #000;font-size:26px;line-height:1;font-weight:750;animation:damage-rise .85s ease-out forwards}.damage-number.recovery{color:#b5ffd0;text-shadow:0 0 10px #41f68d,0 2px 3px #000}.lane.hit-flash{animation:hp-hit .45s ease-out}.lane.repair-flash{animation:hp-repair .5s ease-out}
.skill-aim{color:#f0e1ff;background:linear-gradient(135deg,#362139f5,#110d1bed);border-color:#a380b7;box-shadow:0 0 30px #b66be422,0 10px 25px #0008;top:66px;bottom:auto}.skill-aim>span{font-size:11px}.skill-lane-choices button{background:#4a305a;color:#f1e2ff;border-color:#846093}.skill-lane-choices button:disabled{background:#211d28;color:#8a7a97;border-color:#55405e}
.resultbanner.visible{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:80;width:min(540px,calc(100% - 28px));padding:30px;display:flex;flex-direction:column;gap:20px;align-items:stretch;border:1px solid #d5ab64aa;border-radius:12px;background:radial-gradient(ellipse at 50% 0,#94651e36,transparent 70%),#0b0d11f5;box-shadow:0 0 0 100vmax #05070cb0,0 0 70px #c28c2620,inset 0 1px #fff0cf22;color:#f6dfb1;text-align:center}.resultbanner h2{font-size:25px;letter-spacing:.03em}.resultbanner p{font-size:12px;color:#b8aa90;margin-top:7px}.rematch-actions{display:flex;gap:10px;justify-content:center}.rematch-actions button{min-height:42px;font-size:12px}.modal{background:linear-gradient(135deg,#211d17,#0d1116);color:var(--ink);border:1px solid #a17c43aa;box-shadow:0 0 80px #000b,inset 0 1px #fff3db22}.modal::backdrop{background:#03060bc9;backdrop-filter:blur(5px)}.modal p,.modal li{color:#bab7ac}.modal h2{color:#ecddc0}.modal .close{background:#211d16}.rulegrid>div{background:#bd944d08;border-color:#725a323d}.timing-modal fieldset{border-color:#6e57334f}.timing-field input,.invitebox input{background:#0b1015;border-color:#79603a88;color:#ece1ca}.timing-actions{background:linear-gradient(transparent,#121416 30%)}.mode-option{background:#15191d;border-color:#4e473b}.mode-option:has(input:checked){background:linear-gradient(130deg,#67502855,#2f251950);border-color:#d4a75f;box-shadow:inset 0 0 0 1px #d4a75f44}.mode-option b{color:#eee2cc}.mode-option small{color:#9d9e94}.custom-tools{background:#a8853f14;border:1px solid #a8853f25}.mode-section legend{color:#b99a68}.timing-entry{background:#a7772410;border-color:#785a2f66}.timing-entry small{color:#a9a18d}.timing-error{color:#ff9e8c}.logs .logline{border-color:#3c352c;color:#b8b8aa}.logs time{color:#aa8f60}
.lobby{padding:64px 0;gap:70px;align-items:center}.lobbyintro{position:relative}.lobbyintro:before{content:'';position:absolute;z-index:-1;width:140%;height:300px;left:-20%;top:45px;background:url('/arena-floor.svg') center/100% 100% no-repeat;opacity:.28;transform:rotate(-8deg);pointer-events:none}.pill{color:#d6b77d;border-color:#a77b363d;background:#e4b25c09;font-size:9px;letter-spacing:.14em}.lobby h2{color:#f4e5c9;font-size:56px;letter-spacing:.02em;line-height:1.3;text-shadow:0 0 40px #ddac5020}.lobbyintro p{color:#b3afa1;font-size:14px;line-height:2;margin-top:22px}.lobbyfeatures span{color:#a79c86;border-color:#8b703b44;background:#2a211333}.lobbycard{border-color:#9a733d88;background:radial-gradient(ellipse at 0 0,#9d70282b,transparent 60%),linear-gradient(145deg,#ffffff06,#090e13e8);box-shadow:0 15px 50px #0007,inset 0 1px #ffe9bc1c;border-radius:14px;padding:28px}.lobbycard h3{color:#ecdfc5}.lobbycard .eyebrow{color:#c8a669}.lobbycard>small{color:#7e847f;font-size:10px}.waitingpanel{background:linear-gradient(135deg,#33291999,#0b1016);border:1px solid #a77e41aa;box-shadow:0 8px 60px #0006}.waitingpanel p{color:#b6ae99}.waitingpanel h2{color:#f0dfbe}
@keyframes clash-bloom{0%{opacity:1;scale:.5}25%{scale:1.25}100%{opacity:0;scale:1.6}}@keyframes damage-rise{0%{opacity:1;transform:translate(-50%,-25%)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-48px)}}@keyframes hp-hit{0%{filter:drop-shadow(0 0 15px #ff5c5c);background:#f7644b2b}100%{filter:none}}@keyframes hp-repair{0%{filter:drop-shadow(0 0 15px #6fffab);background:#61df9022}100%{filter:none}}
@media(min-width:821px) and (max-width:1100px){.app{padding-left:20px;padding-right:20px}.workspace{grid-template-columns:84px minmax(0,1fr) 158px;gap:12px}.duel-hud{gap:14px}.core-panel{padding:10px 8px 12px}.core-panel>b{font-size:32px}.panel{padding:11px}.workshop-drop>span{column-gap:5px;grid-template-columns:46px 1fr}.workshop-zones .workshop-drop{padding:8px}.hand{gap:7px}.hand .card-rank{font-size:29px}.hand .cardtop{padding:8px 7px 0}.hand .cardname{font-size:10px}.jobbuttons{right:19px;top:48px}.lane .lanetitle{font-size:9px}}
@media(min-width:821px) and (max-height:740px){body:not(.lobby-open):not(.waiting) .app{grid-template-rows:48px 23px 23px minmax(0,1fr)}body:not(.lobby-open):not(.waiting) .topbar{height:48px}main{grid-template-rows:minmax(0,1fr) 146px;gap:6px}.hand{grid-auto-rows:114px;min-height:114px}.hand .card{height:114px}.hand .cardtop{padding-top:6px}.card-rank{font-size:27px}.hand .cardart svg{width:30px;height:30px}.hand .cardbottom{min-height:29px;padding-top:3px;padding-bottom:4px}.arena{padding-top:12px;padding-bottom:9px}.core-panel>b{font-size:30px}.core-panel{padding-top:8px;padding-bottom:10px}.duel-hud{gap:10px}.charge .charge-dial{width:56px;height:56px}.workshop-zones .workshop-drop{height:96px;min-height:96px}.workshop-drop>span{grid-template-rows:20px 46px}}
@media(max-width:820px),(pointer:coarse) and (max-height:600px),(max-width:950px) and (max-height:500px){
 .app{padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}body:not(.lobby-open):not(.waiting) .app{height:100dvh;min-height:530px;grid-template-rows:45px 23px 23px minmax(0,1fr);padding-bottom:max(6px,env(safe-area-inset-bottom))}.topbar,body:not(.lobby-open):not(.waiting) .topbar{height:45px;min-height:0;padding:0;flex-wrap:nowrap;gap:10px}.brandmark{width:25px;height:25px;font-size:20px}.brand{gap:9px}.brand h1,body:not(.lobby-open):not(.waiting) .brand h1{font-size:14px;letter-spacing:.12em}.brand small,body:not(.lobby-open):not(.waiting) .brand small{font-size:6px;letter-spacing:.17em}.mobile-menu-toggle{display:block;min-width:34px;min-height:30px;margin-left:auto;padding:2px 7px;font-size:17px;line-height:24px}.toplinks{display:none;position:absolute;right:0;top:calc(100% + 1px);width:min(280px,calc(100vw - 20px));z-index:100;gap:7px;background:#101316f5;border:1px solid #a67c4399;border-radius:8px;padding:10px;box-shadow:0 10px 25px #000a;backdrop-filter:blur(18px)}.toplinks.open{display:grid;grid-template-columns:1fr 1fr}.toplinks .quiet{min-height:40px;font-size:11px}.onlinebar{padding:3px 0;font-size:8px;gap:7px}.onlinebar #connection,.onlinebar #peer{font-size:8px;white-space:nowrap}.onlinebar .quiet{font-size:8px;min-height:20px;padding:2px 6px}.statusbar{padding:0;gap:6px}.phase{font-size:9px;gap:5px}.round{font-size:8px;padding-right:7px}.tick{font-size:9px}
 main{grid-template-rows:minmax(0,1fr) auto;gap:4px}.workspace{display:block;min-height:0}.duel-hud{display:none}.sidebar{display:none}.arena{height:100%;max-height:none;padding:7px 0 5px;grid-template-rows:18px minmax(0,1fr) 14px}.arena:before,.arena>.lane-hints{inset:-5px -9px -9px}.arena:before{opacity:.9;background-size:100% 100%}.arena:after{inset:10% -2% -2%}.sidecaption strong{font-size:7px;letter-spacing:.1em;gap:5px}.sidecaption strong>span:last-child{font-size:8px}.lanes{gap:5px;padding:0 1px}.column{grid-template-rows:50px minmax(70px,1fr) 51px}.lane,.lane.enemy,.lane.mine,.lane.selected,.lane.targetable:hover{height:50px;padding:1px 2px 11px;gap:1px}.lane.mine{height:51px;padding-top:6px}.lane .lanetitle{font-size:8px}.hp b,.lane.mine .hp b{font-size:18px}.hp small{font-size:8px}.lane .hp{margin:0 0 2px;gap:2px}.lane:before{bottom:5px;height:24px;left:4%;right:4%;border-radius:4px}.hpbar{left:9%;right:9%;height:4px;bottom:10px}.hpbar span{height:2px}.lane-base{bottom:4px}.dead-hint{top:1px;font-size:6px}.enemy .dead-hint{top:14px}.laneeffects{left:0;right:0;bottom:calc(100% - 1px);gap:2px}.effectchip{font-size:8px;padding:2px 4px;gap:3px}.effectchip svg{width:10px;height:10px}.effectchip b{font-size:11px}.effectchip small{font-size:7px}
 .flight.travel{left:calc(25% - 21px);width:42px;min-height:62px}.flight-face{height:62px;box-shadow:0 0 7px #ff4e5933,inset 0 0 0 2px #2b0c12,0 4px 6px #000a}.flight-value{font-size:20px;margin:3px 0 0 5px}.flight-art{inset:19px 0 16px}.flight-art svg{width:21px;height:21px}.flight .eta{font-size:8px;margin-bottom:4px}.flight-owner{width:14px;height:14px;font-size:8px;top:-8px;right:-4px}.flight-face:after{inset:3px}.flight.travel.guardflight{width:38px;left:calc(75% - 19px);min-height:54px}.guardflight .flight-face{height:54px}.guardflight .flight-value{font-size:17px;margin-top:3px}.guardflight .flight-art{inset:15px 0 15px}.guardflight .flight-art svg{width:20px;height:20px}.guardflight .eta{font-size:7px;margin-bottom:4px}.flight.travel:before{height:30px}.flight.travel.guardflight:before{height:24px}.bend-badge{font-size:7px;bottom:calc(100% + 9px);padding:2px 4px}.clash{width:32px;height:32px;font-size:14px}
 .handsection{position:relative;inset:auto;width:auto;padding:5px 0 0;background:linear-gradient(#090d1000,#090d10cc);box-shadow:none;border-top:1px solid #a47b3d55}.mobile-only{display:block}.handheading{min-height:24px;margin:0 0 5px;gap:8px;padding:0 2px}.handheading h2{font-size:8px;letter-spacing:.14em}.handheading h2 span{font-size:10px;margin-left:6px}.handheading #mobileChargeHost{margin-left:auto;min-width:95px}.handheading .charge{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:6px}.handheading .charge .charge-dial{width:24px;height:24px;order:2}.handheading .charge>div:first-of-type{font-size:7px;gap:2px;align-items:flex-end}.handheading .charge>div>b{font-size:11px}.handheading .charge .progress{display:none}.handheading .charge small{display:none}
 #mobileWorkshopHost #workshopDrop{position:relative;padding:0;margin:0 0 4px;background:none;border:0;box-shadow:none;border-radius:0}#mobileWorkshopHost #workshopDrop>.eyebrow,#workshopDrop .workshop-status{display:none}.workshop-zones{grid-template-columns:1fr 1fr;gap:7px}.workshop-zones .workshop-drop{height:52px;min-height:52px;padding:5px 8px;border-radius:6px;box-shadow:inset 0 1px #ffffff08}.workshop-drop>span{grid-template-columns:34px 1fr auto;grid-template-rows:1fr;column-gap:5px;height:100%}.zone-title{grid-column:2;grid-row:1;justify-content:flex-start;font-size:10px;gap:3px;white-space:nowrap}.zone-title small{font-size:7px}.forge-ring{grid-column:1;grid-row:1;width:32px;height:32px}.forge-ring svg{width:32px;height:32px}.forge-ring>b{font-size:17px}.forge-ring>b>svg{width:13px;height:13px}.forge-ring em{font-size:12px}.zone-time{grid-column:3;grid-row:1;font-size:8px;white-space:nowrap}.has-stage .merge-zone .zone-time{visibility:hidden}.jobbuttons{top:12px;right:calc(50% + 10px)}.jobbuttons button{width:23px;height:24px;min-height:24px}.jobbuttons button:after{font-size:16px}
 .hand{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,76px);grid-auto-rows:76px;gap:5px;min-height:157px;padding:0 2px 1px;overflow:visible}.hand .card{height:76px;min-height:0;border-radius:4px;box-shadow:0 0 0 1px #05090c,0 0 7px var(--card-glow),inset 0 0 0 2px var(--inner),0 3px 5px #0008}.hand .card:before{inset:3px 3px 24px}.hand .cardtop{padding:5px 6px 0}.card-rank{font-size:23px}.cardtop small{display:none}.hand .card.skill .card-rank{font-size:19px}.hand .cardart{position:absolute;left:28px;right:4px;top:17px;bottom:26px;min-height:0;opacity:.95}.hand .cardart svg{width:25px;height:25px;stroke-width:2}.hand .cardbottom{min-height:23px;margin-top:auto;padding:2px;gap:0}.hand .cardname{font-size:9px;line-height:1.1}.card-time{font-size:7px;line-height:1.2}.hand .card.skill .cardname{font-size:8px}.hand .card:not(:disabled):hover,.hand .card.selected{transform:none;filter:none}.hand .card.selected{outline-width:1px;outline-offset:1px}.hand .mobile-hidden{display:none}.emptyhand{grid-row:1/-1;min-height:157px;font-size:9px}.hand-pages{position:static;font-size:8px;gap:5px;padding:0 0 4px}.hand-pages button{min-height:22px;min-width:30px;font-size:18px}.footer{display:block}.drag-ghost .cardart{position:absolute;left:32px;right:5px;top:17px;bottom:28px;opacity:1}.drag-ghost .cardart svg{width:27px;height:27px}.drag-ghost .cardbottom{position:absolute;bottom:0;left:0;right:0;min-height:24px;gap:0;padding:2px}.drag-ghost .cardname{font-size:9px}.drag-ghost .card-time{font-size:7px}.damage-number{font-size:22px}.skill-aim{top:48px;bottom:auto;width:calc(100% - 24px);padding:7px 9px;gap:3px 7px}.skill-aim>span{font-size:9px}.skill-lane-choices button{min-height:42px;font-size:11px}
 .modal{width:calc(100% - 20px);max-height:calc(var(--visual-height,100dvh) - 24px);overflow:auto;overscroll-behavior:contain;padding:18px;border-radius:12px}.modal h2{font-size:19px;line-height:1.5;padding-right:62px}.modal .close{position:sticky;top:0;z-index:2;font-size:11px;min-height:40px;min-width:58px;padding:7px}.modal p,.modal li{font-size:12px}.rulegrid,.timing-grid{grid-template-columns:1fr}.timing-field input{font-size:16px;min-height:44px;width:80px}.timing-actions{bottom:-18px;padding:12px 0 calc(6px + env(safe-area-inset-bottom));margin-bottom:0}.timing-actions button{min-height:44px;font-size:11px}.modalfooter button{min-height:44px}.invitebox input{font-size:16px;min-height:44px}.invitebox button{min-height:44px}.resultbanner.visible{padding:23px;gap:14px}.resultbanner h2{font-size:22px}.rematch-actions{display:grid;grid-template-columns:1fr;gap:8px}.rematch-actions button{min-height:44px}
 .lobby{padding:23px 0;gap:24px}.lobby h2{font-size:34px}.lobbyintro p{font-size:12px;margin-top:10px;line-height:1.7}.lobbyintro:before{height:200px;top:10px;width:100%;left:0;opacity:.15}.lobbycard{padding:20px}.lobbycard h3{font-size:20px}.lobbycard>p{font-size:12px}.mode-option{padding:10px;min-height:62px}.mode-option b{font-size:12px}.mode-option small{font-size:9px}.timing-entry{padding:10px}.timing-entry .quiet{min-height:40px}.waitingpanel{padding:24px 15px}.waitingpanel h2{font-size:22px}
}
@media(max-width:820px) and (max-height:700px) and (orientation:portrait){body:not(.lobby-open):not(.waiting) .app{min-height:530px;grid-template-rows:39px 21px 21px minmax(0,1fr)}.topbar,body:not(.lobby-open):not(.waiting) .topbar{height:39px}.arena{grid-template-rows:16px minmax(0,1fr) 12px;padding-top:3px;padding-bottom:3px}.column{grid-template-rows:44px minmax(55px,1fr) 45px}.lane,.lane.enemy,.lane.mine,.lane.selected,.lane.targetable:hover{height:44px;padding-bottom:10px}.lane.mine{height:45px}.lane .lanetitle{font-size:7px}.hp b,.lane.mine .hp b{font-size:17px}.hand{grid-template-rows:repeat(2,68px);grid-auto-rows:68px;min-height:141px}.hand .card{height:68px}.hand .cardtop{padding-top:4px}.card-rank{font-size:20px}.hand .card.skill .card-rank{font-size:17px}.hand .cardart{top:12px;bottom:25px;left:26px}.hand .cardart svg{width:23px;height:23px}.workshop-zones .workshop-drop{height:46px;min-height:46px}.handheading{min-height:23px;margin-bottom:4px}.emptyhand{min-height:141px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px),(max-width:950px) and (max-height:500px){body:not(.lobby-open):not(.waiting) .app{min-height:320px;padding-right:calc(300px + max(10px,env(safe-area-inset-right)));grid-template-rows:34px 20px 21px minmax(0,1fr);max-width:none}.topbar,body:not(.lobby-open):not(.waiting) .topbar{height:34px}.brand small{display:none}main{display:block;height:100%;min-height:0}.workspace{height:100%}.arena{grid-template-rows:16px minmax(0,1fr) 12px;padding-top:4px;padding-bottom:0}.column{grid-template-rows:46px minmax(48px,1fr) 46px}.lane,.lane.enemy,.lane.mine,.lane.selected,.lane.targetable:hover{height:46px;padding-bottom:10px}.handsection{position:fixed;left:auto;right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));bottom:max(8px,env(safe-area-inset-bottom));width:286px;border:1px solid #8d6b344a;border-radius:9px;padding:10px 8px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#45341d17,#090d14dd);box-shadow:0 0 20px #0005}.hand{grid-template-rows:repeat(2,76px);grid-auto-rows:76px;min-height:157px;flex:none}.hand .card{height:76px}.handheading{margin:5px 0}.handheading h2{font-size:7px}.handheading h2 span{font-size:9px;margin-left:4px}.handheading #mobileChargeHost{min-width:84px}.handheading .charge>div:first-of-type{font-size:6px}.handheading .charge>div>b{font-size:10px}.workshop-zones{gap:5px}.workshop-zones .workshop-drop{padding:5px;height:49px;min-height:49px}.workshop-drop>span{grid-template-columns:29px 1fr auto;gap:3px}.forge-ring,.forge-ring svg{width:27px;height:27px}.forge-ring>b{font-size:16px}.zone-title{font-size:9px}.zone-title small{font-size:6px}.zone-time{font-size:7px}.skill-aim{left:10px;right:310px;width:auto;transform:none;top:38px}.lobby-open .app,.waiting .app{padding-right:max(10px,env(safe-area-inset-right))}.lobby{grid-template-columns:1fr 1fr}.hand-pages{padding:0;min-height:22px}}
@media(prefers-reduced-motion:reduce){.damage-number,.clash,.lane.hit-flash,.lane.repair-flash{animation:none!important}.damage-number{transform:translateX(-50%)}.hand .card{transition:none}.hand .card:hover:not(:disabled){transform:none}}
/* Perspective is applied to the table art; live hit targets stay measurable. */
@media(min-width:821px) and (min-height:501px){.lanes{padding-left:56px;padding-right:56px}.lane.enemy{width:78%;justify-self:center}.column:first-child .lane.enemy{transform:translateX(25%)}.column:last-child .lane.enemy{transform:translateX(-25%)}}
@media(min-width:821px) and (max-width:1100px) and (min-height:501px){.lanes{padding-left:26px;padding-right:26px}}
@media(max-width:820px),(pointer:coarse) and (max-height:600px),(max-width:950px) and (max-height:500px){.lane.enemy{width:84%;justify-self:center}.column:first-child .lane.enemy{transform:translateX(25%)}.column:last-child .lane.enemy{transform:translateX(-25%)}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px),(max-width:950px) and (max-height:500px){body:not(.lobby-open):not(.waiting) .app{padding-bottom:12px}}
/* Keep both fabrication targets immediately above the hand, not beside the far end of the field. */
.desktop-forge{display:none}
.desktop-layout main{grid-template-rows:minmax(0,1fr) 280px}
.desktop-layout .workspace{grid-template-columns:104px minmax(0,1fr)}
.desktop-layout .sidebar{display:none}
.desktop-layout .arena{width:100%;max-width:1100px;justify-self:center}
.desktop-layout .desktop-forge{display:block;margin-bottom:8px}
#desktopWorkshopHost #workshopDrop{position:relative;padding:0;border:0;background:none;box-shadow:none}
#desktopWorkshopHost #workshopDrop>.eyebrow{display:none}
#desktopWorkshopHost .workshop-zones{grid-template-columns:1fr 1fr;gap:10px}
#desktopWorkshopHost .workshop-drop{height:96px;min-height:96px;padding:14px 20px}
#desktopWorkshopHost .workshop-drop>span{grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:1fr;height:100%;gap:12px}
#desktopWorkshopHost .zone-title{grid-column:2;grid-row:1;justify-content:flex-start;gap:8px;font-size:12px}
#desktopWorkshopHost .forge-ring{grid-column:1;grid-row:1;width:34px;height:34px}
#desktopWorkshopHost .forge-ring svg{width:34px;height:34px}
#desktopWorkshopHost .forge-ring>b{font-size:20px}
#desktopWorkshopHost .forge-ring>b>svg{width:16px;height:16px}
#desktopWorkshopHost .forge-ring em{font-size:14px}
#desktopWorkshopHost .zone-time{grid-column:3;grid-row:1;font-size:11px}
#desktopWorkshopHost .has-stage .merge-zone .zone-time{padding-right:35px}
#desktopWorkshopHost .jobbuttons{top:34px;right:calc(50% + 16px)}
@media(min-width:821px) and (max-height:740px){.desktop-layout main{grid-template-rows:minmax(0,1fr) 248px}.desktop-layout .desktop-forge{margin-bottom:6px}#desktopWorkshopHost .workshop-drop{height:84px;min-height:84px;padding-top:10px;padding-bottom:10px}}
@media(min-width:821px) and (max-width:1100px){.desktop-layout .workspace{grid-template-columns:84px minmax(0,1fr)}}
/* Explicit position is set before the first paint and preserved through value updates. */
.flight.travel,.flight.travel.guardflight{left:0;top:0;transform:translate(-50%,-50%)}
.desktop-layout .arena:before,.desktop-layout .arena>.lane-hints{left:-18px;right:-18px}
.desktop-layout .arena:after{left:-14px;right:-14px}
.handheading .hand-pages{position:static;margin-left:auto;padding:0;flex-shrink:0}

/* Two visible paths per lane: own attack / opposing guard, and the reverse. */
.projectile-track:after{content:none}
.flight-rails{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}
.flight-rails line{stroke:#d4ae706b;stroke-width:1;stroke-dasharray:3 6;vector-effect:non-scaling-stroke}
#desktopWorkshopHost .zone-title{font-size:15px}
#desktopWorkshopHost .forge-ring,#desktopWorkshopHost .forge-ring svg{width:42px;height:42px}
#desktopWorkshopHost .workshop-drop>span{grid-template-columns:44px minmax(0,1fr) auto;gap:16px}
@media(max-width:820px),(pointer:coarse) and (max-height:600px),(max-width:950px) and (max-height:500px){#mobileWorkshopHost .workshop-drop{height:84px;min-height:84px;padding:12px 10px}#mobileWorkshopHost .zone-title{font-size:12px}#mobileWorkshopHost .jobbuttons{top:28px}}
@media(max-width:820px) and (max-height:700px) and (orientation:portrait){#mobileWorkshopHost .workshop-drop{height:72px;min-height:72px;padding-top:9px;padding-bottom:9px}#mobileWorkshopHost .jobbuttons{top:22px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:600px),(max-width:950px) and (max-height:500px){#mobileWorkshopHost .workshop-drop{height:76px;min-height:76px}#mobileWorkshopHost .jobbuttons{top:24px}}

/* The full column is a drop target. Skills use transient tap targeting. */
/* Keep the generous rectangular hit areas invisible; paint states on the floor geometry. */
.arena .column:is(.drop-ok,.drop-over,.drop-invalid,.skill-destination,.bend-destination){outline:none!important;background:transparent!important;box-shadow:none!important}
.arena>.lane-hints{z-index:-1}
.lane-hints svg{display:block;width:100%;height:100%;overflow:visible}
.lane-hints path{fill:transparent;stroke:transparent;stroke-width:1.5;vector-effect:non-scaling-stroke}
.arena:has(.column:nth-child(1).drop-ok) [data-hint-lane="0"],.arena:has(.column:nth-child(2).drop-ok) [data-hint-lane="1"],.arena:has(.column:nth-child(3).drop-ok) [data-hint-lane="2"]{fill:#e5b66b0b;stroke:#e0b76b6b}
.arena:has(.column:nth-child(1).skill-destination) [data-hint-lane="0"],.arena:has(.column:nth-child(2).skill-destination) [data-hint-lane="1"],.arena:has(.column:nth-child(3).skill-destination) [data-hint-lane="2"]{fill:#b66bdf20;stroke:#d5a3edcc}
.arena:has(.column:nth-child(1).bend-destination) [data-hint-lane="0"],.arena:has(.column:nth-child(2).bend-destination) [data-hint-lane="1"],.arena:has(.column:nth-child(3).bend-destination) [data-hint-lane="2"]{fill:#b66bdf30;stroke:#e0b3ff;stroke-width:2}
.arena:has(.column:nth-child(1).drop-over) [data-hint-lane="0"],.arena:has(.column:nth-child(2).drop-over) [data-hint-lane="1"],.arena:has(.column:nth-child(3).drop-over) [data-hint-lane="2"]{fill:#c9973533;stroke:#ffdfa3;stroke-width:2.5}
.arena:has(.column:nth-child(1).drop-invalid) [data-hint-lane="0"],.arena:has(.column:nth-child(2).drop-invalid) [data-hint-lane="1"],.arena:has(.column:nth-child(3).drop-invalid) [data-hint-lane="2"]{fill:#db52452b;stroke:#f08370;stroke-width:2.5}
.skill-targeting .flight.skill-muted{opacity:.32}
.flight.skill-eligible{cursor:crosshair;outline:2px solid #e4b5ff!important;outline-offset:7px;border-radius:6px;filter:drop-shadow(0 0 9px #c884ec85);z-index:8}
.flight.skill-eligible:after{content:'◎';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;width:30px;height:30px;background:#41214be8;color:#f8e7ff;border:1px solid #e7b6ff;font-size:24px;line-height:1;pointer-events:none}
.flight.skill-picked{outline:2px solid #fff0b8!important;outline-offset:7px;border-radius:6px;filter:drop-shadow(0 0 12px #ecc36aaa)}
.column.skill-destination{cursor:pointer}
#handDock #skillAim{display:flex;align-items:center;position:absolute;inset:auto auto calc(100% + 5px) 50%;transform:translateX(-50%);width:max-content;max-width:100%;padding:7px 9px;gap:9px;flex-wrap:nowrap;border-radius:8px;backdrop-filter:blur(12px);z-index:30}
#handDock #skillAim[hidden]{display:none}
#skillTargetLabel{white-space:nowrap;font-size:11px}
.skill-feedback #skillTargetLabel{white-space:normal;min-width:0;color:#ffd4a5;line-height:1.4}
#cancelSkill{min-width:36px;min-height:36px;padding:5px}
@media(max-width:820px),(pointer:coarse) and (max-height:600px),(max-width:950px) and (max-height:500px){#handDock #skillAim{padding:5px 7px;gap:6px}#skillTargetLabel{font-size:10px}#cancelSkill{min-height:40px;min-width:32px}}


/* Target prompts replace the small hand heading instead of covering lane HP. */
#handDock #skillAim{position:static;inset:auto;transform:none;width:100%;max-width:none;min-height:34px;padding:0 3px;margin:0 0 5px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;justify-content:flex-end}
#handDock #skillTargetLabel{margin-right:auto}
#handDock:has(#skillAim:not([hidden])) .handheading{display:none}
.desktop-layout main:has(#skillAim:not([hidden])){grid-template-rows:minmax(0,1fr) 296px}
@media(min-width:821px) and (max-height:740px){.desktop-layout main:has(#skillAim:not([hidden])){grid-template-rows:minmax(0,1fr) 264px}}

/* Match transitions are large and temporary; combat itself keeps the full field. */
.match-stage{position:fixed;inset:0;display:grid;place-items:center;z-index:75;pointer-events:none;background:radial-gradient(ellipse at center,#11111670,#05080cc7);backdrop-filter:blur(2px);padding:24px;text-align:center;color:#f3cd8f}
.match-stage[hidden]{display:none}.stage-inner{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:220px}
.stage-round{font-size:11px;letter-spacing:.3em;color:#c6ad82}.stage-value{font-size:clamp(100px,18vw,184px);line-height:1;font-weight:700;letter-spacing:-.06em;text-shadow:0 0 55px #d5a65b65,0 8px 30px #000;animation:stage-enter .35s ease-out both;font-variant-numeric:tabular-nums}.stage-label{font-size:15px;letter-spacing:.12em;color:#e7dbbd}
.match-stage.ready .stage-value,.match-stage.sync .stage-value{font-size:clamp(55px,10vw,104px);letter-spacing:.08em}.match-stage.sync .stage-label{font-size:12px}
.match-stage.go{background:transparent;backdrop-filter:none}.match-stage.go .stage-inner{animation:stage-start .8s ease-out both}.match-stage.go .stage-value{font-size:clamp(64px,12vw,120px);letter-spacing:.1em;color:#ffe0a5}.match-stage.go .stage-label{background:#090d13d9;padding:4px 12px;border-radius:4px}
@keyframes stage-enter{from{opacity:.35;transform:scale(1.16)}to{opacity:1;transform:scale(1)}}@keyframes stage-start{0%{opacity:0;transform:scale(.92)}20%,65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.05)}}
.match-result{--result-accent:#efc47d;position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border:1px solid #d2ac6b88;border-radius:18px;padding:30px;color:#f5ecd9;text-align:center;background:radial-gradient(ellipse at 50% 0,#b47a2c2b,transparent 65%),#0b0f14;box-shadow:0 0 90px #b7802630,inset 0 1px #ffedc322}
.match-result::backdrop{background:#030609bf;backdrop-filter:blur(5px)}.match-result[open]{animation:result-enter .25s ease-out}.match-result [hidden]{display:none!important}.match-result[data-outcome=lose]{--result-accent:#9bb9cf;border-color:#7697ad77;background:radial-gradient(ellipse at 50% 0,#415c792a,transparent 65%),#0b0f14;box-shadow:0 0 80px #2e597222}.match-result[data-outcome=draw]{--result-accent:#dad2b6}
.result-emblem{font-size:38px;line-height:1;color:var(--result-accent);margin-bottom:12px;text-shadow:0 0 24px #c5964960}.result-english{font-size:11px;letter-spacing:.35em;color:var(--result-accent);margin-bottom:9px}
.match-result h2{font-size:clamp(58px,9vw,88px);font-weight:750;letter-spacing:.1em;line-height:1.15;color:var(--result-accent);margin:0 0 14px;text-shadow:0 0 35px #cf9c3020}.match-result h2:focus{outline:none}.match-result[data-outcome=draw] h2{font-size:clamp(40px,8vw,64px)}
.result-reason{font-size:14px;color:#e1d8c6}.result-summary{font-size:11px;color:#9c9c92;margin-top:8px}.result-cores{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:8px;padding:18px 0;margin:20px 0;border-block:1px solid #a7895533}.result-cores>div{display:flex;flex-direction:column;gap:5px}.result-cores span{font-size:9px;letter-spacing:.08em;color:#a9a798}.result-cores b{font-size:25px;line-height:1.2;font-weight:600;color:#f1e6cf;font-variant-numeric:tabular-nums}.result-cores .result-vs{font-size:9px;color:#797b75}
.result-actions{display:grid;gap:9px}.result-actions button{min-height:48px;font-size:14px}.result-footer{display:flex;justify-content:center;gap:12px;margin-top:18px}.result-footer button{border-color:transparent;min-height:40px;padding:6px 12px;font-size:11px;color:#b8b2a6}.result-footer button:hover{border-color:#a7895544}.result-guest{font-size:12px;color:#c2bcae;padding:8px 0}.result-reopen{font-size:10px;min-height:24px;padding:2px 8px;color:#e7c68e;border-color:#bb91524d}.result-reopen[hidden]{display:none}
@keyframes result-enter{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){.match-result{padding:23px 20px;border-radius:14px}.result-emblem{font-size:30px;margin-bottom:10px}.result-reason{font-size:12px}.result-summary{font-size:10px}.result-cores{margin:16px 0;padding:15px 0}.result-cores b{font-size:23px}.result-actions button{font-size:13px}.result-footer{margin-top:12px}.stage-label{font-size:13px}.result-reopen{font-size:8px;min-height:22px;padding:2px 6px}}
@media(max-height:550px){.match-result{width:min(560px,calc(100% - 28px));padding:18px 24px}.result-emblem{display:none}.result-english{font-size:9px;margin-bottom:5px}.match-result h2{font-size:45px;margin-bottom:7px}.match-result[data-outcome=draw] h2{font-size:36px}.result-reason{font-size:11px}.result-summary{margin-top:4px;font-size:10px}.result-cores{padding:9px 0;margin:11px 0}.result-cores b{font-size:20px}.result-actions{grid-template-columns:1fr 1fr;gap:8px}.result-actions button{font-size:11px;min-height:42px}.result-footer{margin-top:6px}.result-footer button{min-height:32px}.stage-inner{gap:6px}.stage-value{font-size:100px}}
@media(prefers-reduced-motion:reduce){.stage-value,.match-stage.go .stage-inner,.match-result[open]{animation:none!important}}

/* Steering cards cross column boundaries without disappearing behind the next lane. */
.column:has(.bending){z-index:7}

/* CROSSCAST / crafted amber: dimensional glass, etched metal and illustrated cards. */
body{background:radial-gradient(ellipse at 50% -15%,#59402a45,transparent 58%),radial-gradient(ellipse at 2% 60%,#21415720,transparent 38%),radial-gradient(ellipse at 100% 75%,#673e271f,transparent 45%),#080d11}
.topbar{border-bottom-color:#c49a5b38;background:linear-gradient(90deg,#c3994b05,transparent 35% 65%,#88b9d305)}
.brandmark{font-size:0;transform:none;border-radius:8px;background:linear-gradient(145deg,#6c512e,#1f2020 60%,#44331f);border:1px solid #c5a36b9c;box-shadow:inset 0 1px #ffe0a773,inset 0 0 0 3px #0e1419,0 3px 12px #0008}
.brandmark:before{content:'';display:block;width:24px;height:24px;background:url('/art/crosscast-mark.svg') center/contain no-repeat}
.brand h1{color:#f9edda;text-shadow:0 1px #000,0 0 22px #f4c87b20}.brand small{color:#c8a66c}
.quiet{border-color:#9f8c6e40;background:linear-gradient(150deg,#ffffff07,#0c1116aa);box-shadow:inset 0 1px #ffffff08}
.onlinebar{color:#c5bda9}.onlinebar #connection{color:#c5ad7c}.onlinebar.offline #connection{color:#ffad91}.tick{color:#c4b498}.phase{color:#d2c5ab}
.arena:before{filter:drop-shadow(0 12px 14px #0008)}
.arena:after{background:radial-gradient(ellipse at 50% 85%,#d6a45d24,transparent 65%);filter:blur(16px)}


.lane:before{background:linear-gradient(180deg,#d4d8d32e,#24313c 12%,#0d1720 46%,#090e15 80%);border-color:#93a6aa66;box-shadow:0 6px 0 -3px #1c2329,0 10px 16px #0009,inset 0 1px #f3e5c05c,inset 0 -1px #02060b}
.lane.enemy:before{border-color:#b28f7969}.lane.mine:before{border-color:#769eb47d}
.lane .hp b{color:#fffbf0;text-shadow:0 1px 1px #000,0 0 12px #b1daf220}.lane .lanetitle{color:#d2c5ad}
.hpbar{height:6px;border-color:#8bb8ce48;background:#02070b;box-shadow:inset 0 1px 3px #000,0 1px #ffffff12}
.hpbar span{height:4px;background:linear-gradient(90deg,#166294,#52bbf0 70%,#b3f1ff);box-shadow:0 0 9px #63c9ff77}
.enemy .hpbar span{background:linear-gradient(90deg,#872d39,#f7666a 75%,#ffb8a3);box-shadow:0 0 9px #ed645f77}
.lane.destroyed:before{background:repeating-linear-gradient(135deg,#14181a,#14181a 7px,#191b1c 7px,#191b1c 8px);box-shadow:inset 0 2px 5px #0009;border-color:#72594755}
.dead-hint{font-size:8px;color:#d09a78;letter-spacing:.05em}.lane.destroyed .hp b{color:#938878}
.flight-rails line{stroke:#e0c18b6b;stroke-dasharray:2 7;stroke-width:1}
.core-panel{background:radial-gradient(ellipse at 100% 0,#f1d39a12,transparent 65%),linear-gradient(145deg,#1d242a,#10161c 60%,#1b1b17);border-color:#b0915c80;box-shadow:inset 0 1px #ffedc630,inset 0 0 0 3px #090e12,0 8px 18px #0007;border-radius:8px}
.core-panel:before{content:'';position:absolute;right:-18px;top:6px;width:70px;height:70px;border:1px solid #c2a46b22;transform:rotate(45deg);pointer-events:none}
.core-panel:after{content:'';position:absolute;inset:5px;border:1px solid #e1ca9d13;border-radius:4px;pointer-events:none}
.core-panel>b{font-weight:550;color:#fff3db;text-shadow:0 2px 2px #000,0 0 20px #efbc752b}.core-panel>small{color:#a4a397}.core-panel>span{font-size:9px;letter-spacing:.14em}
.enemy-core{border-color:#c57c6970}.own-core{border-color:#7cb7d97a}.enemy-core:before{border-color:#e0836c33}.own-core:before{border-color:#78c4e53b}
.core-panel>i{height:3px;bottom:4px;left:7px;right:7px}
.charge .charge-dial{background:radial-gradient(circle,transparent 43%,#3e352459 45%,#0b1218 50% 66%,#b68a4d33 67%,transparent 71%);filter:drop-shadow(0 3px 6px #0008)}
.charge-dial circle{stroke:#a98b5340;stroke-width:2}.charge-dial #chargeArc{stroke:#efc985;stroke-width:3;filter:drop-shadow(0 0 3px #e7c18166)}.charge>div>b{color:#f8e8c8}
.workshop-zones .workshop-drop{border-color:#af8c5666;border-radius:9px;background:linear-gradient(130deg,#3430294a,#10181ff2 45%,#0b1017 75%),#10161b;box-shadow:inset 0 1px #e0ccb22b,inset 0 0 0 4px #ffffff03,0 5px 12px #0005;isolation:isolate;overflow:hidden}
.workshop-drop:before{content:'';position:absolute;inset:5px;border:1px solid #b0956e1c;border-radius:5px;z-index:-1;pointer-events:none}
.workshop-drop:after{content:'';position:absolute;top:-20px;bottom:-20px;right:12%;width:80px;border:1px solid #caab7620;transform:rotate(32deg);box-shadow:12px 0 0 -1px #0d141922,13px 0 #caab7612;z-index:-1;pointer-events:none}
.workshop-zones .swap-zone{border-color:#658eac5c;background:linear-gradient(135deg,#32516a21,#10181ff2 45%,#0b1017)}
.workshop-drop>span{position:relative;z-index:1}.zone-title{color:#f4e3c4}.swap-zone .zone-title{color:#b8def6}.zone-time{color:#dbccb2}
.forge-ring{filter:drop-shadow(0 0 8px #a9792926)}.forge-ring circle{stroke:#9274444d;stroke-width:2}.forge-ring circle+circle{stroke:#e4bb76;stroke-width:3}.swap-zone .forge-ring{color:#b0dcf7}.swap-zone .forge-ring circle+circle{stroke:#93cdeb}
.workshop-zones .workshop-drop.processing{border-color:#e9bc7d9c;background:radial-gradient(ellipse at 15% 50%,#e6b46927,transparent 75%),#11191f;box-shadow:inset 0 1px #ffdf9d38,0 0 20px #c88b3820}
.workshop-drop.processing:after{border-color:#e4c58c4a}
.handsection{border-top-color:#b991515c;background:linear-gradient(180deg,#151b2100,#11182088);isolation:isolate}
.handheading h2{color:#dfbc80}.handheading h2 span{color:#e9dfca}.hand-pages{color:#c9b898}
.hand .card,.drag-ghost.card{--card-art:url('/art/card-attack.svg');border-radius:7px;border-color:var(--accent);background:radial-gradient(ellipse at 10% 0,#ffffff50,transparent 40%),linear-gradient(145deg,var(--face-a),var(--face-b) 57%,var(--inner));box-shadow:0 0 0 1px #03090f,0 5px 0 -2px var(--inner),0 8px 12px #0009,inset 0 0 0 3px var(--inner),inset 0 0 0 4px #ffffff24,inset 0 1px 7px #ffffff35}
.hand .card.guard,.drag-ghost.card.guard{--card-art:url('/art/card-guard.svg')}.hand .card.heal,.drag-ghost.card.heal{--card-art:url('/art/card-heal.svg')}.hand .card.skill,.drag-ghost.card.skill{--card-art:url('/art/card-skill.svg')}
.hand .card:before{inset:5px 5px 35px;border-color:#fff5e452;background:repeating-linear-gradient(135deg,transparent,transparent 8px,#ffffff06 8px,#ffffff06 9px);border-radius:2px}
.hand .card:after{background:linear-gradient(118deg,transparent 18%,#fff3c50d 19% 28%,transparent 29% 76%,#ffffff15 77%,transparent 79%)}
.hand .cardtop{position:relative;z-index:2}.card-rank{font-weight:600;text-shadow:0 2px 2px #250d1a88,0 0 12px #ffffff60}.cardtop small{opacity:.55;border:1px solid #ffffff33;border-radius:2px;min-width:12px;line-height:11px;text-align:center}
.hand .cardart,.drag-ghost .cardart{background:var(--card-art) center/contain no-repeat;filter:none}.hand .cardart svg,.drag-ghost .cardart svg{opacity:0}
.hand .cardbottom,.drag-ghost .cardbottom{background:linear-gradient(120deg,var(--inner),#0b121be8);border-top-color:#ffffff36;box-shadow:0 -3px 10px #090d1640,inset 0 1px #ffffff0d}
.hand .cardname{letter-spacing:.04em}.hand .card-time{color:#eee8d8}.hand .card.selected{box-shadow:0 0 0 1px #ffe7b3,0 0 20px var(--card-glow),inset 0 0 0 3px var(--inner)}
.flight-face{background:radial-gradient(ellipse at 10% 0,#ffb68c66,transparent 48%),linear-gradient(145deg,#da5147,#811e2b 65%,#331522);box-shadow:0 0 0 1px #210b15,0 0 13px #ff735846,inset 0 0 0 2px #411c24,inset 0 0 0 3px #ffc2a927,0 5px 12px #0009;border-color:#ffc3a4;border-radius:5px}
.guardflight .flight-face{background:radial-gradient(ellipse at 10% 0,#b4edff88,transparent 45%),linear-gradient(145deg,#259ddc,#124d8e 65%,#12294d);box-shadow:0 0 0 1px #0a2139,0 0 17px #3ba9ee4d,inset 0 0 0 2px #123856,inset 0 0 0 3px #a3e2ff38,0 5px 12px #0009}
.flight-art{--flight-art:url('/art/card-attack.svg');background:var(--flight-art) center/contain no-repeat;filter:none}.guardflight .flight-art{--flight-art:url('/art/card-guard.svg')}.flight-art svg{opacity:0}
.flight-value{color:#fff8e6;text-shadow:0 1px 2px #190814,0 0 6px #ffe0c14d}.flight .eta{position:relative;z-index:1;background:#160d1580;padding:2px 4px;border-radius:3px;font-variant-numeric:tabular-nums}.guardflight .eta{background:#0c233e9c}
.flight.travel:before{width:5px;margin-left:-2px;background:linear-gradient(#ffc19b66,transparent);box-shadow:0 0 9px #ec9b612e}.flight.travel.enemy:before{background:linear-gradient(transparent,#ffc19b66)}.flight.guardflight:before{background:linear-gradient(#8fdfff66,transparent)}.flight.guardflight.enemy:before{background:linear-gradient(transparent,#8fdfff66)}
.clash{isolation:isolate;border-color:#fff2c2;background:radial-gradient(#fffae3,#e3b771a6 24%,#6e432645 60%,transparent);text-shadow:0 1px 2px #31170b;box-shadow:0 0 28px #ffcb7e66}
.clash:before,.clash:after{content:'';position:absolute;pointer-events:none;border-radius:50%;z-index:-1}
.clash:before{inset:-17px;border:1px solid #ffe3a0a6;box-shadow:0 0 10px #f2c97666,inset 0 0 10px #ffe2a433;animation:rich-shock .7s ease-out both}
.clash:after{inset:-27px;background:repeating-conic-gradient(from 10deg,transparent 0deg 28deg,#ffe8a7b3 29deg 30deg,transparent 31deg 60deg);mask-image:radial-gradient(transparent 28%,#000 31% 44%,transparent 65%);animation:rich-shock .55s ease-out both}
@keyframes rich-shock{from{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}
.match-result{background:radial-gradient(ellipse at 50% -10%,#8d623230,transparent 65%),linear-gradient(145deg,#1a2128,#0c1219);border-color:#c5a26999;box-shadow:inset 0 1px #ffedc242,inset 0 0 0 5px #ffffff03,0 24px 80px #000b}
.result-emblem{font-size:0;width:54px;height:54px;margin:0 auto 16px;background:url('/art/crosscast-mark.svg') center/contain no-repeat;filter:drop-shadow(0 0 10px #c8a76b44)}
.stage-value{font-weight:600;text-shadow:0 3px 0 #6b492b,0 0 55px #e2b36952}.stage-round{color:#e0c28d}
.lobby{gap:60px;padding:42px 0}.lobbyintro:before{top:100px;height:360px;opacity:.55;transform:rotate(-5deg)}
.lobby h2{color:#f7e5c3;text-shadow:0 3px 2px #0006;letter-spacing:.02em}.lobby .pill{color:#e8c68e;border-color:#a5834666;background:#60462521}
.lobbycard{background:radial-gradient(ellipse at 0 0,#d6a65f20,transparent 58%),linear-gradient(145deg,#1d252d,#10161e 65%);border:1px solid #bd995c85;box-shadow:inset 0 1px #ffedcb38,inset 0 0 0 5px #ffffff03,0 20px 60px #0009}
.lobbycard h3{color:#fff0d1}.mode-option:has(input:checked){box-shadow:inset 0 1px #ffe9ba1a,0 0 18px #b48b3c14}
.lobby-art{position:relative;height:190px;width:340px;margin:18px auto 0;pointer-events:none;isolation:isolate}
.lobby-art:after{content:'';position:absolute;bottom:0;left:5%;right:5%;height:35px;border-radius:50%;background:#0006;filter:blur(12px);z-index:-1}
.showcase-card{position:absolute;display:block;width:106px;height:150px;top:8px;left:116px;border:1px solid #ffc2a3;border-radius:8px;background:url('/art/card-attack.svg') center 52%/100% no-repeat,linear-gradient(145deg,#cf5247,#621d2c 80%);box-shadow:inset 0 0 0 4px #3b1829,inset 0 0 0 5px #ffc2a344,0 15px 28px #0008;transform:rotate(-2deg);z-index:2}
.showcase-card>b{position:absolute;top:6px;left:10px;color:#fff1de;font-size:30px;font-style:normal;font-weight:550;text-shadow:0 0 10px #ffb78a}
.showcase-guard{left:36px;top:21px;transform:rotate(-17deg);background:url('/art/card-guard.svg') center 52%/100% no-repeat,linear-gradient(145deg,#259ed4,#12325a 80%);border-color:#a6e5ff;box-shadow:inset 0 0 0 4px #122c42,inset 0 0 0 5px #9edcff33,0 15px 28px #0008;z-index:1}
.showcase-skill{left:198px;top:23px;transform:rotate(15deg);background:url('/art/card-skill.svg') center 52%/100% no-repeat,linear-gradient(145deg,#9b5bcd,#3a225c 80%);border-color:#dfb7ff;box-shadow:inset 0 0 0 4px #33203f,inset 0 0 0 5px #e1b8ff33,0 15px 28px #0008;z-index:1}
@media(min-width:821px) and (max-height:740px){.lobby{padding:26px 0;gap:45px}.lobby-art{height:145px;transform:scale(.85);transform-origin:top center;margin-top:5px}.lobbyintro p{margin-top:12px}}
@media(max-width:820px){body{background:radial-gradient(ellipse at 50% 0,#53402a33,transparent 55%),#090f14}.brandmark:before{width:21px;height:21px}.arena:before{filter:drop-shadow(0 6px 7px #0008)}.lobby{padding:24px 0;gap:23px}.lobby-art{display:none}.lobbyintro:before{opacity:.32;top:20px;height:220px}.lobbycard{padding:20px}.hand .card:before{inset:3px 3px 24px}.hand .card,.drag-ghost.card{border-radius:5px;box-shadow:0 0 0 1px #03090f,0 4px 7px #0008,inset 0 0 0 2px var(--inner),inset 0 0 0 3px #ffffff20}.cardtop small{display:none}.hand .cardart{opacity:1}.hand .cardname{letter-spacing:0}.dead-hint{font-size:7px}.workshop-drop:after{width:34px;right:20%}.zone-title{color:#f4e3c4}.flight .eta{padding:1px 3px}.result-emblem{width:44px;height:44px}.clash:after{inset:-17px}.clash:before{inset:-10px}}
@media(max-height:550px){.result-emblem{display:none}.lobby-art{display:none}}
@media(prefers-reduced-motion:reduce){.clash:before,.clash:after{animation:none!important}.arena:before{filter:none}}
@media(min-width:821px){.lobby{padding:22px 0}}
@media(min-width:821px) and (max-height:740px){.lobby{padding:6px 0}.lobbycard{padding:20px}.lobbycard .mode-section{margin:12px 0}.lobbycard .mode-option{min-height:52px;padding:10px}.lobbycard .timing-entry{margin:12px 0}.lobbycard>p{margin-bottom:12px}}

/* One-hit Protect: visible to both players, kept clear of HP and flight hit targets. */
.hand .card.skill.protect-card,.drag-ghost.card.skill.protect-card{--card-art:url('/art/card-protect.svg');--accent:#b7eaff}
.protect-badge{position:absolute;left:50%;bottom:calc(100% - 7px);transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:3px 8px;color:#e0fbff;background:linear-gradient(135deg,#173949f5,#30254cf5);border:1px solid #b1ddf0aa;border-radius:20px;box-shadow:0 0 14px #a2dfff38;white-space:nowrap;font-size:8px;letter-spacing:.08em;pointer-events:none;z-index:7}
.protect-badge b{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#d8f5ff;color:#193449;font-size:10px;letter-spacing:0}
.enemy .protect-badge{bottom:auto;top:calc(100% - 7px)}
.lane.protected .hpbar{outline:1px solid #d8c2ff;outline-offset:3px;box-shadow:0 0 16px #a5e5ff50}
.protect-block{color:#d7faff;text-shadow:0 0 15px #7bdcff,0 2px 5px #132e48;font-size:22px;letter-spacing:.12em}
.protect-flash .hpbar{animation:protect-flare .55s ease-out}
@keyframes protect-flare{from{outline:3px solid #e9ffff;box-shadow:0 0 35px #b8f6ff}to{outline:0 solid transparent;box-shadow:0 0 0 transparent}}
@media(max-width:820px){.protect-badge{padding:2px 5px;gap:3px;font-size:7px}.protect-badge b{width:12px;height:12px;font-size:9px}.protect-badge svg{width:10px;height:10px}.protect-block{font-size:17px}}
@media(prefers-reduced-motion:reduce){.protect-flash .hpbar{animation:none}}

/* A newly drawn rare card flares once; its outline and slow sheen stay recognizable. */
.hand .card.skill.rare-card,.drag-ghost.card.skill.rare-card{--face-a:#66bbda;--face-b:#424a91;--accent:#ffe5a6;--inner:#243346;border-color:#ffe5a6;box-shadow:0 0 0 1px #fff0b64d,0 0 17px #f9cc6659,inset 0 0 0 3px #263743,inset 0 0 22px #fff0a830,0 5px 8px #0008}
.hand .card.skill.rare-card{animation:rare-draw-flare 1.1s ease-out both}
.hand .card.skill.rare-card:after{background:linear-gradient(115deg,transparent 25%,#fff7d478 49%,transparent 72%);transform:translateX(-160%);animation:rare-card-sheen 3.8s ease-in-out infinite;z-index:3}
.hand .rare-card .cardart{filter:drop-shadow(0 0 8px #fff4c4)}
.hand .rare-card .cardtop>small{visibility:hidden}
.rare-mark{position:absolute;right:6px;top:8px;z-index:4;padding:2px 4px;border:1px solid #ffe7a69c;border-radius:3px;background:#1c2736d9;color:#fff0bb;font-size:7px;line-height:1.2;letter-spacing:.12em;pointer-events:none}
.hand .rare-card.selected{border-color:#fff8e6;outline:2px solid #fff1b9;outline-offset:2px}
@keyframes rare-draw-flare{0%{filter:brightness(1.8);box-shadow:0 0 0 2px #fff6d6,0 0 38px #ffe7a6d9,inset 0 0 30px #fff4c566}100%{filter:brightness(1)}}
@keyframes rare-card-sheen{0%{transform:translateX(-160%);opacity:0}8%{opacity:1}38%,100%{transform:translateX(160%);opacity:0}}
@media(max-width:820px){.rare-mark{top:4px;right:3px;padding:1px 3px;font-size:6px;letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){.hand .card.skill.rare-card,.hand .card.skill.rare-card:after{animation:none}.hand .card.skill.rare-card:after{opacity:0}}

/* Shared friend room: settings first, then both players Ready. */
.waitingpanel.room-lobby{max-width:840px;margin:24px auto;padding:26px;text-align:left;border:1px solid #8b6c424d;background:linear-gradient(135deg,#1e2427e8,#10171be8);border-radius:14px}
.room-heading,.room-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.room-heading h2{margin:8px 0 0;font-size:26px}.room-heading>span{font-size:10px;color:#bca778;letter-spacing:.12em}
.room-seats{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:22px 0}
.room-seats>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;border:1px solid #afa38333;border-radius:9px;background:#ffffff04}
.room-seats span{font-size:10px;color:#b2b5b2;letter-spacing:.1em}.room-seats strong{font-size:15px;color:#b5b7b3}.room-seats strong.is-ready{color:#a7e8cf;text-shadow:0 0 15px #62d7ad44}
.room-settings{padding:20px;border-radius:10px;background:#080e1355;border:1px solid #b59a6926}.room-settings h3{font-size:14px}.room-settings .speed-choices{margin:14px 0;grid-template-columns:repeat(4,1fr)}
.room-settings #roomSettingsSummary{font-size:11px;line-height:1.7;color:#c4c3b8;margin:0}.room-settings>small{display:block;margin-top:14px;color:#969c98;font-size:10px}
.room-bans{margin:18px 0 0;padding:0;border:0}.room-bans legend{font-size:12px;margin-bottom:9px;color:#d6c7ae}.room-bans>small{display:block;margin-top:8px;font-size:10px;color:#979d98}
.skill-ban-choices{display:flex;gap:7px;flex-wrap:wrap}.skill-ban-option{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #88755b55;border-radius:7px;font-size:11px;color:#c8c7bf;cursor:pointer}.skill-ban-option:has(input:checked){border-color:#d994a1aa;color:#ffd2da;background:#9a3d5620}.skill-ban-option:has(input:disabled){cursor:default}.skill-ban-option input{margin:0;accent-color:#cf7790;width:15px;height:15px}.skill-ban-option:has(input:checked) span:after{content:' BAN';font-size:8px;letter-spacing:.07em}
.room-lobby .invitebox{margin:18px 0 0}.room-lobby #copyStatus{font-size:11px;color:#b2c8b5;margin:7px 0;min-height:0}.room-lobby .room-ready{display:block;width:100%;min-height:52px;margin-top:18px;font-size:18px;letter-spacing:.06em}.room-ready.is-ready{background:linear-gradient(135deg,#a2dfc4,#5d9f84);border-color:#b9e9d4;color:#09291e}.room-lobby #roomReadyHelp{margin:9px 0 0;text-align:center;font-size:11px;color:#b7b8ad}
@media(max-width:820px){.waitingpanel.room-lobby{margin:16px auto;padding:17px}.room-heading h2{font-size:22px}.room-seats{gap:9px;margin:18px 0}.room-seats>div{flex-direction:column;padding:12px 6px;gap:6px}.room-settings{padding:14px}.room-settings .speed-choices{grid-template-columns:repeat(2,1fr)}.skill-ban-option{padding:10px 8px;min-height:40px}.room-settings-heading .quiet{font-size:10px;padding:7px}.room-lobby .invitebox{flex-wrap:wrap}.room-lobby .invitebox input{min-width:0;width:100%;flex-basis:100%}.room-lobby .invitebox button{width:100%;min-height:40px}}
.room-heading .pill{margin:0;padding:4px 8px}.room-heading h2{font-size:24px;line-height:1.3}.waitingpanel.room-lobby{margin:18px auto;padding:22px}.room-seats{margin:16px 0}.room-seats>div{padding:12px}.room-settings{padding:16px}.room-lobby .room-bans{margin-top:14px}.room-lobby .room-ready{margin-top:14px;min-height:48px}
@media(max-width:820px){.waitingpanel.room-lobby{margin:12px auto;padding:16px}.room-heading h2{font-size:21px}.room-seats>div{padding:10px 6px}.room-settings{padding:12px}}
@media(max-width:820px){.waitingpanel.room-lobby{padding-bottom:112px}.room-ready-actions{position:fixed;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));z-index:45;padding:10px 12px;border:1px solid #bca16b55;border-radius:12px;background:#10171bf2;box-shadow:0 -6px 24px #0007;backdrop-filter:blur(14px)}.room-lobby .room-ready-actions .room-ready{margin-top:0}.room-lobby #roomReadyHelp{margin-top:6px;font-size:10px}}

/* Final blow: the card makes contact, the core breaks, then the result is revealed. */
.pause-button{padding:5px 10px;font-size:11px;white-space:nowrap}.pause-dialog{width:min(340px,calc(100vw - 40px));margin:auto;padding:32px;border:1px solid #d3aa6e88;border-radius:16px;background:radial-gradient(ellipse at 50% 0,#d8ac5822,transparent 75%),#10181e;color:#f0e4cc;text-align:center;box-shadow:0 20px 80px #000b}.pause-dialog::backdrop{background:#04080d99}.pause-symbol{display:block;font-size:38px;color:#e9c58e;line-height:1.3}.pause-dialog p{font-size:10px;letter-spacing:.28em;color:#c8a873;margin:8px 0}.pause-dialog h2{font-size:25px;margin:10px 0 26px}.pause-dialog .primary{width:100%;min-height:48px}.match-paused main *{animation-play-state:paused!important}

/* Wing armor: side shields protect the core and go dark when destroyed. */
.lane.wing,.lane.armored-core{--armor-tint:#d6ad6d;background:transparent}
.lane.wing.mine,.lane.armored-core.mine{--armor-tint:#8dc9e6}
.lane.wing:before,.lane.armored-core:before,.lane.wing .lane-base,.lane.armored-core .lane-base{display:none}
.wing-plate,.core-aegis{position:absolute;inset:0 3%;width:94%;height:100%;z-index:-1;overflow:visible;pointer-events:none;color:var(--armor-tint);filter:drop-shadow(0 3px 6px #0008);transition:filter .25s,opacity .25s}
.wing-shell{fill:#10212be8;stroke:currentColor;stroke-width:1.2}.enemy .wing-shell{fill:#2c2219e8}
.wing-rib{fill:none;stroke:currentColor;stroke-width:1;opacity:.16}.wing-edge{fill:none;stroke:currentColor;stroke-width:2;opacity:.6}.wing-plate.right{transform:scaleX(-1)}
.wing-crack{fill:none;stroke:#e89b83;stroke-width:2;display:none}.wing.destroyed .wing-plate{color:#615e57;opacity:.55;filter:none}.wing.destroyed .wing-shell{fill:#151719}.wing.destroyed .wing-edge{opacity:.15}.wing.destroyed .wing-crack{display:block}
.lane.wing .lanetitle,.lane.armored-core .lanetitle{display:flex;align-items:center;gap:5px;color:var(--armor-tint);font-size:9px;letter-spacing:.05em;line-height:1.15}
.lane.wing .lanetitle svg{width:11px;height:11px}.lane.wing.destroyed .lanetitle{color:#827a70}.lane.wing .hp,.lane.armored-core .hp{margin-bottom:5px}.lane.wing .hpbar{left:15%;right:15%}
.wing .dead-hint{top:auto;bottom:-3px;font-size:7px}.wing.destroyed .hp{opacity:.75}.wing.destroyed .hp b{color:#9a9287}
.aegis-shell{fill:#171d22eb;stroke:currentColor;stroke-width:1.3}.enemy .aegis-shell{fill:#211d18eb}.aegis-side{fill:currentColor;stroke:currentColor;stroke-width:1;opacity:.7}.aegis-side.down{fill:#211f1b;stroke:#6b6255;opacity:.5}
.armor-link{position:absolute;top:45%;height:2px;width:19%;z-index:-2;pointer-events:none;background:linear-gradient(90deg,transparent,var(--armor-tint));box-shadow:0 0 7px var(--armor-tint);opacity:.65}.armor-link.left{left:-11%}.armor-link.right{right:-11%;transform:scaleX(-1)}.armor-link.down{background:repeating-linear-gradient(90deg,#65594b 0 4px,transparent 4px 8px);box-shadow:none;opacity:.4}
.armor-rate{font-size:8px;letter-spacing:0;color:#bcb6a7}.armor-rate b{color:var(--armor-tint);font-weight:750;font-size:10px}
.core-armor-hud{display:flex;align-items:center;gap:5px;margin-top:7px;color:#bfb5a4;font-size:8px;white-space:nowrap}.core-armor-hud b{font-size:10px;color:#f0d39c}.hud-wings{display:flex;gap:3px}.hud-wings i{width:9px;height:13px;display:block;clip-path:polygon(0 10%,90% 0,100% 65%,30% 100%);background:#dab679}.hud-wings i+i{transform:scaleX(-1)}.hud-wings i.down{background:#514c43}.own-core .hud-wings i.live{background:#87c5e4}
@media(max-width:820px){.lane.wing .lanetitle,.lane.armored-core .lanetitle{font-size:7px;gap:3px}.lane.wing .lanetitle svg{width:9px;height:9px}.armor-rate{font-size:7px}.armor-rate b{font-size:8px}.lane.wing .hp,.lane.armored-core .hp{margin-bottom:4px}.wing .dead-hint{font-size:6px;bottom:0}.wing-plate,.core-aegis{inset:0 1%;width:98%}.armor-link{width:18%}}
/* Read-only preset/guest values stay legible against the dark settings theme. */
.amber-theme .timing-field input,.amber-theme .timing-field input:disabled{background:#0b1015;color:#ece1ca;-webkit-text-fill-color:#ece1ca;border-color:#79603a88;opacity:1;color-scheme:dark}
.finish-scene{--finish-accent:#ffdda1;position:fixed;inset:0;z-index:75;isolation:isolate;overflow:hidden;touch-action:none;cursor:default;color:var(--finish-accent)}
.finish-scene[hidden]{display:none!important}.finish-scene[data-outcome=lose]{--finish-accent:#bddcf6}.finish-scene[data-outcome=draw]{--finish-accent:#f1e4c4}
.finish-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#04070a08,#04070a40 38%,#04070ac9);pointer-events:none}
.finish-card.finish-anchor{position:absolute;z-index:10;pointer-events:none;transform:none;overflow:visible}.finish-wobble{position:absolute;inset:0;will-change:transform;transform-origin:50% 55%;overflow:visible}
.finish-retained.flight.travel{position:absolute;min-height:0;margin:0;padding:0;animation:none;pointer-events:none}.finish-retained.flight.travel:before{display:none}.finish-retained .flight-face{width:100%;height:100%;box-shadow:0 0 0 1px #210b15,0 0 24px #ffbd6d88,inset 0 0 0 2px #411c24,inset 0 0 0 3px #ffc2a927,0 5px 12px #0009}
.finish-card-face{position:absolute;inset:0;overflow:hidden;border:1px solid #ffdfba;border-radius:5px;background:radial-gradient(ellipse at 10% 0,#ffc59188,transparent 55%),linear-gradient(140deg,#ed6754,#891e2b 65%,#341021);box-shadow:0 0 0 2px #1d0813,0 0 23px #ff8b596b,inset 0 0 0 3px #4c1822}
.finish-card-face:after{content:'';position:absolute;inset:5px;border:1px solid #ffcda355;border-radius:2px}.finish-card-value{position:absolute;top:4px;left:7px;font-size:25px;line-height:1;color:#fff2d5;text-shadow:0 0 12px #ffe0a3;font-weight:750}.finish-card-art{position:absolute;inset:22px 3px 15px;background:url('/art/card-attack.svg') center/contain no-repeat}.finish-card-label{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:9px;color:#ffdfc4}
.finish-transfer{position:absolute;left:0;top:0;width:20px;height:20px;margin:-10px;border-radius:50%;background:#fff2cb;box-shadow:0 0 20px #ffd28d,0 0 42px #ff874e;z-index:5;pointer-events:none}
.finish-core{position:absolute;height:56px;transform:translate(-50%,-50%);z-index:5;pointer-events:none}.finish-core-shell,.finish-core-piece{position:absolute;inset:0;border:2px solid #ffe3a0;border-radius:5px;background:linear-gradient(155deg,#f6cb7c44,#271d16dd 40%,#9e6a2b77);box-shadow:inset 0 0 18px #ffcf6f77,0 0 24px #ffb34c88}
.finish-core-cracks{position:absolute;inset:-4px;background:linear-gradient(29deg,transparent 48%,#fff0bf 49%,#fff0bf 50%,transparent 51%),linear-gradient(147deg,transparent 46%,#ffe3a1 47%,#ffe3a1 48%,transparent 49%),linear-gradient(80deg,transparent 54%,#fff0bf 55%,#fff0bf 56%,transparent 57%);filter:drop-shadow(0 0 5px #ffcb66)}
.finish-zero{position:absolute;z-index:8;transform:translateY(-50%);text-align:center;color:#fff0cb;text-shadow:0 0 18px #ffb965;pointer-events:none}.finish-zero span{display:block;font-size:8px;letter-spacing:.1em}.finish-zero b{display:block;font-size:44px;line-height:1.15}
.finish-impact{position:absolute;width:0;height:0;z-index:6;pointer-events:none}.finish-ring,.finish-flare{position:absolute;display:block;left:0;top:0}.finish-ring{width:100px;height:100px;margin:-50px;border:2px solid #ffefc4;border-radius:50%;box-shadow:0 0 18px #ffd69c88,inset 0 0 15px #ffd69c66}.finish-ring.secondary{width:154px;height:154px;margin:-77px;border-width:1px}.finish-flare{width:160px;height:160px;margin:-80px;background:radial-gradient(#fff4da 0,#ffdd9fbb 12%,#ff9a4b66 34%,transparent 68%);border-radius:50%}.finish-damage{position:absolute;left:0;top:0;font-size:clamp(32px,5vw,50px);font-weight:800;line-height:1;color:#fff1cf;text-shadow:0 2px 5px #36171b,0 0 22px #ffb875}
.finish-word{position:absolute;left:50%;top:49%;width:calc(100% - 32px);max-width:840px;transform:translate(-50%,-50%);text-align:center;z-index:8;pointer-events:none}.finish-kicker{display:block;font-size:clamp(17px,3vw,27px);font-weight:700;letter-spacing:.25em;text-shadow:0 2px 12px #05080e,0 0 30px #e9ab5355}.finish-title{display:block;font-size:clamp(42px,9vw,104px);line-height:1.2;font-weight:850;letter-spacing:.08em;margin-top:12px;text-shadow:0 3px 18px #030608,0 0 50px #e0ac5633}.finish-caption{display:block;font-size:clamp(13px,2vw,18px);letter-spacing:.3em;margin-top:10px}
.finish-playing .handsection{opacity:.35;filter:saturate(.6)}.lane[data-finish-contact] .hpbar{box-shadow:0 0 18px #ffb965aa}.lane[data-finish-broken] .hp{color:#fff0cb;text-shadow:0 0 15px #ffbd71}.lane[data-finish-broken] .hpbar{opacity:.2}
@media(max-width:820px){.finish-ring{width:74px;height:74px;margin:-37px}.finish-ring.secondary{width:112px;height:112px;margin:-56px}.finish-flare{width:125px;height:125px;margin:-62.5px}.finish-title{letter-spacing:.04em}.finish-word{top:46%}}

/* Balance tuning pairs a card's strength with its independent flight/activation time. */
.card-setting{min-width:0;padding:12px;border:1px solid #80684155;border-radius:8px;background:#090f1555;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.card-setting h4{grid-column:1/-1;margin:0;font-size:12px;color:#d6bd91;font-weight:650}.card-setting .timing-field{min-width:0;flex-direction:column;align-items:flex-start;gap:5px}.card-setting .timing-field>span:last-child{white-space:nowrap}.card-setting input{width:74px}.card-setting .timing-field>span:first-child{font-size:11px}
@media(max-width:820px){.card-setting{padding:12px;gap:10px}.card-setting input{width:80px}.card-setting .timing-field>span:first-child{font-size:12px}}
