:root{--cream:#faf4ec;--cream-2:#f3e9da;--card:#fff;--ink:#3a322c;--ink-soft:#897c70;--ink-faint:#b6a998;--line:#ece0d1;--coral:#dd7857;--coral-deep:#c45c40;--coral-soft:#f8e3d9;--sage:#6f9c87;--sage-soft:#e3eee8;--sage-deep:#37614f;--gold:#ce9b3c;--gold-soft:#f6ecd3;--blue:#5e8ab0;--blue-soft:#e1eaf2;--mauve:#a07da9;--mauve-soft:#eee5f1;--red:#cf4b3e;--red-soft:#fbe3e0;--red-deep:#a8362b;--shadow:0 1px 2px #3a322c0a, 0 8px 24px #3a322c0f;--shadow-lg:0 2px 6px #3a322c0f, 0 18px 50px #3a322c1a;--r:20px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased}body{color:var(--ink);background:var(--cream);background-image:radial-gradient(1200px 500px at 80% -10%, var(--coral-soft) 0%, #f8e3d900 60%), radial-gradient(900px 500px at -10% 0%, var(--sage-soft) 0%, #e3eee800 55%);min-height:100vh;font-family:Mulish,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6}body:before{content:"";pointer-events:none;opacity:.4;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}.wrap{z-index:1;max-width:960px;margin:0 auto;position:relative}.wrap.med{max-width:920px}.wrap.narrow{max-width:820px}.num{font-variant-numeric:lining-nums;font-family:Fraunces,Georgia,serif}.topbar{z-index:30;-webkit-backdrop-filter:saturate(1.1)blur(8px);backdrop-filter:saturate(1.1)blur(8px);border-bottom:1px solid var(--line);background:#faf4ecd1;position:sticky;top:0}.topbar .inner{flex-wrap:wrap;align-items:center;gap:18px;max-width:960px;margin:0 auto;padding:13px 20px;display:flex}.topbar .brand{color:var(--ink);align-items:center;gap:9px;margin-right:4px;font-family:Fraunces,serif;font-size:18px;font-weight:600;display:flex}.topbar .brand .logo{background:radial-gradient(circle at 50% 38%,#ffe6d8,#f3c9b6);border-radius:50%;place-items:center;width:30px;height:30px;font-size:17px;display:grid;box-shadow:0 0 0 3px #fff,0 4px 10px #c45c402e}.topnav{flex-wrap:wrap;gap:4px;display:flex}.topnav a{color:var(--ink-soft);white-space:nowrap;border-radius:10px;padding:8px 15px;font-size:14px;font-weight:700;transition:all .15s}.topnav a:hover{color:var(--ink);background:#fff}.topnav a.on{background:var(--ink);color:#fff;box-shadow:0 4px 12px #3a322c2e}.topnav a .nav-ic{margin-right:5px;font-size:13px}.nav-logout{color:var(--ink-faint);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;padding:7px 13px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s}.nav-logout:hover{color:var(--coral-deep);border-color:var(--coral)}.page{padding:32px 20px 64px}.phero{border:1px solid var(--line);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#fff 0%,#fffbf6 55%,#fcefe6 100%);border-radius:28px;flex-wrap:wrap;align-items:center;gap:26px;padding:30px 32px;display:flex}.avatar{cursor:pointer;background:radial-gradient(circle at 50% 38%,#ffe6d8,#f3c9b6);border-radius:50%;flex:none;place-items:center;width:96px;height:96px;font-size:48px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 5px #fff,0 10px 24px #c45c4038}.avatar img{object-fit:cover;width:100%;height:100%}.avatar .cam{color:#fff;text-align:center;letter-spacing:.04em;opacity:0;background:#3a322c8c;padding:2px 0;font-family:Mulish;font-size:10px;transition:all .2s;position:absolute;inset:auto 0 0}.avatar:hover .cam{opacity:1}.phero-id{flex:1;min-width:220px}.phero-id h1{letter-spacing:.01em;font-family:Fraunces,serif;font-size:34px;font-weight:600;line-height:1.1}.badges{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.badge{letter-spacing:.01em;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}.badge.preemie{background:var(--coral-soft);color:var(--coral-deep)}.badge.line{border:1px solid var(--line);color:var(--ink-soft);background:#fff;font-weight:500}.ages{grid-template-columns:1.25fr 1fr 1fr;gap:14px;margin-top:18px;display:grid}.age{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 20px;position:relative;overflow:hidden}.age.hero-age{background:linear-gradient(#fff,#fff6f1);border-color:#f0c3b2}.age.hero-age:after{content:"发育对照基准";color:var(--coral-deep);background:var(--coral-soft);letter-spacing:.02em;border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:700;position:absolute;top:14px;right:16px}.age .lab{color:var(--ink-soft);letter-spacing:.02em;font-size:13px;font-weight:600}.age .big{margin-top:8px;font-family:Fraunces,serif;font-weight:600;line-height:1}.age .big .n{font-size:48px}.age.hero-age .big .n{color:var(--coral-deep);font-size:58px}.age .big .u{color:var(--ink-soft);margin-left:4px;font-family:Mulish;font-size:18px;font-weight:700}.age .sub{color:var(--ink-faint);margin-top:6px;font-size:12.5px}.age .day .n{font-size:46px}.enginefoot{color:var(--ink-soft);flex-wrap:wrap;gap:22px;margin-top:14px;padding:0 4px;font-size:13px;display:flex}.enginefoot b{color:var(--ink);font-weight:700}.hero{border:1px solid var(--line);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#fff 0%,#fffbf6 55%,#fcefe6 100%);border-radius:26px;padding:26px 30px}.hero .ey{color:var(--coral-deep);letter-spacing:.06em;text-transform:uppercase;font-size:13px;font-weight:700}.hero h1{margin-top:4px;font-family:Fraunces,serif;font-size:30px;font-weight:600}.hero .sub{color:var(--ink-soft);margin-top:6px;font-size:14px}.corr{background:var(--coral-soft);color:var(--coral-deep);border-radius:999px;margin-top:14px;padding:6px 14px;font-size:13.5px;font-weight:700;display:inline-block}.msel{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.ms{border:1.5px solid var(--line);text-align:center;cursor:pointer;background:#fff;border-radius:14px;flex:1;min-width:90px;padding:12px 8px;transition:all .15s}.ms:hover{border-color:var(--ink-faint)}.ms.on{border-color:var(--coral);background:var(--coral-soft);box-shadow:var(--shadow)}.ms .n{color:var(--ink);font-family:Fraunces,serif;font-size:24px;font-weight:600}.ms.on .n{color:var(--coral-deep)}.ms .lab{color:var(--ink-soft);margin-top:2px;font-size:11.5px;font-weight:700}.ms .now{background:var(--coral);color:#fff;border-radius:999px;margin-top:3px;padding:1px 7px;font-size:10px;display:inline-block}.keynote{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.kn{border-radius:14px;flex:1;min-width:220px;padding:12px 16px;font-size:13px;line-height:1.55}.kn.age{color:var(--coral-deep);background:#fff3ec;border:1px solid #f0c9b8}.kn.doc{background:var(--sage-soft);color:var(--sage-deep);border:1px solid #cfe2d7}.kn b{font-weight:800}.safety{background:var(--sage-soft);color:#37614f;border:1px solid #cfe2d7;border-radius:16px;margin:16px 0;padding:14px 18px;font-size:13px;line-height:1.6}.safety b{color:#2c4f40}nav.tabs{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-wrap:wrap;gap:6px;width:fit-content;margin:20px 0 18px;padding:6px;display:flex}.tab{color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:9px 18px;font-family:inherit;font-size:14.5px;font-weight:700;transition:all .18s}.tab:hover{color:var(--ink)}.tab.on{background:var(--ink);color:#fff;box-shadow:0 4px 12px #3a322c2e}.panel{animation:.42s cubic-bezier(.2,.7,.2,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:16px;padding:24px}.card h2{margin-bottom:4px;font-family:Fraunces,serif;font-size:21px;font-weight:600}.card .desc{color:var(--ink-soft);margin-bottom:18px;font-size:13.5px}.note{background:var(--sage-soft);color:#37614f;border:1px solid #cfe2d7;border-radius:14px;padding:16px 18px;font-size:14px;line-height:1.65}.note b{color:#2c4f40}.sechead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:6px;display:flex}.sechead h2{margin-bottom:2px;font-family:Fraunces,serif;font-size:22px;font-weight:600}.secdesc{color:var(--ink-soft);max-width:680px;margin:2px 0 16px;font-size:13.5px}.aihint{color:var(--ink-faint);border:1px dashed var(--line);background:#fff;border-radius:12px;margin-bottom:16px;padding:9px 14px;font-size:12px;line-height:1.55}.empty{color:var(--ink-faint);text-align:center;padding:20px;font-size:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:700;transition:all .15s}.chip .c{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.chip.on{color:var(--ink);box-shadow:var(--shadow);border-color:var(--ink)}.chip[data-d=大运动].on{border-color:var(--coral);background:var(--coral-soft)}.chip[data-d=精细动作].on{border-color:var(--sage);background:var(--sage-soft)}.chip[data-d=语言].on{border-color:var(--gold);background:var(--gold-soft)}.chip[data-d=认知].on{border-color:var(--blue);background:var(--blue-soft)}.chip[data-d=社交].on{border-color:var(--mauve);background:var(--mauve-soft)}.chip[data-d=全部].on{border-color:var(--ink);background:#fff}.mgroup{margin-top:18px}.mgroup:first-child{margin-top:4px}.mgroup-h{align-items:center;gap:9px;margin-bottom:10px;font-size:15px;font-weight:800;display:flex}.dot{border-radius:50%;width:11px;height:11px}.mgroup-h .ct{color:var(--ink-faint);border:1px solid var(--line);background:#fff;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.mitem{border-top:1px dashed var(--line);align-items:flex-start;gap:14px;padding:12px 4px;display:flex}.mitem:first-of-type{border-top:0}.mage{color:var(--ink);flex:none;min-width:64px;font-family:Fraunces,serif;font-size:17px;font-weight:600}.mage small{color:var(--ink-faint);font-family:Mulish;font-size:11px;font-weight:700;display:block}.mbody{flex:1}.mbody .t{font-size:14.5px;font-weight:700}.mbody .nt{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.del{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:2px 6px;font-size:18px;line-height:1}.del:hover{color:var(--coral-deep);background:var(--coral-soft)}.grow{border-top:1px dashed var(--line);align-items:center;gap:16px;padding:13px 4px;display:flex}.grow:first-of-type{border-top:0}.gdate{flex:none;min-width:96px;font-family:Fraunces,serif;font-size:15px;font-weight:600}.gdate small{color:var(--ink-faint);font-family:Mulish;font-size:11px;font-weight:700;display:block}.gstats{flex-wrap:wrap;flex:1;gap:20px;font-size:14px;display:flex}.gstats span{color:var(--ink-soft)}.gstats b{color:var(--ink);margin-right:3px;font-family:Fraunces,serif;font-size:17px;font-weight:600}.gnote{color:var(--ink-faint);font-size:12.5px}.delta{flex-wrap:wrap;gap:14px;margin-bottom:18px;display:flex}.dcard{border:1px solid var(--line);background:linear-gradient(#fff,#fbf6ef);border-radius:16px;flex:1;min-width:150px;padding:15px 18px}.dcard .l{color:var(--ink-soft);font-size:12.5px;font-weight:600}.dcard .v{margin-top:4px;font-family:Fraunces,serif;font-size:26px;font-weight:600}.dcard .v small{color:var(--sage);font-family:Mulish;font-size:13px;font-weight:700}.form{border:1px dashed var(--line);background:#fbf6ef;border-radius:16px;margin-bottom:18px;padding:18px}.form-h{color:var(--ink);margin-bottom:14px;font-size:14px;font-weight:800}.row{flex-wrap:wrap;gap:12px;display:flex}.field{flex-direction:column;flex:1;gap:5px;min-width:120px;margin-bottom:12px;display:flex}.field label{color:var(--ink-soft);letter-spacing:.02em;font-size:12px;font-weight:700}input,select,textarea{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:all .15s}input:focus,select:focus,textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}.btn{cursor:pointer;border:0;border-radius:11px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.btn-pri{background:var(--coral);color:#fff;box-shadow:0 6px 16px #c45c4047}.btn-pri:hover{background:var(--coral-deep);transform:translateY(-1px)}.btn-ghost{border:1px solid var(--line);color:var(--ink-soft);background:#fff}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-faint);transform:translateY(-1px)}.btnrow{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.toast{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);opacity:0;z-index:50;pointer-events:none;border-radius:999px;padding:10px 20px;font-size:13.5px;font-weight:600;transition:all .3s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.muted{color:var(--ink-faint);margin-top:10px;font-size:12px;line-height:1.6}.grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.acard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;padding:0 20px 18px;display:flex;overflow:hidden}.acard .bar{height:5px;margin:0 -20px 16px}.acard h3{font-family:Fraunces,serif;font-size:18px;font-weight:600}.dtag{border-radius:999px;margin-top:8px;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-block}.acard p{color:var(--ink);margin-top:10px;font-size:13.5px;line-height:1.6}.meta{color:var(--ink-soft);margin-top:10px;font-size:12.5px}.meta b{color:var(--ink);font-weight:700}.marks{border-top:1px dashed var(--line);gap:8px;margin-top:14px;padding-top:14px;display:flex}.mk{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:10px;flex:1;padding:7px 4px;font-family:inherit;font-size:12.5px;font-weight:700;transition:all .15s}.mk:hover{border-color:var(--ink-faint);color:var(--ink)}.mk.on-tried{background:var(--sage-soft);border-color:var(--sage);color:#37614f}.mk.on-like{background:var(--coral-soft);border-color:var(--coral);color:var(--coral-deep)}.mk.on-hard{background:var(--gold-soft);border-color:var(--gold);color:#8a6516}.kcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:14px;padding:20px 22px}.kcard .kt{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kcard h3{font-family:Fraunces,serif;font-size:18px;font-weight:600}.ktag{border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700}.kcard p{color:var(--ink);margin-top:10px;font-size:14px;line-height:1.68}.kcard .mm{color:var(--ink-faint);margin-top:8px;font-size:11.5px;font-weight:600}.fav{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;margin-left:auto;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s}.fav:hover{border-color:var(--gold);color:#8a6516}.fav.on{background:var(--gold-soft);border-color:var(--gold);color:#8a6516}.grouph{color:var(--ink-soft);letter-spacing:.02em;margin:6px 0 12px;font-size:14px;font-weight:800}.grouph:not(:first-child){margin-top:24px}.tcard{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin-bottom:12px;padding:18px 20px}.tcard .th{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tcard h3{font-family:Fraunces,serif;font-size:17px;font-weight:600}.pill{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.pill.sug{background:var(--coral-soft);color:var(--coral-deep)}.pill.own{background:var(--sage-soft);color:#37614f}.tcard .line{margin-top:8px;font-size:13px}.tcard .line b{color:var(--ink);font-weight:700}.tcard .line.sf{color:var(--ink-soft)}.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:14px;padding:20px 22px}.pcard h3{font-family:Fraunces,serif;font-size:18px;font-weight:600}.pcard .body{margin-top:10px;font-size:14px;line-height:1.68}.resp{border-left:3px solid var(--coral);background:#fbf6ef;border-radius:0 12px 12px 0;margin-top:12px;padding:12px 16px;font-size:13.5px;line-height:1.62}.resp b{color:var(--coral-deep)}.rgrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.rcard .rimg{aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--line);background:#fbf3e6;width:100%;display:block}.rcard .rbody{padding:18px 20px 20px}.rcard h3{margin-bottom:8px;font-family:Fraunces,serif;font-size:19px;font-weight:600}.rmeta{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.rmeta .pill{background:var(--coral-soft);color:var(--coral-deep)}.rmeta .pill.t{background:var(--gold-soft);color:#8a6516}.rmeta .pill.mo{background:var(--sage-soft);color:var(--sage-deep)}.rsub{color:var(--ink-soft);letter-spacing:.02em;margin:14px 0 8px;font-size:12px;font-weight:800}.ring{flex-wrap:wrap;gap:7px;display:flex}.ring span{color:var(--ink);border:1px solid var(--line);background:#fbf6ef;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600}ol.rsteps{counter-reset:s;margin-top:2px;list-style:none}ol.rsteps li{counter-increment:s;border-top:1px dashed var(--line);padding:7px 0 7px 34px;font-size:13.5px;line-height:1.6;position:relative}ol.rsteps li:first-child{border-top:0}ol.rsteps li:before{content:counter(s);background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:23px;height:23px;font-family:Mulish;font-size:12.5px;font-weight:800;display:grid;position:absolute;top:7px;left:0}.rtip{background:var(--gold-soft);color:#7a5b16;border:1px solid #ebd9a8;border-radius:12px;margin-top:14px;padding:11px 14px;font-size:13px;line-height:1.6}.rfoot{background:var(--sage-soft);color:var(--sage-deep);border:1px solid #cfe2d7;border-radius:12px;margin-top:10px;padding:11px 14px;font-size:12.5px;line-height:1.6}.rfoot b{color:#2c4f40}@media (max-width:680px){.rgrid{grid-template-columns:1fr}}.timemachine{border-radius:var(--r);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#fff 0%,#fff6f1 60%,#fcefe6 100%);border:1px solid #f0c3b2;align-items:center;gap:20px;margin-bottom:18px;padding:20px;display:flex}.timemachine .tmimg{object-fit:cover;background:#fbf3e6;border-radius:16px;flex:none;width:200px;height:200px;box-shadow:0 8px 20px #c45c402e}.timemachine .tmbody{flex:1;min-width:0}.timemachine .tmlabel{color:var(--coral-deep);letter-spacing:.04em;font-size:13px;font-weight:800}.timemachine .tmcap{margin-top:8px;font-family:Fraunces,serif;font-size:22px;font-weight:600;line-height:1.3}.timemachine .tmmeta{color:var(--ink-soft);margin-top:8px;font-size:13px}.timemachine .tmmeta .ktag{margin-right:8px}@media (max-width:680px){.timemachine{text-align:center;flex-direction:column}.timemachine .tmimg{aspect-ratio:1;width:100%;height:auto}}.pcat-tag{color:var(--ink);box-shadow:var(--shadow);background:#ffffffe6;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.pgrid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.pitem{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;position:relative;overflow:hidden}.pitem img{aspect-ratio:1;object-fit:cover;background:#fbf3e6;width:100%;display:block}.pitem .pdel{color:#fff;cursor:pointer;opacity:0;background:#3a322c8c;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1;transition:all .15s;position:absolute;top:8px;right:8px}.pitem:hover .pdel{opacity:1}.pitem .pdel:hover{background:var(--red)}.pitem .pmeta{padding:9px 12px 11px}.pitem .pdate{color:var(--ink);font-family:Fraunces,serif;font-size:13px;font-weight:600}.pitem .pcap{color:var(--ink-soft);margin-top:2px;font-size:12.5px;line-height:1.4;display:block}.pitem .pcatsel{width:auto;color:var(--ink-soft);cursor:pointer;border-radius:8px;margin-top:8px;padding:3px 6px;font-size:11.5px}@media (max-width:680px){.pgrid{grid-template-columns:1fr 1fr}}.ppending{flex-wrap:wrap;gap:10px;margin:6px 0 14px;display:flex}.ppending .thumb{border:1px solid var(--line);background:#fbf3e6;border-radius:12px;width:84px;height:84px;position:relative;overflow:hidden}.ppending .thumb img{object-fit:cover;width:100%;height:100%}.rdgrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rdgroups{flex-direction:column;gap:22px;display:flex}.rdgroup{border-top:1px dashed var(--line);padding-top:18px}.rdgroup:first-child{border-top:0;padding-top:0}.rdgroup-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:12px;display:flex}.rdgroup-head h2{font-family:Fraunces,serif;font-size:21px;font-weight:600}.rdgroup-head div{color:var(--ink-soft);max-width:520px;font-size:13px;line-height:1.5}.rdcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);cursor:pointer;text-align:left;align-items:flex-start;gap:14px;padding:18px 20px;transition:all .16s;display:flex}.rdcard:hover{box-shadow:var(--shadow-lg);border-color:var(--coral);transform:translateY(-2px)}.rdcard .ic{background:var(--coral-soft);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.rdcard .rdbody{flex:1;min-width:0}.rdcard h3{font-family:Fraunces,serif;font-size:18px;font-weight:600}.rdcard .sm{color:var(--ink-soft);margin-top:4px;font-size:13px;line-height:1.5}.rdcard .rdmeta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.rdcard .rdmeta .ktag{background:var(--sage-soft);color:var(--sage-deep)}.rdcard .done-pill{background:var(--gold-soft);color:#8a6516;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.rdcard .done-pill.all{background:var(--sage);color:#fff}.rdback{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-bottom:6px;padding:6px 0;font-family:inherit;font-size:14px;font-weight:700}.rdback:hover{color:var(--coral-deep)}@media (max-width:680px){.rdgrid{grid-template-columns:1fr}}.read-progress{color:var(--ink-soft);margin:2px 0 14px;font-size:13px}.read-progress b{color:var(--sage-deep);font-weight:800}.ep-chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.ep-chip{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:700;transition:all .15s}.ep-chip:hover{border-color:var(--ink-faint);color:var(--ink)}.ep-chip.read{background:var(--sage-soft);color:var(--sage-deep);border-color:#cfe2d7}.ep-chip.on{box-shadow:var(--shadow);border-color:var(--ink);color:var(--ink)}.ep-chip.on.read{border-color:var(--sage)}.reader{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);background:linear-gradient(#fff,#fffbf6);padding:26px 28px}.reader .rhead{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.reader h3{font-family:Fraunces,serif;font-size:22px;font-weight:600}.reader .rtag{background:var(--sage-soft);color:var(--sage-deep);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:700}.reader .rtext{color:var(--ink);white-space:pre-wrap;font-size:18px;line-height:2}.reader-nav{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.reader-nav .spacer{flex:1}.btn-read{border:1px solid var(--sage);cursor:pointer;color:var(--sage-deep);background:#fff;border-radius:11px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.btn-read.on{background:var(--sage);color:#fff}.btn-read:hover{transform:translateY(-1px)}.calbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calbar .mlabel{font-family:Fraunces,serif;font-size:18px;font-weight:600}.calbar button{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:10px;width:34px;height:34px;font-family:inherit;font-size:16px}.calbar button:hover{color:var(--ink);border-color:var(--ink-faint)}.cal-wd{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.cal-wd span{text-align:center;color:var(--ink-faint);font-size:12px;font-weight:700}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-cell{aspect-ratio:1;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:14px;display:flex;position:relative}.cal-cell.empty{background:0 0;border:0}.cal-cell.today{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}.cal-cell.has{background:var(--coral-soft);border-color:var(--coral)}.cal-cell.soon{background:var(--red-soft);border-color:#e9a89f}.cal-cell .cal-dot{background:var(--coral-deep);border-radius:50%;width:6px;height:6px}.cal-cell.soon .cal-dot{background:var(--red-deep)}.vac-item{border-top:1px dashed var(--line);align-items:center;gap:12px;padding:12px 4px;display:flex}.vac-item:first-of-type{border-top:0}.vac-item.done{opacity:.55}.vac-item.done .vac-name{text-decoration:line-through}.vac-when{flex:none;min-width:92px;font-family:Fraunces,serif;font-size:15px;font-weight:600}.vac-when small{color:var(--ink-faint);font-family:Mulish;font-size:11px;font-weight:700;display:block}.vac-when.soon{color:var(--red-deep)}.vac-body{flex:1}.vac-name{font-size:14.5px;font-weight:700}.vac-note{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.remind{z-index:60;border:1px solid #e9a89f;border-left:4px solid var(--red);max-width:330px;box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;padding:14px 16px;animation:.4s both rise;position:fixed;bottom:22px;right:22px}.remind .rt{color:var(--red-deep);margin-bottom:4px;font-size:14px;font-weight:800}.remind .rb{color:var(--ink);font-size:13px;line-height:1.55}.remind .rb b{color:var(--red-deep)}.remind .rx{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;font-size:18px;line-height:1;position:absolute;top:8px;right:10px}.remind .rx:hover{color:var(--ink)}.remind a{color:var(--coral-deep);margin-top:8px;font-size:12.5px;font-weight:700;display:inline-block}.chartwrap{overflow-x:auto}.chart-svg{width:100%;min-width:480px;height:auto;display:block}.chart-legend{color:var(--ink-soft);flex-wrap:wrap;gap:18px;margin-top:6px;font-size:13px;display:flex}.chart-legend i{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.illsel{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.illb{border:1.5px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:12px;padding:9px 16px;font-size:14px;font-weight:700;transition:all .15s}.illb:hover{border-color:var(--ink-faint);color:var(--ink)}.illb.on{background:var(--ink);color:#fff;border-color:var(--ink)}.illtitle{margin-bottom:4px;font-family:Fraunces,serif;font-size:26px;font-weight:600}.illwhat{color:var(--ink-soft);max-width:680px;margin-bottom:18px;font-size:14px;line-height:1.65}.danger{background:var(--red-soft);border:1.5px solid #e9a89f;border-radius:18px;margin-bottom:18px;padding:18px 22px;box-shadow:0 8px 24px #cf4b3e1a}.danger .dh{color:var(--red-deep);align-items:center;gap:9px;margin-bottom:10px;font-family:Fraunces,serif;font-size:18px;font-weight:700;display:flex}.danger ul{grid-template-columns:1fr 1fr;gap:6px 22px;list-style:none;display:grid}.danger li{color:#7a2c24;padding-left:18px;font-size:13.5px;line-height:1.5;position:relative}.danger li:before{content:"•";color:var(--red);font-weight:800;position:absolute;left:4px}.danger .foot{color:var(--red-deep);margin-top:12px;font-size:12.5px;font-weight:700}.block{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:16px;padding:22px 24px}.block .bh{align-items:center;gap:10px;margin-bottom:14px;font-family:Fraunces,serif;font-size:19px;font-weight:600;display:flex}.tcmbadge{background:var(--sage-soft);color:var(--sage-deep);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.westbadge{color:#3a5a78;background:#e1eaf2;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.sub-h{color:var(--ink);letter-spacing:.02em;margin:14px 0 6px;font-size:13px;font-weight:800}.sub-h:first-of-type{margin-top:0}.block ul.plain{list-style:none}.block ul.plain li{margin-bottom:4px;padding-left:18px;font-size:13.5px;line-height:1.6;position:relative}.block ul.plain li:before{content:"–";color:var(--ink-faint);position:absolute;left:2px}.block p.txt{color:var(--ink);font-size:13.5px;line-height:1.65}.medbox{border:1px dashed var(--line);color:var(--ink-soft);background:#fbf6ef;border-radius:12px;margin-top:8px;padding:12px 16px;font-size:13px;line-height:1.6}.medbox b{color:var(--coral-deep)}.dd{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.ddcard{border:1px solid var(--line);border-radius:16px;padding:16px 18px}.ddcard.do{background:var(--sage-soft);border-color:#cfe2d7}.ddcard.dont{background:var(--red-soft);border-color:#e9a89f}.ddcard .h{margin-bottom:8px;font-size:14px;font-weight:800}.ddcard.do .h{color:var(--sage-deep)}.ddcard.dont .h{color:var(--red-deep)}.ddcard li{margin-bottom:4px;padding-left:16px;font-size:13px;line-height:1.55;list-style:none;position:relative}.ddcard.do li:before{content:"✓";color:var(--sage);position:absolute;left:0}.ddcard.dont li:before{content:"✕";color:var(--red);position:absolute;left:0}.endnote{color:var(--ink-faint);text-align:center;padding:8px 0 4px;font-size:12.5px;line-height:1.6}.warn-strip{color:var(--coral-deep);background:#fff3ec;border:1px solid #f0c9b8;border-radius:14px;margin-bottom:16px;padding:13px 18px;font-size:13px;line-height:1.6}.warn-strip b{font-weight:800}.ctx{background:var(--coral-soft);color:var(--coral-deep);border-radius:999px;margin-top:12px;padding:5px 13px;font-size:12.5px;font-weight:700;display:inline-block}.privacy{background:var(--sage-soft);color:var(--sage-deep);border:1px solid #cfe2d7;border-radius:12px;margin-top:12px;padding:11px 15px;font-size:12px;line-height:1.55}.privacy b{font-weight:800}.bubbles{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.qb{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.qb:hover{border-color:var(--coral);color:var(--coral-deep);background:var(--coral-soft)}.chat{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;min-height:340px;display:flex;overflow:hidden}.msgs{flex-direction:column;gap:16px;padding:22px;display:flex}.msg{gap:11px;max-width:88%;display:flex}.msg.u{flex-direction:row-reverse;align-self:flex-end}.ava{border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.msg.a .ava{background:radial-gradient(circle at 50% 38%,#ffe6d8,#f3c9b6)}.msg.u .ava{background:var(--sage-soft);color:var(--sage-deep);font-size:14px;font-weight:800}.bub{white-space:pre-wrap;word-break:break-word;border-radius:16px;padding:12px 16px;font-size:14px;line-height:1.66}.msg.a .bub{border:1px solid var(--line);background:#fbf6ef;border-top-left-radius:5px}.msg.u .bub{background:var(--coral);color:#fff;border-top-right-radius:5px}.greet{color:var(--ink-soft);font-size:13.5px;line-height:1.7}.greet b{color:var(--ink)}.typing{gap:4px;padding:4px 2px;display:flex}.typing span{background:var(--ink-faint);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bl}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes bl{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.inbar{border-top:1px solid var(--line);background:#fff;align-items:flex-end;gap:10px;padding:14px;display:flex}.inbar textarea{color:var(--ink);background:var(--cream);border:1px solid var(--line);resize:none;border-radius:14px;outline:none;flex:1;max-height:120px;padding:11px 14px;font-family:inherit;font-size:14px;line-height:1.5}.inbar textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft);background:#fff}.send{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:13px;flex:none;width:46px;height:46px;font-size:19px;transition:all .15s}.send:hover{background:var(--coral-deep)}.send:disabled{opacity:.45;cursor:default}.barrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;display:flex}.disc{color:var(--ink-faint);flex:1;min-width:220px;font-size:12px;line-height:1.55}.clr{color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:700}.clr:hover{color:var(--coral-deep);border-color:var(--coral)}.login-screen{--accent:#dd7857;--accent-soft:#f8e3d9;--accent-deep:#c45c40;--on:0;z-index:100;background:var(--cream);background-image:radial-gradient(900px 560px at 50% -6%, var(--accent-soft) 0%, #faf4ec00 58%), radial-gradient(800px 520px at 50% 108%, var(--sage-soft) 0%, #faf4ec00 55%);flex-wrap:wrap;justify-content:center;align-items:center;gap:48px;padding:24px;font-family:Mulish,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;transition:background-image .6s;display:flex;position:fixed;inset:0;overflow-y:auto}.login-screen:after{content:"";pointer-events:none;opacity:.5;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");position:fixed;inset:0}.login-dim{z-index:1;pointer-events:none;opacity:calc((1 - var(--on)) * .74);background:#191209;transition:opacity .6s;position:fixed;inset:0}.lamp-area{-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;align-items:center;display:flex}.lamp-svg{width:250px;height:500px;display:block;overflow:visible}.lamp-svg .shade-fill,.lamp-svg .bulb{transition:fill .5s,filter .5s}.lamp-svg .beam,.lamp-svg .cheek,.lamp-svg .spark{opacity:calc(var(--on));transition:opacity .5s}.lamp-svg .eyes{transform-box:fill-box;transform-origin:50%;transition:transform .5s cubic-bezier(.5,1.6,.4,1)}.lamp-svg .cord-knob{cursor:grab}.lamp-svg .cord-knob:active{cursor:grabbing}.lamp-hint{color:#c7b29a;letter-spacing:.02em;z-index:2;margin-top:2px;font-size:12.5px;position:relative}.lamp-svg .shade-fill{fill:#e6d3bc}.lamp-svg .bulb{fill:#ead9c4}.login-screen.on .lamp-svg .bulb{fill:var(--accent);filter:drop-shadow(0 0 14px var(--accent))}.lamp-svg .beam{fill:var(--accent-soft)}.lamp-svg .knob{fill:#cbb79c}.login-screen.on .lamp-svg .knob{fill:var(--accent)}.lamp-svg .cord{stroke:#cbb79c;transition:stroke .5s}.login-screen.on .lamp-svg .cord{stroke:var(--accent)}.lamp-svg .eyes{transform:rotate(180deg)}.login-screen.on .lamp-svg .eyes{transform:rotate(0)}.lamp-svg .cheek{fill:#ed9e81}.lamp-svg .spark{fill:#fff}.login-card{z-index:2;border:1px solid var(--line);width:340px;max-width:88vw;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;background:#fff;border-radius:26px;padding:34px 30px;transition:opacity .45s,transform .6s cubic-bezier(.34,1.56,.5,1),border-color .5s,box-shadow .5s;position:relative;transform:scale(.9)translateY(12px)}.login-screen.on .login-card{opacity:1;pointer-events:auto;border-color:var(--accent);box-shadow:var(--shadow-lg), 0 0 44px var(--accent-soft);transform:none}.login-card .lbrand{color:var(--ink);align-items:center;gap:9px;margin-bottom:20px;font-family:Fraunces,serif;font-size:16px;font-weight:600;display:flex}.login-card .lbrand .lo{width:30px;height:30px;box-shadow:0 0 0 3px #fff,0 4px 10px var(--accent-soft);background:radial-gradient(circle at 50% 38%,#ffe6d8,#f3c9b6);border-radius:50%;place-items:center;font-size:17px;display:grid}.login-card h2{color:var(--ink);margin-bottom:4px;font-family:Fraunces,Georgia,serif;font-size:27px;font-weight:600}.login-card .lsub{color:var(--ink-soft);margin-bottom:22px;font-size:13px}.login-card label{color:var(--ink-soft);margin:0 0 6px;font-size:12.5px;font-weight:700;display:block}.login-card .lfield{margin-bottom:15px}.login-card input[type=email],.login-card input[type=password]{background:var(--cream);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:12px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:all .16s}.login-card input::placeholder{color:var(--ink-faint)}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-card .lrow{justify-content:space-between;align-items:center;margin:6px 0 20px;font-size:13px;display:flex}.login-card .lremember{color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-weight:600;display:flex}.login-card .lremember input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.login-card .lforgot{color:var(--ink-faint);text-decoration:none}.login-card .lforgot:hover{color:var(--accent-deep)}.login-card .lbtn{color:#fff;cursor:pointer;letter-spacing:.06em;background:linear-gradient(135deg, var(--accent), var(--accent-deep));width:100%;box-shadow:0 10px 22px var(--accent-soft);border:0;border-radius:13px;padding:12px;font-family:inherit;font-size:15px;font-weight:800;transition:all .16s}.login-card .lbtn:hover{filter:brightness(1.04);transform:translateY(-1px)}.login-card .lbtn:disabled{opacity:.6;cursor:default;transform:none}.login-card .lerr{color:var(--red-deep);min-height:18px;margin-top:12px;font-size:13px}@media (max-width:560px){.login-screen{align-content:flex-start;gap:14px;padding:18px 18px 40px}.lamp-svg{width:150px;height:300px}}@media (max-width:680px){.ages{grid-template-columns:1fr 1fr}.age.hero-age{grid-column:1/-1}.grid{grid-template-columns:1fr}.topbar .inner{flex-flow:column;align-items:stretch;gap:8px;padding:10px 0}.topbar .brand{margin:0 16px}.topnav{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;padding:2px 16px;overflow-x:auto}.topnav::-webkit-scrollbar{display:none}.topnav a,.nav-logout{flex:none}}@media (max-width:640px){.danger ul,.dd{grid-template-columns:1fr}}
