/* 叮 Ting · night water. One deliberate dark theme. */
:root{
  --night:#0b1418; --water:#0f2a30; --water-deep:#071619;
  --rim:#1a2a2c; --rim-line:#2c4143;
  --moon:#eee6d2; --moon-dim:#9fb0a9; --moon-faint:#6d7f7a;
  --copper:#d79a52; --copper-hi:#f6cf8e; --ink-on-copper:#1d1206;
  --danger:#e5866f; --good:#8fcfa8;
  --accent-ink:#f6cf8e; --field:#0b1418; --rim-outer:#121e20; --glow:#d79a5255;
  --card-a:#16302f; --card-b:#0f2224; --card-line:#24413f; --boost-a:#2a2114; --boost-b:#14201f;
  --page:var(--night); --display-weight:400;
  /* canvas */ --cv-caustic:160,210,200; --cv-moon:238,230,210; --cv-coin:#d79a52; --cv-coin-mine:#f6cf8e; --cv-glow:246,207,142; --cv-ripple:238,230,210; --cv-hole:29,18,6;
  --f-display:"ZCOOL XiaoWei","Songti SC","STSong",serif;
  --f-latin:"Fraunces",Georgia,serif;
  --f-body:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  --f-mono:"DM Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--night)}
html,body{margin:0;color:var(--moon)}
body{background:var(--page);min-height:100vh}
body{font-family:var(--f-body);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%}
[hidden]{display:none!important}
a{color:var(--accent-ink)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.wrap{max-width:720px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:14px 48px;display:flex;flex-direction:column;gap:28px}

/* top */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mini{display:inline-flex;align-items:center;gap:8px;color:var(--moon);text-decoration:none;font-family:var(--f-display);font-size:18px}
.mini-coin{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--copper-hi),var(--copper) 60%,#8d5a26);position:relative}
.mini-coin::after{content:"";position:absolute;inset:5px;background:var(--night);border-radius:1px}
.top-right{display:flex;align-items:center;gap:8px}
.lang{display:inline-flex;border:1px solid var(--rim-line);border-radius:999px;padding:3px;gap:2px}
.lang button{border:0;padding:3px 10px;font-size:12px;color:var(--moon-dim)}
.lang button[aria-pressed="true"]{background:var(--rim-line);color:var(--moon)}
.demo-banner{margin:0;font-size:13px;color:var(--moon-dim);border:1px dashed var(--rim-line);border-radius:10px;padding:8px 12px}

header{display:block}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:baseline;gap:12px;margin:0;font-weight:400;line-height:1}
.brand .zh{font-family:var(--f-display);font-size:clamp(52px,12vw,72px);color:var(--accent-ink);text-shadow:0 0 28px var(--glow)}
.brand .en{font-family:var(--f-latin);font-style:italic;font-size:clamp(26px,5.5vw,34px)}
.tag{margin:10px 0 0;color:var(--moon-dim);font-size:14px;max-width:34em}
.tally{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:13px;color:var(--moon-dim);line-height:1.3;background:var(--card-a);border:1px solid var(--rim-line);border-radius:999px;padding:7px 14px;max-width:58%;text-align:right}
.tally b{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-weight:500;font-size:17px;color:var(--accent-ink)}
.tally small{font-family:var(--f-mono);font-size:11px;color:var(--accent-ink);opacity:.85}
.tally .live{width:8px;height:8px;border-radius:50%;background:#3fbf7f;box-shadow:0 0 0 0 #3fbf7f88;animation:live 2.4s ease-out infinite;flex:none}
@keyframes live{0%{box-shadow:0 0 0 0 #3fbf7f88}70%{box-shadow:0 0 0 8px #3fbf7f00}100%{box-shadow:0 0 0 0 #3fbf7f00}}
@media (prefers-reduced-motion:reduce){.tally .live{animation:none}}

/* pool */
.pool{position:relative;border-radius:50% / 44%;aspect-ratio:1.45/1;max-width:100%;
  background:radial-gradient(ellipse at 50% 40%,var(--water),var(--water-deep) 75%);
  box-shadow:0 0 0 10px var(--rim),0 0 0 11px var(--rim-line),0 0 0 22px var(--rim-outer),0 30px 60px -20px var(--pool-shadow,#000);
  overflow:hidden;margin:12px 11px}
.pool canvas{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;touch-action:manipulation}
.pool-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none;color:var(--moon-dim);font-size:14px;padding:0 18%}
.pool-empty strong{display:block;font-family:var(--f-display);font-weight:var(--display-weight);font-size:22px;color:var(--moon);margin-bottom:4px}
.pool-hint{position:absolute;left:0;right:0;bottom:9%;text-align:center;font-size:12px;color:var(--moon-dim);letter-spacing:.08em;pointer-events:none;opacity:.85}
.ting{position:absolute;font-family:var(--f-display);color:var(--accent-ink);font-size:28px;pointer-events:none;transform:translate(-50%,-50%);text-shadow:0 0 14px #d79a52aa}
.fly{position:fixed;left:0;top:0;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;z-index:40;pointer-events:none;
  background:radial-gradient(circle at 35% 30%,var(--copper-hi),var(--copper) 55%,#8d5a26);box-shadow:0 0 18px #f6cf8e88}

/* controls */
button,.btn{font:inherit;cursor:pointer;border-radius:999px;border:1px solid var(--rim-line);background:transparent;color:var(--moon);padding:9px 18px;transition:background .2s,border-color .2s,transform .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
button:hover,.btn:hover{border-color:var(--moon-dim)}
button:active{transform:scale(.97)}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,.btn:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.sm{padding:5px 12px;font-size:13px}
.toss{background:var(--copper);border-color:var(--copper);color:var(--ink-on-copper);font-weight:700;padding:10px 22px}
.toss:hover{background:var(--copper-hi);border-color:var(--accent-ink)}
.toss i{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3d6,#b47a3a);display:inline-block;flex:none}
.link{border:0;padding:6px;color:var(--moon-dim);font-size:13px;text-decoration:underline}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.msg{font-size:13px;color:var(--moon-dim);min-height:1.4em;margin:0}
.msg.err{color:var(--danger)}
.msg.ok{color:var(--good)}
.sub{color:var(--moon-dim);margin:4px 0 0;font-size:14px}
h2{font-family:var(--f-display);font-weight:var(--display-weight);font-size:22px;margin:0}

.slip{background:var(--rim);border:1px solid var(--rim-line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px}
.slip label{font-family:var(--f-display);font-size:20px}
.coins{font-family:var(--f-mono);font-size:12px;color:var(--moon-dim);font-variant-numeric:tabular-nums}
.coins b{color:var(--accent-ink);font-weight:500}
textarea,input[type=email]{width:100%;background:var(--field);color:var(--moon);border:1px solid var(--rim-line);border-radius:10px;padding:12px 14px;font:inherit;line-height:1.6}
textarea{min-height:84px;resize:vertical}
textarea::placeholder,input::placeholder{color:var(--moon-faint)}
.count{font-family:var(--f-mono);font-size:12px;color:var(--moon-dim);font-variant-numeric:tabular-nums}
.count.over{color:var(--danger)}

/* boost (arrived from a friend's link) */
.boost{border:1px solid var(--copper);border-radius:14px;padding:20px;background:linear-gradient(160deg,var(--boost-a),var(--boost-b));display:flex;flex-direction:column;gap:14px}
.eyebrow{margin:0;font-size:12px;letter-spacing:.12em;color:var(--accent-ink)}
.boost-text{margin:0;font-family:var(--f-display);font-size:24px;line-height:1.5;word-break:break-word}
.meta{font-family:var(--f-mono);font-size:12px;color:var(--moon-dim)}

/* share */
.share{border:1px solid var(--rim-line);border-radius:14px;padding:20px;background:var(--rim);display:flex;flex-direction:column;gap:14px}
.share-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.share-body{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:20px;align-items:start}
.share-body img{width:100%;border-radius:10px;border:1px solid var(--rim-line);aspect-ratio:9/16;object-fit:cover;background:var(--night)}
.share-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
@media (max-width:480px){.share-body{grid-template-columns:110px minmax(0,1fr);gap:14px}}

/* care */
.care{border:1px solid var(--moon-dim);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.care p{margin:0;color:var(--moon-dim)}
.care ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;width:100%}
.care li{display:grid;grid-template-columns:1fr auto;gap:0 12px}
.care li b{font-family:var(--f-mono);font-size:18px;color:var(--moon);user-select:all}
.care li small{grid-column:1/-1;color:var(--moon-faint);font-size:12px}

/* fished */
.fished{display:flex;flex-direction:column;gap:14px}
.card{border-radius:14px;padding:22px 22px 16px;background:linear-gradient(160deg,var(--card-a),var(--card-b));border:1px solid var(--card-line);min-height:120px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.card p{margin:0;font-size:17px;line-height:1.75;word-break:break-word}
.card .num{font-family:var(--f-mono);font-size:12px;color:var(--accent-ink);letter-spacing:.04em}
.card .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.card .right{display:flex;gap:6px;align-items:center}
.bless.done{border-color:var(--copper);color:var(--accent-ink)}
.flag{border:0;padding:4px 8px;font-size:12px;color:var(--moon-faint)}
.card.placeholder{justify-content:center;color:var(--moon-dim)}
.card.placeholder p{font-size:15px}

/* invite */
.invite{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--rim-line);padding-top:24px}
.invite-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.invite-box code{font-family:var(--f-mono);font-size:20px;letter-spacing:.18em;color:var(--accent-ink);background:var(--rim);border:1px dashed var(--rim-line);border-radius:10px;padding:6px 14px}

/* mine */
.mine{display:flex;flex-direction:column;gap:10px}
.mine ul{list-style:none;margin:0;padding:0}
.mine li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;padding:12px 0;border-top:1px solid var(--rim-line);align-items:center}
.mine li:last-child{border-bottom:1px solid var(--rim-line)}
.mine li .t{min-width:0;word-break:break-word}
.mine li small{font-family:var(--f-mono);font-size:12px;color:var(--moon-dim);font-variant-numeric:tabular-nums;grid-column:1}
.mine li small b{color:var(--accent-ink);font-weight:500}
.mine li button{grid-column:2;grid-row:1/3}
.mine .none{color:var(--moon-dim);font-size:14px;margin:0}

footer{font-size:12px;color:var(--moon-faint);display:flex;justify-content:center;gap:14px;flex-wrap:wrap;text-align:center}
footer a{color:var(--moon-dim)}

/* sheets */
.sheet-bg{position:fixed;inset:0;background:#000a;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}
@media (min-width:600px){.sheet-bg{align-items:center}}
.sheet{width:100%;max-width:420px;background:var(--rim);border:1px solid var(--rim-line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px}
.google{background:#fff;color:#1f1f1f;border-color:#fff;font-weight:500;padding:11px 18px}
.google:hover{background:#f1f1f1;border-color:#f1f1f1}
.or{display:flex;align-items:center;gap:10px;color:var(--moon-faint);font-size:12px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--rim-line)}
.email-form{display:flex;gap:8px;flex-wrap:wrap}
.email-form input{flex:1 1 200px;min-width:0}

.toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--moon);color:var(--night);padding:10px 18px;border-radius:999px;font-size:14px;z-index:60;max-width:calc(100% - 32px);text-align:center}

@media (max-width:480px){.slip,.share,.boost{padding:16px}.pool{margin:12px 8px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ================= 风格 · skins ================= */
/* A 晨光泳池 Daylight: a sunlit fountain, white stone, turquoise water */
:root[data-skin="day"]{
  --night:#f3f8f7; --page:linear-gradient(180deg,#e4f3f2 0%,#f7faf9 40%,#fbfaf6 100%);
  --water:#7fd3cf; --water-deep:#2f9c9f; --rim:#ffffff; --rim-line:#d6e4e2; --rim-outer:#e8efee;
  --moon:#16323a; --moon-dim:#4f6b70; --moon-faint:#8aa0a3;
  --copper:#e3a23c; --copper-hi:#f4c36a; --accent-ink:#b06d0c; --ink-on-copper:#2b1700;
  --field:#f6faf9; --glow:#f4c36a66; --card-a:#ffffff; --card-b:#f0f8f7; --card-line:#d6e4e2;
  --boost-a:#fff6e4; --boost-b:#f2fbfa; --danger:#c4472e; --good:#2f8a5a;
  --f-display:"Noto Serif SC","Songti SC",serif; --display-weight:700;
  --cv-caustic:255,255,255; --cv-moon:255,252,235; --cv-coin:#e3a23c; --cv-coin-mine:#ffd27a; --cv-glow:255,226,150; --cv-ripple:255,255,255; --cv-hole:80,50,10;
  color-scheme:light;
}
/* B 糖果许愿 Candy: lilac to peach, rounded type, a playful pink pool */
:root[data-skin="candy"]{
  --night:#fbf1f6; --page:linear-gradient(160deg,#efe4ff 0%,#ffe6ef 45%,#fff0dc 100%);
  --water:#c9b6ff; --water-deep:#8f74e6; --rim:#ffffffcc; --rim-line:#ead9f2; --rim-outer:#ffffff88;
  --moon:#2c1d43; --moon-dim:#6b5884; --moon-faint:#a596b8;
  --copper:#ff8a5c; --copper-hi:#ffb38f; --accent-ink:#e2553a; --ink-on-copper:#ffffff;
  --field:#ffffff; --glow:#ff8a5c55; --card-a:#ffffff; --card-b:#fbf4ff; --card-line:#ead9f2;
  --boost-a:#fff1e8; --boost-b:#f6efff; --danger:#d23b4f; --good:#2e8a63;
  --f-display:"ZCOOL KuaiLe","PingFang SC",sans-serif; --display-weight:400;
  --cv-caustic:255,255,255; --cv-moon:255,240,250; --cv-coin:#ffb84d; --cv-coin-mine:#ffe08a; --cv-glow:255,214,140; --cv-ripple:255,255,255; --cv-hole:120,60,20;
  color-scheme:light;
}
:root[data-skin="candy"] .slip,:root[data-skin="candy"] .card,:root[data-skin="candy"] .share{border-radius:22px;box-shadow:0 10px 30px -18px #8f74e6}
:root[data-skin="candy"] .brand .en{color:#8f74e6}
/* C 日落 Dusk: golden hour, peach sky over rose water */
:root[data-skin="dusk"]{
  --night:#fff4ec; --page:linear-gradient(180deg,#ffd7b8 0%,#ffe9da 28%,#fdf4ee 60%,#f6eef3 100%);
  --water:#f3a6a0; --water-deep:#7c5c99; --rim:#fffaf6; --rim-line:#f0d9cd; --rim-outer:#f7e4d8;
  --moon:#3a2233; --moon-dim:#7a5a6a; --moon-faint:#b29aa6;
  --copper:#d9822b; --copper-hi:#f2b05e; --accent-ink:#b5541c; --ink-on-copper:#fffaf3;
  --field:#fffaf6; --glow:#f2b05e66; --card-a:#fffaf6; --card-b:#fdeee8; --card-line:#f0d9cd;
  --boost-a:#ffe8d6; --boost-b:#f8e9f1; --danger:#c43c3c; --good:#2f7d58;
  --f-display:"ZCOOL XiaoWei","Songti SC",serif; --display-weight:400;
  --cv-caustic:255,236,210; --cv-moon:255,230,190; --cv-coin:#f2a43c; --cv-coin-mine:#ffd27a; --cv-glow:255,210,140; --cv-ripple:255,245,235; --cv-hole:90,40,10;
  color-scheme:light;
}
:root:not([data-skin="night"]) .google{border-color:#dadce0}

:root:not([data-skin="night"]) .pool-hint{color:#fff;opacity:.9;text-shadow:0 1px 6px #0004}
:root:not([data-skin="night"]) .pool-empty,:root:not([data-skin="night"]) .pool-empty strong{color:#fff;text-shadow:0 1px 8px #0005}
:root[data-skin="day"]{--pool-shadow:#2f9c9f55}
:root[data-skin="candy"]{--pool-shadow:#8f74e666}
:root[data-skin="dusk"]{--pool-shadow:#7c5c9955}

/* in-app browser notice */
.inapp{border:1px solid var(--copper);background:var(--boost-a);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.inapp p{margin:0;font-size:14px}
.inapp-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.inapp-note{margin:0;font-size:14px;background:var(--boost-a);border:1px solid var(--copper);border-radius:10px;padding:10px 12px}
.inapp .msg:empty{display:none}

/* coin shop */
.more{align-self:flex-start;border:0;padding:4px 0;color:var(--accent-ink);font-size:14px;font-weight:500}
.more:hover{text-decoration:underline}
.spark{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3d6,var(--copper) 60%);box-shadow:0 0 8px var(--glow)}
.shop-sheet{max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto}
.shop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.shop-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px;border:1px solid var(--rim-line);border-radius:12px;background:var(--card-a)}
.shop-item .ic{grid-row:1/3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:var(--display-weight);font-size:20px;color:var(--accent-ink);background:var(--boost-a);border:1px solid var(--rim-line)}
.shop-item b{font-weight:700;font-size:15px}
.shop-item small{grid-column:2;color:var(--moon-dim);font-size:13px;line-height:1.5}
.shop-item button{grid-column:3;grid-row:1/3;white-space:nowrap}
.shop-item button.done{border-color:var(--good);color:var(--good)}
.shop-item .price{font-family:var(--f-mono);font-size:12px;color:var(--accent-ink);margin-left:6px;font-weight:500}
@media (max-width:420px){.shop-item{grid-template-columns:40px minmax(0,1fr)}.shop-item button{grid-column:1/-1;grid-row:auto;margin-top:6px}}

/* blessing picker */
.card,.boost{position:relative}
.picker{display:flex;flex-direction:column;gap:8px;border-top:1px dashed var(--rim-line);padding-top:12px}
.pick-h{margin:0;font-size:13px;color:var(--moon-dim)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--copper);background:var(--boost-a);color:var(--accent-ink);border-radius:999px;padding:6px 14px;font-size:14px}
.chip:hover{background:var(--copper);color:var(--ink-on-copper)}
.chip.plain{border-color:var(--rim-line);background:transparent;color:var(--moon-dim)}
.chip.mini{padding:1px 8px;font-size:12px;cursor:default}
.chip.mini:hover{background:var(--boost-a);color:var(--accent-ink)}
.float-bless{position:absolute;left:50%;top:40%;transform:translateX(-50%);pointer-events:none;white-space:nowrap;font-family:var(--f-display);font-weight:var(--display-weight);font-size:20px;color:var(--accent-ink);text-shadow:0 0 12px var(--glow);z-index:5}
.mine li .got{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}

/* this week's warmest */
.warm{display:flex;flex-direction:column;gap:10px}
.warm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.warm-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:12px 14px;border:1px solid var(--rim-line);border-radius:12px;background:var(--card-a)}
.warm-item .rank{grid-row:1/3;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-size:14px;color:var(--moon-dim);border:1px solid var(--rim-line)}
.warm-item.top .rank{background:var(--copper);border-color:var(--copper);color:var(--ink-on-copper);font-weight:500}
.warm-item .t{min-width:0;word-break:break-word}
.warm-item small{grid-column:2;font-family:var(--f-mono);font-size:12px;color:var(--accent-ink)}
.warm-item button{grid-column:3;grid-row:1/3}
.warm-item.mine{border-color:var(--copper);background:var(--boost-a)}
.warm-item .tag{display:inline-block;font-size:11px;background:var(--copper);color:var(--ink-on-copper);border-radius:999px;padding:0 8px;margin-right:6px;vertical-align:1px}
.warm-hit{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--copper);background:var(--boost-a);border-radius:12px;padding:12px 14px}
.warm-hit p{margin:0;font-size:14px;flex:1 1 220px}
@media (max-width:420px){.warm-item{grid-template-columns:32px minmax(0,1fr)}.warm-item button{grid-column:2;grid-row:auto;justify-self:start;margin-top:4px}}

/* share options */
.share-actions .native{display:flex;flex-direction:column;gap:6px}
.share-actions small{font-size:12px;color:var(--moon-dim);line-height:1.5;margin-bottom:4px}
.share-label{margin:6px 0 0;font-size:13px;color:var(--moon-dim)}
.quick{display:flex;flex-wrap:wrap;gap:8px}
.q{font:inherit;font-size:13px;border:1px solid var(--rim-line);border-radius:999px;padding:6px 12px;color:var(--moon);background:var(--card-a);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}
.q:hover{border-color:var(--moon-dim)}
#qWhatsapp{border-color:#25d36688}

/* Spotify-style share row */
.share-body{grid-template-columns:1fr !important;justify-items:center}
.share-body img{width:min(180px,48vw)}
.share-actions{width:100%}
.sheet-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:14px 6px;width:100%}
.ico{border:0;background:transparent;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:12px;color:var(--moon)}
.ico:hover{background:var(--boost-a);border-color:transparent}
.ico-c{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 12px -6px #0005;overflow:hidden}
.ico-c img{width:52px;height:52px}
.ico-copy .ico-c{border:1px solid var(--rim-line);color:var(--moon)}
.ico-l{font-size:12px;line-height:1.3;text-align:center;color:var(--moon-dim)}
.save-link{display:block;margin:10px auto 0}
.share-label{text-align:center}

/* stone fountain pool: the canvas draws the rim, water and ground itself */
.pool{margin-top:-14px !important;aspect-ratio:1/.78;border-radius:0;box-shadow:none !important;background:none !important;overflow:visible;margin:0}
.pool-hint{bottom:3%;color:var(--moon-dim) !important;text-shadow:none !important;opacity:1;background:var(--card-a);border:1px solid var(--rim-line);border-radius:999px;padding:3px 12px;width:max-content;max-width:90%;margin:0 auto;left:0;right:0}
.pool-empty{padding:0 22%}

/* 池面愿望气泡 */
.pool-bubble{position:absolute;z-index:3;max-width:62%;width:max-content;font:inherit;font-size:13px;line-height:1.35;color:var(--moon);background:rgba(255,255,255,.92);border:1px solid var(--rim-line);border-radius:14px;padding:6px 12px;box-shadow:0 6px 18px #0002;cursor:pointer;text-align:left;opacity:0}
.pool-bubble::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:inherit;border-right:1px solid var(--rim-line);border-bottom:1px solid var(--rim-line);transform:translateX(-50%) rotate(45deg)}
:root[data-skin="night"] .pool-bubble{background:rgba(20,32,48,.92);color:var(--moon)}
.warm-item .coin-dot{border:none;background:radial-gradient(circle at 35% 35%,#f6d08a,#c98a2e 60%,#8a5a1a);width:22px;height:22px;justify-self:center}
.warm-fresh-p{margin:0}

/* IG 限时动态说明 */
.story-guide{border:1px solid var(--copper);background:var(--boost-a);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.story-guide .sg-h{margin:0;font-weight:600}
.story-guide ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--moon-dim)}
.story-guide button{align-self:flex-start}
