/* Product catalog inside the existing Paper Scroll shop. */
dialog:has(#market-root){max-width:680px;padding:22px;scrollbar-gutter:stable}
#market-root{--market-surface:#f5f8f7;--market-text:#52635b;--market-accent:#08795d;--market-border:#dfe8e3;font-size:14px;line-height:1.45}
.market-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 16px}
.market-heading h3{margin:0;font-size:22px;line-height:1.25;letter-spacing:-.025em}
.market-heading p{margin:5px 0 0;color:var(--market-text);font-size:13px}
.market-refresh{width:42px;height:42px;flex:none;padding:11px;border:1px solid var(--market-border);border-radius:12px;color:var(--market-text)}
.market-refresh:hover{background:var(--market-surface)}
.market-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.market-views{display:flex;gap:3px;background:var(--market-surface);padding:4px;border-radius:12px}
.market-views button{min-height:38px;padding:7px 12px;border-radius:9px;font-size:13px;color:var(--market-text)}
.market-views button[aria-pressed=true]{background:#fff;color:var(--market-accent);font-weight:700;box-shadow:0 2px 5px #183a2410}
.market-views button span{margin-left:4px;font-variant-numeric:tabular-nums}
.market-balance{display:flex;align-items:center;gap:6px;margin:0;color:var(--market-text);font-size:12px;flex-wrap:wrap}
.market-balance strong{color:inherit;font-variant-numeric:tabular-nums}.market-balance img{width:15px;height:18px}
.market-filters{display:grid;gap:12px;margin:0;padding:0 0 16px;border-bottom:1px solid var(--market-border)}
.market-search-label,.market-filters label{font-size:12px;color:var(--market-text)}
.market-search-label{margin-bottom:-6px}
.market-search{display:flex;gap:8px;min-width:0}
.market-filters input[type=search],.market-filters select{width:100%;min-width:0;min-height:44px;padding:10px 11px;border:1px solid var(--market-border);border-radius:9px;background:var(--market-surface);color:inherit;font:inherit;font-size:14px}
.market-filters input[type=search]{flex:1;width:0}.market-filters input::placeholder{color:var(--market-text);opacity:1}
.market-search .market-button{flex:none;padding:10px 15px}
.market-filter-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px}
.market-filter-grid label,.market-sort{display:grid;gap:5px;min-width:0}
.market-filter-bottom{display:flex;align-items:end;gap:12px}.market-sort{flex:1}
.market-affordable{display:flex;align-items:center;gap:7px;min-height:44px;cursor:pointer}
.market-affordable input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--market-accent)}
.market-results{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;margin:4px 0}
.market-results p{margin:0;color:var(--market-text);font-size:12px}.market-results .text-button{font-size:12px;min-height:44px;padding:8px 0}
#market-root :focus-visible{outline:2px solid var(--market-accent);outline-offset:3px}
.market-list{display:grid;gap:0}
.market-card{border-bottom:1px solid var(--market-border);padding:16px 0;min-width:0}
.market-card:first-child{padding-top:4px}
.market-card-main{display:grid;grid-template-columns:68px minmax(0,1fr);gap:13px;align-items:center}
.market-art{display:block;width:68px;height:68px;padding:0;border-radius:10px;overflow:hidden;background:#eeeaf7}
.market-art .character-item-art,.market-product-art .character-item-art{width:100%;height:100%;border-radius:inherit}
.market-type{margin:0 0 4px;color:var(--market-accent);font-size:12px;font-weight:650}
.market-type span{color:var(--market-text);white-space:nowrap}
.market-card h3{margin:0;font-size:17px;line-height:1.3;letter-spacing:-.015em;overflow-wrap:anywhere}
.market-card h3 button{padding:0;text-align:left;font:inherit}.market-card h3 button:hover{color:var(--market-accent)}
.market-set{margin:4px 0 0;color:var(--market-text);font-size:13px;overflow-wrap:anywhere}
.market-seller{margin:5px 0 0;color:var(--market-text);font-size:12px;overflow-wrap:anywhere}
.market-seller span{font-weight:600}.market-own{color:var(--market-accent)}
.market-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding-left:81px}
.market-price{display:grid;grid-template-columns:auto 20px;align-items:center;justify-content:start;gap:1px 7px;min-width:0}
.market-price strong{font-size:23px;letter-spacing:-.025em;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.market-price small{grid-column:1/-1;font-size:11px;color:var(--market-text);margin-top:4px}
.market-button{display:block;min-height:44px;padding:11px 18px;border-radius:11px;background:var(--market-accent);color:#fff;font-size:14px;font-weight:650;line-height:1.35;text-align:center}
.market-button:hover:not(:disabled){filter:brightness(.95)}
.market-button-secondary{background:var(--market-surface);color:var(--market-accent)}
.market-button:disabled{background:var(--market-border);color:var(--market-text);opacity:1}
.market-more{width:100%;margin-top:16px;background:var(--market-surface);color:var(--market-accent)}
.market-footnote{margin:18px 0 0;color:var(--market-text);font-size:12px;line-height:1.6}
.market-back{display:flex;align-items:center;gap:9px;min-height:44px;padding:5px 0 12px;color:var(--market-accent);font-size:14px;font-weight:600}
.market-back span{font-size:22px;line-height:1}
.market-product-head{display:grid;grid-template-columns:166px minmax(0,1fr);gap:24px;align-items:center;margin:9px 0 20px}
.market-product-art{width:166px;height:166px;border-radius:16px;overflow:hidden;background:#eeeaf7}
.market-product-info{min-width:0}.market-product h3{margin:0;font-size:26px;line-height:1.18;letter-spacing:-.025em;overflow-wrap:anywhere}
.market-level{margin:14px 0 0;font-size:14px;font-weight:700;color:var(--market-accent)}.market-level span{font-weight:400;color:var(--market-text)}
.market-description{margin:0 0 24px;line-height:1.65;color:var(--market-text)}
.market-specs h4{margin:0 0 9px;font-size:17px}.market-specs-note{color:var(--market-text);font-size:12px;line-height:1.65;margin:6px 0 12px}
.market-specs dl{margin:0}.market-specs dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:10px 0;border-bottom:1px solid var(--market-border)}
.market-specs dt{color:var(--market-text)}.market-specs dd{margin:0;font-weight:650;text-align:right;color:var(--market-accent);white-space:nowrap;font-variant-numeric:tabular-nums}
.market-seller-line{display:flex;justify-content:space-between;gap:18px;margin:24px 0;color:var(--market-text)}.market-seller-line strong{text-align:right;overflow-wrap:anywhere;min-width:0}
.market-checkout{padding:20px;background:var(--market-surface);border-radius:16px}.market-checkout-price>span{font-size:12px;color:var(--market-text)}
.market-checkout-price>div{display:flex;align-items:center;gap:9px;margin-top:4px}.market-checkout-price strong{font-size:30px;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-width:0}
.market-checkout-price img{flex:none;width:23px;height:26px}
.market-wallet{font-size:12px;color:var(--market-text);margin:9px 0}.market-wallet strong{font-weight:600}
.market-delivery{font-size:13px;color:var(--market-text);line-height:1.6;margin:12px 0 16px}.market-checkout>.market-button{width:100%}
.market-checkout>.market-button-secondary{border:1px solid var(--market-border)}
.market-shortfall{color:#9a4c1b;font-size:12px;text-align:center;margin:10px 0 0;overflow-wrap:anywhere}
.market-confirm p{line-height:1.6}.market-confirm .market-button{width:100%;margin-top:8px}
.market-empty{padding:32px 16px;text-align:center;background:var(--market-surface);border-radius:16px}.market-empty h4{font-size:18px;margin:0 0 8px}.market-empty p{max-width:38ch;margin:auto;color:var(--market-text);font-size:13px;line-height:1.6}
.market-message{padding:12px 14px;background:var(--market-surface);color:var(--market-accent);font-size:13px;border-radius:12px;margin:0 0 16px;overflow-wrap:anywhere}.market-message p{margin:0}.market-error{color:#a03d2c}
[data-theme=dark] #market-root{--market-surface:#202b29;--market-text:#b6c6c0;--market-accent:#64dfba;--market-border:#364640}
[data-theme=dark] .market-views button[aria-pressed=true]{background:#35473f;box-shadow:none}
[data-theme=dark] .market-button:not(.market-button-secondary):not(.market-more):not(:disabled){color:#112c23}
[data-theme=dark] .market-art,[data-theme=dark] .market-product-art{background:#302b40}
[data-theme=dark] .market-shortfall{color:#f2b584}[data-theme=dark] .market-error{color:#ffb1a5}
@media(min-width:600px){.market-card{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:18px;align-items:center}.market-card-footer{display:grid;justify-items:end;gap:8px;margin:0;padding:0}.market-price strong{font-size:21px}}
@media(max-width:480px){
  dialog:has(#market-root){width:calc(100% - 16px);padding:18px;max-height:90dvh;scrollbar-gutter:auto}
  .market-heading{margin-top:18px}.market-heading h3{font-size:21px}.market-heading p{font-size:12px}
  .market-toolbar{gap:10px}.market-balance{flex-basis:100%}.market-views{flex:1}.market-views button{flex:1}
  .market-card h3{font-size:17px}.market-set{font-size:12px}.market-seller{margin-top:7px;font-size:11px}
  .market-price strong{font-size:21px}.market-card-footer .market-button{padding:11px 13px;font-size:13px;flex:none}
  .market-product-head{grid-template-columns:110px minmax(0,1fr);gap:16px;margin-top:6px}.market-product-art{width:110px;height:110px}.market-product h3{font-size:22px}
  .market-level{margin-top:10px;font-size:13px}.market-description{font-size:13px}.market-checkout{padding:16px}.market-checkout-price strong{font-size:26px}
}
@media(max-width:350px){.market-card-footer{padding-left:0;gap:8px}.market-filter-bottom{align-items:stretch;flex-direction:column;gap:4px}.market-product-head{grid-template-columns:90px minmax(0,1fr);gap:12px}.market-product-art{width:90px;height:90px}.market-product h3{font-size:20px}.market-price strong{font-size:19px}.market-price{column-gap:5px}}
