/* 2026-11-11: additions to the user's dark and gold studio. */
.skip{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent-border)}
.skip:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
[hidden]{display:none!important}
dialog.modal{max-height:calc(100dvh - 40px)}
dialog.purchase-modal{width:min(520px,calc(100vw - 32px));padding:36px}
.order-amount small{font-size:12px;color:var(--muted)}
.terms-consent input{padding:0!important}
.ledger-column-labels{display:flex;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}
.sidebar nav{margin-top:36px}
.membership-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 24px;color:var(--muted)}
.quota-details{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;margin:18px 0 30px}
.quota-details>.empty-state,.quota-details>.inline-error{grid-column:1/-1}
.quota-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--paper)}
.quota-card>span{color:var(--muted);font-size:13px}.quota-card strong{display:block;font-size:28px;font-weight:500;margin:12px 0;font-variant-numeric:tabular-nums}.quota-card strong small{font-size:13px;color:var(--muted)}
.quota-card p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.quota-period strong{font-size:20px}
.membership-benefits{padding:26px;margin:28px 0}.membership-benefits h2,.plan-section h2{font-size:18px}.benefit-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.benefit-comparison>div+div{border-left:1px solid var(--line);padding-left:24px}.benefit-comparison h3{font-size:14px}.benefit-comparison p{font-size:14px;color:var(--muted);line-height:1.8}.usage-explanation{line-height:1.9}
.plan-section{margin:34px 0}.purchase-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.purchase-plan{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 20px;display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0}.purchase-plan.promotion{border-color:var(--accent-border);background:var(--surface-selected)}.purchase-plan h3{font-size:16px;margin:8px 0}.purchase-plan .plan-price{font-size:28px;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}.purchase-plan .plan-price span{font-size:11px}.purchase-plan p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.purchase-plan .button{margin-top:auto;padding:11px 12px;font-size:13px;min-height:44px}.purchase-plan .old-price{font-size:12px}.purchase-plan .plan-ribbon{top:-10px;right:12px;font-size:11px}
.detail-heading{margin:28px 0}.detail-heading h1{font-size:28px;font-weight:500;margin:0 0 12px}.detail-heading p{color:var(--muted);font-size:14px}.pagination{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:26px 0}.pagination>span{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.pagination button:disabled{opacity:.4;cursor:default}.loading-state,.inline-error{padding:26px;color:var(--muted);font-size:14px}.inline-error p{color:var(--danger);line-height:1.8}.order-filter{display:flex;gap:10px;align-items:center;margin-bottom:20px;color:var(--muted)}
.order-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.order-list>.empty-state,.order-list>.inline-error,.order-list>.loading-state{grid-column:1/-1}.order-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}.order-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.order-heading h2{font-size:16px;margin:0 0 16px}.order-state{color:var(--accent);font-size:12px}.order-amount{font-size:27px;color:var(--ink);font-variant-numeric:tabular-nums;margin:20px 0}.order-card dl>div{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.8;margin:8px 0}.order-card dt{color:var(--muted);flex-shrink:0}.order-card dd{margin:0;text-align:right;overflow-wrap:anywhere}
.result-files{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:12px!important;margin-top:22px}.result-files .extra-file{display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:104px;padding:20px!important;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle);color:var(--ink);text-decoration:none;min-width:0}.result-files .extra-file span{font-size:14px}.result-files .extra-file small{display:flex;justify-content:space-between;gap:8px;align-items:end;color:var(--muted);font-size:11px}.result-files .extra-file b{font-weight:400;color:var(--accent);white-space:nowrap}.result-files a.extra-file:hover{border-color:var(--accent-border);background:var(--surface-selected)}.result-files .unavailable-file{color:var(--muted);opacity:.7}
.modal{max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain}.auth-modal{max-width:470px}.auth-modal .wechat-login{margin-top:20px}.scan-preview{margin:22px auto;border:1px dashed var(--accent-border);background:var(--surface-selected);border-radius:8px;padding:25px;max-width:260px;text-align:center}.scan-preview>span{display:block;font-size:42px;color:var(--accent);margin-bottom:10px}.scan-preview strong{display:block;font-size:16px}.scan-preview small{display:block;margin-top:10px;line-height:1.8;color:var(--muted)}.terms-consent{display:flex!important;align-items:flex-start;gap:10px;margin:22px 0;font-size:13px;line-height:1.7}.terms-consent input{width:17px!important;height:17px!important;margin:3px 0 0!important;accent-color:var(--accent);flex-shrink:0}.terms-consent a{color:var(--accent);text-underline-offset:3px}.purchase-modal{width:min(520px,calc(100vw - 32px));max-width:520px;padding:36px}.purchase-modal h2{margin:10px 0 24px}.purchase-summary{padding:20px;background:var(--surface-selected);border:1px solid var(--accent-border);border-radius:8px;margin-bottom:24px}.purchase-summary:empty{display:none}.purchase-summary strong{font-size:16px}.purchase-summary p{font-size:14px;line-height:1.8}.purchase-summary small{font-size:12px;color:var(--muted)}.purchase-modal form>label:not(.terms-consent){display:block;font-size:14px;margin-bottom:10px}.purchase-modal input[type=tel]{width:100%;min-height:46px;font-size:16px;border:1px solid var(--line);border-radius:6px;background:var(--surface-subtle);color:var(--ink);padding:12px}.purchase-modal #phone-note{display:block;color:var(--muted);font-size:12px;line-height:1.8;margin-top:9px}.payment-notice{border:1px solid var(--warning-border);background:var(--warning-bg);color:var(--warning);border-radius:6px;padding:14px;font-size:13px;line-height:1.9}.purchase-modal .button.wide{margin-top:14px}.purchase-modal #payment-status{font-size:14px;line-height:1.9;color:var(--muted)}.purchase-modal #payment-order>p{overflow-wrap:anywhere}.mode-card:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.terms-consent input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media(max-width:1200px){.purchase-plans{grid-template-columns:repeat(2,minmax(0,1fr))}.quota-details{grid-template-columns:repeat(2,minmax(0,1fr))}.quota-period{grid-column:1/-1}}
@media(max-width:760px){.purchase-plans,.quota-details,.order-list,.benefit-comparison{grid-template-columns:1fr}.benefit-comparison>div+div{padding-left:0;padding-top:16px;border-left:0;border-top:1px solid var(--line)}.quota-period{grid-column:auto}.membership-toolbar{align-items:flex-start;flex-direction:column}.purchase-modal{padding:30px 22px}.result-files{grid-template-columns:repeat(2,minmax(0,1fr))!important}.result-files .extra-file{min-height:110px;padding:16px!important}.result-files .extra-file small{flex-wrap:wrap}.order-card dl>div{flex-direction:column;gap:0}.order-card dd{text-align:left}.pagination{gap:10px}}
@media(prefers-reduced-motion:reduce){.purchase-plan,.extra-file{transition:none!important}}
@media(max-width:760px){dialog.purchase-modal{padding:30px 22px}.result-layout .media-panel{grid-template-columns:minmax(0,1fr)}.result-media{width:min(100%,220px);justify-self:center}.result-files{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))!important}}
@media(min-width:1000px) and (max-height:760px){main{padding-top:17px}.page-intro{margin-bottom:14px}.composer{padding-top:18px}.composer .panel-heading{padding-bottom:9px;margin-bottom:11px}.field-heading{margin-top:14px}}
