:root{color:#243127;font-synthesis:none;text-rendering:optimizelegibility;--green:#35a94a;--green-dark:#237d34;--green-soft:#e9f6e4;--ink:#243127;--muted:#718075;--line:#dce8d8;--card:#fffffff0;--shadow:0 9px 24px #345b3617;--app-max-width:430px;--topbar-height:52px;--tabbar-height:64px;--shell-offset:0px;--shell-offset-double:0px;background:#f1f6ec;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif}*{box-sizing:border-box}html{background:#dfe8da}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #35a94a3d}#root{min-height:100vh}.app-shell,.welcome-page{width:min(100%, var(--app-max-width));background:radial-gradient(circle at 92% 8%,#ffdaa142,#0000 25%),linear-gradient(#f8fbf4 0%,#eff6ea 100%);min-height:100vh;margin:0 auto;box-shadow:0 0 60px #2742291a}.topbar{z-index:20;height:calc(var(--topbar-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fbf4e8;border-bottom:1px solid #dce8d8cc;grid-template-columns:44px 1fr 44px;align-items:center;display:grid;position:sticky;top:0}.topbar-title{color:#1e2d22;grid-area:1/2;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:850;display:flex}.back-button{color:#2f4034;background:0 0;grid-area:1/1;width:42px;height:42px;font-size:34px;line-height:1}.topbar-spacer{grid-area:1/3}.main-content{min-height:calc(100dvh - var(--topbar-height) - var(--shell-offset-double));padding:clamp(14px, 3.733vw, 16px) clamp(14px, 3.733vw, 16px) calc(clamp(22px, 5.867vw, 25px) + env(safe-area-inset-bottom))}.main-content.with-tabs{padding-bottom:calc(var(--tabbar-height) + 24px + env(safe-area-inset-bottom))}.bottom-nav{z-index:20;bottom:var(--shell-offset);width:min(100%, var(--app-max-width));padding:7px 10px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border-top:1px solid #e0e9dc;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 -10px 30px #304c3112}.bottom-nav button{color:#849087;background:0 0;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:11px;font-weight:700;display:flex}.bottom-nav button.active{color:#42ad49}.nav-icon{border-radius:10px;place-items:center;width:29px;height:29px;line-height:1;display:grid}.nav-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;width:25px;height:25px}.brand-seed{color:#2e8f35;background:linear-gradient(#f8ffe8 0%,#aee769 100%);border:0;border-radius:44% 44% 48% 48%;flex:none;place-items:center;width:clamp(46px,12.267vw,53px);height:clamp(46px,12.267vw,53px);font-size:clamp(16px,4.267vw,18px);font-weight:900;display:inline-grid;transform:none;box-shadow:inset 0 -4px 8px #57ad302e,0 5px 11px #4298302e}.brand-seed.large{width:clamp(64px,17.067vw,73px);height:clamp(64px,17.067vw,73px);font-size:clamp(20px,5.333vw,23px)}.brand-seed.mini{width:clamp(28px,7.467vw,32px);height:clamp(28px,7.467vw,32px);font-size:clamp(11px,2.933vw,13px);box-shadow:inset 0 -3px 6px #57ad3029,0 4px 8px #42983029}.page-stack{flex-direction:column;gap:14px;display:flex}.card{background:var(--card);box-shadow:var(--shadow);border:1px solid #dde9d9e6;border-radius:14px}.primary-button,.secondary-button{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-weight:850;transition:transform .15s,opacity .15s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg,#4abb52,#25963c);box-shadow:0 10px 24px #2a9b3c38}.secondary-button{color:var(--green-dark);background:#edf7e9;border:1px solid #cce5c7}.primary-button:active,.secondary-button:active{transform:scale(.985)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.text-button{color:var(--green-dark);background:var(--green-soft);border-radius:999px;padding:8px 13px;font-size:13px;font-weight:800}.button-row{grid-template-columns:1fr 1.4fr;gap:12px;display:grid}.notice{border-radius:13px;padding:12px 14px;font-size:13px;line-height:1.5}.notice.error{color:#923c33;background:#fff0ec;border:1px solid #f3d0c8}.notice.success{color:#247938;background:#e9f7e8;border:1px solid #c8e8c4}.notice.info{color:#40627a;background:#edf6fb;border:1px solid #cfe2ed}.notice.pending{color:#7a5b22;background:#fff8df;border:1px solid #eadba9}.eyebrow,.section-kicker{color:var(--green-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:900}.muted,.center-muted{color:var(--muted)}.center-muted{text-align:center;margin:0;font-size:12px;line-height:1.6}.section-heading{justify-content:space-between;align-items:center;margin:2px 2px 11px;display:flex}.section-heading h2{margin:0;font-size:17px}.section-heading button,.section-heading span{color:#718075;background:0 0;padding:0;font-size:12px}.welcome-page{min-height:100svh;padding:calc(clamp(14px, 3.733vw, 16px) + env(safe-area-inset-top)) clamp(18px, 4.8vw, 21px) calc(clamp(22px, 5.867vw, 25px) + env(safe-area-inset-bottom));background:linear-gradient(#f5fff7 0%,#edf9e2 58%,#f8fff5 100%);display:block;position:relative;overflow:hidden auto}.welcome-status-spacer{height:clamp(32px,8.533vw,37px)}.welcome-brand{color:#45ad43;justify-content:center;align-items:center;gap:clamp(7px,1.867vw,8px);margin-top:clamp(14px,3.733vw,16px);font-size:clamp(21px,5.6vw,24px);font-weight:800;display:flex}.welcome-brand .brand-seed{color:#2e8f35;background:linear-gradient(#f8ffe8 0%,#aee769 100%);border:0;width:clamp(28px,7.467vw,32px);height:clamp(28px,7.467vw,32px);font-size:clamp(11px,2.933vw,13px)}.welcome-copy{text-align:center;margin-top:clamp(28px,7.467vw,32px)}.welcome-copy h1{color:#309d3a;letter-spacing:0;margin:0;font-size:clamp(24px,6.4vw,28px);font-weight:800;line-height:1.3}.welcome-copy>p:last-child{color:#6b776e;margin:clamp(9px,2.4vw,10px) 0 0;font-size:clamp(14px,3.733vw,16px);line-height:1.5}.family-scene{height:min(74.667vw,321px);min-height:0;margin:min(2.933vw,13px) 0 0;position:relative;overflow:hidden}.scene-sun{width:min(14.933vw,64px);height:min(14.933vw,64px);box-shadow:none;opacity:.38;background:#ffd66f;border-radius:50%;position:absolute;top:min(10.667vw,46px);right:min(5.6vw,24px)}.scene-hill{border-radius:50% 50% 0 0;position:absolute;bottom:min(6.133vw,26px)}.scene-hill.one{background:#dff1c9;width:69%;height:min(29.333vw,126px);left:-16%;transform:none}.scene-hill.two{background:#d3eabb;width:75%;height:min(34.667vw,149px);right:-20%;transform:none}.scene-house{width:min(13.6vw,58px);height:min(10.933vw,47px);box-shadow:none;background:#fff0c8;border-radius:5px;position:absolute;bottom:min(30.4vw,131px);left:min(10.4vw,45px)}.scene-house:before{content:"";background:#d1a766;border-radius:50% 50% 4px 4px;width:min(16vw,69px);height:min(9.867vw,42px);position:absolute;top:max(-42px,-9.867vw);left:max(-5px,-1.2vw)}.scene-house span{background:#9a6a4a;border-radius:7px 7px 0 0;width:min(4vw,17px);height:min(6.933vw,30px);position:absolute;bottom:0;right:min(1.2vw,5px)}.scene-family{align-items:flex-end;gap:min(3.733vw,16px);display:flex;position:absolute;bottom:min(27.733vw,119px);right:min(11.467vw,49px)}.scene-family i{background:linear-gradient(#ffd7b3 0 min(4.533vw,20px),#e78573 min(4.533vw,20px));border-radius:20px 20px 11px 11px;width:min(9.333vw,40px);height:min(15.733vw,68px);display:block}.scene-family i:before{content:none}.scene-family i:nth-child(2){background:linear-gradient(#ffd7b3 0 min(3.733vw,16px),#f1bd4c min(3.733vw,16px));width:min(7.2vw,31px);height:min(11.733vw,50px)}.scene-family i:nth-child(3){background:linear-gradient(#ffd7b3 0 min(4.533vw,20px),#6aa78a min(4.533vw,20px))}.scene-seed{position:absolute;bottom:min(6.933vw,30px);left:min(10.133vw,44px);right:auto}.welcome-action{border-radius:min(2.4vw,10px);width:100%;min-height:min(12.267vw,53px);font-size:clamp(16px,4.133vw,18px)}.agreement-row{color:#68766c;justify-content:center;align-items:flex-start;gap:min(1.333vw,6px);margin-top:min(3.733vw,16px);font-size:clamp(11px,3.067vw,13px);line-height:1.45;display:flex}.agreement-row input{width:min(3.2vw,14px);height:min(3.2vw,14px);accent-color:var(--green);margin-top:2px}.agreement-row button{color:var(--green-dark);background:0 0;padding:0}.home-hero{color:#204129;min-height:150px;box-shadow:var(--shadow);background:linear-gradient(120deg,#fffffff0,#e5f7dcf2),#fff;border:1px solid #d6e9d0;border-radius:26px;justify-content:space-between;align-items:center;padding:25px;display:flex}.home-hero h1{letter-spacing:-.04em;margin:0;font-size:30px}.home-hero p:last-child{color:#687a6d;max-width:250px;margin:10px 0 0;font-size:13px;line-height:1.6}.advice-card p{margin:0 0 20px;font-size:15px;line-height:1.8}.advice-card .primary-button{width:100%}.chip-list{flex-wrap:wrap;gap:9px;display:flex}.chip{color:#34983c;background:#eef9ea;border:1px solid #cfeec6;border-radius:999px;min-height:36px;padding:7px 13px;font-size:13px;font-weight:700}.chip.selected{color:#fff;background:var(--green);border-color:var(--green)}.chip.warning{color:#8b5b2d;background:#fff8e9;border-color:#efdfbd}.chip.warning.selected{color:#fff;background:#d89542;border-color:#d89542}.chip.static{cursor:default}.recent-card{width:100%;color:var(--ink);text-align:left;grid-template-columns:36px 1fr auto;align-items:center;padding:17px;display:grid}.recent-card>span:nth-child(2){flex-direction:column;gap:5px;min-width:0;padding:0 12px;display:flex}.recent-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-card small{color:var(--muted)}.recent-card b{color:#94a098;font-size:26px}.chat-layout{min-height:calc(100svh - 58px - 92px - env(safe-area-inset-bottom));flex-direction:column;display:flex}.ai-disclosure{z-index:5;color:#647268;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f9f3f5;border:1px solid #dfe9dc;border-radius:10px;margin:-4px 0 14px;padding:7px 12px;font-size:10px;line-height:1.45;position:sticky;top:0}.message-list{flex-direction:column;flex:1;gap:16px;padding-bottom:100px;display:flex}.message-row{align-items:flex-start;gap:8px;display:flex}.message-row.user{justify-content:flex-end}.message-bubble{color:#2a382e;white-space:pre-wrap;background:#fff;border:1px solid #e0eadc;border-radius:6px 18px 18px;max-width:84%;padding:14px 15px;font-size:14px;line-height:1.7;box-shadow:0 8px 22px #3850370f}.message-row.user .message-bubble{color:#fff;background:linear-gradient(140deg,#4ab853,#2b9b40);border:0;border-radius:18px 6px 18px 18px}.message-bubble.pending{color:#7b887e}.safety-label{color:#b25724;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.safety-note{color:#805137;margin-top:10px;font-size:11px;font-style:normal;line-height:1.55;display:block}.fallback-note{color:#b36b27;margin-top:9px;font-size:11px;font-weight:700;display:block}.reason-box{background:#f2f8ef;border-radius:12px;margin-top:12px;padding:12px}.reason-box strong{color:#3a7144;font-size:12px}.reason-box p{margin:6px 0 0;font-size:12px}.quick-list{flex-wrap:wrap;gap:8px;margin-left:40px;display:flex}.quick-list button{color:#45614b;background:#eef7ea;border:1px solid #d2e7cd;border-radius:999px;padding:9px 12px;font-size:12px}.chat-composer{z-index:15;bottom:calc(var(--shell-offset) + var(--tabbar-height) + env(safe-area-inset-bottom));width:min(100%, var(--app-max-width));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f8fbf4f0;border-top:1px solid #dfe9dc;grid-template-columns:1fr auto;gap:8px;padding:10px 16px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.chat-composer input{background:#fff;border:1px solid #dbe7d7;border-radius:15px;width:100%;height:45px;padding:0 15px}.chat-composer button{color:#fff;background:var(--green);border-radius:14px;min-width:64px;font-weight:850}.chat-composer button:disabled{opacity:.48}.chat-notice{z-index:16;right:16px;bottom:calc(var(--shell-offset) + var(--tabbar-height) + 68px + env(safe-area-inset-bottom));width:min(calc(100% - 32px), calc(var(--app-max-width) - 32px));margin:auto;position:fixed;left:16px}.search-box{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:9px;height:48px;padding:0 15px;display:flex}.search-box span{color:var(--muted);font-size:23px}.search-box input{border:0;outline:0;width:100%}.record-list{flex-direction:column;gap:10px;display:flex}.record-item{width:100%;color:var(--ink);text-align:left;background:#ffffffd9;border:1px solid #e0eadc;border-radius:17px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:16px 13px;display:grid}.record-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.record-copy strong,.record-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-copy small,.record-item time{color:var(--muted);font-size:11px}.record-item time{text-align:right;max-width:72px}.empty-state{min-height:300px;color:var(--muted);text-align:center;place-items:center;display:grid}.empty-state h3{color:#47554b;margin:14px 0 2px}.empty-state p{margin:0;font-size:13px}.child-profile-card{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:20px;display:grid}.child-avatar{background:#deefff;border-radius:22px;place-items:center;width:66px;height:66px;font-size:34px;display:grid}.child-avatar.girl{background:#ffebe9}.child-profile-card h2,.tag-section h2{margin:0 0 6px;font-size:17px}.child-profile-card p,.child-profile-card small{color:var(--muted);margin:0;font-size:12px}.child-profile-card small{margin-top:4px;display:block}.tag-section h2{margin-bottom:13px}.tip-panel{color:#5d6d61;background:#eaf4e4;border:1px solid #d3e6cc;border-radius:17px;padding:17px}.tip-panel strong{color:#347441}.tip-panel p{margin:6px 0 0;font-size:12px;line-height:1.7}.form-field{color:#334038;flex-direction:column;gap:9px;margin-bottom:20px;font-size:13px;font-weight:800;display:flex}.form-field:last-child{margin-bottom:0}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:46px;color:var(--ink);background:#f7faf5;border:1px solid #dce7d9;border-radius:13px;outline:0;padding:0 13px}.form-field textarea{resize:vertical;min-height:150px;padding:12px 13px;line-height:1.65}.form-field>small{color:var(--muted);text-align:right;margin-top:-4px;font-weight:500}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.option-row{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;display:grid}.option-row button{color:#536157;background:#f4f8f1;border:1px solid #dce7d9;border-radius:12px;min-height:42px;padding:8px;font-size:12px;font-weight:750}.option-row button.selected{color:#fff;background:var(--green);border-color:var(--green)}.loading-state{color:var(--muted);text-align:center;padding:80px 0}.report-summary{color:#24422b;background:linear-gradient(135deg,#ddf2d6,#f8f1d6);border:1px solid #cfe5c8;border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:23px;display:flex}.report-summary>div>span{color:#2d8e40;font-size:11px;font-weight:900}.report-summary h1{margin:8px 0;font-size:19px;line-height:1.4}.report-summary p{color:#6e7c71;margin:0;font-size:11px;line-height:1.55}.report-block{border:1px solid var(--line);background:#fff;border-left:5px solid #69b26d;border-radius:17px;padding:20px}.report-block.risk{border-left-color:#e2a657}.report-block.talk{border-left-color:#6e9ddd}.report-block h2{margin:0 0 12px;font-size:16px}.report-block p{color:#536157;margin:8px 0;padding-left:18px;font-size:13px;line-height:1.65;position:relative}.report-block p:before{color:#67aa6b;content:"✓";font-weight:900;position:absolute;left:0}.report-block.risk p:before{color:#db9842;content:"!"}.user-card{width:100%;color:var(--ink);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:20px;display:grid}.parent-avatar,.user-card img,.profile-avatar-row img{color:#815340;object-fit:cover;background:linear-gradient(145deg,#ffe0c8,#eaa373);border-radius:50%;place-items:center;width:58px;height:58px;font-size:21px;font-weight:900;display:grid}.user-card>span:nth-child(2){flex-direction:column;gap:5px;display:flex}.user-card small,.user-card em{color:var(--muted);font-size:11px;font-style:normal}.user-card b{color:#97a198;font-size:26px}.quota-card{grid-template-columns:1fr auto auto;align-items:center;gap:13px;padding:18px;display:grid}.quota-card>div{flex-direction:column;gap:5px;display:flex}.quota-card small{color:var(--muted);font-size:11px}.quota-card>b{color:var(--green-dark);font-size:25px}.quota-card>b small{margin-left:2px}.quota-card>button{color:#fff;background:var(--green);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}.menu-list{padding:5px 0;overflow:hidden}.menu-list button{width:100%;min-height:54px;color:var(--ink);text-align:left;background:0 0;border-bottom:1px solid #edf1eb;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 17px;display:grid}.menu-list button:last-child{border-bottom:0}.menu-list button>span{width:30px;height:30px;color:var(--green-dark);background:var(--green-soft);border-radius:9px;place-items:center;font-size:11px;font-weight:900;display:grid}.menu-list strong{font-size:13px}.menu-list b{color:#9aa39c;font-size:22px}.account-danger-zone{border-color:#f2cece;gap:14px;padding:17px;display:grid}.account-danger-zone>div:first-child{gap:4px;display:grid}.account-danger-zone small,.account-delete-confirm p,.account-delete-confirm label span{color:var(--muted);font-size:12px;line-height:1.65}.account-danger-zone .danger-outline,.account-delete-confirm .danger-solid{color:#a43131;background:#fff7f7;border:1px solid #efc4c4;border-radius:12px;min-height:42px;padding:0 15px;font-weight:800}.account-delete-confirm{border-top:1px solid #f3dddd;gap:13px;padding-top:13px;display:grid}.account-delete-confirm p{margin:0}.account-delete-confirm label{gap:7px;display:grid}.account-delete-confirm input{width:100%;min-height:42px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 12px}.account-delete-confirm>div{justify-content:flex-end;gap:9px;display:flex}.account-delete-confirm>div>button{border-radius:10px;min-height:38px;padding:0 13px;font-weight:700}.account-delete-confirm .danger-solid{color:#fff;background:#b13b3b;border-color:#b13b3b}.account-delete-confirm button:disabled{cursor:not-allowed;opacity:.5}.profile-avatar-row{align-items:center;gap:13px;margin-bottom:24px;display:flex}.profile-avatar-row>div{flex-direction:column;gap:4px;display:flex}.profile-avatar-row small{color:var(--muted);font-size:11px}.wechat-profile-card,.wechat-phone-card{padding:clamp(15px,4vw,17px)}.wechat-profile-card .profile-avatar-row{margin-bottom:clamp(16px,4.267vw,19px)}.wechat-profile-card .primary-button,.wechat-phone-card .primary-button{width:100%;display:block}.wechat-hint{color:var(--muted);margin:10px 2px 0;font-size:clamp(11px,2.933vw,13px);line-height:1.55}.member-status{justify-content:space-between;padding:16px 18px;font-size:13px;display:flex}.member-status span{color:var(--muted);font-size:12px}.member-hero{color:#61491b;background:linear-gradient(135deg,#fff0bd,#f6d57d);border-radius:22px;justify-content:space-between;align-items:center;padding:22px;display:flex;box-shadow:0 12px 30px #9a701924}.member-hero h1{margin:0 0 6px;font-size:22px}.member-hero p{color:#816c3e;margin:0;font-size:12px}.plan-list{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.plan-list.count-1{grid-template-columns:1fr}.plan-list.count-2,.plan-list.many{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-list.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-list button{color:#4e594f;text-align:left;background:#fff;border:2px solid #e2e9df;border-radius:17px;flex-direction:column;gap:6px;min-width:0;padding:17px 10px 13px;display:flex;position:relative}.plan-list button.selected{border-color:var(--green);background:#f2faef}.plan-list button>em{color:#fff;background:#e6903f;border-radius:999px;padding:3px 7px;font-size:9px;font-style:normal;font-weight:850;position:absolute;top:-9px;right:7px}.plan-list button>b{color:#df6e34;font-size:19px}.plan-list button>small{color:#738076;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.intro-card h1{margin:0 0 9px;font-size:21px}.intro-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.75}.legal-card{padding:22px}.legal-card h1{margin:0;font-size:22px}.legal-card h2{margin:24px 0 8px;font-size:16px}.legal-card p{color:#56645a;font-size:13px;line-height:1.85}.home-hero{color:#172018;background:linear-gradient(135deg,#f8ffe8 0%,#e7f8d7 100%);border:0;border-radius:clamp(14px,3.733vw,16px);min-height:clamp(92px,24.533vw,105px);padding:clamp(14px,3.733vw,16px) clamp(16px,4.267vw,18px);box-shadow:0 9px 19px #48873b1f}.home-hero h1{letter-spacing:0;font-size:clamp(17px,4.533vw,20px)}.home-hero p:last-child{color:#637260;margin-top:clamp(7px,1.867vw,8px);font-size:clamp(12px,3.2vw,14px)}.advice-card{padding:clamp(15px,4vw,17px)}.advice-card p{color:#445044;margin:clamp(8px,2.133vw,9px) 0 clamp(14px,3.733vw,16px);font-size:clamp(14px,3.6vw,15px);line-height:1.7}.section-kicker{color:#263326;letter-spacing:0;margin-bottom:0;font-size:clamp(15px,4vw,17px)}.share-button{color:#2f9f3b;background:#eff8eb;border:1px solid #cfe8c8;border-radius:999px;width:100%;min-height:clamp(38px,10.133vw,44px);margin-top:clamp(9px,2.4vw,10px);font-size:clamp(13px,3.467vw,15px);font-weight:800}.profile-gate{box-sizing:border-box;color:#263428;text-align:center;background:radial-gradient(circle at 12% 8%,#f3cc5633,#0000 30%),linear-gradient(#fbfff8 0%,#eff8eb 100%);place-items:center;min-height:100dvh;padding:28px;display:grid}.profile-gate>p{color:#667568;margin-top:14px}.profile-gate-card{background:#fffffff5;border:1px solid #dce9d7;border-radius:28px;width:min(100%,420px);padding:34px 26px 28px;box-shadow:0 22px 54px #3569371f}.profile-gate-card>.brand-seed{margin:0 auto 24px}.profile-gate-card small{color:#3d9d48;letter-spacing:.08em;font-weight:800}.profile-gate-card h1{margin:10px 0 12px;font-size:26px;line-height:1.35}.profile-gate-card p{color:#68766a;margin:0 0 22px;font-size:14px;line-height:1.75}.profile-gate-card .primary-button{width:100%}.profile-gate-card .profile-gate-hint{color:#a25c32;margin:14px 0 0}.section-heading{margin:0 0 clamp(8px,2.133vw,9px)}.section-heading h2{font-size:clamp(14px,3.733vw,16px)}.section-heading button,.section-heading span{font-size:clamp(12px,3.2vw,14px)}.recent-card{grid-template-columns:1fr auto;min-height:clamp(64px,17.067vw,73px);padding:clamp(14px,3.733vw,16px)}.recent-card>span:first-child{flex-direction:column;gap:5px;min-width:0;display:flex}.recent-card strong{font-size:clamp(14px,3.733vw,16px)}.recent-card small{font-size:clamp(12px,3.2vw,14px)}.main-content.route-chat{height:calc(100dvh - var(--topbar-height) - var(--shell-offset-double));min-height:0;padding:0;overflow:hidden}.chat-layout{height:100%;min-height:0}.message-list{min-height:0;padding:clamp(12px, 3.2vw, 14px) clamp(14px, 3.733vw, 16px) calc(var(--tabbar-height) + 84px + env(safe-area-inset-bottom));overscroll-behavior:contain;scroll-padding-bottom:calc(var(--tabbar-height) + 84px + env(safe-area-inset-bottom));display:block;overflow-y:auto}.message-row{gap:clamp(7px,1.867vw,8px);margin-bottom:clamp(11px,2.933vw,13px)}.message-bubble{max-width:75%;box-shadow:none;border-radius:4px 14px 14px;padding:clamp(11px,2.933vw,13px) clamp(12px,3.2vw,14px);font-size:clamp(14px,3.6vw,15px);line-height:1.62}.message-row.user .message-bubble{border-radius:14px 4px 14px 14px}.reason-box{background:#fbfef7;border:1px solid #e0eadc;border-radius:9px;margin-top:10px;padding:10px}.quick-list{gap:clamp(8px,2.133vw,9px);margin:1px 0 clamp(14px,3.733vw,16px) clamp(36px,9.6vw,41px)}.quick-list button{color:#349640;background:#f4fbef;border-color:#cbeac4;padding:clamp(8px,2.133vw,9px) clamp(12px,3.2vw,14px);font-size:clamp(12px,3.2vw,14px)}.chat-composer{background:#fffffff5;grid-template-columns:minmax(0,1fr) clamp(36px,9.6vw,41px);gap:clamp(8px,2.133vw,9px);min-height:61px;padding:9px clamp(12px,3.2vw,14px)}.chat-composer input{background:#f7f8f5;border:0;border-radius:999px;min-width:0;height:clamp(37px,9.867vw,42px);padding:0 clamp(12px,3.2vw,14px);font-size:16px}.chat-composer button{border-radius:50%;width:clamp(36px,9.6vw,41px);min-width:0;height:clamp(36px,9.6vw,41px);font-size:clamp(12px,3.2vw,14px)}.filter-row{align-items:center;gap:clamp(9px,2.4vw,10px);display:flex}.search-box{background:#f0f3ef;border:0;border-radius:999px;flex:1;height:clamp(35px,9.333vw,40px)}.filter-button{color:#3c493f;background:#fff;border-radius:999px;width:clamp(56px,14.933vw,64px);height:clamp(35px,9.333vw,40px);font-size:clamp(13px,3.333vw,14px)}.records-heading{color:#758178;margin:clamp(15px,4vw,17px) 0 clamp(7px,1.867vw,8px);font-size:clamp(12px,3.2vw,14px);font-weight:700}.record-list{gap:0}.record-item{background:0 0;border:0;border-bottom:1px solid #edf1ea;border-radius:0;min-height:clamp(53px,14.133vw,61px);padding:0}.record-copy strong{font-size:clamp(14px,3.6vw,15px)}.record-copy small,.record-item time{font-size:clamp(11px,3.067vw,13px)}.empty-record{text-align:center;justify-content:center;padding:clamp(12px,3.2vw,14px) 0;display:flex}.child-profile-card{gap:clamp(11px,2.933vw,13px);padding:clamp(15px,4vw,17px)}.child-avatar{border-radius:50%;width:clamp(54px,14.4vw,62px);height:clamp(54px,14.4vw,62px);font-size:clamp(27px,7.2vw,31px)}.child-profile-card h2,.tag-section h2{font-size:clamp(17px,4.533vw,20px)}.child-profile-card p,.child-profile-card small{font-size:clamp(12px,3.2vw,14px)}.tag-section{padding:clamp(14px,3.733vw,16px)}.tip-panel{background:#edf8e7;border:0;border-radius:clamp(10px,2.667vw,11px);padding:clamp(12px,3.2vw,14px)}.tip-panel strong{font-size:clamp(14px,3.733vw,16px)}.tip-panel p{font-size:clamp(12px,3.2vw,14px)}.form-card{padding:clamp(15px,4vw,17px)}.form-field{gap:6px;margin-bottom:clamp(11px,2.933vw,13px);font-size:clamp(13px,3.333vw,14px)}.form-field input,.form-field select,.form-field textarea{border-radius:8px;min-height:clamp(39px,10.4vw,45px);padding:0 clamp(11px,2.933vw,13px);font-size:clamp(13px,3.467vw,15px)}.form-field textarea{min-height:clamp(120px,32vw,138px);padding:12px}.field-grid{grid-template-columns:1fr;gap:0}.option-row{grid-template-columns:repeat(2,1fr)}.button-row{grid-template-columns:1fr 1fr;gap:clamp(8px,2.133vw,9px);margin-top:clamp(14px,3.733vw,16px)}.report-summary{color:#fff;background:linear-gradient(135deg,#5bbe5a,#2fa841);border:0;border-radius:clamp(12px,3.2vw,14px);padding:clamp(15px,4vw,17px);box-shadow:0 8px 18px #2da13933}.report-summary>div>span{color:#2f9840;background:#ffffffe6;border-radius:999px;align-items:center;min-height:21px;padding:0 9px;font-size:clamp(11px,2.8vw,12px);display:inline-flex}.report-summary h1{color:#fff;margin:8px 0;font-size:clamp(16px,4.133vw,18px)}.report-summary p{color:#ffffffd1;font-size:clamp(12px,3.2vw,14px)}.report-block{border:0;border-radius:clamp(11px,2.933vw,13px);padding:clamp(14px,3.733vw,16px);box-shadow:0 7px 18px #3e693a17}.report-block h2{font-size:clamp(15px,3.867vw,17px)}.report-block.good h2{color:#2f9f3c}.report-block.risk h2{color:#e27d38}.report-block.talk h2{color:#358bd7}.report-block p{margin:5px 0;padding-left:0;font-size:clamp(13px,3.467vw,15px);line-height:1.85}.report-block p:before{content:none}.user-card{gap:clamp(11px,2.933vw,13px);padding:clamp(15px,4vw,17px)}.parent-avatar,.user-card img,.profile-avatar-row img{width:clamp(53px,14.133vw,61px);height:clamp(53px,14.133vw,61px)}.user-card>span:nth-child(2){gap:4px}.user-card>span:nth-child(2) strong{font-size:clamp(17px,4.4vw,19px)}.user-card small{font-size:clamp(12px,3.2vw,14px)}.user-card em{font-size:clamp(10px,2.667vw,11px)}.quota-card{gap:clamp(9px,2.4vw,10px);padding:clamp(14px,3.733vw,16px) clamp(13px,3.467vw,15px)}.quota-card>div>strong{font-size:clamp(14px,3.6vw,15px)}.quota-card small{font-size:clamp(11px,3.067vw,13px)}.quota-card>b{font-size:clamp(19px,4.933vw,21px)}.quota-card>button{min-width:clamp(52px,13.867vw,60px);padding:8px 10px}.menu-list button{min-height:clamp(48px,12.8vw,55px);padding:6px clamp(14px,3.733vw,16px)}.menu-list button>span{border-radius:7px;width:clamp(22px,5.867vw,25px);height:clamp(22px,5.867vw,25px)}.member-status{padding:clamp(12px,3.2vw,14px) clamp(14px,3.733vw,16px);line-height:1.8;display:block}.member-status span{font-size:clamp(12px,3.2vw,14px);display:block}.member-hero{color:#fff;background:linear-gradient(135deg,#2b9d3d,#62be53);border-radius:clamp(12px,3.2vw,14px);padding:clamp(16px,4.267vw,18px);box-shadow:0 9px 19px #309f3e36}.member-hero h1{font-size:clamp(17px,4.533vw,20px)}.member-hero p{color:#ffffffdb;font-size:clamp(13px,3.333vw,14px)}.plan-list{gap:clamp(7px,1.867vw,8px)}.plan-list button{text-align:center;border-width:1px;border-radius:clamp(9px,2.4vw,10px);align-items:stretch;gap:7px;min-height:clamp(150px,40vw,172px);padding:clamp(11px,2.933vw,13px) clamp(7px,1.867vw,8px)}.plan-list button>em{color:#fff;background:#2ba33f;top:6px;right:6px}.plan-list button>strong{font-size:clamp(14px,3.6vw,15px)}.plan-list button>b{color:#2aa13b;margin:5px 0;font-size:clamp(21px,5.6vw,24px)}.plan-list button>small{color:#607064;white-space:normal;font-size:clamp(11px,2.933vw,13px);line-height:1.5}.benefit-title{color:#627062;text-align:center;margin:0;font-size:clamp(13px,3.333vw,14px)}.benefit-list{grid-template-columns:repeat(4,1fr);gap:clamp(7px,1.867vw,8px);display:grid}.benefit-list>div{color:#3f8f43;background:#eff9eb;border-radius:clamp(8px,2.133vw,9px);flex-direction:column;justify-content:center;align-items:center;height:clamp(62px,16.533vw,71px);font-size:clamp(11px,2.933vw,13px);display:flex}.benefit-list strong{margin-bottom:4px;font-size:clamp(14px,3.733vw,16px)}.intro-card{padding:clamp(15px,4vw,17px)}.intro-card h1{font-size:clamp(17px,4.533vw,20px)}.intro-card p{font-size:clamp(13px,3.333vw,14px)}.route-complaint .option-row{grid-template-columns:repeat(4,1fr);gap:6px}.route-profile .form-card>.primary-button,.route-complaint .form-card>.primary-button{width:100%;margin-top:6px}.legal-card{border-radius:clamp(8px,2.133vw,9px);padding:clamp(12px,3.2vw,14px)}.legal-card h1{font-size:clamp(18px,4.8vw,21px)}.legal-card h2{margin-top:18px;font-size:clamp(15px,4vw,17px)}.legal-card p{font-size:clamp(14px,3.6vw,15px);line-height:1.72}.memory-intro{align-items:flex-start;gap:12px;padding:16px;display:flex}.memory-intro .brand-seed{flex:none}.memory-intro h2,.memory-add-card h2,.memory-list-section h2{margin:0;font-size:16px}.memory-intro p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}.memory-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.memory-summary div{border:1px solid var(--line);background:#ffffffd1;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:74px;display:flex}.memory-summary strong{color:var(--green-dark);font-size:24px}.memory-summary span{color:var(--muted);margin-top:3px;font-size:12px}.memory-add-card{padding:16px}.memory-add-card form,.memory-edit-form{gap:10px;margin-top:13px;display:grid}.memory-add-card select,.memory-add-card input,.memory-add-card textarea,.memory-edit-form input,.memory-edit-form textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#f7faf5;border-radius:10px;padding:11px 12px}.memory-add-card textarea,.memory-edit-form textarea{resize:vertical;min-height:86px;line-height:1.55}.memory-add-card .primary-button{width:100%}.memory-list-section .section-title{justify-content:space-between;align-items:flex-end;gap:10px;padding:0 2px;display:flex}.memory-list-section .section-title small{color:var(--muted);text-align:right;font-size:11px}.memory-card-list{gap:10px;margin-top:10px;display:grid}.memory-card{padding:14px}.memory-card.pending{background:#fffdf5;border-color:#e8d9a8}.memory-card header,.memory-card footer{align-items:center;display:flex}.memory-card header{justify-content:space-between}.memory-card header span,.memory-card header em{border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal}.memory-card header span{color:var(--green-dark);background:var(--green-soft)}.memory-card header em{color:#76602f;background:#fff3cb}.memory-card h3{margin:12px 0 6px;font-size:15px}.memory-card p{margin:0;font-size:14px;line-height:1.65}.memory-card>small{color:var(--muted);margin-top:9px;font-size:11px;display:block}.memory-card footer{border-top:1px solid #edf2e9;justify-content:flex-end;gap:8px;margin-top:13px;padding-top:11px}.memory-card footer button{color:#536056;background:#f0f4ed;border-radius:999px;min-height:32px;padding:0 11px;font-size:12px;font-weight:750}.memory-card footer button.accent{color:#fff;background:var(--green)}.memory-card footer button.danger-text{color:#a24a42;background:#fff0ed}.memory-card footer .delete-question{color:#8f443d;margin-right:auto;font-size:12px}.memory-card footer button.danger-confirm{color:#fff;background:#bd5147}.memory-card footer button:disabled{opacity:.5}.empty-memory{color:var(--muted);text-align:center;padding:24px 16px;font-size:13px;line-height:1.6}@media (width>=700px){:root{--shell-offset:24px;--shell-offset-double:48px}body{padding:24px 0}.app-shell,.welcome-page{border-radius:28px;min-height:calc(100vh - 48px)}.app-shell{overflow:hidden}.welcome-page{overflow:hidden auto}.bottom-nav{bottom:var(--shell-offset);border-radius:0 0 28px 28px}}@media (width<=380px){.home-hero{padding:20px}.home-hero .brand-seed.large{width:56px;height:56px}.plan-list{grid-template-columns:1fr}.plan-list button{grid-template-columns:1fr auto;display:grid}.plan-list button>small{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
