/* A live journal on dedicated imagegen materials, not a painted UI screenshot. */
#game{--quest-binding:url('/public/assets/quest-binding-v1.webp');--quest-paper:url('/public/assets/quest-paper-v1.webp');--quest-bookmark:url('/public/assets/quest-bookmark-v1.webp')}
#game #modal:has(#content-root[data-screen=quests]){width:min(1120px,96cqw);height:min(720px,94cqh);padding:20px;border-image:var(--quest-binding) 32 fill / 8px / 0 stretch!important;background:#201912!important}
#game #modal:has(.quest-ledger)>header{min-height:40px;margin-bottom:12px;padding-bottom:10px;border-color:#c6b18b44}
#game #modal:has(.quest-ledger) #modal-body{overflow:hidden;padding:0}
#game #modal #content-root[data-screen=quests],#game #modal #content-root[data-screen=quests]>.content-body{height:100%;min-height:0;overflow:hidden}
#game #modal .quest-ledger{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;color:#e5dcc8;--quest-ink:#3d3428;--quest-muted:#75654e;--quest-rule:#6b543b40}
#game #modal .quest-ledger *{box-sizing:border-box;min-width:0}
#game #modal .quest-filters{display:flex;flex-direction:column;flex:none;gap:4px;margin:0}
#game #modal .quest-kind-filters{display:flex;flex-wrap:nowrap;gap:0;border-bottom:1px solid #bdab8740}
#game #modal .quest-status-filters{display:flex;flex-wrap:nowrap;gap:4px}
#game #modal .quest-filters button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;min-width:0;padding:6px 14px;margin:0;border:0;border-bottom:2px solid transparent;background:none!important;color:#b9ad97;font:400 var(--ui-meta)/1.4 var(--ui-font);white-space:nowrap;box-shadow:none}
#game #modal .quest-kind-filters button{min-width:98px;font-size:var(--ui-body);padding:8px 18px}
#game #modal .quest-filters button small{font:400 var(--ui-meta)/1 var(--ui-font);color:inherit;opacity:.7}
#game #modal .quest-filters button[aria-pressed=true]{border-bottom-color:#d9c393;color:#f4e5bf}
#game #modal .quest-filters button:hover{color:#fff0cb;background:#ffffff08!important}
#game #modal .quest-list-heading{margin:0;padding:0;font:400 var(--ui-meta)/1.5 var(--ui-font);color:#b2a58f}
#game #modal .quest-journal{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:18px;align-items:stretch}
#game #modal .quest-index{min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 24px 8px 0;overscroll-behavior:contain}
#game #modal .quest-group{margin-bottom:18px}
#game #modal .quest-group h3{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;margin:0 0 4px;border-bottom:1px solid #bca78033;color:#bfb197;font:500 var(--ui-meta)/1.5 var(--ui-font)}
#game #modal .quest-group h3 small{font:400 var(--ui-meta)/1.5 var(--ui-font);color:#a69982}
#game #modal .quest-index button{display:flex;flex-direction:column;align-items:stretch;justify-content:center;width:100%;gap:5px;padding:12px 18px;margin:0;min-height:64px;border:0;border-radius:0;border-bottom:1px solid #c9b18414;background:none!important;color:#e4dbc8;box-shadow:none;text-align:left;isolation:isolate}
#game #modal .quest-index button[aria-pressed=true]{background:var(--quest-bookmark) center/100% 100% no-repeat!important;border-color:transparent;color:#fff0d3}
#game #modal .quest-index button:hover:not([aria-pressed=true]){background:#ddc99d0b!important}
#game #modal .quest-index button:focus-visible{outline:1px solid #e7c78d;outline-offset:-2px}
#game #modal .quest-index strong{font:500 var(--ui-body)/1.5 var(--ui-font);overflow-wrap:anywhere}
#game #modal .quest-row-meta{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
#game #modal .quest-row-meta small,#game #modal .quest-row-status{font:400 var(--ui-meta)/1.4 var(--ui-font);color:#a99e8a}
#game #modal .quest-index button[aria-pressed=true] .quest-row-meta small{color:#d4c0a3}
#game #modal [data-status=ready] .quest-row-status{color:#e6ca88}
#game #modal [data-status=active] .quest-row-status{color:#a9bfb4}
#game #modal [data-status=available] .quest-row-status{color:#c8b897}
#game #modal .quest-reading-page{display:flex;flex-direction:column;min-height:0;border:6px solid transparent;border-image:var(--quest-paper) 24 fill / 6px / 0 stretch;background:#e8dab5;color:var(--quest-ink);padding:18px 12px 12px 22px}
#game #modal .quest-detail{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 24px 12px 0;overscroll-behavior:contain;scroll-padding-block:8px}
#game #modal .quest-detail:focus-visible{outline:1px solid #89704c;outline-offset:-1px}
#game #modal .quest-sheet-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--quest-muted);font:500 var(--ui-meta)/1.5 var(--ui-font)}
#game #modal .quest-sheet-status{color:#77532d;white-space:nowrap}
#game #modal .quest-sheet[data-status=ready] .quest-sheet-status{color:#3c694a}
#game #modal .quest-sheet-title{font:600 24px/1.4 var(--ui-font);color:#392c1e;margin:8px 0 16px;letter-spacing:-.02em}
#game #modal .quest-sheet-summary{font:400 var(--ui-body)/1.9 var(--ui-font);color:#5a4b35;margin:0 0 18px;word-break:keep-all;overflow-wrap:anywhere}
#game #modal .quest-next{display:flex;flex-direction:column;gap:5px;margin:0 0 20px;padding:12px 0 12px 14px;border:0;border-left:2px solid #967548;background:#805a2710}
#game #modal .quest-next small{font:500 var(--ui-meta)/1.4 var(--ui-font);color:var(--quest-muted)}
#game #modal .quest-next strong{font:600 var(--ui-body)/1.5 var(--ui-font);color:#4c3822}
#game #modal .quest-next span{font:400 var(--ui-meta)/1.6 var(--ui-font);color:#6f5e43}
#game #modal .quest-sheet h4{font:600 var(--ui-body)/1.5 var(--ui-font);margin:0 0 10px;color:#4a3822}
#game #modal .quest-ledger-objectives{margin-bottom:20px}
#game #modal .quest-ledger-objectives ul{list-style:none;padding:0;margin:0}
#game #modal .quest-ledger-objectives li{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:baseline;gap:8px;border-bottom:1px solid var(--quest-rule);padding:9px 0;color:#51412b;font:400 var(--ui-body)/1.7 var(--ui-font)}
#game #modal .quest-ledger-objectives b{font-weight:500;white-space:nowrap;color:#66502f}
#game #modal .quest-ledger-objectives [data-complete=true] :is(.quest-check,b){color:#426349}
#game #modal .quest-check{font-size:17px;font-weight:600;text-align:center}
#game #modal .quest-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px;padding:0}
#game #modal .quest-contacts dt{font:500 var(--ui-meta)/1.5 var(--ui-font);color:var(--quest-muted);margin-bottom:5px}
#game #modal .quest-contacts dd{margin:0;color:#51412b;font:500 var(--ui-body)/1.6 var(--ui-font)}
#game #modal .quest-contacts dd small{display:block;font:400 var(--ui-meta)/1.6 var(--ui-font);color:var(--quest-muted)}
#game #modal .quest-ledger-rewards{display:flex;align-items:center;gap:16px;flex:none;max-height:90px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--quest-rule);padding:10px 24px 10px 0;margin:0}
#game #modal .quest-ledger-rewards h4{flex:none;font:600 var(--ui-meta)/1.5 var(--ui-font);color:#6a5432;margin:0}
#game #modal .quest-reward-list{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px}
#game #modal .quest-reward-number{display:flex;align-items:baseline;gap:7px}
#game #modal .quest-reward-number small{font:600 var(--ui-meta)/1.5 var(--ui-font);color:#866a35}
#game #modal .quest-reward-number b{font:600 var(--ui-body)/1.5 var(--ui-font);color:#4b3920}
#game #modal .quest-reward-item{display:flex;align-items:center;gap:8px;color:#55462f;font:400 var(--ui-meta)/1.5 var(--ui-font)}
#game #modal .quest-reward-item .content-item-image{width:28px;height:28px;object-fit:contain}
#game #modal .quest-reward-item b{margin-left:8px;font-weight:500}
#game #modal .quest-record{border-top:1px solid var(--quest-rule);padding-top:12px;font:400 var(--ui-meta)/1.7 var(--ui-font);color:#69583e}
#game #modal .quest-record summary{cursor:pointer;color:#6f5431;min-height:28px}
#game #modal .quest-record section{padding:10px 0}
#game #modal .quest-record strong{font-weight:600;color:#5d4326}
#game #modal .quest-record .quest-speech{font:400 var(--ui-body)/1.9 var(--ui-font);color:#68573c;margin:8px 0;max-width:none}
#game #modal .quest-ledger-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:52px;padding:10px 8px 0 0;border-top:1px solid var(--quest-rule);color:#746143}
#game #modal .quest-ledger-actions>span{font:400 var(--ui-meta)/1.5 var(--ui-font)}
#game #modal .quest-ledger-actions>div{display:flex;align-items:center;gap:8px;margin-left:auto}
#game #modal .quest-ledger-actions .content-button{border:4px solid transparent;border-image:url('/public/assets/commerce-button-v1.webp') 32 fill / 4px / 0 stretch;background:#2b2822!important;font:500 var(--ui-body)/1.4 var(--ui-font);min-height:var(--ui-control);padding:6px 16px;color:#eee0c6}
#game #modal .quest-empty{font:400 var(--ui-body)/1.6 var(--ui-font);padding:20px 10px;margin:0;color:#ae9e83}
#game #modal .quest-reading-page .quest-empty{color:var(--quest-muted)}
/* The tracker shares the folio material, not the large reading-page geometry. */
#game #quest-tracker{padding:8px 22px 8px 10px;border:4px solid transparent;border-image:var(--quest-binding) 32 fill / 4px / 0 stretch;background:none;box-shadow:none;color:#e4d9c3;text-shadow:0 1px 2px #000}
#game #quest-tracker .tracked-quest{padding:10px 0;background:none;border:0}
#game #quest-tracker .tracked-quest+.tracked-quest{border-top:1px solid #b9a47b33}
#game #quest-tracker .tracked-caption{display:flex;justify-content:space-between;gap:8px;font:400 10px/1.5 var(--ui-font);color:#b6a98d;margin-bottom:5px}
#game #quest-tracker .tracked-kind{font:inherit;color:#cdb892}
#game #quest-tracker .tracked-heading{display:flex;align-items:center;gap:8px;margin:0 0 6px}
#game #quest-tracker .tracked-heading strong{font:500 13px/1.5 var(--ui-font);color:#eee3cc;margin:0}
#game #quest-tracker .tracked-heading .content-button{min-height:30px;padding:4px 7px;border:1px solid #b39a6c66;background:#201b14ad!important;color:#e5d4ae;border-radius:0;box-shadow:none;font:400 11px/1.4 var(--ui-font)}
#game #quest-tracker .tracked-objective{font:400 12px/1.7 var(--ui-font);color:#c7bfae;margin:2px 0;gap:8px}
#game #quest-tracker .tracked-count{color:#e3d6b9}
#game #quest-tracker .tracked-ready{font:400 12px/1.6 var(--ui-font);color:#b9cba7;margin:0}
#game #quest-tracker .tracked-quest[data-guided=true]{border-left:0}
#game #quest-tracker .tracked-quest[data-guided=true] .tracked-heading strong{color:#f0d697}
body.gamepad #game #modal:has(#content-root[data-screen=quests]){width:96cqw;height:96cqh;max-height:96cqh;padding:calc(10px * var(--inverse-ui-scale))}
body.gamepad #game #modal:has(.quest-ledger)>header{min-height:var(--ui-close);margin-bottom:calc(6px * var(--inverse-ui-scale));padding-bottom:calc(6px * var(--inverse-ui-scale))}
body.gamepad #game #modal .quest-ledger{gap:calc(5px * var(--inverse-ui-scale))}
body.gamepad #game #modal .quest-journal{grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:calc(8px * var(--inverse-ui-scale))}
body.gamepad #game #modal .quest-filters{gap:0}
body.gamepad #game #modal .quest-kind-filters button{flex:1;min-width:0;min-height:calc(28px * var(--inverse-ui-scale));padding:4px 12px}
body.gamepad #game #modal .quest-status-filters button{flex:1;min-height:calc(26px * var(--inverse-ui-scale));padding:4px 6px;gap:6px;font-size:var(--ui-meta)}
body.gamepad #game #modal .quest-index{padding-right:calc(16px * var(--inverse-ui-scale))}
body.gamepad #game #modal .quest-group{margin-bottom:12px}
body.gamepad #game #modal .quest-group h3{padding:5px 6px}
body.gamepad #game #modal .quest-index button{padding:calc(7px * var(--inverse-ui-scale)) calc(12px * var(--inverse-ui-scale));min-height:calc(48px * var(--inverse-ui-scale))}
body.gamepad #game #modal .quest-reading-page{padding:calc(8px * var(--inverse-ui-scale)) calc(5px * var(--inverse-ui-scale)) calc(5px * var(--inverse-ui-scale)) calc(10px * var(--inverse-ui-scale));border-width:4px;border-image-width:4px}
body.gamepad #game #modal .quest-detail{padding-right:calc(16px * var(--inverse-ui-scale))}
body.gamepad #game #modal .quest-sheet-title{font-size:calc(16px * var(--inverse-ui-scale));margin:6px 0 12px}
body.gamepad #game #modal .quest-sheet-summary{margin-bottom:12px}
body.gamepad #game #modal .quest-next{margin-bottom:12px;padding:8px 0 8px 10px}
body.gamepad #game #modal .quest-ledger-actions{min-height:calc(36px * var(--inverse-ui-scale));padding:6px 0 0;gap:8px}
body.gamepad #game #modal .quest-ledger-actions .content-button{padding:4px 12px}
body.gamepad #game #modal .quest-ledger-rewards{max-height:calc(56px * var(--inverse-ui-scale));padding:calc(5px * var(--inverse-ui-scale)) calc(16px * var(--inverse-ui-scale)) calc(5px * var(--inverse-ui-scale)) 0;gap:10px}
body.gamepad #game #modal .quest-reward-list{gap:6px 12px}
body.gamepad #game #modal .quest-reward-item .content-item-image{width:calc(18px * var(--inverse-ui-scale));height:calc(18px * var(--inverse-ui-scale))}
body.gamepad #game #modal .quest-record summary{min-height:var(--ui-control)}
/* Field text opts out of the world's downscale, without moving the tracker or
   taking space from the thumb zones. Extra tracked quests use its own rail. */
