#page-market{display:flex;flex-direction:column;background:var(--bg);color:var(--text);--market-accent:#44756b}#page-market[data-kind=shop]{--market-accent:#a05e49}.market-head{display:flex;align-items:center;gap:12px;padding:calc(12px + var(--safe-top)) 20px 12px;flex:none}.market-head>button{border:0;background:none;color:inherit;width:36px;height:40px;font-size:28px;display:grid;place-items:center}.market-head>div{flex:1}.market-head small{font-size:8px;letter-spacing:.16em;color:var(--text3)}.market-head h1{font-size:18px;font-weight:550;margin:3px 0 0}.market-scroll{flex:1;overflow:auto;min-height:0;padding:8px 20px calc(30px + var(--safe-bottom));overscroll-behavior:contain}.market-hero{padding:25px 4px 26px}.market-hero>span{font-size:8px;letter-spacing:.13em;color:var(--market-accent)}.market-hero h2{font-size:25px;font-weight:550;letter-spacing:-.04em;margin:10px 0}.market-hero p{font-size:12px;color:var(--text3);line-height:1.8;margin:0}.market-search{display:flex;gap:10px;align-items:center;background:var(--surface2);border-radius:12px;padding:9px 13px}.market-search>span{font-size:25px;color:var(--text3)}.market-search input{border:0;outline:0;background:none;color:var(--text);min-width:0;width:100%;font:inherit;font-size:14px}.market-tabs{display:flex;gap:23px;margin:23px 3px 14px}.market-tabs button{background:none;border:0;padding:5px 0;color:var(--text3);font:inherit;font-size:13px}.market-tabs [aria-pressed=true]{color:var(--market-accent);font-weight:600}#market-status{font-size:11px;color:var(--text3);line-height:1.8}#market-status:empty{display:none}.market-jobs{display:grid;gap:12px}.market-listing{background:var(--surface);border-radius:17px;overflow:hidden;min-width:0}.market-listing-open{display:block;width:100%;border:0;background:none;color:inherit;text-align:left;padding:0;font:inherit;cursor:pointer}.market-listing-copy{padding:19px 18px 8px}.market-listing-copy>small{font-size:10px;color:var(--text3)}.market-listing-copy h3{font-size:17px;font-weight:550;margin:8px 0;line-height:1.5;overflow-wrap:anywhere}.market-listing-copy>strong{font-size:14px;font-weight:500;color:var(--market-accent)}.market-listing-copy p{font-size:11px;line-height:1.9;color:var(--text2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.market-tag{font-size:9px;color:var(--text3);background:var(--surface2);padding:5px 8px;border-radius:5px}.market-listing>footer{display:flex;align-items:center;justify-content:space-between;padding:8px 15px 11px;font-size:9px;color:var(--text3)}.market-listing>footer button{background:none;border:0;color:inherit;display:grid;place-items:center;width:36px;height:32px}.market-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.market-product-art{position:relative;min-height:155px;display:grid;place-items:center;background:linear-gradient(135deg,#f1e9df,#e4d7c5);color:#8f7961}.art-book{background:linear-gradient(135deg,#e9ece3,#cfd7c4);color:#718064}.art-lamp{background:linear-gradient(135deg,#f3ecda,#e4d1ae);color:#9d865d}.art-bag{background:linear-gradient(135deg,#e9e6e0,#d1c9bc)}.art-flower{background:linear-gradient(135deg,#e5ece1,#c6d6c0);color:#6f896b}.art-music{background:linear-gradient(135deg,#e7e8ec,#cbd0dd);color:#7c839b}.market-product-art>span{position:absolute;bottom:10px;font-size:8px;letter-spacing:.12em}.is-product .market-listing-copy{padding:13px 13px 3px}.is-product h3{font-size:14px}.is-product>footer{padding-inline:10px}.market-empty{padding:35px 15px;font-size:12px;color:var(--text3);line-height:2}.market-footprint{background:var(--surface);border-radius:15px;padding:17px}.market-footprint header{display:flex;gap:9px;align-items:center}.market-footprint header>span{width:30px;height:30px;display:grid;place-items:center;background:var(--surface2);border-radius:50%;font-size:12px}.market-footprint header strong{font-size:12px;font-weight:500}.market-footprint header small{margin-left:auto;font-size:9px;color:var(--text3)}.market-footprint>p{font-size:12px;line-height:1.8}.market-footprint blockquote{margin:12px 0;font-size:12px;line-height:1.9;padding:12px;background:var(--bg);border-radius:8px;color:var(--text2)}.market-footprint>button{border:0;background:none;color:var(--market-accent);display:flex;align-items:center;gap:8px;font:inherit;font-size:11px}.market-modal{border:0;border-radius:22px;background:var(--bg);color:var(--text);padding:0;max-width:440px;width:calc(100% - 30px);max-height:calc(85dvh - var(--safe-top));overscroll-behavior:contain}.market-modal::backdrop{background:#16191655;backdrop-filter:blur(4px)}.market-modal-body{padding:44px 21px 25px}.market-modal-close{position:absolute;top:9px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:var(--surface2);color:var(--text2);font-size:23px}.market-modal h2{font-size:23px;margin:8px 0 17px}.market-dialog-eyebrow{font-size:10px;color:var(--text3);letter-spacing:.05em}.market-modal label{display:grid;gap:10px;font-size:12px;color:var(--text2);margin:20px 0 12px}.market-modal select,.market-modal input{border:0;background:var(--surface);color:var(--text);padding:13px 10px;border-radius:9px;font:inherit;font-size:16px;min-width:0;width:100%;box-sizing:border-box}.market-primary,.market-secondary{display:block;border:0;border-radius:11px;width:100%;padding:14px 10px;margin:16px 0 0;background:var(--control-fill);color:var(--control-on-fill);font:inherit;font-size:13px;min-height:44px}.market-secondary{background:var(--surface2);color:var(--text)}.market-modal button:disabled{opacity:.5}.market-modal-hint,.market-modal-status,#market-job-form>small{display:block;font-size:11px;color:var(--text3);line-height:1.9;margin-top:12px}.market-detail-title{font-size:13px;margin-top:28px}.market-detail-visit{font-size:12px;line-height:1.8;color:var(--text2)}.market-paper{position:relative;box-sizing:border-box;min-width:0;width:100%;max-width:360px;background:repeating-linear-gradient(7deg,#ffffff00 0 3px,#a58c6804 3px 4px),linear-gradient(120deg,#fffcf5,#f3ecdf);border-radius:3px 3px 14px 3px;padding:21px 20px 15px;color:#38362e;box-shadow:0 6px 17px #4b3c2510;overflow:hidden}.market-paper::after{content:'';position:absolute;right:0;bottom:0;width:17px;height:17px;background:linear-gradient(135deg,#ddd1bd 50%,var(--bg) 51%)}.market-paper>small{display:flex;gap:7px;align-items:center;color:#8e806b;font-size:10px;letter-spacing:.06em}.market-paper>strong{display:block;font-size:17px;font-weight:550;margin:17px 0 9px;line-height:1.6;overflow-wrap:anywhere}.market-paper>span{font-size:11px;color:#8f7352}.market-paper>p{font-size:12px;line-height:1.9;margin:13px 0;overflow-wrap:anywhere;white-space:pre-wrap}.market-paper>footer{font-size:8px;letter-spacing:.12em;color:#a09583;margin-top:22px}.market-shared-row{align-self:flex-end;margin:14px 12px 14px auto;width:min(85%,340px)}.market-user-caption{margin:12px 0 0 auto;background:var(--surface2);border-radius:13px;padding:12px 16px;color:var(--text);font-size:14px;line-height:1.8;overflow-wrap:anywhere}.market-pending{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;margin:0 12px 8px;background:linear-gradient(120deg,#fbf6e9,#eee5d4);color:#5a5041;border-radius:9px;box-shadow:0 2px 7px #00000005}.market-pending[hidden]{display:none}.market-pending small{display:block;font-size:9px;color:#968671;line-height:1.8}.market-pending strong{font-size:12px;font-weight:500;line-height:1.7}.market-pending button{background:none;border:0;color:inherit;font-size:22px;width:36px;height:36px;flex:none}.rp-composer .market-pending{margin:0 0 9px}.rp-message .market-paper{margin:7px 0 9px}[data-theme=dark] .market-paper{background:repeating-linear-gradient(7deg,#ffffff00 0 3px,#ead4b105 3px 4px),linear-gradient(120deg,#3f3b33,#363129);color:#e8e0d1}[data-theme=dark] .market-paper>span{color:#c0aa88}[data-theme=dark] .market-paper>small,[data-theme=dark] .market-paper>footer{color:#aa9c85}[data-theme=dark] .market-product-art{filter:brightness(.7)}[data-theme=dark] .market-pending{background:linear-gradient(120deg,#403b32,#383329);color:#e2d6c1}@media(min-width:650px){.market-scroll{width:100%;max-width:740px;margin:auto;box-sizing:border-box}.market-products{grid-template-columns:repeat(3,minmax(0,1fr))}}

