
#sprout-study{padding:24px 10px;color:#514339;font-family:ui-rounded,"PingFang SC","Microsoft YaHei",sans-serif;box-sizing:border-box}#sprout-study *{box-sizing:border-box}#sprout-study button,#sprout-study input{font:inherit}#sprout-study button{touch-action:manipulation}#sprout-study .phone{max-width:410px;margin:auto;background:#fffaf3;border:1px solid #e9dfd3;border-radius:34px;box-shadow:0 16px 50px #55463316;overflow:hidden;--pink:#f4b8bb;--green:#cfe3c5}#sprout-study .top{padding:26px 23px 15px;display:flex;justify-content:space-between;align-items:center}#sprout-study .brand{font-size:20px;font-weight:600;letter-spacing:1px}#sprout-study .sub{color:#8d7c70;font-size:12px;margin-top:5px}#sprout-study .stamp{background:#f4eedf;padding:8px 10px;border-radius:14px;font-size:12px}#sprout-study .hero{margin:0 17px;background:#f8e8e3;border-radius:24px;position:relative;overflow:hidden;padding:17px 15px 14px}#sprout-study .hero-top{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#82665d}#sprout-study .dot{color:#518263}#sprout-study .scene{height:177px;display:flex;justify-content:center;align-items:end;position:relative}#sprout-study .bubble{position:absolute;top:13px;left:8px;max-width:136px;background:#fffaf3;padding:11px 12px;border-radius:17px 17px 5px 17px;font-size:13px;line-height:1.6;z-index:2}#sprout-study .spark{position:absolute;right:22px;top:35px;color:#a8774f;font-size:24px;transform:rotate(12deg)}#sprout-study .progress-section{padding:18px 23px 12px}#sprout-study .progress-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:9px}#sprout-study .bar{height:9px;background:#ece8dc;border-radius:10px;overflow:hidden}#sprout-study .fill{height:100%;background:#a5c897;transition:width .3s;border-radius:10px}#sprout-study .week{display:grid;grid-template-columns:repeat(7,1fr);padding:8px 17px 14px;gap:4px}#sprout-study .day{border:0;background:transparent;padding:7px 0;color:#8e8174;min-height:54px;border-radius:15px;font-size:11px}#sprout-study .day span{display:block;margin-top:5px;font-size:14px;color:#635145}#sprout-study .day.selected{background:#dce9d3;color:#4b6743}#sprout-study .section-title{display:flex;justify-content:space-between;align-items:center;margin:4px 23px 12px;font-size:16px;font-weight:500}#sprout-study .section-title small{font-size:11px;font-weight:400;color:#918174}#sprout-study .tasks{padding:0 17px 12px;display:grid;gap:9px}#sprout-study .task{background:#fffefb;border:1px solid #ece4d9;border-radius:17px;padding:12px;display:grid;grid-template-columns:5px 1fr auto;gap:11px;align-items:center}#sprout-study .stripe{width:4px;background:#c7dab8;border-radius:4px;height:38px}#sprout-study .task.public .stripe{background:#ecc3b6}#sprout-study .task.night .stripe{background:#d4cae1}#sprout-study .time{font-size:11px;color:#968578;margin-bottom:4px}#sprout-study .task-name{font-size:14px;font-weight:500}#sprout-study .task-detail{font-size:11px;color:#8d7c70;margin-top:4px}#sprout-study .task.done{background:#f0f5e9}#sprout-study .task.done .task-name{color:#6b8260}#sprout-study .task.missed{background:#fdf0eb}#sprout-study .check{border:1.5px solid #d3c9bc;background:#fffefb;width:35px;height:35px;border-radius:50%;font-size:17px;color:#fff;position:relative}#sprout-study .check:before{content:'';position:absolute;inset:-5px}#sprout-study .done .check{background:#7c9f6c;border-color:#7c9f6c}#sprout-study .missed .check{color:#c0796b;border-color:#deb7a9;background:#fae6de}#sprout-study .rest{padding:4px 14px;display:flex;gap:8px;align-items:center;font-size:11px;color:#8b7b6b}#sprout-study .rest:before,#sprout-study .rest:after{content:'';height:1px;background:#e8dfd1;flex:1}#sprout-study .close-day{margin:0 17px 15px;width:calc(100% - 34px);background:#f3e8dc;border:0;color:#866e5c;border-radius:14px;min-height:43px;font-size:12px}#sprout-study .nav{display:flex;border-top:1px solid #ece4d9;padding:9px 11px 13px;background:#fffdf8;gap:6px}#sprout-study .nav button{flex:1;background:none;border:0;color:#9a8978;border-radius:14px;min-height:49px;font-size:12px}#sprout-study .nav button span{display:block;font-size:19px;margin-bottom:3px}#sprout-study .nav button.active{background:#edf2e4;color:#607752}#sprout-study .month,#sprout-study .garden{padding:7px 22px 22px}#sprout-study .calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0}#sprout-study .calendar button{border:0;border-radius:12px;min-height:47px;background:#f2ecdf;color:#685647;font-size:12px}#sprout-study .calendar button.planted{background:#dce9d3}#sprout-study .calendar button span{display:block;font-size:11px;margin-top:4px}#sprout-study .caption{font-size:12px;color:#8b7867;line-height:1.8}#sprout-study .flowers{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;background:#edf2e4;padding:23px 12px;border-radius:20px;margin:16px 0;font-size:23px;text-align:center}#sprout-study .stats-row{display:flex;justify-content:space-between;border-bottom:1px solid #e9dfd2;padding:13px 0;font-size:13px}#sprout-study .bottom-note{text-align:center;font-size:11px;color:#9a8877;margin:14px 0 0}#sprout-study [hidden]{display:none!important}@media(max-width:360px){#sprout-study{padding:10px 0}#sprout-study .phone{border-radius:24px}#sprout-study .bubble{max-width:120px;left:0}#sprout-study .mascot{margin-left:88px}#sprout-study .stamp{padding:7px}}@media(prefers-reduced-motion:reduce){#sprout-study *,#sprout-study *:before{animation:none!important;transition:none!important}}
#sprout-study .hero{background:#f8e9dc;padding-bottom:16px}
#sprout-study .scene{height:238px;display:block}
#sprout-study .bubble{top:13px;left:3px;max-width:190px;border-radius:18px 18px 18px 4px;box-shadow:0 3px 0 #ead6c35c;font-size:14px;line-height:1.7;z-index:3}
#sprout-study .scene-tag{position:absolute;left:5px;bottom:21px;color:#9b7961;font-size:11px;writing-mode:vertical-rl;letter-spacing:2px}
#sprout-study .cat-ground{position:absolute;width:184px;height:19px;bottom:4px;left:50%;margin-left:-72px;background:#dcbf9b54;border-radius:50%}
#sprout-study .mascot{position:absolute;width:194px;height:194px;right:9px;bottom:0;margin:0;isolation:isolate}
#sprout-study #ss-cat-animation{width:100%;height:100%;position:relative;z-index:1}
#sprout-study .cat-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:126px}
#sprout-study .mascot.loaded .cat-fallback{display:none}
#sprout-study .thumb-animation{width:74px;height:74px;position:absolute;left:37px;bottom:25px;z-index:2;transform:rotate(-12deg)}
#sprout-study .mascot svg,#sprout-study .thumb-animation svg{width:100%;height:100%;display:block}
#sprout-study .mood-controls{display:flex;justify-content:center;gap:7px;margin-top:12px}
#sprout-study .mood-controls button{font-size:12px;flex:1;min-width:0;white-space:nowrap;min-height:40px;padding:7px 4px;border:1px solid #edd8c5;border-radius:14px;background:#fff8ee;color:#806247}
#sprout-study .mood-controls button[aria-pressed="true"]{background:#e8eddb;border-color:#b8c7a2;color:#53633d}
#sprout-study .credit{text-align:center;color:#9a8877;font-size:10px;margin:12px 0 0}
#sprout-study .credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media(max-width:360px){#sprout-study .bubble{max-width:171px;font-size:13px}#sprout-study .mascot{right:0;width:185px;height:185px}#sprout-study .thumb-animation{left:18px;width:66px;height:66px}#sprout-study .scene{height:232px}}

