:root{--bg:#1d1712;--bg-2:#2a2119;--panel:#3a2e23;--panel-edge:#5a4633;--ink:#f3e9d8;--ink-dim:#c2b29a;--gold:#e7b343;--bricks:#c2492f;--bricks-dark:#7e2b1a;--weapons:#3f9a4a;--weapons-dark:#22582a;--crystals:#3d72c9;--crystals-dark:#20417a;--p0:#d4442a;--p1:#3b3b4f;--p1-accent:#8a7cc9;--radius:10px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Trebuchet MS,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at top, #3b2d20 0%, transparent 60%), repeating-linear-gradient(45deg, transparent 0 14px, #ffffff04 14px 28px), var(--bg);min-height:100vh;margin:0}button{font:inherit;color:inherit}kbd{border:1px solid var(--panel-edge);background:var(--bg-2);border-bottom-width:2px;border-radius:4px;padding:0 .35em;font-family:inherit;font-size:.8em}.btn{cursor:pointer;border:1px solid var(--panel-edge);background:var(--panel);border-radius:999px;padding:.7em 1.4em;font-weight:600;transition:background .15s,transform .1s}.btn:hover{background:#4a3b2c}.btn:active{transform:translateY(1px)}.btn:focus-visible,.card--interactive:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.btn--primary{background:var(--gold);color:#2a1c0b;border-color:#b8862a}.btn--primary:hover{background:#f2c460}.btn--ghost{background:0 0}.btn--small{padding:.35em .9em;font-size:.85rem}.menu{place-items:center;min-height:100vh;padding:16px;display:grid}.menu__box{text-align:center;width:100%;max-width:420px}.logo{letter-spacing:.08em;color:var(--gold);text-shadow:0 3px #7a4f12,0 8px 24px #00000080;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.5rem,12vw,6rem)}.logo--small{text-shadow:0 2px #7a4f12;font-size:1.6rem}.menu__tag{color:var(--ink-dim);margin:.25rem 0 2rem}.menu__buttons{gap:.75rem;display:grid}.menu__credit{color:var(--ink-dim);margin-top:2.5rem;font-size:.8rem}.game{flex-direction:column;gap:12px;max-width:1180px;margin:0 auto;padding:12px 16px 20px;display:flex}.topbar{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.topbar__status{color:var(--ink-dim);flex:1;min-width:12em}.topbar__actions{gap:.5rem;display:flex}.board{grid-template-columns:170px 1fr 170px;align-items:stretch;gap:12px;display:grid}.panel{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px;transition:box-shadow .2s,border-color .2s;display:flex}.panel--active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 0 18px #e7b34340}.panel__name{align-items:center;gap:.5em;margin:0;font-size:1.05rem;display:flex}.panel__dot{background:var(--p0);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 2px #ffffff26}.panel--right .panel__dot{background:var(--p1-accent)}.res{border:1px solid #0000004d;border-radius:8px;overflow:hidden}.res__producer{color:#ffffffd9;justify-content:space-between;padding:3px 8px;font-size:.8rem;display:flex}.res__stock{color:#fff;align-items:center;gap:6px;padding:4px 8px 6px;display:flex}.res__stock strong{font-size:1.4rem}.res__label{text-transform:uppercase;opacity:.75;margin-left:auto;font-size:.7rem}.res--bricks .res__producer{background:var(--bricks-dark)}.res--bricks .res__stock{background:var(--bricks)}.res--weapons .res__producer{background:var(--weapons-dark)}.res--weapons .res__stock{background:var(--weapons)}.res--crystals .res__producer{background:var(--crystals-dark)}.res--crystals .res__stock{background:var(--crystals)}.panel__walls{grid-template-columns:1fr 1fr;gap:6px;margin-top:auto;display:grid}.panel__walls>div{background:var(--bg-2);color:var(--ink-dim);border-radius:8px;flex-direction:column;padding:4px 8px;font-size:.75rem;display:flex}.panel__walls strong{color:var(--ink);font-size:1.3rem}.panel__walls>div{position:relative}.panel__walls strong{position:static}.panel__walls .delta{margin:0;top:4px;left:auto;right:4px}strong{position:relative}.delta{pointer-events:none;white-space:nowrap;border-radius:4px;margin-left:4px;padding:0 4px;font-size:.8rem;font-weight:700;animation:1.6s ease-out forwards delta-pop;position:absolute;top:-.4em;left:100%}.delta--up{color:#2a4a12;background:#f3e08a}.delta--down{color:#ff8a7a;background:#2a1010}@keyframes delta-pop{0%{opacity:0;transform:translateY(6px)scale(.8)}15%{opacity:1;transform:translateY(0)scale(1.1)}70%{opacity:1;transform:translateY(-4px)scale(1)}to{opacity:0;transform:translateY(-10px)}}.field{border-radius:var(--radius);border:1px solid var(--panel-edge);grid-template-columns:1fr minmax(150px,auto) 1fr;min-height:340px;display:grid;position:relative;overflow:hidden}.field__sky{background:linear-gradient(#6fa8d6 0%,#a9d0e8 55%,#e8dcb5 85%);position:absolute;inset:0}.field__ground{z-index:1;background:repeating-linear-gradient(90deg,#0000000f 0 3px,#0000 3px 11px),linear-gradient(#5b8b32,#3e6522);height:12%;position:absolute;bottom:0;left:0;right:0}.fort{z-index:2;justify-content:center;align-items:flex-end;gap:14px;height:88%;padding:0 6px;display:flex;position:relative}.fort--right{flex-direction:row-reverse}.fort__castle{flex-direction:column;width:clamp(54px,9vw,92px);min-height:6px;transition:height .6s cubic-bezier(.3,1.3,.5,1);display:flex;position:relative}.fort__roof{background:var(--p0);clip-path:polygon(50% 0,100% 100%,0 100%);width:120%;height:clamp(34px,5vw,52px);position:absolute;bottom:100%;left:-10%}.fort--right .fort__roof{background:var(--p1)}.fort__flag{background:#333;width:2px;height:20px;position:absolute;top:-18px;left:50%}.fort__body{background:repeating-linear-gradient(0deg,#0000002e 0 2px,#0000 2px 12px),repeating-linear-gradient(90deg,#0000001f 0 2px,#0000 2px 22px),linear-gradient(90deg,#b9a68a,#d6c5a8 40%,#a8957a);flex:1;position:relative;box-shadow:inset 0 0 0 2px #00000026}.fort--right .fort__body{background:repeating-linear-gradient(0deg,#00000038 0 2px,#0000 2px 12px),repeating-linear-gradient(90deg,#00000026 0 2px,#0000 2px 22px),linear-gradient(90deg,#8e8a96,#aaa6b3 40%,#7f7b88)}.fort__window{background:#2a1f14;border-radius:7px 7px 0 0;width:14px;height:20px;margin-left:-7px;position:absolute;top:14px;left:50%}.fort__fence{background:repeating-linear-gradient(0deg,#00000040 0 2px,#0000 2px 9px),linear-gradient(90deg,#7d6a52,#9c8669,#6d5b45);border-top:4px solid #5d4c38;width:clamp(14px,2vw,22px);min-height:0;transition:height .6s cubic-bezier(.3,1.3,.5,1)}.field__center{z-index:3;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 4px 18%;display:flex;position:relative}.field__caption{color:#2b2116;text-align:center;text-shadow:0 1px #ffffff80;margin:0;font-size:.85rem;font-weight:600}.field__caption--start{font-size:1rem}.field__last{animation:.35s ease-out card-drop}@keyframes card-drop{0%{opacity:0;transform:translateY(-16px)rotate(-4deg)scale(.9)}}.field__history{flex-wrap:wrap;justify-content:center;gap:3px;max-width:170px;margin:6px 0 0;padding:0;list-style:none;display:flex}.chip{color:#fff;border-left:4px solid var(--p0);border-radius:999px;padding:1px 6px;font-size:.65rem}.chip--p1{border-left-color:var(--p1)}.chip--bricks{background:var(--bricks)}.chip--weapons{background:var(--weapons)}.chip--crystals{background:var(--crystals)}.chip--discarded{opacity:.5;text-decoration:line-through}.hand{grid-template-columns:repeat(8,1fr);gap:10px;transition:opacity .2s;display:grid}.hand--waiting{opacity:.55;pointer-events:none}.card-slot{flex-direction:column;gap:4px;display:flex;position:relative}.card{aspect-ratio:3/4;border-radius:var(--radius);text-align:center;color:#fff;border:2px solid #00000059;flex-direction:column;align-items:stretch;width:100%;min-width:0;padding:6px;animation:.3s ease-out card-deal;display:flex;position:relative;box-shadow:inset 0 0 0 2px #ffffff2e,0 4px 10px #00000059}.field .card{width:128px}@keyframes card-deal{0%{opacity:0;transform:translateY(14px)}}.card--bricks{background:linear-gradient(160deg, #d4603f, var(--bricks) 45%, var(--bricks-dark))}.card--weapons{background:linear-gradient(160deg, #56b25f, var(--weapons) 45%, var(--weapons-dark))}.card--crystals{background:linear-gradient(160deg, #5a8fe0, var(--crystals) 45%, var(--crystals-dark))}.card--interactive{cursor:pointer;transition:transform .12s,box-shadow .12s,filter .12s}.card--interactive:hover:not(.card--unaffordable){transform:translateY(-6px);box-shadow:inset 0 0 0 2px #ffffff4d,0 10px 18px #00000073}.card--unaffordable{filter:grayscale(.85)brightness(.6);cursor:not-allowed}.card__header{background:#00000040;border-radius:6px;padding:3px 2px}.card__name{font-size:clamp(.62rem,1.1vw,.85rem);font-weight:700;line-height:1.1;display:block}.card__art{color:#ffffffe6;filter:drop-shadow(0 2px 2px #0000004d);flex:1;place-items:center;display:grid}.card__text{white-space:pre-line;color:#2b2116;background:#fff8e6eb;border-radius:6px;place-items:center;min-height:2.9em;padding:4px 3px;font-size:clamp(.6rem,1vw,.78rem);line-height:1.2;display:grid}.card__cost{color:#2b2116;background:#fff6e0;border:2px solid #00000073;border-radius:13px;place-items:center;min-width:26px;height:26px;padding:0 4px;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:-8px;right:-8px}.card__hotkey{background:var(--bg-2);width:18px;height:18px;color:var(--ink-dim);border:1px solid var(--panel-edge);border-radius:50%;place-items:center;font-size:.65rem;display:grid;position:absolute;top:-8px;left:-6px}.card__stamp{text-transform:uppercase;letter-spacing:.05em;background:#1e0000a6;border:3px solid #fff;border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:800;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)}.card--back{color:var(--gold);letter-spacing:.1em;background:repeating-linear-gradient(45deg,#4a3a2a 0 8px,#3a2e22 8px 16px);place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.card-slot__discard{cursor:pointer;border:1px solid var(--panel-edge);background:var(--bg-2);color:var(--ink-dim);opacity:.55;border-radius:6px;padding:3px 0;font-size:.7rem;transition:opacity .15s}.card-slot:hover .card-slot__discard,.card-slot__discard:focus-visible{opacity:1}.card-slot__discard:hover{color:#fff;background:#4a2a22}.hint{text-align:center;color:var(--ink-dim);margin:0;font-size:.8rem}.overlay{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f0a06bf;place-items:center;padding:16px;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.overlay__box{background:var(--panel);border:1px solid var(--panel-edge);text-align:center;border-radius:14px;width:100%;max-width:420px;padding:24px 28px;box-shadow:0 20px 50px #00000080}.overlay__box h2{color:var(--gold);margin-top:0;font-family:Georgia,serif;font-size:2rem}.overlay__buttons{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.rules{text-align:left;max-width:860px;max-height:calc(100vh - 32px);overflow-y:auto}.rules ul{padding-left:1.2em;line-height:1.5}.rules__cards{grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 20px;display:grid}.rules__col h3{align-items:center;gap:6px;margin:0 0 6px;font-size:1rem;display:flex}.rules__col--bricks h3{color:#f0846a}.rules__col--weapons h3{color:#7fd388}.rules__col--crystals h3{color:#86aef0}.rules table{border-collapse:collapse;width:100%;font-size:.8rem}.rules td{vertical-align:top;border-bottom:1px solid #ffffff0f;padding:3px 4px}.rules__cost{color:var(--gold);text-align:right;width:2em;font-weight:700}.rules__effect{color:var(--ink-dim)}.rules .btn{margin:0 auto;display:block}@media (width<=820px){.board{grid-template-columns:1fr 1fr}.field{order:-1;grid-column:1/-1;min-height:260px}.hand{grid-template-columns:repeat(4,1fr)}.card__name{font-size:.8rem}.card__text{font-size:.72rem}.rules__cards{grid-template-columns:1fr}.hint{display:none}.card-slot__discard{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
