:root{--serif: "Palatino Linotype", Palatino, "Book Antiqua", "Iowan Old Style", Georgia, serif;--sans: "Segoe UI", system-ui, sans-serif;--text: #eef1f6;--text-dim: rgba(238, 241, 246, .68);--text-faint: rgba(238, 241, 246, .45);--glass: rgba(13, 17, 26, .58);--glass-strong: rgba(9, 12, 19, .76);--glass-soft: rgba(22, 28, 40, .4);--edge: rgba(255, 255, 255, .16);--edge-soft: rgba(255, 255, 255, .08);--gold: #e8c454;--accent: #9fc2e8;--accent-ink: #0c141f;--glow: rgba(159, 194, 232, .45);--scene: radial-gradient(55% 45% at 12% -5%, rgba(120, 200, 255, .14), transparent 65%), radial-gradient(55% 45% at 88% -5%, rgba(180, 140, 255, .13), transparent 65%), radial-gradient(90% 50% at 50% 115%, rgba(60, 90, 130, .25), transparent 65%), linear-gradient(180deg, #151b28 0%, #0e1420 55%, #0a0e17 100%)}[data-region=naroom]{--accent: #96e07d;--accent-ink: #0f2409;--glow: rgba(150, 224, 125, .5);--scene: radial-gradient(55% 60% at 26% -10%, rgba(228, 255, 170, .38), transparent 60%), radial-gradient(45% 55% at 72% -6%, rgba(150, 232, 118, .26), transparent 65%), radial-gradient(30% 45% at 50% 0%, rgba(255, 250, 200, .18), transparent 70%), radial-gradient(130% 55% at 50% 118%, rgba(50, 36, 18, .9), transparent 62%), linear-gradient(180deg, #2f5522 0%, #1f421a 45%, #122a10 100%)}[data-region=cald]{--accent: #ff9250;--accent-ink: #2b0d02;--glow: rgba(255, 146, 80, .5);--scene: radial-gradient(60% 38% at 50% 110%, rgba(255, 140, 40, .75), transparent 65%), radial-gradient(32% 22% at 18% 98%, rgba(255, 84, 24, .5), transparent 70%), radial-gradient(40% 26% at 82% 102%, rgba(255, 60, 0, .42), transparent 70%), radial-gradient(60% 45% at 50% -10%, rgba(70, 60, 62, .5), transparent 65%), linear-gradient(180deg, #1b1012 0%, #381412 45%, #641c0c 82%, #8a2a06 100%)}[data-region=orothe]{--accent: #6fe3c8;--accent-ink: #04241c;--glow: rgba(111, 227, 200, .5);--scene: radial-gradient(70% 50% at 50% -12%, rgba(160, 255, 232, .32), transparent 60%), radial-gradient(24% 60% at 30% -5%, rgba(210, 255, 245, .16), transparent 70%), radial-gradient(20% 55% at 62% -5%, rgba(210, 255, 245, .12), transparent 70%), radial-gradient(38% 26% at 14% 102%, rgba(255, 140, 130, .16), transparent 70%), radial-gradient(45% 30% at 80% 104%, rgba(90, 220, 190, .2), transparent 70%), linear-gradient(180deg, #0d3f5c 0%, #082c49 50%, #041a30 100%)}[data-region=underneath]{--accent: #c79bff;--accent-ink: #200e38;--glow: rgba(199, 155, 255, .5);--scene: radial-gradient(22% 16% at 16% 80%, rgba(150, 120, 255, .5), transparent 70%), radial-gradient(16% 12% at 76% 86%, rgba(90, 220, 255, .42), transparent 70%), radial-gradient(12% 9% at 52% 94%, rgba(255, 110, 230, .38), transparent 70%), radial-gradient(60% 40% at 50% -10%, rgba(40, 24, 70, .85), transparent 70%), linear-gradient(180deg, #170f2c 0%, #221440 55%, #100a20 100%)}[data-region=arderial]{--accent: #cfe9ff;--accent-ink: #0d2b4a;--glow: rgba(207, 233, 255, .55);--scene: radial-gradient(55% 32% at 22% 12%, rgba(255, 255, 255, .85), rgba(255, 255, 255, 0) 65%), radial-gradient(45% 26% at 74% 24%, rgba(255, 255, 255, .55), transparent 68%), radial-gradient(60% 30% at 45% 44%, rgba(255, 255, 255, .3), transparent 70%), radial-gradient(120% 70% at 50% 115%, rgba(28, 62, 120, .65), transparent 65%), linear-gradient(180deg, #86c6f2 0%, #4e8fd4 50%, #2b5da6 100%)}[data-region=universal]{--accent: #ffd982;--accent-ink: #33230a;--glow: rgba(255, 217, 130, .5);--scene: radial-gradient(60% 40% at 50% -8%, rgba(255, 225, 150, .32), transparent 60%), radial-gradient(30% 22% at 20% 100%, rgba(255, 200, 120, .14), transparent 70%), radial-gradient(30% 22% at 80% 100%, rgba(200, 160, 255, .14), transparent 70%), linear-gradient(180deg, #2e2540 0%, #3a2c4c 50%, #221a30 100%)}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);color:var(--text);background:var(--scene) #0a0e17;background-attachment:fixed;min-height:100vh}h1,h2,h3,h4,.cardname,.seathead strong,.bftitle,.handlabel,.turnbox{font-family:var(--serif);letter-spacing:.4px}button{font:inherit;font-weight:600;color:var(--text);background:linear-gradient(180deg,#ffffff24,#ffffff08 55%),#10152099;border:1px solid var(--edge);border-radius:9px;padding:4px 12px;cursor:pointer;box-shadow:inset 0 1px #ffffff29,0 2px 6px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .18s ease,box-shadow .18s ease}button:hover:not(:disabled){border-color:var(--accent);box-shadow:inset 0 1px #ffffff29,0 0 10px var(--glow)}button:disabled{opacity:.4;cursor:default}button.danger{background:linear-gradient(180deg,#ff786433,#781e1440),#140c0c99;border-color:#ff826e73;color:#ffd9d2}input,select{font:inherit;background:#090d159e;color:var(--text);border:1px solid var(--edge);border-radius:8px;padding:4px 8px}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 8px var(--glow)}select option{background:#131926}.center{position:relative;max-width:480px;margin:8vh auto;display:flex;flex-direction:column;gap:12px;padding:24px 28px;background:var(--glass);border:1px solid var(--edge);border-radius:16px;box-shadow:inset 0 1px #ffffff24,0 12px 40px #0000008c;-webkit-backdrop-filter:blur(16px) saturate(1.25);backdrop-filter:blur(16px) saturate(1.25);color:var(--text)}.center h1{color:var(--accent);margin:0 0 4px;text-align:center;letter-spacing:1.5px;text-shadow:0 0 18px var(--glow)}.menu label{display:flex;justify-content:space-between;align-items:center;gap:12px}.menu input,.menu select{flex:1}.menubuttons{display:flex;gap:12px;justify-content:center}.hint{color:var(--text-dim);font-size:13px}.board,.builder{display:flex;flex-direction:column;height:100vh;background:var(--scene) #0a0e17;background-attachment:fixed}.topbar{display:flex;align-items:center;gap:14px;padding:8px 14px;background:var(--glass-strong);border-bottom:1px solid var(--edge);box-shadow:0 4px 18px #00000073;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);flex-wrap:wrap;color:var(--text)}.turnbox{background:#ffffff0f;border:1px solid var(--edge);border-radius:8px;padding:3px 12px;font-weight:700;font-size:15px;white-space:nowrap}.turnbox.mine{color:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--glow)}.steps{display:flex;align-items:center;gap:6px;flex:1;flex-wrap:wrap}.arrow{color:var(--text-faint);font-weight:700}.step{font-size:12.5px;font-weight:600;color:var(--text-dim);padding:2px 8px;border-radius:999px;white-space:nowrap}.step.now{background:var(--accent);color:var(--accent-ink);text-transform:uppercase;box-shadow:0 0 10px var(--glow)}.topbuttons{display:flex;gap:8px}.banners{padding:4px 14px}.banner{padding:6px 10px;border-radius:8px;margin:2px 0;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.banner.error{background:#96281e59;border:1px solid rgba(255,130,110,.55);color:#ffd9d2}.banner.notice{background:#325a9652;border:1px solid rgba(140,190,255,.5);color:#d9eaff}.table{flex:1;display:flex;gap:10px;padding:10px;min-height:0}.magicol{width:236px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.fieldcol{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.magizone,.battlefield,.seat,.log{background:var(--glass);border:1px solid var(--edge);border-radius:14px;box-shadow:inset 0 1px #ffffff1f,0 6px 22px #00000073;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);padding:10px;color:var(--text)}.magizone.mine{border-color:var(--accent);box-shadow:inset 0 1px #ffffff1f,0 0 16px var(--glow)}.magizone h4{margin:0 0 8px;text-align:center;font-size:13.5px;letter-spacing:.6px;color:var(--text)}.zonebody{display:flex;gap:8px;align-items:flex-start}.zonebody .card.magi{flex:1}.piles{display:flex;flex-direction:column;gap:10px;width:72px;flex-shrink:0}.pile{position:relative;display:block;background:#ffffff0f;border:1px solid var(--edge-soft);border-radius:8px;padding:9px 4px 7px;text-align:center;font-size:11.5px;font-weight:600;color:var(--text-dim);box-shadow:inset 0 1px #ffffff14}.pile .count{position:absolute;top:-9px;right:-9px;background:var(--accent);color:var(--accent-ink);border:1px solid rgba(255,255,255,.4);border-radius:50%;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 0 8px var(--glow)}.energyline{display:flex;align-items:center;gap:8px;margin-top:10px;font-weight:700;font-size:13px;color:var(--text-dim)}.gem{width:46px;height:40px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;clip-path:polygon(50% 0,100% 30%,82% 100%,18% 100%,0 30%);background:linear-gradient(160deg,#d4ecff,#5f9dd8 45%,#2c5f96);color:#0e1c2e;text-shadow:0 1px 0 rgba(255,255,255,.4)}.gem.gold{background:linear-gradient(160deg,#fbeeb0,#e3c34f 45%,#a5822a);color:#3a2c08}.seathead{display:flex;gap:14px;align-items:baseline;font-size:13px;color:var(--text-dim);margin-bottom:8px}.seathead strong{color:var(--accent);font-size:17px;text-shadow:0 0 12px var(--glow)}.stack{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.stackchip{padding:0 6px;border-radius:4px;background:#ffffff14;font-size:12px;color:var(--text-dim)}.stackchip.defeated{text-decoration:line-through;color:var(--text-faint)}.battlefield{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:8px;overflow-y:auto}.bftitle{margin:0;text-align:center;font-size:17px;letter-spacing:3px;text-transform:uppercase;color:var(--text-dim)}.bfrow{flex:1;display:flex;flex-direction:column;background:var(--glass-soft);border:1px solid var(--edge-soft);border-radius:12px;padding:8px;box-shadow:inset 0 0 20px #00000040}.bfrow .row.creatures{flex:1;align-items:center}.rowlabel{display:block;font-size:12.5px;font-weight:700;color:var(--text-dim);margin-bottom:6px}.zones{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.row{display:flex;gap:8px;flex-wrap:wrap}.row.relics{margin-top:8px}.slot{width:118px;aspect-ratio:3 / 4;border-radius:10px;border:1px dashed rgba(255,255,255,.18);background:#ffffff09;box-shadow:inset 0 0 18px #00000040}.bfcentral{min-height:54px;border-radius:999px;background:#ffffff0d;border:1px solid var(--edge-soft);box-shadow:inset 0 0 20px #0000004d,0 0 16px var(--glow);display:flex;align-items:center;justify-content:center;padding:6px 16px}.runeline{color:var(--accent);text-shadow:0 0 12px var(--glow);letter-spacing:18px;font-size:14px;padding-left:18px}.log{width:244px;flex-shrink:0;font-size:12.5px;color:var(--text-dim);display:flex;flex-direction:column;min-height:0}.log h3{margin:0 0 8px;text-align:center;font-size:13.5px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);text-shadow:0 0 12px var(--glow)}.logscroll{flex:1;overflow-y:auto}.logscroll>div{padding:2px 0;border-bottom:1px solid rgba(255,255,255,.07)}.card{position:relative;width:118px;min-height:64px;background:linear-gradient(180deg,#2e3646eb,#161b26f2);border:1px solid var(--edge);border-radius:10px;padding:6px 6px 5px;cursor:pointer;display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--text);box-shadow:0 3px 8px #00000073,inset 0 1px #ffffff1f;transition:border-color .18s ease,box-shadow .18s ease}.card:hover{border-color:var(--accent);box-shadow:0 0 14px var(--glow),inset 0 1px #ffffff1f}.card.selected{border-color:var(--gold);box-shadow:0 0 16px #e8c454d9,inset 0 1px #ffffff1f}.card.burrowed{opacity:.7;border-style:dashed}.card.magi{background:linear-gradient(180deg,#42385ceb,#201a30f2);border-color:#b296eb73;min-width:120px}.card.relic,.kind-relic{border-color:#d8b45a80}.kind-spell{border-color:#6ea0e680}.cardname{font-weight:700;line-height:1.15;font-size:12.5px;text-align:center}.art{width:100%;aspect-ratio:425 / 550;object-fit:cover;border-radius:6px;display:block;background:#10141e}.art.placeholder{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-dim);font-size:12px;padding:4px}.energy{position:absolute;top:-10px;right:-10px;background:radial-gradient(circle at 35% 30%,#8fd0ff,#2d5a9e 70%);color:#fff;font-weight:700;border-radius:50%;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid rgba(255,255,255,.55);box-shadow:0 1px 4px #0000008c,0 0 8px #78beff80;z-index:1}.attacked{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:radial-gradient(circle at 35% 30%,#ff9d6b,#9e3a2d 70%);color:#fff;font-weight:700;border-radius:12px;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;border:1px solid rgba(255,255,255,.55);box-shadow:0 1px 4px #0000008c,0 0 8px #ff966e80;z-index:1}.attacked.multi{padding:0 6px}.attacked .glyph{display:block;transform:translateY(-.5px)}.power{font-size:11.5px;padding:2px 6px}.cardpreview{position:fixed;top:56px;right:272px;z-index:50;pointer-events:none;filter:drop-shadow(0 6px 24px rgba(0,0,0,.7))}.cardpreview img{width:340px;border-radius:12px;display:block}.builder .cardpreview{right:16px}.promptbar{background:var(--glass-strong);border:1px solid var(--accent);border-radius:12px;padding:8px 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--text);width:100%;box-shadow:0 0 18px var(--glow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.promptbar.waiting{background:transparent;border:none;box-shadow:none;color:var(--text-dim);justify-content:center}.need{padding:2px 8px;border-radius:10px;background:#ffffff14;color:var(--text-dim)}.need.now{background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 0 8px var(--glow)}.pick{display:inline-flex;gap:4px;align-items:center;background:#ffffff12;border:1px solid var(--edge);padding:2px 8px;border-radius:6px;color:var(--text)}.pick.ordered{background:var(--accent);color:var(--accent-ink);font-weight:600}.handpick{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.handpick input[type=number]{width:56px;margin-left:6px}.xinput input{width:64px}.xform{display:inline-flex;gap:6px;align-items:center;background:var(--glass-strong);border:1px solid var(--accent);color:var(--text);padding:6px 10px;border-radius:10px;box-shadow:0 0 12px var(--glow)}.hand{position:relative;background:linear-gradient(180deg,#080b1280,#080b12c7);border:1px solid var(--edge);border-radius:14px;box-shadow:inset 0 0 26px #0006,0 6px 18px #0006;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);padding:28px 16px 12px;display:flex;gap:10px;align-items:flex-start;justify-content:center;min-height:118px;flex-wrap:wrap}.hand:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px dashed rgba(255,255,255,.14);border-radius:10px;pointer-events:none}.handlabel{position:absolute;top:7px;left:16px;color:var(--accent);font-weight:700;font-size:13px;text-shadow:0 0 10px var(--glow);white-space:nowrap}.hand-card{position:relative;width:106px;text-align:left;display:flex;flex-direction:column;gap:2px;padding:6px}.hand-card .cost{position:absolute;top:-8px;left:-8px;background:radial-gradient(circle at 35% 30%,#f5dd8a,#c29b2e 75%);color:#3a2c08;font-weight:700;border-radius:50%;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:12px;border:1px solid rgba(255,255,255,.55);box-shadow:0 1px 4px #0000008c;z-index:1}.hand-card .kind{font-size:11px;color:var(--text-dim)}.filterbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:2px 14px 4px;padding:6px 10px;background:var(--glass);border:1px solid var(--edge);border-radius:12px;color:var(--text);box-shadow:inset 0 1px #ffffff1f,0 4px 14px #00000059;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}.filterbar.active{border-color:var(--accent);box-shadow:inset 0 1px #ffffff1f,0 0 14px var(--glow)}.filtergroup{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.filterlabel{font-family:var(--serif);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-right:4px}.pill{font-size:12.5px;font-weight:600;padding:2px 10px;border-radius:999px;background:#ffffff0f;border:1px solid var(--edge);color:var(--text-dim);-webkit-backdrop-filter:none;backdrop-filter:none}.pill.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 10px var(--glow)}.pill.clear{background:transparent;border-style:dashed}.filtertail{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.filtercount{font-size:12.5px;font-weight:600;color:var(--text-dim);white-space:nowrap}.chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 14px 4px;padding:0 2px}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:var(--accent);border:1px solid rgba(255,255,255,.35);color:var(--accent-ink);font-size:12.5px;font-weight:600;box-shadow:0 0 10px var(--glow);-webkit-backdrop-filter:none;backdrop-filter:none}.chip .x{font-weight:800;opacity:.7}.chip:hover .x{opacity:1}.chip.clearall{background:transparent;border:1px dashed var(--edge);color:var(--text-dim);box-shadow:none}.builderbody{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px}.builderrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;margin-bottom:8px}.builder .builderrow .card{width:auto}.counter{display:flex;gap:6px;align-items:center;justify-content:center}.builderbody .card,.builderbody .builderrow,.builderbody .seat{transition:opacity .28s ease,scale .28s ease,border-color .18s ease,box-shadow .18s ease,display .28s allow-discrete}.builderbody .hide{opacity:0;scale:.88;display:none}@starting-style{.builderbody .card:not(.hide),.builderbody .builderrow:not(.hide),.builderbody .seat:not(.hide){opacity:0;scale:.88}}
