@font-face{font-family:"Alegreya SC";font-weight:700;font-display:swap;src:url("fonts/AlegreyaSC-Bold.woff2") format("woff2")}@font-face{font-family:"Alegreya SC";font-weight:900;font-display:swap;src:url("fonts/AlegreyaSC-Black.woff2") format("woff2")}@font-face{font-family:"Alegreya Sans";font-weight:400;font-display:swap;src:url("fonts/AlegreyaSans-Regular.woff2") format("woff2")}@font-face{font-family:"Alegreya Sans";font-weight:700;font-display:swap;src:url("fonts/AlegreyaSans-Bold.woff2") format("woff2")}:root{--forest-950: #141c16;--forest-900: #18211a;--forest-800: #1f2b21;--forest-700: #2a382b;--forest-600: #3d5240;--parchment: #f3e6c8;--parchment-2: #ead9b0;--parchment-edge: #c9a978;--ink: #33261a;--ink-soft: #6b5641;--gold: #f0cf6e;--gold-deep: #d9a441;--bark: #8a5a34;--rust: #b5532a;--leaf: #4f7d3a;--cream: #f3e6c8;--cream-soft: #c8bfa6;--display: "Alegreya SC", Georgia, serif;--body: "Alegreya Sans", system-ui, sans-serif;--radius: 14px;--wrap: 1160px;--gutter: clamp(16px, 4vw, 32px)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--forest-800);color:var(--cream);font-family:var(--body);font-size:1.125rem;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--parchment)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-9999px;top:8px;background:var(--gold);color:var(--ink);padding:8px 14px;border-radius:8px;z-index:10}.skip:focus{left:8px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.center{text-align:center}.muted{color:var(--cream-soft)}.site-header{position:sticky;top:0;z-index:5;background:rgba(20,28,22,.88);backdrop-filter:blur(8px);border-bottom:1px solid rgba(243,230,200,.08)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.wordmark{font-family:var(--display);font-weight:900;font-size:1.6rem;letter-spacing:.5px;color:var(--parchment);text-decoration:none;white-space:nowrap}.wordmark span{color:var(--gold)}.nav{display:flex;align-items:center;gap:4px 18px;flex-wrap:wrap}.nav a:not(.btn){color:var(--cream-soft);text-decoration:none;font-weight:700}.nav a:not(.btn):hover,.nav a:not(.btn)[aria-current=page]{color:var(--parchment)}.site-footer{background:var(--forest-950);padding:40px 0;margin-top:0;font-size:1rem}.footer-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-mark{font-family:var(--display);font-weight:900;font-size:1.3rem;margin:0 0 4px}.footer-row p{margin:0;max-width:34em}.footer-links{display:flex;gap:8px 20px;flex-wrap:wrap;align-items:flex-start}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:1.1rem;letter-spacing:.3px;padding:10px 22px;border-radius:10px;text-decoration:none;border:2px solid rgba(0,0,0,0);transition:transform .12s ease,background .12s ease}.btn:hover{transform:translateY(-1px)}.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--bark);box-shadow:0 3px 0 var(--bark)}.btn-gold:hover{background:#f6dc8c;color:var(--ink)}.btn-ghost{background:rgba(0,0,0,0);color:var(--parchment);border-color:rgba(243,230,200,.4)}.btn-ghost:hover{border-color:var(--parchment);color:var(--parchment)}.btn-large{font-size:1.3rem;padding:14px 28px}.btn-small{font-size:1rem;padding:6px 14px;box-shadow:0 2px 0 var(--bark)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 12px}.actions-center{justify-content:center}.title{font-family:var(--display);font-weight:900;line-height:1;font-size:clamp(3rem,9vw,5.6rem);margin:0;color:var(--parchment);text-shadow:0 4px 0 rgba(0,0,0,.35)}.title span{color:var(--gold)}.title-page{font-size:clamp(2.4rem,6vw,3.8rem)}.eyebrow{font-family:var(--display);font-weight:700;color:var(--gold);font-size:1.25rem;letter-spacing:.5px;margin:0 0 10px}.lead{font-size:1.3rem;color:var(--cream);max-width:34em;margin:18px 0 0}.hint{color:var(--cream-soft);font-size:1rem;margin:0}.section-title{font-family:var(--display);font-weight:900;font-size:clamp(2rem,4.5vw,2.8rem);line-height:1.1;margin:0 0 12px}.section-lead{color:var(--cream-soft);max-width:40em;margin:0 0 32px}.center .section-lead{margin-left:auto;margin-right:auto}.band{padding:clamp(48px,8vw,88px) 0;background:var(--forest-800)}.band-dark{background:var(--forest-900)}.hero{position:relative;padding:clamp(40px,8vw,96px) 0 0;background:radial-gradient(ellipse at 70% 0%, rgba(240,207,110,.1), rgba(0,0,0,0) 55%),linear-gradient(180deg, var(--forest-600) 0%, var(--forest-800) 70%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);gap:clamp(28px,5vw,56px);align-items:center}.frame{margin:0;border-radius:var(--radius);overflow:hidden;border:3px solid var(--parchment-edge);box-shadow:0 20px 50px rgba(0,0,0,.45);background:var(--forest-900)}.hero-shot{transform:rotate(1deg)}.split{display:grid;grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);gap:clamp(28px,5vw,56px);align-items:center}.page-head{padding:clamp(40px,7vw,80px) 0 clamp(24px,4vw,40px);background:linear-gradient(180deg, var(--forest-600) 0%, var(--forest-800) 100%)}.page-head .intro{margin-top:20px;color:var(--cream);max-width:46em}.sprite{display:inline-block;width:96px;height:96px;background-repeat:no-repeat;background-size:192px 96px;image-rendering:pixelated;animation:idle 1s steps(2) infinite}@keyframes idle{to{background-position:-192px 0}}@media (prefers-reduced-motion: reduce){.sprite{animation:none}html{scroll-behavior:auto}}.parade{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-top:clamp(32px,6vw,64px);padding-bottom:6px;border-bottom:8px solid #6f8f4c;background:linear-gradient(180deg, rgba(0,0,0,0) 80%, #557a3a 80%)}.parade .sprite:nth-child(even){animation-delay:-.5s}.portrait{image-rendering:pixelated;border-radius:50%;background:var(--parchment-2);border:3px solid var(--faction, var(--parchment-edge))}.portrait-sm{width:64px;height:64px}.portrait-lg{width:96px;height:96px}.portrait-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 32px}.portrait-row a{border-radius:50%;transition:transform .12s ease}.portrait-row a:hover{transform:translateY(-3px) scale(1.06)}.card{background:var(--parchment);color:var(--ink);border:3px solid var(--parchment-edge);border-radius:var(--radius);padding:clamp(18px,3vw,28px);box-shadow:0 10px 30px rgba(0,0,0,.3)}.card a{color:var(--rust)}.card a:hover{color:var(--bark)}.factions{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:18px}.faction{border-top:10px solid var(--faction)}.faction h3{font-family:var(--display);font-weight:900;font-size:1.45rem;line-height:1.1;margin:8px 0 8px}.faction p{margin:0 0 10px;font-size:1rem}.faction .animals{color:var(--ink-soft);font-weight:700;font-size:.95rem;margin:0}.faction-units{display:flex;gap:0;margin:-6px 0 0 -10px}.checks{list-style:none;padding:0;margin:20px 0 0}.checks li{position:relative;padding-left:30px;margin:0 0 12px}.checks li::before{content:"";position:absolute;left:4px;top:.5em;width:12px;height:12px;background:var(--gold);transform:rotate(45deg);border:2px solid var(--bark)}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.chip{padding:6px 14px;border-radius:999px;text-decoration:none;font-weight:700;background:rgba(243,230,200,.08);color:var(--parchment);border-left:8px solid var(--faction)}.chip:hover{background:rgba(243,230,200,.16)}.faction-title{padding-left:16px;border-left:10px solid var(--faction);margin-bottom:28px}.commanders{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:18px}.commander{scroll-margin-top:90px}.commander header{display:flex;gap:16px;align-items:center;margin-bottom:12px}.commander h3{font-family:var(--display);font-weight:900;font-size:1.7rem;margin:0;line-height:1}.commander header .muted{color:var(--ink-soft);margin:4px 0 0}.commander>p{margin:0 0 14px}.power{border-top:1px dashed var(--parchment-edge);padding-top:10px;margin-top:10px}.power p{margin:0;font-size:1rem}.power .power-name{font-weight:700;font-size:1.05rem;margin-bottom:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.6px;background:var(--ink);color:var(--parchment);padding:1px 8px;border-radius:6px}.stars{display:inline-flex;gap:2px}.stars i{width:12px;height:12px;background:var(--gold-deep);clip-path:polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)}.prose-wide{max-width:46em}.prose-wide h2{font-family:var(--display);font-weight:900;font-size:clamp(2rem,4.5vw,2.8rem);line-height:1.1;margin:0 0 16px}.prose-wide p{margin:0 0 16px}.prose-wide strong{color:var(--parchment)}.prose{max-width:52em;margin:0 auto}.prose h2{font-family:var(--display);font-weight:900;font-size:1.9rem;margin:36px 0 12px;line-height:1.15}.prose h2:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 16px}.prose li{margin-bottom:6px}.prose code{font-size:.9em;background:var(--parchment-2);padding:1px 6px;border-radius:4px}.prose pre{background:var(--forest-900);color:var(--parchment);padding:16px 18px;border-radius:10px;overflow-x:auto;font-size:.95rem}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse;font-size:1rem;margin:0 0 16px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--parchment-edge);vertical-align:top}.prose th{font-family:var(--display);font-weight:700;white-space:nowrap}.prose td:first-child{font-weight:700}.cta{background:linear-gradient(180deg, var(--forest-800), var(--forest-600))}@media (max-width: 860px){.hero-grid,.split{grid-template-columns:minmax(0, 1fr)}.hero-shot{transform:none}.nav a:not(.btn){font-size:1rem}}@media (max-width: 520px){body{font-size:1.05rem}.header-row,.nav{justify-content:center}.lead{font-size:1.15rem}.btn-large{width:100%}.commanders{grid-template-columns:minmax(0, 1fr)}.sprite{width:64px;height:64px;background-size:128px 64px;animation-name:idle-small}}@keyframes idle-small{to{background-position:-128px 0}}