.portal-page{--paper:#fff8ea;--canvas:#f5efdf;--ink:#20140d;--muted:#775f45;--gold:#aa6a1e;--deep:#52341d;--line:#d7c6aa;--green:#2f6b35;--red:#9f3526;--r-small:5px;--r-medium:10px;--r-large:18px;margin:0;background:var(--canvas);color:var(--ink);font:16px/1.65 "Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;-webkit-font-smoothing:antialiased}
.portal-page *{box-sizing:border-box}.portal-page a{color:inherit;text-underline-offset:4px}.portal-page button,.portal-page input,.portal-page select,.portal-page textarea{font:inherit}.portal-page button,.portal-button{min-height:44px;padding:10px 20px;border-radius:var(--r-small);border:0;background:var(--deep);color:#fff8ea;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease-out,opacity .12s ease-out}.portal-page button:active,.portal-button:active{transform:scale(.97)}.portal-page button:disabled{opacity:.55;cursor:wait}.portal-page button.secondary,.portal-button.secondary{background:#e9dcc5;color:var(--ink)}.portal-page a:focus-visible,.portal-page button:focus-visible,.portal-page input:focus-visible,.portal-page textarea:focus-visible,.portal-page select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.portal-skip{position:absolute;top:-100px;left:16px;z-index:10;background:var(--paper);padding:10px}.portal-skip:focus{top:10px}.portal-header{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:30px;padding:22px 28px;border-bottom:1px solid var(--line)}.portal-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;line-height:1.3;font-size:21px;white-space:nowrap}.portal-seal{width:42px;height:46px;display:grid;place-items:center;background:var(--deep);color:var(--paper);border-radius:5px;font-family:"STKaiti","KaiTi",serif;font-size:30px}.portal-brand small{display:block;font-size:11px;font-weight:400;letter-spacing:1px;color:var(--muted);margin-top:5px}.portal-header nav{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px}.portal-header nav a{padding:8px 0;text-decoration:none}.portal-header nav a:hover{color:var(--gold)}.portal-account{margin-left:auto;font-size:13px;display:flex;gap:10px;align-items:center}.portal-account span{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-shell{max-width:1184px;margin:0 auto;padding:30px 0 50px;min-height:55vh}.portal-status:empty{display:none}.portal-status{padding:12px 16px;background:#eadfc9;color:var(--deep);border-radius:var(--r-small);margin-bottom:24px}.portal-status.error{background:#f7e6df;color:var(--red)}.portal-page h1{font-size:38px;letter-spacing:-.02em;line-height:1.2;margin:10px 0 18px;text-wrap:balance}.portal-page h2{font-size:23px;line-height:1.4;letter-spacing:-.01em;margin:0}.portal-page h3{font-size:17px;margin:8px 0}.portal-page p{margin:8px 0;text-wrap:pretty}.portal-kicker{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:700}.portal-intro{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:40px;padding:15px 0 35px}.portal-intro p{color:var(--muted);max-width:540px}.portal-publish-callout{padding:24px 28px;background:var(--deep);color:var(--paper);border-radius:var(--r-medium)}.portal-publish-callout p{font-size:14px;color:#e8d4b1}.portal-publish-callout .portal-button{margin-top:12px;background:#e7bb79;color:var(--ink)}
.portal-tools{display:grid;grid-template-columns:1.2fr 2fr;margin:6px 0 45px;background:var(--paper);border-radius:var(--r-large);overflow:hidden;box-shadow:0 2px 4px #33231116}.portal-tools-feature{padding:26px 30px;background:#eadcc1;text-decoration:none}.portal-tools-feature strong{display:block;font-size:25px;margin:6px 0}.portal-tools-feature span:last-child{font-size:14px;color:var(--muted)}.portal-tool-links{padding:14px 24px;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.portal-tool-links a{display:flex;flex-direction:column;justify-content:center;text-decoration:none;padding:12px 6px}.portal-tool-links small{color:var(--muted);font-size:12px}.portal-tool-links a:hover strong{text-decoration:underline}.portal-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.portal-section-heading a{font-size:14px;color:var(--muted)}.portal-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}.portal-product{min-width:0;display:flex;flex-direction:column;background:var(--paper);border-radius:var(--r-medium);overflow:hidden;box-shadow:0 2px 4px #33231116}.portal-product-image{display:block;aspect-ratio:4/3;background:#e5dac7;overflow:hidden}.portal-product-image img{width:100%;height:100%;object-fit:cover;display:block}.portal-image-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);font-size:13px}.portal-product-body{padding:15px 17px;display:flex;flex-direction:column;flex:1}.portal-product h3{overflow-wrap:anywhere;line-height:1.5}.portal-product h3 a{text-decoration:none}.portal-product h3 a:hover{text-decoration:underline}.portal-meta{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.portal-price{font-size:24px;line-height:1.4;font-weight:700;font-variant-numeric:tabular-nums;color:#8b301e;margin-top:auto;padding-top:12px}.portal-product .portal-seller{font-size:12px;color:var(--muted);margin-top:8px}.portal-empty{padding:32px 0;color:var(--muted);grid-column:1/-1}.portal-search{display:flex;gap:10px;margin:24px 0}.portal-search input{flex:1;min-width:0}.portal-page input:not([type=file]):not([type=checkbox]),.portal-page textarea,.portal-page select{background:#fffdf7;border:1px solid #bca789;border-radius:var(--r-small);padding:11px 12px;width:100%;color:var(--ink);min-height:46px}.portal-page textarea{resize:vertical;min-height:120px}.portal-form{max-width:760px;background:var(--paper);padding:30px;border-radius:var(--r-medium);box-shadow:0 2px 4px #33231116}.portal-form label{display:block;margin:18px 0 6px;font-weight:600}.portal-form label:first-child{margin-top:0}.portal-form .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-form .field-grid label{margin-top:0}.portal-field-note{font-size:12px;color:var(--muted);margin:5px 0 10px}.portal-form-error{color:var(--red);white-space:pre-line}.portal-form-actions{display:flex;gap:12px;margin-top:24px;align-items:center}.portal-form-actions p{font-size:12px;color:var(--muted)}.portal-preview-images{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.portal-preview-item{position:relative;width:96px}.portal-preview-item img{width:96px;height:78px;object-fit:cover;border-radius:var(--r-small)}.portal-preview-item button{background:none;color:var(--red);padding:3px;min-height:40px;font-size:12px;width:100%}.portal-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:30px}.portal-pagination span{font-variant-numeric:tabular-nums;font-size:14px}.portal-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:35px}.portal-detail-images img{width:100%;height:auto;display:block;border-radius:var(--r-medium);margin-bottom:16px}.portal-detail-copy{background:var(--paper);padding:28px;border-radius:var(--r-medium);align-self:start}.portal-description{white-space:pre-wrap;overflow-wrap:anywhere}.portal-badge{display:inline-block;font-size:12px;color:var(--deep);background:#eddfc5;border-radius:4px;padding:3px 8px}.portal-badge.approved{background:#dbe9d5;color:#234f27}.portal-badge.rejected{background:#f4dfd7;color:#852819}.portal-item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.portal-item-actions .portal-button,.portal-item-actions button{font-size:13px;padding:7px 12px;min-height:40px}.portal-review{max-width:850px}.portal-review-item{padding:25px;background:var(--paper);margin:20px 0;border-radius:var(--r-medium)}.portal-review-item textarea{min-height:75px;margin-top:12px}.portal-warning{padding:15px 0;color:var(--muted);font-size:14px}.portal-link-button{background:none!important;color:var(--deep)!important;padding:3px 0!important;text-decoration:underline}.portal-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.portal-back{font-size:13px;color:var(--muted);display:inline-block;margin-bottom:15px}.portal-footer{max-width:1184px;margin:0 auto;padding:30px 0 36px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:13px;color:var(--muted)}.portal-footer strong{color:var(--ink)}.portal-footer a{display:inline-block;margin-right:18px;min-height:40px;padding-top:7px}.portal-footer button{min-height:40px}.portal-footer #copy-result{margin-left:12px;color:var(--green)}
@media(max-width:1240px){.portal-shell,.portal-footer{margin-left:28px;margin-right:28px}.portal-header{gap:20px}.portal-header nav{gap:12px}}
@media(max-width:850px){.portal-products{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-header{flex-wrap:wrap}.portal-header nav{order:3;width:100%;gap:25px}.portal-intro{gap:25px}.portal-tools{grid-template-columns:1fr 1.5fr}.portal-detail{grid-template-columns:1fr 1fr;gap:20px}.portal-form{padding:24px}}
@media(max-width:600px){.portal-header{padding:16px 18px;gap:12px}.portal-brand{font-size:18px}.portal-account{font-size:12px}.portal-header nav{justify-content:space-between;gap:6px}.portal-header nav a{font-size:13px;min-height:40px}.portal-shell{margin:0;padding:22px 18px 35px}.portal-footer{margin:0 18px;grid-template-columns:1fr;gap:20px}.portal-intro{grid-template-columns:1fr;padding:10px 0 25px;gap:22px}.portal-page h1{font-size:30px}.portal-publish-callout{padding:20px}.portal-tools{grid-template-columns:1fr;margin-bottom:30px}.portal-tools-feature{padding:20px}.portal-tool-links{padding:10px 15px;gap:0 15px}.portal-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.portal-product-body{padding:12px}.portal-product h3{font-size:14px}.portal-price{font-size:21px}.portal-section-heading h2{font-size:21px}.portal-form{padding:20px 16px}.portal-form .field-grid{grid-template-columns:1fr;gap:12px}.portal-detail{grid-template-columns:1fr}.portal-detail-copy{padding:22px}.portal-search button{padding:10px 15px}.portal-form-actions{flex-wrap:wrap}.portal-review-item{padding:18px}.portal-pagination{gap:12px}.portal-pagination button{font-size:13px;padding:8px 14px}}
.portal-notices{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 38px}.portal-platform-notice{padding:24px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.portal-platform-notice h2{font-size:21px;margin:8px 0}.portal-platform-notice p{font-size:14px;color:var(--muted);max-width:62ch}.portal-platform-notice details{font-size:14px;width:100%;margin-top:8px}.portal-platform-notice summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--deep);text-decoration:underline;text-underline-offset:4px}.portal-platform-notice summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.portal-notice-link{font-size:14px;min-height:44px;padding:10px 0}.portal-feedback-attachments{display:flex;flex-wrap:wrap;gap:18px;margin-top:16px}.portal-feedback-attachments>div{max-width:210px}.portal-feedback-attachments img{display:block;object-fit:cover;border-radius:var(--r-small);background:#e5dac7}.portal-feedback-attachments p{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.portal-page input[type=file]{max-width:100%;font-size:14px;min-height:44px}.portal-page input[type=file]::file-selector-button{font:inherit;min-height:44px;margin-right:10px;border:0;background:#e9dcc5;color:var(--ink);border-radius:var(--r-small);padding:8px 14px;cursor:pointer}
@media(max-width:600px){.portal-notices{grid-template-columns:1fr;gap:0;margin-bottom:24px}.portal-platform-notice{padding:20px 0}.portal-platform-notice h2{font-size:20px}}
.portal-registration{max-width:620px}.portal-registration label{margin-top:15px}.portal-registration .portal-field-note{margin:4px 0 8px}.portal-registration .portal-form-error{font-size:13px;overflow-wrap:anywhere}.portal-captcha{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:8px 0}.portal-captcha img{width:180px;height:64px;object-fit:contain;background:#fff}.portal-captcha img[hidden]{display:none}.portal-registration button{touch-action:manipulation}.portal-registration .portal-form-actions{margin-top:14px}.portal-registration .portal-field-note[role=status]{font-variant-numeric:tabular-nums}
.portal-product-editor .portal-product-upload{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.portal-product-editor .portal-product-upload-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.portal-product-editor .portal-product-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.portal-product-editor input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.portal-product-editor .portal-product-add{border:1px dashed var(--gold);min-height:48px;padding:9px 20px;touch-action:manipulation}.portal-product-editor .portal-product-queue{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;margin-top:14px}.portal-product-editor .portal-product-queue-item{min-width:0;max-width:128px}.portal-product-editor .portal-product-queue-item img{width:100%;height:88px;object-fit:cover;border-radius:var(--r-small);display:block;background:var(--canvas)}.portal-product-editor .portal-product-image-state{display:block;font-size:12px;color:var(--muted);margin:3px 0}.portal-product-editor .portal-product-queue-item button{width:100%;min-height:44px;background:none;color:var(--red);padding:4px 0;font-size:12px;touch-action:manipulation}.portal-product-editor .portal-form-error{overflow-wrap:anywhere}.portal-product-editor .portal-product-share-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}.portal-product-editor .portal-product-share-actions .portal-back{margin-bottom:0}.portal-shop-home{margin-bottom:18px}
@media(max-width:600px){.portal-product-editor .portal-product-queue{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-product-editor .portal-product-queue-item img{height:76px}.portal-product-editor .portal-product-share-actions{align-items:stretch;flex-direction:column}.portal-product-editor .portal-product-share-actions .portal-back{align-self:flex-start}.portal-product-editor .portal-product-share-actions .portal-button,.portal-product-editor .portal-product-share-actions button{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.portal-page *{transition:none!important;scroll-behavior:auto!important}}
.portal-account{min-width:0;flex-wrap:wrap;gap:4px 8px;align-items:center;max-width:100%}.portal-account .portal-account-name{color:var(--muted);font-size:12px;max-width:108px;min-width:0}.portal-account a,.portal-account button{min-height:40px;font-size:13px;padding:7px 9px;background:transparent;color:var(--deep);border:1px solid transparent;text-decoration:none;white-space:nowrap}.portal-account .portal-account-logout{background:transparent;color:var(--red)}.portal-account .portal-avatar-toggle{width:40px;height:40px;padding:4px;flex:none;border-radius:50%}.portal-avatar-toggle img{display:block;width:32px;height:32px;border-radius:50%;object-fit:cover}.portal-shop-actions{align-items:center}.portal-shop-actions .portal-shop-home{margin-bottom:0}.portal-shop-actions .portal-button,.portal-shop-actions button{height:44px;min-height:44px;font-size:13px;padding:0 12px;background:transparent;color:var(--deep);border:1px solid var(--line)}.portal-shop-seller{display:flex;gap:10px;align-items:center;margin-top:18px;overflow-wrap:anywhere}.portal-shop-seller img{border-radius:50%;object-fit:cover;flex:none}.portal-shop-seller span{min-width:0}.portal-admin-tabs{display:flex;flex-wrap:wrap;gap:8px}.portal-admin-tabs .portal-button{font-size:13px;padding:8px 12px;min-height:40px}.portal-avatar-editor{max-width:680px;margin-bottom:24px;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-medium)}.portal-avatar-editor[hidden]{display:none}.portal-avatar-editor h2{font-size:20px}.portal-avatar-editor label{display:block;font-size:13px;margin:8px 0}.portal-avatar-editor input[type=range]{display:block;width:100%;padding:0;min-height:40px}.portal-avatar-canvas{display:block;width:240px;height:240px;max-width:100%;aspect-ratio:1;object-fit:contain;background:var(--canvas);margin-top:12px}.portal-avatar-comparison{display:flex;gap:20px;flex-wrap:wrap}.portal-avatar-comparison figure{margin:12px 0}.portal-avatar-comparison img{display:block;object-fit:cover;border-radius:var(--r-small);width:72px;height:72px}.portal-avatar-comparison figcaption{font-size:12px;color:var(--muted);margin-top:5px}.portal-revision-editor{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;min-width:0}.portal-revision-editor>label{display:block;font-size:14px;margin:12px 0}.portal-revision-editor input,.portal-revision-editor textarea,.portal-revision-editor select{display:block;margin-top:5px;max-width:100%;min-width:0}.portal-redaction-canvas{display:block;width:100%;height:auto;max-width:720px;touch-action:none;background:var(--canvas);margin:14px 0}.portal-redaction-canvas[hidden]{display:none}.portal-rect-inputs{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.portal-rect-inputs label{font-size:12px;flex:1 1 100px;max-width:145px}.portal-revision-editor [role=status]{font-size:13px;color:var(--muted)}.portal-avatar-editor .portal-form-error,.portal-review-item .portal-form-error{overflow-wrap:anywhere}.portal-avatar-editor .portal-item-actions button,.portal-revision-editor .portal-item-actions button{white-space:normal;overflow-wrap:anywhere;max-width:100%}
@media(max-width:600px){.portal-header .portal-account{margin-left:0;width:100%;gap:4px}.portal-account .portal-account-name{max-width:90px}.portal-account a,.portal-account button{padding:7px;font-size:12px}.portal-avatar-editor{padding:16px}.portal-avatar-canvas{width:220px;height:220px}.portal-shop-actions{gap:8px}.portal-shop-actions .portal-button,.portal-shop-actions button{max-width:100%;white-space:normal}.portal-review-item{min-width:0}.portal-review-item h2{overflow-wrap:anywhere}}
.portal-page .portal-account a.portal-button,.portal-page .portal-account button{background:transparent;color:var(--deep)}.portal-page .portal-account .portal-account-logout{background:transparent;color:var(--red)}.portal-page .portal-shop-actions .portal-button,.portal-page .portal-shop-actions button.secondary{background:transparent;color:var(--deep);height:44px;min-height:44px;padding:0 12px;border:1px solid var(--line);font-size:13px}
@media(max-width:600px){.portal-header .portal-account .portal-account-name{max-width:48px}.portal-header .portal-account a,.portal-header .portal-account button{padding-left:4px;padding-right:4px;min-width:40px}}
.portal-account a{display:inline-flex;align-items:center;justify-content:center}
