/* FAJRUM D2 — the foundry's accounting book, real figures / original actions.
   Preserves the existing forest-glassworks art and original game actions. */
#app .fj-d2-accounts{
  --d2-brass:#b88a50;--d2-brass-edge:rgba(173,128,77,.48);
  --d2-shadow:rgba(11,8,4,.26);--d2-danger:#c45e45;
  min-width:0;
}
/* The existing accounts illustration is not redrawn or stretched. */
#app .fj-d2-accounts .fj-d2-accounts-art{
  border:2px solid #916a42;border-radius:7px;overflow:hidden;
  box-shadow:0 6px 20px var(--d2-shadow),inset 0 0 0 1px #e8c38a36;
}
#app .fj-d2-accounts-art .fj-section-art-figure{position:relative;min-width:0;}
#app .fj-d2-accounts-art .fj-section-art-caption h2{
  color:#ffdfad;font-size:clamp(21px,2.5vw,27px);text-shadow:0 3px 9px #000d;
}
#app .fj-d2-etched-corners{
  position:absolute;inset:9px;z-index:3;pointer-events:none;border:1px solid #f4c68a6b;
  border-radius:2px;background:url('brass-corner.svg') left top / 40px 40px no-repeat,
  url('brass-corner.svg') right top / 40px 40px no-repeat;
  box-shadow:inset 0 0 0 2px #140d071a;
}
/* D2R replaces the early experimental counters with a paper account ledger.
   The book layout and texture are defined in the historical correction below. */
