/* 👑 The Crown Ledger - the council table's panel. Shares the workshops' craft-box shell. */
.craft-modal .craft-ledger{--craft-accent:#e9c46a;--craft-bright:#ffe9a8;--craft-line:#8a6d34;--craft-soft:rgba(233,196,106,.12);width:min(100%,880px);background:linear-gradient(#1b120a45,#1b120a70),url('../ui/ui_allt.png') center/cover no-repeat #342011}
.ledger-seal{flex:0 0 64px;width:64px;height:64px;display:grid;place-items:center;font-size:34px;border:1px solid var(--craft-line);border-radius:14px;background:linear-gradient(145deg,#44311dcc,#18110fcc);box-shadow:inset 0 1px 0 #fff1}
.ledger-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ledger-tile{border:1px solid var(--craft-line);border-radius:12px;padding:12px 14px;background:#1d160feb;display:flex;flex-direction:column;gap:3px;min-width:0}
.ledger-tile span{font:600 10px var(--body,sans-serif);letter-spacing:1.6px;text-transform:uppercase;color:var(--craft-accent)}
.ledger-tile b{font:23px/1.15 var(--display,serif);color:#f3e4c9;overflow-wrap:anywhere}
.ledger-tile b.bad{color:#ff8a7a}
.ledger-tile small{font:11px/1.45 var(--body,sans-serif);color:#bda78c}
.ledger-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ledger-cols h3{font:17px/1.3 var(--display,serif);color:#e5d1ab;margin:0 0 6px}
.ledger-table{width:100%;border-collapse:collapse;font:12px/1.4 var(--body,sans-serif);color:#d5c3a5}
.ledger-table td{padding:5px 4px;border-bottom:1px solid #3a2d1c;vertical-align:top}
.ledger-table td:last-child{text-align:right;white-space:nowrap;color:#ead5b3;font-weight:600}
.ledger-table small{display:block;color:#a89372;font-size:10px;line-height:1.35}
.ledger-net{margin:12px 0;padding:10px 14px;border:1px solid var(--craft-line);border-radius:10px;background:var(--craft-soft);font:12.5px/1.5 var(--body,sans-serif);color:#e7dac2;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.craft-ledger .pos{color:#9adf9a}.craft-ledger .neg{color:#ff8a7a}
.ledger-transfer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.ledger-transfer>div{border:1px dashed var(--craft-line);border-radius:10px;padding:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.ledger-transfer>div>span{flex-basis:100%;font:600 10px var(--body,sans-serif);letter-spacing:1.4px;text-transform:uppercase;color:var(--craft-accent)}
.ledger-transfer .sbtn{flex:1;min-width:64px;padding:8px 6px}
.ledger-line{margin:0 0 12px;padding:12px 14px;border:1px solid var(--craft-line);border-radius:12px;background:#1d160fd9}
.ledger-line h3{font:16px/1.3 var(--display,serif);color:#e5d1ab;margin:0}
.ledger-line p{font:11px/1.5 var(--body,sans-serif);color:#bda78c;margin:3px 0 8px}
.ledger-opts{display:flex;gap:6px;flex-wrap:wrap}
.ledger-opts .sbtn{flex:1;min-width:104px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;font-size:11px}
.ledger-opts .sbtn small{font-size:10px;line-height:1.3;color:#bda78c;font-weight:400;text-align:center}
.ledger-opts .sbtn.on{border-color:var(--craft-accent);color:var(--craft-bright);background:linear-gradient(180deg,#4d3923,#2d2117)}
.ledger-hist{display:flex;flex-direction:column;gap:6px}
.ledger-legend{display:flex;gap:14px;flex-wrap:wrap;font:11px var(--body,sans-serif);color:#bda78c;margin-bottom:10px}
.ledger-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.ledger-row{display:grid;grid-template-columns:36px minmax(0,1fr) 90px;gap:8px;align-items:center;font:12px var(--body,sans-serif);color:#d5c3a5}
.ledger-bars{display:flex;flex-direction:column;gap:2px}
.ledger-bar{height:8px;border-radius:0 4px 4px 0;min-width:2px}
.ledger-bar.in{background:#7fc8a0}.ledger-bar.out{background:#d98b6a}
.ledger-row b{text-align:right;color:#ead5b3}
.ledger-ev{font:11px/1.5 var(--body,sans-serif);color:#a89372;margin:0 0 6px 44px}
#ledgerMsg{margin:8px 0 0}
@media(max-width:640px){.ledger-tiles,.ledger-cols,.ledger-transfer{grid-template-columns:1fr}.ledger-opts .sbtn{min-width:80px}}
/* the ? in the header, the People and Council tabs */
.craft-ledger .craft-header{position:relative}
.ledger-helpbtn{flex:0 0 38px;width:38px;height:38px;margin-left:auto;align-self:flex-start;border-radius:50%;border:1px solid var(--craft-line);background:#241b13;color:var(--craft-bright);font:700 19px/1 var(--display,serif);cursor:var(--hand)}
.ledger-helpbtn:hover,.ledger-helpbtn[aria-pressed=true]{border-color:var(--craft-accent);background:linear-gradient(180deg,#4d3923,#2d2117)}
/* 👁 a glance from the road (the hero panel's Crown Ledger card): the Overview alone, read-only. The tab strip goes,
   every button is inert - the alerts stay bright because they are news, the transfers and the granary dim because they are levers */
#ledgerFx.peek #ledgerTabs{display:none}
#ledgerFx.peek #ledgerBody [data-lact]:not([data-lact="back"]){pointer-events:none;cursor:var(--arrow)}
#ledgerFx.peek #ledgerBody .sbtn[data-lact]:not([data-lact="back"]){opacity:.45}
#ledgerFx.peek #ledgerBody .ledger-alert .sbtn[data-lact]{opacity:1} /* ties the rule above on specificity and comes later, so the news stays lit */
.ledger-entry-icon{display:grid;place-items:center;font-size:22px;background:linear-gradient(145deg,#44311d,#18110f)} /* the crown in the hero panel card wears the seal's colours */
.tide-entry small{color:var(--dim,#9d8b6f);font-weight:400;font-size:11px}
.craft-tab.alert{position:relative}.craft-tab.alert::after{content:'';position:absolute;top:6px;right:8px;width:8px;height:8px;border-radius:50%;background:#ff8a7a;box-shadow:0 0 6px #ff8a7a}
.ledger-tiles.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ledger-alert{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.ledger-alert .sbtn{text-align:left;padding:9px 12px;border-color:#a0533f;color:#ffd0c4;background:#3a1d16}
.ledger-gauge{margin:4px 0 22px}
.ledger-gauge-track{position:relative;height:14px;border-radius:7px;background:#15100b;border:1px solid var(--craft-line)}
.ledger-gauge-fill{height:100%;border-radius:6px 0 0 6px;opacity:.9}
.ledger-gauge-mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:#f3e4c9}
.ledger-gauge-mark span{position:absolute;top:20px;left:50%;transform:translateX(-50%);white-space:nowrap;font:10px var(--body,sans-serif);color:#bda78c}
.ledger-gauge-target{position:absolute;top:-7px;width:0;height:0;margin-left:-6px;border:6px solid transparent;border-top-color:#f3e4c9}
.ledger-gauge-scale{display:flex;justify-content:space-between;font:10px var(--body,sans-serif);color:#8f7d64;margin-top:3px}
.ledger-table td.pos{color:#9adf9a}.ledger-table td.neg{color:#ff8a7a}
.ledger-sum td{border-top:1px solid var(--craft-line);border-bottom:0;font-weight:700;color:#f3e4c9}
.ledger-gap{margin-top:16px!important}
.craft-ledger h3{font:17px/1.3 var(--display,serif);color:#e5d1ab;margin:0 0 6px}
.ledger-line-chart{width:100%;height:auto;display:block}
.ledger-rule{stroke:#4a3a26;stroke-width:1}
.ledger-axis{font:10px var(--body,sans-serif);fill:#8f7d64}.ledger-axis-strong{fill:#f3e4c9;font-weight:700;font-size:12px}
.ledger-mood-path{fill:none;stroke:#d9a441;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ledger-mood-dot{fill:#d9a441;stroke:#1d160f;stroke-width:2}
.ledger-voice{font:italic 12px/1.5 var(--body,sans-serif);color:#cdbb9c;margin:0 0 6px}
.ledger-incident,.ledger-petition{margin:0 0 12px;padding:12px 14px;border:1px solid #a0533f;border-radius:12px;background:#2a1812}
.ledger-petition{border-color:var(--craft-accent);background:#2a2214}
.ledger-incident h3 small{font:11px var(--body,sans-serif);color:#ffb3a3}
.ledger-incident p,.ledger-petition p{font:12.5px/1.55 var(--body,sans-serif);color:#e0cfb3;margin:2px 0 8px}
.ledger-incident-cost{font:12px/1.5 var(--body,sans-serif);color:#cdbb9c;margin-bottom:9px}
.ledger-ask{margin:0 0 8px!important;font-weight:600}
.ledger-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ledger-seat{border:1px solid var(--craft-line);border-radius:12px;padding:11px 13px;background:#1d160fd9;min-width:0}
.ledger-seat h3{font-size:15px;margin:0}.ledger-seat small{display:block;font:10.5px/1.45 var(--body,sans-serif);color:#a89372;margin:2px 0 8px}
.ledger-seatbar{height:8px;border-radius:4px;background:#15100b;border:1px solid #3a2d1c;overflow:hidden}
.ledger-seatbar i{display:block;height:100%;background:#d9a441;border-radius:0 3px 3px 0}
.ledger-seat p{font:12px/1.5 var(--body,sans-serif);color:#d5c3a5;margin:7px 0 0}.ledger-seat p span{font-style:italic;color:#bda78c}
.ledger-helpwrap{display:flex;flex-direction:column;gap:12px}
.ledger-help{border:1px solid var(--craft-line);border-radius:12px;padding:12px 16px;background:#1d160fd9}
.ledger-help ul{margin:0;padding-left:18px;font:12.5px/1.6 var(--body,sans-serif);color:#d5c3a5}.ledger-help li{margin-bottom:4px}
.ledger-help b{color:#f3e4c9}
@media(max-width:640px){.ledger-tiles.two,.ledger-seats{grid-template-columns:1fr}}
/* 🏗 the Works tab, 👑 the Crown tab and ⛓ the Gaol tab */
.craft-ledger .craft-tab{min-width:72px;padding:9px 4px;gap:5px;font-size:12.5px}
.ledger-works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ledger-work{border:1px solid var(--craft-line);border-radius:12px;padding:11px 13px;background:#1d160fd9;min-width:0;display:flex;flex-direction:column;gap:6px}
.ledger-work h4{margin:0;font:15px/1.3 var(--display,serif);color:#e5d1ab;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ledger-work h4 small{font:600 9.5px var(--body,sans-serif);letter-spacing:1.2px;text-transform:uppercase;color:#a89372;white-space:nowrap}
.ledger-work p{margin:0;font:11.5px/1.5 var(--body,sans-serif);color:#bda78c}
.ally-intro{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:12px;align-items:start}
.ally-description{min-width:0}.ally-description h4{flex-wrap:wrap;margin-bottom:8px}
.ally-portrait{display:block;width:108px;height:144px;object-fit:contain;object-position:center top;filter:drop-shadow(0 5px 7px #0008)}
@media(max-width:520px){.ally-intro{grid-template-columns:minmax(0,1fr) 76px;gap:8px}.ally-portrait{width:76px;height:102px}}
.ledger-fx{display:flex;flex-wrap:wrap;gap:4px}
.ledger-fx span{padding:2px 7px;border-radius:999px;border:1px solid #4a3a26;background:#15100b;color:#d9c9a8;font:10.5px/1.5 var(--body,sans-serif)}
.ledger-work .ledger-opts{margin-top:auto}
.ledger-work-foot{font-weight:600}
.ledger-work.done{border-color:#4f7a4a;background:#18201590}.ledger-work.done h4 small{color:#9adf9a}
.ledger-work.lvl2{border-color:#c9a24a;background:linear-gradient(160deg,#2a2412,#18201590);box-shadow:inset 0 1px 0 #ffe9a822}.ledger-work.lvl2 h4 small{color:#ffe08a} /* 🏗 level 2 wears gold */
.ledger-work.building{border-color:var(--craft-accent);background:#2a2214}.ledger-work.building h4 small{color:var(--craft-bright)}
.ledger-work.locked{opacity:.62}
.ledger-coup{border-color:#ffd76a;background:linear-gradient(160deg,#3a2c10,#241a0c);box-shadow:0 0 22px #ffd76a33}
.ledger-alert .sbtn.ledger-coupbtn{border-color:#ffd76a;color:#ffe9a8;background:#3a2c10}
/* 🎁 the season bonus under the bank's review: the sum in a table, the button below; green while it waits, quiet once taken */
.ledger-bonus{margin:12px 0 0;padding:12px 14px;border:1px solid #6fa37a;border-radius:12px;background:linear-gradient(160deg,#16301f,#101f16)}
.ledger-bonus.done{border-color:var(--craft-line);background:#1b1a14;opacity:.85}
.ledger-bonus h3{color:#bfe8c8}.ledger-bonus.done h3{color:#cdbf9f}
.ledger-bonus-sum td:last-child{text-align:right;white-space:nowrap}
.ledger-alert .sbtn.ledger-bonusbtn{border-color:#6fa37a;color:#d4f2dc;background:#16301f}
@media(max-width:640px){.ledger-works{grid-template-columns:1fr}}
.ledger-gauge-mark.end span{left:auto;right:0;transform:none}
/* 🏦 the founding loan: the Hand's three pages */
.charter-hand{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;padding:14px 16px;border:1px solid var(--craft-line);border-radius:12px;background:#1d160fd9}
.charter-face{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;font-size:28px;border:1px solid var(--craft-line);border-radius:50%;background:linear-gradient(145deg,#44311dcc,#18110fcc)}
.charter-hand b{font:600 11px var(--body,sans-serif);letter-spacing:1.4px;text-transform:uppercase;color:var(--craft-accent)}
.charter-hand p{font:14px/1.6 var(--display,serif);color:#ead9bb;margin:6px 0 0}.charter-hand p b{font:inherit;letter-spacing:0;text-transform:none;color:#ffe9a8}
.charter-nav{margin-top:14px}.charter-nav .sbtn{min-height:44px}
.charter-sign{flex:2!important;font-size:13px!important}
.charter-dots{display:flex;gap:6px;justify-content:center;margin-top:12px}.charter-dots i{width:8px;height:8px;border-radius:50%;background:#4a3a26}.charter-dots i.on{background:var(--craft-accent)}
.craft-ledger .craft-tab:disabled{opacity:.38;cursor:var(--arrow)}
/* 🏦 the season chart: two lines on one axis, a recessive grid, a crosshair and one tooltip */
.season-wrap{margin:4px 0 14px;padding:12px 14px 8px;border:1px solid var(--craft-line);border-radius:12px;background:#1d160f}
.season-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}.season-head h3{margin:0}
.season-legend{display:flex;gap:14px;flex-wrap:wrap;font:11px var(--body,sans-serif);color:#cdbb9c}
.season-legend .key,.season-tip .key{display:inline-block;width:14px;height:3px;border-radius:2px;margin-right:6px;vertical-align:3px}
.season-legend .key.target,.season-tip .key.target{background:#8f7d64;height:1px}
.season-plot{position:relative}
.season-chart{width:100%;height:auto;display:block;touch-action:none}
.sc-grid{stroke:#33281a;stroke-width:1}.sc-grid.zero{stroke:#5a4a33}
.sc-axis{font:10px var(--body,sans-serif);fill:#8f7d64;paint-order:stroke;stroke:#1d160f;stroke-width:4px;stroke-linejoin:round}
.sc-label{font:600 11px var(--body,sans-serif);fill:#ead9bb;paint-order:stroke;stroke:#1d160f;stroke-width:5px;stroke-linejoin:round}
.sc-target{stroke:#8f7d64;stroke-width:1}
.sc-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.sc-dot{stroke:#1d160f;stroke-width:2}
.sc-cross{stroke:#bda78c;stroke-width:1}
.season-tip{position:absolute;top:8px;width:214px;white-space:nowrap;padding:8px 10px;border:1px solid var(--craft-line);border-radius:8px;background:#120d08f2;font:11px/1.55 var(--body,sans-serif);color:#bda78c;pointer-events:none}
.season-tip b{color:#f3e4c9;font-weight:700}.season-tip-head{font-weight:600;color:var(--craft-accent);letter-spacing:.6px;margin-bottom:3px}
.season-table{margin-top:4px;font:11px var(--body,sans-serif);color:#a89372}.season-table summary{cursor:var(--hand);padding:4px 0}.season-table table{margin-top:6px}
.season-table td{text-align:right}.season-table td:first-child{text-align:left}
.season-pick{margin-bottom:12px}.season-pick .sbtn{flex:0 1 110px;min-width:90px}
/* 🌾 the granary panel on the Overview */
.ledger-granary{margin-bottom:14px}.ledger-granary.low{border-color:#c98500}.ledger-granary.hungry{border-color:#a0533f;background:#2a1812}
.ledger-granary p b{color:#f3e4c9}.ledger-granary-foot{margin:8px 0 0!important}
.granary-bar{height:10px;margin:2px 0 10px}.granary-bar i{background:#c9a24a}
.ledger-granary.low .granary-bar i{background:#c98500}.ledger-granary.hungry .granary-bar i{background:#e66767}
/* 🌬 the winds under the Overview tiles */
.ledger-winds{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 12px;font:11.5px/1.5 var(--body,sans-serif);color:#bda78c}
.ledger-winds>span:first-child{flex-basis:100%;font-style:italic}
.ledger-winds .wind{padding:3px 10px;border:1px solid #4a3a26;border-radius:999px;background:#15100b;color:#cdbb9c}.ledger-winds .wind b{color:#f3e4c9}
.ledger-winds .wind.good{border-color:#4f7a4a}.ledger-winds .wind.good b{color:#9adf9a}.ledger-winds .wind.bad{border-color:#a0533f}.ledger-winds .wind.bad b{color:#ff8a7a}
/* 🎲 the season's card on the Overview */
.ledger-season{margin-bottom:14px;border-color:var(--craft-accent);background:#2a2214}.ledger-season.ordinary{border-color:var(--craft-line);background:#1d160fd9}
.ledger-season p{margin-bottom:6px!important}
.ledger-fx span.good{border-color:#4f7a4a;color:#bfe0b8}.ledger-fx span.bad{border-color:#a0533f;color:#ffc9bd}
.ledger-counsel{border-color:#8a6d3a;background:#241c10}.ledger-counsel .ledger-voice{font-size:13px;color:#ecdcb8;border-left:3px solid var(--craft-accent);padding-left:10px;margin:4px 0 10px}
.sc-proj{fill:none;stroke-width:2;stroke-dasharray:5 6;stroke-linecap:round;opacity:.8}.sc-cone{opacity:.13}.sc-guess{opacity:.8;font-style:italic}.season-legend .key.guess{background:repeating-linear-gradient(90deg,#cdbb9c 0 4px,transparent 4px 8px)}.season-guess{margin-top:8px}
.ledger-seat.mine{border-color:var(--craft-accent);background:#2a2214}
.talk{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:start}.talk-portrait{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 10px;border:1px solid var(--craft-accent);border-radius:14px;background:radial-gradient(circle at 50% 30%,#3a2c16,#1d160f);text-align:center}
.talk-portrait img{width:190px;height:auto;filter:drop-shadow(0 6px 10px #000a)}.talk-portrait b{font:700 15px/1.2 Georgia,serif;color:#f0e2c4;margin-top:6px}.talk-portrait small{font:11px/1.3 var(--body,sans-serif);color:#a8977a}
.talk-mood{font:700 13px/1 Georgia,serif;margin-top:8px;letter-spacing:.04em;text-transform:uppercase}.talk-pips{display:flex;gap:5px;margin-top:8px}.talk-pips i{width:16px;height:7px;border-radius:4px;background:#3a2f22;border:1px solid #5a4a36}.talk-pips i.on{background:#d9a441;border-color:#ffd76a}
.talk-bubble{position:relative;margin:0 0 14px;padding:14px 16px;border:1px solid #8a6d3a;border-radius:14px;background:#2a2214}.talk-bubble:before{content:"";position:absolute;left:-9px;top:34px;width:16px;height:16px;background:#2a2214;border-left:1px solid #8a6d3a;border-bottom:1px solid #8a6d3a;transform:rotate(45deg)}
.talk-bubble p{font:italic 14.5px/1.6 Georgia,serif;color:#f0e2c4;margin:0}.talk-bubble small{display:block;margin-top:8px;font:11px/1 var(--body,sans-serif);color:#a8977a}
.talk-bid{margin:0 0 12px;padding:12px 14px;border:1px solid var(--craft-line);border-radius:12px;background:#1d160fd9;text-align:center}.talk-bid>span{display:block;font:700 10.5px/1 var(--body,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#d9a441}.talk-bid>b{display:block;font:400 28px/1.2 Georgia,serif;color:#f0e2c4;margin:4px 0 0}.talk-bid>small{display:block;color:#a8977a;font-size:11px;margin-bottom:8px}
@media(max-width:700px){.talk{grid-template-columns:1fr}}

/* The royal book: fixed navigation, a readable page and quiet brass detailing. */
#ledgerFx .craft-ledger{--craft-accent:#d6b470;--craft-bright:#fff0cd;--craft-line:#6f5839;--craft-soft:#d6b47012;--body:system-ui,-apple-system,"Segoe UI",sans-serif;width:min(100%,1140px);height:min(920px,100%);display:grid;grid-template-columns:164px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto;column-gap:24px;padding:26px;border-color:#a0804d;background:linear-gradient(#1b120a45,#1b120a70),url('../ui/ui_allt.png') center/cover no-repeat #342011;box-shadow:0 30px 100px #000b,inset 0 0 0 5px #d6b47007,inset 0 1px #f6deb633}
#ledgerFx .craft-header{grid-column:1/-1;min-width:0;margin-bottom:22px;padding:0 0 20px;background:none}
#ledgerFx .craft-header>div:nth-child(2){min-width:0}
#ledgerFx .craft-title{font-size:34px;letter-spacing:.4px}
#ledgerFx .craft-subtitle{font-size:12px;max-width:760px;color:#bdad95}
#ledgerFx .ledger-seal{width:64px;height:72px;flex-basis:64px;border-radius:14px 14px 28px 28px;background:linear-gradient(150deg,#76533355,#302218);box-shadow:inset 0 0 0 4px #1c140d,inset 0 0 0 5px #b8955140,0 5px 14px #0003}
#ledgerFx #ledgerTabs{grid-column:1;grid-row:2;display:flex;flex-direction:column;flex-wrap:nowrap;gap:6px;min-height:0;overflow-y:auto;margin:0;padding:0 12px 4px 0;border-right:1px solid #d6b47026;scrollbar-width:thin;scrollbar-color:#6f5839 transparent}
#ledgerFx .craft-tab{flex:0 0 auto;justify-content:flex-start;text-align:left;min-width:0;min-height:43px;padding:11px 12px;border:1px solid transparent;border-radius:8px;color:#c0ae93;background:transparent;font:500 12px/1.35 var(--body);box-shadow:none}
#ledgerFx .craft-tab:not(:disabled):hover{border-color:#896d413d;background:#d6b4700d;color:#fff0cd}
#ledgerFx .craft-tab.active{color:#fff0cd;border-color:#ad854b80;background:linear-gradient(90deg,#75522966,#46311e33);box-shadow:inset 3px 0 #d6b470}
#ledgerFx .craft-tab.alert::after{top:7px;right:6px;width:6px;height:6px}
#ledgerFx>.craft-ledger>.craft-scroll{grid-column:2;grid-row:2;padding:0 10px 8px 0;scrollbar-gutter:stable}
#ledgerFx #ledgerBody{min-width:0;outline-offset:-2px}
#ledgerFx #ledgerMsg{grid-column:2;grid-row:3;min-height:0;margin:0;padding-top:8px;font-size:12px}
#ledgerFx #ledgerMsg:empty{padding:0}
#ledgerFx .craft-footer{grid-column:1/-1;grid-row:4;margin-top:18px;padding-top:16px;border-color:#d6b47026}
#ledgerFx .craft-footer>span{color:#ad9b80}
#ledgerFx .ledger-tiles{gap:12px;margin-bottom:18px}
#ledgerFx .ledger-tile{position:relative;gap:7px;padding:16px;border-color:#b6965838;border-radius:10px;background:linear-gradient(140deg,#43302080,#211a14);box-shadow:inset 0 1px #fff0cd0a}
#ledgerFx .ledger-tile span{font-size:10px;letter-spacing:1.35px;color:#bfa273}
#ledgerFx .ledger-tile b{font-size:26px;line-height:1.15;font-variant-numeric:tabular-nums;color:#f3e4c9}
#ledgerFx .ledger-tile small{font-size:11px;line-height:1.55;color:#b9aa92}
#ledgerFx .ledger-tile:first-child{border-color:#b6965866;background:linear-gradient(140deg,#62462855,#211a14)}
#ledgerFx :is(.ledger-line,.ledger-work,.ledger-seat,.ledger-help,.season-wrap){border-color:#b6965838;border-radius:10px;background-color:#211a14;padding:16px}
#ledgerFx :is(.ledger-line,.ledger-work,.ledger-seat) h3{font-size:19px;margin-bottom:5px}
#ledgerFx :is(.ledger-line,.ledger-work,.ledger-seat) p{font-size:12px;line-height:1.65;color:#c0b097}
#ledgerFx .sbtn{background:linear-gradient(#493725,#302419);border-color:#8f714b80;border-radius:7px;font-size:12px;color:#e5d3b4;min-height:42px}
#ledgerFx .sbtn.gold,#ledgerFx .sbtn.on{border-color:#c9a35f;background:linear-gradient(#695030,#42301d);color:#fff0cd}
#ledgerFx .ledger-opts{gap:7px}
#ledgerFx .ledger-opts .sbtn{padding:10px 8px}
#ledgerFx .ledger-opts .sbtn small{font-size:10px;color:#bfb097}
#ledgerFx .ledger-counsel{border-left:3px solid #b39358;background:linear-gradient(120deg,#46331e55,#211a14)}
#ledgerFx .ledger-cols{gap:20px;margin:16px 0}
#ledgerFx .ledger-cols>section{min-width:0}
#ledgerFx .ledger-table{font-size:12px;line-height:1.6}
#ledgerFx .ledger-table td{padding:9px 5px;border-color:#b6965826}
#ledgerFx .ledger-table td:last-child{font-variant-numeric:tabular-nums}
#ledgerFx .ledger-table tr:nth-child(even){background:#d6b47004}
#ledgerFx .ledger-work.done{border-color:#57764799;background:#27332240}
#ledgerFx .ledger-work.building{border-color:#b39358;background:#52402240}
#ledgerFx .ledger-work.lvl2{border-color:#c9a24a}
#ledgerFx .ledger-seat.mine{border-color:#b39358;background:#52402240}
#ledgerFx .ledger-net{border-color:#b6965855;padding:13px 16px}
#ledgerFx .season-tip{width:min(300px,100%);box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;line-height:1.6;box-shadow:0 8px 24px #0008}
#ledgerFx .season-table{overflow-x:auto}
#ledgerFx.peek .craft-ledger{grid-template-columns:minmax(0,1fr);width:min(100%,960px)}
#ledgerFx.peek>.craft-ledger>.craft-scroll,#ledgerFx.peek #ledgerMsg{grid-column:1}
@media(max-width:900px){#ledgerFx .craft-ledger{column-gap:16px;padding:20px;grid-template-columns:140px minmax(0,1fr)}#ledgerFx .ledger-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}#ledgerFx .ledger-cols,#ledgerFx .ledger-works{grid-template-columns:1fr}}
@media(max-width:760px){
 #ledgerFx .craft-ledger{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:0;padding:16px;width:100%}
 #ledgerFx .craft-header{margin-bottom:12px;padding-bottom:12px;gap:12px}
 #ledgerFx .craft-title{font-size:26px}#ledgerFx .ledger-seal{width:44px;height:52px;flex-basis:44px;font-size:26px}
 #ledgerFx .craft-subtitle{font-size:11px}#ledgerFx .ledger-helpbtn{flex-basis:32px;width:32px;height:32px}
 #ledgerFx #ledgerTabs{grid-column:1;grid-row:2;flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:0 0 10px;margin-bottom:10px;border-right:0;border-bottom:1px solid #d6b47026}
 #ledgerFx .craft-tab{white-space:nowrap;min-height:40px;padding:10px 12px}
 #ledgerFx .craft-tab.active{box-shadow:inset 0 -2px #d6b470}
 #ledgerFx>.craft-ledger>.craft-scroll{grid-column:1;grid-row:3;padding-right:5px}
 #ledgerFx #ledgerMsg{grid-column:1;grid-row:4}#ledgerFx .craft-footer{grid-row:5;margin-top:12px;padding-top:12px}
 #ledgerFx .ledger-tile{padding:13px}#ledgerFx .ledger-tile b{font-size:23px}
 #ledgerFx .ledger-tiles.two,#ledgerFx .ledger-seats{grid-template-columns:1fr}
 #ledgerFx .talk-portrait img{max-height:180px;width:auto;max-width:100%}
}
@media(max-width:420px){#ledgerFx .ledger-tiles{grid-template-columns:1fr}#ledgerFx .ledger-seal{display:none}#ledgerFx .craft-title{font-size:24px}}
@media(max-height:600px){#ledgerFx .craft-ledger{padding:14px 18px}#ledgerFx .craft-header{margin-bottom:10px;padding-bottom:10px}#ledgerFx .craft-title{font-size:26px}#ledgerFx .craft-subtitle{display:none}#ledgerFx .ledger-seal{height:42px;width:42px;flex-basis:42px;font-size:24px}#ledgerFx .craft-footer{margin-top:8px;padding-top:8px}}
/* 🚨 the council's favour under 35 (councilAlarm in game.js): the Crown Ledger card and the Council tab pulse red */
@keyframes ledger-danger{0%,100%{box-shadow:0 0 0 0 rgba(255,64,40,0);border-color:#a0533f}50%{box-shadow:0 0 16px 4px rgba(255,64,40,.8);border-color:#ff4a2e}}
.ledger-danger{animation:ledger-danger 1s ease-in-out infinite;border-color:#ff4a2e!important;color:#ffd0c4!important;background:#3a1d16!important}
@media (prefers-reduced-motion:reduce){.ledger-danger{animation:none;box-shadow:0 0 12px 3px rgba(255,64,40,.7)}}
/* ⚔ war with the allies (2026-09-26): the sword beside a ruler's name, his goodwill toward the crown and why, and the war box */
.ally-sword{margin-left:6px;width:26px;height:26px;padding:0;border-radius:7px;border:1px solid #8f4a3a;background:linear-gradient(#4a2419,#2c140e);color:#ffc7b8;font-size:14px;line-height:1;cursor:var(--hand);vertical-align:middle}
.ally-sword:hover:not(:disabled){border-color:#ff7a5c;color:#fff0ea;box-shadow:0 0 8px rgba(255,90,60,.45)}
.ally-sword:focus-visible{outline:2px solid #ffd76a;outline-offset:2px}
.ally-sword:disabled{opacity:.38;cursor:not-allowed}
.ally-atwar{margin-left:6px;padding:1px 7px;border-radius:999px;border:1px solid #c0503a;background:#3a1710;color:#ffb3a3;font:600 10.5px/1.6 var(--body,sans-serif);vertical-align:middle}
.ledger-work.at-war{border-color:#a0533f;box-shadow:inset 0 0 0 1px #5a2418}
.ally-goodwill{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;font:11px var(--body,sans-serif);color:#cdbb9c}
.ally-goodwill small{font-size:10.5px;color:#d9c9a8;white-space:nowrap}
.ally-gwbar{position:relative;height:8px;border-radius:4px;background:#15100b;border:1px solid #3a2d1c}
.ally-gwbar i{display:block;height:100%;border-radius:3px 0 0 3px}
.ally-gwbar b{position:absolute;top:-3px;bottom:-3px;width:2px;background:#e0413a;transform:translateX(-1px)}
.ally-gwbar em{position:absolute;top:-4px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #f3e6c8;transform:translateX(-4px)}
.ally-reasons{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.ally-reasons li{font:italic 11px/1.45 var(--body,sans-serif);color:#d9c9a8;display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px}
.ally-reasons li b{font-style:normal;font-weight:700;text-align:right}
.ally-reasons li.neg b{color:#ff9f8a}.ally-reasons li.pos b{color:#9fd49a}
.ally-truce{margin:0;font:600 11px var(--body,sans-serif);color:#bfe0b8}
.ally-war{border:1px solid #7a3a2c;border-radius:10px;padding:9px 10px;background:#241310;display:flex;flex-direction:column;gap:7px}
.ally-war h5{margin:0;font:700 13px var(--body,sans-serif);color:#ffcfbf}.ally-war h5 small{font-weight:400;color:#c9a592;margin-left:4px}
.ally-strength{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;font:11px var(--body,sans-serif);color:#e0c2b4}
.ledger-seatbar.war i{background:#c8402e}
