:root {
  color-scheme:light;
  --paper:#fcf7f5; --white:#fff; --ink:#392b33; --muted:#7c6d75;
  --accent:#a54766; --accent-dark:#8d3653; --soft:#fcf0f4; --line:#eee2e7; --danger:#a04430;
}
* { box-sizing:border-box; }
/* Disable double-tap zoom across the page, including nested scroll areas and dialogs. */
html,body[data-wallpaper-page],body[data-wallpaper-page] * { touch-action:manipulation; }
body { margin:0; background:var(--paper); color:var(--ink); font:14px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; -webkit-text-size-adjust:100%; }
body[data-wallpaper-page="entry"],body[data-wallpaper-page="checkout"] { display:flex; align-items:center; min-height:100svh; padding:16px 0 calc(16px + env(safe-area-inset-bottom)); background:radial-gradient(ellipse at 15% 0%,#f7e4ed 0,transparent 52%),var(--paper); }
h1,h2,h3,p,figure { margin:0; }
button,input,textarea { font:inherit; }
button,a,label { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { cursor:pointer; }
a { color:inherit; }
button:disabled { cursor:not-allowed; opacity:.5; }
[hidden] { display:none!important; }
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible { outline:3px solid #ad6a89; outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.page { width:calc(100% - 28px); max-width:430px; margin:20px auto; padding-bottom:env(safe-area-inset-bottom); }
.entry-page,.checkout-page { margin:0 auto; padding:24px 22px 18px; border:1px solid #f0e3e8; border-radius:26px; background:linear-gradient(180deg,#fffbfc 0,#fff 190px); box-shadow:0 12px 45px #7b3c5510; }
h1 { font-size:27px; line-height:1.32; font-weight:700; letter-spacing:-.6px; overflow-wrap:anywhere; }
h2 { font-size:17px; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
.collection-header { text-align:center; padding:2px 0 16px; }
.collection-eyebrow { display:inline-block; padding:2px 10px; margin-bottom:8px; background:var(--soft); border-radius:99px; color:var(--accent); font-size:11px; letter-spacing:1.4px; }
.collection-header .product-intro { max-width:300px; margin:9px auto 0; }
.product-intro { color:var(--muted); font-size:12px; line-height:1.8; white-space:pre-line; overflow-wrap:anywhere; }
.collapsible-text { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; max-height:44px; overflow:hidden; }
.collapsible-text.is-expanded { display:block; max-height:none; }
.text-button { min-height:32px; padding:4px 0; border:0; background:transparent; color:var(--accent); font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.expand-button { margin-top:3px; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:12px; }
.section-heading h2 { font-size:15px; }
.section-heading>span { flex-shrink:0; color:#88777f; font-size:10px; }
.pay-plans { display:grid; gap:9px; }
.pay-plan { display:flex; position:relative; align-items:center; gap:12px; min-height:74px; padding:12px 14px; border:1px solid var(--line); border-radius:16px; background:#fff; cursor:pointer; transition:border-color .16s,background .16s,box-shadow .16s; }
.pay-plan:hover { border-color:#d5a7b7; }
.pay-plan.is-selected { border-color:var(--accent); background:#fff6f9; box-shadow:inset 0 0 0 .5px var(--accent); }
.plan-radio { width:18px; height:18px; margin:0; flex:0 0 18px; accent-color:var(--accent); cursor:pointer; }
.plan-copy { display:block; flex:1; min-width:0; }
.plan-heading { display:flex; flex-wrap:wrap; align-items:center; gap:4px 7px; }
.plan-name { font-size:14px; font-weight:650; line-height:1.45; overflow-wrap:anywhere; }
.recommend-badge { display:inline-block; flex-shrink:0; padding:1px 6px; border-radius:5px; background:var(--accent); color:#fff; font-size:9px; line-height:1.7; font-weight:500; }
.plan-description { display:block; margin-top:4px; color:var(--muted); font-size:11px; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; }
.plan-price { display:flex; align-items:baseline; gap:2px; flex-shrink:0; color:#66505b; font-variant-numeric:tabular-nums; }
.plan-price small { font-size:12px; }
.plan-price strong { font-size:25px; line-height:1.1; font-weight:650; letter-spacing:-.8px; }
.is-selected .plan-price { color:var(--accent); }
.purchase-actions { margin-top:14px; }
.selection-summary { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 2px 8px; font-size:11px; color:var(--muted); }
#selected-plan-summary { overflow-wrap:anywhere; }
#selected-plan-price { flex-shrink:0; color:var(--accent); font-size:14px; font-variant-numeric:tabular-nums; }
.action-row { display:flex; align-items:stretch; gap:9px; }
.button { display:flex; justify-content:center; align-items:center; gap:8px; width:100%; min-height:50px; padding:12px 14px; border:0; border-radius:13px; font-size:14px; font-weight:600; line-height:1.5; text-decoration:none; text-align:center; }
.button-primary { background:var(--accent); color:#fff; box-shadow:0 6px 18px #a5476620; }
.button-primary:hover:not(:disabled) { background:var(--accent-dark); }
.acquire-button { flex:1.9; width:auto; }
.part-time-button { flex:1; width:auto; flex-shrink:0; padding-left:9px; padding-right:9px; border:1px solid #e8c9d4; background:#fff7fa; color:#8f4560; font-size:13px; box-shadow:none; }
.button-secondary { border:1px solid var(--line); background:var(--soft); color:var(--accent); margin-top:10px; }
.entry-footer { margin-top:12px; padding-top:9px; border-top:1px solid #f2e9ed; }
.delivery-caption { text-align:center; color:var(--muted); font-size:10px; }
.delivery-caption span { padding:0 9px; color:#bf9eab; }
.page-footer { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:18px; margin-top:3px; color:#86747d; font-size:11px; }
.page-footer a,.page-footer button { display:inline-flex; align-items:center; min-height:24px; color:inherit; text-decoration:none; }
.page-footer a:hover { text-decoration:underline; }
.page-footer button { border:0; background:transparent; font:inherit; }
.notice { margin-top:14px; padding:11px 13px; border-radius:10px; background:#fff0e9; color:var(--danger); font-size:12px; overflow-wrap:anywhere; }
.notice:empty { display:none; }
.quiet-note { margin-top:10px; text-align:center; font-size:11px; color:var(--muted); line-height:1.7; }
.part-time-dialog { width:calc(100% - 32px); max-width:410px; max-height:calc(100dvh - 40px); padding:20px; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:#fff; box-shadow:0 25px 80px #43253544; }
.part-time-dialog::backdrop { background:#29172088; }
.dialog-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.dialog-bar p { font-size:10px; color:var(--accent); }
.dialog-bar h2 { font-size:18px; }
.dialog-bar button { width:44px; height:44px; flex-shrink:0; border:0; border-radius:50%; background:var(--soft); color:var(--accent); font-size:25px; }
.part-time-dialog>img { display:block; width:100%; max-height:60dvh; object-fit:contain; border-radius:12px; }
.part-time-dialog .button { margin-top:12px; }
.part-time-dialog .quiet-note { padding:16px 0; }

/* Checkout shares the collection palette; offers activate only after closing. */
.topbar { position:relative; display:flex; align-items:center; justify-content:center; min-height:42px; margin-bottom:14px; color:var(--muted); font-size:11px; }
.topbar>span { position:absolute; left:0; font-size:9px; }
.topbar b { font-size:13px; font-weight:600; }
.close-payment { position:absolute; right:-5px; display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; background:var(--soft); color:var(--accent); font-size:26px; }
.checkout-heading { margin-bottom:16px; }
.eyebrow { color:var(--accent); font-size:10px; letter-spacing:1px; margin-bottom:5px; }
.eyebrow span { display:none; }
.checkout-heading h1 { font-size:24px; }
.heading-note { margin-top:6px; color:var(--muted); font-size:12px; line-height:1.7; }
.checkout-card { padding:18px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.order-product { padding-bottom:14px; border-bottom:1px solid var(--line); }
.order-label { color:var(--muted); font-size:10px; margin-bottom:3px; }
.order-product h2 { font-size:15px; }
.selected-plan { display:flex; flex-wrap:wrap; align-items:center; gap:5px 8px; margin-top:6px; }
.selected-plan span { padding:2px 7px; border-radius:6px; background:var(--soft); color:var(--accent); font-size:11px; }
.selected-plan b { color:var(--muted); font-size:11px; font-weight:400; overflow-wrap:anywhere; }
.checkout-price { padding:20px 0 17px; text-align:center; }
.muted-label { color:var(--muted); font-size:12px; }
.price { display:flex; justify-content:center; align-items:baseline; gap:4px; line-height:1.2; margin-top:6px; color:var(--ink); font-variant-numeric:tabular-nums; }
.price .currency { font-size:22px; }
.price strong { font-size:48px; font-weight:700; letter-spacing:-1.7px; }
.regular-note { display:block; margin-top:6px; font-size:10px; color:var(--muted); }
.offer-kicker,.offer-detail,.offer-countdown { display:none; }
.offer-state .regular-kicker,.offer-state .regular-note { display:none; }
.offer-state .offer-kicker { display:block; color:var(--accent); font-size:14px; font-weight:650; }
.offer-state .offer-detail { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:5px; color:var(--muted); font-size:11px; }
.offer-detail b { padding:2px 7px; border-radius:6px; background:var(--soft); color:var(--accent); font-weight:600; }
.offer-state .offer-countdown { display:block; margin-top:6px; color:var(--muted); font-size:11px; }
.offer-countdown strong { color:var(--accent); font-variant-numeric:tabular-nums; }
.offer-state .checkout-card { border-color:#d39bae; }
.offer-state .price { color:var(--accent); }
.delivery-summary { padding:8px 9px; margin-bottom:12px; border-radius:9px; background:#fcf7f9; color:var(--muted); text-align:center; font-size:10px; line-height:1.6; }
.pay-button { justify-content:space-between; }
.pay-button b { font-size:18px; font-weight:400; }
.checkout-trust { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:13px; color:var(--muted); font-size:10px; }
.offer-toast { position:fixed; z-index:20; left:50%; bottom:calc(22px + env(safe-area-inset-bottom)); max-width:calc(100% - 40px); padding:10px 14px; border-radius:10px; background:#392b33; color:#fff; font-size:12px; opacity:0; pointer-events:none; transform:translate(-50%,10px); transition:.2s; }
.offer-toast.is-visible { opacity:1; transform:translate(-50%,0); }

/* Existing paid-resource delivery controls. */
.page-heading { margin-bottom:22px; }
.result-heading { text-align:center; }
.success-mark { display:inline-grid; place-items:center; width:48px; height:48px; margin-bottom:12px; border-radius:50%; background:var(--soft); color:var(--accent); font-size:24px; }
.result-heading h1 { font-size:25px; }
.card { padding:22px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.resource-card h2 { font-size:17px; }
.resource-code { display:flex; align-items:center; gap:12px; padding-top:17px; margin-top:17px; border-top:1px solid var(--line); }
.resource-code>span { color:var(--muted); font-size:12px; }
.resource-code strong { font-size:16px; letter-spacing:1px; overflow-wrap:anywhere; }
.resource-code button { margin-left:auto; flex-shrink:0; }
.delivery-note { margin:15px 0 18px; color:var(--muted); font-size:13px; line-height:1.8; white-space:pre-line; overflow-wrap:anywhere; }
.resource-card .button-primary { margin-top:18px; }
.link-details { margin-top:15px; color:var(--muted); font-size:12px; }
.link-details summary { cursor:pointer; width:max-content; max-width:100%; }
.link-details textarea { display:block; width:100%; margin-top:9px; padding:10px; border:1px solid var(--line); border-radius:8px; background:#fcf8fa; color:var(--ink); font-size:12px; line-height:1.6; resize:vertical; overflow-wrap:anywhere; }
.copy-status { margin-top:11px; color:var(--accent); font-size:12px; text-align:center; }
.copy-status:empty { display:none; }
.order-receipt { padding:20px 5px 0; color:var(--muted); font-size:12px; }
.order-receipt>div { display:flex; justify-content:space-between; gap:14px; margin-bottom:7px; }
.order-receipt>div>span:first-child { white-space:nowrap; }
.order-receipt>div>span:last-child { text-align:right; overflow-wrap:anywhere; }
.order-receipt>.text-button { display:block; margin-left:auto; }
.order-footer { margin-top:14px; }
.noscript-note { padding:14px 18px; margin:16px auto; max-width:440px; background:#fff0d8; color:#875f2b; font-size:13px; }
@media (max-width:360px) {
  .page { width:calc(100% - 20px); }
  .entry-page,.checkout-page { padding:18px 16px 13px; border-radius:22px; }
  h1 { font-size:24px; }
  .collection-header { padding-bottom:13px; }
  .collection-eyebrow { margin-bottom:6px; }
  .pay-plan { padding:12px 10px; gap:9px; min-height:76px; }
  .plan-name { font-size:13px; }
  .plan-description { font-size:10px; }
  .plan-price strong { font-size:23px; }
  .section-heading { gap:8px; }
  .section-heading h2 { font-size:14px; }
  .section-heading>span { font-size:9px; }
  .purchase-actions { margin-top:14px; }
  .entry-footer { margin-top:13px; padding-top:10px; }
  .checkout-card { padding:14px; }
  .topbar>span { font-size:8px; }
}
@media (max-height:660px) and (max-width:720px) {
  body[data-wallpaper-page="entry"],body[data-wallpaper-page="checkout"] { padding-top:10px; padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
  .entry-page,.checkout-page { padding-top:16px; padding-bottom:10px; }
  .collection-header { padding-top:0; padding-bottom:12px; }
  .collection-eyebrow { margin-bottom:8px; }
  .pay-plan { min-height:66px; padding-top:10px; padding-bottom:10px; }
  .pay-plans { gap:8px; }
  .purchase-actions { margin-top:13px; }
  .entry-footer { margin-top:12px; padding-top:9px; }
  .topbar { margin-bottom:8px; }
  .checkout-heading { margin-bottom:11px; }
  .checkout-heading h1 { font-size:22px; }
  .checkout-price { padding:13px 0; }
  .price strong { font-size:43px; }
  .checkout-trust { margin-top:9px; }
}
/* Compact portrait collection. The original image-free layout is the fallback. */
body[data-wallpaper-page="entry"]:has(.has-gallery) { padding-top:10px; padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
.entry-page.has-gallery { width:calc(100% - 24px); padding:18px 20px 12px; border-color:#f2e7eb; background:linear-gradient(165deg,#fffdfb 0%,#fff8fa 44%,#fff 76%); border-radius:25px; }
.has-gallery .collection-header { padding:0 0 6px; }
.has-gallery .collection-eyebrow { display:block; background:transparent; padding:0; margin-bottom:5px; font-size:10px; line-height:1.4; letter-spacing:2px; }
.has-gallery h1 { font-size:26px; letter-spacing:.5px; }
.has-gallery .product-intro { margin-top:5px; font-size:12px; line-height:1.5; letter-spacing:.5px; }
.wallpaper-gallery { margin:0 0 12px; }
.wallpaper-stack { position:relative; height:199px; isolation:isolate; }
.wallpaper-stack::before { content:""; position:absolute; left:5%; right:5%; top:15%; bottom:4%; background:radial-gradient(ellipse,#ecd2d8 0,transparent 70%); filter:blur(12px); z-index:-1; }
.wallpaper-card { --rotation:0deg; position:absolute; left:50%; top:11px; width:35%; height:177px; padding:3px; border:0; border-radius:13px; background:#fff; box-shadow:0 9px 18px #59373f28,0 1px 4px #59373f14; transform:translateX(-50%) rotate(var(--rotation)); overflow:hidden; transition:transform .2s,box-shadow .2s; user-select:none; cursor:default; }
.wallpaper-card img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 35%; border-radius:10px; -webkit-user-drag:none; }
/* Original five-card composition and hover motion; clicking never opens a viewer. */
.wallpaper-card[data-position="0"] { --rotation:-12deg; left:12%; top:31px; width:28%; height:148px; z-index:1; }
.wallpaper-card[data-position="1"] { --rotation:-6deg; left:29%; top:19px; width:30%; height:163px; z-index:2; }
.wallpaper-card[data-position="2"] { z-index:3; }
.wallpaper-card[data-position="3"] { --rotation:6deg; left:71%; top:19px; width:30%; height:163px; z-index:2; }
.wallpaper-card[data-position="4"] { --rotation:12deg; left:88%; top:31px; width:28%; height:148px; z-index:1; }
@media (hover:hover) { .wallpaper-card:hover { transform:translate(-50%,-5px) rotate(var(--rotation)); box-shadow:0 15px 25px #59373f33; } }
.gallery-caption { display:flex; justify-content:space-between; gap:10px; margin:3px 2px 0; font-size:10px; line-height:16px; color:#96818a; }
.gallery-caption>span:first-child { letter-spacing:1px; }
.has-gallery .section-heading { margin-bottom:9px; }
.has-gallery .section-heading h2 { font-size:14px; }
.has-gallery .pay-plans { gap:8px; }
.has-gallery .pay-plan { min-height:63px; padding:10px 12px; gap:10px; border-radius:13px; background:#fffcfd; }
.has-gallery .pay-plan.is-selected { background:linear-gradient(110deg,#fdf0f5,#fff8fa); }
.has-gallery .plan-description { margin-top:2px; }
.has-gallery .plan-price strong { font-size:24px; }
.has-gallery .purchase-actions { margin-top:10px; }
.has-gallery .selection-summary { margin-bottom:6px; line-height:18px; }
.has-gallery .button { min-height:48px; border-radius:12px; }
.has-gallery .acquire-button { background:linear-gradient(115deg,#aa4868,#913b59); }
.has-gallery .acquire-button::after { content:"↗"; font-size:18px; margin-left:3px; font-weight:400; }
.has-gallery .entry-footer { margin-top:8px; padding-top:6px; border:0; }
.has-gallery .delivery-caption { font-size:10px; line-height:14px; }
.has-gallery .page-footer { margin-top:1px; }
@media (min-height:740px) and (min-width:361px) {
  .entry-page.has-gallery { padding-top:18px; padding-bottom:12px; }
  .wallpaper-stack { height:200px; }
  .wallpaper-card { height:188px; }
  .wallpaper-card[data-position="0"],.wallpaper-card[data-position="4"] { height:157px; }
  .wallpaper-card[data-position="1"],.wallpaper-card[data-position="3"] { height:174px; }
  .has-gallery .pay-plan { min-height:64px; }
}
@media (max-width:360px), (max-height:640px) {
  .entry-page.has-gallery { padding:15px 15px 10px; }
  .has-gallery .collection-eyebrow { font-size:10px; margin-bottom:4px; }
  .has-gallery h1 { font-size:24px; }
  .wallpaper-gallery { margin-bottom:12px; }
  .wallpaper-stack { height:175px; }
  .wallpaper-card { height:157px; top:7px; }
  .wallpaper-card[data-position="0"],.wallpaper-card[data-position="4"] { height:126px; top:27px; }
  .wallpaper-card[data-position="1"],.wallpaper-card[data-position="3"] { height:141px; top:15px; }
  .has-gallery .pay-plan { min-height:61px; padding:9px 10px; gap:8px; }
  .has-gallery .plan-name { font-size:13px; }
  .has-gallery .plan-description { font-size:11px; }
  .has-gallery .plan-price strong { font-size:23px; }
  .has-gallery .recommend-badge { padding-left:4px; padding-right:4px; }
  .has-gallery .entry-footer { margin-top:7px; padding-top:6px; }
}
@media (max-height:700px) and (max-width:720px) {
  .entry-page.has-gallery { padding:10px 15px 7px; }
  .has-gallery h1 { font-size:24px; line-height:1.3; }
  .has-gallery .collection-header { padding-bottom:4px; }
  .has-gallery .collection-eyebrow { margin-bottom:4px; }
  .has-gallery .product-intro { margin-top:3px; }
  .wallpaper-stack { height:160px; }
  .wallpaper-card { height:146px; top:4px; }
  .wallpaper-card[data-position="0"],.wallpaper-card[data-position="4"] { height:120px; top:20px; }
  .wallpaper-card[data-position="1"],.wallpaper-card[data-position="3"] { height:135px; top:10px; }
  .has-gallery .pay-plan { min-height:60px; padding-top:9px; padding-bottom:9px; }
  .has-gallery .button { padding-top:10px; padding-bottom:10px; }
}
@media (max-width:360px) and (max-height:620px) {
  .wallpaper-stack { height:123px; }
  .wallpaper-card { height:110px; }
  .wallpaper-card[data-position="0"],.wallpaper-card[data-position="4"] { height:90px; top:17px; }
  .wallpaper-card[data-position="1"],.wallpaper-card[data-position="3"] { height:102px; top:9px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none!important; scroll-behavior:auto!important; } }
