:root{color-scheme:dark;--bg:#0c1116;--panel:#141c23;--line:#ffffff12;--muted:#8c989f;--text:#e9e8df;--gold:#c7a878;--red:#d19473;--blue:#83b7d5;--green:#89b99b;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.38}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold)}button{border:0;background:none}a{color:inherit;text-decoration:none}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:#10161b}.brand{display:flex;gap:12px;align-items:center;font:22px Georgia,serif;letter-spacing:3px}.brand svg{width:36px;height:43px;fill:none;stroke:var(--gold);stroke-width:1.5}.brand small{display:block;font:8px sans-serif;letter-spacing:4.4px;margin-top:6px;color:var(--gold)}nav{display:flex;align-self:stretch;gap:34px}.nav-button{position:relative;font-size:13px;color:#929da5;padding:0 2px}.nav-button.active{color:var(--gold)}.nav-button.active:after{content:'';height:2px;background:var(--gold);position:absolute;bottom:0;left:0;right:0}.nav-button span{font-size:10px;padding:3px 5px;border:1px solid #ffffff16;border-radius:4px;margin-left:5px}.header-actions{display:flex;align-items:center;gap:20px}.icon-button{display:grid;place-items:center;width:36px;height:36px;color:#a5afb5;border-radius:5px}.icon-button:hover{background:#ffffff0d}.icon-button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}.outline-button{border:1px solid #b69a6860;border-radius:4px;padding:11px 17px;font-size:12px;color:#d8c6a7}.outline-button span{margin-left:22px}.outline-button:hover{background:#c7a87815}main{max-width:1560px;padding:0 4%;margin:auto}.game-heading{display:flex;align-items:center;justify-content:space-between;padding:30px 0 23px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.3px;color:var(--gold)}h1{font:32px Georgia,"Times New Roman",serif;letter-spacing:.1px;margin:7px 0 0}h2{margin:0}.session-tag{font-size:11px;color:#a0aab1;display:flex;align-items:center;gap:11px}.session-tag i,.save-dot{height:5px;width:5px;background:#7fad93;border-radius:50%;display:inline-block}.sep{color:#455059}.arena{height:408px;position:relative;border:1px solid #a88e573b;border-radius:8px;overflow:hidden;background:#15202b;isolation:isolate}.arena-art{position:absolute;inset:0;z-index:-3}.arena-shade{position:absolute;inset:0;background:linear-gradient(180deg,#080e18b3,transparent 31%,#0b12150f 60%,#0b121ddd),linear-gradient(90deg,#0d151cbc,transparent 30%,transparent 70%,#0d151ca6);z-index:-2}.arena-top{display:flex;justify-content:space-between;align-items:center;padding:24px 28px}.player-title{display:flex;align-items:center;gap:12px}.player-title small{font-size:8px;letter-spacing:1.8px;color:#b7a88d}.player-title h2{font:19px Georgia,serif;margin-top:5px}.sigil{font-size:26px;width:43px;height:48px;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);background:#262420;color:#d3b37c;border-top:1px solid #b4945c}.sigil.teal{color:#84bdc0;background:#192d33;border-color:#74a6ac}.enemy{text-align:right}.enemy small{color:#87aeb9}.opponent-hand{display:flex;gap:4px;transform:translateY(-5px)}.opponent-hand i{width:20px;height:30px;border:1px solid #b6a47755;border-radius:3px;background:repeating-linear-gradient(45deg,#223039,#223039 3px,#17242c 3px,#17242c 6px)}.battle-stats{display:flex;justify-content:space-between;padding:4px 28px;pointer-events:none}.fortress{width:161px;padding:13px 15px;background:#0a131bb5;border:1px solid #b5a98a25;border-radius:5px;backdrop-filter:blur(10px)}.fortress.enemy-stats{--gold:#8fc2ca}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.stat-row>span{font-size:11px;color:#c3c6c4}.stat-row strong{font-size:26px;font-weight:400;line-height:1.1;color:var(--gold)}.stat-row strong small{font-size:11px;color:#87918e;margin-left:3px}.stat-row.wall{margin-top:13px}.stat-row.wall strong{font-size:19px;color:#bfc8cd}.meter{height:3px;background:#ffffff12;margin-top:8px;overflow:hidden;border-radius:2px}.meter span{display:block;height:100%;background:var(--gold);transition:width .6s ease}.enemy-resources{display:flex;justify-content:space-between;font-size:11px;margin-top:14px;padding-top:11px;border-top:1px solid #ffffff12;color:#afbabc}.enemy-resources span{display:flex;gap:4px;align-items:center}.enemy-resources svg{width:12px;height:12px}.enemy-production{font-size:8px;color:#92a6ad;margin-top:7px;line-height:1.7}.turn-center{position:absolute;top:130px;left:50%;transform:translateX(-50%);text-align:center;width:38%;pointer-events:none}.turn-rune{width:45px;height:45px;border:1px solid #c7a87880;transform:rotate(45deg);margin:0 auto 24px;background:#121e27ad;box-shadow:0 0 40px #c6a46520}.turn-rune span{display:block;transform:rotate(-45deg);font-size:32px;color:#dcc398;line-height:43px}.turn-center .eyebrow{font-size:11px;letter-spacing:3px;text-shadow:0 2px 6px #000}.turn-center p{font:italic 13px Georgia,serif;color:#d4d8d7;text-shadow:0 2px 6px #000;margin:11px 0 17px}.last-action{font-size:10px;line-height:1.6;color:#abb8be;display:inline-block;padding:9px 14px;background:#0b141bc9;border:1px solid #d9c28d25;border-radius:4px;max-width:100%}.last-action b{color:#e4d4b7;font-weight:500}.arena-bottom{position:absolute;bottom:18px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;color:#a8b4b9;font-size:10px}.location{letter-spacing:.5px}.location span{color:#c7a878;margin-right:8px}.text-button{font-size:10px;color:#bac5c9}.text-button span{margin-left:12px;color:var(--gold)}.resource-section{display:flex;align-items:center;gap:28px;padding:21px 0;border-bottom:1px solid var(--line)}.resource-caption{min-width:126px}.resource-caption small{display:block;color:#76858f;font-size:10px;margin-top:7px}.resources{display:flex;gap:12px;flex:1}.resource{display:flex;align-items:center;gap:12px;min-width:143px;border-right:1px solid #ffffff0d;padding-right:23px}.resource-symbol{width:36px;height:36px;background:color-mix(in srgb,var(--resource) 10%,transparent);border:1px solid color-mix(in srgb,var(--resource) 20%,transparent);border-radius:6px;display:grid;place-items:center;color:var(--resource)}.resource-symbol svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}.resource small{display:block;font-size:10px;color:#9ba7ae;margin-bottom:3px}.resource strong{font-size:24px;font-weight:500;line-height:1}.production{font-size:10px;color:var(--resource);margin-left:9px;white-space:nowrap}.win-hint{text-align:right;color:#788790}.win-hint>span{font-size:8px;letter-spacing:1.6px}.win-hint p{font-size:10px;margin:8px 0 0}.win-hint b{font-weight:400;color:#bfc6c7}.win-hint i{margin:0 8px}.hand-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 0 18px}.hand-heading>div{display:flex;align-items:center;gap:18px}.hand-heading h2{font:19px Georgia,serif}.hand-heading h2 span{font:11px sans-serif;margin-left:7px;color:#677780}.hand-heading p{font-size:10px;color:#819099;margin:0}.key-hint{font-size:9px;color:#70818c;display:flex;gap:5px;align-items:center}.key-hint>span{padding:0 7px}kbd{border:1px solid #ffffff20;border-radius:3px;min-width:17px;height:18px;padding:2px 4px;font-size:9px;text-align:center;font-family:inherit}.hand{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;align-items:stretch;padding-top:2px}.card{--resource:var(--red);position:relative;text-align:left;display:flex;flex-direction:column;min-width:0;border:1px solid #ae947037;border-radius:7px;background:linear-gradient(145deg,#22292c,#161d22);overflow:hidden;padding:0;transition:transform .2s,border-color .2s,box-shadow .2s;min-height:232px}.card.gems{--resource:var(--blue)}.card.beasts{--resource:var(--green)}.card:hover{transform:translateY(-5px);border-color:var(--resource)}.card.selected{transform:translateY(-9px);border-color:var(--gold);box-shadow:0 0 0 1px #c7a87866,0 10px 25px #0007}.card.unaffordable .cost{background:#35282b;color:#ca8588}.card.unaffordable{opacity:.7}.card .card-top{display:flex;align-items:center;justify-content:space-between;padding:9px 10px 8px;gap:4px;font-size:8px;letter-spacing:1px;color:var(--resource)}.card-top .cost{width:25px;height:25px;border:1px solid color-mix(in srgb,var(--resource) 35%,transparent);background:color-mix(in srgb,var(--resource) 12%,transparent);font-size:14px;letter-spacing:0;display:flex;align-items:center;justify-content:center;border-radius:50%}.card-art{position:relative;height:86px;margin:0 8px;overflow:hidden;border:1px solid #d6c29822;border-radius:3px;background:#151b21}.card-art svg{display:block;width:100%;height:100%;filter:saturate(.65) contrast(.95)}.card-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#121c2466,transparent 60%)}.card-content{padding:11px 11px 6px;flex:1}.card h3{font:16px Georgia,serif;margin:0 0 7px;line-height:1.15;color:#e7e4d8}.card p{font-size:10px;line-height:1.65;color:#a2adb2;margin:0}.card-bottom{display:flex;align-items:center;justify-content:space-between;padding:7px 10px 9px;font-size:8px;letter-spacing:1px;color:#6b7b86}.card-bottom span{color:var(--resource);letter-spacing:.3px}.action-bar{display:flex;align-items:center;justify-content:center;gap:14px;min-height:65px;padding:10px 0}.action-bar p{font-size:11px;color:#87969f;margin:0}.action-bar .selected-name{color:#d1c5ad}.primary-button{background:var(--gold);border:1px solid var(--gold);color:#171d21;padding:12px 24px;border-radius:4px;font-size:12px;font-weight:600}.primary-button:hover:not(:disabled){background:#e3c599}.secondary-button{padding:12px 19px;border:1px solid #65747c70;border-radius:4px;font-size:12px;color:#c1c8ca}.secondary-button:hover:not(:disabled){background:#ffffff08}.action-bar .primary-button,.action-bar .secondary-button{padding:10px 21px}.action-bar .discard-note{font-size:9px;color:#819099}footer{display:flex;justify-content:space-between;padding:15px 0 22px;border-top:1px solid var(--line);font-size:8px;color:#586b76;letter-spacing:.7px}footer b{color:#7c8a91;font-weight:400}footer i{margin:0 8px}footer .save-dot{width:4px;height:4px;margin-right:0}.impact{position:absolute;inset:0;pointer-events:none}.impact.flash{animation:impact .6s ease-out}.arena.ai .turn-rune{animation:breathe 2s infinite}.arena.ai .turn-center .eyebrow{color:#9dc8d1}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:13px 20px;max-width:90vw;z-index:20;background:#25323c;border:1px solid #c7a87860;border-radius:6px;font-size:12px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{background:#131c24;color:var(--text);border:1px solid #9c875958;border-radius:10px;padding:27px;max-width:min(720px,94vw);width:100%;max-height:86dvh;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#060d16bc;backdrop-filter:blur(7px)}dialog.atlas-dialog{max-width:min(1140px,94vw)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.dialog-title{font:32px Georgia,serif;margin:0 0 13px}.dialog-lead{color:#9eafb9;font-size:13px;line-height:1.8;margin-bottom:23px}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rule-item{padding:18px;background:#1d2933;border:1px solid #ffffff0b;border-radius:6px}.rule-item strong{font:27px Georgia,serif;color:var(--gold)}.rule-item h3{font-size:12px;margin:10px 0}.rule-item p,.rule-text{font-size:12px;line-height:1.8;color:#a9b5bd}.rule-text{margin-top:20px}.rule-text b{color:#e0d7c7}.modal-actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end}.setting-row{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #ffffff10;align-items:center}.setting-row label{font-size:13px}.setting-row small{display:block;color:#8b9ca7;margin-top:6px;font-size:11px;line-height:1.5}.setting-row select,.atlas-search{background:#202c35;color:#d7dfe1;border:1px solid #ffffff20;border-radius:4px;padding:10px;font-size:12px;max-width:55%}.atlas-tools{display:flex;gap:9px;margin:18px 0;flex-wrap:wrap}.atlas-search{max-width:none;flex:1;min-width:150px}.filter{border:1px solid #ffffff18;border-radius:4px;font-size:11px;padding:9px 12px;color:#9fb0bb}.filter.active{border-color:var(--gold);color:var(--gold)}.atlas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.atlas-grid .card{min-height:245px}.atlas-count{font-size:11px;color:#899eaa;margin:9px 0 15px}.log-item{display:grid;grid-template-columns:35px 1fr auto;gap:12px;padding:13px 0;border-bottom:1px solid #ffffff12;font-size:12px}.log-item>span{color:#8b9ca6}.log-item b{font-weight:400;color:#d4c29f}.log-item small{display:block;color:#98a6ae;margin-top:5px}.result{text-align:center;padding:14px 0}.result-icon{font-size:54px;color:var(--gold);margin-bottom:16px}.result p{color:#adbdc6;font-size:13px;line-height:1.8}.result .modal-actions{justify-content:center}.empty{text-align:center;color:#8e9fa9;padding:30px}.red{color:var(--red)}.blue{color:var(--blue)}.green{color:var(--green)}
@keyframes impact{0%{background:#d8a36735}100%{background:transparent}}@keyframes breathe{50%{box-shadow:0 0 40px #81bbc74d;opacity:.6}}@media(min-width:1450px){.arena{height:450px}.card-art{height:103px}.card{min-height:250px}.turn-center{top:150px}}
@media(max-width:1100px){.win-hint{display:none}.resources{justify-content:space-around}.resource{min-width:0}.topbar{padding:0 3%;height:78px}nav{gap:20px}.brand{font-size:19px}.header-actions{gap:8px}main{padding:0 3%}.card h3{font-size:14px}.card-content{padding:9px}.hand{gap:9px}.key-hint{display:none}.hand-heading>div{gap:12px}.arena{height:385px}.resource-section{gap:15px}.turn-center{width:38%;top:128px}.arena-top{padding:20px}.battle-stats{padding:5px 20px}.fortress{width:140px;padding:11px}.card-art{height:74px}}
@media(max-width:760px){.topbar{height:69px;flex-wrap:wrap;padding:0 4%}.brand{font-size:17px;gap:8px;letter-spacing:2px}.brand svg{width:27px;height:34px}.brand small{font-size:6px;letter-spacing:3px}.topbar nav{order:3;position:absolute;top:69px;height:43px;left:0;right:0;justify-content:center;gap:42px;border-bottom:1px solid var(--line);background:#10161b}.nav-button{font-size:11px}.header-actions{gap:7px}.outline-button{padding:9px 11px;font-size:10px}.outline-button span{display:none}.icon-button{width:31px}.game-heading{padding:64px 0 18px}h1{font-size:27px}.game-heading .eyebrow{font-size:7px}.session-tag{gap:5px;font-size:9px}.session-tag .sep,.session-tag #mode-label{display:none}.arena{height:365px}.arena-art img{object-position:center}.arena-top{padding:16px 12px}.player-title{gap:7px}.sigil{width:29px;height:36px;font-size:20px}.player-title h2{font-size:14px}.player-title small{font-size:6px;letter-spacing:1px}.opponent-hand{display:none}.battle-stats{padding:9px 12px}.fortress{width:98px;padding:9px}.stat-row>span{font-size:9px}.stat-row strong{font-size:22px}.stat-row strong small{font-size:9px}.stat-row.wall strong{font-size:16px}.enemy-resources{font-size:9px;gap:3px;margin-top:10px}.enemy-resources svg{width:10px}.enemy-production{font-size:6px}.turn-center{top:147px;width:42%}.turn-rune{width:29px;height:29px;margin-bottom:17px}.turn-rune span{font-size:22px;line-height:28px}.turn-center .eyebrow{font-size:9px;letter-spacing:2px}.turn-center p{font-size:11px;line-height:1.5;margin:8px 0 12px}.last-action{font-size:8px;padding:6px 8px}.arena-bottom{left:12px;right:12px;bottom:13px;font-size:8px}.text-button{font-size:8px}.resource-caption{display:none}.resource-section{padding:15px 0}.resources{gap:8px;justify-content:space-between}.resource{padding-right:8px;gap:7px}.resource-symbol{width:29px;height:29px}.resource-symbol svg{width:17px;height:17px}.resource small{font-size:8px}.resource strong{font-size:21px}.production{font-size:8px;margin-left:5px}.hand-heading{padding:19px 0 14px}.hand-heading>div{width:100%;justify-content:space-between;gap:8px}.hand-heading h2{font-size:18px}.hand-heading p{font-size:9px;max-width:170px;text-align:right;line-height:1.5}.hand{display:flex;overflow-x:auto;gap:11px;margin:0 -3.2%;padding:12px 3.2% 13px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8b744744 transparent}.hand .card{flex:0 0 150px;min-height:224px;scroll-snap-align:center}.card-art{height:78px}.card h3{font-size:16px}.card p{font-size:10px}.action-bar{flex-wrap:wrap;gap:9px;min-height:75px;padding:12px 0 16px}.action-bar p{font-size:10px}.action-bar .selected-name{width:100%;text-align:center}.action-bar .discard-note{width:100%;text-align:center;font-size:8px}.action-bar .primary-button,.action-bar .secondary-button{flex:1;min-height:42px}.action-bar>p:only-child{font-size:11px}footer{font-size:7px;gap:10px;line-height:1.5}footer>span:last-child{max-width:145px;text-align:right}dialog{padding:19px;max-height:90dvh}.dialog-title{font-size:29px}.rule-grid{grid-template-columns:1fr}.rule-item{padding:13px;display:grid;grid-template-columns:45px 1fr;column-gap:12px}.rule-item strong{grid-row:span 2}.rule-item h3{margin:1px 0 5px}.rule-item p{margin:0}.rule-text{font-size:11px}.atlas-grid{grid-template-columns:repeat(2,1fr)}.atlas-grid .card{min-height:240px}.filter{padding:9px 10px}.atlas-search{flex-basis:100%}.setting-row{gap:12px}.setting-row select{font-size:11px;max-width:51%}.log-item{grid-template-columns:25px 1fr;font-size:11px}.log-item>span:last-child{grid-column:2}.modal-actions .primary-button,.modal-actions .secondary-button{padding:12px 15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.arena-art img{width:100%;height:100%;object-fit:cover;object-position:center 34%}
.card-art img{width:100%;height:100%;object-fit:cover}
.card-flight{position:fixed;left:0;top:0;z-index:50;pointer-events:none;transform-origin:top left;will-change:transform,opacity;filter:drop-shadow(0 15px 35px #000b)}
.card-flight .card{height:100%;min-height:0;border-color:var(--gold);box-shadow:0 0 22px #c7a87840}
.card-flight .card-art{height:82px;flex-shrink:0}
.card-flight .card h3{font-size:16px}.card-flight .card p{font-size:10px}
.card-leaving{visibility:hidden}
.card.discard-target{border-color:#bc8773}.card.discard-target:hover{box-shadow:0 0 0 1px #bc8773}
.hand[aria-busy="true"] .card{cursor:wait}
@media(max-width:760px){.arena-art img{object-position:center}}
