.voice-launcher[data-v-e65fedd5]{position:relative;display:inline-flex}.vl-btn[data-v-e65fedd5]{border-radius:50%;background:linear-gradient(135deg,var(--primary),#2FA45C);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px #e0653a59;transition:transform .15s}.vl-btn[data-v-e65fedd5]:hover{transform:scale(1.06)}.vl-btn.listening[data-v-e65fedd5]{background:linear-gradient(135deg,#c4553d,#e85d4a);animation:vl-breath-e65fedd5 1.1s ease-in-out infinite}.vl-ico[data-v-e65fedd5]{width:60%;height:60%}.vl-ico.pulse[data-v-e65fedd5]{animation:vl-blink-e65fedd5 .9s ease-in-out infinite}.vl-tip[data-v-e65fedd5]{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);font-size:11px;color:var(--ink-2);white-space:nowrap}.vl-hint[data-v-e65fedd5]{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:#1e2623;color:#fff;border-radius:14px;padding:12px 16px;width:250px;box-shadow:0 10px 28px #00000040;z-index:30}.vl-hint strong[data-v-e65fedd5]{display:block;font-size:15px;margin-bottom:4px}.vl-hint span[data-v-e65fedd5]{font-size:12.5px;color:#ffffffd9;line-height:1.6;display:block}.vl-hint[data-v-e65fedd5]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#1e2623}.vl-pop-enter-active[data-v-e65fedd5],.vl-pop-leave-active[data-v-e65fedd5]{transition:all .18s}.vl-pop-enter-from[data-v-e65fedd5],.vl-pop-leave-to[data-v-e65fedd5]{opacity:0;transform:translateY(6px)}@keyframes vl-breath-e65fedd5{0%,to{box-shadow:0 8px 22px #c4553d66}50%{box-shadow:0 8px 30px #e85d4aa6}}@keyframes vl-blink-e65fedd5{0%,to{opacity:1}50%{opacity:.55}}.global-voice[data-v-b9bfece8]{position:fixed;right:14px;bottom:88px;z-index:1100;display:flex;flex-direction:column;align-items:center;gap:10px}.global-voice .vl-tip[data-v-b9bfece8]{display:none}.gv-help[data-v-b9bfece8]{width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--primary);color:var(--primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #e0653a40;transition:transform .15s,background .18s,box-shadow .2s}.gv-help[data-v-b9bfece8]:hover{background:var(--primary-soft);transform:scale(1.08)}.gv-help[data-v-b9bfece8]:active{transform:scale(.92)}.gv-q[data-v-b9bfece8]{font-size:17px;font-weight:800;color:var(--primary);line-height:1}.gv-panel[data-v-b9bfece8]{position:absolute;right:0;bottom:calc(100% + 14px);width:300px;background:#fff;border-radius:18px;box-shadow:0 14px 40px #00000029;padding:14px}body[data-theme=dark] .gv-panel[data-v-b9bfece8]{background:#26231f;box-shadow:0 14px 40px #0000008c;border:1px solid rgba(255,255,255,.07)}.gv-p-title[data-v-b9bfece8]{display:block;font-size:16px;color:var(--ink);margin-bottom:8px}.gv-item[data-v-b9bfece8]{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:none;background:var(--surface-2);border-radius:14px;margin-bottom:8px;cursor:pointer;text-align:left;color:var(--primary);transition:background .18s,transform .15s,box-shadow .2s}.gv-item[data-v-b9bfece8]:last-child{margin-bottom:0}.gv-item[data-v-b9bfece8]:hover{background:var(--primary-soft);box-shadow:0 4px 12px #e0653a24}.gv-item[data-v-b9bfece8]:active{transform:scale(.97)}.gv-item span[data-v-b9bfece8]{font-size:15px;font-weight:600}.gv-item small[data-v-b9bfece8]{display:block;font-size:12px;font-weight:400;color:var(--ink-3);margin-top:2px}.page-fade-enter-active[data-v-b9bfece8],.page-fade-leave-active[data-v-b9bfece8]{transition:opacity .18s ease,transform .18s ease}.page-fade-enter-from[data-v-b9bfece8]{opacity:0;transform:translateY(10px)}.page-fade-leave-to[data-v-b9bfece8]{opacity:0;transform:translateY(-6px)}.vl-fade-enter-active[data-v-b9bfece8],.vl-fade-leave-active[data-v-b9bfece8]{transition:all .16s}.vl-fade-enter-from[data-v-b9bfece8],.vl-fade-leave-to[data-v-b9bfece8]{opacity:0;transform:translateY(6px)}.call-banner[data-v-b9bfece8]{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:1200;background:#1e2623;color:#fff;border-radius:18px;padding:12px 16px;display:flex;align-items:center;gap:14px;box-shadow:0 12px 34px #00000047;min-width:320px;max-width:calc(100vw - 40px)}.cb-info[data-v-b9bfece8]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.cb-av[data-v-b9bfece8],.cb-fallback[data-v-b9bfece8]{width:44px;height:44px;border-radius:50%;flex-shrink:0}.cb-av img[data-v-b9bfece8]{width:100%;height:100%;border-radius:50%;object-fit:cover}.cb-fallback[data-v-b9bfece8]{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);font-size:19px}.cb-info strong[data-v-b9bfece8]{display:block;font-size:16px}.cb-info span[data-v-b9bfece8]{font-size:12px;color:#ffffffbf;display:block;margin-top:2px}.cb-acts[data-v-b9bfece8]{display:flex;gap:10px}.cb-btn[data-v-b9bfece8]{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:none;cursor:pointer;transition:transform .15s,filter .18s}.cb-btn[data-v-b9bfece8]:hover{transform:scale(1.1);filter:brightness(1.12)}.cb-btn[data-v-b9bfece8]:active{transform:scale(.92)}.cb-btn.reject[data-v-b9bfece8]{background:#c4553d}.cb-btn.accept[data-v-b9bfece8]{background:#2fa45c}.call-pop-enter-active[data-v-b9bfece8]{transition:all .3s cubic-bezier(.34,1.4,.64,1)}.call-pop-leave-active[data-v-b9bfece8]{transition:all .18s ease}.call-pop-enter-from[data-v-b9bfece8],.call-pop-leave-to[data-v-b9bfece8]{opacity:0;transform:translate(-50%,-22px) scale(.94)}.api-loading[data-v-b9bfece8]{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;pointer-events:none;overflow:hidden;background:transparent}.api-loading i[data-v-b9bfece8]{display:block;height:100%;width:40%;border-radius:2px;background:linear-gradient(90deg,#ff6b4200,#ff6b42,#ff9a4d,#ff9a4d00);animation:api-load-b9bfece8 1.1s ease-in-out infinite}@keyframes api-load-b9bfece8{0%{transform:translate(-100%)}to{transform:translate(350%)}}.icp-footer[data-v-b9bfece8]{position:fixed;left:0;right:0;bottom:0;height:18px;z-index:90;display:flex;align-items:center;justify-content:center;background:transparent;pointer-events:none}.icp-footer a[data-v-b9bfece8]{pointer-events:auto;font-size:10px;line-height:18px;color:var(--ink-3);text-decoration:none;letter-spacing:.2px;opacity:.85}.icp-footer a[data-v-b9bfece8]:hover{color:var(--ink-2);text-decoration:underline}:root{--font: "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--bg: #F7F2EB;--surface: #FFFFFF;--surface-2: #FBF6EF;--primary: #E0653A;--primary-deep: #BE4A22;--primary-soft: #FCE8DC;--accent: #E8A23B;--accent-soft: #FBEED7;--ink: #2E2A26;--ink-1: #2E2A26;--ink-2: #7A726A;--ink-3: #B0A89E;--line: #EFE7DB;--success: #2F8B57;--success-soft: #E5F3EA;--danger: #D04A32;--danger-soft: #FBE9E4;--warn: #C07B16;--warn-soft: #F9EEDC;--radius: 16px;--radius-lg: 24px;--shadow: 0 1px 2px rgba(46,42,38,.04), 0 6px 20px rgba(46,42,38,.06);--shadow-lg: 0 12px 40px rgba(46,42,38,.12);--fs: 16px;--fs-s: 14px;--fs-m: 17px;--fs-l: 20px;--fs-xl: 26px;--fs-xxl: 34px;--space: 16px}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow-x:hidden}body{min-height:100%}body{font-family:var(--font);background:radial-gradient(900px 480px at 12% -5%,rgba(255,185,120,.18),transparent 65%),radial-gradient(760px 520px at 88% 108%,rgba(240,120,80,.12),transparent 65%),var(--bg);color:var(--ink);font-size:var(--fs);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{min-height:100vh;overflow-x:clip}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--primary);text-decoration:none}img{display:block;max-width:100%}::placeholder{color:var(--ink-3)}.btn:focus-visible,.input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{white-space:nowrap}h1,h2,h3,h4{font-weight:600;line-height:1.35;letter-spacing:.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:14px;font-size:var(--fs-m);font-weight:500;transition:all .2s cubic-bezier(.25,.8,.35,1);border:1px solid transparent;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0 0 auto 0;height:50%;border-radius:14px 14px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent);pointer-events:none}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#F08A4B,var(--primary) 55%,var(--primary-deep));color:#fff;box-shadow:0 6px 18px #e0653a52}.btn-primary:hover{box-shadow:0 10px 26px #e0653a6b;transform:translateY(-2px)}.btn-accent{background:linear-gradient(135deg,#F4B95E,var(--accent));color:#fff;box-shadow:0 6px 18px #e8a23b52}.btn-accent:hover{box-shadow:0 10px 26px #e8a23b6b;transform:translateY(-2px)}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink-3);background:var(--surface-2)}.btn-soft{background:var(--primary-soft);color:var(--primary-deep)}.btn-soft:hover{background:#f8dcc8}.btn-danger{background:linear-gradient(135deg,#E0694F,var(--danger));color:#fff;box-shadow:0 6px 18px #d04a324d}.btn-danger:hover{box-shadow:0 10px 26px #d04a3266;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#3BA368,var(--success));color:#fff;box-shadow:0 6px 18px #2f8b574d}.btn-success:hover{box-shadow:0 10px 26px #2f8b5766;transform:translateY(-2px)}.btn-block{width:100%;white-space:normal;flex-wrap:wrap;line-height:1.4}.btn-lg{padding:15px 28px;font-size:var(--fs-l);border-radius:16px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.btn-sm{padding:8px 16px;font-size:var(--fs-s);border-radius:12px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-size:var(--fs-s);color:var(--ink-2);font-weight:500}.input{width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font-size:var(--fs-m);outline:none;transition:border-color .18s,box-shadow .18s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #e0653a1f}.input.err{border-color:var(--danger)}.select{composes:input;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow);padding:18px 20px;transition:box-shadow .25s ease,border-color .25s ease,transform .25s cubic-bezier(.25,.8,.35,1)}.card.hoverable:hover{box-shadow:var(--shadow-lg);border-color:#e8dcc9;transform:translateY(-3px)}.card-pad{padding:20px}.pad{padding:18px 20px}.pad-sm{padding:14px 16px}.page-ico{width:36px;height:36px;border-radius:10px;margin-right:10px;vertical-align:middle;object-fit:cover;flex-shrink:0}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;row-gap:10px}.page-title{font-size:var(--fs-xl);font-weight:600}body.elder-mode .page-title{margin-right:auto}.child-back{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;margin-right:12px}.btn.child-back{padding:0;width:30px;height:30px;border-radius:10px;justify-content:center}.child-main .page-head{justify-content:flex-start}.child-main .page-head>button:last-child:not(.child-back){margin-left:auto}.page-sub{color:var(--ink-2);font-size:var(--fs-s);margin-top:2px}@keyframes pageIn{0%{opacity:0;transform:translateY(10px) scale(.995);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}.route-fade{animation:pageIn .34s cubic-bezier(.22,.8,.35,1) both}.sec-t{font-size:18px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.sec-t:before{content:"";width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--primary),var(--accent))}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.tag-green{background:var(--success-soft);color:var(--success)}.tag-orange{background:var(--warn-soft);color:var(--warn)}.tag-red{background:var(--danger-soft);color:var(--danger)}.tag-gray{background:#f0ece4;color:var(--ink-2)}.avatar{border-radius:50%;object-fit:cover;background:var(--primary-soft);flex-shrink:0}.avatar-fallback{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-soft),var(--accent-soft));color:var(--primary-deep);font-weight:600;flex-shrink:0;box-shadow:inset 0 0 0 1px #2e2a260d,0 1px 2px #2e2a260f}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#2e2a266b;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:popIn .26s cubic-bezier(.22,.8,.35,1)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-body{padding:22px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.toast-wrap{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:10px;align-items:center}.toast{background:#2e2a26f0;color:#fff;padding:11px 20px;border-radius:14px;font-size:var(--fs-m);box-shadow:var(--shadow-lg);animation:toastIn .24s cubic-bezier(.22,.8,.35,1);max-width:86vw;border:1px solid rgba(255,255,255,.08)}.toast.success{background:#2f8b57f2}.toast.error{background:#d04a32f2}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1}}.empty{text-align:center;padding:48px 20px;color:var(--ink-2)}.empty img{width:140px;margin:0 auto 16px;opacity:.94;animation:emptyFloat 3.6s ease-in-out infinite}.empty h3{color:var(--ink);margin-bottom:6px;font-size:var(--fs-l)}.empty p{font-size:var(--fs-s)}@keyframes emptyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.retry-btn{margin:16px auto 2px;display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border:1.5px solid var(--primary);background:#fff;color:var(--primary);border-radius:999px;font-size:15px;font-weight:600;cursor:pointer}.retry-btn:active{transform:scale(.97);background:var(--primary-soft)}.divider{height:1px;background:var(--line);border:none;margin:16px 0}.app-shell{max-width:520px;margin:0 auto;min-height:100vh;background:linear-gradient(180deg,#FDF9F2 0%,var(--bg) 30%);position:relative}@media(min-width:900px){.app-shell{max-width:1200px;margin:0 auto;min-height:100vh}}::-webkit-scrollbar-thumb{background:#e3d9c9;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#d5c8b2}html{scrollbar-width:thin;scrollbar-color:#E3D9C9 transparent}body[data-theme=dark]{scrollbar-color:#3B362F transparent}body[data-theme=dark] ::-webkit-scrollbar-thumb{background:#3b362f}body[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#4a443c}body[data-theme=dark]{--bg: #1D1B18;--surface: #26231F;--surface-2: #2E2A25;--primary: #F09162;--primary-deep: #F8B890;--primary-soft: #3A2A20;--accent: #E8B25A;--accent-soft: #3A3020;--ink: #ECE6DC;--ink-1: #ECE6DC;--ink-2: #B5AC9E;--ink-3: #777066;--line: #3B362F;--success: #7CC391;--success-soft: #24352A;--danger: #E07A62;--danger-soft: #40281F;--warn: #DBA64C;--warn-soft: #3A3120;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.26);--shadow-lg: 0 12px 40px rgba(0,0,0,.48)}body[data-theme=dark] .tag-gray{background:#35312b;color:var(--ink-2)}body[data-theme=dark] .modal-mask{background:#0000008c}body[data-theme=dark] .elder-app{background:#1d1b18}body[data-theme=dark] .app-shell{background:linear-gradient(180deg,#24211c,#1d1b18 30%)}body[data-theme=dark] ::-webkit-scrollbar-thumb{background:#4a443c}body[data-theme=dark] .elder-top,body[data-theme=dark] .page-head{background:transparent}body[data-contrast=high]{--ink: #101010;--ink-1: #101010;--ink-2: #3D3D3A;--ink-3: #6B6A63;--line: #B9B4A6;--primary: #A83F16;--primary-deep: #7E2C0C;--primary-soft: #FBDCC8;--surface: #FFFFFF;--surface-2: #FFFDF6;--bg: #F3EDE2;--success: #1F6E3F;--danger: #A93226;--warn: #8F5E0B;--fs: 17px;--fs-m: 18px;--fs-l: 22px}body[data-contrast=high] .btn-ghost{border-color:#b9b4a6}body[data-contrast=high] .card,body[data-contrast=high] .elder-nav,body[data-contrast=high] .app-shell nav{border-color:#c9c4b6;box-shadow:0 1px 3px #0000001f}body[data-contrast=high] input,body[data-contrast=high] select,body[data-contrast=high] textarea{border-color:#a9a494}body[data-theme=dark][data-contrast=high]{--ink: #FFFFFF;--ink-1: #FFFFFF;--ink-2: #D8D5CC;--ink-3: #9B988E;--line: #5A5E63;--primary: #FFA87E;--primary-deep: #FFC9AB;--primary-soft: #41291C;--bg: #121416;--surface: #202326;--surface-2: #2A2E32;--success: #9CE0B2;--danger: #FF8B76;--warn: #F0BE5F}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.card{transition:box-shadow .25s ease,border-color .25s ease,transform .25s cubic-bezier(.25,.8,.35,1)}.card:active{transform:scale(.985);box-shadow:0 2px 8px #2e2a2614}.app-shell{scroll-behavior:smooth}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2e2a262e;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#2e2a2652;background-clip:content-box;border:2px solid transparent}*{scrollbar-width:thin;scrollbar-color:rgba(46,42,38,.25) transparent}.ep-btn,.mini-btn,.seg-btn,.like-btn,.voice-chip,.budget-edit,.op-btn,.r-send,.r-copy,.share-btn,.kind-btn,.pp-btn,.tpl-toggle,.tpl-tab,.reset-tip,.lesson-entry,.avatar-upload,.btn-warn,.ep-item,.love-item,.tt,.sw,.sw-slider,.st,.loc,.g-card,.rec,.rec-item,.recent-item,.drug,.notice,.ph,.sp-loc,.tl-del,.pp-x{transition:border-color .18s,background .18s,color .18s,transform .15s,box-shadow .2s}.ep-btn:hover,.mini-btn:hover,.seg-btn:hover,.like-btn:hover,.voice-chip:hover,.budget-edit:hover,.op-btn:hover,.r-send:hover,.r-copy:hover,.share-btn:hover,.kind-btn:hover,.pp-btn:hover,.tpl-toggle:hover,.tpl-tab:hover,.reset-tip:hover,.lesson-entry:hover,.avatar-upload:hover,.btn-warn:hover,.ep-item:hover,.love-item:hover,.tt:hover,.sw:hover,.sw-slider:hover,.st:hover,.loc:hover,.rec:hover,.rec-item:hover,.recent-item:hover,.drug:hover,.notice:hover,.ph:hover,.sp-loc:hover,.tl-del:hover,.pp-x:hover{border-color:var(--ink-3)}.ep-btn:active,.mini-btn:active,.seg-btn:active,.like-btn:active,.voice-chip:active,.budget-edit:active,.op-btn:active,.r-send:active,.r-copy:active,.share-btn:active,.kind-btn:active,.pp-btn:active,.tpl-toggle:active,.tpl-tab:active,.reset-tip:active,.lesson-entry:active,.avatar-upload:active,.btn-warn:active,.ep-item:active,.love-item:active,.tt:active,.sw:active,.sw-slider:active,.st:active,.loc:active,.rec:active,.rec-item:active,.recent-item:active,.drug:active,.notice:active,.ph:active,.sp-loc:active,.tl-del:active,.pp-x:active{transform:scale(.97)}.g-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #2e2a2614}.g-card:active{transform:scale(.97)}.cal-arrow,.cal-nav button,.cal-cell{transition:background .18s,border-color .18s,color .18s}.cal-arrow:hover,.cal-nav button:hover,.cal-cell:hover{background:var(--bg)}.cal-arrow:active,.cal-nav button:active,.cal-cell:active{background:var(--primary-soft)}body[data-theme=dark] .notice.un{background:var(--surface-2);border-color:var(--line)}body[data-theme=dark] .cal-cell.partial,body[data-theme=dark] .lg-partial{background:#f59e4829}body[data-theme=dark] .cal-cell.missed,body[data-theme=dark] .lg-missed,body[data-theme=dark] .dt-tag.missed{background:#f0544f2e}body[data-theme=dark] .sum-tip,body[data-theme=dark] .sum-tip.mid{background:#f0be5f29}body[data-theme=dark] .sum-tip.low,body[data-theme=dark] .a-sug,body[data-theme=dark] .up-tip,body[data-theme=dark] .v-follow{background:#f0544f24}body[data-theme=dark] .gd-card.ok,body[data-theme=dark] .st-card.on,body[data-theme=dark] .love-item.done,body[data-theme=dark] .care-tag{background:#4caf5026}body[data-theme=dark] .k-birthday{background:#f0544f29}body[data-theme=dark] .k-anniversary{background:#aa78dc2e}body[data-theme=dark] .k-festival{background:#f0be5f29}body[data-theme=dark] .state-card.out,body[data-theme=dark] .tag-red{background:#f0544f29}body[data-theme=dark] .tag-gray{background:#7878782e}body[data-theme=dark] .gv-help{background:#2e2a25;border-color:#ffffff29;color:#f0a78c;box-shadow:0 6px 18px #00000080}body[data-theme=dark] .ob-points li{background:#ffffff0d;border-color:#ffffff1a;color:var(--ink-1);box-shadow:none}body[data-theme=dark] .cal-card{background:var(--surface);box-shadow:var(--shadow)}body[data-theme=dark] .cal-arrow,body[data-theme=dark] .vh-chip,body[data-theme=dark] .wr-cell,body[data-theme=dark] .as-chip,body[data-theme=dark] .as-item,body[data-theme=dark] .ep-btn,body[data-theme=dark] .mini-btn{background:var(--surface-2)}body[data-theme=dark] .celebrate{background:var(--surface)}body[data-theme=dark] .bar-track{background:#78827833}body[data-theme=dark] .mh-cell{background:#7882781f}body[data-theme=dark] .mh-cell.low{background:#f0be5f24}body[data-theme=dark] .streak-card.today.pending{background:#78787824}body[data-theme=dark] .map-empty{background:#78787829}body[data-theme=dark] .alert-item.warn{background:#f0be5f24}body[data-theme=dark] .led-ico.expense,body[data-theme=dark] .bill-item.soon .bill-ico,body[data-theme=dark] .sc-item.unwell{background:#f0544f29}body[data-theme=dark] .it-ico.warn,body[data-theme=dark] .it-act{background:#f59e4826}body[data-theme=dark] .sc-badge.ok,body[data-theme=dark] .sc-health,body[data-theme=dark] .wr-words,body[data-theme=dark] .medal-ico{background:#f5c87824}body[data-theme=dark] .sc-badge.unwell{background:#f0544f38}body[data-theme=dark] .sc-med,body[data-theme=dark] .o-ico.overdue,body[data-theme=dark] .like-btn.on,body[data-theme=dark] .wi-ico.learn{background:#f0544f21}body[data-theme=dark] .wi-ico.walk,body[data-theme=dark] .ph-badge.soon,body[data-theme=dark] .low-tip{background:#f59e4824}body[data-theme=dark] .s-ico{background:#f0be5f26}body[data-theme=dark] .s-ico.urgent{background:#f0544f2e}.hero-banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .22s ease,border-color .2s ease}.hero-banner:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#e8dcc9}.hero-banner:active{transform:scale(.99)}.hero-banner .hb-img{width:100%;height:auto;display:block;object-fit:contain}.hero-banner .hb-copy{padding:13px 16px 15px;border-top:1px solid var(--line)}.hero-banner .hb-title{display:block;font-size:19px;font-weight:700;color:var(--ink-1);line-height:1.4}.hero-banner .hb-sub{display:block;font-size:14px;color:var(--ink-2);margin-top:3px;line-height:1.55}@media(min-width:900px){.hero-banner{max-width:900px;margin-left:auto;margin-right:auto}.hero-banner .hb-copy{padding:16px 20px 18px}.hero-banner .hb-title{font-size:21px}.hero-banner .hb-sub{font-size:15px}}body[data-theme=dark] .hero-banner{background:var(--surface);border-color:var(--line)}body[data-theme=dark] .hero-banner .hb-copy{border-top-color:var(--line)}body[data-theme=dark] .dk-key{background:var(--surface-2);color:var(--ink-1);border-color:var(--line)}body[data-theme=dark] .dk-key:active{background:var(--primary-soft)}body[data-theme=dark] .mode-btn{background:var(--surface-2);color:var(--ink-2);border-color:var(--line)}body[data-theme=dark] .kb-key{background:var(--surface-2);color:var(--ink-1);border-color:var(--line)}body[data-theme=dark] .kb-key:active{background:var(--primary-soft)}body[data-theme=dark] .dest-chip{background:var(--surface-2);color:var(--ink-1);border-color:var(--line)}body[data-theme=dark] .ex-type{background:var(--surface-2);color:var(--ink-2)}body[data-theme=dark] .water-ring{--ring-track: rgba(120,130,120,.25)}body[data-theme=dark] .water-ring-in{background:var(--surface)}body[data-theme=dark] .water-bar{background:#78827833}body[data-theme=dark] .al-tip{background:#f0be5f1f;border-color:#f0be5f47}body[data-theme=dark] .sym-tip{background:#4caf501f;border-color:#4caf5047}body[data-theme=dark] .sym-urgent{background:#f0544f1f}body[data-theme=dark] .calc-keys .fn{background:#3b362f;color:var(--ink-2)}body[data-theme=dark] .cert-prog{background:#7882782e}body[data-theme=dark] .dy-task{background:#2a2621f0;color:var(--ink-1)}body[data-theme=dark] .daily-empty{background:#ffffff0a;border-color:var(--line);color:var(--ink-2)}body[data-theme=dark] .guard-entry{background:#aa78dc1f;border-color:#aa78dc4d}body[data-theme=dark] .inten-chip{background:var(--surface-2)}body[data-theme=dark] .inten-chip.gentle.on,body[data-theme=dark] .inten-chip.normal.on{background:#ffffff1f;border-color:var(--ink-3);color:var(--ink-1)}body[data-theme=dark] .inten-chip.important.on{background:#f0be5f29;border-color:#e0a63e;color:var(--warn)}body[data-theme=dark] .inten-chip.urgent.on{background:#f0544f29;border-color:var(--danger);color:var(--danger)}body[data-theme=dark] .seg-btn{background:var(--surface-2);color:var(--ink-2);border-color:var(--line)}body[data-theme=dark] .as-input{background:var(--surface);color:var(--ink-1);border-color:var(--line)}body[data-theme=dark] .leaflet-container{background:#1d1b18}body[data-theme=dark] .sp-top,body[data-theme=dark] .sp-foot{background:var(--surface);border-color:var(--line);color:var(--ink-1)}body.elder-mode{background:radial-gradient(880px 460px at 14% -6%,rgba(255,185,120,.2),transparent 65%),radial-gradient(720px 500px at 86% 106%,rgba(240,120,80,.14),transparent 65%),linear-gradient(180deg,#fdf8f0,#f7f2eb 40%)}body.elder-mode :root{--fs: 20px}body.elder-mode .app-shell{background:linear-gradient(180deg,#fdf8f0,#f7f2eb 40%)}body.elder-mode[data-scale="1.0"]{font-size:20px;--fs: 20px;--fs-s: 18px;--fs-m: 21px;--fs-l: 25px;--fs-xl: 32px;--fs-xxl: 40px}body.elder-mode[data-scale="1.2"]{font-size:22px;--fs: 22px;--fs-s: 20px;--fs-m: 23px;--fs-l: 27px;--fs-xl: 35px;--fs-xxl: 44px}body.elder-mode[data-scale="1.4"]{font-size:24px;--fs: 24px;--fs-s: 22px;--fs-m: 25px;--fs-l: 30px;--fs-xl: 38px;--fs-xxl: 48px}body.elder-mode[data-scale="1.6"]{font-size:26px;--fs: 26px;--fs-s: 24px;--fs-m: 27px;--fs-l: 32px;--fs-xl: 42px;--fs-xxl: 52px}body.elder-mode .btn{padding:16px 26px;border-radius:16px;min-height:56px;font-weight:600}body.elder-mode .input{padding:15px 16px;border-radius:14px;font-size:1.05em}body.elder-mode .card{border-radius:22px;border-width:1.5px}body.elder-mode .modal{border-radius:22px}body.elder-mode .tag{font-size:.82em;padding:5px 14px}body.elder-mode .avatar,body.elder-mode .avatar-fallback{border-width:2px}body.elder-mode .page-title{font-size:var(--fs-xl)}body.elder-mode .nav-label{font-size:.85em}.elder-main{padding-bottom:118px}.v407-back{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin:2px 0 14px;background:#fff;color:#3a3226;border:1.5px solid #E8DFD0;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #2e2a2614;transition:transform .12s ease,box-shadow .2s ease,background .2s ease}.v407-back:hover{background:#fbf3e4;box-shadow:0 4px 14px #2e2a261f}.v407-back:active{transform:scale(.96)}body[data-theme=dark] .v407-back{background:#2a2723;color:#f0e9dc;border-color:#3a352e}.elder-nav{position:fixed;bottom:24px;left:50%;transform:translate(-50%);width:calc(100% - 28px);max-width:592px;background:#fffdf8d1;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(238,227,210,.9);border-radius:26px;display:flex;z-index:100;padding:8px 10px;box-shadow:0 10px 34px #2e2a2624,inset 0 1px #ffffffe6}@media(min-width:900px){.elder-nav{bottom:36px;width:calc(100% - 32px);max-width:640px}}.elder-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0 10px;font-size:.85em;color:var(--ink-2);font-weight:500;border-radius:22px;position:relative;transition:transform .15s ease,color .18s,background .18s,box-shadow .18s}.elder-nav button.on{color:var(--primary);background:linear-gradient(135deg,#e0653a29,#e0653a12);box-shadow:inset 0 0 0 1px #e0653a33;font-weight:700}.elder-nav button.on:after{content:"";position:absolute;top:5px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--primary);box-shadow:0 0 8px #e0653a8c}.elder-nav button:not(.on):hover{color:var(--ink);background:#f0e9dc80}.elder-nav svg{width:34px;height:34px;transition:transform .18s ease}.elder-nav button.on svg{transform:translateY(-1px) scale(1.08)}.elder-nav button:active{transform:scale(.94)}body[data-theme=dark] .elder-nav{background:#26231fd9;border-color:#50483ecc;box-shadow:0 10px 34px #00000080,inset 0 1px #ffffff0f}body[data-theme=dark] .elder-nav button.on{background:linear-gradient(135deg,#e0653a38,#e0653a1a);box-shadow:inset 0 0 0 1px #e0653a4d}.rt-pad,.conv-tab,.teach-entry,.sc-opt,.mo-play,.bind-tip,.t-photo,.dest-chip,.cert-card,.theme-btn,.read-demo,.sos-drill-btn,.todo-item,.daily-card,.fav-entry,.guard-entry,.mic-btn,.recent-item,.learn-card,.qs-clear,.teach-feat{transition:border-color .18s,background .18s,color .18s,transform .15s,box-shadow .2s}.rt-pad:hover,.conv-tab:hover,.teach-entry:hover,.sc-opt:hover,.mo-play:hover,.bind-tip:hover,.t-photo:hover,.dest-chip:hover,.cert-card:hover,.theme-btn:hover,.read-demo:hover,.sos-drill-btn:hover,.todo-item:hover,.daily-card:hover,.fav-entry:hover,.guard-entry:hover,.mic-btn:hover,.recent-item:hover,.learn-card:hover,.qs-clear:hover,.teach-feat:hover{border-color:var(--ink-3)}.rt-pad:active,.conv-tab:active,.teach-entry:active,.sc-opt:active,.mo-play:active,.bind-tip:active,.t-photo:active,.dest-chip:active,.cert-card:active,.theme-btn:active,.read-demo:active,.sos-drill-btn:active,.todo-item:active,.daily-card:active,.fav-entry:active,.guard-entry:active,.mic-btn:active,.recent-item:active,.learn-card:active,.qs-clear:active,.teach-feat:active{transform:scale(.97)}.sos-banner,.guard-banner,.flash-box,.ck,.ck-cam-img{transition:border-color .18s,box-shadow .2s,filter .2s}.sos-banner:hover,.guard-banner:hover{box-shadow:0 6px 18px #2e2a261a}.flash-box:hover,.ck:hover,.ck-cam-img:hover{filter:brightness(1.03)}.sim-phone [data-teach]:not(.ph-app){transition:transform .13s,box-shadow .2s,background .18s,border-color .18s}.sim-phone [data-teach]:not(.ph-app):hover{transform:scale(1.03)}.sim-phone [data-teach]:not(.ph-app):active{transform:scale(.96)}.voice-chip,.cal-arrow,.cal-cell,.call-item,.bk-item,.call-btn,.dk-call,.dk-del,.dk-key,.hang,.ok,.cm-close,.cm-done,.dy-act,.dy-swipe,.add-btn,.pp-btn,.pp-x,.tl-del,.tl-photo,.wx-add,.wx-mic,.wx-send-photo,.wk-del,.wk-key,.wk-ok{transition:border-color .18s,background .18s,color .18s,transform .15s,box-shadow .2s}.voice-chip:hover,.cal-arrow:hover,.cal-cell:hover,.call-item:hover,.bk-item:hover,.call-btn:hover,.dk-call:hover,.dk-del:hover,.dk-key:hover,.hang:hover,.ok:hover,.cm-close:hover,.cm-done:hover,.dy-act:hover,.dy-swipe:hover,.add-btn:hover,.pp-btn:hover,.pp-x:hover,.tl-del:hover,.tl-photo:hover,.wx-add:hover,.wx-mic:hover,.wx-send-photo:hover,.wk-del:hover,.wk-key:hover,.wk-ok:hover{border-color:var(--ink-3);background:#f0e9dc73}.voice-chip:active,.cal-arrow:active,.cal-cell:active,.call-item:active,.bk-item:active,.call-btn:active,.dk-call:active,.dk-del:active,.dk-key:active,.hang:active,.ok:active,.cm-close:active,.cm-done:active,.dy-act:active,.dy-swipe:active,.add-btn:active,.pp-btn:active,.pp-x:active,.tl-del:active,.tl-photo:active,.wx-add:active,.wx-mic:active,.wx-send-photo:active,.wk-del:active,.wk-key:active,.wk-ok:active{transform:scale(.97)}.mini-btn,.g-card,.st,.op-btn,.s-check,.reset-tip,.like-btn,.loc,.it-act,.drug,.seg-btn,.as-btn,.as-del,.step-rm,.ep-item,.love-item,.share-btn,.ph,.n-readall,.notice,.plus,.danger{transition:transform .15s,box-shadow .2s,border-color .18s,background .18s}.mini-btn:hover,.g-card:hover,.st:hover,.op-btn:hover,.s-check:hover,.reset-tip:hover,.like-btn:hover,.loc:hover,.it-act:hover,.drug:hover,.seg-btn:hover,.as-btn:hover,.as-del:hover,.step-rm:hover,.ep-item:hover,.love-item:hover,.share-btn:hover,.ph:hover,.n-readall:hover,.notice:hover,.plus:hover,.danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2e2a2614}.mini-btn:active,.g-card:active,.st:active,.op-btn:active,.s-check:active,.reset-tip:active,.like-btn:active,.loc:active,.it-act:active,.drug:active,.seg-btn:active,.as-btn:active,.as-del:active,.step-rm:active,.ep-item:active,.love-item:active,.share-btn:active,.ph:active,.n-readall:active,.notice:active,.plus:active,.danger:active{transform:scale(.96)}@keyframes phHotPulse{0%{box-shadow:0 0 #f0544f8c,0 3px 8px #0000001f}70%{box-shadow:0 0 0 12px #f0544f00,0 3px 8px #0000001f}to{box-shadow:0 0 #f0544f00,0 3px 8px #0000001f}}.ph-app.hot .ph-logo{animation:phHotPulse 1.7s ease-out infinite}.sg{transition:background .25s,color .25s,transform .25s}.sg.on{transform:scale(1.08)}.done-card{animation:donePop .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes donePop{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
