:root{--bg:#14161c;--table:#1d2129;--panel:#252a34;--line:#353c49;--text:#e6e8ee;--muted:#9aa3b2;--accent:#e0b04a;--W:#f3ecd2;--U:#3d7fc4;--B:#6b5b73;--R:#c8553d;--G:#3f8f4f;--multi:#c9a227;--colorless:#9aa3b2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:6px;padding:6px 10px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);color:#1a1a1a;border-color:var(--accent);text-align:center;font-weight:600}.quick-duel{flex-direction:column;gap:14px;max-width:420px;margin:10vh auto;padding:0 16px;display:flex}.quick-duel h1{letter-spacing:.04em;margin:0;font-size:2.4rem}.quick-duel .subtitle{color:var(--muted);margin:0 0 8px}.quick-duel label{color:var(--muted);flex-direction:column;gap:4px;display:flex}.quick-duel label.inline{flex-direction:row;align-items:center;gap:8px}.quick-duel select,.quick-duel input[type=number]{font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px}body{background:radial-gradient(ellipse at top, #232838 0%, transparent 60%), var(--bg);min-height:100vh}.quick-duel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px 32px;box-shadow:0 20px 60px #00000080}.quick-duel h1{background:linear-gradient(#fff4cf,#e2b955 50%,#a8782a);color:#0000;letter-spacing:.08em;-webkit-background-clip:text;background-clip:text;align-self:flex-start}.stage-frame{background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.stage{transform-origin:50%;flex:none;position:relative}.duel{grid-template-columns:280px 1fr 380px;width:100%;height:100%;display:grid}.left{border-right:1px solid var(--line);padding:10px;overflow:hidden}.table{background:radial-gradient(ellipse at center, #252b36 0%, var(--table) 70%);flex-direction:column;gap:6px;min-width:0;padding:8px 12px;display:flex;overflow:hidden}.preview{color:var(--muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.preview.empty{text-align:center;padding-top:40px}.preview img{border-radius:12px;width:100%}.preview-name{color:var(--text);font-size:1.1rem;font-weight:700}.preview-type{color:var(--text)}.preview-oracle{white-space:pre-line;border-top:1px solid var(--line);padding-top:6px;line-height:1.35}.opponent-top{align-items:center;gap:12px;display:flex}.player-bar{background:var(--panel);height:60px;color:var(--muted);border-radius:10px;flex:none;align-items:center;gap:14px;padding:4px 10px;display:flex}.avatar{border:2px solid var(--line);border-radius:24px;align-items:center;gap:10px;padding:4px 12px;display:flex}.avatar.priority{border-color:var(--accent)}.player-name{color:var(--text);font-weight:600}.life{color:var(--text);text-align:center;min-width:2ch;font-size:1.7rem;font-weight:800}.pool{gap:4px;display:flex}.mana{color:#111;background:var(--colorless);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:700;display:inline-flex}.mana.W{background:var(--W)}.mana.U{background:var(--U);color:#fff}.mana.B{background:var(--B);color:#fff}.mana.R{background:var(--R);color:#fff}.mana.G{background:var(--G);color:#fff}.piles{gap:6px;font-size:.85rem;display:flex}.pile{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:6px;padding:3px 8px;font-size:.85rem}.opponent-hand{align-items:center;gap:4px;margin-left:auto;display:flex}.battlefield{flex-direction:column;gap:6px;display:flex}.row{align-items:center;gap:8px;height:146px;padding:0 4px;display:flex;overflow:auto hidden}.row.lands{height:140px}.row.lands .support{border-left:1px solid #c9a24a59;align-items:center;gap:8px;margin-left:auto;padding-left:12px;display:flex}.permanent{transition:transform calc(.35s * var(--anim,1)) ease-out;flex:none;position:relative}.permanent.tapped{justify-content:center;align-items:center;width:140px;height:140px;display:flex}.battlefield.you .permanent.attacking{transform:translateY(-34px)}.battlefield.opponent .permanent.attacking{transform:translateY(34px)}.attached{z-index:-1;position:absolute;left:0}.land-group{flex:none;height:140px;position:relative}.land{position:absolute;top:0}.land-group .count{z-index:50;border:1px solid var(--line);background:#111;border-radius:10px;padding:0 6px;font-size:.8rem;position:absolute;top:-4px;right:-6px}.midline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;height:104px;padding:4px 0;display:flex}.step-ladder{color:var(--muted);flex-wrap:wrap;flex:1;align-items:center;gap:4px;font-size:.85rem;display:flex}.step-ladder .turn{margin-right:8px;font-weight:700}.step-ladder .turn.you{color:var(--accent)}.step-ladder .step{border:1px solid #0000;border-radius:4px;padding:3px 8px}.stack{align-items:center;gap:8px;display:flex}.stack-title{writing-mode:vertical-rl;color:var(--muted);font-size:.8rem;transform:rotate(180deg)}.stack-item{color:var(--muted);opacity:.8;align-items:center;gap:6px;font-size:.75rem;display:flex}.stack-item.top{opacity:1}.hand{flex:none;justify-content:center;height:200px;padding-top:8px;display:flex}.hand-card{transform-origin:bottom;margin:0 -14px;transition:transform .15s}.hand-card:hover{z-index:10}.card{text-align:left;color:var(--text);font:inherit;border:2px solid var(--colorless);background:#2b303b;border-radius:6px;flex-direction:column;width:130px;height:120px;padding:4px 6px;font-size:.65rem;display:flex;overflow:hidden}.card.W{border-color:var(--W)}.card.U{border-color:var(--U)}.card.B{border-color:var(--B)}.card.R{border-color:var(--R)}.card.G{border-color:var(--G)}.card.multi{border-color:var(--multi)}.card.back{background:repeating-linear-gradient(45deg,#3a2f22,#3a2f22 4px,#4b3c2a 4px 8px);border-color:#6b5434;width:40px;height:56px}.card-title{justify-content:space-between;gap:4px;font-weight:600;display:flex}.card-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-cost{color:var(--muted);white-space:nowrap}.card-type{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-text{flex:1;margin-top:2px;line-height:1.2;overflow:hidden}.card-art{background:0 0;border:none;border-radius:6px;flex:none;padding:0;transition:transform .2s,box-shadow .2s;display:block;position:relative}.card-art.battlefield{width:100px;height:140px}.card-art.hand{width:140px;height:196px}.card-art.stack{width:64px;height:90px}.card-art.small{width:40px;height:56px}.card-art img{border-radius:5px;width:100%;height:100%;display:block}.card-art img.loading{opacity:0;position:absolute;inset:0}.card-art>.card{width:100%;height:100%}.card-art.small>.card,.card-art.stack>.card{padding:2px;font-size:.5rem}.card-art.tapped{transform:rotate(90deg)}.card-art.highlighted{box-shadow:0 0 0 3px var(--accent), 0 0 14px var(--accent)}.card-art.selected{box-shadow:0 0 0 3px #4ad16a,0 0 14px #4ad16a}.card-art.clickable{cursor:pointer}.hand .card-art:hover{transform:translateY(-30px)scale(1.15)}.overlays{pointer-events:none;font-size:.75rem;font-weight:700;position:absolute;inset:0}.overlays>span{color:var(--text);white-space:nowrap;background:#0a0a0ed9;border-radius:4px;padding:0 5px;position:absolute}.overlays .pt{font-size:.9rem;bottom:10%;right:4px}.overlays .pt.up{color:#6be37f}.overlays .pt.down{color:#ff7a6b}.overlays .loyalty{text-align:center;color:#1a1208;background:linear-gradient(#f8e4a0,#c9a24a);border:1px solid #6b5626;border-radius:4px 4px 10px 10px;min-width:1.7em;padding:2px 6px;font-size:1.05rem;font-weight:800;bottom:8%;right:2px;box-shadow:0 1px 4px #0009}.overlays .damage{background:var(--R);top:30%;right:4px}.overlays .status{background:var(--R);text-transform:uppercase;font-size:.65rem;top:-8px;left:50%;transform:translate(-50%)}.overlays .sick{color:var(--muted);font-size:.65rem;top:18%;left:4px}.overlays .granted{text-overflow:ellipsis;color:#9fd3ff;max-width:92%;font-size:.65rem;top:38%;left:4px;overflow:hidden}.overlays .counter{color:#6be37f;bottom:10%;left:4px}.side{border-left:1px solid var(--line);flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex;overflow:hidden}.prompt{flex-direction:column;gap:6px;min-height:0;max-height:60%;display:flex}.prompt-text{color:var(--accent);font-size:1.05rem;font-weight:600}.choices{flex-direction:column;gap:4px;min-height:0;display:flex;overflow:auto}.log{color:var(--muted);border-top:1px solid var(--line);flex:1;min-height:0;padding-top:6px;font-size:.8rem;overflow:auto}.overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-panel{background:var(--panel);border-radius:12px;flex-direction:column;gap:12px;max-width:1500px;max-height:900px;padding:16px;display:flex}.overlay-title{justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.overlay-cards{flex-wrap:wrap;gap:10px;display:flex;overflow:auto}button.avatar{font:inherit;cursor:default;background:0 0}button.avatar:disabled{opacity:1}button.avatar.highlighted{cursor:pointer;border-color:var(--accent);box-shadow:0 0 12px var(--accent)}.ladder-rows{flex-direction:column;gap:3px;display:flex}.ladder-row{align-items:center;gap:3px;display:flex}.ladder-label{width:32px;color:var(--muted);font-size:.75rem}.step-ladder .step{font:inherit;color:var(--muted);text-align:center;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 6px;font-size:.75rem}.step-ladder .step.stop{border-color:var(--accent);color:var(--text)}.step-ladder .step.current{background:var(--accent);color:#1a1a1a;font-weight:600}.button-row{gap:6px;margin-top:4px;display:flex}.button-row>button{text-align:center;flex:1}button.primary.action{color:var(--text);background:#5d6a80;border-color:#5d6a80}button.primary.action.has-plays{background:var(--accent);border-color:var(--accent);color:#1a1a1a}.toggles{color:var(--muted);flex-direction:column;gap:2px;font-size:.8rem;display:flex}.toggles label{align-items:center;gap:6px;display:flex}.all-choices{color:var(--muted);font-size:.8rem}.all-choices summary{cursor:pointer}.all-choices .choices{max-height:260px;margin-top:4px}.pile.has-plays{border-color:var(--accent);color:var(--text);box-shadow:0 0 8px var(--accent)}.arrows{pointer-events:none;z-index:60;width:100%;height:100%;position:absolute;inset:0}.arrow{stroke-width:5px;stroke-linecap:round;opacity:.85}.arrow.block{stroke:#e2574c}.arrow.attack{stroke:#f08c3a}.arrow.target{stroke:var(--accent);stroke-dasharray:10 7}.head.block{fill:#e2574c}.head.attack{fill:#f08c3a}.head.target{fill:var(--accent)}.panel-note{color:#ff9a8b;font-size:.8rem}.damage-rows{flex-direction:column;gap:4px;display:flex}.damage-row{grid-template-columns:1fr 32px 32px 32px;align-items:center;gap:6px;display:grid}.damage-row button{text-align:center;padding:2px}.damage-row strong{text-align:center}.overlay.picker{background:#00000073;right:380px}.picker-card{position:relative}.picker-badge{background:var(--accent);color:#1a1a1a;z-index:5;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-weight:800;display:flex;position:absolute;top:-8px;left:-8px}.scry{gap:24px;display:flex}.scry-column{flex-direction:column;gap:8px;min-width:320px;display:flex}.scry-title{color:var(--muted)}.overlay-panel.result{align-items:center;gap:24px;padding:32px 48px}.result-title{color:var(--accent);font-size:2.4rem;font-weight:800}.option-search{flex-direction:column;gap:6px;display:flex}.option-search input{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:6px 8px}.option-preview{border-radius:8px;width:200px}.card-motion{display:inline-block}.flashes{pointer-events:none;z-index:70;position:absolute;inset:0}.flash{text-shadow:0 2px 6px #000;font-size:2.2rem;font-weight:900;animation-name:float-up;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;transform:translate(-50%,-50%)}.flash.damage{color:#ff5a4a}.flash.heal{color:#6be37f}@keyframes float-up{0%{opacity:1;margin-top:0}to{opacity:0;margin-top:-60px}}.life.pulse{animation:.6s ease-out pulse}@keyframes pulse{0%{color:var(--accent);transform:scale(1.35)}to{transform:scale(1)}}.toggles select{font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:4px;margin-left:6px}.thinking{animation:1.2s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.45}}.prompt .skip{margin-left:10px;padding:2px 10px;font-size:.85em}.turn-banner{z-index:80;pointer-events:none;letter-spacing:.04em;color:#fff;text-shadow:0 3px 10px #000;border-radius:10px;padding:18px 90px;font-size:3.4rem;font-weight:900;animation-name:banner;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.turn-banner.yours{background:linear-gradient(90deg,#0000,#b8862dcc 20% 80%,#0000)}.turn-banner.theirs{background:linear-gradient(90deg,#0000,#3a3f4ccc 20% 80%,#0000);font-size:2.4rem}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}15%,75%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.04)}}.card-art.tapping{animation:tap calc(.3s * var(--anim,1)) ease-out both;animation-delay:calc(var(--order,0) * .15s * var(--anim,1))}.card-art.untapping{animation:untap calc(.3s * var(--anim,1)) ease-out both}@keyframes tap{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes untap{0%{transform:rotate(90deg)}to{transform:rotate(0)}}.hand-card.drawn{animation:draw-in calc(.5s * var(--anim,1)) ease-out both}.card.back.drawn{animation:draw-in-theirs calc(.5s * var(--anim,1)) ease-out both}@keyframes draw-in{0%{opacity:0;translate:420px 160px;scale:.6}}@keyframes draw-in-theirs{0%{opacity:0;translate:300px -80px;scale:.6}}.stack-item .card-art{animation:stack-arrive calc(.7s * var(--anim,1)) ease-out}@keyframes stack-arrive{0%{box-shadow:0 0 0 3px #ffd36a,0 0 28px #ffd36a}}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2)format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2)format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2)format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gold:#c9a24a;--gold-bright:#ecd08a;--gold-dark:#6b5626;--display:"Cinzel", Georgia, serif;--flourish-tl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' fill='none' stroke='%23c9a24a' stroke-width='1.4'%3E%3Cpath d='M2 24V8a6 6 0 0 1 6-6h16'/%3E%3Cpath d='M6 24V11a5 5 0 0 1 5-5h13' opacity='.55'/%3E%3Ccircle cx='8' cy='8' r='1.8' fill='%23c9a24a'/%3E%3C/svg%3E");--flourish-tr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' fill='none' stroke='%23c9a24a' stroke-width='1.4'%3E%3Cpath d='M24 24V8a6 6 0 0 0-6-6H2'/%3E%3Cpath d='M20 24V11a5 5 0 0 0-5-5H2' opacity='.55'/%3E%3Ccircle cx='18' cy='8' r='1.8' fill='%23c9a24a'/%3E%3C/svg%3E");--flourish-bl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' fill='none' stroke='%23c9a24a' stroke-width='1.4'%3E%3Cpath d='M2 2v16a6 6 0 0 0 6 6h16'/%3E%3Cpath d='M6 2v13a5 5 0 0 0 5 5h13' opacity='.55'/%3E%3Ccircle cx='8' cy='18' r='1.8' fill='%23c9a24a'/%3E%3C/svg%3E");--flourish-br:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' fill='none' stroke='%23c9a24a' stroke-width='1.4'%3E%3Cpath d='M24 2v16a6 6 0 0 1-6 6H2'/%3E%3Cpath d='M20 2v13a5 5 0 0 1-5 5H2' opacity='.55'/%3E%3Ccircle cx='18' cy='18' r='1.8' fill='%23c9a24a'/%3E%3C/svg%3E")}h1,h2,h3,h4{font-family:var(--display);letter-spacing:.03em;font-weight:700}.frame{background:var(--flourish-tl) top 4px left 4px / 26px no-repeat, var(--flourish-tr) top 4px right 4px / 26px no-repeat, var(--flourish-bl) bottom 4px left 4px / 26px no-repeat, var(--flourish-br) bottom 4px right 4px / 26px no-repeat, linear-gradient(180deg, #282d38, #1e222b);border:1px solid var(--gold-dark);border-radius:10px;position:relative;box-shadow:inset 0 0 0 3px #1e222b,inset 0 0 0 4px #c9a24a59,0 12px 36px #0000008c}.band{color:var(--gold-bright);text-align:center;background:linear-gradient(90deg,#0000,#c9a24a29 20% 80%,#0000);margin:0;padding:4px 12px}button{background:linear-gradient(#2c313c,#23272f);border-color:#4a4232;transition:border-color .15s,box-shadow .15s}button:hover:not(:disabled){border-color:var(--gold);box-shadow:0 0 8px #c9a24a59}button:disabled{opacity:.5;cursor:not-allowed}button.primary{color:#241a08;font-family:var(--display);letter-spacing:.04em;text-shadow:0 1px #fff0c880;background:linear-gradient(#f0d48a,#c39132 55%,#a87a24);border-color:#f3dc9c;font-weight:700;box-shadow:inset 0 1px #ffffff73,0 2px 6px #00000080}button.primary:hover:not(:disabled){background:linear-gradient(#f7e0a4,#d29f3c 55%,#b58629)}.mana-cost{vertical-align:middle;align-items:center;gap:1px;display:inline-flex}.mana-cost img{border-radius:50%;width:1.05em;height:1.05em;box-shadow:-.5px 1px #0009}.table{background:radial-gradient(ellipse at center, #282e3a26 0%, #0a0c10bf 100%), url(/assets/table-Csn9FfT8.webp) center / 320px repeat, var(--table)}.left,.side{border-color:var(--gold-dark);background:linear-gradient(#232832,#1b1f27)}.player-bar{border:1px solid var(--gold-dark);background:linear-gradient(#2a2f3a,#1f232b);box-shadow:inset 0 0 0 2px #1f232b,inset 0 0 0 3px #c9a24a40,0 4px 12px #00000080}.avatar{border-color:#4a4232;border-radius:30px;padding:3px 14px 3px 3px}.avatar.priority{border-color:var(--gold-bright);box-shadow:0 0 12px #ecd08a80}.avatar .portrait{object-fit:cover;border:2px solid var(--gold);border-radius:50%;flex:none;width:44px;height:44px;box-shadow:0 2px 6px #0009}.avatar .portrait.blank{background:var(--table);font-family:var(--display);color:var(--gold-bright);place-items:center;font-weight:700;display:grid}.player-name{font-family:var(--display)}.life{width:46px;height:46px;font-family:var(--display);border:2px solid var(--gold);text-shadow:0 1px 2px #000;background:radial-gradient(circle at 35% 30%,#a8323a,#5a1418 70%);border-radius:50%;place-items:center;font-size:1.35rem;display:grid;box-shadow:inset 0 2px 4px #ffffff40,0 2px 8px #0009}.midline{border-color:#c9a24a59}.step-ladder .turn{font-family:var(--display)}.step-ladder .step.current{color:#241a08;background:linear-gradient(#f0d48a,#c39132)}.prompt-text{font-family:var(--display);color:var(--gold-bright)}.turn-banner{font-family:var(--display);letter-spacing:.08em}.overlay-panel{background:var(--flourish-tl) top 4px left 4px / 26px no-repeat, var(--flourish-tr) top 4px right 4px / 26px no-repeat, var(--flourish-bl) bottom 4px left 4px / 26px no-repeat, var(--flourish-br) bottom 4px right 4px / 26px no-repeat, linear-gradient(180deg, #282d38, #1e222b);border:1px solid var(--gold-dark);box-shadow:inset 0 0 0 3px #1e222b,inset 0 0 0 4px #c9a24a59,0 12px 36px #0009}.result-title{font-family:var(--display);color:var(--gold-bright)}.sound-control{align-items:center;gap:6px;display:inline-flex}.sound-control .speaker{width:30px;height:30px;color:var(--gold-bright);border-radius:50%;place-items:center;padding:0;display:grid}.sound-control input[type=range]{width:80px;accent-color:var(--gold)}button.primary .key{opacity:.6;font-size:.8em}.piles .pile{align-items:center;gap:6px;display:inline-flex}.top-card{object-fit:cover;border-radius:3px;width:36px;height:50px;box-shadow:2px 2px #111,3px 3px #333,0 2px 6px #0009}.top-card.text{background:var(--table);width:auto;max-width:90px;height:auto;box-shadow:none;place-items:center;padding:2px 4px;font-size:.7rem;display:grid}.log-box{border-top:1px solid var(--gold-dark);flex-direction:column;min-height:0;padding-top:6px;display:flex}.log-box[open]{flex:1}.log-box summary{cursor:pointer;font-family:var(--display);color:var(--gold-bright)}.log-box .log{border-top:none}.concede{color:#ffb3a6;border-color:#6b3a35;margin-left:auto}.concede.sure{color:#fff;background:#6b2420}.preview-label{font-family:var(--display);color:var(--gold-bright)}.rules-box summary{cursor:pointer;font-family:var(--display);color:var(--gold-bright)}.rules-box ul{color:var(--muted);margin:4px 0;padding-left:18px;font-size:.85rem}.left{flex-direction:column;gap:8px;min-height:0;display:flex}.left .preview{flex:0 0 58vh;min-height:0;overflow:hidden}.left .preview img{object-fit:contain;max-height:42vh}.graveyards{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.grave-pile{flex-direction:column;flex:1;min-height:0;display:flex}.grave-pile h4{color:var(--gold-bright);border-bottom:1px solid var(--gold-dark);margin:0 0 4px;padding-bottom:3px;font-size:.85rem}.grave-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.grave-card{text-align:left;cursor:default;background:#1b1e25;border:1px solid #0008;border-radius:6px;flex:none;width:100%;margin-bottom:2px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 -2px 5px #00000080}.grave-card:hover{z-index:2;outline:1px solid var(--gold)}.grave-name{white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#3a3f4c,#2a2e38);padding:2px 6px;font-size:.75rem;font-weight:600;display:block;overflow:hidden}.toss-overlay{z-index:40;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.toss{text-align:center;flex-direction:column;align-items:center;gap:14px;min-width:340px;padding:22px 30px;display:flex}.toss p{margin:0}.toss .button-row button{white-space:nowrap}.coin3d{width:110px;height:110px;transform-style:preserve-3d;margin-top:22px;transition:transform .6s ease-out;position:relative}.coin3d.spinning{animation:.35s linear infinite coin-spin}.coin3d.heads{transform:rotateY(720deg)}.coin3d.tails{transform:rotateY(900deg)}@keyframes coin-spin{0%{transform:rotateY(0)translateY(-10px)}50%{transform:rotateY(180deg)translateY(-26px)}to{transform:rotateY(360deg)translateY(-10px)}}.coin-face{font-family:var(--display);color:#3a2708;backface-visibility:hidden;background:radial-gradient(circle at 35% 30%,#fff1c2,#e3b552 45%,#8a6420);border-radius:50%;place-items:center;font-size:1.5rem;font-weight:700;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 0 5px #b8862e,inset 0 0 0 7px #fff1c2,0 8px 18px #0009}.tails-face{color:#26262c;background:radial-gradient(circle at 35% 30%,#f2f2f2,#a9a9b4 45%,#55555e);transform:rotateY(180deg);box-shadow:inset 0 0 0 5px #7b7b86,inset 0 0 0 7px #f2f2f2,0 8px 18px #0009}.toss-skip{opacity:.7;padding:2px 10px;font-size:.8rem}.title-page{background:linear-gradient(180deg, transparent 25%, var(--bg) 58%), url(/ui/alara.webp) top center / 100% auto no-repeat, var(--bg);min-height:100vh;padding:34vh 16px 40px}.title-screen{flex-direction:column;gap:12px;max-width:480px;margin:0 auto;padding:26px 34px 30px;display:flex}.title-screen.wide{max-width:920px}.title-screen .logo{text-align:center;letter-spacing:.08em;background:linear-gradient(#fff4cf,#e2b955 50%,#a8782a);color:#0000;filter:drop-shadow(0 2px 6px #000c);-webkit-background-clip:text;background-clip:text;margin:0;font-size:3.2rem}.title-screen .subtitle{text-align:center;color:var(--muted);margin:0;font-style:italic}.bant{--shard:#f0d77a}.esper{--shard:#7fb2e5}.grixis{--shard:#b0303a}.jund{--shard:#e06a2c}.naya{--shard:#7cc35a}.gems{justify-content:center;gap:12px;margin:2px 0 8px;display:flex}.gem{background:var(--shard);width:11px;height:11px;box-shadow:0 0 7px var(--shard);border:1px solid #00000080;transform:rotate(45deg)}.slots{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.slot{border:1px solid var(--line);border-left:4px solid var(--shard,var(--line));background:#0000002e;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.slot>span{color:var(--muted);flex-direction:column;flex:1;font-size:.9rem;display:flex}.slot strong{font-family:var(--display);color:var(--text)}.title-screen>button{text-align:center}.title-screen label{color:var(--muted);flex-direction:column;gap:4px;display:flex}.title-screen label.inline{flex-direction:row;align-items:center;gap:8px}.title-screen input[type=number],.title-screen select,.filters select{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:6px}.rules{border:1px solid var(--line);border-radius:8px;padding:8px 12px}.rules[open]{padding-bottom:14px}.rules summary{cursor:pointer;font-family:var(--display);color:var(--gold-bright)}.rules>label{margin-top:10px}.shard-choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.shard-choice{color:var(--muted);border:2px solid #4a4232;border-radius:10px;flex-direction:column;gap:6px;padding:0 0 10px;font-size:.82rem;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.shard-choice img{aspect-ratio:4/3;object-fit:cover;border-bottom:2px solid var(--shard);width:100%}.shard-choice strong,.shard-choice span{padding:0 10px}.shard-choice strong{font-family:var(--display);color:var(--text);font-size:1.1rem}.shard-choice:hover{transform:translateY(-3px)}.shard-choice.chosen{border-color:var(--gold-bright);box-shadow:0 0 0 1px var(--gold), 0 0 18px #ecd08a8c}.shard-choice.chosen strong{color:var(--gold-bright)}.journey{grid-template:"status status""map side"minmax(0,1fr)"bar side"/minmax(0,1fr) 340px;gap:10px;height:100vh;padding:10px;display:grid}.journey[hidden]{display:none}.journey-map{border:1px solid var(--gold-dark);border-radius:10px;grid-area:map;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #c9a24a40,0 10px 30px #00000080}.map{cursor:pointer;position:absolute;inset:0}.journey-map:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 60px 10px #000000b3}.journey-side{flex-direction:column;grid-area:side;gap:10px;min-height:0;padding:14px;font-size:.9rem;display:flex}.journey-bar{grid-area:bar;align-items:center;gap:14px;min-height:56px;padding:8px 16px;display:flex}.journey-bar .button-row{margin-left:auto}.journey-bar button{white-space:nowrap;text-align:center;flex:none}.status{font-family:var(--display);flex-wrap:wrap;grid-area:status;align-items:center;gap:22px;padding:8px 20px;font-size:1.05rem;font-weight:700;display:flex}.status-end{margin-left:auto;font-family:system-ui,Segoe UI,sans-serif}.stat{align-items:center;gap:7px;display:inline-flex}.stat img{object-fit:contain;filter:drop-shadow(0 1px 2px #000c);width:26px;height:26px}.relic-gems{gap:12px;margin-left:6px;display:inline-flex}.relic-gems .gem{width:14px;height:14px}.gem.dim{opacity:.22;box-shadow:none}.warning{color:#ff9a8b}.status .warning{font-family:system-ui,Segoe UI,sans-serif;font-size:.9rem}.error{color:#ffd0c8;background:#4a2424;border-radius:8px;padding:8px 12px}.journey-bar .error{flex:1}.place-bar{align-items:center;gap:14px;display:flex}.place-bar h3{color:var(--gold-bright);margin:0}.compass{z-index:2;border:1px solid var(--gold-dark);background:radial-gradient(circle,#1e222beb 55%,#1e222b99 70%,#0000 72%);border-radius:50%;width:150px;height:150px;position:absolute;bottom:18px;right:18px;box-shadow:inset 0 0 0 4px #c9a24a2e,0 6px 20px #0009}.compass .hub{background:linear-gradient(135deg, var(--gold-bright), var(--gold-dark));border:1px solid #000;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.compass-step{width:38px;height:38px;color:var(--gold-bright);text-align:center;border-radius:50%;place-items:center;padding:0;font-size:1rem;display:grid;position:absolute;transform:translate(-50%,-50%)}.compass-step svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.compass-step.foe{color:#ff8a7a;border-color:#a0403a}.map-overlay{z-index:3;background:#00000073;place-items:center;display:grid;position:absolute;inset:0}.encounter-dialog{gap:22px;max-width:640px;padding:22px 26px;display:flex}.encounter-dialog.caught{animation:.45s ease-in-out caught-shake}@keyframes caught-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.caught-note{color:#ff8a6b;margin:0;font-weight:700}.encounter-dialog .foe-card{border-radius:4.5%;width:220px;box-shadow:0 8px 24px #000000b3}.encounter-body{flex-direction:column;flex:1;gap:8px;display:flex}.encounter-body h2{color:var(--gold-bright);margin:0;font-size:1.6rem}.encounter-body .blocks{font-family:var(--display);color:#ff9a8b;margin:0 0 6px;font-size:1.1rem}.encounter-body .ante{background:#c9a24a1a;border:1px solid #c9a24a4d;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.ante-title{font-family:var(--display);color:var(--gold-bright)}.ante-vs{color:var(--muted);font-style:italic}.ante-card{color:var(--muted);flex-direction:column;align-items:center;gap:2px;margin:0;font-size:.75rem;display:flex;position:relative}.ante-img,.ante-card .card-text{aspect-ratio:488/680;transform-origin:50% 30%;border-radius:4.5%;width:84px;transition:transform .18s ease-out;box-shadow:0 3px 8px #0009}.ante-card .card-text{background:var(--table);text-align:center;place-items:center;padding:4px;font-size:.7rem;display:grid}.encounter-body .button-row{margin-top:auto}.banner{font-family:var(--display);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:26px 40px;font-size:1.6rem;font-weight:700;display:flex}.banner .ending{color:var(--muted);text-align:left;border-top:1px solid var(--gold-dark);margin:0;padding:10px 16px;font-family:system-ui,Segoe UI,sans-serif;font-size:.9rem;font-weight:400;list-style:none}.banner.won{color:#c8f0b0}.banner.lost{color:#ffc0b4}.panel{background:var(--panel);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.panel h3,.panel h4{margin:0}.small{color:var(--muted);font-size:.8rem}.button-row.wrap{flex-wrap:wrap}.button-row.wrap>button{flex:none}.tab-page{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:auto}.tab-page[hidden]{display:none}.tab-page .band{margin-top:10px;font-size:.95rem}.quest,.relic{border-left:3px solid var(--shard,var(--gold));background:#0003;border-radius:4px;padding:6px 10px}.surroundings{color:var(--muted);flex-direction:column;gap:4px;display:flex}.surroundings .where{color:var(--text)}.surroundings .foe{color:#ff9a8b}.tab-page.log{color:var(--muted)}.tab-page.log>div:last-child{color:var(--text)}.deck-editor{grid-template-rows:auto minmax(0,1fr) minmax(0,1fr);gap:10px;height:100vh;padding:10px;display:grid}.deck-header{flex-wrap:wrap;align-items:center;gap:18px;padding:10px 20px;display:flex}.deck-editor h2,.deck-editor h3{margin:0}.deck-header h2{color:var(--gold-bright)}.deck-header .button-row{margin-left:auto}.deck-header .button-row button{text-align:center;flex:none}.deck-editor .colors{font-family:var(--display);gap:12px;font-weight:700;display:flex}.color-count{align-items:center;gap:4px;display:inline-flex}.pool{flex-direction:column;gap:8px;min-height:0;padding:12px 14px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filters .band{font-size:1rem}.not-in-deck{cursor:pointer;align-items:center;gap:5px;font-size:.9rem;display:flex}.filters input[type=search]{font:inherit;background:var(--bg);width:170px;color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 8px}.color-toggles{gap:4px;display:inline-flex}.color-toggle{border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:1.15rem;display:grid}.color-toggle.off{opacity:.35;filter:grayscale()}.lands-row{flex-wrap:wrap;gap:4px;margin-left:auto;display:inline-flex}.land-button{align-items:center;gap:4px;padding:3px 8px;font-size:.85rem;display:inline-flex}.deck-area{grid-template-columns:minmax(0,1fr) 250px;gap:10px;min-height:0;display:grid}.deck-columns{grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;min-height:0;padding:12px 14px;display:grid;overflow:auto}.deck-column{flex-direction:column;gap:0;min-width:0;display:flex}.column-head{border-bottom:1px solid var(--gold-dark);font-family:var(--display);color:var(--gold-bright);justify-content:space-between;align-items:baseline;margin-bottom:4px;padding:2px 6px 6px;font-weight:700;display:flex}.stacked{background:#1b1e25;border:1px solid #0008;border-radius:6px;flex-direction:column;margin-bottom:2px;padding:0;transition:transform .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 -2px 6px #0000008c}.stacked:hover{z-index:2;transform:translateY(-3px)}.stacked-name{white-space:nowrap;background:linear-gradient(#3a3f4c,#2a2e38);justify-content:space-between;gap:4px;padding:3px 6px;font-size:.75rem;font-weight:600;display:flex}.stacked-name>span:first-child{text-overflow:ellipsis;overflow:hidden}.stacked-name .count{font-family:var(--display);color:var(--gold-bright);flex:none;font-weight:700}.deck-preview{text-align:center;place-items:center;min-height:0;padding:12px;display:grid}.deck-preview img{object-fit:contain;border-radius:4.5%;width:100%;max-height:100%;box-shadow:0 8px 24px #000000b3}.town-screen{background:radial-gradient(ellipse at top, color-mix(in srgb, var(--shard) 14%, transparent), transparent 60%), var(--bg);flex-direction:column;gap:12px;min-height:100vh;padding:10px 20px 20px;display:flex}.town-scene{border:1px solid var(--gold-dark);height:230px;box-shadow:inset 0 -90px 60px -30px var(--bg), 0 10px 30px #00000080;background-position:50% 40%;background-size:cover;border-radius:12px;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:14px;display:flex;position:relative}.town-scene h2{color:var(--gold-bright);text-shadow:0 2px 4px #000,0 0 18px #000;margin:0;font-size:2.6rem}.town-scene span{font-family:var(--display);color:var(--text);text-shadow:0 1px 3px #000}.town-header{align-items:center;gap:20px;padding:8px 20px;display:flex}.purse{font-family:var(--display);gap:22px;font-weight:700;display:flex}.town-header .town-deck{margin-left:auto}.town-body{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:16px;display:grid}.mentor{flex-direction:column;align-items:stretch;gap:10px;padding:18px;display:flex}.mentor .portrait{object-fit:cover;border:4px solid var(--gold);width:170px;height:170px;box-shadow:0 0 0 2px #1e222b, 0 0 0 4px var(--shard), 0 8px 24px #000000b3;border-radius:50%;align-self:center}.mentor .portrait.blank{font-family:var(--display);color:var(--shard);background:var(--table);place-items:center;font-size:4rem;font-weight:800;display:grid}.mentor-name{text-align:center;font-family:var(--display);color:var(--gold-bright);font-size:1.1rem}.mentor .speech{background:var(--table);border:1px solid #c9a24a40;border-radius:10px;margin:4px 0;padding:10px 12px;font-style:italic;line-height:1.4;position:relative}.mentor .speech:before{content:"";border:8px solid #0000;border-top:0;border-bottom-color:var(--table);margin-left:-8px;position:absolute;top:-8px;left:50%}.town-services{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:8px;display:flex}.market{flex-direction:column;gap:12px;min-width:0;display:flex}.tabs{gap:6px;display:flex}.tabs button.on{border-color:var(--gold);color:var(--gold-bright);box-shadow:inset 0 -3px 0 var(--gold)}.deal-overlay{z-index:50;background:#000000a8;place-items:center;display:grid;position:fixed;inset:0}.deal{flex-direction:column;align-items:center;gap:12px;padding:22px 26px;display:flex}.deal img{border-radius:4.5%;width:260px}.deal p{font-family:var(--display);margin:0;font-size:1.15rem}.card-shelf{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px 14px;padding:6px;display:grid}.card-tile{background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex;position:relative}.card-tile img,.card-tile .card-text{aspect-ratio:488/680;transform-origin:50% 70%;border-radius:4.5%;width:100%;transition:transform .18s ease-out,box-shadow .18s;box-shadow:0 4px 12px #0009}.card-tile .card-text{background:var(--table);border:1px solid var(--line);place-items:center;padding:8px;display:grid}.card-tile:not(:disabled):hover{z-index:5;box-shadow:none;border:none}.card-tile:not(:disabled):hover img,.card-tile:not(:disabled):hover .card-text{transform:scale(1.55);box-shadow:0 10px 34px #000c}.card-tile:disabled{opacity:.45;cursor:not-allowed}.card-tile .price{color:#ffd877;background:#2b2416;border:1px solid #8a6a2a;border-radius:999px;padding:2px 10px;font-size:.9rem;font-weight:700}.sell-bar{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}.sell-bar button.on{border-color:var(--gold);color:var(--gold-bright)}.sell-tile{position:relative}.sell-tile.picked .card-tile img{outline:3px solid var(--gold);box-shadow:0 0 14px #ecd08a99}.picked-count{font-family:var(--display);color:#1a1108;background:var(--gold-bright);pointer-events:none;border-radius:10px;padding:2px 8px;font-weight:700;position:absolute;top:6px;right:6px}.pool .card-shelf{flex:1;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));min-height:0;overflow:auto}.pool .card-tile:disabled{opacity:.7}.ante-card:hover{z-index:5}.ante-card:hover .ante-img{transform:scale(2.6)}.pack-screen{background:radial-gradient(ellipse at center, #c9a24a1f, transparent 60%), var(--bg);flex-direction:column;align-items:center;gap:14px;min-height:100vh;padding:24px;display:flex;overflow:hidden}.pack-screen .band{font-size:1.6rem}.pack-wrapper{cursor:pointer;filter:drop-shadow(0 18px 30px #000000b3);background:0 0;border:none;width:250px;height:430px;margin:12px 0;padding:0;position:relative}.pack-wrapper-float{animation:3s ease-in-out infinite pack-float;display:block;position:absolute;inset:0}.pack-wrapper:hover .pack-wrapper-float{animation-play-state:paused}@keyframes pack-float{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-10px)rotate(1.5deg)}}.pack-wrapper-top,.pack-wrapper-body{background:linear-gradient(115deg,#0000 30%,#ffffff59 45%,#0000 60%) 0 0/300% 100%,linear-gradient(160deg,#5b3a12,#c9a24a 35%,#6b4a1e 65%,#2d1d0c) 0 0/100% 100%;animation:4s linear infinite pack-shine;display:block;position:absolute;left:0;right:0}@keyframes pack-shine{0%{background-position:150% 0,0 0}to{background-position:-150% 0,0 0}}.pack-wrapper-top{clip-path:polygon(0 6px,5% 0,10% 6px,15% 0,20% 6px,25% 0,30% 6px,35% 0,40% 6px,45% 0,50% 6px,55% 0,60% 6px,65% 0,70% 6px,75% 0,80% 6px,85% 0,90% 6px,95% 0,100% 6px,100% 100%,0 100%);border-bottom:2px dashed #1a11088c;height:34px;top:0}.pack-wrapper-body{text-align:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 6px),95% 100%,90% calc(100% - 6px),85% 100%,80% calc(100% - 6px),75% 100%,70% calc(100% - 6px),65% 100%,60% calc(100% - 6px),55% 100%,50% calc(100% - 6px),45% 100%,40% calc(100% - 6px),35% 100%,30% calc(100% - 6px),25% 100%,20% calc(100% - 6px),15% 100%,10% calc(100% - 6px),5% 100%,0 calc(100% - 6px));top:34px;bottom:0}.pack-wrapper-art{outline:1px solid var(--gold-bright);background:#1a1108 50%/cover no-repeat;border:2px solid #1a1108;height:230px;position:absolute;top:46px;left:16px;right:16px;box-shadow:inset 0 0 30px #0009}.pack-wrapper-title{font-family:var(--display);color:#fff4cf;text-shadow:0 2px 3px #000,0 0 12px #ecd08a99;font-size:1.35rem;position:absolute;top:6px;left:0;right:0}.pack-wrapper-count{font-family:var(--display);color:#1a1108;letter-spacing:.1em;text-transform:uppercase;font-size:.95rem;position:absolute;bottom:30px;left:0;right:0}.pack-wrapper.tearing{cursor:default}.pack-wrapper.tearing .pack-wrapper-float{animation:none}.pack-wrapper.tearing .pack-wrapper-top{animation:.45s ease-in forwards pack-tear}.pack-wrapper.tearing .pack-wrapper-body{animation:.5s ease-in .4s forwards pack-drop}@keyframes pack-tear{to{opacity:0;transform:translate(140px,-160px)rotate(35deg)}}@keyframes pack-drop{to{opacity:0;transform:translateY(70vh)rotate(-6deg)}}.pack-spread{flex-direction:column;align-items:center;gap:22px;display:flex}.pack-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pack-row.hits{gap:22px}.pack-card{perspective:900px;aspect-ratio:488/680;animation:.45s cubic-bezier(.2,.8,.3,1.1) both pack-deal;animation-delay:calc(var(--i) * 70ms);background:0 0;border:none;padding:0;position:relative}@keyframes pack-deal{0%{opacity:0;transform:translateY(-45vh)scale(.5)rotate(-12deg)}}.pack-row.commons{z-index:2;position:relative}.pack-row.commons .pack-card{width:96px}.pack-row.hits .pack-card{width:190px}.pack-row.hits .pack-card.uncommon{z-index:1}.pack-card:disabled{cursor:default;opacity:1}.pack-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s ease-out;display:block;position:relative}.pack-card.shown .pack-card-inner{transform:rotateY(180deg)}.pack-card.auto .pack-card-inner{animation:.45s ease-out backwards pack-auto-flip;animation-delay:calc(var(--i) * 70ms + .35s)}@keyframes pack-auto-flip{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.pack-card-back,.pack-card-front{backface-visibility:hidden;border-radius:4.5%;width:100%;height:100%;position:absolute;inset:0;box-shadow:0 6px 16px #0009}.pack-card-back{outline:1px solid var(--gold-dark);background:radial-gradient(#6b4a1e 0%,#2d1d0c 70%),#2d1d0c;border:3px solid #1a1108}.pack-card-front{transform:rotateY(180deg)}.pack-card:not(.shown) .pack-card-back{background:linear-gradient(115deg,#0000 35%,#ffecb440 50%,#0000 65%) 0 0/300% 100%,radial-gradient(#6b4a1e 0%,#2d1d0c 70%) 0 0/100% 100%,#2d1d0c;animation:2.5s linear infinite pack-shine}.pack-card.rare:not(.shown) .pack-card-back,.pack-card.mythic:not(.shown) .pack-card-back,.pack-card.power:not(.shown) .pack-card-back{outline:2px solid var(--gold);box-shadow:0 6px 16px #0009,0 0 18px #ecd08a73}.pack-card.rare.shown .pack-card-inner,.pack-card.mythic.shown .pack-card-inner,.pack-card.power.shown .pack-card-inner{animation:.9s ease-out both pack-big-flip}@keyframes pack-big-flip{0%{transform:rotateY(0)scale(1)}60%{transform:rotateY(200deg)scale(1.15)}to{transform:rotateY(180deg)scale(1)}}.pack-card:not(:disabled):hover .pack-card-inner{transform:translateY(-8px)rotate(-1deg)}.pack-row.commons .pack-card:hover{z-index:5}.pack-row.commons .pack-card:hover .pack-card-inner{transition-delay:.1s;transform:rotateY(180deg)scale(2.2)}.pack-card.rare.shown .pack-card-front{box-shadow:0 0 0 2px var(--gold), 0 0 24px #ecd08ab3}.pack-card.mythic.shown .pack-card-front{box-shadow:0 0 0 2px #f08a2c,0 0 30px 4px #f08a2ccc}.pack-card.power.shown .pack-card-front{box-shadow:0 0 0 3px #fff4cf,0 0 40px 8px #ffd778f2}.pack-card-burst{z-index:-1;pointer-events:none;opacity:0;border-radius:50%;position:absolute;inset:-60%}.pack-card.rare.shown .pack-card-burst,.pack-card.mythic.shown .pack-card-burst,.pack-card.power.shown .pack-card-burst{background:repeating-conic-gradient(#ffe49680 0deg 6deg,#0000 6deg 18deg);animation:1.4s ease-out .5s forwards pack-burst,12s linear infinite pack-spin;-webkit-mask:radial-gradient(circle,#000 20%,#0000 70%);mask:radial-gradient(circle,#000 20%,#0000 70%)}.pack-card.mythic.shown .pack-card-burst{background:repeating-conic-gradient(#ff963c99 0deg 6deg,#0000 6deg 18deg)}.pack-card.power.shown .pack-card-burst{background:repeating-conic-gradient(#fffadccc 0deg 5deg,#0000 5deg 12deg);inset:-110%}@keyframes pack-burst{0%{opacity:0;scale:.3}30%{opacity:1;scale:1.1}to{opacity:.55;scale:1}}@keyframes pack-spin{to{rotate:360deg}}.pack-screen .button-row button{white-space:nowrap;text-align:center;flex:none}.special-rules{background:#b0303a1f;border:1px solid #b0303a59;border-radius:6px;margin:0;padding:6px 10px 6px 26px;font-size:.9rem}.world-overlay{z-index:4;background:#0009;padding:14px}.world-map{flex-direction:column;gap:10px;width:100%;height:100%;min-height:0;padding:16px 20px;display:flex}.world-map header{justify-content:space-between;align-items:center;gap:20px;display:flex}.world-body{flex:1;gap:18px;min-height:0;display:flex}.world-canvas{flex:1;min-width:0;min-height:0;position:relative}.world-canvas canvas{border:1px solid var(--gold-dark);background:#15171c;border-radius:6px;margin:auto;display:block;position:absolute;inset:0}.world-body aside{flex-direction:column;flex:none;gap:8px;width:260px;display:flex;overflow:auto}.world-body h4{color:var(--gold-bright);margin:0}.world-body ol,.world-key{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quest-star{color:#1a1108;background:#ffd877;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:800;display:grid;box-shadow:0 0 0 1px #000}.world-key{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.world-body ol li{align-items:flex-start;gap:8px;display:flex}.world-body ol li>span:last-child{flex-direction:column;gap:2px;display:flex}.quest-star{color:#1a1108;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#ffd877;flex:none;place-items:center;width:28px;height:28px;padding-top:3px;font-size:.8rem;font-weight:800;display:grid}.world-key{gap:4px;font-size:.9rem}.key-you{vertical-align:middle;background:#3d7fc4;border:2px solid #fff;border-radius:50%;width:10px;height:10px;display:inline-block}.reward-overlay{z-index:60;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.reward-overlay>*{pointer-events:auto}.reward-flash{min-width:320px;color:var(--text);cursor:pointer;box-shadow:0 0 0 2px var(--gold), 0 0 40px #ecd08a73, 0 18px 40px #000000b3;flex-direction:column;align-items:center;gap:10px;padding:18px 28px;animation:.45s cubic-bezier(.2,.8,.3,1.2) both reward-in;display:flex}@keyframes reward-in{0%{opacity:0;transform:scale(.6)translateY(30px)}}.reward-flash{position:relative}.reward-close{padding:0 8px;font-size:1.2rem;line-height:1.4;position:absolute;top:6px;right:8px}.reward-pack{color:inherit;cursor:pointer;background:0 0;border:none;padding:6px}.reward-title{font-family:var(--display);color:var(--gold-bright);text-shadow:0 0 12px #ecd08a99;font-size:1.6rem}.reward-quest{flex-direction:column;align-items:center;gap:10px;display:flex}.reward-items{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.reward-item{font-family:var(--display);align-items:center;gap:6px;font-size:1.2rem;font-weight:700;display:flex}.reward-icon{width:32px;height:32px}.reward-card,.reward-pack{flex-direction:column;align-items:center;gap:4px;font-size:.85rem;animation:.5s cubic-bezier(.2,.8,.3,1.2) .25s both reward-in;display:flex}.reward-card-img{border-radius:4.5%;width:150px;box-shadow:0 0 18px #ecd08a80}.reward-pack-art{background:linear-gradient(160deg,#5b3a12,#c9a24a 35%,#6b4a1e 65%,#2d1d0c);border-radius:3px;width:76px;height:128px;box-shadow:0 0 18px #ecd08a80}.coin-splash{z-index:61;pointer-events:none;position:fixed;inset:0}.coin{width:28px;height:28px;animation:1.3s ease-in both coin-fly;position:absolute;top:calc(50% - 14px);left:calc(50% - 14px)}@keyframes coin-fly{0%{opacity:0;transform:translate(0)scale(.4)}25%{transform:translate(var(--sx), var(--sy)) scale(1.1);opacity:1}40%{transform:translate(var(--sx), calc(var(--sy) + 10px)) scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(.5);opacity:.8}}.gold-pulse{animation:.6s ease-out gold-pulse}@keyframes gold-pulse{40%{filter:drop-shadow(0 0 8px var(--gold-bright));transform:scale(1.35)}}.dungeon-overlay{z-index:2;background:#060709d9;padding:14px;display:flex;position:absolute;inset:0}.dungeon{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 18px;display:flex}.dungeon-header{align-items:center;gap:18px;display:flex}.dungeon-header .band{margin:0}.dungeon-leave{margin-left:auto}.dungeon-life{font-family:var(--display);align-items:center;gap:6px;font-weight:700;display:flex}.dungeon-life-icon{width:26px;height:26px}.dungeon-cleared{font-family:var(--display);color:var(--gold-bright)}.dungeon-body{flex:1;gap:18px;min-height:0;display:flex}.maze{background:#1b1712;border:4px solid #2a2118;border-radius:6px;flex:1;align-self:center;min-width:0;max-height:100%;display:grid;box-shadow:0 10px 30px #000000b3}.room{aspect-ratio:1;cursor:default;opacity:1;background:radial-gradient(circle at 50% 45%,#4a3f31 0%,#2c251c 70%),#2c251c;border:4px solid #0000;border-radius:0;place-items:center;padding:0;display:grid;position:relative}.room.wall-top{border-top-color:#8a7a5c}.room.wall-right{border-right-color:#8a7a5c}.room.wall-bottom{border-bottom-color:#8a7a5c}.room.wall-left{border-left-color:#8a7a5c}.room.reachable{cursor:pointer;background:radial-gradient(circle at 50% 45%,#5e5038 0%,#362d21 70%),#362d21;box-shadow:inset 0 0 14px #ecd08a40}.room.reachable:hover{box-shadow:inset 0 0 22px #ecd08a99}.room.fighting{box-shadow:inset 0 0 24px #dc3c3ccc}.room-door{background:#0b0907;border-radius:40% 40% 0 0;width:34%;height:22%;position:absolute;bottom:4%;box-shadow:0 0 0 2px #8a7a5c}.room-foe{aspect-ratio:1;background:#111 50%/cover no-repeat;border-radius:50%;width:70%;box-shadow:0 0 0 3px #b0303a,0 4px 10px #000000b3}.room-foe.lord{width:84%;box-shadow:0 0 0 4px var(--gold), 0 0 18px #ecd08a99, 0 4px 10px #000000b3}.room-loot{filter:drop-shadow(0 3px 4px #000000b3);width:50%;animation:2.4s ease-in-out infinite loot-glint}@keyframes loot-glint{50%{filter:drop-shadow(0 0 8px #ffe496e6)}}.card-loot{aspect-ratio:488/680;background:radial-gradient(#6b4a1e 0%,#2d1d0c 70%);border-radius:3px;width:38%;box-shadow:0 0 0 2px #1a1108}.pack-loot{aspect-ratio:3/5;background:linear-gradient(160deg,#5b3a12,#c9a24a 35%,#6b4a1e 65%,#2d1d0c);border-radius:2px;width:38%}.room-you{filter:drop-shadow(0 4px 6px #000c);pointer-events:none;height:82%;position:absolute}.dungeon-side{flex-direction:column;flex:none;gap:8px;width:260px;display:flex;overflow:auto}.dungeon-side h4{color:var(--gold-bright);margin:0}.dungeon-side p{min-height:3em;margin:0}.dungeon-side ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.tip{z-index:55;max-width:min(640px,100vw - 32px);color:var(--text);box-shadow:0 0 0 2px var(--gold), 0 6px 24px #00000080;align-items:center;gap:12px;padding:10px 14px;animation:.35s ease-out both reward-in;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%)}.tip-mark{background:var(--gold);color:#1a1208;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.intro{max-width:640px}.intro p{margin:0;line-height:1.5}.intro-art{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:100%;max-height:220px}.intro .button-row{align-items:center}.intro-count{margin-left:auto}.relic.dim{opacity:.7;border-left-style:dashed}.champion-stakes{color:var(--gold-bright)}.intro .button-row>button{flex:none;min-width:120px}.room-boon{border:2px solid var(--gold-bright);background:#2a2a38 50%/cover;border-radius:4px;animation:2.2s ease-in-out infinite boon-glow;position:absolute;inset:18% 30%;box-shadow:0 0 10px #ecd08ab3}@keyframes boon-glow{50%{box-shadow:0 0 18px #ecd08af2}}.dungeon-boons{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dungeon-boons li{align-items:center;gap:8px;display:flex}.boon-art{border:1px solid var(--gold);background:#2a2a38 50%/cover;border-radius:3px;flex:none;width:34px;height:26px}.found-overlay{z-index:60;position:fixed;bottom:120px;left:50%;transform:translate(-50%)}.found-flash{min-width:280px;color:var(--text);box-shadow:0 0 0 2px var(--gold), 0 0 30px #ecd08a66;flex-direction:column;align-items:center;gap:10px;padding:14px 22px;animation:.4s cubic-bezier(.2,.8,.3,1.2) both reward-in;display:flex;position:relative}.found-item{align-items:center;gap:12px;display:flex}.found-item .reward-card-img{width:90px}.coin-amount{color:var(--gold-bright);text-shadow:0 2px 6px #000,0 0 14px #ecd08ab3;font-size:2rem;font-weight:800;animation:1.7s ease-out both coin-amount;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes coin-amount{0%{opacity:0;transform:translate(-50%,-20%)scale(.7)}20%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}70%{opacity:1;transform:translate(-50%,-80%)scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--tx) * .6), calc(-80% + var(--ty) * .6)) scale(.6)}}