body.gamepad #game #quest-tracker{width:calc(190px * var(--inverse-ui-scale));padding:calc(6px * var(--inverse-ui-scale)) calc(16px * var(--inverse-ui-scale)) calc(6px * var(--inverse-ui-scale)) calc(8px * var(--inverse-ui-scale))}
body.gamepad #game #quest-tracker .tracked-caption{font-size:calc(9px * var(--inverse-ui-scale));margin-bottom:4px}
body.gamepad #game #quest-tracker .tracked-heading strong{font-size:calc(11px * var(--inverse-ui-scale))}
body.gamepad #game #quest-tracker .tracked-heading .content-button{min-height:calc(26px * var(--inverse-ui-scale));padding:4px 7px;font-size:calc(10px * var(--inverse-ui-scale))}
body.gamepad #game #quest-tracker :is(.tracked-objective,.tracked-ready){font-size:calc(10px * var(--inverse-ui-scale))}
/* Keep two short objectives inside the existing small-phone footprint. The
   caption, text size and guide touch target stay; only surplus gaps shrink. */
body.gamepad #game #quest-tracker .tracked-quest{padding:calc(2px * var(--inverse-ui-scale)) 0}
body.gamepad #game #quest-tracker .tracked-caption{margin-bottom:0}
body.gamepad #game #quest-tracker .tracked-heading{margin-bottom:calc(2px * var(--inverse-ui-scale))}
body.gamepad #game #quest-tracker .tracked-objective{margin:calc(1px * var(--inverse-ui-scale)) 0;line-height:1.45}
