/* 星露园限定视觉：主场景使用生成的黏土插画，管理页遵循现有工作台。 */
.sg-garden,.sg-manage,.sg-modal{--sg-green:#28634c;--sg-deep:#244838;--sg-muted:#52675b;--sg-mint:#eaf4e9;--sg-yellow:#fff0be;--sg-cream:#fffdf7;--sg-orange:#a65328;color:var(--sg-deep);font-family:inherit}
.sg-garden *, .sg-manage *{box-sizing:border-box}
.sg-garden ::selection,.sg-manage ::selection{background:#cce6cf;color:#163f2c}
.sg-garden button:focus-visible,.sg-manage button:focus-visible,.sg-modal button:focus-visible{outline:3px solid #287b97;outline-offset:3px}
.sg-icon{width:24px;height:24px;flex:none;vertical-align:middle}
.sg-heading{display:flex;align-items:center;gap:20px;margin-bottom:24px}.sg-heading h1{font-size:30px;line-height:1.25;margin:0 0 8px;font-weight:750;letter-spacing:-.02em}.sg-heading>div:first-child{flex:1}.sg-heading p{margin:0;color:var(--sg-muted);font-size:14px;line-height:1.6}
.sg-wallet{display:flex;align-items:center;gap:12px;flex:none;padding:10px 22px;background:var(--sg-yellow);border-radius:18px}.sg-wallet>.sg-icon{width:38px;height:38px;color:#a96c0a}.sg-wallet span{display:block;font-size:12px;color:#785717}.sg-wallet strong{font-size:28px;line-height:1.15;display:block;font-variant-numeric:tabular-nums}.sg-wallet small{font-size:13px;font-weight:500}
.sg-btn{min-height:46px;padding:11px 18px;display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:12px;color:#fff;background:var(--sg-green);font-family:inherit;font-size:14px;font-weight:600;line-height:1.35;cursor:pointer;transition:background .18s,transform .18s}.sg-btn:hover{background:#1b513c}.sg-btn:active{transform:scale(.98)}.sg-btn:disabled{cursor:default;background:#e9eee7;color:#637064;transform:none}.sg-secondary{background:#eef3e9;color:var(--sg-green)}.sg-secondary:hover{background:#dcebdc}.sg-wishes{background:#fff;color:var(--sg-green);border:1px solid #d4dfd2}.sg-wishes:hover{background:#f0f7eb}
.sg-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start}.sg-world-column{min-width:0}.sg-scene{position:relative;aspect-ratio:3/2;border-radius:24px;overflow:hidden;background:#d1ebca;isolation:isolate}.sg-background{display:block;width:100%;height:100%;object-fit:cover}.sg-scene-top{position:absolute;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;z-index:3}.sg-pending{display:flex;align-items:center;gap:5px;background:#fffdf4;padding:8px 12px;border-radius:12px;color:#2b533e;font-size:12px;box-shadow:0 4px 14px #294c2620}.sg-pending .sg-icon{color:#aa780e;width:20px}.sg-pending b{font-size:19px;margin-left:5px;font-variant-numeric:tabular-nums}.sg-day{font-size:12px;color:#204c3f;background:#f5fff1e6;padding:6px 10px;border-radius:8px}.sg-house-label{position:absolute;left:13%;top:72%;display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:9px;background:#effcffee;font-weight:600;font-size:clamp(10px,1vw,13px);color:#265e6e;box-shadow:0 2px 8px #3d757a25}.sg-house-label .sg-icon{width:17px;height:17px}
.sg-dews{position:absolute;inset:0;pointer-events:none}.sg-dew{position:absolute;width:var(--dew-size);aspect-ratio:1;color:#ffd35d;filter:drop-shadow(0 0 5px #fff0a8);animation:sg-twinkle 2.8s ease-in-out var(--delay) infinite}.sg-dew .sg-icon{display:block;width:100%;height:100%;fill:#ffe577;stroke:#fffbe6;stroke-width:1.5}.sg-dew-cyan .sg-icon{fill:#8ff1e5;stroke:#edfffc}.sg-safe-bar{display:flex;align-items:center;gap:10px;padding:16px 4px;color:#315c47}.sg-safe-bar>.sg-icon{color:#377963;width:28px;height:28px}.sg-safe-bar strong{display:block;font-size:13px;font-weight:650}.sg-safe-bar span{display:block;font-size:11px;color:var(--sg-muted);margin-top:4px;line-height:1.5}.sg-dew-meter{display:flex;gap:3px;margin-left:auto}.sg-dew-meter i{width:7px;height:15px;border-radius:4px;background:#dee8dc}.sg-dew-meter i.is-filled{background:#bd8a27}
.sg-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.sg-section-head h2{font-size:18px;margin:0;font-weight:650}.sg-section-head>span{font-size:12px;color:var(--sg-muted)}.sg-section-head p{margin:7px 0 0;font-size:13px;color:var(--sg-muted);line-height:1.6}.sg-task{padding:20px;border-radius:18px;background:#fffdf7;border:1px solid #e3e7db;margin-bottom:14px}.sg-task.is-ready{border-color:#a4c399;background:#f2f8e8}.sg-task-title{display:flex;gap:10px;align-items:center}.sg-task-title h3{font-size:16px;margin:0 0 5px}.sg-task-title p{font-size:12px;margin:0;color:var(--sg-muted)}.sg-task-symbol{color:#397b60}.sg-task-reward{margin-left:auto;color:#85610d;font-weight:700;display:flex;align-items:center;gap:2px}.sg-task-reward .sg-icon{width:18px}.sg-task-progress{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--sg-muted);margin-top:24px}.sg-task-progress strong{font-weight:600;font-variant-numeric:tabular-nums}.sg-task progress{appearance:none;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;display:block;margin:9px 0 18px;background:#e2eadb}.sg-task progress::-webkit-progress-bar{background:#e2eadb}.sg-task progress::-webkit-progress-value{background:#54895a;border-radius:6px}.sg-task progress::-moz-progress-bar{background:#54895a}.sg-task .sg-btn{width:100%;font-size:12px;white-space:normal}.sg-task-note{font-size:12px;line-height:1.8;color:var(--sg-muted);padding:0 4px}
.sg-monster{position:absolute;left:calc(82% - var(--approach)*18%);top:calc(48% + var(--approach)*10%);width:17%;aspect-ratio:1;opacity:0;transform:scale(calc(.65 + var(--approach)*.35));transform-origin:bottom center;transition:left 10s linear,top 10s linear,transform 10s linear;pointer-events:none;z-index:2}.sg-monster.is-visible{opacity:1}.sg-sprite{width:100%;height:100%;background-image:url('../img/star-garden/monster.png');background-size:300% 100%;background-position:left center;background-repeat:no-repeat;animation:sg-sneak 1.4s ease-in-out infinite}.sg-monster.is-fleeing{--approach:1!important;left:65%;top:57%;animation:sg-flee 1.8s cubic-bezier(.4,0,.8,1) forwards}.sg-monster.is-fleeing .sg-sprite{background-position:50% center}.sg-monster.is-stealing{--approach:1!important;left:65%;top:57%;animation:sg-steal 1.5s ease-in forwards}.sg-monster.is-stealing .sg-sprite{background-position:right center}.sg-scene-empty{position:absolute;top:25%;left:48%;right:10%;font-size:clamp(12px,1.5vw,19px);line-height:1.7;color:#294d3c;background:#fffae8e8;padding:12px;border-radius:14px;text-align:center}.sg-net-flight{position:absolute;left:55%;top:10%;width:25%;color:#fff9d5;opacity:0;pointer-events:none;filter:drop-shadow(0 3px 3px #31502a70)}.sg-net-flight .sg-icon{width:100%;height:auto}.sg-net-flight.is-catching{animation:sg-catch 1.15s ease-out both}
.sg-monster-track{margin-top:14px;background:#f4f5eb;border-radius:18px;padding:22px 24px}.sg-track-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.sg-track-heading>div{display:flex;align-items:center;gap:8px}.sg-track-heading h2{font-size:15px;margin:0}.sg-track-heading>span{font-size:11px;color:var(--sg-muted)}.sg-track-heading .sg-icon{width:20px;color:#788451}.sg-track-status{font-size:13px;line-height:1.7;margin-top:10px;color:#465b3e}.sg-path{display:flex;margin:20px 0 12px;position:relative}.sg-path:before{content:'';position:absolute;left:7%;right:7%;top:17px;height:2px;background:#cdd8bd}.sg-step{position:relative;flex:1;text-align:center;min-width:0}.sg-step i{width:34px;height:34px;display:flex;align-items:center;justify-content:center;margin:auto auto 8px;background:#e0e7d4;border-radius:50%;font-family:inherit;font-size:13px;font-weight:600;line-height:1;color:#50613e}.sg-step i .sg-icon{width:18px;height:18px}.sg-step b{display:block;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.sg-step span{font-size:10px;color:#53614b;display:block;margin-top:3px}.sg-step.is-reached i{background:#48764e;color:#fff}.sg-track-foot{font-size:11px;margin:14px 0 0;color:#59694c}.sg-monster-track.is-stolen{background:#fbf0dd}.sg-monster-track.is-stolen .sg-step.is-reached i{background:#a2753f}
.sg-loading,.sg-empty{text-align:center;padding:40px 20px;color:var(--sg-muted);line-height:1.7}.sg-empty>.sg-icon{width:44px;height:44px;color:#789b6b}.sg-empty h3{font-size:16px;color:var(--sg-deep);margin:15px 0 7px}.sg-empty p{font-size:13px}.sg-network-error{background:#fff0d5;color:#794f21;padding:12px;border-radius:10px;font-size:13px}.sg-network-error button{margin-left:12px;text-decoration:underline;background:none;border:0;cursor:pointer}
.sg-wish-list{display:grid;gap:16px}.sg-wish{display:flex;gap:18px;align-items:center;padding:18px;background:#f6f7ed;border-radius:16px}.sg-gift-art{display:grid;place-items:center;background:#f5e3b1;color:#8b6425;width:66px;height:70px;border-radius:20px;flex:none}.sg-gift-art .sg-icon{width:36px;height:36px}.sg-wish h3{margin:0 0 8px;font-size:16px;overflow-wrap:anywhere}.sg-wish p{margin:0 0 10px;font-size:14px}.sg-wish small{font-size:12px;color:#62705c;margin-left:5px}.sg-wish-status{font-size:12px;color:#80552c}.sg-wish-status.is-enough{color:#28603c}
.sg-manage{max-width:1080px;margin:auto}.sg-child-label{display:flex;align-items:center;gap:10px;font-size:13px;white-space:nowrap}.sg-child-label select{min-width:130px}.sg-summary{display:flex;align-items:center;gap:24px;padding:28px;background:#edf4e7;border-radius:20px;margin-bottom:30px}.sg-summary-icon{color:#ac791f}.sg-summary-icon .sg-icon{width:52px;height:52px}.sg-summary h2{font-size:15px;margin:0 0 10px}.sg-summary strong{font-size:38px;line-height:1.1;font-variant-numeric:tabular-nums}.sg-summary small{font-size:14px;font-weight:400}.sg-summary p{font-size:12px;color:var(--sg-muted);margin:8px 0 0}.sg-summary-actions{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}.sg-manage-section{background:#fffdf9;padding:24px;border:1px solid #e5e6dc;border-radius:16px;margin-bottom:24px}.sg-explain{font-size:12px;color:var(--sg-muted);line-height:1.7;margin:0 0 20px}.sg-setting-tasks{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sg-setting-task{display:flex;align-items:center;gap:12px;padding:14px 0}.sg-setting-task>span{color:#42876a}.sg-setting-task>div{flex:1}.sg-setting-task h3{font-size:15px;margin:0 0 6px}.sg-setting-task p{font-size:12px;line-height:1.6;margin:0;color:var(--sg-muted)}.sg-setting-task .sg-btn{padding:8px 12px}.sg-empty-inline{font-size:13px;padding:15px 0;color:var(--sg-muted)}
.sg-product{display:flex;align-items:center;gap:16px;padding:22px 0;border-top:1px solid #e7eadf}.sg-product-icon{color:#b0863a}.sg-product-icon .sg-icon{width:32px;height:32px}.sg-product-info{flex:1;min-width:0}.sg-product h3{margin:0 0 8px;font-size:15px;overflow-wrap:anywhere}.sg-product p{margin:0;font-size:13px}.sg-product p span{color:var(--sg-muted);font-size:12px;margin-left:8px}.sg-listing{font-size:12px;color:#67705e;background:#eff0e8;border-radius:6px;padding:5px 8px;white-space:nowrap}.sg-listing.is-listed{color:#32633c;background:#e5f1df}.sg-product-actions{display:flex;gap:6px}.sg-product-actions button{border:0;background:none;color:var(--sg-green);font:inherit;font-size:13px;min-height:44px;min-width:44px;cursor:pointer}.sg-product-actions button:last-child{color:#99543d}.sg-history{list-style:none;padding:0;margin:0}.sg-history li{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid #e6e9de;font-size:13px}.sg-history li>div:first-child{min-width:0}.sg-history strong{font-weight:500;overflow-wrap:anywhere;display:block}.sg-history span{font-size:11px;color:var(--sg-muted);display:block;margin-top:6px;line-height:1.5}.sg-history li>div:last-child{text-align:right;flex-shrink:0}.sg-history b{font-variant-numeric:tabular-nums}.sg-positive{color:#307446}
.sg-form{display:grid;gap:18px}.sg-form label{font-size:13px;font-weight:600;display:block}.sg-form .input,.sg-form .select{display:block;width:100%;margin-top:8px;font-size:16px;min-height:46px;caret-color:#28634c}.sg-form textarea{min-height:90px;resize:vertical}.sg-form p{font-size:12px;line-height:1.7;color:var(--sg-muted);margin:0}.sg-form .sg-form-error{color:#a33f29}.sg-form-actions{display:flex;justify-content:flex-end;gap:12px}.sg-modal .modal{max-height:calc(100dvh - 32px);overflow:auto}.sg-modal .modal-body{overflow:auto}
@keyframes sg-twinkle{0%,100%{opacity:1;filter:drop-shadow(0 0 4px #fff4be)}50%{opacity:.8;filter:drop-shadow(0 0 8px #fff4be)}}
@keyframes sg-sneak{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-4px)}}
@keyframes sg-flee{0%,25%{opacity:1;transform:translate(-50%,-100%)}100%{opacity:0;left:97%;top:96%;transform:translate(-50%,-100%) scale(.2) rotate(18deg)}}
@keyframes sg-steal{0%{opacity:1;transform:translate(-50%,-100%)}35%{opacity:1;top:68%;transform:translate(-50%,-100%)}100%{opacity:0;left:97%;top:96%;transform:translate(-50%,-100%) scale(.3)}}
@keyframes sg-catch{0%{opacity:0;transform:translate(35%,-30%) rotate(-35deg)}25%,45%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(-120%,150%) scale(.2) rotate(25deg)}}
@keyframes sg-balance{0%{transform:translateY(12px);opacity:.4}100%{transform:translateY(0);opacity:1}}.sg-wallet .is-updated{animation:sg-balance .5s cubic-bezier(.22,1,.36,1)}
@media(min-width:1500px){.sg-layout{grid-template-columns:minmax(0,1fr) 310px}.sg-task{padding:26px}.sg-task-note{margin-top:24px}}
@media(max-width:1100px){.sg-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.sg-task{padding:16px}.sg-task-title{gap:7px}.sg-task-title h3{font-size:14px}.sg-dew-meter{display:none}.sg-setting-tasks{grid-template-columns:1fr}.sg-summary-actions{flex-direction:column}}
@media(max-width:760px){.sg-heading{flex-wrap:wrap;gap:12px;margin-bottom:18px}.sg-heading>div:first-child{flex-basis:100%}.sg-heading h1{font-size:26px;margin-bottom:5px}.sg-heading p{font-size:12px}.sg-wallet{padding:10px 16px;flex:1}.sg-wallet strong{font-size:26px}.sg-wallet>.sg-icon{width:30px;height:30px}.sg-wishes{min-height:62px}.sg-layout{display:flex;flex-direction:column;gap:14px}.sg-world-column,.sg-tasks{width:100%}.sg-scene{border-radius:18px}.sg-scene-top{top:10px;left:10px;right:10px}.sg-pending{font-size:10px;padding:5px 8px}.sg-pending b{font-size:15px}.sg-day{font-size:10px}.sg-house-label{padding:4px 6px;left:9%}.sg-safe-bar{padding:13px 2px}.sg-safe-bar strong{font-size:12px}.sg-safe-bar span{font-size:10px}.sg-tasks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sg-tasks>.sg-section-head,.sg-task-note,.sg-tasks>.sg-empty{grid-column:1/-1;margin:0}.sg-task{margin:0;padding:14px 12px}.sg-task-title{flex-wrap:wrap;gap:6px}.sg-task-title h3{font-size:13px}.sg-task-title p{font-size:11px}.sg-task-symbol{display:none}.sg-task-reward{font-size:13px}.sg-task-progress{margin-top:18px;font-size:10px;flex-wrap:wrap}.sg-task .sg-btn{padding:10px 5px;font-size:11px;gap:4px}.sg-task .sg-btn .sg-icon{width:17px}.sg-task-note{font-size:11px}.sg-task-note br{display:none}.sg-monster-track{padding:18px 12px;margin-top:22px}.sg-track-heading{align-items:flex-start;flex-direction:column;gap:7px}.sg-track-heading h2{font-size:14px}.sg-track-status{font-size:12px}.sg-step i{width:28px;height:28px;font-size:11px}.sg-path:before{top:14px}.sg-step b{font-size:10px}.sg-step span{font-size:9px}.sg-track-foot{font-size:10px;line-height:1.7}.sg-summary{padding:20px;gap:14px;flex-wrap:wrap}.sg-summary-icon .sg-icon{width:38px;height:38px}.sg-summary strong{font-size:32px}.sg-summary-actions{width:100%;flex-direction:row;margin-left:0}.sg-summary-actions .sg-btn{flex:1;font-size:12px}.sg-child-label{width:100%;justify-content:space-between}.sg-child-label select{width:65%}.sg-manage-section{padding:20px 16px}.sg-manage-section .sg-section-head{align-items:flex-start}.sg-section-head h2{font-size:17px}.sg-manage-section .sg-section-head>.sg-btn{white-space:nowrap;padding:10px 12px;font-size:12px}.sg-product{flex-wrap:wrap;gap:12px}.sg-product-actions{margin-left:auto}.sg-product-info{min-width:55%}.sg-history li{gap:10px;font-size:12px}.sg-history li>div:last-child{max-width:40%}.sg-history span{font-size:10px}.sg-setting-tasks{gap:4px}.sg-wish{gap:12px;padding:14px}.sg-gift-art{width:48px;height:58px}.sg-wish h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){.sg-garden *,.sg-manage *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sg-monster.is-fleeing,.sg-monster.is-stealing{opacity:0}}

/* 2026-10-24：紧凑的钱包入口、安全摘要与可区分的宝石星露。 */
.sg-garden-heading{align-items:center;gap:24px;margin-bottom:20px}
.sg-garden-heading .sg-title-stack{min-width:0}
.sg-garden-heading h1{margin-bottom:10px}
.sg-garden-heading .sg-safe-bar{padding:0;gap:8px}
.sg-garden-heading .sg-safe-bar>.sg-icon{width:22px;height:22px}
.sg-garden-heading .sg-safe-bar strong{font-size:12px;font-weight:600}
.sg-garden-heading .sg-safe-bar span{font-size:11px;margin-top:3px}
.sg-wealth{display:flex;align-items:center;gap:18px;background:#fffdf8;border:1px solid #e2e7d9;border-radius:18px;padding:10px 12px 10px 16px;flex:none}
.sg-wealth .sg-wallet{padding:0 18px 0 0;background:none;border-radius:0;border-right:1px solid #e6e9db;gap:10px}
.sg-wealth .sg-wallet span{font-size:11px;color:#667152}
.sg-wealth .sg-wallet strong{font-size:28px;line-height:1.25;color:#34533b}
.sg-wealth .sg-wallet .sg-coin-seal{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#a46a0c;background:linear-gradient(145deg,#fff4c7,#f7d782);box-shadow:inset 0 0 0 4px #ffefbd}
.sg-coin-seal .sg-icon{width:30px;height:30px}
.sg-wealth .sg-wishes{border:0;background:#eaf2e5;border-radius:11px;padding:12px;min-height:48px;font-size:13px;gap:8px;color:#2c6347}
.sg-wealth .sg-wishes:hover{background:#dcebd6}.sg-wealth .sg-wishes>.sg-icon:first-child{width:21px}.sg-wealth .sg-wishes>.sg-icon:last-child{width:16px}
.sg-jewel{display:inline-block;position:relative;width:34px;height:34px;vertical-align:middle;flex:none;isolation:isolate}
.sg-jewel .sg-jewel-sprite{display:block;width:100%;height:100%;margin:0;background-image:url('../img/star-garden/jewels.png');background-size:200% 100%;background-repeat:no-repeat;background-position:left center;filter:drop-shadow(0 1px 4px #ffdf85)}
.sg-jewel-listening .sg-jewel-sprite{background-position:right center;filter:drop-shadow(0 1px 4px #8ef1ee)}
.sg-jewel-recitation .sg-jewel-sprite{filter:hue-rotate(238deg) saturate(.92) drop-shadow(0 1px 4px #d9c7ff)}
.sg-jewel-reading .sg-jewel-sprite{filter:hue-rotate(26deg) saturate(.9) drop-shadow(0 1px 4px #f4c48e)}
.sg-jewel .sg-jewel-glint{position:absolute;right:12%;top:12%;width:18%;height:18%;margin:0;animation:sg-glint 3.2s ease-in-out var(--delay,0s) infinite;filter:drop-shadow(0 0 3px #fff)}
.sg-jewel-glint:before,.sg-jewel-glint:after{content:'';position:absolute;left:44%;top:0;width:14%;height:100%;border-radius:50%;background:#fffdf2}.sg-jewel-glint:after{transform:rotate(90deg)}
.sg-dew{transform:translate(-22%,-15%);filter:none;animation:sg-jewel-breathe 3.6s ease-in-out var(--delay) infinite}
.sg-dew .sg-jewel{display:block;width:100%;height:100%}
.sg-task-reward{gap:0}.sg-task-reward .sg-jewel{width:30px;height:30px}
.sg-step .sg-track-monster{display:block;position:absolute;left:50%;top:-13px;width:49px;height:49px;margin:0;transform:translateX(-50%) scaleX(-1)}
.sg-step .sg-track-monster .sg-sprite{display:block;margin:0}
.sg-treasure-step i{background:transparent!important;overflow:visible}
.sg-treasure-step .sg-jewel{position:absolute;left:50%;top:-9px;transform:translateX(-50%);width:52px;height:52px;margin:0}
.sg-treasure-step>span{font-weight:700;color:#896014}
.sg-monster.is-watching{left:83%;top:47%;width:11%;transform:none}
.sg-monster.is-watching .sg-sprite{animation:sg-peek 4.5s ease-in-out infinite}
.sg-peek-label{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;font-size:clamp(8px,.8vw,11px);color:#365b3c;background:#fffbe7e8;padding:3px 6px;border-radius:6px}
.sg-monster.is-fleeing .sg-peek-label,.sg-monster.is-stealing .sg-peek-label{display:none}
.sg-tv-art{display:block;width:100%;height:100%;object-fit:contain}
.sg-gift-art:has(.sg-tv-art){background:transparent;border-radius:0;width:78px;height:78px}
.sg-product-icon:has(.sg-tv-art){width:48px;height:48px;flex:none}
@keyframes sg-glint{0%,65%,100%{opacity:.35;transform:scale(.65) rotate(0)}30%{opacity:1;transform:scale(1.25) rotate(30deg)}}
@keyframes sg-jewel-breathe{0%,100%{filter:brightness(1);translate:0 0}50%{filter:brightness(1.16);translate:0 -2px}}
@keyframes sg-peek{0%,100%{transform:translateY(3px) rotate(-9deg)}35%,60%{transform:translateY(-3px) rotate(6deg)}}
@media(max-width:1100px){.sg-garden-heading{flex-wrap:wrap;gap:16px}.sg-garden-heading .sg-title-stack{flex:1 1 290px}.sg-wealth{gap:12px;padding:9px 10px}.sg-wealth .sg-wallet{padding-right:12px}.sg-wealth .sg-wallet strong{font-size:26px}}
@media(max-width:760px){.sg-garden-heading{gap:16px;margin-bottom:16px}.sg-garden-heading .sg-title-stack{flex-basis:100%}.sg-garden-heading h1{margin-bottom:9px}.sg-garden-heading .sg-safe-bar span{font-size:10px}.sg-wealth{width:100%;justify-content:space-between;gap:10px;border-radius:14px;padding:10px 12px}.sg-wealth .sg-wallet{flex:1}.sg-wealth .sg-wallet .sg-coin-seal{width:38px;height:38px}.sg-coin-seal .sg-icon{width:26px;height:26px}.sg-wealth .sg-wishes{min-height:46px;font-size:12px;padding:10px;gap:6px}.sg-wealth .sg-wishes>.sg-icon:last-child{display:none}.sg-step .sg-track-monster{width:40px;height:40px;top:-12px}.sg-treasure-step .sg-jewel{width:44px;height:44px;top:-10px}.sg-task-reward .sg-jewel{width:26px;height:26px}.sg-gift-art:has(.sg-tv-art){width:64px;height:64px}.sg-peek-label{padding:2px 4px}}
@media(prefers-reduced-motion:reduce){.sg-jewel-glint,.sg-dew,.sg-monster.is-watching .sg-sprite{animation:none}.sg-jewel-glint{opacity:.8}}

/* Keep the daily task rack level with the garden scene; long task lists scroll inside the rack. */
.sg-layout{align-items:stretch}
.sg-world-column{align-self:start}
.sg-tasks{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;contain:size}
.sg-tasks>.sg-section-head{flex:none;margin-bottom:12px}
.sg-task-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px;scrollbar-width:thin;scrollbar-color:#9db59a transparent}
.sg-task-list::-webkit-scrollbar{width:8px}
.sg-task-list::-webkit-scrollbar-track{background:transparent}
.sg-task-list::-webkit-scrollbar-thumb{background:#b7c9b2;border:2px solid transparent;border-radius:8px;background-clip:padding-box}
.sg-task-list:focus-visible{outline:3px solid #287b97;outline-offset:3px;border-radius:18px}
.sg-task-list .sg-task:last-child{margin-bottom:0}
.sg-study-flow{display:grid;gap:10px;max-width:900px;margin:0 auto;padding:16px 20px 24px}
.sg-study-switcher{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.sg-study-tab{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-height:66px;padding:10px 12px;border:1px solid #d7e1da;border-radius:14px;background:#f3f5ef;color:#315d49;text-align:left;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.sg-study-tab[hidden]{display:none}
.sg-study-tab:hover{border-color:#a9c4b5;background:#f7faf5}
.sg-study-tab:focus-visible{outline:3px solid #287b97;outline-offset:3px}
.sg-study-tab.is-active{border-color:#28634c;background:#28634c;color:#fff}
.sg-study-tab-no{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#28634c;font-size:17px;font-weight:750;line-height:1}
.sg-study-tab.is-active .sg-study-tab-no{background:#fff4c7;color:#244838}
.sg-study-tab-copy{display:grid;gap:2px;min-width:0}
.sg-study-tab-copy b{display:block;font-size:13.5px;font-weight:700;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.sg-study-tab-copy small{overflow:hidden;color:#60746a;font-size:11.5px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.sg-study-tab.is-active .sg-study-tab-copy small{color:#dce9df}
.sg-study-panel{overflow:hidden;border:1px solid #dbe5df;border-radius:16px;background:#fffdf8}
.sg-study-panel[hidden]{display:none}
.sg-study-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e4e7df;background:#f7f9f2}
.sg-study-panel-head p{margin:0;color:#52675b;font-size:12.5px;line-height:1.55}
.sg-study-panel-head > span{flex:none;white-space:nowrap;color:#47705a;font-size:11.5px;font-weight:650}
.sg-study-panel-reward{display:flex;align-items:center;gap:3px;color:#85610d!important}
.sg-study-panel-reward .sg-jewel{width:24px;height:24px}
.sg-study-panel .cn-recite-dialog{min-height:0}
.sg-study-panel .cr-toolbar{max-width:none;padding:13px 18px;background:transparent}
.sg-study-panel .cr-toolbar-title{font-size:15px}
.sg-study-panel .cr-reader{max-width:none;padding:4px 14px 10px}
.sg-study-panel .cr-data-note,.sg-study-panel .cr-empty{max-width:none;margin:8px 14px 12px}
.sg-word-parent-action{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 2px;padding:9px 10px 9px 14px;border:1px solid #dbe6d7;border-radius:12px;background:#f7faf3;color:#315d49}
.sg-word-parent-copy{display:grid;gap:1px;min-width:0}
.sg-word-parent-copy b{font-size:12px;font-weight:700;line-height:1.35}
.sg-word-parent-copy span{color:#60746a;font-size:11.5px;font-weight:500;line-height:1.4}
.sg-word-unlock{min-height:40px;flex:none;padding:8px 13px;border:1px solid #bad0b6;background:#fffdf8;color:#28634c;font-size:12px}
.sg-word-unlock:hover{background:#edf5e9}
.sg-word-unlock .sg-icon{width:17px;height:17px}
.sg-word-unlock span{white-space:nowrap}
.sg-word-practice-host{height:min(680px,calc(100dvh - 240px));min-height:500px;overflow:hidden;background:#f6f8f5}
.sg-word-practice-host.pr-embed{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#a9bbaa transparent}
.sg-word-practice-host.pr-embed::-webkit-scrollbar{width:8px}
.sg-word-practice-host.pr-embed::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#a9bbaa;background-clip:padding-box}
.sg-word-practice-host .pr-workspace{height:100%}
.sg-word-practice-host .pr-loading{display:grid;place-content:center;min-height:100%;padding:24px;color:#60746a;text-align:center}
.sg-word-practice-host.is-report{overflow:auto;padding:14px}
.sg-word-empty{padding:28px 18px;color:#617268;font-size:13px;line-height:1.6;text-align:center}
.sg-study-unlock{justify-content:flex-end}
.sg-reading-task{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:16px;padding:18px;border:1px solid #dbe5df;border-radius:16px;background:#f7faf3}
.sg-reading-task-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;color:#75501f;background:#fff0d7}
.sg-reading-task-icon .sg-icon{width:30px;height:30px}
.sg-reading-task-copy{min-width:0}
.sg-reading-task-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap;margin-bottom:6px}
.sg-reading-task h3{margin:0;color:#244838;font-size:17px;line-height:1.35}
.sg-reading-reward{display:inline-flex;align-items:center;gap:5px;flex:none;padding:2px 9px 2px 3px;border-radius:999px;color:#80570b;background:#fff2ca;box-shadow:inset 0 0 0 1px #efd480;font-size:11.5px;font-weight:700;line-height:1.25;white-space:nowrap}
.sg-reading-reward .sg-jewel{width:28px;height:28px}
.sg-reading-reward b{font-size:17px;line-height:1}
.sg-reading-task p{margin:0;color:#52675b;font-size:13px;line-height:1.65}
.sg-reading-unlock{justify-content:space-between}
@media(max-width:760px){
  .sg-tasks{display:flex;height:auto;overflow:visible;contain:none}
  .sg-task-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:visible;padding-right:0}
  .sg-task-list>.sg-empty{grid-column:1/-1;margin:0}
  .sg-task-list .sg-task{margin:0}
  .sg-study-flow{gap:8px;padding:10px 8px 16px}
  .sg-study-switcher{gap:6px}
  .sg-study-tab{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:6px;min-height:56px;padding:8px 7px}
  .sg-study-tab-no{width:30px;height:30px;font-size:15px}
  .sg-study-tab-copy b{font-size:11.5px;line-height:1.3}
  .sg-study-tab-copy small{font-size:10.5px}
  .sg-study-panel-head{flex-wrap:wrap;gap:4px 10px;padding:11px 12px}
  .sg-study-panel-head p{font-size:12px}
  .sg-study-panel .cr-toolbar{padding:12px}
  .sg-study-panel .cr-reader{padding:2px 2px 10px}
  .sg-study-panel .cr-line{padding:12px 2px 10px}
  .sg-study-panel .cr-line-main{gap:4px}
  .sg-study-panel .cr-data-note,.sg-study-panel .cr-empty{margin-inline:8px}
  .sg-word-modal .modal-body{padding:8px}
  .sg-word-modal .sg-study-flow{gap:6px;padding:8px 4px 14px}
  .sg-word-parent-action{gap:10px;padding:7px 8px 7px 10px}
  .sg-word-parent-copy span{font-size:10.5px}
  .sg-word-unlock{min-height:38px;padding:7px 10px}
  .sg-word-practice-host .pr-sheet{margin-inline:4px}
  .sg-reading-task{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:14px}
  .sg-reading-task-icon{width:48px;height:48px;border-radius:14px}
  .sg-reading-task-icon .sg-icon{width:26px;height:26px}
  .sg-reading-task h3{font-size:16px}
  .sg-reading-task p{font-size:12.5px}
  .sg-reading-task-head{gap:8px}
  .sg-reading-reward{padding-right:8px}
  .sg-reading-unlock{flex-direction:column;align-items:stretch}
  .sg-reading-unlock .btn{width:100%}
  .sg-word-practice-host{height:calc(100dvh - 230px);min-height:430px}
  .sg-word-practice-host.is-report{padding:8px}
}

/* A shared ground route keeps the monster outside the tree fence until theft. */
.sg-monster,.sg-monster.is-watching{left:var(--monster-x);top:var(--monster-y);width:var(--monster-size);transform:translate(-50%,-100%);transform-origin:bottom center;transition:none}
.sg-ground-route{position:absolute;inset:0;pointer-events:none;z-index:1}
.sg-ground-stop{position:absolute;transform:translate(-50%,-20%);width:5%;height:3.8%;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f9e8bb;box-shadow:0 2px 3px #715a3e55,inset 0 2px 1px #fff7de;color:#685331;font-size:clamp(8px,1vw,13px);font-weight:700}
.sg-ground-stop:last-child{width:7%}
.sg-tree-fence,.sg-hide-grass{position:absolute;background-image:url('../img/star-garden/fence-grass.png');background-size:200% 100%;background-repeat:no-repeat;pointer-events:none}
.sg-tree-fence{left:47%;top:42%;width:37%;aspect-ratio:1;background-position:left center;z-index:2}
.sg-hide-grass{left:91%;top:89%;width:10%;aspect-ratio:1;background-position:right center;z-index:3}
.sg-monster{z-index:3}.sg-monster.is-watching{z-index:2}
.sg-monster.is-watching .sg-peek-label{font-size:clamp(8px,.8vw,11px);left:auto;right:10%;top:-20%;white-space:nowrap}
.sg-monster.is-stealing,.sg-monster.is-fleeing{left:69%;top:82%;width:13%}

.sg-monster.is-fleeing{left:var(--monster-x);top:var(--monster-y);width:var(--monster-size)}

.sg-pet-note{position:fixed;right:24px;bottom:24px;z-index:1200;display:flex;align-items:center;gap:12px;width:min(460px,calc(100vw - 32px));box-sizing:border-box;padding:16px 32px 16px 12px;background:#fffdf6;border-radius:20px;box-shadow:0 10px 36px #24483830;color:#244838;animation:sg-pet-arrive .4s ease-out}
.sg-pet-note strong{font-size:16px;line-height:1.5}.sg-pet-note p{margin:7px 0;font-size:14px;line-height:1.5}.sg-pet-note small{font-size:12px;line-height:1.5;color:#52675b}.sg-pet-note button{position:absolute;right:4px;top:4px;width:32px;height:32px;background:none;border:0;color:#52675b;font-size:24px;cursor:pointer}
.sg-pet-portrait{position:relative;width:88px;height:94px;overflow:hidden;flex-shrink:0;border-radius:16px;background:white}.sg-pet-portrait img{position:absolute;width:140px;max-width:none;left:-26px;top:-7px}
@keyframes sg-pet-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.sg-pet-note{right:12px;bottom:16px;width:calc(100vw - 24px);gap:8px}.sg-pet-portrait{width:68px;height:78px}.sg-pet-portrait img{width:120px;left:-25px}.sg-pet-note strong{font-size:14px}.sg-pet-note p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.sg-pet-note{animation:none}}

.sg-approach-trail{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 2px 2px #775d3420)}
/* Task-specific catching tools and a paced, counted harvest. */
.sg-task-net{display:inline-block;width:38px;height:38px;flex-shrink:0;background-image:url('../img/star-garden/task-nets.png');background-size:200% 100%;background-repeat:no-repeat;background-position:left center;vertical-align:middle}
.sg-task-net-listening{background-position:right center}.sg-task-tool .sg-task-net{width:46px;height:46px}.sg-task-tool{flex-shrink:0}.sg-task .sg-btn .sg-task-net{width:28px;height:28px}
.sg-task-net-recitation{background-position:left center;filter:hue-rotate(238deg) saturate(.9)}
.sg-task-net-reading{background-position:left center;filter:hue-rotate(26deg) saturate(.9)}
.sg-net-flight{display:none;width:18%;aspect-ratio:1;z-index:8;transform:translate(-45%,-40%);filter:drop-shadow(0 4px 8px #fff2a980)}
.sg-net-flight.is-catching{display:block;opacity:1;animation:none}.sg-net-flight .sg-task-net{display:block;width:100%;height:100%}
.sg-dew.is-harvesting{z-index:7;filter:drop-shadow(0 0 7px #fff4a1) drop-shadow(0 0 14px #fffbc0)}
.sg-house-burst{position:absolute;left:28%;top:65%;width:12%;aspect-ratio:1;border:3px solid #fff3ad;border-radius:50%;box-shadow:0 0 20px #ffe697;opacity:0;pointer-events:none;z-index:7}
.sg-harvest-progress{position:absolute;left:16px;bottom:14px;padding:8px 12px;border-radius:12px;background:#fff9e8;color:#38533c;font-size:12px;font-weight:650;opacity:0;z-index:8;pointer-events:none}.sg-harvest-progress.is-visible{opacity:1}
[data-coin-value],[data-pending-value],[data-saved-dews]{display:inline-block;font-variant-numeric:tabular-nums}
.sg-wallet{position:relative}.sg-earned-coin{position:absolute;right:0;bottom:-20px;color:#94600c;background:#fff0b2;font-size:12px;font-weight:700;white-space:nowrap;padding:4px 8px;border-radius:8px;animation:sg-coin-reward 1.3s ease-out both}
@keyframes sg-coin-reward{0%{opacity:0;transform:translateY(8px)}20%,70%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-12px)}}
.sg-monster.is-watching .sg-sprite{animation:sg-grass-peek 7s ease-in-out infinite}
@keyframes sg-grass-peek{0%,38%,76%,100%{transform:translateY(65%);opacity:0}46%,62%{transform:translateY(0) rotate(-6deg);opacity:1}68%{transform:translateY(5%) rotate(5deg);opacity:1}}

/* Task enable/pause state: paused stars disappear immediately and stay outside theft. */
.sg-setting-task.is-paused{opacity:.74}
.sg-setting-title{display:flex;align-items:center;gap:8px}
.sg-task-state{font-size:10px;line-height:1;padding:4px 6px;border-radius:5px;white-space:nowrap}
.sg-task-state.is-on{color:#2d6847;background:#e6f1e7}
.sg-task-state.is-off{color:#786548;background:#f1ece2}
.sg-setting-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.sg-setting-actions{width:100%;justify-content:flex-end}.sg-setting-task{flex-wrap:wrap}}
.sg-monster.is-fleeing .sg-sprite,.sg-monster.is-stealing .sg-sprite{animation:sg-sneak .35s ease-in-out infinite}
@media(max-width:760px){.sg-task-tool .sg-task-net{width:34px;height:34px}.sg-task-title{gap:5px}.sg-task-reward{margin-left:0}.sg-net-flight{width:23%}.sg-harvest-progress{left:8px;bottom:8px;font-size:10px;padding:6px 8px}}
@media(prefers-reduced-motion:reduce){.sg-monster.is-watching .sg-sprite{animation:none;transform:translateY(15%);opacity:1}.sg-earned-coin{animation:none}}
.sg-wealth .sg-wallet [data-coin-value]{display:inline-block;font-size:inherit;line-height:inherit;color:inherit}.sg-wealth .sg-wallet strong{white-space:nowrap}

/* A natural illustrated path; the time track carries the labels. */
.sg-generated-trail{position:absolute;left:0;top:45%;display:block;width:100%;height:55%;object-fit:fill}
.sg-monster.is-watching{aspect-ratio:2/1;overflow:hidden}
.sg-monster.is-watching .sg-sprite{height:200%;animation:sg-head-peek 8s ease-in-out infinite;transform-origin:50% 15%}
@keyframes sg-head-peek{0%,18%,88%,100%{transform:translateY(60%);opacity:0}35%,65%{transform:translateY(0) rotate(-5deg);opacity:1}73%{transform:translateY(4%) rotate(4deg);opacity:1}}
.sg-hide-grass{left:88.5%;top:88.8%;width:13%}
@media(prefers-reduced-motion:reduce){.sg-monster.is-watching .sg-sprite{animation:none;transform:translateY(0);opacity:1}}

.sg-monster.is-climbing .sg-sprite,.sg-track-monster.is-climbing .sg-sprite{background-image:url('../img/star-garden/monster-round-climbing.png');background-size:100% 100%;background-position:center;animation:sg-climb-effort 2.8s ease-in-out infinite;transform-origin:50% 65%}
@keyframes sg-climb-effort{0%,100%{transform:translateY(1%) rotate(-3deg)}45%,65%{transform:translateY(-5%) rotate(3deg)}}
@media(prefers-reduced-motion:reduce){.sg-monster.is-climbing .sg-sprite,.sg-track-monster.is-climbing .sg-sprite{animation:none}}
/* Rear-view climbing artwork faces into the garden. */
.sg-monster.is-climbing{transform:translate(-50%,-100%)}

.sg-path>.sg-track-traveler{display:block;position:absolute;top:-13px;width:49px;height:49px;margin:0;transform:translateX(-50%) scaleX(-1);z-index:4;transition:left 1s linear;pointer-events:none}
.sg-track-traveler .sg-sprite{display:block;margin:0;background-image:url('../img/star-garden/monster.png');background-size:300% 100%;background-position:left center;animation:sg-sneak 1.4s ease-in-out infinite}
.sg-tree-fence{left:60%;top:58%;width:12%;height:auto;aspect-ratio:1;background-image:url('../img/star-garden/fence-grass.png');background-size:200% 100%;background-position:left center}
@media(max-width:760px){.sg-path>.sg-track-traveler{top:-12px;width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.sg-path>.sg-track-traveler{transition:none}.sg-track-traveler .sg-sprite{animation:none}}
.sg-path:before{left:10%;right:10%}.sg-path:after{content:'';position:absolute;left:10%;top:17px;width:var(--track-fill,0%);height:3px;background:#48764e;transition:width 1s linear;z-index:0}.sg-step{z-index:1}
.sg-hide-grass{left:58.5%;top:88.8%;width:13%}
.sg-monster.is-fleeing{animation-duration:4s}
.sg-scene.is-theft-warning .sg-dew:after{content:'';position:absolute;inset:-15%;border:2px dashed #fff0aa;border-radius:12px;box-shadow:0 0 12px #ffda62;animation:sg-loss-frame .55s ease-in-out 3}
@keyframes sg-loss-frame{0%,100%{opacity:.15;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}}
.sg-scene.is-theft-taking .sg-dew{animation:sg-loss-take 1.2s ease-in forwards}
@keyframes sg-loss-take{0%{opacity:1;transform:scale(1)}60%{opacity:1;transform:translateY(40px) scale(.8)}100%{opacity:0;transform:translateY(90px) scale(0)}}
.sg-monster.is-stealing{animation-duration:3s}
.sg-victory{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1300;isolation:isolate;text-align:center;width:min(420px,calc(100vw - 40px));box-sizing:border-box;padding:28px 24px;background:#fff9df;color:#244838;border-radius:28px;box-shadow:0 18px 80px #234e3860;animation:sg-victory-enter .65s cubic-bezier(.16,1,.3,1)}
.sg-victory .sg-pet-portrait{display:block;width:140px;height:150px;margin:0 auto 10px;background:transparent}.sg-victory .sg-pet-portrait img{width:220px;left:-40px;top:-10px;mix-blend-mode:multiply}
.sg-victory h2{font-size:30px;margin:8px 0;color:#2e674b}.sg-victory p{font-size:17px;margin:8px 0}.sg-victory>strong{display:block;font-size:14px;color:#8b6515;margin:12px 0 20px}.sg-victory>.sg-btn{min-width:160px;justify-content:center}
.sg-victory-medal{position:absolute;left:calc(50% + 42px);top:122px;z-index:2;width:56px;height:56px;display:grid;place-items:center;color:#a96700;background:#ffe18b;border-radius:50%;box-shadow:0 5px 14px #ad7e2340}.sg-victory-medal .sg-icon{width:36px;height:36px}
.sg-victory-rays{position:absolute;inset:-40px;z-index:-1;background:repeating-conic-gradient(from 0deg,#ffe08160 0deg 12deg,transparent 12deg 30deg);border-radius:50%;mask-image:radial-gradient(black,transparent 70%);animation:sg-rays 16s linear infinite}
.sg-victory-confetti{position:absolute;inset:0;pointer-events:none}.sg-victory-confetti i{position:absolute;left:50%;top:25%;width:9px;height:15px;background:#efb953;border-radius:3px;--angle:calc(var(--i)*20deg);transform:rotate(var(--angle));animation:sg-confetti 1.8s ease-out both;animation-delay:calc(var(--i)*.025s)}.sg-victory-confetti i:nth-child(3n){background:#5bbcad}.sg-victory-confetti i:nth-child(3n + 1){background:#ef9677}
@keyframes sg-victory-enter{from{opacity:0;transform:translate(-50%,-40%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes sg-rays{to{rotate:360deg}}
@keyframes sg-confetti{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scale(.2)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(-240px) rotate(170deg)}}
@media(max-width:760px){.sg-path:after{top:14px}.sg-victory h2{font-size:25px}.sg-victory p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.sg-victory,.sg-victory-rays,.sg-victory-confetti i{animation:none}.sg-victory-confetti{display:none}.sg-path:after{transition:none}}
.sg-victory>.sg-btn{background:#28634c;color:#fff}.sg-victory>.sg-btn:focus-visible{outline:3px solid #287b97;outline-offset:3px}
.sg-victory-brand{display:block;color:#287966;font-size:14px;font-weight:700}

/* Empty daytime status takes no space; event feedback remains available. */
.sg-track-status:empty{display:none}

.sg-scene-empty{display:flex;align-items:center;justify-content:center;gap:10px;left:42%;right:5%;padding:12px;line-height:1.5}.sg-scene-empty>img{width:clamp(48px,7vw,100px);height:auto;flex-shrink:0}.sg-scene-empty strong{display:block;margin-top:6px;color:#965921;font-size:.9em}
@media(max-width:760px){.sg-scene-empty{left:37%;right:3%;gap:5px;padding:8px;font-size:11px}.sg-scene-empty>img{width:45px}}

.sg-pet-note.sg-harvest-celebration{display:block;right:auto;bottom:auto;left:50%;top:50%;width:min(420px,calc(100vw - 40px));padding:28px 24px;gap:0;max-height:calc(100dvh - 32px);overflow-y:auto}.sg-harvest-celebration>button.sg-btn{position:static;width:auto;height:auto;min-height:44px;font-size:16px;border:0;background:#28634c;color:#fff}.sg-harvest-celebration>strong{font-size:15px}.sg-harvest-celebration .sg-reward-cheer{font-size:14px;line-height:1.6;color:#52675b;margin:0 0 20px}

.sg-garden-heading{margin-bottom:12px}
@media(max-width:760px){.sg-garden-heading{gap:10px;margin-bottom:12px}}
/* Compact garden header: one information group, with the scene taking priority. */
.sg-garden-heading{padding:8px 0 12px;gap:20px;border-bottom:1px solid #dce7db;margin-bottom:12px}
.sg-garden-heading .sg-safe-bar strong{font-size:14px;line-height:1.5;color:var(--sg-deep)}
.sg-garden-heading .sg-safe-bar span{line-height:1.5;color:var(--sg-muted)}
.sg-safe-title{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
.sg-safe-title>strong{display:inline-block;flex:none;margin:0;white-space:nowrap}
.sg-safe-title .checkin-streak{flex:none}
@media(max-width:760px){.sg-safe-title{gap:5px}.sg-garden-heading .sg-safe-title>strong{font-size:12px}.sg-safe-title .checkin-streak{min-height:17px;padding:0 4px;font-size:9.5px}.sg-safe-title .checkin-copy b{font-size:10px}}
.sg-garden-heading .sg-wealth{background:transparent;border:0;border-radius:0;padding:0;gap:16px}
.sg-garden-heading .sg-wealth .sg-wallet{padding-right:16px}
.sg-garden-heading .sg-wealth .sg-wallet strong{font-size:26px}
@media(max-width:760px){
 .sg-garden-heading{gap:12px;padding:0 0 12px}
 .sg-garden-heading .sg-wealth{padding:0;gap:12px}
 .sg-garden-heading .sg-wealth .sg-wallet{border:0;padding:0;gap:8px}
 .sg-garden-heading .sg-wealth .sg-wallet>div{display:flex;align-items:baseline;gap:8px}
 .sg-garden-heading .sg-wealth .sg-wallet strong{font-size:24px}
 .sg-garden-heading .sg-wealth .sg-wallet .sg-coin-seal{width:32px;height:32px}
 .sg-garden-heading .sg-coin-seal .sg-icon{width:23px;height:23px}
 .sg-garden-heading .sg-wishes{min-height:44px;padding:8px 12px}
}
.sg-redeem{margin-left:auto;flex-shrink:0;white-space:nowrap}.sg-redemption-inbox{background:#fff9e8}.sg-redemption-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #e4e5d6}.sg-redemption-row h3{margin:0 0 6px;font-size:16px}.sg-redemption-row p,.sg-redemption-results p{font-size:13px;color:var(--sg-muted);margin:0}.sg-redemption-actions{display:flex;gap:8px}.sg-redemption-results{margin-top:20px}.sg-redemption-results p{margin:10px 0}@media(max-width:760px){.sg-wish{flex-wrap:wrap}.sg-redeem{margin-left:auto}.sg-redemption-row{align-items:flex-start;flex-direction:column}.sg-redemption-actions{width:100%}.sg-redemption-actions .sg-btn{flex:1;justify-content:center}}

.sg-word-cheer{display:grid;justify-items:center;gap:12px;padding:10px 8px 16px;text-align:center}
.sg-word-cheer-mark{display:grid;place-items:center;width:78px;height:78px;border-radius:24px;background:#edf5e9}
.sg-word-cheer-mark .sg-jewel{width:48px;height:48px}
.sg-word-cheer h2{margin:0;color:var(--sg-ink);font-size:24px}
.sg-word-cheer p{max-width:420px;margin:0;color:var(--sg-muted);font-size:15px;line-height:1.75}
.sg-word-cheer strong{color:#236142;font-size:16px;line-height:1.65}
.sg-task-title p>span{display:block}
.sg-task-review{margin-top:2px;font-variant-numeric:tabular-nums}

/* 家长调账：星愿币与星露并列展示，两个余额都保留独立、清楚的操作入口。 */
.sg-wallet-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:30px}
.sg-wallet-overview .sg-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px 20px;min-width:0;margin:0}
.sg-wallet-overview .sg-summary-icon{grid-row:1}
.sg-wallet-overview .sg-summary-actions{grid-column:1/-1;width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr}
.sg-wallet-overview .sg-summary-actions .sg-btn{justify-content:center;min-width:0;white-space:nowrap}
.sg-dew-summary{background:linear-gradient(135deg,#eef4ff 0%,#f7f2ff 100%)!important;border:1px solid #dfe8fa}
.sg-dew-summary .sg-summary-icon{color:#4e76b8}
.sg-wallet-overview .sg-summary p{max-width:38ch}
.sg-ledger-badges{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;margin-bottom:5px}
.sg-ledger-badge{display:inline-flex;align-items:center;min-height:23px;padding:2px 8px;border-radius:999px;background:#f1eee5;color:#6b6251;font-size:11px;font-weight:700;white-space:nowrap}
.sg-ledger-badge.is-positive{background:#e6f4e8;color:#2b6d4b}
@media(max-width:760px){
  .sg-wallet-overview{grid-template-columns:1fr;gap:14px;margin-bottom:24px}
  .sg-wallet-overview .sg-summary{padding:20px;gap:12px 14px}
  .sg-wallet-overview .sg-summary-actions{gap:10px}
  .sg-wallet-overview .sg-summary-actions .sg-btn{font-size:12px;padding-inline:8px}
  .sg-ledger-badges{justify-content:flex-start}
}
