@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:EB Garamond;src:url(/fonts/EBGaramond-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#f3e8d0;--panel:#ece0c0;--well:#e3d3a8;--line:#c2a877;--fg:#3a2e1d;--dim:#8a7550;--ink:#2a2014;--acc:#9cc4e0;--acc-text:#3d6a8f;--acc-deep:#7fa9c9;--hot:#b23a2e;--low:#b8601f;--ok:#4f7a68;--panel-rgb:236, 224, 192;--hot-rgb:178, 58, 46;--acc-rgb:156, 196, 224;--board-frame-rgb:196, 192, 189;--menu-light:#f0ede6;--card-w:130px;--font-title:"EB Garamond", Georgia, serif;--font-body:Georgia, serif;--phase-g:#2f5233;--phase-g-text:#f3e8d0;--phase-s:#c99a2e;--phase-s-text:#2a2014;--phase-r:#6b4c8a;--phase-r-text:#f3e8d0;--phase-q:#46454a;--phase-q-text:#f3e8d0;--phase-g-light:#d4dcd6;--phase-s-light:#f4ebd5;--phase-r-light:#e1dbe8;--phase-q-light:#dadadb}*{box-sizing:border-box}html{overflow-anchor:none}body{background:var(--bg);min-height:100vh;color:var(--fg);font:14px/1.5 var(--font-body);margin:0}body.bg-menu,body.bg-game{background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}body.bg-menu{background-image:url(/backgrounds/menu.webp)}body.bg-game{background-image:url(/backgrounds/game.webp)}#root{max-width:720px;margin:0 auto;padding:16px}.bar{font-family:var(--font-title);color:var(--acc-text);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;font-weight:700;display:flex}.panels{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.pl{background:rgba(var(--board-frame-rgb), .8);border:1px solid var(--line);border-radius:8px;padding:10px}.pl.act{border-color:var(--acc-deep);box-shadow:0 0 0 1px var(--acc-deep) inset}.pl.dead{opacity:.5}.pl .row{color:var(--dim);font-size:13px}.pl .row .k{width:66px;color:var(--dim);display:inline-block}.pl b{color:var(--fg)}.pl b.hot{color:var(--hot)}.pl b.tot{color:var(--ok)}.pl b.tot.low{color:var(--low)}.pl-bottom-row{align-items:flex-start;gap:8px;display:flex}.pl-bottom-row .figment-row{flex:1;margin:0}.pl-portrait-col{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.pl-portrait-row{align-items:flex-start;gap:4px;display:flex}.pl-portrait{object-fit:cover;border:1px solid var(--line);background:var(--well);border-radius:6px;width:48px;height:48px}.pl-namebar{background:var(--acc-deep);color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;width:100%;margin-top:3px;padding:1px 3px;font-size:9px;font-weight:700;line-height:1.2;overflow:hidden}.pl-flames{flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;display:flex}.dp-flame{background-color:var(--dim);opacity:.4;width:24px;height:24px;-webkit-mask-image:url(/icons/flame.webp);mask-image:url(/icons/flame.webp);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.dp-flame.dp-R{background-color:var(--phase-r);opacity:1}.dp-flame.dp-G{background-color:var(--phase-g);opacity:1}.dp-flame.dp-S{background-color:var(--phase-s);opacity:1}.dp-flame.dp-Q{background-color:var(--phase-q);opacity:1}.diamond-wrap{flex-direction:column;align-items:center;margin:4px 0 8px;display:flex;position:relative}.diamond-svg-frame{width:100%;max-width:290px;position:relative}.diamond-svg{width:100%;height:auto;display:block;overflow:visible}.diamond-overlay{pointer-events:none;position:absolute;inset:0}.imbue-stack{pointer-events:auto;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;transform:translate(-50%)}.imbue-chip{background:rgba(var(--panel-rgb), .92);border:1px solid var(--line);white-space:nowrap;cursor:default;border-radius:8px;align-items:center;gap:3px;max-width:92px;padding:1px 5px 1px 2px;font-size:9px;line-height:1.4;display:inline-flex}.imbue-chip img{object-fit:cover;border-radius:3px;flex-shrink:0;width:12px;height:12px}.imbue-chip span{text-overflow:ellipsis;overflow:hidden}.imbue-chip .imbue-tokens{flex-shrink:0;gap:2px;display:inline-flex;overflow:visible}.imbue-token{background:var(--acc);border-radius:1px;flex-shrink:0;width:5px;height:5px}.imbue-chip.hostile{background:rgba(var(--hot-rgb), .25);border-color:var(--hot)}.imbue-chip.targetable{cursor:pointer;border-color:var(--acc);outline:2px solid var(--acc);outline-offset:1px}.imbue-chip.targetable:hover{outline-width:3px}.diamond-edge{stroke:var(--line);stroke-width:2px}.diamond-diag{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4;opacity:.5}.diamond-bowl{fill:var(--phase-fill,var(--bg));stroke:var(--phase-color,var(--line));stroke-width:2px}.diamond-bowl.act{stroke-width:3px}.diamond-label{fill:var(--phase-color,var(--dim));font-family:inherit;font-size:8px;font-weight:700}.marble-stay{fill:var(--acc)}.marble-leave{fill:none;stroke:var(--acc-deep);stroke-width:1.5px;stroke-dasharray:2 2}.marble-attack{fill:var(--hot)}.marble-arrive{fill:var(--ok)}.attack-cross{stroke:var(--hot);stroke-width:3px;stroke-linecap:round}.marble-anim{transform-box:fill-box;transform-origin:50%;transition:transform .3s,opacity .3s}.marble-hidden{opacity:0;transform:scale(0)}.marble-ghost{opacity:.4;transform:scale(.45)}.attack-cross-g{transition:opacity .3s}.attack-cross-g.faded{opacity:0}@media (prefers-reduced-motion:reduce){.marble-anim,.attack-cross-g{transition:none}}.oob-badge{width:34px;height:34px;position:absolute;top:2px;right:-4px}.oob-shape{fill:var(--bg);stroke:var(--line);stroke-width:1.5px;stroke-dasharray:3 3}.oob-label{fill:var(--dim);text-anchor:middle;font-family:inherit;font-size:8px}.targetable{cursor:pointer}.diamond-bowl.targetable{stroke:var(--acc);stroke-width:3px}.diamond-bowl.targetable:hover{stroke-width:4px}.figment-shape.targetable{stroke:var(--acc);stroke-width:3px}.figment-shape.targetable:hover{stroke-width:4px}.figment-plus{fill:var(--acc);font-family:inherit;font-size:22px;font-weight:700}.diamond-wrap.targetable{outline:2px solid var(--acc);outline-offset:4px;border-radius:8px}.diamond-wrap.targetable:hover{outline-width:3px}.target-prompt{color:var(--dim);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.figment-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:6px;margin:0 0 8px;display:flex}.figment-col{flex-direction:column;align-items:center;display:flex}.figment-svg{width:44px;height:44px;overflow:visible}.figment-shape{fill:var(--bg);stroke:var(--line);stroke-width:2px}.figment-shape.imbued{stroke:var(--acc-deep);stroke-width:2.5px}.figment-shape.ghost{stroke-dasharray:3 3;opacity:.75}.figment-shape.corrupted{fill:rgba(var(--hot-rgb), .35);stroke:var(--hot)}.imbue-stack-above{flex-direction:column;align-items:center;gap:2px;margin-bottom:2px;display:flex}.shield-badge{fill:var(--ok);stroke:var(--bg);stroke-width:1.5px}.shield-badge.targetable{stroke:var(--acc);stroke-width:3px}.shield-badge.targetable:hover{stroke-width:4px}.shield-count{fill:var(--ink);font-family:inherit;font-size:9px;font-weight:700}.counter-badge path{fill:var(--hot);stroke:var(--bg);stroke-width:.75px}.counter-badge.targetable path{stroke:var(--acc);stroke-width:1.5px}.counter-badge.targetable:hover path{stroke-width:2px}.turnmsg{color:var(--dim);margin-bottom:10px}.turnmsg.sub{color:var(--acc-text);margin-top:2px;margin-bottom:6px;font-size:13px}.confirm-msg{color:#fff}.turn-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.turn-header-row .turnmsg,.turn-header-row .controls{margin-bottom:0}.turn-btn{color:var(--dim);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:3px 8px;font-family:inherit;font-size:12px;font-weight:400}.turn-btn:hover{border-color:var(--acc-deep)}.turn-btn:disabled{opacity:.4;cursor:not-allowed}.turn-btn.end{background:var(--ok);color:#fff;border-color:var(--ok);font-weight:700}.hand{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.turn-hand-row{--card-w:90px;align-items:flex-start;gap:8px;margin-bottom:18px;display:flex}.turn-hand-row .hand{flex:1;justify-content:center;gap:6px;margin-bottom:0}.turn-hand-row .hand-card-info{padding:4px 5px 5px;font-size:10px;line-height:1.25}.turn-hand-row .hand-card-info small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.turn-hand-row .cost-icon{width:10px;height:10px}.turn-hand-row .cost-icon-count{font-size:9px}.turn-hand-row .cost-arrow{margin:0 1px}.cardbtn{background:var(--panel);color:var(--fg);border:1px solid var(--line);text-align:left;cursor:pointer;min-width:120px;font:inherit;border-radius:8px;padding:8px 10px}.cardbtn:hover:not(:disabled){border-color:var(--acc-deep)}.cardbtn:disabled{opacity:.35;cursor:not-allowed}.cardbtn .cid{color:var(--acc-text);font-weight:700}.cardbtn small{color:var(--dim)}.cardbtn.abil{border-color:var(--acc-deep);background:var(--well);align-items:center;gap:8px;display:flex}.abil-img{object-fit:cover;border-radius:4px;flex-shrink:0;width:32px;height:32px}.abil-info{flex-direction:column;gap:3px;min-width:0;display:flex}.abil-name{font-size:13px}.cardbtn.pick{min-width:unset}.hand-card{width:var(--card-w);aspect-ratio:2.5/3.5;background:var(--panel);color:var(--fg);text-align:left;cursor:pointer;font:inherit;border:1px solid #000;border-radius:10px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.hand-card:after{content:"";pointer-events:none;border-radius:10px;position:absolute;inset:0;box-shadow:inset 1px 1px #ffffff40,inset -1px -1px #00000059}.hand-card:hover:not(:disabled){border-color:var(--acc-deep)}.hand-card:disabled{opacity:.4;cursor:not-allowed}.hand-card:disabled .hand-card-art{filter:grayscale()}.hand-card.abil{border-color:var(--acc-deep);background:var(--well)}.hand-card.confirming{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}.hand-card.stolen{background:rgba(var(--hot-rgb), .25);border-color:var(--hot)}.hand-card-art{aspect-ratio:1;object-fit:cover;background:var(--well);flex-shrink:0;width:100%;display:block}.hand-card-info{flex:1;min-height:0;padding:6px 8px 8px;overflow:hidden}.hand-card-info .cid{color:var(--acc-text);font-weight:700}.hand-card-info small{color:var(--dim);margin-top:2px;display:block}.card-pile{width:var(--card-w);aspect-ratio:2.5/3.5;flex-shrink:0;position:relative}.pile-card{border:1px solid #000;border-radius:10px;width:100%;height:100%;position:absolute;inset:0;box-shadow:inset 1px 1px #ffffff40,inset -1px -1px #00000059}.pile-card-back{object-fit:cover;background:#000}.pile-card-blank{background:var(--panel)}.pile-card-top{background:var(--panel);flex-direction:column;display:flex;overflow:hidden}.pile-badge{color:#fff;z-index:20;pointer-events:none;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pile-placeholder{width:var(--card-w);aspect-ratio:2.5/3.5;border:2px dashed var(--acc);border-radius:10px;flex-shrink:0;position:relative}.pile-discard-tag{background:rgba(var(--acc-rgb), .35);color:#fff;text-transform:uppercase;letter-spacing:.04em;text-align:center;z-index:15;pointer-events:none;border-radius:9px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.turn-hand-row .pile-badge{width:24px;height:24px;font-size:11px}.turn-hand-row .pile-discard-tag{font-size:9px}@keyframes draw-slide-in{0%{opacity:0;transform:translate(-90px)}to{opacity:1;transform:translate(0)}}.draw-card{width:var(--card-w);aspect-ratio:2.5/3.5;perspective:800px;flex-shrink:0;animation:.35s ease-out both draw-slide-in}.draw-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s;position:relative}.draw-card-inner.flipped{transform:rotateY(180deg)}.draw-card-face{backface-visibility:hidden;background:var(--panel);border:1px solid #000;border-radius:10px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 1px 1px #ffffff40,inset -1px -1px #00000059}.draw-card-back{background:#000}.draw-card-back img{object-fit:cover;width:100%;height:100%;display:block}.draw-card-front{transform:rotateY(180deg)}.shuffle-card-motion{width:100%;height:100%;transition:transform .25s,opacity .25s}@keyframes shuffle-riffle{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-6px)rotate(-4deg)}75%{transform:translate(6px)rotate(4deg)}}.shuffle-riffle .shuffle-card-motion{animation:.25s ease-in-out shuffle-riffle}.shuffle-out .shuffle-card-motion{opacity:0;transform:translate(-60px)}.char-card{width:200px}.char-card .char-motto{color:var(--dim);margin:4px 0 2px;font-size:12px;font-style:italic}.char-card .char-effect{color:var(--fg);white-space:normal;margin:0;font-size:12px;line-height:1.35}.cost-icons{vertical-align:middle;align-items:center;gap:2px;display:inline-flex}.cost-icon{border-radius:3px;width:14px;height:14px}.cost-icon-discounted{filter:grayscale();opacity:.55;outline-offset:1px;outline:2px solid #22c55e}.cost-icon-added{outline-offset:1px;outline:2px solid #ef4444}.cost-icon-group{align-items:center;gap:2px;display:inline-flex}.cost-icon-count{color:var(--dim);font-size:11px;font-weight:700}.cost-arrow{color:var(--dim);margin:0 2px}.cost-icons-text{color:var(--dim)}.cost-rep{color:var(--acc-text);margin-left:2px}.controls{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.controls button,.start button{background:var(--acc);color:var(--ink);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:9px 14px;font-weight:700}.controls button.end{background:var(--ok)}.controls button:disabled,.start button:disabled,button.mini:disabled{opacity:.4;cursor:not-allowed}.controls .mini,.bar .mini{color:var(--dim);border:1px solid var(--line);background:0 0;padding:3px 8px;font-size:12px;font-weight:400}button.mini{color:var(--dim);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:400}button.sel{background:var(--acc);color:var(--ink);border-color:var(--acc)}.start .big{width:100%;margin:8px 0;padding:14px;font-size:16px;display:block}.win{background:var(--panel);border:1px solid var(--acc-deep);font-family:var(--font-title);border-radius:8px;margin-bottom:12px;padding:14px;font-size:16px;font-weight:700}.win .reason{color:var(--dim);font-size:13px;font-weight:400}.note{color:var(--dim);margin:8px 0;font-size:12px}.log{background:var(--well);border:1px solid var(--line);height:200px;color:var(--dim);border-radius:8px;padding:10px;font-size:12px;overflow:auto}.log div{padding:1px 0}.log div:last-child{color:var(--fg)}.mktrow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.mklabel{color:var(--dim);width:44px;font-size:12px}.mkslot{min-width:118px}.mkslot.empty{opacity:.3;border:1px dashed var(--line);border-radius:10px;justify-content:center;align-items:center;width:130px;height:178px;display:flex}.dpb{color:var(--dim);font-size:12px;font-weight:400}.simsec{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;display:flex}.simsec .k{color:var(--dim)}.simsec button{background:rgba(var(--panel-rgb), .5);color:var(--fg);border:1px solid var(--line);font-weight:400}.simsec button:hover:not(.sel){border-color:var(--acc-deep);color:var(--acc-text)}.simsec button.sel{background:var(--acc);color:var(--ink);border-color:var(--acc);font-weight:700}.start p,.start .bar,.start .simsec .k{color:var(--menu-light)}.title-art{width:100%;max-width:480px;margin:0 auto 16px;display:block}.cardsel{background:var(--well);width:100%;color:var(--fg);border:1px solid var(--line);border-radius:6px;margin-bottom:10px;padding:5px 8px}select,.start input[type=text],.start input:not([type]){background:var(--well);color:var(--fg);border:1px solid var(--line);font:inherit;border-radius:6px;padding:5px 8px}.deck-grid{border:1px solid var(--line);background:var(--well);border-radius:8px;max-height:50vh;margin:10px 0;padding:8px;overflow-y:auto}.deck-family{color:var(--acc-text);text-transform:uppercase;letter-spacing:.03em;margin:10px 0 4px;font-size:12px;font-weight:700}.deck-family:first-child{margin-top:0}.deck-row{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:4px 2px;display:flex}.deck-row:last-child{border-bottom:none}.deck-row-art{object-fit:cover;background:var(--bg);border-radius:4px;flex-shrink:0;width:32px;height:32px}.deck-row-info{flex:1;min-width:0;font-size:13px}.deck-row-info .cid{color:var(--acc-text);font-weight:700}.deck-row-info small{color:var(--dim);display:block}.deck-stepper{flex-shrink:0;align-items:center;gap:6px;display:flex}.deck-stepper span{text-align:center;min-width:32px;color:var(--dim);font-size:12px}.deck-errors div{color:var(--bad,#c0392b)}.deck-selected{margin:10px 0}.deck-selected-list{flex-wrap:wrap;gap:6px;display:flex}.deck-selected-chip{background:rgba(var(--panel-rgb), .92);border:1px solid var(--line);border-radius:8px;align-items:center;gap:5px;max-width:140px;padding:2px 8px 2px 2px;font-size:11px;display:inline-flex}.deck-selected-chip img{object-fit:cover;border-radius:3px;flex-shrink:0;width:18px;height:18px}.deck-selected-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.deck-cost-panel{margin:10px 0}.deck-cost-grid{border:1px solid var(--line);background:var(--well);border-radius:8px;overflow:hidden}.deck-cost-row{grid-template-columns:80px repeat(5,1fr);align-items:center;display:grid}.deck-cost-row+.deck-cost-row{border-top:1px solid var(--line)}.deck-cost-label{color:var(--dim);padding:4px 8px;font-size:12px}.deck-cost-cell{text-align:center;padding:4px;font-size:13px;font-weight:700}.deck-cost-header .deck-cost-cell{padding:6px 4px}.deck-cost-header img{vertical-align:middle;width:18px;height:18px}.deck-cost-free-label{color:var(--dim);font-size:11px;font-weight:400}
