/* Huiya 2026 UI refresh — warm storybook system */
:root{
  --rose:#e68473;
  --rd:#945946;
  --rl:#f8ded5;
  --lav:#889a7c;
  --gold:#f2bd55;
  --bg:#fbf7ed;
  --bg2:#fffaf0;
  --c:#fffdf8;
  --t:#333429;
  --t2:#777467;
  --bd:#e9e1d2;
  --suc:#6d9272;
  --err:#c66459;
  --sh:0 10px 30px rgba(87,68,42,.08);
  --sh2:0 18px 45px rgba(87,68,42,.14);
  --r:28px;
  --rs:16px;
  --navh:76px;
}

/* AI 学堂规格控件：原生 radio 保留完整键盘与读屏语义。 */
.academy-age-option input,.academy-spec-options input{accent-color:#1d7165}
.academy-spec-options{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;padding:0;border:0}
.academy-spec-options legend{width:100%;margin-bottom:3px;color:#415f59;font-size:.78rem;font-weight:760}
.academy-spec-options label{padding:9px 12px;border:1px solid #d7e1da;border-radius:12px;background:#fffefb;color:#46655e;font-size:.78rem;cursor:pointer}
.academy-recommendation{margin:12px 0;padding:10px 12px;border-left:3px solid #d89950;border-radius:8px;background:#fff7e8;color:#76664e;font-size:.75rem;line-height:1.55}

html{scroll-behavior:smooth}
html.modal-open,body.modal-open{overflow:hidden}
body.modal-open{position:fixed;top:var(--modal-scroll-lock-top,0);right:0;left:0;width:100%}
body{
  background-color:var(--bg);
  background-image:radial-gradient(rgba(111,100,73,.055) .7px,transparent .8px),radial-gradient(rgba(255,255,255,.72) .7px,transparent .8px);
  background-position:0 0,6px 7px;
  background-size:12px 12px;
  color:var(--t);
  letter-spacing:.01em;
}
button,a,input,select,textarea{font-family:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(242,189,85,.46);outline-offset:3px}

/* Navigation */
.nav{
  height:var(--navh);
  border-bottom:1px solid rgba(178,159,124,.22);
  background:rgba(255,253,248,.9);
  box-shadow:0 6px 28px rgba(72,58,38,.05);
  backdrop-filter:blur(18px);
}
.nav-inner{max-width:1260px;padding:0 28px}
.nav-logo{gap:10px;color:#43523d;font-size:1.42rem;letter-spacing:.12em}
.nav-logo .logo-mark{
  width:38px;height:38px;display:grid;place-items:center;border-radius:14px;
  background:#6f8466;color:#fff7da;font-size:1rem;
  box-shadow:inset 0 -3px 0 rgba(40,58,35,.16),0 6px 14px rgba(83,107,72,.2);
  transform:rotate(-4deg);
}
.nav-links{gap:4px}
.nav-link{
  display:flex;align-items:center;gap:7px;min-height:42px;padding:9px 15px;border:0;
  border-radius:15px;background:transparent;color:#706e63;font-size:.87rem;font-weight:650;
}
.nav-link:hover,.nav-link.active{background:#f3eddf;color:#46513e}
.nav-link.active{box-shadow:inset 0 0 0 1px rgba(117,132,99,.16)}
.nav-link-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;line-height:1}
.nav-link-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.nav-link-icon.emoji-icon{font-size:1.05rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.nav-account-mobile{display:none}
.nav-pill{min-height:38px;padding:7px 14px;border:1px solid #e5ddcd;background:#fffaf1;color:#665e52}
.nav-pill:hover{border-color:#b9b19f;background:#fff;color:#46513e}
.nav-pill-outline{background:transparent;border-color:#ded5c3;color:#766d61}
.nav-pill-vip{border-color:#ebca78;background:#fff3cb;color:#8a6423;box-shadow:none}

/* Shared */
.main{margin-top:var(--navh)}
.page{padding:38px 0 62px}
.pg-inner{max-width:1260px;padding:0 28px}
.page-eyebrow,.book-kicker,.task-kicker{display:block;color:#9a7450;font-size:.67rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.sec-title{color:var(--t);font-size:1.65rem;letter-spacing:-.02em}
.btn{min-height:44px;border-radius:16px;font-weight:750}
.btn-sm-rose,.btn-sm-lav{padding:9px 16px;border-radius:13px}
.btn-sm-rose{background:#df826d;color:#fff;box-shadow:0 5px 12px rgba(169,88,70,.18)}
.btn-sm-lav{background:#e9efe5;color:#4f674d}
.btn-outline{border:1px solid var(--bd);background:#fffdf8;color:#665f53;border-radius:14px}
.loading,.empty{grid-column:1/-1;padding:48px 24px;border:1px dashed #d9cfbd;border-radius:24px;background:rgba(255,253,248,.66)}
.empty-icon{filter:drop-shadow(0 5px 8px rgba(70,54,30,.12))}
.reader-page-swipe-next{animation:readerPageSwipeNext .34s cubic-bezier(.2,.75,.25,1)}
.reader-assistant-sprite img.reader-assistant-wukong{transform:scale(1)}
.reader-assistant-sprite img.reader-assistant-cat{transform:translate(10px,2px) scale(.82)}
.reader-assistant-sprite img.reader-assistant-dog{transform:scale(.86)}
.reader-assistant-sprite img.reader-assistant-rabbit{transform:translateY(-8px) scale(.76)}
.reader-page-swipe-prev{animation:readerPageSwipePrev .34s cubic-bezier(.2,.75,.25,1)}
@keyframes readerPageSwipeNext{from{opacity:.45;transform:translateX(28px) rotateY(-5deg)}to{opacity:1;transform:translateX(0) rotateY(0)}}
@keyframes readerPageSwipePrev{from{opacity:.45;transform:translateX(-28px) rotateY(5deg)}to{opacity:1;transform:translateX(0) rotateY(0)}}
/* Desktop only: keep the press-to-talk bubble attached to the character. */
@media(min-width:701px){
  .reader-assistant{position:relative}
  .reader-assistant-cloud{position:absolute;z-index:4;left:50%;top:min(58vh,575px);margin:0;transform:translateX(-50%);white-space:nowrap}
  .reader-assistant-cloud::before{left:50%;top:-6px;transform:translateX(-50%) rotate(45deg)}
}

/* Fortune draw: temple-style lucky stick before the physical-book checkout */
.fortune-overlay{z-index:260;background:rgba(63,54,39,.52)}
.fortune-card{position:relative;max-width:438px;padding:30px 28px 26px;text-align:center;overflow:hidden;background:linear-gradient(180deg,#fffdf8 0%,#fff8e9 100%)}
.fortune-close{position:absolute;top:14px;right:16px;width:32px;height:32px;border:0;border-radius:50%;background:#f4ecdc;color:#796d5e;font-size:1.2rem;line-height:1;cursor:pointer}
.fortune-kicker{color:#9b7650;font-size:.68rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.fortune-card h3{margin:10px 0 7px;color:#4d4b3f;font-size:1.28rem;letter-spacing:.01em}
.fortune-intro{color:#827969;font-size:.82rem;line-height:1.6}
.fortune-stage{position:relative;height:238px;margin:12px -8px 4px;overflow:hidden;border-radius:22px;background:radial-gradient(circle at 50% 62%,rgba(244,196,92,.22),transparent 34%),linear-gradient(180deg,#f8f0df,#fffaf0 72%);border:1px solid #eee1c9}
.fortune-stage:after{content:"";position:absolute;left:12%;right:12%;bottom:22px;height:18px;border-radius:50%;background:rgba(115,87,44,.14);filter:blur(5px)}
.fortune-cloud{position:absolute;color:#d4ad62;font-size:1.1rem;opacity:.7}.cloud-left{top:42px;left:56px}.cloud-right{top:67px;right:60px}
.fortune-incense{position:absolute;top:31px;left:50%;display:flex;gap:8px;transform:translateX(-50%);opacity:.45}.fortune-incense i{display:block;width:2px;height:28px;background:linear-gradient(#aa8a60,transparent);border-radius:50%;animation:fortuneSmoke 2.8s ease-in-out infinite}.fortune-incense i:nth-child(2){animation-delay:.4s}.fortune-incense i:nth-child(3){animation-delay:.8s}
.fortune-tube{position:absolute;z-index:2;left:50%;bottom:31px;width:92px;height:150px;transform:translateX(-50%) rotate(-5deg);transform-origin:50% 92%;filter:drop-shadow(0 10px 8px rgba(91,65,31,.16))}
.fortune-tube-top{position:absolute;top:0;left:7px;width:78px;height:27px;border-radius:50%;background:#c56e45;border:4px solid #a95337;box-shadow:inset 0 3px 0 rgba(255,231,185,.35)}
.fortune-tube-body{position:absolute;top:13px;left:8px;width:76px;height:120px;border-radius:12px 12px 18px 18px;background:linear-gradient(90deg,#a95337,#d87e4f 48%,#a64d34);border:3px solid #a65135;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#ffe9ae;font-family:serif;box-shadow:inset 8px 0 12px rgba(255,221,173,.12),inset -8px 0 12px rgba(74,27,15,.2)}
.fortune-tube-body span{font-size:.68rem;opacity:.82}.fortune-tube-body b{font-size:2.35rem;font-weight:600;line-height:1;color:#fff0bb}.fortune-tube-foot{position:absolute;bottom:0;left:3px;width:86px;height:22px;border-radius:50%;background:#a74e35;border:3px solid #91432e}
.fortune-stick{position:absolute;z-index:3;left:50%;bottom:53px;width:30px;height:142px;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#d19b4f,#ffe1a0 48%,#c78940);box-shadow:2px 5px 7px rgba(84,55,22,.22);transform:translateX(13px) rotate(7deg);transform-origin:50% 100%;opacity:0}.fortune-stick:before{content:"";position:absolute;top:10px;left:4px;right:4px;height:2px;background:rgba(119,75,25,.26)}.fortune-stick span{position:absolute;top:32px;left:50%;writing-mode:vertical-rl;transform:translateX(-50%);font-size:.62rem;color:#8b542b;white-space:nowrap}
.fortune-stage.is-drawing .fortune-tube{animation:fortuneShake .72s ease-in-out infinite}.fortune-stage.is-drawing .fortune-tube-body{animation:fortuneTubeGlow .36s ease-in-out infinite alternate}.fortune-stage.is-drawing .fortune-stick{animation:fortuneStick .72s ease-in-out infinite}.fortune-stage.is-drawing:before{content:"";position:absolute;left:50%;bottom:16px;width:120px;height:24px;border:1px solid rgba(196,143,58,.28);border-radius:50%;transform:translateX(-50%);animation:fortuneRipple .72s ease-out infinite}.fortune-stage.has-result .fortune-tube{transform:translateX(-50%) rotate(0deg)}.fortune-stage.has-result .fortune-stick{opacity:1;animation:fortuneReveal .55s cubic-bezier(.2,.8,.25,1) both}
.fortune-result{margin:8px 0 14px;padding:13px 16px;border:1px solid #e8c878;border-radius:16px;background:linear-gradient(135deg,#fff8d9,#fff1bb);box-shadow:0 8px 22px rgba(210,158,55,.13)}.fortune-result-label{display:block;color:#967340;font-size:.68rem;letter-spacing:.14em}.fortune-result strong{display:block;margin:3px 0;color:#a45c25;font-size:1.75rem;line-height:1.25}.fortune-result small{color:#8a775b;font-size:.76rem}.fortune-status{min-height:24px;margin:5px 0 12px;color:#806f5c;font-size:.8rem}.fortune-draw-btn,.fortune-confirm-btn{min-height:46px;background:linear-gradient(135deg,#c8734e,#a6533b);box-shadow:0 7px 16px rgba(151,72,45,.22)}
@keyframes fortuneShake{0%,100%{transform:translateX(-50%) rotate(-5deg)}25%{transform:translateX(calc(-50% - 9px)) rotate(-13deg)}50%{transform:translateX(calc(-50% + 8px)) rotate(7deg)}75%{transform:translateX(calc(-50% - 5px)) rotate(-10deg)}}
@keyframes fortuneTubeGlow{from{filter:brightness(1)}to{filter:brightness(1.16)}}
@keyframes fortuneRipple{0%{opacity:.7;transform:translateX(-50%) scale(.65)}100%{opacity:0;transform:translateX(-50%) scale(1.35)}}
@keyframes fortuneStick{0%,100%{opacity:0;transform:translateX(13px) rotate(7deg)}45%,75%{opacity:1;transform:translateX(13px) translateY(-28px) rotate(7deg)}}
@keyframes fortuneReveal{from{opacity:0;transform:translateX(13px) translateY(28px) rotate(7deg)}to{opacity:1;transform:translateX(13px) translateY(-15px) rotate(7deg)}}
@keyframes fortuneSmoke{0%,100%{transform:translateY(0) scaleX(1);opacity:.15}50%{transform:translateY(-9px) scaleX(1.8);opacity:.6}}
@media (max-width:520px){.fortune-card{padding:26px 18px 20px;border-radius:22px}.fortune-stage{height:220px;margin-left:-2px;margin-right:-2px}.fortune-card h3{font-size:1.12rem}}

/* Home hero */
.hero{
  position:relative;isolation:isolate;min-height:450px;margin-bottom:46px;padding:50px 48px;
  overflow:hidden;border:1px solid rgba(196,176,139,.26);border-radius:34px;
  background:#f3ebda;box-shadow:0 24px 70px rgba(75,59,37,.12);
}
.hero::after{
  content:'';position:absolute;z-index:1;inset:0;width:auto;height:auto;
  border:0;border-radius:0;transform:none;
  background:linear-gradient(90deg,rgba(255,250,237,.98) 0%,rgba(255,250,237,.94) 34%,rgba(255,250,237,.48) 54%,rgba(255,250,237,.04) 76%,rgba(255,250,237,0) 100%);
}
.hero-text{position:relative;z-index:2;max-width:530px;padding:0}
.hero-greeting{display:inline-flex;align-items:center;gap:7px;margin-bottom:15px;padding:8px 13px;border:1px solid #e7d9bd;border-radius:999px;background:rgba(255,253,247,.86);color:#6d745e;font-size:.78rem;font-weight:700;box-shadow:0 7px 20px rgba(85,66,40,.07)}
.hero-greeting i{color:#e8a73e;font-style:normal}
.hero-kicker{display:block;margin-bottom:9px;padding:0;border-radius:0;background:transparent;color:#987952;font-size:.75rem;font-weight:800;letter-spacing:.12em;transform:none}
.hero-text h1{max-width:520px;margin-bottom:16px;color:#30372d;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:clamp(2.25rem,3.25vw,3.3rem);font-weight:700;line-height:1.14;letter-spacing:-.035em}
.hero-text h1 span{display:block;margin-top:5px;color:#bb654f}
.hero-text>p{max-width:490px;margin-bottom:22px;color:#69695d;font-size:.94rem;line-height:1.72}
.btn-hero{
  display:inline-flex;align-items:center;gap:9px;min-height:58px;padding:15px 24px;
  border:1px solid #e5aa39;border-radius:18px;background:#f4bd51;color:#5c4215;
  box-shadow:inset 0 -4px 0 rgba(134,83,6,.13),0 13px 24px rgba(181,123,26,.24);
  font-size:1rem;
}
.btn-hero:hover{background:#f8c967;box-shadow:inset 0 -4px 0 rgba(134,83,6,.12),0 16px 28px rgba(181,123,26,.29);transform:translateY(-2px)}
.hero-cta-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.5)}
.hero-trust{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:16px;color:#777267;font-size:.71rem}
.hero-trust span::before{content:'✓';margin-right:5px;color:#6f8769;font-weight:900}
.hero-visual{position:absolute;z-index:0;inset:0;margin:0;font-size:0}
.hero-visual img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;filter:none;mix-blend-mode:normal}
.hero-magic-note{position:absolute;z-index:2;right:30px;bottom:28px;padding:10px 14px;border:1px solid rgba(255,255,255,.66);border-radius:999px;background:rgba(52,67,49,.64);color:#fff9df;font-size:.74rem;font-weight:750;letter-spacing:.05em;box-shadow:0 8px 20px rgba(31,37,26,.18);backdrop-filter:blur(9px)}
.hero-glow{position:absolute;z-index:3;border-radius:50%;pointer-events:none;filter:blur(3px);animation:heroFloat 5s ease-in-out infinite}
.hero-glow-one{right:42%;top:19%;width:9px;height:9px;background:#ffd46d;box-shadow:0 0 18px 6px rgba(255,211,102,.6)}
.hero-glow-two{right:29%;top:38%;width:6px;height:6px;background:#fff1ae;box-shadow:0 0 17px 5px rgba(255,232,139,.55);animation-delay:-2.3s}
@keyframes heroFloat{50%{transform:translateY(-13px) scale(1.2)}}

/* Journey */
.journey-head{margin:0 auto 24px;text-align:center}
.journey-head>span{color:#b17857;font-size:.72rem;font-weight:800;letter-spacing:.16em}
.journey-head h2{margin:8px 0 9px;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:2rem;color:#3f493b}
.journey-head p{color:var(--t2);font-size:.88rem}
.steps{align-items:stretch;gap:14px;margin-bottom:34px;padding:0;background:transparent;box-shadow:none}
.step{position:relative;padding:27px 20px 23px;border:1px solid #e8dfcf;border-radius:26px;background:rgba(255,253,248,.84);box-shadow:0 10px 28px rgba(72,57,35,.07);text-align:left}
.step:hover{border-color:#d6c7ab;box-shadow:0 17px 38px rgba(72,57,35,.11);transform:translateY(-3px)}
.step-num{position:absolute;top:15px;right:16px;left:auto;width:27px;height:27px;margin:0;background:#e7efe3;color:#61735b}
.step-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 0 18px;border-radius:20px;background:#f7d9c7;font-size:1.55rem;box-shadow:inset 0 -4px 0 rgba(115,72,40,.08),0 8px 14px rgba(90,66,40,.1);transform:rotate(-3deg)}
.step:nth-of-type(3) .step-icon{background:#dce8d5;transform:rotate(3deg)}
.step:nth-of-type(5) .step-icon{background:#f8e5aa;transform:rotate(-2deg)}
.step h3{margin-bottom:8px;color:#3e4638;font-size:1rem}
.step p{color:#7b776b;font-size:.8rem;line-height:1.65}
.step-time{display:inline-block;margin-top:14px;color:#a77858;font-size:.68rem;font-weight:750}
.step-arrow{position:relative;width:26px;padding:0}
.step-arrow::before{content:'···';position:absolute;left:50%;top:47%;color:#cdbd9e;font-size:1rem;letter-spacing:2px;transform:translate(-50%,-50%)}
.quote-card{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:48px;padding:21px 26px;border:1px solid #e9dec9;border-radius:22px;background:#f6eddb;box-shadow:none}
.q-icon{margin:0;font-size:1.2rem}
#quoteText{font-family:'STKaiti','KaiTi','Songti SC',serif;color:#655f52;font-size:1rem}
.recent-title-row{align-items:end;margin-bottom:17px}
.recent-title-row>div>span{color:#9a7450;font-size:.7rem;font-weight:800;letter-spacing:.14em}
.recent-title-row .sec-title{margin:5px 0 0;font-size:1.8rem}
.recent-title-row>a,.library-create-link{color:#687760;font-size:.82rem;font-weight:700;text-decoration:none}

/* Forms */
.create-layout{max-width:880px}
.form-card{margin-bottom:16px;padding:25px 26px;border:1px solid rgba(216,204,183,.72);border-radius:24px;background:rgba(255,253,248,.9);box-shadow:0 12px 32px rgba(73,58,36,.07)}
.form-card-title{margin-bottom:18px;padding-bottom:12px;border-color:#ede3d2;color:#765c47;font-size:.96rem}
.fg label{margin-bottom:6px;color:#777166;font-size:.78rem;font-weight:650}
.fg input,.fg select,.fg textarea,.m-input{min-height:45px;padding:11px 13px;border:1px solid #e1d7c6;border-radius:13px;background:#fffdf8;color:var(--t)}
.fg textarea{min-height:auto}

/* AI 学堂 */
.academy-entry-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px;padding:26px 30px;overflow:hidden;border:1px solid #dce6df;border-radius:22px;background:linear-gradient(120deg,#eef5f1,#fff9ed);box-shadow:0 12px 27px rgba(35,72,63,.08)}
.academy-entry-card::after{position:absolute;right:-22px;bottom:-46px;width:150px;height:150px;border:1px solid rgba(51,114,99,.13);border-radius:50%;content:''}.academy-entry-card h2{margin:5px 0 7px;color:#183e3c;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:1.6rem}.academy-entry-card p,.academy-profile-intro{color:#65716e;font-size:.84rem;line-height:1.7}.academy-entry-card .btn{position:relative;z-index:1;background:#1d6b61;color:#fffdf8;box-shadow:0 7px 16px rgba(19,83,74,.24)}.academy-entry-card .btn:hover{background:#15564e;color:#fffdf8}
.academy-shell{max-width:970px}.academy-hero{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:318px;padding:46px 58px;overflow:hidden;border:1px solid #cfe0d8;border-radius:30px;background:linear-gradient(125deg,#e6f1ec 0%,#f6f2e9 62%,#eef5ed 100%);box-shadow:0 18px 40px rgba(31,76,67,.11)}.academy-hero::before,.academy-hero::after{position:absolute;border:1px solid rgba(42,112,96,.13);border-radius:50%;content:''}.academy-hero::before{top:-180px;right:6%;width:410px;height:410px}.academy-hero::after{right:24%;bottom:-245px;width:410px;height:410px}.academy-hero-copy{position:relative;z-index:1;max-width:520px}.academy-eyebrow{display:flex;align-items:center;gap:8px;color:#1a7568;font-size:.68rem;font-weight:800;letter-spacing:.16em}.academy-eyebrow i{width:8px;height:8px;border-radius:50%;background:#d89950;box-shadow:0 0 0 5px rgba(216,153,80,.15)}.academy-hero h2{margin:15px 0 14px;color:#173d3c;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:2.62rem;line-height:1.12;letter-spacing:.015em}.academy-hero h2 em{color:#177164;font-style:normal}.academy-hero p{max-width:440px;color:#64716d;font-size:.92rem;line-height:1.85}.academy-hero-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.academy-hero-trust span{padding:7px 11px;border:1px solid rgba(31,105,92,.13);border-radius:999px;background:rgba(255,255,255,.58);color:#3e635d;font-size:.72rem;font-weight:650}.academy-orbit{position:relative;z-index:1;width:275px;height:240px;flex:none}.academy-orbit-ring{position:absolute;border:1px solid rgba(25,103,91,.24);border-radius:50%;transform:rotate(-28deg)}.academy-orbit-ring.ring-one{top:30px;left:15px;width:220px;height:137px}.academy-orbit-ring.ring-two{top:4px;left:47px;width:156px;height:190px;transform:rotate(34deg)}.academy-orbit-core{position:absolute;top:86px;left:100px;display:grid;width:58px;height:58px;place-items:center;border-radius:21px;background:#1d7165;color:#ffe7a3;font-size:1.8rem;box-shadow:0 12px 22px rgba(21,95,83,.25);transform:rotate(12deg)}.academy-orbit-item{position:absolute;display:grid;width:33px;height:33px;place-items:center;border:1px solid rgba(29,99,87,.12);border-radius:12px;background:#fffdf6;color:#ce8750;font-size:1rem;box-shadow:0 7px 15px rgba(38,69,60,.1)}.academy-orbit-item.item-book{top:26px;right:25px}.academy-orbit-item.item-leaf{bottom:42px;left:20px;color:#298879}.academy-orbit-item.item-star{right:16px;bottom:64px;font-size:1.4rem}.academy-orbit-note{position:absolute;right:-3px;bottom:5px;display:flex;flex-direction:column;padding:10px 13px;border:1px solid rgba(43,102,89,.14);border-radius:14px;background:rgba(255,253,247,.78);box-shadow:0 8px 18px rgba(32,70,61,.08);transform:rotate(-4deg)}.academy-orbit-note b{color:#1d6258;font-size:.79rem}.academy-orbit-note span{color:#78807b;font-size:.62rem}
.academy-flow{display:flex;align-items:center;justify-content:center;gap:16px;margin:19px 0 23px;color:#5f7670;font-size:.72rem;font-weight:650}.academy-flow span{display:flex;align-items:center;gap:7px}.academy-flow b{color:#c57d49;font-size:.65rem;letter-spacing:.08em}.academy-flow i{width:35px;height:1px;background:linear-gradient(90deg,#c6d8d0,#e4d5bd)}
.academy-orbit-item{width:42px;height:42px;border-color:rgba(29,99,87,.15);border-radius:14px;background:#fffef9;font-size:1.12rem;box-shadow:0 9px 17px rgba(38,69,60,.12)}.academy-orbit-item.item-book{top:20px;right:17px}.academy-orbit-item.item-book svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.academy-orbit-item.item-star{right:16px;bottom:72px;font-size:1.55rem}.academy-orbit-note{right:-10px;bottom:2px;min-width:112px;padding:12px 15px;border-color:rgba(43,102,89,.18);border-radius:15px;background:#fffef9;box-shadow:0 10px 20px rgba(32,70,61,.12);transform:rotate(-3deg)}.academy-orbit-note b{color:#17685d;font-size:.92rem;font-weight:800}.academy-orbit-note span{margin-top:2px;color:#63716b;font-size:.7rem;font-weight:600;white-space:nowrap}
.academy-orbit-note{right:-4px;bottom:4px;min-width:126px;padding:13px 16px;transform:none}.academy-orbit-note b{font-size:1rem}.academy-orbit-note span{font-size:.78rem}.academy-submit-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.academy-layout{max-width:840px;margin:0 auto}.academy-card{margin-bottom:16px;padding:28px 30px;border:1px solid #dae4de;border-radius:24px;background:#fffdf8;box-shadow:0 13px 30px rgba(43,64,55,.07)}.academy-question-card{border-color:#d0e2da;background:linear-gradient(145deg,#fffefa,#f6faf6)}.academy-profile-card{background:linear-gradient(145deg,#fffdf8,#faf7f0)}.academy-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}.academy-card-heading>div{min-width:0}.academy-card-heading small{display:block;margin-bottom:4px;color:#82958e;font-size:.62rem;font-weight:800;letter-spacing:.13em}.academy-card-heading h3{color:#294944;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:1.35rem}.academy-card-heading h3 em{color:#87908b;font-size:.8rem;font-style:normal;font-weight:500}.academy-step-number{display:grid;width:32px;height:32px;flex:none;place-items:center;border-radius:11px;background:#e4f0eb;color:#237166;font-size:.75rem;font-weight:800}.academy-card-badge{margin-left:auto;padding:6px 9px;border-radius:999px;background:#f2e7d4;color:#a36a35;font-size:.65rem;font-weight:750}.academy-field-label{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:#415f59;font-size:.78rem;font-weight:760}.academy-field-label b{padding:3px 6px;border-radius:5px;background:#eaf3ee;color:#3c8073;font-size:.58rem;letter-spacing:.04em}.academy-question-card textarea{min-height:118px;padding:17px 18px;border:1px solid #ccddd5;border-radius:17px;background:#fffefb;color:#294740;font-size:.93rem;line-height:1.7;resize:vertical}.academy-question-card textarea::placeholder{color:#a2aaa4}.academy-field-hint{margin-top:9px;color:#89938e;font-size:.72rem}.academy-age-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:26px;padding-top:21px;border-top:1px dashed #d7e1db}.academy-age-row>div:first-child{display:flex;flex-direction:column;gap:2px}.academy-age-row>div:first-child small{color:#89938e;font-size:.69rem}.academy-age-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;min-width:352px}.academy-age-option{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;border:1px solid #d7e1da;border-radius:13px;background:#fffefb;color:#6e7b76;cursor:pointer;font-family:inherit;text-align:left;transition:.2s ease}.academy-age-option b{color:#356e65;font-size:.84rem}.academy-age-option span{font-size:.62rem}.academy-age-option:hover,.academy-age-option.active{border-color:#2b7c6f;background:#e6f2ed;box-shadow:0 7px 15px rgba(36,105,94,.1)}.academy-age-option.active b{color:#176b5e}.academy-native-select{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.academy-profile-intro{margin:-5px 0 19px}.academy-child-picker{display:flex;align-items:center;gap:13px;padding:13px 14px;border:1px solid #e7dfd0;border-radius:16px;background:#fffcf6}.academy-child-icon{display:grid;width:37px;height:37px;flex:none;place-items:center;border-radius:13px;background:#e6efe9;color:#267466;font-size:1.1rem}.academy-child-picker .fg{flex:1}.academy-child-picker .fg label{margin-bottom:4px}.academy-child-picker select{min-height:39px;border-color:#ded8cb;background:#fffefa}.academy-profile-summary{min-height:58px;margin-top:13px;padding:13px 15px;border:1px solid #e1e7df;border-radius:14px;background:#f2f7f3;color:#68756f;font-size:.75rem;line-height:1.75}.academy-profile-summary strong{display:block;margin-bottom:4px;color:#3f6c63;font-size:.79rem}.academy-profile-summary div{display:flex;flex-wrap:wrap;gap:4px 13px}.academy-profile-summary span{max-width:100%}
.academy-submit-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid #b9d2c7;border-radius:20px;background:#e9f2ec;box-shadow:0 13px 27px rgba(33,92,80,.11)}.academy-submit-copy{display:flex;align-items:center;gap:12px}.academy-submit-icon{display:grid;width:41px;height:41px;place-items:center;border-radius:14px;background:#fffdf6;color:#1a7063;font-size:1.2rem}.academy-submit-copy>div{display:flex;flex-direction:column;gap:4px}.academy-submit-card strong{color:#254e48;font-size:.91rem}.academy-submit-card span{color:#6b7d76;font-size:.71rem}.academy-submit-card .btn{width:auto;min-width:244px;padding:13px 20px;background:#1d6d62;box-shadow:inset 0 -3px 0 rgba(12,70,61,.2),0 10px 18px rgba(22,102,90,.18)}.academy-submit-card .btn:hover{background:#175d54}.academy-submit-card .btn b{margin-left:7px;font-size:1rem}
.fg input:focus,.fg select:focus,.fg textarea:focus,.m-input:focus{border-color:#879a7d;box-shadow:0 0 0 4px rgba(120,145,112,.12)}
.upload-box{padding:25px;border:1.5px dashed #cbbfa9;border-radius:18px;background:#fbf6eb}
.upload-box:hover{border-color:#879a7d;background:#f7f4e9}
.package-card{padding:18px 10px;border:1px solid #dfd5c4;border-radius:18px;background:#fffdf8}
.package-card:hover{border-color:#91a087;box-shadow:0 10px 24px rgba(71,91,65,.1)}
.package-card.selected{border-color:#c68661;background:#fff4e8;box-shadow:0 9px 22px rgba(170,103,65,.14)}
.package-card.selected::after{background:#c9795e}
.pkg-price{color:#b9664f}
.edition-option{border-radius:16px!important}
.btn-submit{border-radius:16px;background:#71866a;box-shadow:inset 0 -3px 0 rgba(46,70,41,.18),0 10px 20px rgba(77,105,68,.18)}
.btn-submit:hover{background:#657b5e;box-shadow:inset 0 -3px 0 rgba(46,70,41,.18),0 13px 24px rgba(77,105,68,.23)}
.chat-fab{top:96px;width:62px;height:62px;border:2px solid #fff6df;background:#f4bd51;box-shadow:0 12px 24px rgba(120,79,25,.22)}
.chat-modal{border:1px solid #e1d6c4;border-radius:24px;box-shadow:0 24px 70px rgba(52,41,28,.22)}
.chat-modal-head{background:#6f8466}
.chat-send{background:#d57a66}

/* Library */
.library-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px;padding:32px 36px;border:1px solid #dce2d7;border-radius:28px;background:#dfe8da;box-shadow:0 14px 32px rgba(66,87,60,.08)}
.library-hero h2{margin:6px 0 8px;color:#3d4c39;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:2.2rem}
.library-hero p{color:#637060;font-size:.86rem}
.library-stats{display:flex;align-items:center;gap:26px;padding:18px 24px;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:rgba(255,253,248,.7)}
.library-stats div{display:flex;flex-direction:column;gap:3px;min-width:82px}
.library-stats strong{color:#445341;font-size:1.5rem}
.library-stats span{color:#7b8377;font-size:.7rem}
.library-stats i{width:1px;height:36px;background:#cbd6c6}
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.library-filters{display:flex;gap:6px;padding:5px;border:1px solid #e3dacb;border-radius:16px;background:#f5efe3}
.library-filter{min-height:38px;padding:8px 16px;border:0;border-radius:12px;background:transparent;color:#7b7468;font-size:.78rem;font-weight:700;cursor:pointer}
.library-filter.active{background:#fffdf8;color:#4b5746;box-shadow:0 4px 12px rgba(70,56,37,.08)}
.library-create-link{padding:10px 14px;border-radius:13px;background:#fffdf8;box-shadow:inset 0 0 0 1px #dfd6c7}
.books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.book-card{position:relative;align-items:stretch;gap:18px;min-height:190px;padding:18px;border:1px solid #e4daca;border-radius:25px;background:rgba(255,253,248,.9);box-shadow:0 12px 28px rgba(75,60,38,.07)}
.book-card:hover{border-color:#d6c6ad;box-shadow:var(--sh2);transform:translateY(-3px)}
.book-cover{position:relative;width:126px;height:auto;min-height:154px;flex:0 0 126px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden;padding:18px 14px;border-radius:12px 18px 18px 12px;background:#b9caaa;color:#fff;text-shadow:0 1px 2px rgba(50,52,38,.18);box-shadow:inset 6px 0 0 rgba(62,68,46,.12),7px 9px 15px rgba(64,51,31,.17)}
.book-cover::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 74% 22%,rgba(255,255,255,.5) 0 3px,transparent 4px),radial-gradient(circle at 57% 34%,rgba(255,236,159,.65) 0 2px,transparent 3px),linear-gradient(160deg,transparent 45%,rgba(61,78,51,.2))}
.book-cover strong,.book-cover small,.book-cover-spark{position:relative;z-index:1}
.book-cover strong{font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:1rem;line-height:1.25}
.book-cover small{margin-top:5px;font-size:.56rem;opacity:.8}
.book-cover-spark{position:absolute;right:14px;top:14px;color:#fff1a4}
.cover-tone-1{background:#db9c78}.cover-tone-2{background:#899f9c}.cover-tone-3{background:#c4a66c}
.book-info{min-width:0;display:flex;flex:1;flex-direction:column;justify-content:center}
.book-info h4{margin:7px 0 7px;color:#3e4438;font-size:1rem;line-height:1.35}
.book-info p{color:#817a6f;font-size:.74rem}
.book-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}
.book-badges span{padding:5px 8px;border-radius:999px;background:#f2ede2;color:#6f6c61;font-size:.62rem}
.book-badges .done{background:#e4eee1;color:#5f795e}
.book-actions{align-self:center;flex-direction:column}
#homeBooksGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
#homeBooksGrid .book-card{display:block;min-height:0;padding:14px}
#homeBooksGrid .book-cover{width:100%;height:210px;margin-bottom:15px}
#homeBooksGrid .book-actions{flex-direction:row;margin-top:14px}
/* 首页社区快捷预览紧接首屏横幅，桌面端最多双列展示两本。 */
.community-preview{margin:0 0 38px}
.community-preview .books-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.community-preview .community-card{align-items:flex-start;gap:18px;min-height:190px;padding:18px}
.community-preview .community-card .book-cover{width:126px;height:auto;min-width:126px;min-height:154px;flex-basis:126px;border-radius:19px 25px 21px 18px;font-size:1.1rem}
.community-preview .community-card .book-info h4{overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}
.filter-empty{min-height:210px}

/* Orders */
.page-heading{margin-bottom:24px;padding:0 4px}
.page-heading .sec-title{margin:6px 0 7px}
.page-heading p{color:var(--t2);font-size:.84rem}
.orders-list{gap:14px}
.order-card{padding:21px 23px;border:1px solid #e5dccd;border-radius:21px;background:rgba(255,253,248,.9);box-shadow:0 10px 25px rgba(74,58,35,.06)}
.order-head{margin-bottom:11px;color:#6a665c}
.order-status{padding:5px 9px;border-radius:999px;background:#f1ede4}
.order-status.completed,.order-status.done{background:#e3eee0;color:#567355}

/* Magical generation */
.task-toast{right:26px;bottom:26px;width:min(430px,calc(100vw - 32px))}
.task-toast-card{overflow:hidden;padding:0 22px 20px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:#202e3b;color:#fff4d8;box-shadow:0 24px 70px rgba(25,31,40,.34)}
.task-toast-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 16% 20%,rgba(255,218,120,.12),transparent 34%),radial-gradient(circle at 85% 10%,rgba(145,189,197,.13),transparent 33%);pointer-events:none}
.task-toast-close{right:14px;top:14px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.17)}
.task-toast-close:hover{background:rgba(255,255,255,.18);color:#fff}
.magic-brew-scene{position:relative;height:128px;margin:0 -22px 18px;overflow:hidden;background:radial-gradient(ellipse at 50% 102%,rgba(255,194,79,.3),transparent 49%)}
.magic-owl{position:absolute;left:50%;bottom:29px;font-size:3.4rem;transform:translateX(-50%);filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));animation:owlBob 2.2s ease-in-out infinite}
.magic-pot{position:absolute;left:50%;bottom:0;font-size:2.4rem;transform:translateX(-50%);filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))}
.magic-star{position:absolute;color:#ffd36c;text-shadow:0 0 12px rgba(255,211,108,.8);animation:starDrift 2.8s ease-in-out infinite}
.star-one{left:24%;top:32%;font-size:1.2rem}.star-two{right:23%;top:24%;font-size:1.45rem;animation-delay:-.9s}.star-three{right:35%;top:51%;font-size:.8rem;animation-delay:-1.8s}
@keyframes owlBob{50%{transform:translate(-50%,-5px) rotate(2deg)}}
@keyframes starDrift{50%{transform:translateY(-9px) scale(1.25);opacity:.65}}
.task-toast-copy{position:relative;padding-right:24px}
.task-toast .modal-icon{display:none}
.task-toast-card h3{margin:5px 0 7px;color:#fff9e9;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:1.25rem}
.task-toast-card #progStep{color:#cbd5d8;font-size:.78rem}
.prog-track{position:relative;display:flex;align-items:center;gap:12px;margin:17px 0}
.prog-bar{height:10px;flex:1;margin:0;background:rgba(255,255,255,.12)}
.prog-fill{background:#f2bd55;box-shadow:0 0 14px rgba(242,189,85,.55)}
.prog-pct{display:block;min-width:35px;color:#ffe0a0;font-size:.75rem;font-weight:800}
.magic-play{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.07)}
.magic-play>div:first-child{display:flex;flex-direction:column;gap:3px}
.magic-play strong{color:#fff3cd;font-size:.75rem}.magic-play span{color:#bfc9cd;font-size:.64rem}
.magic-buttons{display:flex;gap:5px}
.magic-buttons button{width:34px;height:34px;border:1px solid rgba(255,228,158,.25);border-radius:12px;background:rgba(255,210,100,.1);color:#ffd774;font-size:1rem;cursor:pointer}
.magic-buttons button:hover{background:rgba(255,210,100,.2)}
.magic-buttons button.is-collected{animation:collectStar .55s ease}
@keyframes collectStar{50%{transform:translateY(-15px) scale(1.55);opacity:.35}}
#progDone,#progErr{position:relative;margin-top:14px}
.task-toast .btn-dl{background:#f2bd55;color:#4c3818}

/* Account / profile */
.modal-overlay{
  align-items:flex-start;
  max-height:100vh;
  max-height:100dvh;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  background:rgba(48,45,37,.42);
  backdrop-filter:blur(6px)
}
.modal-card{
  box-sizing:border-box;
  max-height:calc(100vh - 40px);
  max-height:calc(100dvh - 40px);
  margin-top:auto;
  margin-bottom:auto;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border:1px solid #e1d8c8;
  border-radius:26px;
  background:#fffdf8;
  box-shadow:0 30px 90px rgba(48,40,28,.24)
}
.fortune-card{overflow-x:hidden;overflow-y:auto}
.account-card{width:min(720px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));padding:24px}
.account-head{align-items:flex-start;padding:5px 5px 14px}
.account-head h3{margin-top:5px;color:#3d4b39;font-family:'STKaiti','KaiTi','Songti SC',serif;font-size:1.5rem}
.account-card>.acc-profile{position:relative;align-items:flex-start;min-height:148px;margin:0 0 22px;padding:27px 28px 24px 126px;border-radius:24px;background:#dfe8da;overflow:hidden}
.account-card>.acc-profile::after{content:'✦';position:absolute;right:28px;top:20px;color:rgba(255,255,255,.78);font-size:3rem;transform:rotate(14deg)}
.account-card .acc-avatar{position:absolute;left:27px;top:25px;width:78px;height:78px;background:#f0ba4d;box-shadow:0 8px 18px rgba(102,76,29,.18)}
.account-card .acc-name{margin-top:9px;color:#3d4b39;font-size:1.15rem}
.account-card .acc-badge{margin-top:7px;background:rgba(255,253,248,.7);color:#60705b}
.account-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}
.account-section-title>div{display:flex;align-items:baseline;gap:9px}.account-section-title span{font-size:.9rem;font-weight:800}.account-section-title small{color:var(--t2);font-size:.68rem}
.account-service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px}
.account-service-grid button{display:flex;min-width:0;min-height:110px;flex-direction:column;align-items:flex-start;padding:15px;border:1px solid #e5dccd;border-radius:18px;background:#fffaf0;color:var(--t);cursor:pointer;text-align:left}
.account-service-grid button:hover{border-color:#cfc1a8;background:#fffdf8;transform:translateY(-2px)}
.account-service-grid span{width:39px;height:39px;display:grid;place-items:center;margin-bottom:11px;border-radius:13px;background:#f3dfcf;font-size:1.1rem}
.account-service-grid button:nth-child(2) span{background:#dfe9dc}.account-service-grid button:nth-child(3) span{background:#f7e6ad}.account-service-grid button:nth-child(4) span{background:#dfebe9}.account-service-grid button:nth-child(5) span{background:#e8e0f1}
.account-service-grid b{font-size:.76rem}.account-service-grid small{margin-top:4px;color:var(--t2);font-size:.62rem;white-space:nowrap}
.acc-rows{overflow:hidden;margin-bottom:16px;border:1px solid #e6ddce;border-radius:17px;background:#fffaf2}
.acc-row{padding:12px 14px;border-bottom-color:#ece3d5}
.account-feedback-entry{display:flex;align-items:center;gap:11px;width:100%;margin-top:12px;padding:14px;border:1px solid #e5c77c;border-radius:17px;background:linear-gradient(100deg,#fff6d9,#fffaf0);color:#4d4638;font:inherit;text-align:left;cursor:pointer;box-shadow:0 5px 14px rgba(167,119,35,.1)}
.account-feedback-entry:hover{border-color:#c99d43;background:linear-gradient(100deg,#fff0bf,#fff8e5);transform:translateY(-1px)}
.account-feedback-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#f2b94d;font-size:1.2rem;box-shadow:0 4px 9px rgba(170,116,24,.18)}
.account-feedback-copy{display:grid;gap:4px;min-width:0;flex:1}.account-feedback-copy b{font-size:.93rem}.account-feedback-copy small{color:#76694f;font-size:.72rem;line-height:1.45}.account-feedback-action{flex:none;color:#9a6a20;font-size:.77rem;font-weight:800}
.addr-panel{padding-top:7px}
.m-close{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#f2ecdf}
.m-head .auth-close{display:inline-flex;width:auto;height:auto;min-width:0;padding:3px 6px;align-items:center;justify-content:center;font-size:.72rem;line-height:1;white-space:nowrap;border-radius:6px}

/* Responsive */
@media(max-width:900px){
  .hero{min-height:430px;padding:44px 36px}
  .hero::after{background:linear-gradient(90deg,rgba(255,250,237,.97) 0%,rgba(255,250,237,.89) 48%,rgba(255,250,237,.23) 80%)}
  .hero-text{max-width:490px}.hero-text h1{font-size:2.75rem}
  .books-grid{grid-template-columns:1fr}
  #homeBooksGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-service-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:700px){
  :root{--navh:58px}
  body{padding-bottom:76px}
  .nav{top:auto;bottom:0;height:72px;border-top:1px solid #e2d8c8;border-bottom:0;box-shadow:0 -8px 24px rgba(64,50,31,.07)}
  .nav-inner{display:block;height:100%;padding:0}
  .nav-logo,.nav-right,.nav-toggle{display:none}
  .nav-links{position:static;display:grid!important;grid-template-columns:repeat(6,1fr);height:100%;padding:5px 5px 7px;border-radius:0;background:rgba(255,253,248,.94)}
  .nav-link{min-width:0;min-height:56px;flex-direction:column;justify-content:center;gap:4px;padding:5px 2px;border-radius:14px;font-size:.61rem}
  .nav-link-icon{width:1.12rem;height:1.12rem}.nav-account-mobile{display:flex}
  .main{margin-top:0}.page{padding:16px 0 34px}.pg-inner{padding:0 14px}
  .hero{min-height:560px;margin-bottom:38px;padding:26px 22px 245px;border-radius:27px;text-align:left}
  .hero::after{background:linear-gradient(180deg,rgba(255,250,237,.98) 0%,rgba(255,250,237,.93) 51%,rgba(255,250,237,.25) 77%,rgba(255,250,237,0) 100%)}
  .hero-text h1{font-size:2.05rem}.hero-text>p{font-size:.88rem;line-height:1.68}
  .hero-visual img{object-position:64% center}
  .hero-magic-note{right:16px;bottom:16px}
  .hero-trust{gap:7px 12px}.hero-trust span{font-size:.67rem}
  .btn-hero{width:100%;justify-content:center}
  .journey-head h2{font-size:1.6rem}
  .steps{flex-direction:column;gap:11px;padding:0}
  .step{min-height:126px;padding:19px 18px 17px 94px}
  .step-icon{position:absolute;left:18px;top:21px;width:57px;height:57px}
  .step-arrow{display:none}
  .step h3{margin-top:4px}.step-time{margin-top:8px}
  .quote-card{align-items:flex-start;margin-bottom:38px;text-align:left}
  #homeBooksGrid{display:flex;gap:13px;overflow-x:auto;padding:2px 2px 17px;scroll-snap-type:x mandatory}
  #homeBooksGrid .book-card{min-width:78vw;scroll-snap-align:start}
  .recent-title-row .sec-title{font-size:1.5rem}
  .academy-hero{min-height:0;padding:32px 28px}.academy-hero h2{font-size:2.2rem}.academy-orbit{width:210px;height:195px;transform:none}.academy-flow{margin:16px 0 20px}.academy-age-row{align-items:stretch;flex-direction:column}.academy-age-options{min-width:0}.academy-entry-card,.academy-submit-card{align-items:stretch;flex-direction:column;padding:20px}.academy-entry-card .btn,.academy-submit-card .btn{width:100%;min-width:0}.academy-card{padding:23px 21px}
  /* 首页社区预览固定单列，避免窄屏卡片被双列压缩。 */
  #homeCommunityGrid{grid-template-columns:1fr}
  /* 首页快捷预览沿用社区页的大封面横向卡片，完整展示绘本名称。 */
  .community-preview .community-card{align-items:flex-start;gap:12px;padding:14px}
  .community-preview .community-card .book-cover{width:82px;height:auto;min-width:82px;min-height:110px;flex-basis:82px;border-radius:19px 25px 21px 18px;font-size:1.1rem}
  .community-preview .community-card .book-info h4{overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}
  .form-card{padding:20px 17px}.package-cards{grid-template-columns:repeat(2,1fr)}.package-cards.physical-packages{grid-template-columns:repeat(2,1fr);max-width:none}
  .chat-fab{top:auto;right:14px;bottom:87px}
  .chat-modal{right:3vw;bottom:88px;width:94vw;height:min(520px,calc(100vh - 120px))}
  .library-hero{display:block;padding:25px 22px}.library-hero h2{font-size:1.8rem}
  .library-stats{justify-content:center;margin-top:22px;padding:15px 18px}
  .library-toolbar{align-items:stretch;flex-direction:column}.library-filters{display:grid;grid-template-columns:repeat(3,1fr)}
  .library-filter{padding:8px 7px}.library-create-link{text-align:center}
  .book-card{min-height:167px;gap:13px;padding:13px}.book-cover{width:106px;min-height:140px;flex-basis:106px;padding:14px 11px}
  .book-actions{gap:6px}.book-actions .btn{min-height:38px;padding:8px 10px;font-size:.7rem}
  .book-badges span:nth-child(2){display:none}
  .task-toast{left:12px;right:12px;bottom:86px;width:auto}.magic-brew-scene{height:105px}.magic-owl{font-size:2.8rem}.magic-pot{font-size:2rem}
  .magic-play{align-items:flex-start;flex-direction:column}.magic-buttons{width:100%;justify-content:flex-end}
  .account-card{width:100%;height:100%;max-height:none;border-radius:0;padding:17px}
  .account-card>.acc-profile{min-height:132px;padding:23px 20px 20px 112px}.account-card .acc-avatar{left:22px;top:22px;width:70px;height:70px}
  .account-service-grid{gap:8px}.account-service-grid button{min-height:100px;padding:13px}.account-service-grid small{white-space:normal}
  .account-feedback-entry{margin-top:10px;padding:13px}.account-feedback-copy small{font-size:.69rem}.account-feedback-action{font-size:.72rem}
  .site-legal-footer{padding-bottom:22px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  /* 抽签是用户主动触发的核心反馈，保留签筒摇动和签条落下动画。 */
  .fortune-stage.is-drawing .fortune-tube{animation-duration:.72s!important;animation-iteration-count:infinite!important}
  .fortune-stage.is-drawing .fortune-tube-body{animation-duration:.36s!important;animation-iteration-count:infinite!important}
  .fortune-stage.is-drawing .fortune-stick{animation-duration:.72s!important;animation-iteration-count:infinite!important}
  .fortune-stage.is-drawing::before{animation-duration:.72s!important;animation-iteration-count:infinite!important}
  .fortune-stage.has-result .fortune-stick{animation-duration:.55s!important;animation-iteration-count:1!important}
}

/* AI 学堂：统一为探索工作室视觉，保留原生表单语义与生成链路。 */
.academy-page{--academy-ink:#183f42;--academy-teal:#176f68;--academy-sage:#eaf1e9;--academy-line:#d8e4dd;--academy-paper:#fffdfa;--academy-mist:#f4f7f1}
.academy-shell{max-width:1080px;padding-bottom:54px}
.academy-hero{isolation:isolate;min-height:390px;margin-bottom:0;padding:53px 62px;border:1px solid rgba(255,255,255,.8);border-radius:32px;background-image:linear-gradient(90deg,rgba(248,248,239,.98) 0%,rgba(248,248,239,.91) 43%,rgba(248,248,239,.14) 76%),url('/static/images/academy-learning-studio-bg.png');background-position:center,center;background-size:cover,cover;box-shadow:0 22px 54px rgba(26,73,67,.15)}
.academy-hero::before{z-index:-1;top:auto;right:auto;bottom:-132px;left:-78px;width:310px;height:310px;border-color:rgba(35,111,98,.12)}
.academy-hero::after{z-index:-1;top:-150px;right:18%;bottom:auto;width:300px;height:300px;border-color:rgba(216,153,80,.16)}
.academy-hero-copy{max-width:560px}.academy-eyebrow{gap:10px;color:#28766c;font-size:.69rem;letter-spacing:.18em}.academy-eyebrow i{width:7px;height:7px;background:#e19c57;box-shadow:0 0 0 6px rgba(225,156,87,.16)}
.academy-hero h2{margin:17px 0 15px;color:var(--academy-ink);font-size:clamp(2.3rem,4vw,3.55rem);line-height:1.08;letter-spacing:-.035em}.academy-hero h2 em{color:#c9794d;font-style:normal}.academy-hero p{max-width:475px;color:#55716e;font-size:.98rem;line-height:1.9}.academy-hero-trust{gap:9px;margin-top:23px}.academy-hero-trust span{padding:8px 12px;border:1px solid rgba(29,100,88,.15);background:rgba(255,255,255,.68);color:#466b65;font-size:.72rem}.academy-hero-trust span::before{margin-right:6px;color:#da9452;content:'✦'}
.academy-hero-cta{display:inline-flex;align-items:center;gap:15px;margin-top:25px;padding:12px 17px;border-radius:13px;background:#176f68;color:#fff;text-decoration:none;font-size:.8rem;font-weight:760;box-shadow:0 9px 18px rgba(23,111,104,.2);transition:transform .2s ease,background .2s ease}.academy-hero-cta:hover{background:#115e59;transform:translateY(-2px)}.academy-hero-cta b{font-size:1rem}.academy-hero-note{position:absolute;right:54px;bottom:31px;z-index:1;display:flex;flex-direction:column;gap:4px;padding:13px 16px;border:1px solid rgba(255,255,255,.78);border-radius:15px;background:rgba(255,253,247,.8);box-shadow:0 12px 22px rgba(39,73,65,.11);backdrop-filter:blur(7px)}.academy-hero-note strong{color:#24665d;font-size:.84rem}.academy-hero-note span{color:#74837d;font-size:.68rem}
.academy-orbit{display:none}.academy-flow{position:relative;justify-content:flex-start;gap:14px;margin:0 0 24px;padding:17px 22px;border:1px solid var(--academy-line);border-top:0;border-radius:0 0 20px 20px;background:var(--academy-paper);box-shadow:0 12px 24px rgba(42,71,61,.05);color:#617a74}.academy-flow span{gap:8px}.academy-flow b{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:#eaf2ec;color:#277469;font-size:.59rem}.academy-flow i{width:44px;background:linear-gradient(90deg,#c7dcd3,#e7d8c3)}
.academy-layout{max-width:900px}.academy-card{position:relative;margin-bottom:18px;padding:31px 34px;border:1px solid var(--academy-line);border-radius:22px;background:rgba(255,253,250,.96);box-shadow:0 14px 32px rgba(33,69,60,.07)}.academy-question-card{background:linear-gradient(135deg,#fffefb 0%,#f3f8f4 100%)}.academy-profile-card{background:linear-gradient(135deg,#fffdfa 0%,#fbf5ea 100%)}.academy-card-heading{gap:14px;margin-bottom:23px}.academy-card-heading small{color:#7b928a;font-size:.63rem;letter-spacing:.16em}.academy-card-heading h3{color:#254b4a;font-size:1.48rem;letter-spacing:-.02em}.academy-step-number{width:36px;height:36px;border-radius:12px;background:#dcefe8;color:#1a7165;font-size:.77rem;box-shadow:inset 0 0 0 1px rgba(20,109,96,.06)}.academy-card-badge{padding:7px 11px;background:#f6ead7;color:#a66b37}
.academy-field-label{margin-bottom:10px;color:#40625d;font-size:.8rem}.academy-field-label b{background:#e5f2ed;color:#328174}.academy-question-card textarea{min-height:126px;padding:17px 18px;border-color:#cfdfd7;border-radius:16px;background:rgba(255,255,255,.86);font-size:.94rem;box-shadow:inset 0 1px 3px rgba(38,73,62,.03)}.academy-question-card textarea:focus{border-color:#68a497;box-shadow:0 0 0 4px rgba(69,148,133,.12)}.academy-field-hint{color:#82918b}.academy-age-row{align-items:center;gap:22px;margin-top:27px;padding-top:23px;border-top-color:#d9e6df}.academy-age-row>div:first-child{flex:1}.academy-age-options{min-width:374px}.academy-age-option{padding:12px 13px;border-color:#d7e3dc;border-radius:14px;background:#fffefa}.academy-age-option:hover,.academy-age-option.active{border-color:#529589;background:#e7f3ed;box-shadow:0 8px 16px rgba(35,106,94,.1)}
.academy-child-picker{padding:15px;border-color:#e8dfcf;border-radius:16px;background:rgba(255,253,248,.8)}.academy-child-icon{width:42px;height:42px;border-radius:14px;background:#e2f0e9;color:#2f7c6d}.academy-profile-summary{padding:14px 16px;border-color:#dfe8e1;border-radius:15px;background:#f2f7f3}.academy-spec-options{gap:10px;margin:17px 0}.academy-spec-options legend{color:#496b65}.academy-spec-options label{padding:10px 14px;border-color:#d5e1db;border-radius:13px;background:#fffefa;transition:border-color .2s ease,background .2s ease}.academy-spec-options label:has(input:checked){border-color:#63a293;background:#eaf4ee;color:#1f6f63}.academy-recommendation{border-left-color:#d89154;border-radius:11px;background:#fff7eb;color:#79664c}
.academy-submit-card{position:sticky;bottom:18px;z-index:3;margin-top:23px;padding:16px 18px;border-color:#b9d7cb;border-radius:19px;background:rgba(235,245,239,.94);box-shadow:0 16px 34px rgba(27,88,76,.17);backdrop-filter:blur(9px)}.academy-submit-copy>div{gap:3px}.academy-submit-copy small{color:#77938c;font-size:.63rem;font-weight:800;letter-spacing:.12em}.academy-submit-card strong{color:#28534d;font-size:.94rem}.academy-submit-card .btn{min-width:256px;border-radius:13px;background:#176f68;box-shadow:inset 0 -3px 0 rgba(8,69,61,.22),0 9px 18px rgba(21,104,91,.18)}.academy-submit-card .btn:hover{background:#125d57}
@media(max-width:760px){.academy-shell{padding-bottom:30px}.academy-hero{min-height:468px;padding:37px 26px;background-image:linear-gradient(180deg,rgba(248,248,239,.98) 0%,rgba(248,248,239,.92) 58%,rgba(248,248,239,.34) 100%),url('/static/images/academy-learning-studio-bg.png');background-position:center,72%}.academy-hero h2{font-size:2.35rem}.academy-hero p{font-size:.89rem}.academy-hero-note{right:18px;bottom:20px}.academy-flow{justify-content:space-between;gap:5px;padding:14px 13px}.academy-flow span{gap:5px;font-size:.65rem}.academy-flow i{width:12px}.academy-card{padding:24px 20px}.academy-card-heading h3{font-size:1.3rem}.academy-age-options{grid-template-columns:repeat(3,1fr);min-width:0}.academy-age-option{padding:10px 8px}.academy-age-option span{font-size:.58rem}.academy-submit-card{bottom:10px}.academy-submit-card .btn{min-width:0}}

/* AI 学堂第二版：去角色化的「想象力实验室」主视觉。 */
.academy-page{--academy-ink:#122454;--academy-teal:#1f4e9f;--academy-line:#dbe2f0;--academy-paper:#fff;--academy-mist:#f5f7fc}
.academy-hero{min-height:405px;padding:58px 64px;border-color:rgba(139,162,218,.3);border-radius:28px;background-image:url('/static/images/academy-imagination-lab-v2-bg.png');background-position:center;background-size:cover;box-shadow:0 22px 50px rgba(13,31,77,.2)}
.academy-hero::before,.academy-hero::after{display:none}.academy-hero-copy{max-width:470px}.academy-eyebrow{color:#aebfe8;letter-spacing:.19em}.academy-eyebrow i{background:#e8bc75;box-shadow:0 0 0 6px rgba(232,188,117,.15)}
.academy-hero h2{margin:18px 0 16px;color:#fff;font-family:system-ui,-apple-system,'Microsoft YaHei',sans-serif;font-size:clamp(2.55rem,4.35vw,3.8rem);font-weight:800;line-height:1.08;letter-spacing:-.065em}.academy-hero h2 em{color:#aebff5;font-style:normal}.academy-hero p{max-width:420px;color:#c5d2ef;font-size:.96rem;line-height:1.9}.academy-hero-trust{margin-top:25px}.academy-hero-trust span{border-color:rgba(211,224,255,.22);background:rgba(11,29,72,.32);color:#dae4f8;backdrop-filter:blur(6px)}.academy-hero-trust span::before{color:#e3b96e}
.academy-hero-cta{margin-top:26px;padding:13px 18px;border-radius:12px;background:#fff;color:#173573;box-shadow:0 10px 22px rgba(4,15,42,.22)}.academy-hero-cta:hover{background:#dfe8ff;color:#102759}.academy-hero-note{top:30px;right:36px;bottom:auto;border-color:rgba(206,222,255,.16);background:rgba(4,17,47,.52);box-shadow:none}.academy-hero-note strong{color:#edf3ff}.academy-hero-note span{color:#aebfe4}
.academy-flow{border-color:#dce4f3;background:#fff;color:#52688f;box-shadow:0 12px 24px rgba(31,53,101,.07)}.academy-flow b{background:#edf2ff;color:#315ba8}.academy-flow i{background:linear-gradient(90deg,#bed0fa,#e5cfae)}
.academy-card{border-color:#dce4f0;box-shadow:0 14px 32px rgba(31,53,101,.06)}.academy-question-card{background:linear-gradient(135deg,#fff 0%,#f5f8ff 100%)}.academy-profile-card{background:linear-gradient(135deg,#fff 0%,#f8f8fd 100%)}.academy-card-heading h3{color:#24396a}.academy-step-number{background:#e9f0ff;color:#2b5aa7}.academy-field-label{color:#405783}.academy-field-label b{background:#e9efff;color:#3e63a6}.academy-question-card textarea{border-color:#d4dfee}.academy-question-card textarea:focus{border-color:#7599dd;box-shadow:0 0 0 4px rgba(75,116,198,.12)}.academy-age-option:hover,.academy-age-option.active{border-color:#7799dc;background:#edf3ff;box-shadow:0 8px 16px rgba(47,87,166,.1)}
.academy-submit-card{position:static;margin-top:22px;border-color:#cddaf0;background:#eff4ff;box-shadow:0 15px 30px rgba(30,62,128,.1);backdrop-filter:none}.academy-submit-card strong{color:#283f70}.academy-submit-card .btn{background:#234c9b;box-shadow:inset 0 -3px 0 rgba(10,39,101,.25),0 9px 18px rgba(30,65,143,.18)}.academy-submit-card .btn:hover{background:#1b3f88}
@media(max-width:760px){.academy-hero{min-height:452px;padding:38px 27px;background-image:linear-gradient(180deg,rgba(7,22,59,.18),rgba(7,22,59,.74)),url('/static/images/academy-imagination-lab-v2-bg.png');background-position:64% center}.academy-hero h2{font-size:2.55rem}.academy-hero p{color:#d2dcf4}.academy-hero-note{display:none}.academy-submit-card{position:static}}

/* AI 学堂第三版：白天的想象力实验室，更明亮且适合儿童阅读。 */
.academy-page{--academy-ink:#174d70;--academy-teal:#218477;--academy-line:#d6e8ec;--academy-paper:#fff;--academy-mist:#f3fbfb}
.academy-hero{border-color:#d9edf0;background-image:linear-gradient(90deg,rgba(250,254,255,.2),rgba(250,254,255,0)),url('/static/images/academy-sky-lab-bg.png');box-shadow:0 20px 44px rgba(65,139,154,.16)}
.academy-eyebrow{color:#287b80}.academy-eyebrow i{background:#f1a273;box-shadow:0 0 0 6px rgba(241,162,115,.16)}.academy-hero h2{color:#17516f}.academy-hero h2 em{color:#ed8d6d}.academy-hero p{color:#527b8e}.academy-hero-trust span{border-color:rgba(52,137,143,.16);background:rgba(255,255,255,.72);color:#477482;backdrop-filter:blur(5px)}.academy-hero-trust span::before{color:#ed986f}.academy-hero-cta{background:#218477;color:#fff;box-shadow:0 10px 22px rgba(37,133,122,.2)}.academy-hero-cta:hover{background:#176e67;color:#fff}.academy-hero-note{border-color:rgba(105,175,184,.26);background:rgba(255,255,255,.78);box-shadow:0 10px 22px rgba(61,129,139,.12)}.academy-hero-note strong{color:#267579}.academy-hero-note span{color:#6f939b}
.academy-flow{border-color:#d6eaec;background:#fff;color:#527e8a;box-shadow:0 12px 24px rgba(52,128,136,.07)}.academy-flow b{background:#e5f5f3;color:#27817b}.academy-flow i{background:linear-gradient(90deg,#b8dedb,#f0d0b5)}.academy-card{border-color:#d9eaed;box-shadow:0 14px 32px rgba(52,121,130,.06)}.academy-question-card{background:linear-gradient(135deg,#fff 0%,#f3fbfc 100%)}.academy-profile-card{background:linear-gradient(135deg,#fff 0%,#f8fcf9 100%)}.academy-card-heading h3{color:#245b73}.academy-step-number{background:#e5f5f3;color:#27817b}.academy-field-label{color:#3e6d7b}.academy-field-label b{background:#e7f6f4;color:#2d827b}.academy-question-card textarea{border-color:#d0e7e8}.academy-question-card textarea:focus{border-color:#6eb7b2;box-shadow:0 0 0 4px rgba(69,160,151,.12)}.academy-age-option:hover,.academy-age-option.active{border-color:#73bbb5;background:#ecf8f6;box-shadow:0 8px 16px rgba(43,130,121,.1)}.academy-submit-card{border-color:#cae5e1;background:#edf9f7;box-shadow:0 15px 30px rgba(32,119,109,.1)}.academy-submit-card strong{color:#265e6a}.academy-submit-card .btn{background:#218477;box-shadow:inset 0 -3px 0 rgba(13,98,88,.25),0 9px 18px rgba(29,125,114,.18)}.academy-submit-card .btn:hover{background:#176e67}
@media(max-width:760px){.academy-hero{background-image:linear-gradient(180deg,rgba(248,253,255,.24),rgba(248,253,255,.82)),url('/static/images/academy-sky-lab-bg.png');background-position:61% center}.academy-hero h2{color:#17516f}.academy-hero p{color:#527b8e}}

/* 让 AI 学堂的天空主题贯穿整页，而不是只停留在 Hero。 */
body.page-academy{background-color:#effafa;background-image:radial-gradient(circle at 12% 21%,rgba(166,220,231,.34) 0,rgba(166,220,231,0) 24%),radial-gradient(circle at 88% 56%,rgba(183,232,215,.32) 0,rgba(183,232,215,0) 26%),linear-gradient(180deg,#f4fcfe 0%,#effafa 48%,#f9fcf7 100%);background-size:auto,auto,100% 100%;background-attachment:fixed}
body.page-academy .page.active{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 34%)}.academy-shell{position:relative;isolation:isolate}.academy-shell::before{position:absolute;z-index:-1;inset:40px -100px -50px;content:'';pointer-events:none;background:radial-gradient(ellipse at 18% 19%,rgba(255,255,255,.78) 0 11%,transparent 11.5%),radial-gradient(ellipse at 79% 41%,rgba(255,255,255,.56) 0 9%,transparent 9.5%),radial-gradient(ellipse at 50% 73%,rgba(188,230,219,.17) 0 18%,transparent 18.5%)}
.academy-layout{position:relative}.academy-layout::before{position:absolute;z-index:-1;top:-54px;bottom:-36px;left:50%;width:min(1020px,112%);border:1px solid rgba(137,204,200,.12);border-radius:50%;content:'';transform:translateX(-50%)}

/* Hero、流程和表单共享同一内容宽度，避免页面视觉“掐腰”。 */
.academy-layout{max-width:1080px}
