/* Star shop shares the storybook palette and keeps the artwork in the foreground. */
.rewards{--reward-ink:#294a45;--reward-green:#237b68;letter-spacing:0}
.rewards-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 22px}
.rewards-eyebrow{margin:0 0 4px;font-size:13px;font-weight:800;color:var(--reward-green)}
.rewards-header h2{margin:0;font-size:32px;line-height:1.3;color:var(--reward-ink)}
.rewards-sub{margin:8px 0 0;font-size:15px;color:#62756e;font-weight:600}
.reward-wallet{flex:none;text-align:right;border-left:2px solid #d8e8df;padding-left:24px}
.reward-wallet span,.reward-wallet small{display:block;font-size:13px;color:#61746e;font-weight:700}
.reward-wallet strong{display:block;font-size:27px;line-height:1.6;color:#906800}
.reward-views{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;border-bottom:2px solid #d9e6df;margin-bottom:20px}
.reward-views button{min-height:48px;font-weight:800;font-size:15px;padding:7px 0 13px;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.reward-views button.on{border-color:var(--reward-green);color:var(--reward-green)}
.reward-views button span{display:inline-block;font-size:12px;margin-left:4px;color:#61746e}
.reward-goal{display:flex;align-items:center;gap:18px;background:#eaf6ef;border-block:1px solid #cbded3;padding:14px 20px;margin:0 0 24px;color:#294a45;min-height:112px}
.goal-fig{width:72px;flex:none;height:84px;display:flex;align-items:center}
.goal-fig svg{width:100%;height:100%;display:block}
.goal-copy{flex:1;min-width:0;line-height:1.5}
.goal-copy small{display:block;font-weight:700;font-size:12px;color:#477464}
.goal-copy b{display:block;font-size:17px}
.goal-copy>span{display:block;font-size:13px;color:#476e60}
.goal-track{height:7px;border-radius:6px;background:#d0e6d7;overflow:hidden;margin:7px 0;max-width:310px}
.goal-track i{display:block;height:100%;background:#48a17d;border-radius:6px;transition:width .3s}
.reward-goal .btn{flex:none;min-height:42px;white-space:nowrap;font-size:14px}
.reward-goal.complete{flex-direction:column;gap:5px;justify-content:center;text-align:center}
.reward-goal.complete span{font-size:14px}
.reward-themes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0 0 20px;border-bottom:1px solid #dfe7e1}
.reward-theme{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:98px;border-radius:8px;border:1px solid transparent;padding:8px 2px}
.reward-theme>span{font-size:25px;height:36px;line-height:36px}
.reward-theme b{font-size:12px;white-space:nowrap}
.reward-theme small{font-size:11px;color:#65756c;font-weight:700}
.reward-theme.on{background:#fff;border-color:#6ba88a;box-shadow:0 3px 0 #d9e9df;color:#237450}
.reward-theme:hover{background:#f3fbf6}
.reward-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 0 16px}
.reward-filters{display:flex;align-items:center;gap:2px;background:#e6ede7;padding:4px;border-radius:8px}
.reward-filters button{min-height:36px;font-size:12px;font-weight:800;padding:6px 12px;border-radius:6px;white-space:nowrap}
.reward-filters button.on{background:white;color:#226e56;box-shadow:0 2px 3px #20493212}
.reward-search{display:flex;gap:8px;min-width:0}
.reward-search input,.reward-search select{font:inherit;font-size:12px;background:#fff;border:1px solid #c7d9cd;border-radius:6px;padding:9px 10px;min-height:40px;color:#395348;min-width:0}
.reward-search input{width:150px}
.reward-search select{width:133px}
.reward-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.reward-item{position:relative;border:1px solid #dbe5dd;background:#fff;border-radius:8px;padding:12px;display:flex;flex-direction:column;min-width:0;box-shadow:0 3px 0 #dce5dd80;transition:transform .2s,border-color .2s}
.reward-item:hover{transform:translateY(-3px);border-color:#9dbdab}
.reward-item.r2{background:#f8fcff;border-color:#cadfeb}
.reward-item.r3{background:#fffcf2;border-color:#e6d9a1}
.reward-item-top{display:flex;align-items:center;justify-content:space-between;height:26px;gap:4px}
.reward-item-top>span{font-size:11px;font-weight:800;color:#7b7763}
.reward-item.r2 .reward-item-top>span{color:#44778e}
.reward-item.r3 .reward-item-top>span{color:#887019}
.reward-item.owned .reward-item-top>span{color:#358465}
.reward-heart{height:32px;width:32px;display:grid;place-items:center;font-size:24px;line-height:1;color:#8ba599;padding:0}
.reward-heart.on{color:#dd527d}
.reward-check{width:32px;text-align:center;color:#358465!important;font-size:18px!important}
.reward-preview{width:100%;height:150px;display:flex;align-items:center;justify-content:center;padding:6px 0 0}
.reward-preview svg{display:block;width:132px;height:150px;overflow:visible;transition:transform .25s}
.reward-preview:hover svg{transform:rotate(-4deg) scale(1.04)}
.reward-item-copy h3{margin:8px 0 2px;font-size:19px;line-height:1.45;color:#2d4b43}
.reward-item-copy h3 small{font-size:11px;margin-left:6px;font-weight:600;color:#71847a;display:inline-block}
.reward-item-copy p{font-size:11px;line-height:1.55;color:#687b70;margin:0;min-height:35px}
.reward-price{display:flex;gap:4px;align-items:center;font-size:13px;margin:10px 0 8px;color:#866c24}
.reward-price b{font-size:19px;line-height:1.3}
.reward-price span{margin-left:auto;color:#78857d;font-size:11px}
.reward-action{margin-top:auto;min-height:40px;width:100%;border-radius:6px;background:#267a61;border:1px solid #267a61;color:#fff;font-size:13px;font-weight:800;padding:7px 3px}
.reward-action:hover{background:#1c694f}
.reward-action.saving{background:#f4f7f2;border-color:#dce5da;color:#667966}
.reward-action.collected{background:#eaf4ed;border-color:#c9decf;color:#327355}
.reward-empty{grid-column:1/-1;text-align:center;padding:60px 12px;border-block:1px dashed #ccdbc9}
.reward-empty b{font-size:19px;color:#426e57}
.reward-empty p{font-size:14px;color:#68806c}
.reward-footer{display:flex;justify-content:center;align-items:center;gap:10px;padding:24px 0 0;font-size:13px;color:#67816e}
.dc-price{font-weight:800;color:#866c24;margin:12px 0}
.dc-price small{display:block;color:#7b837c;font-size:12px}
.dc-acts{flex-wrap:wrap}
.home-reward-goal{margin:0 0 28px}
.result-reward-goal{max-width:520px;margin:20px auto}
.result-reward-goal .reward-goal{margin-bottom:8px;text-align:left}
.result-reward-goal>.btn{font-size:13px}
.rewards button:focus-visible,.reward-goal button:focus-visible{outline:3px solid #4d96ff;outline-offset:3px}

/* ---------- 亲密度（伙伴卡片、收齐以后的目标） ---------- */
.dc-bond{margin:10px auto 4px;max-width:320px;text-align:left;background:#fff3f6;border:1px solid #f6cfdb;border-radius:12px;padding:9px 12px}
.dc-bond b{font-size:14px;color:#a3365d}
.dc-bond small{display:block;font-size:12px;color:#7b6570}
.dc-bond .goal-track{background:#f6d9e2}
.dc-bond .goal-track i{background:#e05a86}
.dc-bond.max{background:#fff8dc;border-color:#f3d77b}
.dc-bond.max b{color:#9a6a00}
.dc-bond.max .goal-track i{background:#e3a800}
.bond-goal{background:#fff3f6;border-color:#f6cfdb}
.bond-goal .goal-track{background:#f6d9e2}
.bond-goal .goal-track i{background:#e05a86}
.gs-surprise{margin:6px 0 4px;font-size:13px;line-height:1.6;color:#6b4a7a;background:#f6f0ff;border-radius:10px;padding:8px 10px}
.rv-surprise .rv-fig.rv-acc{display:grid;place-items:center}
.rv-surprise .rv-acc .acc-svg{width:150px;height:120px}

/* ---------- 答题继续玩（防沉迷互动门禁） ---------- */
.reward-play-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;margin-top:7px;padding:5px 11px;border-radius:999px;background:#e8f6ef;border:1px solid #9fcfb3;color:#1e6d53;font-size:12px;font-weight:800;line-height:1.3;white-space:nowrap;transition:transform .15s,background .15s}
.reward-play-pill b{font-size:13px;color:#125940}
.reward-play-pill:hover{transform:translateY(-1px);background:#dcf1e6}
.reward-play-pill.empty{background:#fff4df;border-color:#efb849;color:#935800}
.reward-play-pill.empty:hover{background:#ffecbe}
.gacha-play-pill{display:flex;width:100%;margin:4px 0 2px;padding:8px 12px;font-size:13px}
.dc-play{display:inline-block;margin:8px auto 10px;padding:4px 12px;border-radius:999px;background:#eaf6ef;border:1px solid #bcdcc9;color:#236c53;font-size:12px;font-weight:800}
.dc-play.empty{background:#fff4df;border-color:#efb849;color:#935800}
.reward-quiz-box{max-width:560px;padding:22px}
.reward-quiz{display:flex;flex-direction:column;gap:14px}
.rq-head{display:flex;align-items:center;gap:12px;padding-right:36px}
.rq-pal{flex:none;width:58px;height:66px;display:grid;place-items:center;font-size:36px;background:#f2faf5;border-radius:14px;border:1px solid #d5e7dc}
.rq-pal svg{width:52px;height:60px;display:block}
.rq-copy h3{margin:0 0 3px;font-size:20px;color:#294a45}
.rq-copy p{margin:0;font-size:13.5px;color:#5a6e66;font-weight:700;line-height:1.45}
.rq-card{background:#f8fbf9;border:1.5px solid #d7e5dd;border-radius:16px;padding:15px}
.rq-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.rq-stem{font-size:19px;font-weight:800;line-height:1.55;color:#263f3a;margin-bottom:12px}
.rq-vis{margin:0 auto 12px;overflow-x:auto}
.rq-ans .choices{gap:10px}
.rq-ans .choice{min-height:52px;font-size:18px}
.rq-ans .eq{margin-bottom:10px}
.rq-kp{max-width:300px;gap:8px}
.rq-kp .knum,.rq-kp .kfn{height:46px;font-size:19px}
.rq-fb{margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff5ea;border:1px solid #f2c493;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rq-fb[hidden]{display:none}
.rq-fb-copy{flex:1;min-width:180px;font-size:13px;line-height:1.5;color:#7a4512}
.rq-fb-copy b{display:block;font-size:14px;margin-bottom:2px}
.rq-fb-copy span{display:block;color:#6c4e2f}
.rq-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:4px;font-size:12.5px;color:#667a72;font-weight:700}

/* ---------- 成就勋章墙 ---------- */
.bd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.bd-card{border:1px solid #dbe5dd;background:#fff;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;box-shadow:0 3px 0 #dce5dd80}
.bd-card.ready{border-color:#f3c64d;box-shadow:0 3px 0 #f3c64d80;background:#fffbea}
.bd-card.max{background:linear-gradient(135deg,#fff8dc,#fff)}
.bd-top{display:flex;align-items:flex-start;gap:10px}
.bd-top h3{margin:0;font-size:16px;color:var(--reward-ink)}
.bd-top p{margin:2px 0 0;font-size:12px;color:#6f7b75}
.bd-top>div{flex:1;min-width:0}
.bd-icon{font-size:30px;line-height:1}
.bd-tier{flex:none;font-size:12px;color:#866c24;white-space:nowrap}
.bd-val{font-size:13px;color:#56635d}
.bd-val strong{font-size:22px;color:var(--reward-ink)}
.bd-card .goal-track{max-width:none;margin:0}
.bd-dots{display:flex;gap:6px}
.bd-dot{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef2ef;border:2px dashed #cfd8d2;font-style:normal;font-size:14px}
.bd-dot.ready{border:2px solid #f3c64d;background:#fff3c4}
.bd-dot.got{border:2px solid #e3c25a;background:#fff8dc}
.bd-next{font-size:12px;color:#6f7b75}
.bd-card .btn{align-self:flex-start}

/* ---------- 标签徽章 / 系列提醒 ---------- */
.reward-views button span.hot{background:#ff6f91;color:#fff;border-radius:10px;padding:0 6px;font-size:11px}
.series-ready{display:block;width:100%;margin:0 0 16px;padding:12px 14px;border-radius:10px;background:#fff6d8;border:1px dashed #e0b43c;color:#8a6410;font-weight:800;font-size:14px;text-align:center;animation:srPulse 2.4s ease-in-out infinite}
@keyframes srPulse{0%,100%{box-shadow:0 0 0 0 #ffd16655}50%{box-shadow:0 0 0 8px #ffd16600}}
.dc-series{font-size:12px;font-weight:700;color:#6f8078;margin-top:4px}

/* ---------- 闪光版 ---------- */
.pl-svg.shiny{filter:drop-shadow(0 0 6px #ffe27a) drop-shadow(0 0 2px #fff6c4)}
.pl-spark{transform-box:fill-box;transform-origin:center;animation:plSpark 2.2s ease-in-out infinite}
@keyframes plSpark{0%,100%{opacity:.15;scale:.5}45%{opacity:1;scale:1.15}}
.reward-item.is-shiny{background:linear-gradient(160deg,#fffdf1,#fff4fb 55%,#eef8ff);border-color:#efd27a}
.reward-item.is-shiny .reward-item-top>span{color:#a4770a}
.reveal.rv-shiny .rv-r{background:linear-gradient(90deg,#ffe07a,#ffb3cf,#9fd9f5);color:#5a3f00}

/* ---------- 换装屋 ---------- */
.wd-main{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:22px;align-items:start}
.wd-stage{position:relative;text-align:center;border-radius:16px;padding:18px 14px 16px;background:radial-gradient(circle at 50% 42%,#ffffff 0,#f1f8f3 60%,#e2efe7 100%);border:1px solid #d5e5da}
.wd-stage.shiny-on{background:radial-gradient(circle at 50% 42%,#fffdf0 0,#fff2d6 55%,#f5e6ff 100%);border-color:#ecd48a}
.wd-fig{height:260px;display:flex;align-items:center;justify-content:center}
.wd-fig svg{height:100%;width:auto;max-width:100%;overflow:visible}
.wd-stage h3{margin:6px 0 10px;font-size:22px;color:#2d4b43}
.wd-stage h3 small{font-size:13px;margin-left:8px;color:#71847a;font-weight:600}
.wd-look{display:inline-flex;gap:2px;background:#e6ede7;padding:4px;border-radius:10px}
.wd-look button{min-height:36px;padding:6px 14px;border-radius:8px;font-weight:800;font-size:13px;color:#56705f}
.wd-look button.on{background:#fff;color:#a4770a;box-shadow:0 2px 3px #20493214}
.wd-look .wd-magic{background:linear-gradient(90deg,#ffe07a,#ffc2dc);color:#6b4a00}
.wd-look .wd-magic:disabled{opacity:.55;filter:grayscale(.4)}
.wd-trial{margin:10px 0 0;font-size:12px;color:#6f8078;min-height:18px}
.wd-slots{display:flex;gap:6px;margin-bottom:12px}
.wd-slots button{flex:1;min-height:42px;border-radius:10px;border:1px solid #d5e2d9;background:#fff;font-weight:800;font-size:13px;color:#4c6b5d}
.wd-slots button.on{background:#267a61;border-color:#267a61;color:#fff}
.wd-note{font-size:13px;color:#8a6a2c;background:#fff6dc;border-radius:8px;padding:8px 10px;margin:0 0 10px}
.wd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
.wd-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 9px;border-radius:12px;border:1.5px solid #dde7e0;background:#fff;min-height:118px;transition:transform .15s,border-color .15s}
.wd-item:hover:not(:disabled){transform:translateY(-2px);border-color:#9dbdab}
.wd-item .acc-svg{width:74px;height:52px}
.wd-item b{font-size:12px;color:#34524a;line-height:1.3}
.wd-item small{font-size:11px;font-weight:800;color:#8a6c24}
.wd-item.has small{color:#327355}
.wd-item.on{border-color:#267a61;background:#eaf6ef;box-shadow:inset 0 0 0 1px #267a61}
.wd-item.trying{border-color:#e0a800;background:#fffaea}
.wd-item.locked .acc-svg{filter:grayscale(1) opacity(.45)}
.wd-item.locked small{color:#8b8f99}
.wd-item:disabled{opacity:.45}
.wd-none{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px dashed #c3d3c9;color:#9cb2a5;font-size:20px}
.wd-dolls{margin-top:22px}
.wd-dolls h4{margin:0 0 8px;font-size:15px;color:#2d4b43}
.wd-dolls h4 small{font-size:12px;color:#71847a;margin-left:6px}
.wd-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}
.wd-strip button{position:relative;flex:none;width:72px;height:80px;border-radius:12px;border:1.5px solid #dde7e0;background:#fff;padding:4px}
.wd-strip button svg{width:100%;height:100%}
.wd-strip button.on{border-color:#267a61;background:#eaf6ef}
.wd-strip button i{position:absolute;top:2px;right:4px;font-style:normal;font-size:13px}

/* ---------- 系列图鉴 ---------- */
.series-rule{margin:0 0 16px;font-size:14px;color:#5b6f66;font-weight:600}
.series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.series-card{border:1px solid #dbe5dd;background:#fff;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 3px 0 #dce5dd80}
.series-card.complete{border-color:#e6cf7a;background:#fffcef}
.series-card.claimed{border-color:#9fcfb3;background:linear-gradient(170deg,#f3fbf6,#fff)}
.series-card header{display:flex;align-items:center;gap:10px}
.series-card h3{margin:0;font-size:17px;color:#2d4b43}
.series-card header small{font-size:12px;color:#6f8078;font-weight:700}
.series-badge{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:24px;background:#eef3ef;filter:grayscale(.85);opacity:.7}
.series-card.claimed .series-badge,.series-card.complete .series-badge{filter:none;opacity:1;background:radial-gradient(circle,#fff6c9,#ffd166);box-shadow:0 0 0 3px #fff,0 0 0 5px #e6b422}
.series-done{margin-left:auto;font-size:11px;color:#2f7d5a;background:#e2f4ea;padding:3px 8px;border-radius:10px}
.series-track{height:7px;border-radius:6px;background:#e3ece5;overflow:hidden}
.series-track i{display:block;height:100%;background:linear-gradient(90deg,#48a17d,#8fd48a);border-radius:6px}
.series-members{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.series-members button{aspect-ratio:1/1.1;border-radius:8px;background:#f6f9f7;padding:2px}
.series-members button svg{width:100%;height:100%}
.series-members button.locked svg{filter:brightness(0) opacity(.14)}
.series-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.series-prize{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#6b5a2c;min-width:0}
.series-prize .acc-svg{width:44px;height:32px;flex:none}
.series-left{font-size:12px;color:#7a8a82;font-weight:700;white-space:nowrap}
.series-ok{font-size:12px;color:#2f7d5a;font-weight:800;white-space:nowrap}
.series-win{text-align:center;padding:6px 4px}
.sw-badge{width:88px;height:88px;margin:0 auto 8px;display:grid;place-items:center;font-size:46px;border-radius:50%;background:radial-gradient(circle,#fff6c9,#ffd166);box-shadow:0 0 0 4px #fff,0 0 0 7px #e6b422;animation:pop .5s}
.sw-acc{display:inline-flex;flex-direction:column;align-items:center;margin:4px 0 14px}
.sw-acc .acc-svg{width:120px;height:84px}
@media(max-width:800px){
  .wd-main{grid-template-columns:1fr}
  .wd-fig{height:210px}
  .series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .wd-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .wd-item{min-height:104px;padding:8px 4px}
  .wd-item .acc-svg{width:60px;height:42px}
  .wd-slots button{font-size:12px;padding:0 4px}
  .series-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.pl-spark,.series-ready{animation:none!important}}

@media(max-width:800px){
  .reward-themes{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:14px}
  .reward-theme{min-width:87px;flex:none}
  .reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  body:has(.rewards) .topbar{gap:8px;padding-inline:12px}
  body:has(.rewards) .topbar-title{font-size:16px;line-height:1.35;letter-spacing:0}
  body:has(.rewards) .stars-badge{padding-inline:9px;gap:4px}
  .rewards-header{padding:2px 0 16px;gap:8px}
  .rewards-header h2{font-size:25px}
  .rewards-eyebrow{font-size:11px}
  .rewards-sub{font-size:12px;max-width:185px}
  .reward-wallet{padding-left:10px}
  .reward-wallet strong{font-size:22px}
  .reward-wallet span,.reward-wallet small{font-size:10px}
  .reward-play-pill{font-size:10.5px;padding:4px 8px;margin-top:5px}
  .reward-play-pill b{font-size:11.5px}
  .reward-quiz-box{padding:16px 14px}
  .rq-head{gap:9px;padding-right:32px}
  .rq-pal{width:46px;height:54px}
  .rq-pal svg{width:42px;height:48px}
  .rq-copy h3{font-size:18px}
  .rq-copy p{font-size:12px}
  .rq-card{padding:12px}
  .rq-stem{font-size:17px}
  .rq-ans .choice{min-height:46px;font-size:16px}
  .rq-kp .knum,.rq-kp .kfn{height:42px;font-size:17px}
  .reward-views{gap:16px;justify-content:flex-start;margin-bottom:16px;padding-inline:2px}
  .reward-views button{font-size:12px;min-height:44px}
  .reward-views button span{font-size:10px;margin-left:2px}
  .reward-goal{padding:10px;gap:9px;margin-bottom:12px;min-height:90px}
  .goal-fig{width:46px;height:60px}
  .goal-copy b{font-size:14px}
  .goal-copy small,.goal-copy>span{font-size:11px}
  .reward-goal .btn{padding:7px 9px;font-size:11px}
  .reward-theme{min-width:80px;min-height:76px}
  .reward-themes{padding-bottom:10px}
  .reward-toolbar{padding:12px 0 10px;gap:8px}
  .reward-filters{width:100%;justify-content:space-between}
  .reward-filters button{flex:1;padding:7px 5px}
  .reward-search{width:100%}
  .reward-search input{flex:1;width:0}
  .reward-search select{width:139px}
  .reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .reward-item{padding:10px}
  .reward-preview{height:124px}
  .reward-preview svg{width:110px;height:121px}
  .reward-item-copy h3{font-size:17px}
  .reward-item-copy h3 small{margin-left:4px;font-size:10px}
  .reward-item-copy p{font-size:10px;min-height:32px}
  .reward-action{font-size:12px}
  .reward-footer{font-size:11px}
  .reward-footer .btn{font-size:11px;padding:7px}
}

/* ---------- 智慧晶石钱包、思维题双倍门禁与伙伴光环 ---------- */
.rw-gems{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:19px;margin-left:8px;padding:1px 9px;border-radius:999px;background:#f3eafe;border:1px solid #d5bef7;color:#6236a8;vertical-align:middle}
.rw-gems i{font-style:normal;font-weight:900}
.rq-modes{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;background:#edf4ef;padding:5px;border-radius:12px}
.rq-mode{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;padding:6px 8px;border-radius:9px;font-size:13px;font-weight:800;color:#4f665d;border:1.5px solid transparent;transition:transform .15s,background .15s}
.rq-mode small{font-size:11px;font-weight:700;color:#6c7f77}
.rq-mode.on{background:#fff;border-color:#88bfa3;color:#1e6b52;box-shadow:0 2px 5px #1e4b3814}
.rq-mode-sw.on{background:linear-gradient(135deg,#fbf6ff,#fff8e7);border-color:#a87ff3;color:#5c2ea6}
.rq-mode-sw.on small{color:#7c3aed}
.pal-fig,.dc-fig,.wd-fig{position:relative}
.pal-fig>.pl-svg,.dc-fig>.pl-svg,.wd-fig>.pl-svg{position:relative;z-index:1}
.pl-aura{position:absolute;inset:-8%;display:grid;place-items:center;pointer-events:none;z-index:0}
.pl-aura .pl-aura-svg{width:100%;height:100%;display:block;overflow:visible;animation:auraFloat 4.2s ease-in-out infinite}
@keyframes auraFloat{0%,100%{transform:scale(.98)}50%{transform:scale(1.03)}}

/* ---------- 伙伴小屋（#house） ---------- */
.house-stage{position:relative;border-radius:20px;overflow:hidden;border:2px solid #d4e3da;min-height:286px;margin-bottom:16px;box-shadow:0 6px 18px #1d3f3212;background:#eaf6ff}
.hs-backdrop{position:absolute;inset:0;z-index:0}
.hs-bg-svg{width:100%;height:100%;display:block;object-fit:cover}
.hs-plaque{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#ffffffeb;border:1px solid #d8e5dd;box-shadow:0 2px 6px #00000012;font-size:13px;font-weight:800;color:#2c4a42}
.hs-plaque small{font-size:11.5px;color:#627870;font-weight:700;border-left:1px solid #d7e3dc;padding-left:8px}
.hs-streak{position:absolute;top:12px;right:12px;z-index:2;padding:5px 11px;border-radius:999px;background:#fff7e0eb;border:1px solid #f0c969;color:#8c5800;font-size:12px;font-weight:800}
.hs-floor{position:relative;z-index:1;min-height:286px;display:flex;align-items:flex-end;justify-content:center;gap:14px;padding:54px 18px 20px}
.hs-main-pal{position:relative;display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:16px;transition:transform .2s}
.hs-main-pal:hover{transform:translateY(-3px)}
.hs-pal-svg{position:relative;z-index:1;width:136px;height:152px;display:flex;align-items:center;justify-content:center}
.hs-pal-svg svg{width:100%;height:100%;overflow:visible}
.hs-no-pal{font-size:64px}
.hs-pal-name{position:relative;z-index:2;margin-top:2px;padding:2px 10px;border-radius:999px;background:#ffffffeb;border:1px solid #d4e3da;font-size:12.5px;color:#284840}
.hs-guest{display:flex;flex-direction:column;align-items:center;width:82px;padding:4px;border-radius:14px;transition:transform .2s}
.hs-guest:hover{transform:translateY(-3px)}
.hs-guest svg{width:72px;height:82px;overflow:visible}
.hs-guest span{margin-top:2px;padding:1px 7px;border-radius:999px;background:#ffffffdb;font-size:11px;font-weight:800;color:#3d5b52;white-space:nowrap}
.hs-prop{position:absolute;bottom:22px;z-index:2;width:86px;display:flex;flex-direction:column;align-items:center;padding:4px;border-radius:14px;transition:transform .2s}
.hs-prop.slot-0{left:18px}
.hs-prop.slot-1{right:18px}
.hs-prop:hover{transform:translateY(-3px) scale(1.03)}
.hs-prop .hs-item-svg{width:68px;height:68px;display:block;filter:drop-shadow(0 3px 4px #0000001c)}
.hs-prop span{margin-top:1px;padding:1px 7px;border-radius:999px;background:#ffffffe6;font-size:10.5px;font-weight:800;color:#355249;white-space:nowrap}
.hs-prop.empty{height:76px;justify-content:center;border:2px dashed #ffffffcc;background:#ffffff59}
.hs-prop.empty span{background:transparent;color:#294a45;font-size:11.5px}
.hs-bounce{animation:hsBounce .45s ease}
@keyframes hsBounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-12px) scale(1.06)}70%{transform:translateY(-4px)}}
.hs-pop-msg{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:3;max-width:90%;padding:5px 14px;border-radius:999px;background:#294a45eb;color:#fff;font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-pop-msg[hidden]{display:none}

.hs-subtabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.hs-subtabs>button{min-height:40px;padding:7px 14px;border-radius:10px;border:1.5px solid #d5e2d9;background:#fff;font-size:13.5px;font-weight:800;color:#48655a}
.hs-subtabs>button.on{background:#6236a8;border-color:#6236a8;color:#fff}
.hs-subtabs>button span.hot{display:inline-block;margin-left:4px;padding:0 6px;border-radius:999px;background:#ff6f91;color:#fff;font-size:11px}
.hs-subtabs .hs-earn-btn{margin-left:auto;background:#f5eeff;border-color:#cdb4f8;color:#5a2ca0}
.hs-cats{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:14px;scrollbar-width:none}
.hs-cats button{flex:none;min-height:38px;padding:6px 12px;border-radius:999px;background:#eef4f0;border:1px solid #d5e3db;font-size:12.5px;font-weight:800;color:#48665b;white-space:nowrap}
.hs-cats button small{font-size:11px;opacity:.8;margin-left:3px}
.hs-cats button.on{background:#237b68;border-color:#237b68;color:#fff}
.hs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hs-card{border:1.5px solid #dbe5dd;background:#fff;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 3px 0 #dce5dd80}
.hs-card.on{border-color:#267a61;background:#f2fbf6}
.hs-card-top{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#6c7e76;font-weight:700}
.hs-card-top b{color:#6236a8;font-size:12px}
.hs-card.owned .hs-card-top b{color:#28785c}
.hs-card-scene{height:96px;border-radius:10px;overflow:hidden;border:1px solid #dce6df}
.hs-card-ico{height:92px;display:grid;place-items:center;background:#f7faf8;border-radius:10px}
.hs-card-ico svg{width:76px;height:76px;overflow:visible}
.hs-card-title-badge{height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:10px;background:linear-gradient(135deg,#fbf6ff,#fff8e5);border:1px dashed #d3bdf6}
.hs-card-title-badge span{font-size:28px;line-height:1}
.hs-card-title-badge b{font-size:15px;color:#4f288c}
.hs-card h4{margin:2px 0 0;font-size:16px;color:#294a45}
.hs-card p{margin:0 0 6px;font-size:12px;line-height:1.5;color:#64776f;flex:1}
.hs-card .btn{width:100%}
.hs-rv-fig .hs-card-scene,.hs-rv-fig .hs-card-ico{width:160px;height:120px;margin:0 auto}

.hs-box-panel{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:center;padding:20px;border-radius:18px;background:linear-gradient(135deg,#f7f1ff,#fff9eb);border:1.5px solid #d7c2fa}
.hs-box-art{display:grid;place-items:center}
.hs-box-svg{width:168px;height:150px}
.hs-box-copy h3{margin:0 0 6px;font-size:22px;color:#4a2485}
.hs-box-copy p{margin:0 0 12px;font-size:13.5px;line-height:1.6;color:#584970}
.hs-box-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px;font-size:13px;color:#5a4a73}
.hs-box-meta b{color:#6236a8}
.hs-box-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.hs-bounty-wrap{display:flex;flex-direction:column;gap:20px}
.hs-sec{background:#fff;border:1.5px solid #dce6df;border-radius:16px;padding:16px}
.hs-sec-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.hs-sec-head h3{margin:0 0 4px;font-size:18px;color:#294a45}
.hs-sec-head p{margin:0;font-size:12.5px;color:#64776f}
.hs-sec-stat{font-size:12.5px;font-weight:700;color:#6236a8;background:#f6f0ff;padding:6px 11px;border-radius:999px}
.hs-quest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hs-qcard{border:1.5px solid #e0e8e3;border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:8px;background:#fafcfb}
.hs-qcard.ready{border-color:#f0c24b;background:#fffbeb}
.hs-qcard.claimed{border-color:#a8d8be;background:#f3fbf6}
.hs-qc-top{display:flex;align-items:flex-start;gap:8px}
.hs-qc-ico{font-size:24px;line-height:1}
.hs-qc-top>div{flex:1;min-width:0}
.hs-qc-top h4{margin:0;font-size:15px;color:#294a45}
.hs-qc-top p{margin:2px 0 0;font-size:11.5px;color:#667870;line-height:1.45}
.hs-qc-top>b{font-size:11.5px;color:#6236a8;white-space:nowrap}
.hs-qcard .goal-track{max-width:none;margin:0}
.hs-qc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:11.5px;font-weight:700;color:#6a5a2c}
.hs-tag-ok{color:#267a5b;font-size:12.5px}
.hs-island-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hs-icard{border:1.5px solid #e0e8e3;border-radius:14px;padding:13px;background:linear-gradient(160deg,var(--isl-bg,#f5f8ff),#ffffff 62%);display:flex;flex-direction:column;gap:8px}
.hs-icard.ready{border-color:#f0c24b;box-shadow:0 3px 0 #f0c24b66}
.hs-ic-top{display:flex;align-items:center;gap:10px}
.hs-ic-ico{font-size:28px;line-height:1}
.hs-ic-top h4{margin:0;font-size:16px;color:var(--isl-c,#294a45)}
.hs-ic-top small{font-size:12px;color:#5f726a;font-weight:700}
.hs-ic-tiers{display:flex;gap:6px;flex-wrap:wrap}
.hs-tier-dot{padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:800;background:#eef3f0;color:#667870;border:1px dashed #cbd7d0}
.hs-tier-dot.ready{background:#fff3c4;border:1px solid #eab308;color:#854d0e}
.hs-tier-dot.got{background:#e6f6ed;border:1px solid #34a874;color:#1e6b4b}
.hs-ic-gift{margin:0;font-size:12px;color:#51645c;font-weight:700}
.hs-ic-wait{font-size:12px;color:#6c7d75;font-weight:700}

/* ---------- 智慧岛顶部「智慧寻宝站」与结果页晶石奖励条 ---------- */
.sw-bounty{margin:12px 0;padding:14px 16px;border-radius:18px;background:linear-gradient(145deg,#faf5ff 0%,#fffdf5 60%,#eef9ff 100%);border:2px solid #d9c6fa;box-shadow:0 4px 0 #dfd2f880;text-align:left}
.sw-bt-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.sw-bt-kicker{display:inline-block;padding:2px 9px;border-radius:999px;background:#ede2ff;color:#5b2ca0;font-size:11.5px;font-weight:800;margin-bottom:3px}
.sw-bt-head h3{margin:0;font-size:18px;color:#35205c}
.sw-bt-head h3 small{font-size:12px;color:#6d5b8c;font-weight:700;margin-left:6px}
.sw-bt-right{display:flex;align-items:center;gap:8px}
.sw-gem-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:999px;background:#fff;border:1.5px solid #cdb4f8;color:#5b2ca0;font-size:14px;font-weight:900}
.sw-bt-quests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.sw-bt-q{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffffd9;border:1.5px solid #e4dcf5}
.sw-bt-q.ready{background:#fffbeb;border-color:#f0c24b}
.sw-bt-q.done{background:#f2fbf6;border-color:#b5dfc7}
.sw-bt-qi{font-size:21px;flex:none}
.sw-bt-qc{flex:1;min-width:0}
.sw-bt-qc b{display:block;font-size:13px;color:#2f2447}
.sw-bt-qc b small{font-size:11px;color:#6e5994;margin-left:4px}
.sw-bt-qc span{display:block;font-size:11px;color:#6a6378;line-height:1.35}
.sw-bt-tag.ok{font-size:11.5px;font-weight:800;color:#25795b;white-space:nowrap}
.sw-bt-chests{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.sw-bt-chest{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:6px 10px;border-radius:10px;background:var(--isl-bg,#f3f6fb);border:1px solid #dce5ee;font-size:12px;font-weight:800;color:var(--isl-c,#334155)}
.sw-bt-chest.ready{background:#fff6d6;border-color:#eab308;color:#854d0e}
.sw-reward-strip{max-width:520px;margin:14px auto;padding:12px 15px;border-radius:14px;background:linear-gradient(135deg,#f7f0ff,#fff9e6);border:1.5px solid #d5bef7;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;text-align:left}
.sw-rs-copy{flex:1;min-width:200px}
.sw-rs-copy b{display:block;font-size:14.5px;color:#4f268c}
.sw-rs-copy b small{font-size:12px;color:#7356a6}
.sw-rs-copy span{display:block;font-size:12px;color:#5e5273;margin-top:2px}

@media(max-width:800px){
  .hs-grid,.hs-quest-grid,.sw-bt-quests{grid-template-columns:1fr}
  .hs-box-panel{grid-template-columns:1fr;text-align:center}
  .hs-box-meta,.hs-box-acts{justify-content:center}
  .sw-bt-chests{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .rw-gems{font-size:14px;padding:1px 7px;margin-left:4px}
  .rq-modes{grid-template-columns:1fr}
  .hs-floor{min-height:248px;padding:48px 10px 18px;gap:6px}
  .hs-pal-svg{width:108px;height:122px}
  .hs-guest{width:64px}
  .hs-guest svg{width:56px;height:64px}
  .hs-prop{width:68px;bottom:18px}
  .hs-prop.slot-0{left:6px}
  .hs-prop.slot-1{right:6px}
  .hs-prop .hs-item-svg{width:52px;height:52px}
  .hs-island-grid{grid-template-columns:1fr}
  .hs-subtabs .hs-earn-btn{margin-left:0;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .rewards *, .reward-goal *, .pl-aura .pl-aura-svg, .hs-bounce{animation:none!important;transition:none!important}
}