/* Original UI: nothing is cloned, action buttons stay connected. */
#app .fj-d2-ledger-section{
  position:relative;isolation:isolate;overflow:hidden;
  border:1px solid var(--d2-brass-edge);border-top:3px double #a87d4d;
  background:linear-gradient(125deg,#9c6b3510,transparent 35%,#3b29130e),var(--fj-surface);
  box-shadow:0 4px 19px #0002,inset 0 0 0 1px #d2ab791a;
}
#app .fj-d2-ledger-section::before{
  content:'';position:absolute;right:8px;top:6px;width:39px;height:39px;z-index:-1;pointer-events:none;opacity:.42;
  background:url('brass-corner.svg') center/contain no-repeat;transform:rotate(90deg);
}
#app .fj-d2-ledger-section-title{
  margin:0 0 16px!important;padding:0 0 11px!important;border-bottom:3px double var(--d2-brass-edge);
  color:var(--ink);font:700 clamp(16px,2vw,20px)/1.4 Georgia,serif!important;
}
#app .fj-d2-active-contracts{
  position:relative;min-width:0;margin:0 0 15px!important;padding:12px!important;
  border:1px solid var(--d2-brass-edge)!important;border-left:4px solid #9e7647!important;border-radius:5px!important;
  background:linear-gradient(140deg,#ad7b2a16,transparent 72%),var(--card)!important;
  box-shadow:0 2px 8px #00000014;
}
#app .fj-d2-active-contracts>div:first-child{font:700 14px/1.35 Georgia,serif!important;color:var(--ink)!important;gap:8px;flex-wrap:wrap;}
#app .fj-d2-active-contracts>div:first-child button{min-height:44px;}
#app .fj-d2-active-contracts .fj-contract-card{background:var(--fj-surface);border-color:var(--d2-brass-edge);border-radius:4px;}
#app .fj-d2-ledger-columns{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:start;
}
#app .fj-d2-ledger-columns>div{
  min-width:0;padding:11px;position:relative;border:1px solid var(--d2-brass-edge);
  border-top:3px solid #916943;border-radius:5px;
  background:linear-gradient(160deg,#bc925920,transparent 41%),var(--card);
  box-shadow:inset 0 0 0 1px #ebd1a20b,0 4px 10px #0001;
}
#app .fj-d2-pane-heading{
  min-width:0;display:flex;align-items:center;gap:7px;padding:2px 0 10px!important;margin-bottom:11px!important;
  border-bottom:2px double var(--d2-brass-edge)!important;
  color:var(--ink)!important;font:700 16px/1.35 Georgia,serif!important;
}
#app .fj-d2-finance-pane>div:not(.fj-d2-pane-heading){margin-bottom:11px!important;min-width:0;}
#app .fj-d2-cash-panel,#app .fj-d2-expenditure-panel,#app .fj-d2-projection-panel,#app .fj-d2-repayment-panel,#app .fj-d2-factor-panel{
  position:relative;border:1px solid var(--d2-brass-edge)!important;border-radius:4px!important;
  background:linear-gradient(165deg,#ab79321b,transparent 75%),var(--fj-surface)!important;
  padding:11px 12px!important;box-shadow:0 2px 7px #00000015;
}
#app .fj-d2-cash-panel{border-left:4px solid #a17e4e!important;}
#app .fj-d2-cash-panel strong{font:700 18px/1.3 Georgia,serif!important;white-space:nowrap;}
#app .fj-d2-expenditure-panel{border-left:4px solid #9e7444!important;}
#app .fj-d2-repayment-panel,#app .fj-d2-projection-panel{border-left:4px solid var(--danger)!important;}
#app .fj-d2-factor-panel{
  border-left:4px solid #967446!important;
  background-image:linear-gradient(120deg,#ca945719,transparent 80%),url('../img/ui/surface-paper.webp')!important;
  background-size:auto,cover!important;background-blend-mode:normal,soft-light!important;
}
#app .fj-d2-factor-panel [data-partner="Weiss"]{color:var(--ink)!important;font:700 14px/1.35 Georgia,serif!important;}
#app .fj-d2-finance-pane :is(.fj-d2-expenditure-panel,.fj-d2-projection-panel,.fj-d2-repayment-panel)>div:first-child{font:700 13px/1.4 Georgia,serif!important;color:var(--ink)!important;margin-bottom:8px!important;}
#app .fj-d2-ledger-section .fj-d2-account-action{
  min-height:44px!important;min-width:57px;white-space:normal;
  padding:8px 11px!important;border:1px solid var(--d2-brass-edge)!important;
  border-radius:4px!important;color:var(--ink)!important;
  background:linear-gradient(145deg,#b7884a20,transparent 65%),var(--card)!important;
  box-shadow:inset 0 1px #fff1;line-height:1.3!important;
}
#app .fj-d2-ledger-section .fj-d2-account-action:hover{border-color:var(--d2-brass)!important;}
#app .fj-d2-ledger-section .fj-d2-account-action:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
#app .fj-d2-offer{
  border:1px solid var(--d2-brass-edge)!important;border-left:3px solid #906d43!important;
  border-radius:4px!important;background:linear-gradient(120deg,#9b754316,transparent),var(--fj-surface)!important;
  box-shadow:0 2px 8px #00000013;min-width:0;
}
#app .fj-d2-reputation{
  position:relative;margin:16px 0 0!important;padding:15px 0 0!important;
  border-top:3px double var(--d2-brass-edge)!important;
}
#app .fj-d2-reputation-heading{margin-bottom:11px!important;font:700 17px/1.4 Georgia,serif!important;color:var(--ink)!important;}
#app .fj-d2-reputation .fj-accounts-reputation-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
}
#app .fj-d2-reputation-card{
  min-width:0;position:relative;padding:13px 11px!important;
  border:1px solid var(--d2-brass-edge)!important;border-top:3px solid #9b7750!important;
  border-radius:4px!important;box-shadow:0 2px 8px #00000013;
  background:linear-gradient(145deg,#b288491a,transparent 70%),var(--card)!important;
}
#app .fj-d2-reputation-card::before{
  content:'✥';position:absolute;right:9px;bottom:6px;pointer-events:none;
  font:30px/1 Georgia,serif;color:var(--d2-brass);opacity:.11;
}
#app .fj-d2-reputation-card[data-faction="church"]::before{content:'✝';}
#app .fj-d2-reputation-card[data-faction="noble"]::before{content:'♜';}
#app .fj-d2-reputation-card[data-faction="trade"]::before{content:'⚖';}
#app .fj-d2-reputation-card>div:first-child{display:flex;flex-wrap:wrap;gap:3px;}
#app .fj-d2-reputation-card>div:first-child>span:nth-child(2){font:700 13px/1.4 Georgia,serif!important;color:var(--ink)!important;}
#app .fj-d2-reputation-card>div:first-child>span:last-child{font:700 18px/1.1 Georgia,serif!important;color:var(--ink)!important;}
#app .fj-d2-fama-track{height:9px!important;border:1px solid var(--d2-brass-edge);border-radius:5px!important;background:color-mix(in srgb,var(--fj-muted),transparent 85%)!important;}
#app .fj-d2-fama-track>div{height:100%!important;border-radius:4px!important;}
#app .fj-d2-reputation-card>div:nth-child(3){font-size:11px!important;line-height:1.45;overflow-wrap:anywhere;}
#app .fj-d2-accounts :is(.fj-d2-offers-pane,.fj-d2-finance-pane,.fj-d2-ledger-section) button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
/* Mobile phones: one continuous book page, no tiny half-width tables or controls. */
@media(max-width:959px){
 #app:not(.desktop) .fj-d2-ledger-columns{grid-template-columns:minmax(0,1fr)!important;}
 #app .fj-d2-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
 #app .fj-d2-metric{min-height:72px;padding:9px 10px;}
 #app .fj-d2-reputation .fj-accounts-reputation-grid{grid-template-columns:minmax(0,1fr)!important;}
 #app .fj-d2-reputation-card{padding:11px!important;}
 #app .fj-d2-ledger-columns>div{padding:10px;}
}
@media(min-width:960px) and (max-width:1199px){
 #app.desktop .fj-d2-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
 #app.desktop .fj-d2-reputation .fj-accounts-reputation-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:375px){
 #app .fj-d2-book-header{padding:11px;margin:8px 8px 10px;}
 #app .fj-d2-book-top{margin-bottom:10px;}
 #app .fj-d2-glyph{width:45px;height:45px;flex-basis:45px;}
 #app .fj-d2-glyph img{width:36px;height:36px;}
 #app .fj-d2-book-seal{display:none;}
 #app .fj-d2-book-lead{gap:9px;}
 #app .fj-d2-kicker{font-size:8px;letter-spacing:.55px;}
 #app .fj-d2-book-title h2{font-size:22px;}
 #app .fj-d2-book-title p{font-size:11px;}
 #app .fj-d2-metrics{gap:6px;}
 #app .fj-d2-metric-label{font-size:10px;}
 #app .fj-d2-metric-value{font-size:19px;}
 #app .fj-d2-metric{padding:8px;min-height:66px;}
 #app .fj-d2-warning-copy strong{font-size:11px;}
 #app .fj-d2-warning-copy span{font-size:10px;}
 #app .fj-d2-active-contracts{padding:9px!important;}
 #app .fj-d2-ledger-section{padding:11px!important;}
 #app .fj-d2-finance-pane .fj-d2-cash-panel strong{font-size:16px!important;}
}
@media(max-height:500px) and (orientation:landscape){
 #app .fj-d2-book-header{padding:10px 12px;}
 #app .fj-d2-glyph{width:43px;height:43px;flex-basis:43px;}
 #app .fj-d2-glyph img{width:34px;height:34px;}
 #app .fj-d2-book-seal{display:none;}
 #app .fj-d2-metric{min-height:60px;padding:8px;}
}
@media(prefers-reduced-motion:reduce){#app .fj-d2-accounts *{transition:none!important;}}

/* ── D2R (1680): historical correction, 15 Oct 2026 ───────────────────
   The real accounts.webp scene is THE art. This UI is a handwritten
   accounting register, not a brass dashboard or an invented machine.
   Scope all additions to Accounts to avoid touching Furnace/Market. */
#app .fj-d2-accounts{
  --d2r-ink:#372619;
  --d2r-faded:#765c45;
  --d2r-rule:rgba(96,66,40,.35);
  --d2r-paper:#eadcc3;
  --d2r-wax:#8d4838;
}
#app .fj-d2-accounts .fj-d2-book-header{
  margin:10px 10px 13px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--fj-edge);
  border-left:4px solid #8b6740;
  border-top:1px solid var(--fj-edge);
  border-radius:3px 7px 7px 3px;
  background:var(--d2r-paper);
  box-shadow:4px 6px 15px #0002, inset 5px 0 0 #4f331a17;
}
#app .fj-d2-accounts .fj-d2-book-header::before{
  background:url('../img/ui/surface-paper.webp') center/560px auto repeat;
  opacity:.5;
  mix-blend-mode:multiply;
}
#app .fj-d2-accounts .fj-d2-book-header::after{
  display:none;
}
#app .fj-d2-accounts .fj-d2-book-top{
  position:relative;
  margin:0;
  padding:14px 17px 12px;
  gap:10px;
  border-bottom:3px double var(--d2r-rule);
  background:linear-gradient(90deg,#6b482112,transparent 38%,#8f612411);
}
#app .fj-d2-accounts .fj-d2-book-lead{align-items:center;gap:12px;}
#app .fj-d2-accounts .fj-d2-glyph{
  flex:0 0 53px;width:53px;height:53px;
  border:1px solid #876844;
  border-radius:2px;
  background:#d8c29b;
  box-shadow:inset 0 0 0 3px #ead6b5;
}
#app .fj-d2-accounts .fj-d2-glyph img{
  width:47px;height:47px;
  filter:sepia(.45) contrast(.95);
}
#app .fj-d2-accounts .fj-d2-kicker{
  color:var(--d2r-faded);
  letter-spacing:.65px;
  font:700 9px/1.4 Georgia,serif;
}
#app .fj-d2-accounts .fj-d2-book-title h2{
  color:var(--d2r-ink);
  font:700 clamp(22px,2.3vw,29px)/1.2 Georgia,serif;
  margin:2px 0 3px;
}
#app .fj-d2-accounts .fj-d2-book-title p{
  color:var(--d2r-faded);
  font:italic 12px/1.5 Georgia,serif;
}
#app .fj-d2-accounts .fj-d2-book-seal{
  display:block;
  flex:0 0 auto;
  width:auto;height:auto;
  padding:5px 8px;
  border:1px solid var(--d2r-rule);
  border-radius:1px;
  color:var(--d2r-faded);
  background:transparent;
  box-shadow:none;
  font:italic 12px/1.35 Georgia,serif;
  letter-spacing:.1px;
  transform:none;
  white-space:nowrap;
}
#app .fj-d2-accounts .fj-d2-ledger-sheet{
  position:relative;
  padding:15px 18px 14px;
  background:linear-gradient(150deg,#fff9ec27,transparent 65%);
}
#app .fj-d2-accounts .fj-d2-ledger-heading{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
  padding:0 0 8px;
  border-bottom:1px solid var(--d2r-rule);
  color:var(--d2r-faded);
  font:italic 12px/1.3 Georgia,serif;
}
#app .fj-d2-accounts .fj-d2-ledger-heading span:last-child{
  font-size:10px;
}
#app .fj-d2-accounts .fj-d2-ledger-entries{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 20px;
  margin:0;
  padding:2px 0;
  color:var(--d2r-ink);
}
#app .fj-d2-accounts .fj-d2-ledger-entry{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:12px 0;
  border-bottom:1px solid var(--d2r-rule);
  background:none;
}
#app .fj-d2-accounts .fj-d2-ledger-label{
  min-width:0;
  color:var(--d2r-ink);
  font:normal 13px/1.35 Georgia,serif;
}
#app .fj-d2-accounts .fj-d2-ledger-value{
  flex:0 0 auto;
  margin:0;
  color:var(--d2r-ink);
  font:700 clamp(17px,2vw,22px)/1.25 Georgia,serif;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