html{background:#fffaf3;color-scheme:light}body{margin:0}#sprout-study{padding:0 0 env(safe-area-inset-bottom);min-height:100dvh}#sprout-study .phone{border:0;border-radius:0;box-shadow:none;max-width:480px}#sprout-study .top{padding-top:calc(22px + env(safe-area-inset-top))}#sprout-study button{cursor:pointer}#sprout-study button:focus-visible,#sprout-study input:focus-visible,#sprout-study select:focus-visible{outline:3px solid #8fa67b;outline-offset:3px}#sprout-study .nav{position:sticky;bottom:0;padding-bottom:calc(9px + env(safe-area-inset-bottom));z-index:10}#sprout-study .nav button{font-size:11px}#sprout-study .settings{padding:8px 22px 24px}#sprout-study .settings h2{font-size:17px;font-weight:500;margin:0 0 18px}#sprout-study .field{display:grid;gap:8px;margin:18px 0;font-size:14px}#sprout-study input,#sprout-study select{border:1px solid #dfd3c6;border-radius:12px;padding:12px;background:#fffefb;color:#635145;font-size:16px;min-width:0;width:100%}#sprout-study .action{min-height:46px;background:#dce9d3;border:0;border-radius:14px;color:#4f6745;padding:10px 16px;font-size:14px;width:100%;margin:5px 0}#sprout-study .action.secondary{background:#f3e8dc;color:#79624f}#sprout-study .save-badge{border:0;background:#edf2e4;color:#5a7651;min-height:38px;font-size:11px;border-radius:12px;padding:6px 9px}#sprout-study .save-badge.error{background:#fbe0d5;color:#9c493e}#sprout-study .task{grid-template-columns:4px minmax(0,1fr) 38px}#sprout-study .task details{margin-top:7px;font-size:11px;color:#8d7c70}#sprout-study .task summary{padding:5px 0;cursor:pointer}#sprout-study .task input{margin-top:6px;padding:9px;font-size:16px}#sprout-study .check{width:36px;height:36px}#sprout-study .date-nav{display:flex;align-items:center;justify-content:space-between;margin:8px 23px 14px;gap:8px}#sprout-study .date-nav button{background:#f0ebdf;border:0;border-radius:12px;min-height:42px;padding:9px 13px;color:#776451;font-size:13px}#sprout-study .date-nav button:disabled{opacity:.35}#sprout-study .date-nav span{font-size:12px}#sprout-study .credit{font-size:11px;padding:0 16px 15px;line-height:1.8}#sprout-study .toast{position:fixed;left:50%;bottom:calc(95px + env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;background:#655244;color:#fff9ef;padding:12px 16px;border-radius:15px;font-size:13px;z-index:20;box-shadow:0 5px 20px #65524420}#sprout-study .month .section-title{gap:10px}#sprout-study .caption strong{font-weight:500;color:#71563f}@media(min-width:600px){body{background:#f2ecdf}#sprout-study{padding-top:24px;padding-bottom:24px}#sprout-study .phone{border-radius:30px;box-shadow:0 12px 60px #55463312}#sprout-study .nav{border-radius:0 0 30px 30px}}/* Personalized study room — November update */
#sprout-study .top{padding-bottom:10px;gap:12px}
#sprout-study .top .brand{font-size:21px}
#sprout-study .motto{margin:0 23px 19px;color:#7d6656;font-family:"Songti SC","Noto Serif SC",serif;font-size:14px;line-height:1.9;letter-spacing:.7px}
#sprout-study .exam-card{margin:0 17px 16px;padding:15px 16px;background:#f0eef7;border-radius:21px;display:flex;align-items:center;gap:12px;border:1px solid #e8e3f0}
#sprout-study .school-emblem{width:58px;height:60px;object-fit:contain;border-radius:50%;flex-shrink:0;background:#fff}
#sprout-study .exam-copy{flex:1;min-width:0}
#sprout-study .school-name{font-size:13px;color:#57507c;margin-bottom:5px}
#sprout-study .exam-label{font-size:11px;color:#827a96}
#sprout-study .exam-date{font-size:11px;color:#827a96;margin-top:4px}
#sprout-study .exam-value{white-space:nowrap;color:#5f548d;font-size:35px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-1px;display:flex;align-items:baseline;gap:3px}
#sprout-study .exam-value span:last-child{font-size:12px;font-weight:400;letter-spacing:0}
#sprout-study .scene{height:250px}
#sprout-study .hero{background:#f9e8e5}
#sprout-study .bubble{max-width:162px;font-size:13px}
#sprout-study .mascot{width:194px;height:210.17px;right:4px;bottom:3px}
#sprout-study .pet-sprite{width:100%;height:100%;background-image:url('./assets/feifei-spritesheet.webp');background-size:800% 1100%;background-position:0 0;background-repeat:no-repeat;opacity:0}
#sprout-study .loaded .pet-sprite{opacity:1}
#sprout-study .cat-ground{width:112px;margin-left:0;left:auto;right:42px;bottom:2px;height:14px;background:#d7b7a356}
#sprout-study .scene-tag{color:#a17c73}
#sprout-study .morning-sessions{margin-top:8px;display:grid;gap:5px;font-size:11px;color:#82735f}
#sprout-study .break-tag{padding:7px 8px;border-radius:9px;background:#f5ead8;color:#936c3a;width:fit-content}
#sprout-study .flowers{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:15px 12px;background:#eef1e5}
#sprout-study .flower-pot{padding:10px 2px 7px;border:0;border-radius:13px;min-width:0;background:#f9f8ee;color:#8c8874;display:grid;gap:5px;justify-items:center;min-height:65px}
#sprout-study .flower-pot.bloomed{background:#fff4e9;color:#a17452}
#sprout-study .flower-art{font-size:27px}
#sprout-study .flower-day{font-size:11px}
#sprout-study .garden-caption{font-size:12px;color:#877b67;line-height:1.8;margin:14px 0}
#sprout-study .flower-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 22px}
#sprout-study .species{background:#f6f1e8;border-radius:13px;padding:11px 3px;display:grid;gap:5px;justify-items:center;font-size:11px;color:#877763}
#sprout-study .species>span:first-child{font-size:26px}
#sprout-study .species small{font-size:10px;color:#a19383}
#sprout-study .species.unlocked{background:#f8e8df;color:#8a5d48}
#sprout-study .species.unlocked small{color:#a9775f}
#sprout-study .garden .section-title{font-size:15px}
#sprout-study .revision-note{font-size:11px;color:#aa9a89;text-align:center;padding-top:12px}
@media(max-width:360px){#sprout-study .motto{font-size:12px;margin-left:21px;letter-spacing:0}#sprout-study .school-emblem{width:48px;height:50px}#sprout-study .exam-card{padding:13px 12px;gap:8px}#sprout-study .school-name{font-size:11px}#sprout-study .exam-value{font-size:30px}#sprout-study .bubble{max-width:141px;font-size:12px}#sprout-study .mascot{width:184px;height:199.33px;right:0}#sprout-study .flower-guide{gap:5px}}
/* Speech bubble points toward Feifei, with a clear space for her face. */
#sprout-study .scene{isolation:isolate}
#sprout-study .bubble{left:auto;right:168px;top:47px;width:calc(100% - 168px);max-width:190px;padding:11px 10px;background:#fffdf8;border:1px solid #ead6cd;border-radius:19px;color:#775b50;font-size:13px;line-height:1.8;box-shadow:0 5px 13px #9e75670c;z-index:2;overflow:visible;text-wrap:balance}
#sprout-study .bubble:before,#sprout-study .bubble:after{content:"";position:absolute;clip-path:polygon(0 0,100% 60%,0 100%);pointer-events:none}
#sprout-study .bubble:before{right:-17px;top:42px;width:18px;height:20px;background:#ead6cd}
#sprout-study .bubble:after{right:-15px;top:43px;width:17px;height:18px;background:#fffdf8}
#sprout-study .mascot{z-index:1}
@media(max-width:360px){#sprout-study .bubble{left:auto;right:134px;top:46px;width:calc(100% - 134px);max-width:none;font-size:12px;padding:11px 10px}#sprout-study .mascot{right:-18px}}
/* Compact companion scene: keep the full figure and bring the speech near her face. */
#sprout-study .hero{padding:14px 14px 12px}
#sprout-study .scene{height:196px}
#sprout-study .mascot{width:178px;height:192.83px;right:-6px;bottom:0}
#sprout-study .bubble{right:152px;width:calc(100% - 152px);top:16px}
#sprout-study .bubble:before{top:22px}
#sprout-study .bubble:after{top:23px}
#sprout-study .cat-ground{width:98px;right:33px;bottom:0;height:11px}
#sprout-study .mood-controls{margin-top:9px;gap:7px}
#sprout-study .mood-controls button{min-height:38px}
@media(max-width:360px){#sprout-study .scene{height:188px}#sprout-study .mascot{width:170px;height:184.17px;right:-12px}#sprout-study .bubble{right:132px;width:calc(100% - 132px);top:14px}#sprout-study .bubble:before{top:26px}#sprout-study .bubble:after{top:27px}}
#sprout-study .pet-sprite{background-image:url('./assets/feifei-repaired-v4.png');background-size:400% 400%}
#sprout-study .mascot{width:194px;height:194px;right:-6px}
@media(max-width:360px){#sprout-study .mascot{width:184px;height:184px;right:-12px}}
#sprout-study .bubble:before{top:44px}
#sprout-study .bubble:after{top:45px}
@media(max-width:360px){#sprout-study .bubble:before{top:42px}#sprout-study .bubble:after{top:43px}}
#sprout-study .scene .mood-controls{position:absolute;left:0;top:111px;width:calc(100% - 152px);margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;z-index:3}
#sprout-study .scene .mood-controls button{position:relative;min-height:40px;padding:7px 2px;font-size:12px;border-radius:12px}
#sprout-study .scene .mood-controls button:before{content:"";position:absolute;inset:-2px}
@media(max-width:360px){#sprout-study .scene .mood-controls{top:100px;width:calc(100% - 132px);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#sprout-study .scene .mood-controls button:last-child{grid-column:1/-1}}
#sprout-study .scene .mood-controls{left:auto;right:152px;max-width:190px}
@media(max-width:360px){#sprout-study .scene .mood-controls{right:132px;max-width:none}}
