:root{
  --bg:#f5f6fa; --surface:#ffffff; --text:#171923; --muted:#74798a; --line:#e9ebf1;
  --accent:#3455f5; --accent-soft:#eef1ff; --green:#1f9d68; --orange:#d97706; --purple:#7c3aed;
  --shadow:0 10px 30px rgba(24,32,56,.07); --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif}
body{min-height:100vh}
button,input,select,textarea{font:inherit}
button{border:0;background:none;color:inherit}
.app-shell{width:min(100%,430px);min-height:100vh;margin:0 auto;background:var(--bg);position:relative;padding-bottom:calc(86px + env(safe-area-inset-bottom))}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 18px 10px;position:sticky;top:0;z-index:5;background:rgba(245,246,250,.92);backdrop-filter:blur(16px)}
.date-label{font-size:13px;color:var(--muted);font-weight:600;margin-bottom:4px}
h1{font-size:25px;line-height:1.15;margin:0;letter-spacing:-.5px}
.completion-pill{background:#171923;color:#fff;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700}
.page{display:none;padding:8px 16px 24px}.page.active{display:block}
.hero-card{background:linear-gradient(145deg,#1c2442,#303b68);color:white;border-radius:26px;padding:20px;box-shadow:var(--shadow);display:flex;align-items:end;justify-content:space-between;gap:14px}
.hero-card p{font-size:13px;margin:6px 0 0;color:#d9def8}.hero-title{font-size:19px;font-weight:750;margin-top:4px}.eyebrow{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8d93a5;font-weight:800}.hero-card .eyebrow{color:#aeb8f3}
.primary-btn{background:white;color:#222a50;padding:11px 13px;border-radius:14px;font-weight:750;white-space:nowrap}
.card-grid{display:grid;gap:12px;margin-top:12px}.two-col{grid-template-columns:1fr 1fr}
.info-card,.wide-card,.report-card,.settings-card{background:var(--surface);border-radius:var(--radius);box-shadow:0 1px 0 rgba(18,23,38,.02);border:1px solid rgba(232,234,241,.8)}
.info-card{text-align:left;padding:16px;min-height:150px}.card-icon{font-size:22px;margin-bottom:14px}.card-title{font-size:13px;color:var(--muted);font-weight:700}.card-value{font-size:16px;font-weight:800;margin-top:5px;line-height:1.35}.card-hint{font-size:11px;color:#a0a5b3;margin-top:8px}
.wide-card{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 16px;margin-top:12px;text-align:left}.wide-card-left{display:flex;gap:12px;align-items:center}.wide-card .card-icon{margin:0}.chevron{font-size:28px;color:#a4a8b5}
.section-title-row{display:flex;align-items:end;justify-content:space-between;margin:22px 2px 10px}.section-title-row h2,.page-heading h2{font-size:20px;margin:4px 0 0;letter-spacing:-.3px}.section-title-row.compact{margin:0 0 12px}.text-btn{font-size:13px;color:var(--accent);font-weight:800}
.work-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.work-chip{border-radius:18px;padding:12px 10px;background:#fff;border:1px solid var(--line)}.work-chip span{display:block;font-size:12px;color:var(--muted)}.work-chip strong{font-size:22px;margin-right:2px}.work-chip small{color:#9a9fad}.teaching{border-top:3px solid var(--accent)}.youth{border-top:3px solid var(--green)}.other{border-top:3px solid var(--purple)}
.record-list{margin-top:10px;display:grid;gap:8px}.empty-state{background:#eef0f5;border-radius:18px;padding:18px;text-align:center;color:#7f8492}.empty-state small{display:block;margin-top:5px;color:#a0a5b0}.record-item{background:#fff;border:1px solid var(--line);padding:13px 14px;border-radius:17px}.record-item-top{display:flex;justify-content:space-between;gap:8px}.record-item strong{font-size:14px}.record-item .meta{font-size:11px;color:var(--muted);margin-top:4px}.record-item .result{font-size:12px;color:#4b5060;margin-top:7px;line-height:1.45}.tag{font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:#f0f2f7;color:#606579}.notes-title{margin-top:24px}
.page-heading{padding:12px 2px 4px}.page-heading p{font-size:13px;color:var(--muted);line-height:1.5;margin:7px 0 0}.history-list{display:grid;gap:10px;margin-top:14px}.history-day{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px}.history-day strong{display:block;font-size:14px}.history-day p{margin:8px 0 0;font-size:12px;color:#666d7c;line-height:1.5}
.weekly-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.kpi-card{background:white;border:1px solid var(--line);border-radius:20px;padding:15px}.kpi-card span{display:block;color:var(--muted);font-size:12px}.kpi-card strong{font-size:28px;margin-right:3px}.kpi-card small{color:#969baa;font-size:11px}.report-card{padding:16px;margin-top:12px}.bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:46px 1fr 34px;align-items:center;gap:8px;font-size:12px}.bar-track{height:9px;background:#eef0f5;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:#2f54eb;border-radius:999px}.insight-text{font-size:13px;color:#4d5261;line-height:1.7}
.settings-card{overflow:hidden;margin-top:14px}.setting-row{width:100%;padding:16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.setting-row:last-child{border-bottom:0}.setting-row b{color:#9095a4}.setting-row.danger{color:#c0392b}.notice-box{margin-top:14px;background:#fff6dc;color:#6d5417;border-radius:18px;padding:15px;font-size:12px;line-height:1.6}
.bottom-nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,430px);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;color:#9ca1ae}.nav-item span{font-size:18px;line-height:1}.nav-item em{font-style:normal;font-size:10px;font-weight:700}.nav-item.active{color:var(--accent)}
.overlay{position:fixed;inset:0;background:rgba(10,14,24,.36);opacity:0;pointer-events:none;transition:.2s;z-index:30}.overlay.show{opacity:1;pointer-events:auto}.sheet{position:fixed;z-index:40;left:50%;bottom:0;width:min(100%,430px);max-height:87vh;overflow:auto;transform:translate(-50%,105%);transition:.25s cubic-bezier(.2,.8,.2,1);background:#fff;border-radius:26px 26px 0 0;padding:8px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -12px 35px rgba(19,26,48,.16)}.sheet.show{transform:translate(-50%,0)}.sheet-handle{width:40px;height:5px;border-radius:999px;background:#d9dce4;margin:3px auto 10px}.sheet-header{display:flex;align-items:center;justify-content:space-between}.sheet-header h3{font-size:20px;margin:6px 0 16px}.close-sheet{font-size:25px;color:#8a90a0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.single-label{font-size:12px;color:#686e7d;font-weight:700}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;margin-top:6px;border:1px solid #dfe2ea;border-radius:13px;background:#f9fafc;padding:11px 12px;outline:none;color:#1d2230}textarea{resize:none}.save-btn{width:100%;margin-top:18px;background:var(--accent);color:#fff;border-radius:15px;padding:14px;font-weight:800}.range-block{background:#f7f8fb;border-radius:16px;padding:12px 14px;margin-bottom:10px}.range-block>div{display:flex;justify-content:space-between;font-size:13px}.range-block input{padding:0;margin-top:10px}.helper-text{font-size:11px;color:#9398a6;margin-top:8px;line-height:1.5}
@media (max-width:360px){.hero-card{display:block}.primary-btn{margin-top:14px}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.weekly-kpis{grid-template-columns:1fr 1fr}}

.voice-row{display:flex;align-items:center;gap:10px;margin-top:12px}.voice-btn{flex:0 0 auto;background:#eef1ff;color:#2948d7;border:1px solid #dbe1ff;border-radius:13px;padding:10px 12px;font-size:12px;font-weight:800}.voice-btn.listening{background:#fff0f0;color:#c0392b;border-color:#ffd4d4}.voice-status{font-size:11px;line-height:1.45;color:#8d93a2}.voice-status.error{color:#b33a2f}@media (max-width:360px){.voice-row{align-items:stretch;flex-direction:column}.voice-btn{width:100%}}


/* V0.2.1 云端连接 */
.cloud-card{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px}
.cloud-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cloud-card-head h3{font-size:18px;margin:4px 0 0}
.cloud-badge{font-size:11px;font-weight:800;border-radius:999px;padding:7px 9px;white-space:nowrap;background:#eef0f5;color:#737989}
.cloud-badge.saved{background:#eef1ff;color:#3455f5}.cloud-badge.testing{background:#fff6dc;color:#8a670f}.cloud-badge.connected{background:#e9f8f1;color:#14784e}.cloud-badge.error{background:#fff0f0;color:#b33a2f}
.cloud-token-label{display:block;margin-top:18px}.token-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.token-input-row input{margin-top:6px}.secondary-small-btn{margin-top:6px;border:1px solid #dfe2ea;background:#f7f8fb;border-radius:12px;padding:11px 12px;font-size:12px;font-weight:800;color:#555c6c}
.cloud-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:9px;margin-top:14px}.secondary-btn{border:1px solid #dfe2ea;background:#f7f8fb;border-radius:15px;padding:13px 10px;font-size:13px;font-weight:800}.cloud-test-btn{margin-top:0;padding:13px 10px}.cloud-test-btn:disabled{opacity:.6}
.cloud-status{margin-top:12px;border-radius:14px;background:#f6f7fa;padding:11px 12px;color:#73798a;font-size:11px;line-height:1.55}.cloud-status.success{background:#edf9f3;color:#176d4d}.cloud-status.error{background:#fff1f1;color:#a23b34}
.settings-subheading{margin-top:18px}
@media (max-width:360px){.cloud-actions{grid-template-columns:1fr}.token-input-row{grid-template-columns:1fr auto}}

/* V0.2.2 随手记同步状态 */
.synced-tag{background:#e9f8f1;color:#14784e}.local-tag{background:#fff6dc;color:#8a670f}