#app .fj-d2-accounts .fj-d2-ledger-entry[data-alert="true"] .fj-d2-ledger-value{
  color:var(--d2r-wax);
}
#app .fj-d2-accounts .fj-d2-ledger-note{
  position:relative;
  margin:10px 0 0;
  padding:10px 0 0 18px;
  color:var(--d2r-faded);
  font:italic 12px/1.5 Georgia,serif;
}
#app .fj-d2-accounts .fj-d2-ledger-note::before{
  content:'✒';position:absolute;left:0;top:9px;
  font-size:12px;
}
#app .fj-d2-accounts .fj-d2-ledger-note[data-status="short"]{
  color:var(--d2r-wax);
}
/* The remaining entries are parchment leaves and contracts, not controls on
   a dashboard. Retain the original accounting actions and their handlers. */
#app .fj-d2-accounts .fj-d2-ledger-section{
  border-top:2px solid #917048;
  border-left:1px solid var(--d2-brass-edge);
  border-right:1px solid var(--d2-brass-edge);
  background:linear-gradient(120deg,#95754512,transparent 45%),var(--fj-surface);
  box-shadow:0 3px 12px #00000016;
}
#app .fj-d2-accounts .fj-d2-ledger-columns>div{
  border-top:2px solid #9d794c;
  background:linear-gradient(155deg,#b48a4917,transparent 55%),var(--card);
  box-shadow:0 2px 7px #0001;
}
#app .fj-d2-accounts :is(.fj-d2-cash-panel,.fj-d2-expenditure-panel,.fj-d2-projection-panel,.fj-d2-repayment-panel,.fj-d2-factor-panel){
  border:1px solid var(--d2-brass-edge)!important;
  border-left:3px solid #917047!important;
  background:linear-gradient(120deg,#a78a5712,transparent 65%),var(--fj-surface)!important;
  box-shadow:0 2px 6px #00000010;
}
#app .fj-d2-accounts :is(.fj-d2-repayment-panel,.fj-d2-projection-panel){
  border-left-color:#955346!important;
}
#app .fj-d2-accounts .fj-d2-factor-panel{
  background:linear-gradient(100deg,#fff6df12,transparent 70%),var(--fj-surface)!important;
}
#app .fj-d2-accounts .fj-d2-account-action{
  border-radius:2px!important;
  background:var(--card)!important;
  box-shadow:inset 0 -1px #61452215!important;
}
#app .fj-d2-accounts .fj-d2-reputation{
  border-top:2px double var(--d2-brass-edge)!important;
}
#app .fj-d2-accounts .fj-d2-reputation-card{
  border:1px solid var(--d2-brass-edge)!important;
  border-left:3px solid #9a7447!important;
  border-top:1px solid var(--d2-brass-edge)!important;
  border-radius:2px!important;
  background:linear-gradient(130deg,#ac864915,transparent 75%),var(--card)!important;
}
#app .fj-d2-accounts .fj-d2-reputation-card>div:first-child>span:last-child{
  font-family:Georgia,serif;
  color:var(--ink)!important;
}
/* The numerical Fama percentage and actual threshold text remain on screen.
   The bar and its bright modern step indicators are hidden only in Accounts. */
