:root{--you:#4fb83a;--you-dark:#25701b;--foe:#d9b766;--foe-dark:#8a6a2e;--alert:#ff5a3c;--alert-dark:#a8261a;--gold:#ffd23f;--gold-dark:#c98a12;--wood:#6b4527;--wood-dark:#3f2815;--panel:#261a10eb;--ink:#2a1a0e;--font:ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--app-w:100vw;--side:6px;--side-r:6px;--card-w:clamp(34px, calc((var(--app-w) - 12px - 6 * 3px - 26px) / 8), 60px);--card-h:calc(var(--card-w) * 1.12)}@media (min-aspect-ratio:3/4) and (pointer:fine){:root{--app-w:46vh}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{color:#fff;height:100%;font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none;background:#2b2118;margin:0;overflow:hidden}#app{top:0;bottom:0;left:calc((100vw - var(--app-w)) / 2);width:var(--app-w);position:fixed;overflow:hidden;box-shadow:0 0 40px #00000080}canvas.game{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.outline{text-shadow:0 2px 0 var(--ink), 1.5px 0 0 var(--ink), -1.5px 0 0 var(--ink), 0 -1.5px 0 var(--ink), 1px 1px 0 var(--ink), -1px 1px 0 var(--ink)}.topbar{padding:calc(var(--safe-top) + 4px) calc(var(--side-r) + 6px) 6px calc(var(--side) + 6px);pointer-events:none;background:linear-gradient(#1e140cbf,#1e140c00);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:absolute;top:0;left:0;right:0}.side{align-items:center;gap:6px;font-size:15px;font-weight:900;display:flex}.side.you{justify-content:flex-end}.pill{border:2px solid var(--ink);border-radius:999px;align-items:center;gap:5px;padding:3px 10px 3px 4px;display:inline-flex;box-shadow:0 3px #00000059}.pill.enemy{background:linear-gradient(var(--foe), var(--foe-dark))}.pill.you{background:linear-gradient(var(--you), var(--you-dark));flex-direction:row-reverse;padding:3px 4px 3px 10px}.pill .flagicon{background:#ffffff38;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.pill .num{text-align:center;min-width:14px;font-size:18px}.pill .label{opacity:.95;letter-spacing:.04em;font-size:11px}.clock{text-align:center;line-height:1}.clock .time{font-variant-numeric:tabular-nums;font-size:24px;font-weight:900}.clock .sub{letter-spacing:.12em;color:#ffe9b0;margin-top:2px;font-size:9.5px;font-weight:800}.clock.ot .time{color:var(--gold)}.clock.low .time{color:#ff6a55;animation:1s ease-in-out infinite clock-pulse}@keyframes clock-pulse{50%{transform:scale(1.08)}}.badges{pointer-events:none;position:absolute;inset:0}.badge{gap:2px;font-size:11px;font-weight:900;transition:opacity .2s;display:flex;position:absolute;transform:translate(-50%,-50%)}.badge span{border:1.5px solid var(--ink);border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;display:grid}.badge .b{background:var(--you)}.badge .r{background:var(--foe)}.badge .z{opacity:.35}.badge .cap{border:1.5px solid var(--ink);background:#140c06cc;border-radius:3px;height:6px;margin-top:3px;display:none;position:absolute;top:100%;left:0;right:0;overflow:hidden}.badge .cap i{width:0;height:100%;display:block}.dock{padding:2px var(--side-r) calc(var(--safe-bottom) * .7 + 4px) var(--side);border-top:3px solid var(--ink);background:linear-gradient(#7a5131,#4f321b);flex-direction:column;align-items:stretch;gap:3px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:inset 0 -4px #00000040,inset 0 3px #ffdca02e}.dock-row{justify-content:center;align-items:stretch;gap:8px;min-width:0;display:flex}.dock-row.more{justify-content:space-between;gap:14px}.dock-row.more .bullets{flex:1;width:auto;max-width:260px}.group{flex-direction:column;min-width:0;display:flex}.group+.group{border-left:2px solid #140c068c;padding-left:7px;box-shadow:-2px 0 #ffdca01f}.glabel{letter-spacing:.08em;color:#ffe2a6;white-space:nowrap;height:11px;padding-left:1px;font-size:8.5px;font-weight:900;line-height:11px;overflow:hidden}.cards{gap:3px;display:flex}.card{appearance:none;width:var(--card-w);height:var(--card-h);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-family:var(--font);background:linear-gradient(#f3e2b8,#d7b97c);border-radius:9px;flex:none;padding:0;transition:transform 80ms;position:relative;overflow:hidden}.card img{object-fit:contain;pointer-events:none;width:100%;height:calc(100% - 13px);position:absolute;inset:0 0 13px}.card .name{color:#fff;background:linear-gradient(var(--you), var(--you-dark));border-top:1.5px solid var(--ink);white-space:nowrap;text-overflow:clip;letter-spacing:-.02em;height:14px;font-size:8px;font-weight:900;line-height:13px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.dock.foe .card .name{background:linear-gradient(var(--foe), var(--foe-dark))}.card.full img{filter:grayscale(.5)brightness(.8);opacity:.7}.card.pressed{transform:translateY(1px)scale(.96)}.card.selected{border-color:var(--gold);box-shadow:0 0 0 2px var(--ink), 0 0 14px 3px #ffd23fd9, 0 6px 0 var(--ink);transform:translateY(-8px)scale(1.05)}.card.ready-pop{animation:.35s ease-out pop}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.bullets{flex-direction:column;flex:none;align-items:stretch;width:54px;display:flex}.bline{justify-content:center;align-items:center;gap:3px;height:26px;display:flex}.bicon svg{width:9px;height:21px;display:block}.bnum{font-variant-numeric:tabular-nums;font-size:24px;font-weight:900}.bsegs{border:1.5px solid var(--ink);background:#140c06b3;border-radius:4px;grid-template-columns:repeat(10,1fr);gap:1px;height:9px;padding:1px;display:grid}.bsegs i{background:#ffd23f1f;border-radius:1px;position:relative;overflow:hidden}.bsegs i b{background:linear-gradient(#ffd36b,#c98a12);width:0;position:absolute;inset:0 auto 0 0}.bsegs i.full b{background:linear-gradient(#ffe48f,#e0a21c)}.brate{text-align:center;color:#ffe2a6;white-space:nowrap;margin-top:2px;font-size:7px;font-weight:900;overflow:hidden}.brate.up{color:#9dff7a}.card .cost{color:#ffe48f;pointer-events:none;background:#1e140cd1;border-radius:7px;align-items:center;gap:1px;height:14px;padding:0 3px 0 2px;font-size:10px;font-weight:900;display:flex;position:absolute;top:1px;left:1px}.card .cost svg{width:4px;height:10px}.card .cost.short{color:#fff;background:#961e12e6}.card .corner{color:#ffe9b0;pointer-events:none;background:#1e140cb3;border-radius:6px;align-items:center;gap:1px;height:12px;padding:0 3px 0 2px;font-size:7.5px;font-weight:900;display:flex;position:absolute;top:1px;right:1px}.card .corner svg{width:7px;height:7px}.card .corner.count.maxed{color:#fff;background:#961e12e6}.card.newkind{box-shadow:0 0 0 1.5px #2f8a1f, 0 0 8px 1px #7dff5ab3, 0 3px 0 var(--ink);border-color:#7dff5a}.card.poor img{filter:grayscale(.8)brightness(.85);opacity:.75}.wave-box{flex-direction:column;flex:none;width:104px;display:flex}.wtime{text-align:center;font-variant-numeric:tabular-nums;height:26px;font-size:23px;font-weight:900;line-height:26px}.wbar{border:1.5px solid var(--ink);background:#140c06b3;border-radius:5px;height:9px;overflow:hidden}.wbar i{background:linear-gradient(#9fd7ff,#3e8fc9);width:100%;height:100%;display:block}.wsub{text-align:center;color:#ffe2a6;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:7px;font-weight:900;overflow:hidden}.wave-box.charge .wsub{color:var(--gold);font-size:8.5px}.wave-box.charge .wbar i{background:linear-gradient(#ffe48f,#f08c1a)}.wave-box.empty .wsub,.wave-box.empty .wtime{color:#ff8a7a}.wsub.hidden,.charge-btn.hidden{display:none}.charge-btn{appearance:none;border:1.5px solid var(--ink);color:#fff;height:15px;font-family:var(--font);white-space:nowrap;background:linear-gradient(#ffcf4a,#f08c1a);border-radius:7px;margin-top:2px;padding:0 4px;font-size:8px;font-weight:900}.charge-btn.armed{background:linear-gradient(#73d14f,#2f8a1f)}.charge-btn.waiting{color:#ffe2a6;background:#1e140cb3}.hint{left:50%;bottom:calc(2 * var(--card-h) + var(--safe-bottom) * .7 + 44px);max-width:calc(var(--app-w) - 16px);background:var(--panel);border:2px solid var(--ink);text-align:center;color:#ffe9b0;pointer-events:none;border-radius:10px;padding:4px 12px;font-size:11.5px;font-weight:800;position:absolute;transform:translate(-50%)}.hint.hidden{display:none}.hint b{color:#fff}.toasts{pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:0;right:0}.toast{background:var(--panel);border:2px solid var(--ink);border-radius:12px;padding:6px 14px;font-size:14px;font-weight:900;animation:1.8s ease-out forwards toast}.toast.good{background:linear-gradient(var(--you), var(--you-dark))}.toast.bad{background:linear-gradient(var(--alert), var(--alert-dark))}.toast.warn{background:linear-gradient(#e7a530,#a8640f)}@keyframes toast{0%{opacity:0;transform:translateY(8px)scale(.9)}12%{opacity:1;transform:translateY(0)scale(1.05)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.overlay{padding:calc(var(--safe-top) + 10px) calc(var(--safe-right) + 16px) calc(var(--safe-bottom) + 10px) calc(var(--safe-left) + 16px);text-align:center;background:radial-gradient(#281a0e8c,#140c06e0);place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.menu{flex-wrap:wrap;justify-content:center;align-items:center;gap:34px;display:flex}.menu-main .btn{margin-top:18px}.end-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;display:flex}.end-buttons .btn{white-space:nowrap}.end-buttons .btn.small{margin-top:0}.overlay.hidden{display:none}.levels{margin-top:18px}.level-row{gap:clamp(4px,1.5vw,6px);display:inline-flex}.level{appearance:none;font-family:var(--font);white-space:nowrap;color:#fff;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:linear-gradient(#9fb6c4,#5f7a8a);border-radius:11px;padding:6px clamp(7px,2.2vw,12px) 7px;font-size:clamp(12px,3.6vw,15px);font-weight:900}.level.on{background:linear-gradient(#ffcf4a,#f08c1a)}.level-blurb{color:#f3e6cf;margin-top:6px;font-size:12.5px;font-weight:700}.logo{letter-spacing:-.01em;color:var(--gold);text-shadow:0 5px 0 var(--ink), 3px 0 0 var(--ink), -3px 0 0 var(--ink), 0 -3px 0 var(--ink), 2px 2px 0 var(--ink), -2px 2px 0 var(--ink), 0 9px 12px #00000080;font-size:50px;font-weight:900;line-height:.92;transform:rotate(-3deg)}.logo small{color:#fff;margin-top:6px;font-size:26px;display:block}.rules{text-align:left;background:var(--panel);border:2px solid var(--ink);border-radius:14px;max-width:380px;margin:0;padding:12px 14px;font-size:13.5px;font-weight:700;line-height:1.4}.rules li{margin:4px 0}.rules ul{margin:0;padding-left:18px}.btn{appearance:none;font-family:var(--font);color:#fff;border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink), inset 0 3px 0 #ffffff73;background:linear-gradient(#ffcf4a,#f08c1a);border-radius:16px;padding:12px 42px 14px;font-size:26px;font-weight:900}.btn:active{box-shadow:0 2px 0 var(--ink), inset 0 3px 0 #ffffff73;transform:translateY(4px)}.result-title{font-size:46px;font-weight:900;transform:rotate(-2deg)}.result-title.win{color:var(--gold)}.result-title.lose{color:#ff8a7a}.medals{justify-content:center;gap:12px;margin:10px 0 8px;display:flex}.medal{filter:drop-shadow(0 3px #2a1a0e99);width:46px;height:64px;animation:.5s ease-out backwards medal}.medal .medal-svg{width:100%;height:100%;display:block}.medal.off{filter:grayscale()brightness(.7);opacity:.55}@keyframes medal{0%{transform:scale(0)rotate(-40deg)}70%{transform:scale(1.2)rotate(8deg)}to{transform:scale(1)}}.reason{color:#ffe9b0;margin-bottom:16px;font-size:15px;font-weight:800}.score-line{margin-bottom:10px;font-size:15px;font-weight:800}.banner{text-align:center;width:92%;font-size:min(40px, calc(var(--app-w) * .085));color:var(--gold);pointer-events:none;font-weight:900;line-height:1.05;animation:2s ease-out forwards banner;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.banner.small{color:#ff8a7a;font-size:26px;top:30%}.front-intro{background:var(--panel);border:2px solid var(--ink);text-align:center;color:#f4ead6;pointer-events:none;border-radius:14px;width:min(88%,360px);padding:8px 14px 10px;animation:5s ease-out forwards front-intro;position:absolute;top:52%;left:50%;transform:translate(-50%)}.front-intro b{color:var(--gold);margin-bottom:3px;font-size:17px;font-weight:900;display:block}.front-intro span{font-size:13px;font-weight:700;line-height:1.3;display:block}@keyframes front-intro{0%,14%{opacity:0;transform:translate(-50%)translateY(8px)}24%{opacity:1;transform:translate(-50%)translateY(0)}86%{opacity:1}to{opacity:0}}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%)scale(2)}15%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0}}.drag-card{pointer-events:none;filter:drop-shadow(0 6px 6px #00000080);z-index:5;width:64px;height:64px;margin:-46px 0 0 -32px;position:absolute;transform:scale(1.15)}.drag-card.hidden{display:none}.drag-label{pointer-events:none;white-space:nowrap;z-index:4;flex-direction:column;align-items:center;gap:1px;display:flex;position:absolute;transform:translate(-50%,-100%)}.drag-label b{font-size:14px;font-weight:900}.drag-label span{color:#ffb4a6;background:#78140abf;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:900}.drag-label.hidden{display:none}.countdown{color:#fff;opacity:.9;pointer-events:none;font-size:92px;font-weight:900;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.countdown.hidden{display:none}.countdown.tick{animation:1s ease-out forwards tick}@keyframes tick{0%{opacity:0;transform:translate(-50%,-50%)scale(1.6)}15%{opacity:.95;transform:translate(-50%,-50%)scale(1)}85%{opacity:.85}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}.rotate{z-index:50;color:#ffe9b0;background:#2b2118;align-content:center;place-items:center;gap:18px;font-size:20px;font-weight:900;display:none;position:fixed;inset:0}.rotate .phone{border:4px solid #ffe9b0;border-radius:10px;width:46px;height:80px;animation:2s ease-in-out infinite turn}@keyframes turn{0%,30%{transform:rotate(-90deg)}60%,to{transform:rotate(0)}}@media (orientation:landscape) and (pointer:coarse){.rotate{display:grid}#app>:not(.rotate){display:none}}.safe-probe{height:1px;top:0;left:var(--safe-left);right:var(--safe-right);visibility:hidden;pointer-events:none;position:fixed}.sandbox-bar{left:50%;top:calc(var(--safe-top) + 46px);justify-content:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.sandbox-bar.hidden{display:none}.sb-btn{pointer-events:auto;appearance:none;font-family:var(--font);color:#fff;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:linear-gradient(#8a6a48,#5a3f27);border-radius:10px;padding:4px 11px 5px;font-size:12px;font-weight:900}.sb-btn.side{background:linear-gradient(var(--you), var(--you-dark))}.sb-btn.side.foe{background:linear-gradient(var(--foe), var(--foe-dark))}.btn.small{background:linear-gradient(#9fb6c4,#5f7a8a);margin-top:16px;padding:8px 26px 10px;font-size:17px}.toast.foe{background:linear-gradient(var(--foe), var(--foe-dark))}.foe-charge{color:#ff8a7a;font-size:11px;font-weight:900;animation:.8s ease-in-out infinite clock-pulse}.foe-charge.hidden{display:none}.landing{z-index:20;background:#2b2118;flex-direction:column;display:flex;position:absolute;inset:0}.landing.hidden{display:none}.ld-top{padding:calc(var(--safe-top) + 6px) 10px 7px;border-bottom:3px solid var(--ink);z-index:3;background:linear-gradient(#7a5131,#4f321b);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:relative;box-shadow:0 4px #00000040,inset 0 3px #ffdca02e}.ld-medals{border:2px solid var(--ink);background:#1e140c99;border-radius:999px;justify-self:start;align-items:center;gap:5px;padding:2px 11px 2px 3px;font-size:17px;font-weight:900;display:inline-flex}.ld-medals i,.ld-record i{font-style:normal}.ld-medals i{width:19px;height:27px;margin:-3px 0 -1px 2px}.ld-medals i svg,.ld-record i svg{width:100%;height:100%;display:block}.ld-title{letter-spacing:.04em;color:var(--gold);white-space:nowrap;font-size:17px;font-weight:900}.ld-gear{appearance:none;border:2px solid var(--ink);width:38px;height:36px;box-shadow:0 3px 0 var(--ink);background:linear-gradient(#c79a5b,#8a6034);border-radius:10px;justify-self:end;padding:4px}.ld-gear svg{fill:#fff3d6;width:100%;height:100%}.ld-gear:active,.ld-unit:active{transform:translateY(2px)}.ld-pages{flex:1;min-height:0;position:relative}.ld-page{flex-direction:column;display:none;position:absolute;inset:0}.ld-page.on{display:flex}.ld-scroll{touch-action:pan-y;overscroll-behavior:contain;text-align:center;padding:14px 14px 26px;position:absolute;inset:0;overflow:auto}.ld-h{color:var(--gold);margin:4px 0 2px;font-size:26px;font-weight:900}.ld-sub{color:#f3e6cf;margin:0 0 12px;font-size:13px;font-weight:700}.wm-view{touch-action:pan-x pan-y;overscroll-behavior:contain;scrollbar-width:none;cursor:grab;background:#4ea7cc;flex:1;min-height:0;position:relative;overflow:auto}.wm-view::-webkit-scrollbar{display:none}.wm-view.dragging{cursor:grabbing}.wm-board{width:max(780px,230%);position:relative}.wm-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.wm-grid{fill:none;stroke:#fff3;stroke-width:.6px}.wm-wave{fill:none;stroke:#ffffff8c;stroke-width:1px;stroke-linecap:round}.wm-shallows{fill:none;stroke:#a5e0ea;stroke-width:7px;stroke-linejoin:round;opacity:.7}.wm-shadow{fill:#19374647}.wm-land{fill:url(#wm-land);stroke:#3d2a16;stroke-width:1.3px;stroke-linejoin:round}.wm-lake{fill:#6fc0db;stroke:#3d2a16;stroke-width:1px;stroke-linejoin:round}.wm-river{fill:none;stroke:#58acd2;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.wm-peak{fill:#a88a5e;stroke:#3d2a16;stroke-width:.7px;stroke-linejoin:round}.wm-peak-shade{fill:#3c230f47}.wm-snow{fill:#fff}.wm-label{font-family:var(--font);fill:#3d2a167a;text-anchor:middle;dominant-baseline:middle;letter-spacing:.12em;font-weight:900}.wm-label.sea{fill:#ffffffb8;letter-spacing:.16em;font-style:italic}.wm-compass{fill:#f3e2b8;stroke:#3d2a16;stroke-width:.7px;stroke-linejoin:round}.wm-compass.minor{fill:#c9a86a}.wm-compass-ring{fill:none;stroke:#fff9;stroke-width:.8px}.wm-inset-shadow{fill:#1428374d}.wm-inset .wm-land{fill:#a3c25e}.wm-inset-frame{fill:none;stroke:#3d2a16;stroke-width:1.6px}.wm-inset-inner{fill:none;stroke:#ffffff8c;stroke-width:.7px}.wm-inset-tab{fill:#f3e2b8;stroke:#3d2a16;stroke-width:1px}.wm-inset-title{font-family:var(--font);fill:#3d2a16;text-anchor:middle;dominant-baseline:middle;letter-spacing:.06em;font-weight:900}.wm-rail{fill:none;stroke:#3d2a16;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.wm-rail-ties{fill:none;stroke:#f3e2b8;stroke-width:.8px;stroke-dasharray:1.6 1.6}.wm-route,.wm-route-under{fill:none;stroke-dasharray:4 3.2;stroke-linecap:round}.wm-route-under{stroke:#2a1a0e8c;stroke-width:3.6px}.wm-route{stroke:#fff6dc;stroke-width:2px}.wm-front{fill:none;stroke:#c0392b;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.wm-front.on{stroke:#ff4b2e;stroke-width:2px;opacity:1}.wm-pin{appearance:none;width:36px;height:36px;font-family:var(--font);z-index:1;background:0 0;border:none;padding:0;position:absolute;transform:translate(-50%,-50%)}.wm-pin.on{z-index:2}.wm-medal{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:#fff;background:radial-gradient(circle at 35% 30%,#fff3b0,#e4a21c 60%,#9a6208);border-radius:50%;place-items:center;font-size:17px;font-weight:900;transition:transform .15s;display:grid;position:absolute;inset:0}.wm-medal svg{width:11px;height:13px}.wm-pin.on .wm-medal{transform:scale(1.2)}.wm-pin.on:before{content:"";pointer-events:none;border:3px solid #fff;border-radius:50%;animation:1.4s ease-out infinite wm-pulse;position:absolute;inset:-7px}@keyframes wm-pulse{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.wm-name{white-space:nowrap;letter-spacing:.03em;color:#fff;pointer-events:none;background:#2a1a0eb8;border-radius:7px;padding:1px 6px 2px;font-size:10.5px;font-weight:900;position:absolute}.name-left .wm-name{top:50%;right:calc(100% + 5px);transform:translateY(-50%)}.name-right .wm-name{top:50%;left:calc(100% + 5px);transform:translateY(-50%)}.name-below .wm-name{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.name-above .wm-name{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.wm-pin.on .wm-name{border:2px solid var(--ink);background:linear-gradient(#ffcf4a,#f08c1a)}.ld-card{z-index:2;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);color:var(--ink);background:linear-gradient(#f3e2b8,#d7b97c);border-radius:16px;align-items:stretch;margin:-16px 8px 8px;padding:10px 2px 11px;display:flex;position:relative}.ld-arrow{appearance:none;width:28px;font-family:var(--font);color:#8a6034;background:0 0;border:none;flex:none;padding:0 0 4px;font-size:32px;font-weight:900}.ld-arrow:active{color:var(--ink)}.ld-card-body{flex:1;min-width:0}.ld-card-head{align-items:center;gap:8px;display:flex}.ld-num{border:2.5px solid var(--ink);color:#fff;background:radial-gradient(circle at 35% 30%,#fff3b0,#e4a21c 60%,#9a6208);border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:15px;font-weight:900;display:grid}.ld-name{color:#fff;font-size:clamp(16px,5vw,19px);font-weight:900;line-height:1.05}.ld-where{color:#6b4527;margin-top:1px;font-size:12px;font-weight:800}.ld-blurb{color:#3b2814;margin:6px 0 9px;font-size:13px;font-weight:700;line-height:1.32}.ld-card .levels{margin:0 0 8px}.ld-card .level-row{display:flex}.ld-card .level{flex:1;padding-left:0;padding-right:0;font-size:clamp(11px,3.3vw,14px)}.ld-card .level-blurb{display:none}.ld-card-foot{justify-content:space-between;align-items:center;gap:8px;min-height:46px;display:flex}.ld-record{color:#fff;font-size:12.5px;font-weight:900}.ld-record i{vertical-align:-2px;width:11px;height:15px;margin-right:3px;display:inline-block}.ld-record.dim{color:#8a6a48}.ld-go.btn{flex:none;padding:8px 22px 10px;font-size:20px}.ld-units{grid-template-columns:repeat(4,1fr);gap:8px;max-width:420px;margin:0 auto;display:grid}.ld-unit{aspect-ratio:1/1.15;appearance:none;border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);font-family:var(--font);background:linear-gradient(#f3e2b8,#d7b97c);border-radius:10px;padding:0;position:relative;overflow:hidden}.ld-unit img{object-fit:contain;pointer-events:none;width:100%;height:calc(100% - 16px);position:absolute;inset:0 0 16px}.ld-unit .name{border-top:1.5px solid var(--ink);background:linear-gradient(var(--you), var(--you-dark));color:#fff;white-space:nowrap;height:17px;font-size:10px;font-weight:900;line-height:16px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.ld-unit .cost{color:#ffe48f;background:#1e140cd1;border-radius:8px;align-items:center;gap:1px;height:16px;padding:0 4px 0 3px;font-size:12px;font-weight:900;display:flex;position:absolute;top:2px;left:2px}.ld-unit .cost svg{width:5px;height:12px}.ld-unit.on{outline-offset:1px;outline:3px solid #fff}.ld-deck-head{color:#ffe2a6;justify-content:space-between;align-items:baseline;max-width:420px;margin:0 auto 6px;font-size:13px;font-weight:900;display:flex}.ld-deck-head>span:first-child{color:var(--gold);letter-spacing:.04em;font-size:15px}.ld-deck-head.pool{margin-top:18px}.ld-deck-stats{align-items:center;gap:3px;display:flex}.ld-deck-stats svg{width:5px;height:12px}.ld-units.ld-deck{border:2px solid var(--ink);background:#140c0659;border-radius:14px;padding:8px}.ld-deck-warn{color:#ff9c86;max-width:420px;margin:6px auto 0;font-size:12.5px;font-weight:800}.ld-deck-warn:empty{display:none}.ld-unit.swap-target{outline:3px solid var(--gold);outline-offset:1px;animation:.5s ease-in-out infinite alternate ld-wiggle}.ld-unit.swap-from{outline-offset:1px;outline:3px solid #fff;transform:translateY(-3px)}.ld-units.swapping .ld-unit:nth-child(2n).swap-target{animation-delay:.25s}@keyframes ld-wiggle{0%{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}.ld-in-deck{background:var(--you-dark);vertical-align:middle;color:#fff;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:10px}.ld-swap-row{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.ld-swap-row .btn{margin-left:auto}.ld-swap-hint{color:var(--gold);margin:0;font-size:13px;font-weight:900}.ld-unit-info{border:2px solid var(--ink);background:var(--panel);text-align:left;border-radius:14px;max-width:420px;margin:14px auto 0;padding:10px 14px 12px;display:none}.ld-unit-info.on{display:block}.ld-unit-name{color:var(--gold);font-size:18px;font-weight:900}.ld-unit-info p{margin:4px 0 8px;font-size:13.5px;font-weight:700;line-height:1.35}.ld-unit-info dl{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:13px;font-weight:800;display:grid}.ld-unit-info dt{color:#ffe2a6}.ld-unit-info dd{margin:0}.ld-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:18px 0 20px;display:flex}.ld-actions .btn.small{margin-top:0}.skirmish .rules{margin:0 auto}.rules-title{text-align:center;letter-spacing:.06em;color:var(--gold);margin-bottom:4px;font-size:14px;font-weight:900}.ld-nav{padding:5px 8px calc(var(--safe-bottom) * .7 + 6px);border-top:3px solid var(--ink);background:linear-gradient(#7a5131,#4f321b);gap:6px;display:flex;box-shadow:inset 0 -4px #00000040,inset 0 3px #ffdca02e}.ld-tab{appearance:none;font-family:var(--font);color:#e3c99a;background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:1px;padding:4px 0 3px;transition:transform .12s;display:flex}.ld-tab svg{fill:currentColor;width:26px;height:26px}.ld-tab span{letter-spacing:.05em;color:#fff;font-size:10.5px;font-weight:900}.ld-tab.on{border-color:var(--ink);box-shadow:0 3px 0 var(--ink), 0 2px 0 #ffe6b44d inset;color:var(--gold);background:linear-gradient(#b0814f,#6b4527);transform:translateY(-4px)}.ld-sheet{z-index:5;background:#140c06c7;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.ld-sheet.hidden{display:none}.ld-sheet-box{border:3px solid var(--ink);width:min(360px,100%);box-shadow:0 6px 0 var(--ink);text-align:center;background:linear-gradient(#5a3c22,#3f2815);border-radius:18px;padding:14px 16px 18px}.ld-stats{gap:8px;margin:10px 0;display:flex}.ld-stats div{color:#ffe2a6;background:#00000040;border-radius:10px;flex:1;padding:6px 0 7px;font-size:11px;font-weight:800}.ld-stats b{color:#fff;font-size:22px;display:block}.ld-privacy{text-align:left;color:#f3e6cf;background:#00000040;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.4}.ld-privacy b{color:var(--gold);margin-bottom:2px;display:block}.btn.small.danger{background:linear-gradient(#ff7a5c,#c0311f)}.ld-close.btn{margin:14px auto 0;padding:8px 30px 10px;font-size:20px;display:block}.ld-ribbon{left:12px;right:12px;top:calc(var(--safe-top) + 62px);z-index:4;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);text-align:center;background:linear-gradient(#ffcf4a,#f08c1a);border-radius:14px;padding:8px 12px 9px;animation:.5s ease-out ld-ribbon;position:absolute}.ld-ribbon.hidden{display:none}.ld-ribbon b{color:#fff;font-size:16px;font-weight:900;display:block}.ld-ribbon span{color:var(--ink);margin-top:2px;font-size:12.5px;font-weight:800;display:block}@keyframes ld-ribbon{0%{opacity:0;transform:translateY(-16px)scale(.9)}to{opacity:1;transform:none}}.ld-fields-title{color:#fff;margin:4px 0 6px;font-size:15px;font-weight:900}.ld-fields{touch-action:pan-x;overscroll-behavior:contain;scroll-snap-type:x proximity;gap:8px;margin:0 -14px;padding:2px 14px 8px;display:flex;overflow:auto hidden}.ld-field{appearance:none;border:2px solid var(--ink);width:82px;box-shadow:0 3px 0 var(--ink);font-family:var(--font);scroll-snap-align:center;background:linear-gradient(#f3e2b8,#d7b97c);border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:3px;padding:5px 5px 4px;display:flex}.ld-field canvas,.ld-field-random{border:1.5px solid #2a1a0e99;border-radius:6px;display:block}.ld-field-random{width:64px;height:108px;color:var(--gold);background:repeating-linear-gradient(45deg,#6a4a2c 0 10px,#5a3e24 10px 20px);place-items:center;font-size:40px;font-weight:900;display:grid}.ld-field-name{color:#fff;text-align:center;place-items:center;min-height:2.1em;font-size:9.5px;font-weight:900;line-height:1.05;display:grid}.ld-field.on{background:linear-gradient(#ffcf4a,#f08c1a);transform:translateY(-2px)}.ld-field:active{transform:translateY(2px)}.ld-field-twist{color:#f3e6cf;max-width:420px;min-height:2.6em;margin:2px auto 0;font-size:12.5px;font-weight:700;line-height:1.3}.ld-twist{color:#5a3e22;margin:-4px 0 8px;font-size:12px;font-weight:700;line-height:1.3}.ld-twist b{color:#8a4a12;margin-right:3px}.ld-friend-note{color:#f3e6cf;margin:10px 4px 12px;font-size:15px;font-weight:700;line-height:1.4}.ld-code{letter-spacing:10px;color:var(--gold);-webkit-user-select:all;user-select:all;background:#0000004d;border-radius:12px;margin:10px auto 4px;padding:8px 0 10px;font-size:46px}.ld-code-in{border:3px solid var(--ink);width:100%;font:inherit;letter-spacing:10px;text-align:center;text-transform:uppercase;color:#2a1a0e;background:#f3e6cf;border-radius:12px;margin:0 0 12px;padding:8px 0 10px;font-size:36px;font-weight:900;display:block}.ld-code-in.bad{background:#ffc9bd}.ld-friend .btn.small{margin-top:0}.ld-friend-dots{justify-content:center;gap:8px;margin:12px 0 0;display:flex}.ld-friend-dots i{background:var(--gold);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite ld-dot}.ld-friend-dots i:nth-child(2){animation-delay:.2s}.ld-friend-dots i:nth-child(3){animation-delay:.4s}@keyframes ld-dot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}
