/* FAJRUM D1 — market and new-contract dialog, in the C2b forged/brass language.
   All selectors are scoped to D1; contract logic and buttons remain original. */
#app .fj-d1-market{--d1-brass:#b88b50;--d1-edge:rgba(175,129,75,.43);--d1-shadow:#0c090530;}
#app .fj-d1-market-scene{position:relative;border:2px solid #90683f;border-radius:7px;box-shadow:0 6px 20px var(--d1-shadow),inset 0 0 0 1px #f1cc9140;overflow:hidden;}
#app .fj-d1-market-scene .fj-section-art-figure{min-width:0;}
#app .fj-d1-market-scene .fj-section-art-caption h2{font-size:clamp(20px,2.2vw,27px);color:#ffdfaa;text-shadow:0 3px 10px #000e;}
#app .fj-d1-market-scene .fj-section-art-figure::after{background:linear-gradient(180deg,transparent 16%,#130d07a6 79%,#130a05f0);}
#app .fj-d1-scene-engraving{position:absolute;inset:9px;z-index:3;border:1px solid #f1c99065;pointer-events:none;border-radius:2px;background:url('brass-corner.svg') left top/40px 40px no-repeat,url('brass-corner.svg') right top/40px 40px no-repeat;}
/* The book header is related to the furnace instrument plate, not another hero. */
#app .fj-d1-market-ledger{position:relative;isolation:isolate;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:9px 10px 11px;padding:14px 15px;border:1px solid var(--fj-edge);border-top:3px solid var(--d1-brass);border-radius:5px;overflow:hidden;background:linear-gradient(118deg,#a46b2815,transparent 45%,#331d0c17),var(--card);box-shadow:0 5px 18px var(--d1-shadow),inset 0 0 0 1px #ddb77e16;}
#app .fj-d1-market-ledger::before{content:'';position:absolute;inset:0;z-index:-1;background:url('../img/ui/surface-sootwood.webp') center/460px auto;opacity:.20;mix-blend-mode:soft-light;pointer-events:none;}
#app .fj-d1-market-ledger-main{display:flex;align-items:center;gap:11px;flex:1 1 255px;min-width:0;}
#app .fj-d1-market-crest{width:54px;height:54px;flex:0 0 54px;border:1px solid var(--d1-edge);border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #bf904c12;background:radial-gradient(circle,#c294472b,transparent 70%);}
#app .fj-d1-market-crest img{display:block;width:43px;height:43px;object-fit:contain;}
#app .fj-d1-market-ledger-copy{min-width:0;}
#app .fj-d1-overline{color:var(--fj-muted);font-size:9px;line-height:1.5;letter-spacing:.12em;}
#app .fj-d1-market-ledger-copy h2{font:normal 23px/1.18 Georgia,serif;color:var(--ink);margin:3px 0;}
#app .fj-d1-market-ledger-copy p{font-size:11px;color:var(--fj-muted);line-height:1.45;margin:3px 0 0;}
#app .fj-d1-market-head-stats{display:flex;gap:9px;flex:0 1 235px;justify-content:stretch;}
#app .fj-d1-head-stat{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:3px;border-left:2px solid var(--d1-edge);padding:2px 8px;}
#app .fj-d1-head-stat strong{font:700 23px/1.1 Georgia,serif;color:var(--ink);font-variant-numeric:tabular-nums;}
#app .fj-d1-head-stat span{font-size:10px;line-height:1.3;color:var(--fj-muted);}
#app .fj-d1-market-status{background:linear-gradient(135deg,#b6864210,transparent 70%),var(--card)!important;box-shadow:0 2px 12px #00000012;}
#app .fj-d1-market-status .fj-market-open{border-radius:3px!important;border-style:solid!important;border-left-width:4px!important;padding:10px 12px!important;background:var(--fj-surface)!important;}
#app .fj-d1-market-status .fj-market-summary{margin-top:10px;}
#app .fj-d1-market-status .fj-market-summary-cell>strong{font-family:Georgia,serif;font-size:clamp(17px,2vw,24px);}
#app .fj-d1-market .fj-market-nav{padding:8px 10px 11px;margin:10px 10px 0;background:linear-gradient(90deg,#aa82461a,transparent),var(--card);border:1px solid var(--fj-edge);border-radius:5px;}
#app .fj-d1-market .fj-market-nav button{border-color:var(--d1-edge);background:linear-gradient(180deg,#bd9b5c16,transparent),var(--fj-surface);border-radius:3px;white-space:nowrap;}
#app .fj-d1-market .fj-market-section{border-top:3px solid var(--d1-edge);box-shadow:0 3px 13px #00000014,inset 0 1px #dfc18b25;background:linear-gradient(170deg,#ad793815,transparent 130px),var(--fj-surface);}
#app .fj-d1-market .fj-market-section>.sec-title{position:relative;padding-left:14px;color:var(--ink);font-size:clamp(17px,1.5vw,21px);line-height:1.3;letter-spacing:.01em;}
#app .fj-d1-market .fj-market-section>.sec-title::before{content:'✣';position:absolute;left:-3px;top:2px;color:var(--gold);font:16px/1 Georgia,serif;}
#app .fj-d1-market .fj-d1-subheading{border-bottom:1px solid var(--d1-edge);padding:3px 0 8px;margin-top:18px;font:700 16px/1.3 Georgia,serif;}
#app .fj-d1-market .fj-d1-subheading::after{content:'❧';color:var(--gold);font-size:17px;margin-left:8px;}
#app .fj-d1-market .fj-contract-offer,
#app .fj-d1-market .fj-contract-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#b7843911,transparent 65%),var(--card)!important;border:1px solid var(--d1-edge)!important;border-top:2px solid #ad8956!important;border-radius:5px!important;box-shadow:0 3px 11px #00000015,inset 0 0 0 1px #d1a76c12;}
#app .fj-d1-market .fj-contract-offer::after,
#app .fj-d1-market .fj-contract-card::after{content:'';position:absolute;right:5px;top:5px;width:5px;height:5px;border:1px solid var(--gold);border-radius:50%;opacity:.6;pointer-events:none;}
#app .fj-d1-market .fj-contract-offer.fj-d1-embossed{grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;}
#app .fj-d1-market .fj-contract-offer .fj-d1-seal{grid-column:1;}
#app .fj-d1-market .fj-contract-offer>div{grid-column:2;min-width:0;}
#app .fj-d1-market .fj-contract-offer>button{grid-column:3;}
#app .fj-d1-seal{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;border:2px double #967044;box-shadow:inset 0 0 0 3px #ba8c4830,0 2px 4px #0002;color:var(--gold);background:radial-gradient(circle at 35% 22%,#d8b47c25,transparent 70%),var(--fj-surface);font:26px/1 Georgia,serif;user-select:none;}
#app .fj-d1-market .fj-contract-card.fj-d1-embossed{padding-top:17px!important;}
#app .fj-d1-market .fj-contract-card>.fj-d1-seal{float:left;margin:0 12px 7px 0;}
#app .fj-d1-market .fj-contract-card .fj-contract-progress{height:10px!important;border:1px solid var(--fj-edge);border-radius:2px!important;overflow:hidden;background:linear-gradient(180deg,#0002,#fff1),var(--fj-surface)!important;}
#app .fj-d1-market .fj-contract-card .fj-contract-reward{padding:7px 9px;border:1px solid #aa834735;border-radius:3px;background:#ac812515;color:var(--gold)!important;}
#app .fj-d1-market .fj-sale-row,
#app .fj-d1-market .fj-market-buy-item{border-radius:5px!important;border-color:var(--d1-edge)!important;background:linear-gradient(150deg,#af844813,transparent 80%),var(--card)!important;box-shadow:0 2px 7px #00000013;}
#app .fj-d1-market .fj-sale-row:hover,
#app .fj-d1-market .fj-contract-offer:hover{border-color:var(--gold)!important;}
#app .fj-d1-market :is(.fj-contract-offer,.fj-contract-card,.fj-sale-row) button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
/* Modal: separate parchment leaf over the smoky workshop, fully scrollable on mobile. */
#app .fj-d1-contract-modal{position:fixed!important;inset:0!important;z-index:220!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;background:rgba(15,11,8,.77)!important;backdrop-filter:blur(3px);}
#app .fj-d1-contract-dialog{--d1-parchment:#e8dac0;--d1-ink:#332617;--d1-muted:#6d5134;--d1-rust:#914b23;box-sizing:border-box!important;display:block!important;width:min(100%,540px)!important;max-width:540px!important;min-width:0!important;max-height:min(790px,calc(var(--fj-viewport-height,100dvh) - 28px))!important;overflow-y:auto!important;overscroll-behavior:contain;border:2px solid #9a7145!important;border-top:5px solid #8e6639!important;border-radius:8px!important;padding:19px clamp(13px,3vw,24px) 20px!important;color:var(--d1-ink)!important;background-color:var(--d1-parchment)!important;background-image:radial-gradient(ellipse at 9% 9%,#9e6c2230,transparent 46%),radial-gradient(ellipse at 87% 87%,#90642d20,transparent 35%),url('../img/ui/surface-paper.webp')!important;background-position:center!important;background-size:auto,auto,560px auto!important;box-shadow:0 24px 65px #0009,0 0 0 1px #daba7d80,inset 0 0 0 2px #f7e7c66e!important;scrollbar-color:#977450 #e0cdaa;}
#app .fj-d1-contract-dialog:focus{outline:none;}
#app .fj-d1-contract-dialog::before{content:'✣     ❦     ✣';display:block;text-align:center;letter-spacing:.19em;color:#976638;font:18px/1 Georgia,serif;margin:0 0 12px;opacity:.85;}
#app .fj-d1-modal-heading{display:flex!important;align-items:center!important;gap:11px!important;font:700 clamp(19px,3vw,25px)/1.24 Georgia,serif!important;color:var(--d1-ink)!important;border-bottom:1px solid #96724b80!important;padding-bottom:12px!important;margin-bottom:8px!important;}
#app .fj-d1-modal-crest{flex:0 0 53px;display:grid;place-items:center;width:53px;height:53px;border:1px solid #ac7c49;border-radius:50%;background:radial-gradient(circle,#bd935243,transparent 72%);box-shadow:inset 0 0 0 4px #ca9b5830;}
#app .fj-d1-modal-crest img{width:42px;height:42px;object-fit:contain;}
#app .fj-d1-modal-intro{font:italic 14px/1.6 Georgia,serif!important;color:var(--d1-muted)!important;margin:8px 0 13px!important;}
#app .fj-d1-modal-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 14px;}
#app .fj-d1-modal-stat{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:9px 11px;border-radius:3px;border:1px solid #a67b4880;background:#eee0c4b0;min-width:0;}
#app .fj-d1-modal-stat small{font-size:12px;line-height:1.25;color:#745537;}
#app .fj-d1-modal-stat strong{font:700 17px/1 Georgia,serif;color:#663c1b;font-variant-numeric:tabular-nums;white-space:nowrap;}
#app .fj-d1-contract-option{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;gap:3px 11px;padding:13px 12px!important;margin-bottom:9px!important;border:1px solid #b38c5a!important;border-top:3px solid #94663b!important;border-radius:4px!important;background:linear-gradient(130deg,#f7ecd8d1,#eadabcdd)!important;box-shadow:0 2px 8px #2d1b0d23,inset 0 0 0 1px #fff8eb80;min-width:0;}
#app .fj-d1-contract-option::after{content:'';position:absolute;right:6px;top:6px;width:5px;height:5px;border-radius:50%;background:#ba9b74;box-shadow:0 0 0 1px #fff6e0;pointer-events:none;}
#app .fj-d1-contract-option>.fj-d1-seal{grid-column:1;grid-row:1;align-self:center;color:#89512d;background:#dfcba8;}
#app .fj-d1-contract-option>div:first-of-type{grid-column:2;grid-row:1;font:700 16px/1.35 Georgia,serif!important;color:var(--d1-ink)!important;margin:0!important;padding-top:1px;overflow-wrap:anywhere;}
#app .fj-d1-contract-option>div:nth-of-type(2){grid-column:1/-1;grid-row:2;align-items:center!important;gap:8px;flex-wrap:wrap;margin:8px 0 0!important;padding-top:9px;border-top:1px solid #9d794650;}
#app .fj-d1-contract-option>div:nth-of-type(2)>span{font:700 17px/1 Georgia,serif!important;color:#476329!important;font-variant-numeric:tabular-nums;}
#app .fj-d1-contract-option button{margin-left:auto;min-width:114px;min-height:46px;border-radius:4px!important;border:1px solid #6d4625!important;background:linear-gradient(160deg,#a3713e,#72401f)!important;color:#fff1d8!important;padding:9px 12px!important;font:700 13px/1.3 Georgia,serif!important;cursor:pointer;box-shadow:0 2px 0 #4a2918;}
#app .fj-d1-contract-option button:hover{filter:brightness(1.12);}
#app .fj-d1-contract-option button[aria-disabled=true]{opacity:.50!important;cursor:not-allowed!important;filter:grayscale(.4);}
#app .fj-d1-offer-serial{position:absolute;right:12px;bottom:calc(100% - 3px);font:700 9px/1 Georgia,serif;letter-spacing:.09em;color:#8b683f;background:#ead9ba;padding:0 4px;}
#app .fj-d1-modal-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important;margin-top:14px!important;}
#app .fj-d1-modal-actions>button{flex:auto!important;width:100%;min-height:50px!important;white-space:normal;text-align:center;border-radius:4px!important;padding:9px 10px!important;font:700 14px/1.25 Georgia,serif!important;cursor:pointer;}
#app .fj-d1-modal-actions>button:first-child:not(:last-child){color:#382b1d!important;border:1px solid #997349!important;background:#efe1c6!important;}
#app .fj-d1-modal-actions>button:last-child{color:#fff0d8!important;border:1px solid #70421f!important;background:linear-gradient(155deg,#a47038,#75431f)!important;box-shadow:0 2px 0 #4c2e18;}
#app .fj-d1-modal-actions>button:only-child{grid-column:1/-1;}
#app .fj-d1-contract-dialog button:focus-visible{outline:3px solid #6c471f;outline-offset:3px;}
#app .fj-d1-contract-dialog button:hover:not([aria-disabled=true]){filter:brightness(1.09);}
@media(min-width:960px){#app.desktop .fj-d1-market-ledger{padding:16px 20px;}#app.desktop .fj-d1-market .fj-contract-offer.fj-d1-embossed{grid-template-columns:48px minmax(0,1fr) auto!important;}}
@media(max-width:480px){#app .fj-d1-market-ledger{padding:10px;gap:8px;}#app .fj-d1-market-crest{width:45px;height:45px;flex-basis:45px;}#app .fj-d1-market-crest img{width:35px;height:35px;}#app .fj-d1-market-ledger-copy h2{font-size:19px;}#app .fj-d1-market-head-stats{flex-basis:100%;}#app .fj-d1-head-stat{display:flex;flex-direction:row;align-items:baseline;gap:9px;}#app .fj-d1-market .fj-contract-offer.fj-d1-embossed{grid-template-columns:36px minmax(0,1fr)!important;}#app .fj-d1-market .fj-contract-offer .fj-d1-seal{width:34px;height:34px;font-size:21px;}#app .fj-d1-market .fj-contract-offer>button{grid-column:1/-1;width:100%;}#app .fj-d1-contract-dialog{padding:13px!important;}#app .fj-d1-modal-heading{font-size:19px!important;}#app .fj-d1-modal-crest{width:44px;height:44px;flex-basis:44px;}#app .fj-d1-modal-crest img{width:36px;height:36px;}#app .fj-d1-contract-option{padding:11px 9px!important;grid-template-columns:39px minmax(0,1fr);}#app .fj-d1-contract-option>.fj-d1-seal{width:36px;height:36px;font-size:22px;}#app .fj-d1-contract-option>div:first-of-type{font-size:15px!important;}#app .fj-d1-modal-stat{padding:8px 7px;}#app .fj-d1-modal-stat small{font-size:10px;}#app .fj-d1-modal-actions>button{font-size:12px!important;}}
@media(max-width:350px){#app .fj-d1-modal-actions{grid-template-columns:1fr;}#app .fj-d1-modal-actions>button{grid-column:1;}#app .fj-d1-modal-stats{gap:5px;}#app .fj-d1-contract-option button{min-width:103px;}}
@media(prefers-reduced-motion:reduce){#app .fj-d1-market *{transition:none!important;}#app .fj-d1-contract-modal{backdrop-filter:none;}}

/* Legible when the decorative WebP has not yet loaded. */
#app .fj-d1-modal-crest{position:relative;}
#app .fj-d1-modal-crest::before{content:"⚖";position:absolute;font:26px/1 Georgia,serif;color:#81532c;}
#app .fj-d1-modal-crest img{position:relative;z-index:1;}
