:root{--ink: #1a1614;--ink-2: #241f1b;--ink-3: #322b25;--parchment: #e8dcc0;--parchment-dim: #b8ac92;--gold: #c9a227;--gold-dim: #8a6f1c;--verdigris: #4a7c6f;--verdigris-lit: #6fae9c;--blood: #7a1f1f;--blood-lit: #b83b3b;--serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--sans: "Segoe UI", system-ui, -apple-system, sans-serif;color-scheme:dark}*{box-sizing:border-box;margin:0}body{background:radial-gradient(120% 80% at 50% 0%,#2a231d 0%,var(--ink) 60%),var(--ink);color:var(--parchment);font-family:var(--sans);min-height:100vh;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.setup{max-width:900px;margin:0 auto;padding:4rem 1.5rem;display:grid;gap:2.5rem}.setup__title h1{font-family:var(--serif);font-size:clamp(2.5rem,7vw,4rem);font-weight:400;letter-spacing:.06em;color:var(--gold);text-align:center}.setup__title p{text-align:center;font-family:var(--serif);font-style:italic;color:var(--parchment-dim);margin-top:1rem;line-height:1.7}.setup h3{font-family:var(--serif);font-weight:400;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);border-bottom:1px solid var(--ink-3);padding-bottom:.5rem;margin-bottom:1rem}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}.choice{display:grid;gap:.3rem;text-align:left;padding:.9rem 1rem;border:1px solid var(--ink-3);background:#00000040;border-radius:2px;transition:border-color .15s,background .15s}.choice:hover{border-color:var(--gold-dim)}.choice--on{border-color:var(--gold);background:#c9a22714}.choice strong{font-family:var(--serif);font-weight:400;font-size:1.1rem;color:var(--parchment)}.choice span{font-size:.78rem;color:var(--parchment-dim)}.setup__seed{display:flex;gap:1rem;align-items:end;justify-content:center}.setup__seed label{display:grid;gap:.35rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--parchment-dim)}.setup__seed input{background:var(--ink-2);border:1px solid var(--ink-3);color:var(--parchment);padding:.55rem .75rem;font-family:var(--sans);border-radius:2px}button.primary{background:var(--gold);color:var(--ink);padding:.6rem 1.5rem;border-radius:2px;font-weight:600;letter-spacing:.06em}button.primary:hover{background:#e0b62f}.gallery{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:grid;gap:2.5rem}.gallery__head{display:flex;gap:2rem;align-items:start;justify-content:space-between;flex-wrap:wrap}.gallery__head h1{font-family:var(--serif);font-weight:400;font-size:2.2rem;color:var(--gold);letter-spacing:.04em}.gallery__head p{color:var(--parchment-dim);font-size:.85rem;max-width:60ch;margin-top:.4rem;line-height:1.6}.gallery h3{font-family:var(--serif);font-weight:400;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);border-bottom:1px solid var(--ink-3);padding-bottom:.5rem;margin-bottom:1rem}.gallery h3 em{font-style:normal;letter-spacing:.06em;text-transform:none;color:var(--parchment-dim);font-size:.8rem}.gallery__cards{display:flex;flex-wrap:wrap;gap:.75rem}.gallery__cards .card{cursor:default}.gallery__cards .card:hover{transform:none;box-shadow:0 6px 14px #00000080;border-color:var(--gold-dim)}.board{display:grid;grid-template-columns:1fr 300px;grid-template-rows:1fr auto;gap:1rem;padding:1rem;height:100vh}.board__field{display:grid;grid-template-rows:auto 1fr;gap:1rem;min-height:0}.enemies{display:flex;gap:1rem;flex-wrap:wrap}.enemy{flex:1 1 320px;border:1px solid var(--ink-3);background:linear-gradient(180deg,#0000004d,#0000001f);padding:1rem;display:grid;grid-template-columns:1fr;border-radius:2px;transition:border-color .15s;overflow:hidden}.enemy__body{display:grid;gap:.6rem;align-content:start;min-width:0}.enemy--targeted{border-color:var(--gold);cursor:crosshair}.enemy--breached{border-color:var(--blood-lit);box-shadow:inset 0 0 40px #b83b3b26}.enemy--dead{opacity:.35}.enemy__head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.enemy__head h2{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--parchment)}.bar{position:relative;height:20px;background:#00000073;border:1px solid var(--ink-3);overflow:hidden;border-radius:1px}.bar__fill{position:absolute;inset:0 auto 0 0;transition:width .25s ease}.bar--hp .bar__fill{background:linear-gradient(90deg,#5c1616,var(--blood-lit))}.bar--poise .bar__fill{background:linear-gradient(90deg,var(--gold-dim),var(--gold))}.bar--stamina .bar__fill{background:linear-gradient(90deg,#3d6a5e,var(--verdigris-lit))}.bar--fp .bar__fill{background:linear-gradient(90deg,#2f4d78,#6f9bd1)}.bar__label{position:relative;display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;line-height:20px;padding:0 .5rem;text-shadow:0 1px 2px rgba(0,0,0,.9)}.bar__label em{font-style:normal;opacity:.6}.statuses{display:flex;gap:.4rem;flex-wrap:wrap}.buildup{position:relative;flex:1 1 120px;height:16px;background:#00000080;border:1px solid var(--ink-3);overflow:hidden}.buildup__fill{position:absolute;inset:0 auto 0 0;opacity:.75}.buildup--bleed .buildup__fill{background:var(--blood-lit)}.buildup--frost .buildup__fill{background:#6f9bd1}.buildup--rot .buildup__fill{background:#7d8f3a}.buildup--madness .buildup__fill{background:#9a6fb8}.buildup span{position:relative;display:block;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;line-height:16px;padding:0 .4rem;text-shadow:0 1px 2px rgba(0,0,0,.9)}.tag{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .45rem;border:1px solid currentColor;border-radius:1px;white-space:nowrap}.tag--breached{color:var(--blood-lit)}.tag--phase{color:var(--gold)}.tag--ward{color:var(--verdigris-lit)}.tag--feint{color:#d18fd1;background:#d18fd11a}.tag--wind{color:var(--gold)}.tag--rot{color:#9db34a}.tag--frost{color:#6f9bd1}.tag--stagger{color:var(--blood-lit)}.tag--exert{color:#c98a27}.tag--guard,.tag--dodge{color:var(--verdigris-lit)}.tag--parry{color:var(--gold)}.enemy:has(.enemy__art){flex:1 1 420px;grid-template-columns:clamp(150px,24%,220px) 1fr;column-gap:1rem;padding-left:0}.enemy__art{position:relative;aspect-ratio:4 / 5;align-self:start;min-height:240px;overflow:hidden;border-right:1px solid var(--gold-dim);background:var(--ink);margin:-1rem 0}.enemy__art img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.enemy__art:after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(to bottom,transparent,rgba(26,22,20,.9));pointer-events:none}.intent{border-top:1px solid var(--ink-3);padding-top:.6rem;display:grid;gap:.45rem}.intent__row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.intent__label{font-family:var(--serif);font-size:1.05rem;color:var(--parchment)}.tell{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;padding:.2rem .55rem;border-radius:1px;color:var(--ink);font-weight:700}.tell--light{background:var(--parchment-dim)}.tell--heavy{background:var(--blood-lit);color:var(--parchment)}.tell--sweep{background:#c97727}.tell--grab{background:var(--verdigris-lit)}.tell--cast{background:#9a6fb8;color:var(--parchment)}.tell--projectile{background:#6f9bd1}.intent__numbers{font-size:.85rem;color:var(--parchment-dim);gap:1rem}.intent__numbers em{font-style:normal;color:var(--gold)}.legality{display:flex;gap:.5rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.legality .ok{color:var(--verdigris-lit)}.legality .no{color:#6b4444;text-decoration:line-through}.declared{display:flex;gap:.4rem}.intent__caption,.answers__caption{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim)}.answers{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;border-top:1px dashed var(--ink-3);padding-top:.45rem}.answer{font-size:.72rem;letter-spacing:.04em}.answer em{font-style:normal;opacity:.65;font-size:.66rem}.answer--works{color:var(--verdigris-lit)}.answer--works:before{content:"✓ "}.answer--absent{color:#7d8f86}.answer--fails{color:#8d5a5a;text-decoration:line-through}.answer--fails:before{content:"✗ "}.answer--fails em{text-decoration:none}.intent__cost{font-size:.72rem;color:var(--gold-dim)}.log{overflow-y:auto;border:1px solid var(--ink-3);background:#0000004d;padding:.75rem 1rem;font-size:.82rem;line-height:1.7;min-height:0;border-radius:2px}.log p{color:var(--parchment-dim);display:flex;gap:.65rem}.log__turn{color:var(--gold-dim);font-variant-numeric:tabular-nums;min-width:1.5em;text-align:right;flex:none}.log__flavour{font-family:var(--serif);font-style:italic;color:#6d6152}.board__side{display:grid;grid-template-rows:1fr auto;gap:1rem;min-height:0}.player{border:1px solid var(--ink-3);background:#00000040;padding:1rem;display:grid;gap:.6rem;align-content:start;border-radius:2px;overflow-y:auto}.player__head{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.player__head h2{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:var(--gold)}.stats{display:flex;gap:.35rem;margin-top:.25rem}.stats div{flex:1;text-align:center;border:1px solid var(--ink-3);padding:.3rem .1rem}.stats dt{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--parchment-dim)}.stats dd{font-family:var(--serif);font-size:1.05rem;color:var(--gold)}.piles{display:flex;justify-content:space-between;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--parchment-dim);border-top:1px solid var(--ink-3);padding-top:.5rem}.controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.controls .turn{font-family:var(--serif);color:var(--gold-dim);margin-right:auto;font-size:.9rem}.controls button:not(.primary){border:1px solid var(--ink-3);padding:.5rem .8rem;border-radius:2px;font-size:.8rem;color:var(--parchment-dim)}.controls button:not(.primary):hover{border-color:var(--gold-dim);color:var(--parchment)}.sift-hint{font-family:var(--serif);font-style:italic;font-size:.8rem;color:var(--gold-dim);text-align:right}.controls button:disabled{opacity:.4;cursor:not-allowed}.audio{display:flex;align-items:center;gap:.35rem}.audio__mute{font-size:.9rem;line-height:1;padding:.35rem;filter:grayscale(1) brightness(1.6)}.audio__volume{width:68px;accent-color:var(--gold);cursor:pointer}.audition{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.audition button{border:1px solid var(--ink-3);padding:.5rem .9rem;border-radius:2px;color:var(--parchment-dim);font-size:.85rem}.audition button:hover{border-color:var(--gold-dim);color:var(--parchment)}.audition__status{flex:1 1 100%;font-size:.78rem;color:var(--parchment-dim);line-height:1.6}.audition__status--bad{color:var(--blood-lit)}.audition__status code{font-size:.74rem;color:var(--gold-dim);background:#00000059;padding:.05rem .3rem;border-radius:2px}.hand{grid-column:1 / -1;display:flex;gap:.6rem;justify-content:center;align-items:flex-end;min-height:252px}.hand__empty{color:var(--parchment-dim);font-family:var(--serif);font-style:italic;align-self:center}.card{width:172px;height:240px;flex:none;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:.25rem;padding:.5rem;text-align:left;background:linear-gradient(170deg,#f0e6cf 0%,var(--parchment) 40%,#d8c9a6 100%);color:var(--ink);border:2px solid var(--gold-dim);border-radius:3px;box-shadow:0 6px 14px #00000080;transition:transform .14s ease,box-shadow .14s ease,border-color .14s;position:relative}.card:hover{transform:translateY(-14px);box-shadow:0 14px 24px #0009;border-color:var(--gold)}.card--selected{transform:translateY(-18px);border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 14px 24px #0009}.card--critical{border-color:var(--gold);background:linear-gradient(170deg,#fdf4dc,#f3e7c6 45%,#e2cfa4);animation:opening 1.9s ease-in-out infinite}.card--critical .card__window{border-color:var(--gold);box-shadow:inset 0 0 22px #c9a22773}.card--critical:hover{animation:none;box-shadow:0 0 0 2px var(--gold),0 0 34px 6px #c9a22799,0 14px 24px #0009}@keyframes opening{0%,to{box-shadow:0 0 0 1px var(--gold),0 0 14px 1px #c9a22766,0 6px 14px #00000080}50%{box-shadow:0 0 0 2px var(--gold),0 0 30px 6px #c9a227bf,0 6px 14px #00000080}}.card__opening{position:absolute;top:-9px;left:50%;transform:translate(-50%);background:var(--gold);color:var(--ink);font-size:.55rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:.14rem .5rem;border-radius:1px;white-space:nowrap;box-shadow:0 2px 6px #00000080}@media (prefers-reduced-motion: reduce){.card--critical{animation:none;box-shadow:0 0 0 2px var(--gold),0 0 22px 3px #c9a22799,0 6px 14px #00000080}}.card--unaffordable{filter:grayscale(.55) brightness(.72)}.card--unwieldy{border-color:var(--blood);filter:grayscale(.3) brightness(.85)}.card__head{display:flex;align-items:center;gap:.25rem}.card__cost,.card__fp{width:20px;height:20px;flex:none;display:grid;place-items:center;font-size:.75rem;font-weight:700;border-radius:50%;background:var(--ink);color:var(--gold)}.card__fp{background:#2f4d78;color:#cfe0f5}.card__fp--empty{background:none}.card__name{font-family:var(--serif);font-size:.88rem;line-height:1.15;flex:1;text-align:center}.card__window{aspect-ratio:16 / 9;background:var(--ink);color:var(--gold);border:1px solid var(--gold-dim);display:grid;place-items:center;overflow:hidden}.card__window img{width:100%;height:100%;object-fit:cover}.sigil{width:100%;height:100%}.card__meta{display:flex;justify-content:space-between;font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;color:#6b5c48;border-bottom:1px solid rgba(0,0,0,.18);padding-bottom:.1rem}.card__scaling{color:var(--blood);font-weight:700}.card__rules{font-size:.72rem;line-height:1.35}.card__rules p+p{margin-top:.12rem}.card__keyword{font-weight:700;color:#6b5c48}.card__unwieldy{color:var(--blood);font-weight:600}.card__unwieldy span{font-weight:400;color:#6b5c48}.card__flavor{font-family:var(--serif);font-style:italic;font-size:.64rem;line-height:1.35;color:#6b5c48;border-top:1px solid rgba(0,0,0,.15);padding-top:.2rem}.outcome{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0a0807db;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.outcome__panel{text-align:center;display:grid;gap:1.2rem;padding:3rem 4rem;border:1px solid var(--gold-dim);background:var(--ink-2);border-radius:2px}.outcome__panel h2{font-family:var(--serif);font-weight:400;font-size:2.4rem;color:var(--gold);letter-spacing:.04em}.outcome__panel p{color:var(--parchment-dim);font-family:var(--serif);font-style:italic}.outcome__actions{display:flex;gap:.75rem;justify-content:center}.outcome__actions button:not(.primary){border:1px solid var(--ink-3);padding:.6rem 1.2rem;color:var(--parchment-dim)}@media (max-width: 900px){.board{grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto}.hand{flex-wrap:wrap}}