#page-market [hidden]{display:none!important}.market-job-menu{position:absolute;top:9px;right:52px;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--text2);font-size:22px;letter-spacing:1px}.market-modal textarea{border:0;background:var(--surface);color:var(--text);padding:13px 10px;border-radius:9px;font:inherit;font-size:16px;line-height:1.7;min-width:0;width:100%;box-sizing:border-box;resize:vertical}.market-remove-job{color:var(--text2)}

/* System-style navigation and sheets, using the existing warm palette. */
.market-head{position:relative;gap:4px;padding:calc(5px + var(--safe-top)) 12px 5px;min-height:calc(56px + var(--safe-top));box-sizing:border-box}
.market-head>div{position:absolute;left:88px;right:88px;bottom:18px;text-align:center;pointer-events:none}
.market-head h1{font-size:17px;font-weight:600;letter-spacing:-.02em;margin:0}
.market-head>button{width:44px;height:44px;flex:0 0 44px;border-radius:50%;font-size:27px}
.market-head>[data-market-back]{margin-right:auto;font-size:32px}
.market-head>[data-market-add],.market-head>[data-market-refresh]{color:var(--text2)}
.market-scroll{padding:0 20px calc(30px + var(--safe-bottom))}
.market-hero{padding:16px 0 22px}.market-hero>span{display:none}.market-hero h2{font-size:32px;line-height:1.2;letter-spacing:-.045em;font-weight:700;margin:0 0 10px}.market-hero p{font-size:13px;line-height:1.6}
.market-search{min-height:40px;box-sizing:border-box;padding:8px 11px;gap:7px;border-radius:11px}.market-search>span{display:flex;color:var(--text3)}.market-search input{font-size:16px}.market-search input::placeholder{color:var(--text3);opacity:1}
.market-tabs{gap:3px;border-radius:10px;background:var(--surface2);padding:3px;margin:19px 0 23px;min-height:36px;box-sizing:border-box}
.market-tabs button{flex:1;border-radius:8px;font-size:13px;padding:6px 10px;color:var(--text2);transition:background .15s}
.market-tabs [aria-pressed=true]{color:var(--text);background:var(--surface);box-shadow:0 1px 4px #0000000d;font-weight:550}
.market-jobs{gap:12px}.market-listing{border-radius:20px}.market-listing-copy{padding:18px 18px 5px}.market-listing-copy>small{font-size:12px}.market-listing-copy h3{font-size:18px;line-height:1.4;margin:7px 0 8px;letter-spacing:-.02em;font-weight:600}.market-listing-copy>strong{font-size:16px}.market-listing-copy p{font-size:13px;line-height:1.65;margin:12px 0}.market-tag{display:inline-block;font-size:11px;line-height:1.4;border-radius:7px;padding:5px 8px}.market-listing>footer{padding:1px 12px 9px 18px;font-size:11px}.market-listing>footer button{width:44px;height:44px;color:var(--text2)}
.market-products{gap:14px}.market-product-art{min-height:145px;aspect-ratio:1.15}.market-product-art>span{font-size:10px}.is-product .market-listing-copy{padding:13px 13px 0}.is-product .market-listing-copy>small{font-size:11px}.is-product h3{font-size:15px;line-height:1.5;margin:6px 0}.is-product .market-listing-copy>strong{font-size:16px}.is-product>footer{padding:0 7px 4px 13px;font-size:10px}
.market-footprint{border-radius:20px;padding:18px}.market-footprint header>span{width:36px;height:36px;font-size:14px}.market-footprint header strong{font-size:14px}.market-footprint header small{font-size:11px}.market-footprint>p,.market-footprint blockquote{font-size:14px}.market-footprint>button{min-height:44px;font-size:13px}
.market-modal{position:fixed;inset:auto 0 var(--market-keyboard-gap,0px);margin:0 auto;width:100%;max-width:100%;max-height:min(92dvh,var(--market-sheet-height,92dvh));border-radius:28px 28px 0 0;overflow:hidden;box-sizing:border-box}
.market-modal::backdrop{background:#1917144d;backdrop-filter:blur(3px)}
.market-sheet{display:flex;flex-direction:column;max-height:inherit;min-height:0;padding-top:8px;box-sizing:border-box}
.market-sheet::before{content:'';width:34px;height:5px;background:var(--text3);opacity:.3;border-radius:4px;margin:0 auto 1px;flex-shrink:0}
.market-sheet-head{display:flex;align-items:center;gap:4px;min-height:52px;padding:0 15px;flex-shrink:0}
.market-sheet-head>strong{font-size:15px;font-weight:550;flex:1;color:var(--text2)}
.market-modal-close{position:static;width:auto;min-width:54px;height:44px;background:transparent;border-radius:10px;font-size:16px;font-weight:550;color:var(--text)}
.market-job-menu{position:static;width:44px;height:44px;border-radius:50%;font-size:23px;letter-spacing:1px}
.market-modal-body{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:8px 20px calc(24px + var(--safe-bottom));scroll-padding-block:12px}
.market-modal h2{font-size:26px;line-height:1.25;font-weight:650;letter-spacing:-.035em;margin:8px 0 22px}
.market-dialog-eyebrow{font-size:12px}.market-modal label{font-size:13px;gap:9px;margin:20px 0 12px;line-height:1.6}
.market-modal select,.market-modal input,.market-modal textarea{border-radius:12px;padding:14px 13px;background:var(--surface);min-height:48px}
.market-modal input[type=hidden]{display:none}
.market-primary,.market-secondary{border-radius:14px;min-height:50px;padding:14px;font-size:16px;font-weight:500;line-height:1.4}
.market-modal-hint,.market-modal-status,#market-job-form>small{font-size:13px;line-height:1.7}.market-detail-title{font-size:16px}.market-detail-visit{font-size:14px;line-height:1.8}
.market-modal .market-paper{max-width:none}
@media(min-width:650px){.market-modal{inset:0;margin:auto;width:480px;max-width:calc(100% - 40px);max-height:min(85dvh,var(--market-sheet-height,85dvh));height:fit-content;border-radius:24px}.market-sheet{padding-top:4px}.market-sheet::before{display:none}.market-product-art{min-height:160px}}
@media(prefers-reduced-motion:reduce){.market-tabs button{transition:none}}

.market-modal .market-dialog-eyebrow{display:none}.market-modal-close{position:relative;display:grid;place-items:center;width:44px;min-width:44px;padding:0;isolation:isolate}.market-modal-close::before{content:'';position:absolute;inset:6px;border-radius:50%;background:var(--surface2);z-index:-1}

/* A shop has a bottom tab bar and a full product page. */
.market-bottom-nav{display:flex;align-items:center;justify-content:space-around;gap:8px;flex-shrink:0;padding:5px 16px calc(4px + var(--safe-bottom));background:var(--surface);min-height:58px;box-sizing:content-box}
.market-bottom-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:64px;min-height:48px;border:0;background:transparent;color:var(--text3);font:inherit;font-size:11px}
.market-bottom-nav [aria-pressed=true]{color:var(--market-accent);font-weight:600}
#page-market[data-kind=shop] .market-tabs{display:none}
#page-market[data-kind=shop] .market-search{margin-bottom:20px}
#page-market[data-kind=shop] .market-scroll{padding-bottom:20px}
#page-market[data-detail=true]>.market-head,#page-market[data-detail=true]>.market-scroll,#page-market[data-detail=true]>.market-bottom-nav{display:none}
#market-product-view{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;background:var(--bg)}
.shop-product-head{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:calc(5px + var(--safe-top)) 10px 5px;min-height:54px;box-sizing:content-box}
.shop-product-head>button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;color:var(--text);font-size:32px}
.shop-product-head>nav{display:flex;gap:12px;align-items:center}
.shop-product-head>nav button{background:none;border:0;color:var(--text2);min-height:44px;padding:7px 5px;font:inherit;font-size:15px}
.shop-product-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:8px}
.shop-product-art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:27px;aspect-ratio:1.12;max-height:420px;box-sizing:border-box;margin:0 12px;border-radius:20px;min-height:240px}
.shop-product-art>span{font-size:12px;letter-spacing:.08em;opacity:.8}
.shop-product-info{padding:19px 20px 14px;background:var(--surface);margin:12px 12px 0;border-radius:18px}
.shop-price-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.shop-price-line>strong{font-size:30px;font-weight:650;letter-spacing:-.04em;color:var(--market-accent)}.shop-price-line>span{font-size:11px;color:var(--text3)}
.shop-product-info h2{font-size:20px;line-height:1.6;letter-spacing:-.02em;margin:9px 0 5px;font-weight:600;overflow-wrap:anywhere}.shop-product-info>p{font-size:12px;color:var(--text3);margin:7px 0;line-height:1.7}
.shop-store{display:flex;align-items:center;gap:12px;margin:10px 12px;padding:16px;background:var(--surface);border-radius:16px}.shop-store-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--surface2);border-radius:12px;color:var(--market-accent)}.shop-store strong{display:block;font-size:14px;font-weight:550;line-height:1.6}.shop-store small{display:block;font-size:11px;color:var(--text3);margin-top:2px}
.shop-product-section{background:var(--surface);border-radius:18px;margin:10px 12px;padding:17px 16px}.shop-product-section>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.shop-product-section h3{font-size:16px;line-height:1.7;font-weight:600;margin:0}.shop-product-section h3 small{font-size:13px;font-weight:400;color:var(--text3)}.shop-product-section>header>button{font:inherit;font-size:12px;min-height:44px;color:var(--market-accent);border:0;background:none;padding:5px}
.shop-review-hint{font-size:11px;line-height:1.8;color:var(--text3);margin:2px 0 15px}.shop-review{padding:10px 0 15px}.shop-review+.shop-review{margin-top:7px}.shop-review>header{display:flex;align-items:center;gap:9px}.shop-review>header>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface2);color:var(--text2);font-size:12px}.shop-review strong{font-weight:500;font-size:12px;line-height:1.6}.shop-review time{display:block;color:var(--text3);font-size:10px;line-height:1.6}.shop-review>p{font-size:14px;line-height:1.8;margin:11px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.shop-no-reviews{padding:25px 0;font-size:13px;color:var(--text3);text-align:center;line-height:1.8}
.shop-description{font-size:14px;line-height:1.9;color:var(--text2);white-space:pre-wrap;overflow-wrap:anywhere}.shop-description-mark{display:flex;align-items:center;flex-direction:column;gap:18px;padding:38px 10px;border-radius:13px;background:var(--surface2);color:var(--text3);font-size:12px;margin-top:22px}
.shop-product-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;background:var(--surface);padding:8px 12px calc(8px + var(--safe-bottom))}.shop-product-actions>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:50px;min-height:48px;padding:5px 6px;border:0;background:none;color:var(--text2);font:inherit;font-size:10px}.shop-product-actions [aria-pressed=true]{color:var(--market-accent)}.shop-product-actions>.shop-group-action{flex:1;margin-left:8px;background:var(--market-accent);color:#fff9f1;border-radius:13px;min-height:50px;padding:8px 9px}.shop-group-action strong{font-size:16px;font-weight:550;line-height:1.4}.shop-group-action small{font-size:10px;line-height:1.5;opacity:.85}
[data-theme=dark] .shop-product-art{filter:brightness(.7)}
@media(min-width:650px){.shop-product-scroll>section{max-width:680px;margin-inline:auto}.shop-product-actions{justify-content:center}.shop-product-actions>.shop-group-action{max-width:360px}.shop-product-head{padding-inline:30px}}

.shop-orders{padding-top:2px}.shop-order{padding:18px;background:var(--surface);border-radius:18px}.shop-order>header{display:flex;justify-content:space-between;gap:12px;align-items:center}.shop-order>header strong{font-size:12px;color:var(--market-accent);font-weight:500}.shop-order time{font-size:10px;color:var(--text3)}.shop-order h3{font-size:17px;line-height:1.6;margin:16px 0 8px}.shop-order p{font-size:12px;color:var(--text2);line-height:1.8}.shop-order>footer{font-size:19px;font-weight:550;margin-top:15px;color:var(--text)}.shop-order>small{display:block;margin-top:10px;color:var(--text3);font-size:12px;line-height:1.7}.market-bottom-nav button{min-width:54px}.market-bottom-nav{gap:0;padding-inline:8px}

.shop-product-art.art-cup{background:linear-gradient(135deg,#f1e9df,#e4d7c5);color:#8f7961}.shop-product-art.art-bag{color:#8f7961}
