@import "https://fonts.googleapis.com/css2?family=MedievalSharp&family=UnifrakturMaguntia&display=swap";:root{--ink:#0a0a0d;--ink-soft:#12131a;--paper:#f3ead7;--muted-paper:#f3ead7bd;--gold:#c79a4b;--gold-bright:#f7d481;--gold-deep:#d4af37;--line:#ffe0a51f;--font-body:"MedievalSharp", "Trebuchet MS", "Lucida Sans Unicode", "Segoe UI", sans-serif;--font-display:"MedievalSharp", "Garamond", "Times New Roman", serif;--font-gothic:"UnifrakturMaguntia", cursive;font:17px/1.5 var(--font-body);color:var(--paper);background:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:url(/assets/bg-CPJ6hJm9.png) 50%/cover fixed;min-width:320px;min-height:100svh;margin:0}button,input,textarea,select{font:inherit}button{font-family:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--gold-bright);font-weight:700}a{color:inherit}#root{min-height:100svh}::selection{color:#fff9ea;background:#f7d48142}body{overflow-x:hidden}.card-container{width:100%;min-height:18.5rem;color:var(--paper);text-align:left;box-shadow:inset 0 0 0 3px var(--gold-deep), inset 0 0 12px #d4af3773, 0 18px 40px #000000b8;cursor:pointer;background:linear-gradient(#fff4d614,#0c0a10d1),linear-gradient(135deg,#62482466,#1e1610e0);border:1px solid #1a1400;border-radius:2rem;gap:1rem;padding:1.25rem;transition:transform .18s,box-shadow .18s,background .18s;display:grid;position:relative;overflow:hidden}.card-container:before{content:"";pointer-events:none;z-index:0;border:1px solid #ffeab72e;border-radius:1.6rem;position:absolute;inset:.55rem}.card-container:after{content:"";pointer-events:none;mix-blend-mode:overlay;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");position:absolute;inset:0}.card-container>*{z-index:2;position:relative}.card-container:hover{box-shadow:inset 0 0 0 3px var(--gold-bright), inset 0 0 18px #f7d4818c, 0 22px 52px #000000d1;transform:translateY(-4px)}.card-container:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.card-container.is-selected{box-shadow:inset 0 0 0 3px var(--gold-bright), inset 0 0 20px #f7d48199, 0 24px 52px #000000d1;background:linear-gradient(#fff4d61f,#120e18eb),linear-gradient(135deg,#7958248f,#22180ef5)}.card-container.is-disabled{cursor:not-allowed;opacity:.55;filter:saturate(.7)}.card-container.is-disabled:hover{box-shadow:inset 0 0 0 3px var(--gold-deep), inset 0 0 12px #d4af3773, 0 18px 40px #000000b8;transform:none}.card-header-row,.card-meta-row{align-items:flex-start;display:flex}.card-header-row{gap:.9rem}.card-icon{background:#f8e7b614;border:1px solid #d4af374d;border-radius:.65rem;flex-shrink:0;place-items:center;width:2.8rem;height:2.8rem;font-size:1.45rem;display:grid;box-shadow:inset 0 0 8px #00000080}.card-title-block{gap:.25rem;min-width:0;display:grid}.card-name{font-family:var(--font-gothic);letter-spacing:.02em;color:var(--gold-deep);text-shadow:0 0 12px #d4af3766;font-size:1.55rem;line-height:1.05}.card-role{text-transform:uppercase;letter-spacing:.18em;color:#f0e6d1bd;font-size:.78rem}.card-cost{width:2.4rem;height:2.4rem;color:var(--paper);text-shadow:0 1px 3px #000c;background:radial-gradient(circle at 32% 32%,#8b0000,#3a0000);border:2px solid #3a0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:1.2rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 10px #000c,inset 2px 2px 5px #ffffff26,0 4px 8px #0009}.card-meta-row{flex-wrap:wrap;gap:.6rem}.card-tag,.card-commandant{letter-spacing:.12em;text-transform:uppercase;min-height:1.9rem;font-size:.72rem;font-family:var(--font-display);border-radius:.2rem;align-items:center;padding:.2rem .7rem;display:inline-flex}.card-tag{color:#decca3e6;background:#d4af3714;border:1px solid #d4af3740}.card-commandant{color:var(--gold-bright);background:#d4af372e;border:1px solid #d4af376b}.card-description,.card-passive{margin:0;line-height:1.55}.card-description{color:#f4ecdce6}.card-passive{color:#ffd680e0;margin-top:auto;padding-top:.95rem}.card-passive:before{content:"";background:linear-gradient(90deg,#0000,#d4af3759 20% 80%,#0000);width:100%;height:1px;margin-bottom:.95rem;display:block}.card-tone-gold{background:linear-gradient(#fff3ce24,#141014f0),linear-gradient(135deg,#7b582894,#1c120cfa)}.card-tone-bronze{background:linear-gradient(#f0c89a1f,#120e14eb),linear-gradient(135deg,#6e401c85,#1c120ef5)}.card-tone-steel{background:linear-gradient(#c0cadc1f,#0e1018eb),linear-gradient(135deg,#34425c8a,#10121afa)}.card-tone-forest{background:linear-gradient(#b3dab01f,#0c1412eb),linear-gradient(135deg,#1c56388a,#0a1612fa)}.card-tone-violet{background:linear-gradient(#d5b5ff1f,#120e1cf0),linear-gradient(135deg,#522e788f,#120e20fa)}.card-tone-ember{background:linear-gradient(#ffca991f,#180c0af0),linear-gradient(135deg,#76381299,#1c0c08fa)}.card-tone-shadow{background:linear-gradient(#9488be1f,#0a0a12f5),linear-gradient(135deg,#2c24449e,#080810fa)}.main-page{box-sizing:border-box;background-position:50%;background-size:cover;gap:1.5rem;min-height:100svh;padding:2rem;display:grid;position:relative;overflow:hidden}.main-page:before,.main-page:after{content:"";pointer-events:none;border-radius:1.75rem;position:absolute;inset:1.25rem}.main-page:before{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:0;background:0 0;border:1px solid #ffdea314}.main-page:after{z-index:0;border:1px solid #ffd4710d;inset:2rem}.main-page>*{z-index:1;position:relative}.main-page__hero,.control-panel,.action-row,.army-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:0 0;border:1px solid #ffdc961f;border-radius:1rem;box-shadow:0 18px 50px #0000003d}.unit-section{border-radius:1rem;background:0 0!important;border:1px solid #ffdc9600!important}.main-page__hero{background:linear-gradient(135deg,#6746204d,#0a0a0ee6),radial-gradient(circle at 20% 20%,#ffd6802e,#0000 30%);justify-content:space-between;gap:1.5rem;min-height:clamp(14rem,28vw,18rem);padding:2.6rem 2rem;display:flex;position:relative;overflow:hidden}.main-page__hero:before,.main-page__hero:after{content:"";pointer-events:none;z-index:0;opacity:.9;background-repeat:no-repeat;background-size:clamp(2.2rem,8vw,3.5rem) clamp(2.2rem,8vw,3.5rem);position:absolute;inset:0}.main-page__hero:before{background-image:url(/corner_tl.png),url(/corner_tr.png);background-position:.25rem .25rem,right .25rem top .25rem}.main-page__hero:after{background-image:url(/corner_bl.png),url(/corner_br.png);background-position:left .25rem bottom .25rem,right .25rem bottom .25rem}.main-page__hero>*{z-index:1;position:relative}.hero-copy{flex:1;gap:.8rem;min-width:0;display:grid}.hero-title{z-index:1;text-align:center;letter-spacing:.06em;white-space:nowrap;pointer-events:none;margin:0;font-size:clamp(2.9rem,6.2vw,4.7rem);line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-summary{text-align:center;pointer-events:none;z-index:1;width:100%;margin:0;padding:0 2rem;line-height:1.45;position:absolute;top:calc(50% + clamp(2.2rem,4vw,3.1rem));left:0}.hero-kicker,.section-overline{text-transform:uppercase;letter-spacing:.22em;color:#f6e0b3b8;margin:0;font-size:.78rem}.hero-kicker{text-align:center}.hero-summary,.section-copy,.army-status-bar,.section-meta,.filter-list,.action-buttons,.action-counters{color:var(--muted-paper)}.hero-icons{align-items:flex-start;gap:.75rem;display:flex}.icon-button,.mode-pill,.filter-pill,.action-button,.army-slot{font:inherit;color:inherit;background:0 0;border:0}.icon-button{width:3rem;height:3rem;color:var(--gold-bright);cursor:pointer;background:#fff4d60d;border:1px solid #ffdc9624;border-radius:999px;place-items:center;transition:transform .18s,border-color .18s,background .18s;display:grid}.icon-button:hover,.mode-pill:hover,.filter-pill:hover,.action-button:hover,.army-slot.is-filled:hover{border-color:#ffd47152;transform:translateY(-2px)}.control-panel,.action-row,.army-panel{padding:1.35rem}.control-panel{background:linear-gradient(#261911ad,#080a0ed6);gap:1rem;display:grid}.mode-switch,.filter-list,.action-buttons,.action-counters,.army-slots,.section-heading,.section-meta{flex-wrap:wrap;gap:.75rem;display:flex}.mode-pill,.filter-pill,.action-button{cursor:pointer;border:1px solid #ffe0a524;border-radius:999px;justify-content:center;align-items:center;min-height:2.8rem;padding:.72rem 1.1rem;transition:transform .18s,border-color .18s,background .18s,color .18s,opacity .18s;display:inline-flex}.mode-pill{color:var(--paper);background:#fff6de0a;font-weight:600}.mode-pill.is-active{color:var(--gold-bright);background:linear-gradient(135deg,#ffd7813d,#5436146b);border-color:#ffd47173}.filter-pill{background:#fff6de08;font-size:.92rem}.filter-pill.is-active{color:#fff7e2;box-shadow:inset 0 0 0 1px #ffeab729}.tone-iron{color:#cad3ea;border-color:#a3b1ce3d}.tone-iron.is-active{background:#4c5c8273}.tone-ember{color:#ffcc9a;border-color:#ffae6342}.tone-ember.is-active{background:#8c44187a}.tone-crimson{color:#ffb5af;border-color:#cd5a5847}.tone-crimson.is-active{background:#721c2180}.tone-violet{color:#dcf;border-color:#ab87ff47}.tone-violet.is-active{background:#4d2e8085}.tone-azure{color:#b5e1ff;border-color:#66baff47}.tone-azure.is-active{background:#1f548880}.tone-shadow{color:#d7d0f0;border-color:#9488be47}.tone-shadow.is-active{background:#30244a8f}.action-row{background:linear-gradient(135deg,#0e1118e6,#23130cbd);justify-content:space-between;align-items:center;gap:1rem;display:flex}.action-buttons{align-items:center}.action-button.secondary,.action-button.tertiary{color:var(--paper);background:#fff6de0a}.action-button.primary{color:#1b1208;background:linear-gradient(135deg,#ffd781e6,#a36e22e0);border-color:#ffe0a573;font-weight:700;box-shadow:0 12px 28px #77481147}.action-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.counter-chip{text-align:right;background:#fff6de0a;border:1px solid #ffe2a61f;border-radius:1rem;gap:.2rem;min-width:5.5rem;padding:.7rem .9rem;display:grid}.counter-chip span{text-transform:uppercase;letter-spacing:.16em;color:#f0e6d1a8;font-size:.76rem}.counter-chip strong{color:var(--gold-bright);font-size:1.2rem}.army-panel{background:linear-gradient(#161a21db,#0c0c10eb);gap:1.2rem;display:grid}.section-heading{justify-content:space-between;align-items:flex-start}.section-heading h2{margin-top:.35rem;margin-bottom:0;font-size:clamp(1.6rem,3vw,2.1rem)}.section-copy{max-width:26rem;margin:0;line-height:1.6}.army-slots{flex-wrap:nowrap;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;display:grid}.army-slot{text-align:left;background:#fff6de06;border:1px dashed #ffe0a538;border-radius:1.2rem;justify-items:start;gap:.45rem;min-height:10rem;padding:1rem;transition:transform .18s,border-color .18s,background .18s;display:grid;position:relative}.army-slot.is-filled{cursor:pointer;background:linear-gradient(#ffd7811f,#120e14ad);border-style:solid}.army-slot.is-empty{background:radial-gradient(#fff6de0a 0%,#08060cb8 100%)}.army-slot-index{letter-spacing:.18em;text-transform:uppercase;color:#f0e6d18a;font-size:.78rem}.army-slot-mark{color:var(--gold-bright);pointer-events:none;font-size:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.army-slot-label{font-family:var(--font-display);color:var(--paper);font-size:1.1rem}.army-slot-role{color:#f0e6d1b3;font-size:.86rem}.army-status-bar{border-top:1px solid #ffe0a51a;justify-content:space-between;gap:1rem;padding-top:1rem;font-size:.95rem;line-height:1.6;display:flex}.sections-stack{gap:1.25rem;display:grid}.unit-section{background:linear-gradient(#0b0d13d6,#08080cf5);gap:1.25rem;padding:1.35rem;display:grid;position:relative;overflow:hidden}.unit-section:after{content:"";pointer-events:none;opacity:.86;filter:drop-shadow(0 1px 2px #1a0c0257);z-index:0;background:url(/corner_br.png) 50%/contain no-repeat;width:clamp(2.2rem,7vw,3.1rem);height:clamp(2.2rem,7vw,3.1rem);position:absolute;bottom:.35rem;right:.35rem}.unit-section>*{z-index:1;position:relative}.section-heading--banded{background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid #ffe0a514;border-radius:.75rem;padding:1rem 1.1rem}.section-meta{text-align:right;justify-content:flex-end;align-items:center;max-width:24rem;font-size:.94rem;line-height:1.5}.section-meta strong{color:var(--gold-bright);font-size:1rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:1rem;display:grid}.unit-section.tone-gold .section-heading--banded{background:linear-gradient(135deg,#956d2657,#150f0acc)}.unit-section.tone-bronze .section-heading--banded{background:linear-gradient(135deg,#71441d57,#150f0acc)}.unit-section.tone-steel .section-heading--banded{background:linear-gradient(135deg,#3a4a665c,#0a0e17d6)}.unit-section.tone-forest .section-heading--banded{background:linear-gradient(135deg,#1b5b3c57,#08120ed6)}.unit-section.tone-violet .section-heading--banded{background:linear-gradient(135deg,#512e7a57,#0e0a18db)}.unit-section.tone-ember .section-heading--banded{background:linear-gradient(135deg,#7a3a125c,#180a08e0)}.unit-section.tone-shadow .section-heading--banded{background:linear-gradient(135deg,#2b254361,#08080ee6)}@media (width<=1080px){.main-page{padding:1.25rem}.main-page__hero,.action-row,.section-heading,.army-status-bar{flex-direction:column}.action-counters,.section-meta{text-align:left;justify-content:flex-start}.army-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.main-page{padding:.8rem}.main-page:before,.main-page:after{inset:.6rem}.main-page__hero,.control-panel,.action-row,.army-panel,.unit-section{border-radius:.85rem;padding:1rem}.hero-icons{justify-content:flex-end;width:100%}.hero-summary{width:calc(100% - 2rem);top:calc(50% + clamp(1.9rem,7vw,2.7rem));left:1rem}.mode-pill,.filter-pill,.action-button,.action-buttons,.action-counters{width:100%}.action-buttons .action-counters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.army-slots,.card-grid{grid-template-columns:1fr}}