#app .fj-d2-accounts .fj-d2-fama-track{display:none!important;}
#app .fj-d2-accounts .fj-d2-reputation-card>div:last-child:not(:first-child){
  /* Existing tiny decorative achievement dots should resemble ink marks. */
  opacity:.62;
}
#app .fj-d2-accounts .fj-d2-accounts-art .fj-section-art-figure{
  /* Source image is unchanged; preserve its framing. */
  background-color:#211a12;
}
@media (max-width:620px){
 #app .fj-d2-accounts .fj-d2-ledger-entries{grid-template-columns:minmax(0,1fr);}
 #app .fj-d2-accounts .fj-d2-ledger-entry{padding:10px 0;}
 #app .fj-d2-accounts .fj-d2-ledger-sheet{padding:12px 14px;}
 #app .fj-d2-accounts .fj-d2-book-top{padding:12px 13px 10px;}
 #app .fj-d2-accounts .fj-d2-book-header{margin:10px 8px 12px;}
}
@media (max-width:350px){
 #app .fj-d2-accounts .fj-d2-ledger-label{font-size:12px;}
 #app .fj-d2-accounts .fj-d2-ledger-value{font-size:19px;}
 #app .fj-d2-accounts .fj-d2-book-seal{display:none;}
}
@media (prefers-reduced-motion:reduce){
 #app .fj-d2-accounts .fj-d2-ledger-entry{transition:none!important;}
}
