:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--input-area-height:210px;--ink-900:#1d1d1f;--ink-800:#333336;--ink-700:#424245;--ink-600:#6e6e73;--ink-500:#86868b;--ink-400:#a1a1a6;--ink-300:#c7c7cc;--ink-200:#d2d2d7;--ink-100:#e8e8ed;--bg:#fbfbfd;--bg-secondary:#f5f5f7;--bg-tertiary:#fafafc;--seal:#b8342a;--seal-light:#d4564c;--seal-glow:#b8342a14;--primary:var(--seal);--primary-light:var(--seal-light);--text-secondary:var(--ink-600);--border:#e5e5e7;--border-medium:#d2d2d7;--border-strong:#c7c7cc;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 12px #0000000f, 0 1px 4px #0000000a;--shadow-lg:0 8px 28px #00000014, 0 2px 8px #0000000a;--shadow-xl:0 16px 48px #0000001a, 0 4px 16px #0000000f;--ease-spring:cubic-bezier(.25, .46, .45, .94);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:18px;--font-display:"ZCOOL XiaoWei", "Noto Serif SC", serif;--font-serif:"Noto Serif SC", "Source Han Serif SC", serif;--font-hand:"LXGW WenKai TC", "KaiTi", cursive;--font-body:-apple-system, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background:var(--bg);color:var(--ink-700);min-height:100vh;line-height:1.6}#root{max-width:620px;padding:0 20px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--input-area-height));background:var(--bg);min-height:100vh;margin:0 auto}.header{text-align:center;padding:44px 0 20px;position:relative}.header:after{content:"";background:var(--seal);border-radius:1px;width:32px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.header h1{font-family:var(--font-display);color:var(--ink-900);letter-spacing:.12em;font-size:1.75rem;font-weight:400;line-height:1.2}.header p{font-family:var(--font-hand);color:var(--ink-600);margin-top:6px;font-size:.82rem;font-weight:400}.header-seal{display:none}.nav-bar{z-index:50;-webkit-backdrop-filter:blur(20px)saturate(1.8);border-radius:var(--radius);background:#fbfbfdb8;gap:0;margin:20px 0 24px;padding:3px;display:flex;position:sticky;top:8px;box-shadow:0 1px #00000008,0 8px 24px #0000000d}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav-bar{background:#fbfbfdf5}}.nav-btn{font-family:var(--font-body);color:var(--ink-500);cursor:pointer;border-radius:calc(var(--radius) - 2px);transition:color .3s var(--ease-spring), background .3s var(--ease-spring), box-shadow .3s var(--ease-spring), transform .12s var(--ease-spring);letter-spacing:.02em;background:0 0;border:none;flex:1;padding:9px 8px;font-size:.76rem;font-weight:500;position:relative}.nav-btn:hover{color:var(--ink-700)}.nav-btn:active{transform:scale(.96)}.nav-btn.active{background:var(--bg);color:var(--ink-900);font-weight:600;box-shadow:0 2px 8px #0000000f,0 0 1px #0000000a}.card{background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .25s var(--ease-spring);border:none;margin-bottom:12px;padding:22px 24px}.card:hover{box-shadow:var(--shadow-lg)}.card:active{box-shadow:var(--shadow-sm)}.card-date{color:var(--ink-600);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:600;font-family:var(--font-body);margin-bottom:10px}.card-content{color:var(--ink-800);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.7;display:-webkit-box;overflow:hidden}@supports not (-webkit-line-clamp:2){.card-content{max-height:calc(3.128rem + .3em);display:block}}.input-area{z-index:100;padding:14px 20px;padding-bottom:max(14px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px)saturate(1.6);background:#fbfbfdd1;border-top:.5px solid #fff9;position:fixed;bottom:0;left:0;right:0;overflow-x:hidden;box-shadow:0 -8px 24px #0000000a}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.input-area{background:#fbfbfdf5}}.input-area-inner{background:var(--bg);border:1px solid var(--border);max-width:620px;transition:border-color .3s var(--ease-smooth), background .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth), transform .3s var(--ease-smooth);border-radius:22px;align-items:flex-end;gap:8px;margin:0 auto;padding:5px 5px 5px 18px;display:flex;position:relative;box-shadow:0 2px 12px #0000000a}.input-area-inner:focus-within{border-color:var(--seal);background:var(--bg);box-shadow:0 0 0 4px var(--seal-glow), 0 4px 16px #0000000f;transform:scale(1.01)}.input-area textarea{font-size:.9rem;font-family:var(--font-body);resize:none;min-height:24px;max-height:100px;color:var(--ink-800);background:0 0;border:none;outline:none;flex:1;padding:10px 0;line-height:1.5}.input-area textarea::placeholder{color:var(--ink-500);font-weight:300}.input-area button{background:var(--seal);color:#fff;cursor:pointer;width:38px;height:38px;transition:all .25s var(--ease-spring);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;display:flex;box-shadow:0 2px 6px #b8342a33}.input-area button:hover{transform:scale(1.06);box-shadow:0 4px 14px #b8342a4d}.input-area button:active{transform:scale(.9);box-shadow:0 1px 3px #b8342a33}.input-area button:disabled{background:var(--ink-100);color:var(--ink-500);box-shadow:none;cursor:not-allowed;transform:none}.back-btn{color:var(--ink-400);font-family:var(--font-body);cursor:pointer;transition:color .2s var(--ease-smooth), transform .12s var(--ease-smooth);background:0 0;border:none;margin-bottom:4px;padding:14px 0;font-size:.82rem;font-weight:500}.back-btn:hover{color:var(--seal)}.back-btn:active{transform:scale(.97)}.detail-entry{background:linear-gradient(160deg, #2c2c2e 0%, var(--ink-900) 60%);color:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:20px;padding:24px;position:relative;overflow:hidden}.detail-entry:before{content:"";background:linear-gradient(90deg,#0000,#ffffff47,#0000);height:1px;position:absolute;top:0;left:0;right:0}.detail-entry-label{color:#fff9;letter-spacing:.06em;margin-bottom:10px;font-size:.66rem;font-weight:500}.detail-entry-content{white-space:pre-wrap;color:#ffffffd9;font-size:.95rem;line-height:1.8;font-family:var(--font-hand)}.review-section{background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:none;margin-bottom:14px;padding:24px}.review-section.warning-card{border-left:3px solid #b8860b}.review-section.warning-card .review-name{color:#b8860b}.review-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;display:flex}.review-avatar{font-size:1.6rem;line-height:1}.review-name{font-family:var(--font-serif);color:var(--ink-900);letter-spacing:.02em;font-size:1rem;font-weight:700}.review-free{white-space:pre-wrap;color:var(--ink-700);text-align:justify;margin-bottom:20px;font-size:.9rem;line-height:1.9}.structured-summary{background:var(--bg-secondary);border-radius:var(--radius);border-left:3px solid var(--seal);padding:18px}.structured-item{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:12px}.structured-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.structured-label{color:var(--seal);letter-spacing:.04em;margin-bottom:4px;font-size:.7rem;font-weight:600}.structured-value{color:var(--ink-700);font-size:.85rem;line-height:1.7}.weekly-expert-block{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.weekly-actions-block{margin-top:12px}.followup-section{border-top:1px dashed var(--border);margin-top:16px;padding-top:14px}.followup-title{color:var(--ink-500);letter-spacing:.06em;margin-bottom:10px;font-size:.7rem;font-weight:600}.followup-item{background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:12px;padding:10px 12px}.followup-item:last-child{margin-bottom:0}.followup-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.followup-name{color:var(--ink-900);font-size:.78rem;font-weight:600}.followup-comment{color:var(--ink-700);font-size:.85rem;line-height:1.7}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 .6em}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--ink-900);margin:.9em 0 .45em;font-weight:600;line-height:1.4}.markdown-body h1{font-size:1.25em}.markdown-body h2{font-size:1.15em}.markdown-body h3{font-size:1.05em}.markdown-body h4{font-size:.98em}.markdown-body ul,.markdown-body ol{margin:0 0 .6em;padding-left:1.5em}.markdown-body li{margin-bottom:.3em}.markdown-body li>p{margin-bottom:.2em}.markdown-body blockquote{border-left:3px solid var(--seal);background:var(--bg-secondary);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-600);margin:0 0 .6em;padding:.35em .9em}.markdown-body code{background:var(--bg-secondary);border-radius:4px;padding:.15em .4em;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85em}.markdown-body pre{background:var(--bg-secondary);border-radius:var(--radius);max-width:100%;margin:0 0 .6em;padding:10px 12px;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body table{border-collapse:collapse;width:100%;margin:0 0 .6em;font-size:.85em}.markdown-body th,.markdown-body td{border:1px solid var(--border);text-align:left;padding:6px 10px}.markdown-body th{background:var(--bg-secondary);font-weight:600}.markdown-body strong{color:var(--ink-900)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.markdown-body a{color:var(--seal)}.chat-section{margin-top:24px}.chat-messages{margin-bottom:16px}.chat-msg{border-radius:var(--radius-lg);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;max-width:80%;margin-bottom:10px;padding:12px 16px;font-size:.86rem;line-height:1.7;animation:.25s bubbleIn}@keyframes bubbleIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-msg.user{background:var(--seal);color:#fff;border-bottom-right-radius:4px;margin-left:auto}.chat-msg.assistant{background:var(--bg);color:var(--ink-700);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-bottom-left-radius:4px}.chat-input-row{gap:8px;display:flex}.chat-input-row input{border:1px solid var(--border);border-radius:var(--radius-xl);font-size:.86rem;font-family:var(--font-body);background:var(--bg-secondary);outline:none;flex:1;padding:12px 16px;transition:all .25s}.chat-input-row input:focus{border-color:var(--seal);background:var(--bg);box-shadow:0 0 0 3px var(--seal-glow)}.chat-input-row button{background:var(--ink-900);color:#fff;border-radius:var(--radius-xl);font-size:.82rem;font-family:var(--font-body);cursor:pointer;border:none;padding:12px 20px;font-weight:600;transition:background .2s,transform .2s}.chat-input-row button:hover{background:var(--seal)}.chat-input-row button:active{transform:scale(.97)}.chat-input-row button:disabled{background:var(--ink-100);color:var(--ink-500);cursor:not-allowed}.settings-panel{background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:none;margin-bottom:12px;padding:22px}.settings-panel h3{font-family:var(--font-serif);color:var(--ink-900);letter-spacing:.02em;border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:10px;font-size:.92rem;font-weight:700}.settings-field{margin-bottom:16px}.settings-field label{color:var(--ink-400);letter-spacing:.03em;margin-bottom:6px;font-size:.72rem;font-weight:600;display:block}.settings-field input,.settings-field select{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:.86rem;font-family:var(--font-body);background:var(--bg-secondary);outline:none;padding:12px 14px;transition:all .25s}.settings-field input:focus,.settings-field select:focus{border-color:var(--seal);background:var(--bg);box-shadow:0 0 0 3px var(--seal-glow)}.settings-save-btn{background:var(--ink-900);color:#fff;border-radius:var(--radius);font-size:.88rem;font-family:var(--font-body);cursor:pointer;width:100%;transition:all .25s var(--ease-spring);letter-spacing:.02em;border:none;padding:14px 24px;font-weight:600}.settings-save-btn:hover{background:var(--seal);transform:translateY(-1px);box-shadow:0 4px 12px #b8342a33}.settings-save-btn:active{transform:translateY(0)scale(.98)}.growth-stats{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.stat-card{text-align:center}.stat-value{color:var(--seal);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.stat-value.trend-up{color:#4a9}.stat-value.trend-down{color:#c66}.stat-label{color:var(--ink-500);margin-top:2px;font-size:.75rem}.dim-bars{margin-top:12px}.dim-bar{margin-bottom:10px}.dim-bar-head{justify-content:space-between;margin-bottom:3px;font-size:.8rem;display:flex}.dim-bar-value{color:var(--ink-500);font-variant-numeric:tabular-nums}.dim-bar-track{background:var(--bg-secondary);border-radius:3px;height:6px;overflow:hidden}.dim-bar-fill{background:var(--seal-light);height:100%;transition:width .4s var(--ease-smooth);border-radius:3px}.btn-danger{border:1px solid var(--seal);border-radius:var(--radius);color:var(--seal);cursor:pointer;font-size:.85rem;font-family:var(--font-body);transition:background .2s var(--ease-smooth), transform .12s var(--ease-smooth);background:0 0;margin-top:12px;padding:8px 20px;font-weight:500}.btn-danger:hover{background:var(--seal-glow)}.btn-danger:active{transform:scale(.97)}.contact-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-secondary);margin-bottom:8px;padding:10px}.contact-card-row{gap:6px;margin-bottom:6px;display:flex}.contact-remove-btn{cursor:pointer;color:var(--ink-400);transition:color .2s var(--ease-smooth), transform .12s var(--ease-smooth);background:0 0;border:none;font-size:.85rem}.contact-remove-btn:hover{color:var(--ink-700)}.contact-remove-btn:active{transform:scale(.9)}.contact-select{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-body);background:var(--bg);flex:1;padding:4px 8px}.contact-add-btn{border:1px dashed var(--border-strong);border-radius:var(--radius);cursor:pointer;font-size:.8rem;font-family:var(--font-body);color:var(--ink-500);transition:border-color .2s var(--ease-smooth), color .2s var(--ease-smooth), transform .12s var(--ease-smooth);background:0 0;padding:8px 16px}.contact-add-btn:hover{border-color:var(--seal);color:var(--seal)}.contact-add-btn:active{transform:scale(.97)}.weekly-generate-btn{background:linear-gradient(180deg, var(--seal-light) 0%, var(--seal) 100%);color:#fff;border-radius:var(--radius-lg);width:100%;font-size:.9rem;font-family:var(--font-body);cursor:pointer;letter-spacing:.02em;transition:transform .15s var(--ease-spring), box-shadow .25s var(--ease-smooth);border:none;margin-bottom:16px;padding:14px 24px;font-weight:600;box-shadow:0 2px 10px #b8342a38}.weekly-generate-btn:hover:not(:disabled){box-shadow:0 4px 18px #b8342a4d}.weekly-generate-btn:active:not(:disabled){transform:scale(.98)}.weekly-generate-btn:disabled{background:var(--ink-100);color:var(--ink-500);box-shadow:none;cursor:not-allowed}.expert-selector{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.expert-chip{border:1px solid var(--border);font-size:.72rem;font-family:var(--font-body);cursor:pointer;transition:border-color .2s var(--ease-smooth), color .2s var(--ease-smooth), background .2s var(--ease-smooth), transform .12s var(--ease-smooth);background:var(--bg);color:var(--ink-500);border-radius:14px;padding:6px 12px;font-weight:500}.expert-chip:active{transform:scale(.96)}.expert-chip:hover{border-color:var(--seal);color:var(--seal)}.expert-chip.selected{background:var(--ink-900);color:#fff;border-color:var(--ink-900)}.expert-chip.recommended{border-color:var(--seal);background:var(--seal-glow);color:var(--seal);font-weight:600}.loading{text-align:center;color:var(--ink-400);font-size:.88rem;font-family:var(--font-hand);padding:80px 20px}.loading-dots{animation:breathe 2s var(--ease-smooth) infinite;display:inline-block}@keyframes breathe{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.empty-state{text-align:center;color:var(--ink-400);padding:100px 24px}.empty-state-emoji{opacity:.55;margin-bottom:18px;font-size:2.8rem}.empty-state-text{font-size:.92rem;line-height:1.8;font-family:var(--font-hand);color:var(--ink-600)}.empty-state.compact{padding:28px 0}footer,.footer-disclaimer{font-family:var(--font-body);color:var(--ink-600)}.init-error-banner{border-radius:var(--radius);max-width:620px;color:var(--seal);background:#b8342a14;border:1px solid #b8342a33;justify-content:space-between;align-items:center;gap:12px;margin:12px auto 0;padding:10px 14px;font-size:.82rem;display:flex}.init-error-banner button{background:var(--seal);color:#fff;font-family:var(--font-body);border-radius:calc(var(--radius) - 2px);cursor:pointer;border:none;flex-shrink:0;padding:6px 14px;font-size:.78rem;font-weight:500}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-100);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}::selection{background:var(--seal-glow);color:var(--seal)}:focus{outline:2px solid var(--seal);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--seal);outline-offset:2px}.auth-container{background:radial-gradient(ellipse at 50% 30%, #fff 0%, var(--bg-secondary) 70%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-header{text-align:center;margin-bottom:32px;position:relative}.auth-header h1{font-family:var(--font-display);color:var(--ink-900);letter-spacing:.14em;font-size:2.4rem;font-weight:400}.auth-header p{font-family:var(--font-hand);color:var(--ink-500);letter-spacing:.04em;margin-top:10px;font-size:.88rem;font-weight:300}.auth-card{background:var(--bg);border-radius:var(--radius-xl);width:100%;max-width:360px;box-shadow:var(--shadow-xl);animation:cardReveal .5s var(--ease-spring);padding:32px 28px}@keyframes cardReveal{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-tabs{background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:24px;padding:3px;display:flex}.auth-tab{color:var(--ink-500);cursor:pointer;border-radius:calc(var(--radius) - 2px);transition:color .25s var(--ease-spring), background .25s var(--ease-spring), box-shadow .25s var(--ease-spring), transform .12s var(--ease-spring);background:0 0;border:none;flex:1;padding:10px 0;font-size:.88rem;font-weight:500}.auth-tab:active{transform:scale(.97)}.auth-tab.active{color:var(--ink-900);background:var(--bg);box-shadow:var(--shadow-sm);font-weight:600}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-field{animation:fieldReveal .4s var(--ease-spring) both}.auth-field:first-child{animation-delay:80ms}.auth-field:nth-child(2){animation-delay:.14s}.auth-field:nth-child(3){animation-delay:.2s}@keyframes fieldReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-field label{color:var(--ink-500);letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px;font-size:.72rem;font-weight:600;display:block}.auth-field input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:.9rem;font-family:var(--font-body);background:var(--bg-secondary);transition:all .3s var(--ease-smooth);padding:13px 16px;box-shadow:inset 0 1px 2px #00000008}.auth-field input:focus{border-color:var(--seal);background:var(--bg);box-shadow:0 0 0 3px var(--seal-glow);outline:none}.auth-field input::placeholder{color:var(--ink-500)}.auth-error{color:#a33;border-radius:var(--radius-sm);background:#cc66661f;padding:8px 12px;font-size:.8rem}.auth-submit-btn{background:var(--seal);color:#fff;border-radius:var(--radius);cursor:pointer;width:100%;transition:all .25s var(--ease-spring);border:none;margin-top:4px;padding:14px;font-size:.95rem;font-weight:600;box-shadow:0 2px 8px #b8342a33}.auth-submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #b8342a4d}.auth-submit-btn:active{transform:translateY(0)scale(.97);box-shadow:0 1px 4px #b8342a33}.auth-submit-btn:disabled{background:var(--ink-100);color:var(--ink-400);cursor:not-allowed;box-shadow:none;transform:none}.auth-hint{text-align:center;color:var(--ink-500);font-size:.75rem}.welcome-page{background:var(--bg);min-height:100vh}.welcome-hero{text-align:center;background:radial-gradient(ellipse at 50% 20%, #fff 0%, var(--bg-secondary) 80%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:60px 24px;display:flex;position:relative}.welcome-hero-inner{max-width:680px}.welcome-logo{width:52px;height:52px;animation:welcomeFadeUp .6s var(--ease-spring) both;border-radius:14px;margin-bottom:20px;box-shadow:0 8px 24px #0a7d2c47}.welcome-eyebrow{font-family:var(--font-hand);color:var(--seal);letter-spacing:.12em;animation:welcomeFadeUp .6s var(--ease-spring) both;margin-bottom:16px;font-size:.95rem;font-weight:400}.welcome-title{font-family:var(--font-display);color:var(--ink-900);letter-spacing:.06em;animation:welcomeFadeUp .7s var(--ease-spring) 60ms both;margin-bottom:18px;font-size:clamp(2.8rem,8vw,4.5rem);font-weight:400;line-height:1.1}.welcome-tagline{font-family:var(--font-serif);color:var(--ink-700);letter-spacing:.04em;animation:welcomeFadeUp .7s var(--ease-spring) .14s both;margin-bottom:28px;font-size:clamp(1.1rem,3.5vw,1.5rem);font-weight:400}.welcome-subtitle{color:var(--ink-500);animation:welcomeFadeUp .7s var(--ease-spring) .22s both;margin-bottom:40px;font-size:.95rem;line-height:1.9}.welcome-cta-row{animation:welcomeFadeUp .7s var(--ease-spring) .3s both;justify-content:center;gap:12px;margin-bottom:14px;display:flex}.welcome-btn-primary{background:var(--seal);color:#fff;font-size:.95rem;font-family:var(--font-body);cursor:pointer;transition:all .25s var(--ease-spring);letter-spacing:.02em;border:none;border-radius:980px;padding:14px 36px;font-weight:600;box-shadow:0 2px 12px #b8342a33}.welcome-btn-primary:hover{transform:scale(1.03);box-shadow:0 4px 20px #b8342a4d}.welcome-btn-primary:active{transform:scale(.97);box-shadow:0 1px 6px #b8342a33}.welcome-btn-lg{padding:16px 48px;font-size:1.05rem}.welcome-btn-secondary{color:var(--ink-700);border:1px solid var(--border-medium);font-size:.95rem;font-family:var(--font-body);cursor:pointer;transition:all .25s var(--ease-spring);background:0 0;border-radius:980px;padding:14px 36px;font-weight:500}.welcome-btn-secondary:hover{border-color:var(--ink-400);color:var(--ink-900);background:var(--bg-secondary)}.welcome-btn-secondary:active{transform:scale(.97)}.welcome-hint{color:var(--ink-600);animation:welcomeFadeUp .7s var(--ease-spring) .38s both;font-size:.78rem}.welcome-hero-scroll-hint{color:var(--ink-300);animation:scrollHint 2s var(--ease-smooth) infinite;font-size:.72rem;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}@keyframes scrollHint{0%,to{opacity:.3;transform:translate(-50%)translateY(0)}50%{opacity:.8;transform:translate(-50%)translateY(6px)}}.welcome-section{justify-content:center;padding:100px 24px;display:flex}.welcome-section-alt{background:var(--bg-secondary)}.welcome-section-inner{width:100%;max-width:680px}.welcome-section-label{color:var(--seal);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:600}.welcome-section-title{font-family:var(--font-serif);color:var(--ink-900);margin-bottom:48px;font-size:clamp(1.5rem,4.5vw,2.2rem);font-weight:700;line-height:1.3}.welcome-steps{flex-direction:column;gap:0;display:flex}.welcome-step{border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;padding:28px 0;display:flex}.welcome-step:last-child{border-bottom:none}.welcome-step-num{font-family:var(--font-display);color:var(--seal);margin-bottom:10px;font-size:1.3rem;font-weight:400}.welcome-step h3{font-family:var(--font-serif);color:var(--ink-900);margin-bottom:8px;font-size:1.05rem;font-weight:700}.welcome-step p{color:var(--ink-500);font-size:.9rem;line-height:1.8}.welcome-expert-card{background:var(--bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);gap:20px;margin-bottom:24px;padding:32px;display:flex}.welcome-expert-avatar{flex-shrink:0;font-size:2.4rem;line-height:1}.welcome-expert-body{flex:1}.welcome-expert-name{font-family:var(--font-serif);color:var(--ink-900);margin-bottom:8px;font-size:1.1rem;font-weight:700}.welcome-expert-desc{color:var(--ink-600);margin-bottom:16px;font-size:.88rem;line-height:1.8}.welcome-expert-quote{font-family:var(--font-hand);color:var(--ink-700);border-left:3px solid var(--seal);padding-left:16px;font-size:.92rem;line-height:1.9}.welcome-expert-note{color:var(--ink-400);font-size:.85rem;line-height:1.8}.welcome-feature-grid{flex-direction:column;gap:24px;display:flex}.welcome-feature{background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.welcome-feature-icon{margin-bottom:14px;font-size:1.8rem;line-height:1}.welcome-feature h3{font-family:var(--font-serif);color:var(--ink-900);margin-bottom:8px;font-size:1rem;font-weight:700}.welcome-feature p{color:var(--ink-500);font-size:.88rem;line-height:1.8}.welcome-privacy-features{flex-direction:column;gap:20px;display:flex}.welcome-privacy-item{flex-direction:column;gap:6px;display:flex}.welcome-privacy-item h3{font-family:var(--font-serif);color:var(--ink-900);font-size:.98rem;font-weight:700}.welcome-privacy-item p{color:var(--ink-500);font-size:.88rem;line-height:1.7}.welcome-cta-section{text-align:center;background:radial-gradient(ellipse at 50% 50%, #fff 0%, var(--bg-secondary) 80%);padding:120px 24px}.welcome-cta-inner{max-width:520px;margin:0 auto}.welcome-cta-title{font-family:var(--font-display);color:var(--ink-900);letter-spacing:.08em;margin-bottom:12px;font-size:clamp(2rem,6vw,3rem);font-weight:400}.welcome-cta-subtitle{font-family:var(--font-serif);color:var(--ink-600);margin-bottom:36px;font-size:1rem}.welcome-footer{text-align:center;padding:40px 24px;font-size:.72rem}.welcome-auth-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px)saturate(1.2);background:#0000004d;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.welcome-auth-overlay{background:#0000008c}}.welcome-auth-modal{width:100%;max-width:400px;position:relative}.welcome-auth-modal .auth-container{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overscroll-behavior:contain;min-height:0;max-height:min(90vh,90dvh);overflow:hidden auto}.welcome-auth-modal .auth-close-btn{z-index:10;cursor:pointer;width:32px;height:32px;color:var(--ink-400);transition:all .2s var(--ease-spring);-webkit-backdrop-filter:blur(10px);background:#fffc;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.welcome-auth-modal .auth-close-btn:hover{color:var(--ink-900);background:#fffffff2;transform:scale(1.1)}.welcome-auth-modal .auth-close-btn:active{transform:scale(.9)}@keyframes welcomeFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width>=768px){.welcome-feature-grid{flex-direction:row;gap:16px}.welcome-feature{flex:1}.welcome-step{flex-direction:row;align-items:flex-start;gap:24px}.welcome-step-num{flex-shrink:0;width:40px}.welcome-step>h3,.welcome-step>p{width:auto}:root{--layout-max:1080px}#root{max-width:var(--layout-max);padding:0 32px}.input-area-inner,.init-error-banner{max-width:var(--layout-max)}.card-grid{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.detail-columns{grid-template-columns:1.2fr 1fr;align-items:start;gap:20px;display:grid}.detail-col-left,.detail-col-right{min-width:0}.detail-col-right{position:sticky;top:20px}.settings-grid{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.settings-grid>.settings-save-btn{grid-column:1/-1}}@media (width>=1200px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-transparency:reduce){.input-area,.nav-bar{-webkit-backdrop-filter:none;background:#fbfbfdfa}.welcome-auth-overlay{-webkit-backdrop-filter:none;background:#0009}.welcome-auth-modal .auth-close-btn{-webkit-backdrop-filter:none;background:#fffffff2}}.summary-trigger-btn{background:linear-gradient(135deg, var(--seal-glow), var(--bg-secondary));border:1px solid var(--border);border-left:3px solid var(--seal);border-radius:var(--radius);width:100%;font-size:.82rem;font-weight:600;font-family:var(--font-body);color:var(--ink-800);cursor:pointer;transition:all .2s var(--ease-smooth);align-items:center;gap:8px;margin-top:4px;padding:12px 16px;display:flex}.summary-trigger-btn:hover{border-color:var(--seal-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.summary-trigger-btn:active{transform:translateY(0)}.summary-trigger-icon{font-size:1rem}.summary-trigger-arrow{color:var(--seal);margin-left:auto;font-size:1.1rem;line-height:1}.review-actions{gap:10px;margin-top:4px;display:flex}.review-actions .summary-trigger-btn{flex:1;width:auto}.followup-detail-btn{background:var(--bg-secondary);border:1px solid var(--border);font-size:.75rem;font-weight:600;font-family:var(--font-body);color:var(--ink-700);cursor:pointer;transition:all .2s var(--ease-smooth);border-radius:999px;align-items:center;gap:5px;margin-top:8px;padding:6px 12px;display:inline-flex}.followup-detail-btn:hover{border-color:var(--seal-light);color:var(--seal);transform:translateY(-1px)}.summary-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);background:#1d1d1f73;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.summary-modal{background:var(--bg);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:82vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.summary-modal-header{border-bottom:1px solid var(--border);background:var(--bg-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.summary-modal-title{font-family:var(--font-serif);color:var(--ink-900);align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.summary-modal-close{background:var(--bg-secondary);width:28px;height:28px;color:var(--ink-600);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;transition:all .15s;display:flex}.summary-modal-close:hover{background:var(--ink-100);color:var(--ink-900)}.summary-modal-body{padding:20px;overflow-y:auto}.summary-block{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:16px}.summary-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.summary-block-label{color:var(--seal);letter-spacing:.05em;margin-bottom:8px;font-size:.7rem;font-weight:700}.summary-block-text{color:var(--ink-700);text-align:justify;font-size:.86rem;line-height:1.8}.summary-wisdom{background:var(--seal-glow);border-radius:var(--radius);border-bottom:none;padding:14px 16px}.summary-wisdom .summary-block-text{font-family:var(--font-serif);font-size:.9rem}.summary-action-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.summary-action-item{align-items:flex-start;gap:10px;display:flex}.summary-action-num{background:var(--seal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:.68rem;font-weight:700;display:flex}.summary-action-text{color:var(--ink-700);font-size:.86rem;line-height:1.7}.summary-todo-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.summary-todo-item{align-items:flex-start;gap:10px;display:flex}.summary-todo-box{border:1.5px solid var(--seal-light);background:var(--bg);border-radius:4px;flex-shrink:0;width:16px;height:16px;margin-top:3px}.summary-todo-text{color:var(--ink-700);font-size:.86rem;line-height:1.7}.chat-expert-selector{margin-bottom:12px}.chat-expert-selector-label{color:var(--ink-500);letter-spacing:.06em;margin-bottom:6px;font-size:.66rem;font-weight:600;display:block}.chat-expert-chips{flex-wrap:wrap;gap:6px;display:flex}.radar-svg{width:100%;max-width:340px;margin:8px auto 4px;display:block}.radar-grid{fill:none;stroke:var(--border);stroke-width:1px}.radar-axis{stroke:var(--border);stroke-width:.75px;stroke-dasharray:2 3}.radar-data{fill:#b8342a24;stroke:var(--seal);stroke-width:2px;stroke-linejoin:round}.radar-dot{fill:var(--seal);stroke:var(--bg);stroke-width:1.5px}.radar-label{fill:var(--ink-800);font-size:11px;font-weight:600;font-family:var(--font-body)}.radar-score{fill:var(--seal);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700;font-family:var(--font-body)}.dim-detail-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.dim-detail-item{background:var(--bg-secondary);border-radius:var(--radius);padding:10px 12px}.dim-detail-head{align-items:center;gap:8px;margin-bottom:2px;display:flex}.dim-detail-name{color:var(--ink-900);font-size:.82rem;font-weight:700}.dim-detail-trend{font-size:.78rem;font-weight:700}.dim-detail-trend.trend-up{color:#2a7d4f}.dim-detail-trend.trend-down{color:#c0392b}.dim-detail-trend.trend-flat{color:var(--ink-400)}.dim-detail-score{color:var(--seal);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.78rem;font-weight:700}.dim-detail-desc{color:var(--ink-500);margin-bottom:6px;font-size:.7rem}.profile-raw-input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:.85rem;font-family:var(--font-body);color:var(--ink-700);background:var(--bg-secondary);resize:vertical;outline:none;min-height:110px;padding:12px 14px;line-height:1.7;transition:all .25s}.profile-raw-input:focus{border-color:var(--seal);background:var(--bg);box-shadow:0 0 0 3px var(--seal-glow)}.profile-parsed{border-top:1px dashed var(--border);padding-top:12px}@media (prefers-contrast:more){.nav-bar{border:1px solid var(--border-medium)}.input-area{border-top:1px solid var(--border-medium)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.welcome-hero-scroll-hint{opacity:.4}}.timeline-list{flex-direction:column;gap:14px;display:flex}.entry-card{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease-smooth), border-color .2s var(--ease-smooth);background:#fff;padding:18px}.entry-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-medium)}.entry-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.entry-card-day{color:var(--ink-800);font-weight:600}.entry-card-time{color:var(--ink-500);font-size:.75rem}.entry-card-content{color:var(--ink-700);white-space:pre-wrap;word-break:break-word;line-height:1.7}.entry-card-summary{background:var(--bg-secondary);border-radius:var(--radius);color:var(--ink-600);gap:8px;margin-top:12px;padding:10px 12px;font-size:.85rem;display:flex}.entry-card-summary-tag{color:var(--seal);flex-shrink:0;font-weight:600}.entry-card-review{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:10px;margin-top:12px;padding:12px;display:flex}.entry-card-review-badge{background:var(--seal-glow);width:28px;height:28px;color:var(--seal);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.entry-card-review-name{color:var(--ink-800);font-size:.8rem;font-weight:600}.entry-card-review-text{color:var(--ink-600);margin-top:2px;font-size:.8rem}.entry-card-foot{color:var(--ink-500);justify-content:space-between;align-items:center;margin-top:10px;font-size:.75rem;display:flex}.entry-card-arrow{color:var(--ink-400);font-size:1.2rem}.composer-preview-bar{-webkit-backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);cursor:pointer;transition:border-color .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);background:#ffffffbf;align-items:center;gap:12px;margin:16px 0 8px;padding:12px 14px;display:flex}.composer-preview-bar:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.composer-preview-text{color:var(--ink-500);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.95rem;overflow:hidden}.composer-preview-text.empty{color:var(--ink-400)}.composer-count{color:var(--ink-400);flex-shrink:0;font-size:.72rem}.composer-count.warn{color:var(--seal-light)}.composer-send-btn,.composer-confirm-btn{border-radius:var(--radius);background:var(--seal);color:#fff;cursor:pointer;transition:background .2s var(--ease-smooth), transform .1s var(--ease-smooth);border:none;padding:8px 16px;font-size:.85rem}.composer-send-btn:hover,.composer-confirm-btn:hover{background:var(--seal-light)}.composer-send-btn:disabled,.composer-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.composer-overlay{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.composer-modal{background:var(--bg);border-radius:var(--radius-xl);width:min(560px,100%);box-shadow:var(--shadow-xl);flex-direction:column;gap:14px;padding:20px;display:flex}.composer-modal-head{justify-content:space-between;align-items:center;display:flex}.composer-modal-head span{color:var(--ink-800);font-weight:600}.composer-modal-head button{color:var(--seal);cursor:pointer;background:0 0;border:none;font-size:.85rem}.composer-modal textarea{resize:vertical;border:1px solid var(--border-medium);border-radius:var(--radius);width:100%;min-height:140px;font-size:1rem;font-family:var(--font-body);background:#fff;outline:none;padding:12px 14px;line-height:1.7}.composer-modal textarea:focus{border-color:var(--seal);box-shadow:0 0 0 3px var(--seal-glow)}.composer-modal-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.structured-inline{background:var(--bg-secondary);border-radius:var(--radius);margin-top:14px;padding:14px}.structured-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.structured-list-item{color:var(--ink-700);font-size:.9rem;line-height:1.6}.user-card-inline{background:var(--bg-secondary);border-radius:var(--radius);align-items:center;gap:12px;margin:8px 0 12px;padding:12px;display:flex}.user-card-avatar{background:var(--seal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;display:flex}.user-card-body{flex:1;min-width:0}.user-card-name{color:var(--ink-800);font-weight:600}.user-card-meta{color:var(--ink-500);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.user-card-meta .tier-tag{color:var(--seal);font-weight:600}.user-card-refresh{border:1px solid var(--border-medium);color:var(--ink-700);border-radius:var(--radius);cursor:pointer;background:#fff;padding:6px 12px;font-size:.78rem}.expert-chip.locked{opacity:.65;cursor:not-allowed}.welcome-onboarding{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex;position:relative;overflow:hidden}.welcome-onboard-blobs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.welcome-onboard-blob{filter:blur(80px);opacity:.55;border-radius:50%;position:absolute}.welcome-onboard-blob.blob-a{background:#b8342a2e;width:360px;height:360px;top:-60px;left:-80px}.welcome-onboard-blob.blob-b{background:#23788229;width:320px;height:320px;top:30%;right:-60px}.welcome-onboard-blob.blob-c{background:#785ab424;width:280px;height:280px;bottom:-80px;left:20%}.welcome-onboard-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:20px;width:min(420px,100%);display:flex;position:relative}.welcome-onboard-skip{color:var(--ink-500);cursor:pointer;background:0 0;border:none;font-size:.85rem;position:absolute;top:0;right:0}.welcome-onboard-slide{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:240px;display:flex}.welcome-onboard-icon{width:80px;height:80px;box-shadow:var(--shadow-lg);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:2.4rem;display:flex}.welcome-onboard-title{font-family:var(--font-display);color:var(--ink-900);font-size:1.6rem}.welcome-onboard-desc{color:var(--ink-600)}.welcome-onboard-dots{gap:8px;display:flex}.welcome-onboard-dot{background:var(--ink-300);border-radius:50%;width:8px;height:8px}.welcome-onboard-dot.active{background:var(--seal);border-radius:4px;width:22px}.welcome-onboard-cta{width:100%;max-width:260px}.tab-bar{display:none}@media (width<=768px){.nav-bar{display:none}.tab-bar{z-index:60;padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 8px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);background:#ffffffd9;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar-btn{color:var(--ink-500);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:6px 10px;font-size:.72rem}.tab-bar-btn.active{color:var(--seal);background:var(--seal-glow);font-weight:600}#root{padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--input-area-height) + 64px)}}@media (width>=768px){.timeline-list{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}}@media (width>=1200px){.timeline-list{grid-template-columns:repeat(3,1fr)}}
