.hud{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:11px}#player-name{margin-right:auto;min-width:0;max-width:36%;overflow-wrap:anywhere}.vitality{display:flex;align-items:center;gap:4px;white-space:nowrap}.vitality-pips{display:grid;grid-template-columns:repeat(6,16px);grid-template-rows:repeat(2,16px)}.vitality-pip{width:16px;height:16px;image-rendering:pixelated}.vitality-count{color:#795740;font-size:10px}.held-item{flex-shrink:0;padding:6px 8px;border:1px solid #927e53;background:#f1e7cc}.field-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.direction-pad{display:grid;grid-template-columns:repeat(3,42px);grid-template-rows:repeat(2,42px);gap:4px}.direction-pad button{padding:0;font-size:21px;font-weight:700}.direction-pad .north{grid-column:2}.direction-pad .west{grid-column:1;grid-row:2}.direction-pad .south,.direction-pad .east{grid-row:2}.action-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.action-controls button{min-width:70px;padding:8px 5px}.action-controls b,.action-controls small{display:block}.action-controls b{font-size:13px}.action-controls small{max-width:62px;margin:5px auto 0;font-size:9px;line-height:1.4}.panel-copy{width:100%;max-width:470px;max-height:min(680px,calc(100dvh - 32px));overflow-y:auto;padding:20px;border:2px solid #9e855c;background:#ecdfba;box-shadow:inset 0 0 0 3px #d6c397}.panel-copy .eyebrow{color:#76603d;margin:0 0 8px}.panel-copy h2{margin:0 0 12px;overflow-wrap:anywhere;font-size:20px}.ending-copy{border-top:6px solid #505b3b}.ending-copy h2{font-size:26px}.ending-copy .save-notice{padding-top:10px;border-top:1px solid #c9b78e}.panel-copy p{font-size:12px;line-height:1.6}.panel-copy label{display:block;margin:14px 0 8px;font-size:12px;font-weight:700}.panel-copy label span{color:#796b51;font-weight:400}.panel-copy input{width:100%;min-height:40px;padding:8px;border:1px solid #806f51;color:#3b302e;background:#faf2da}.panel-copy small{display:block;margin-top:8px;font-size:11px;line-height:1.5}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.panel-actions button{font-size:12px}.controls-list,.kit-list{margin:18px 0;font-size:12px}.controls-list div,.kit-list div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #c9b78e}.controls-list dd,.kit-list dd{margin:0;text-align:right}.muted{color:#796b51}@media(max-width:700px){.panel-copy{padding:14px}.field-controls{gap:8px}}#field-dialogue{position:absolute;z-index:2;right:6px;bottom:6px;left:6px}[data-state=raid] #field-dialogue{top:14px;bottom:auto}[data-state=raid] .dialogue-frame{min-height:60px}.dialogue-frame{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:calc(60px * var(--game-scale));padding:14px 12px 8px;border:2px solid #927e53;background:#ecdfba;box-shadow:0 3px #30283577,inset 0 0 0 2px #faf0c2}.dialogue-frame[data-kind=guide]{border-color:#666744;background:#d9dcc0;box-shadow:0 3px #30283577,inset 0 0 0 2px #eff0d5}.dialogue-frame h2{position:absolute;top:-10px;left:10px;margin:0;padding:2px 8px;max-width:calc(100% - 20px);overflow-wrap:anywhere;background:#795740;color:#faf0c2;font-size:12px;line-height:1.2}.dialogue-frame[data-kind=guide] h2{background:#505b3b}.dialogue-frame p{margin:0;overflow-wrap:anywhere;font-size:16px;line-height:1.4}.dialogue-frame button{min-width:58px;min-height:42px;padding:8px;font-size:12px}#tutorial-progress{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #a5a781}#tutorial-progress-count{padding:4px 6px;border:1px solid #929b61;background:#eff0d5;font-size:12px;white-space:nowrap}#tutorial-objective{color:#374336}@media(max-width:700px){.dialogue-frame{gap:6px;padding:12px 8px 6px}.dialogue-frame p{font-size:12px;line-height:1.3}.dialogue-frame h2{font-size:10px}.dialogue-frame button{min-width:52px;padding:6px;font-size:10px}}#aftermath-controls{padding:12px;margin-top:12px;border:1px solid #927e53;background:#f1e7cc;font-size:12px;line-height:1.5}#aftermath-controls h3{margin:10px 0;font-size:13px}#aftermath-controls button{padding:8px;font-size:12px}.aftermath-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.aftermath-actions,.aftermath-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.aftermath-targets{grid-template-columns:1fr}.aftermath-targets [aria-pressed=true]{border:2px solid #505b3b;background:#d9dcc0}.aftermath-events{max-height:130px;overflow-y:auto;padding-left:22px}#aftermath-message{border-block:1px solid #c9b78e;padding-block:10px}#play-clock,#looting-clock{font-size:10px;color:#665238}#looting-clock:empty{display:none}.maps-copy{max-width:650px}.paper-map{border-block-start:1px solid #9e855c}.paper-map pre{font:14px/1.2 Courier New,monospace;overflow-x:auto;padding:8px;background:#f5eacd}@media(max-width:450px){.paper-map pre{font-size:12px;padding:3px}}@font-face{font-family:Estate Ledger;src:url(../fonts/estate-ledger.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Estate Ledger,Courier New,monospace;color:#3b302e;background:#302c29;font-synthesis:none;text-rendering:optimizeLegibility;--game-scale: 1}*{box-sizing:border-box}body{min-width:360px;margin:0;padding:24px 8px;background:radial-gradient(ellipse at 50% 15%,#5c5842,#302c29 75%)}[hidden]{display:none!important}button,input{font:inherit}button{min-height:42px;padding:9px 13px;border:1px solid #806f51;border-radius:2px;color:#3b302e;background:#e6d6ae;box-shadow:0 2px #c0ae83;cursor:pointer;touch-action:manipulation}button:hover{background:#f4e8c9}button:active{transform:translateY(1px);box-shadow:none}button:disabled{color:#8a806a;border-color:#baa988;box-shadow:none;cursor:default}button.primary{color:#fff1ca;background:#505b3b;border-color:#353d2c;box-shadow:0 2px #343e2a}button.primary:hover{background:#667248}:focus-visible{outline:3px solid #b45333;outline-offset:3px}.game-cabinet{width:max-content;max-width:100%;margin:0 auto;padding:18px;border:1px solid #aa9571;background:#ecdfba;box-shadow:0 18px 56px #15161575,inset 0 0 0 5px #ded0a9}.masthead{display:flex;align-items:center;gap:12px;padding-bottom:14px}.wordmark{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.edition,.eyebrow{font-size:10px;letter-spacing:.12em;line-height:1.5}.masthead .edition{margin-right:auto;color:#716448}.masthead button{min-height:32px;padding:5px 8px;font-size:11px}.quiet{background:transparent;box-shadow:none}main{width:calc(320px * var(--game-scale))}.field-heading{display:flex;align-items:center;justify-content:space-between;padding:5px 0 10px}.field-heading h2{margin:0;font-size:17px}.field-heading span{color:#776544;font-size:9px}.screen-stage{position:relative;width:calc(320px * var(--game-scale));height:calc(240px * var(--game-scale));overflow:hidden;background:#77794f;box-shadow:0 0 0 2px #5a513c,0 0 0 5px #c4b28a}#game-canvas,#game-canvas canvas{display:block;width:calc(320px * var(--game-scale));height:calc(240px * var(--game-scale));image-rendering:pixelated}.screen-panel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#77794f;background-image:linear-gradient(#51473444,#3b352c66),url(../art/estate-preview.png);background-size:100% 100%;image-rendering:pixelated}.screen-panel.is-modal{position:fixed;z-index:10;background:#342f29db;padding:16px}.title-copy{width:100%;max-width:440px;margin:12px;padding:16px;border:2px solid #aa9571;background:#f1e4c4f5;box-shadow:0 4px #30283566,inset 0 0 0 3px #ded0a9;text-align:center}.title-copy h1{margin:10px 0;font-size:clamp(30px,5vw,40px);line-height:1;letter-spacing:-.055em;text-transform:uppercase;text-shadow:1px 2px #c2aa7b}.title-introduction{margin:12px auto 18px;max-width:350px;font-size:13px;line-height:1.6}.title-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.title-copy .edition{margin:16px 0 0;color:#776544}.position-readout{margin:10px 0;font-size:10px;color:#796b51;text-align:right}.guide-frame{position:relative;margin-top:16px;padding:18px 16px 12px;border:2px solid #666744;background:#d9dcc0;box-shadow:inset 0 0 0 2px #eff0d5}.guide-frame h2{position:absolute;top:-10px;left:12px;margin:0;padding:2px 8px;background:#505b3b;color:#fbefcf;font-size:11px}.guide-frame p{margin:0;font-size:14px;line-height:1.6}.save-notice{margin:10px 0;color:#665238;font-size:12px;line-height:1.5}.save-notice:empty{display:none}footer{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin-top:16px;padding-top:12px;border-top:1px solid #b7a47e;color:#7c6e51;font-size:9px}@media(max-width:700px){.guide-frame{margin-top:12px;padding:16px 12px 10px}.guide-frame p{line-height:1.5}body{padding-top:12px}.game-cabinet{padding:10px}.masthead{gap:6px}.masthead .edition{display:none}.masthead .wordmark{margin-right:auto}.title-copy{padding:12px}.title-introduction{margin:8px auto 12px;font-size:12px;line-height:1.4}.title-actions{gap:6px;font-size:12px}}body{padding:8px}.game-cabinet{padding:10px}.masthead{padding-bottom:8px}footer{margin-top:10px;padding-top:6px}#tutorial-kit-action{margin-top:12px}#scene-controls{display:flex;justify-content:flex-end;margin-top:12px}#guide-reaction{margin-top:8px;padding-top:8px;border-top:1px solid #a5a781;font-size:12px}@media(min-width:1100px){#app:not([data-state=title]) main{width:calc(320px * var(--game-scale) + 320px);display:grid;grid-template-columns:calc(320px * var(--game-scale)) 296px;grid-template-rows:repeat(10,min-content) 1fr;column-gap:24px}#app:not([data-state=title]) main>*{grid-column:2;min-width:0}#app:not([data-state=title]) main>.screen-stage{grid-column:1;grid-row:1 / 20}.field-heading{flex-wrap:wrap;gap:6px}.hud{flex-wrap:wrap}#player-name{max-width:100%}.field-controls{flex-wrap:wrap;justify-content:center}}.battle-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;color:#3b302e;font-size:clamp(9px,calc(7px * var(--game-scale)),26px);line-height:1.2;height:calc(240px * var(--game-scale))}.battle-health-card{padding:calc(3px * var(--game-scale)) calc(5px * var(--game-scale));border:calc(1px * var(--game-scale)) solid #635a3f;background:#ecdfba;box-shadow:calc(2px * var(--game-scale)) calc(2px * var(--game-scale)) 0 #3b302e66,inset 0 0 0 calc(1px * var(--game-scale)) #fff1d0}.battle-opponents{position:absolute;top:calc(8px * var(--game-scale));left:calc(8px * var(--game-scale));display:grid;gap:calc(5px * var(--game-scale));width:calc(140px * var(--game-scale))}.battle-player-card{position:absolute;right:calc(8px * var(--game-scale));bottom:calc(82px * var(--game-scale));width:calc(143px * var(--game-scale))}.battle-name{display:flex;flex-direction:column;gap:calc(1px * var(--game-scale));min-width:0}.battle-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-fighter-kind{color:#776544;font-size:clamp(6px,calc(4px * var(--game-scale)),14px);letter-spacing:.12em}.battle-health-line{display:flex;align-items:center;gap:calc(3px * var(--game-scale));margin-top:calc(3px * var(--game-scale));font-size:clamp(7px,calc(5px * var(--game-scale)),18px)}.battle-health-line>span:first-child{color:#8a6439;font-weight:700}.battle-health-track{height:calc(5px * var(--game-scale));flex:1;overflow:hidden;border:calc(1px * var(--game-scale)) solid #55523b;background:#9c9678}.battle-health-track i{display:block;height:100%;background:#617348;transition:width .28s ease-out}.battle-health-track[data-condition=wounded] i{background:#b48b3f}.battle-health-track[data-condition=danger] i{background:#ae593b}.battle-hp-value{min-width:4ch;text-align:right}.battle-intent{margin:calc(3px * var(--game-scale)) 0 0;color:#685039;font-size:clamp(8px,calc(5px * var(--game-scale)),18px)}.battle-turn{position:absolute;top:calc(8px * var(--game-scale));right:calc(8px * var(--game-scale));padding:calc(2px * var(--game-scale)) calc(4px * var(--game-scale));background:#ecdfba;border:calc(1px * var(--game-scale)) solid #635a3f;color:#665238;font-size:clamp(8px,calc(5px * var(--game-scale)),18px)}.battle-target{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;pointer-events:auto}.battle-target:hover{background:#f4e8c91a}.battle-target:focus-visible{outline-offset:calc(-1px * var(--game-scale))}.battle-opponent-card{position:relative}.battle-health-card.is-target{border-color:#a35c35}.battle-health-card.is-target .battle-name strong:before{content:"> ";color:#a35c35}.battle-health-card.is-fallen{opacity:.68}.battle-deck{position:absolute;right:calc(3px * var(--game-scale));bottom:calc(3px * var(--game-scale));left:calc(3px * var(--game-scale));height:calc(72px * var(--game-scale));display:grid;grid-template-columns:1fr 1fr;gap:calc(3px * var(--game-scale));padding:calc(4px * var(--game-scale));border:calc(2px * var(--game-scale)) solid #635a3f;background:#ecdfba;box-shadow:inset 0 0 0 calc(1px * var(--game-scale)) #fff1d0;pointer-events:auto}.battle-dialogue{overflow-y:auto;padding:calc(3px * var(--game-scale));font-size:clamp(11px,calc(8px * var(--game-scale)),28px);line-height:1.4;scrollbar-width:thin}.battle-dialogue p{margin:0;overflow-wrap:anywhere}.battle-scroll-note{position:absolute;bottom:calc(5px * var(--game-scale));left:calc(7px * var(--game-scale));padding:1px 3px;background:#ecdfba;color:#665238;font-size:clamp(8px,calc(5px * var(--game-scale)),18px);pointer-events:none}.battle-commands{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:calc(2px * var(--game-scale));min-width:0;padding-left:calc(3px * var(--game-scale));border-left:calc(1px * var(--game-scale)) solid #a5936b}.battle-commands button{min-width:0;min-height:0;padding:calc(2px * var(--game-scale));border:calc(1px * var(--game-scale)) solid transparent;border-radius:0;background:transparent;box-shadow:none;font-size:clamp(11px,calc(8px * var(--game-scale)),28px);text-align:left}.battle-commands button:hover{background:#ddd3ac}.battle-commands button:focus-visible{outline:none;border-color:#505b3b;color:#fff1ca;background:#505b3b}.battle-commands button small{display:block;margin-top:calc(2px * var(--game-scale));font-size:clamp(7px,calc(5px * var(--game-scale)),17px)}.battle-overlay[data-phase=resolving] .battle-deck,.battle-overlay[data-phase=won] .battle-deck,.battle-overlay[data-phase=lost] .battle-deck{grid-template-columns:1fr minmax(25%,max-content)}.battle-overlay:not([data-phase=choosing]) .battle-commands{grid-template-columns:1fr}.battle-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.battle-health-track i{transition:none}}@media(max-width:600px){#app[data-battle-active=true] .screen-stage{height:calc(165px * var(--game-scale) + 123px)}.battle-deck{top:calc(165px * var(--game-scale));bottom:auto;height:120px}.battle-dialogue{font-size:12px}.battle-commands button{min-height:44px;font-size:12px}.battle-commands button small{font-size:8px}.battle-opponent-card:has(.battle-target){min-height:46px}}
