/* ============================================================
   皮肤追踪 · 原生版样式（模仿原 Taro 皮肤 App 的观感）
   颜色：emerald 主色；rose/indigo/amber/cyan/sky/violet 分模块
   ============================================================ */
.sk-root{--sk-emerald:#10b981;--sk-emerald-bg:#ecfdf5;--sk-rose:#f43f5e;--sk-rose-bg:#fff1f2;--sk-indigo:#6366f1;--sk-indigo-bg:#eef2ff;--sk-amber:#f59e0b;--sk-amber-bg:#fef3c7;--sk-cyan:#06b6d4;--sk-cyan-bg:#ecfeff;--sk-sky:#0ea5e9;--sk-sky-bg:#f0f9ff;--sk-violet:#8b5cf6;--sk-violet-bg:#f5f3ff;--sk-green:#22c55e;--sk-line:#eef0f3;--sk-t1:#1f2937;--sk-t2:#6b7280;--sk-t3:#9ca3af;color:var(--sk-t1);font-size:14px;line-height:1.5;}
.sk-root *{box-sizing:border-box;}

/* 顶栏：标题 + 工具 + 三页签 */
.sk-top{position:sticky;top:0;z-index:5;background:var(--bg,#fff);border-bottom:1px solid var(--sk-line);padding:10px 12px 0;}
.sk-titlerow{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.sk-title b{font-size:17px;font-weight:700;display:block;}
.sk-title span{font-size:11px;color:var(--sk-t3);}
.sk-tools{display:flex;align-items:center;gap:6px;}
.sk-date{border:1px solid var(--sk-line);background:var(--sk-emerald-bg);color:#059669;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;}
.sk-mini{border:none;background:#f3f4f6;color:var(--sk-t2);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;}
.sk-mini:hover{background:#e5e7eb;}
.sk-mini.sk-emerald-bg{background:var(--sk-emerald-bg);color:#059669;}
.sk-mini.sk-rose-bg{background:var(--sk-rose-bg);color:var(--sk-rose);}
.sk-mini.sk-emeraldbg{background:var(--sk-emerald-bg);color:#059669;}
.sk-mini.sk-cyan{background:var(--sk-cyan);color:#fff !important;}
.sk-mini.sk-violet{background:var(--sk-violet);color:#fff !important;}
.sk-mini.sk-emerald{background:var(--sk-emerald);color:#fff !important;}
.sk-backfill{margin-top:8px;background:var(--sk-amber-bg);border-radius:8px;padding:6px 10px;font-size:12px;color:#b45309;display:flex;justify-content:space-between;align-items:center;}
.sk-backfill button{border:none;background:none;color:#059669;font-size:12px;font-weight:700;cursor:pointer;}
.sk-tabs{display:flex;margin-top:8px;}
.sk-tab{flex:1;border:none;background:none;padding:9px 0;font-size:13px;color:var(--sk-t3);cursor:pointer;border-bottom:2px solid transparent;}
.sk-tab.on{color:#059669;font-weight:700;border-bottom-color:var(--sk-emerald);}

.sk-view{padding:12px 12px 28px;}

/* 卡片 / 模块头 */
.sk-entry{display:flex;flex-direction:column;gap:10px;}
.sk-card{background:var(--bg,#fff);border:1px solid var(--sk-line);border-radius:14px;padding:12px;}
.sk-card.sk-plain{margin-bottom:10px;}
.sk-card.open{box-shadow:0 2px 10px rgba(0,0,0,.04);}
.sk-mh{display:flex;align-items:center;gap:8px;}
.sk-mh b{font-size:15px;font-weight:600;}
.sk-tog{margin-left:auto;border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;background:#f3f4f6;color:var(--sk-t2);}
.sk-tog.sk-rose{background:var(--sk-rose-bg);color:var(--sk-rose);}
.sk-tog.sk-indigo{background:var(--sk-indigo-bg);color:var(--sk-indigo);}
.sk-tog.sk-amber{background:var(--sk-amber-bg);color:#b45309 !important;}
.sk-tog.sk-cyan{background:var(--sk-cyan-bg);color:#0e7490;}
.sk-tog.sk-emerald{background:var(--sk-emerald-bg);color:#059669;}
.sk-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:#f3f4f6;color:var(--sk-t3);}
.sk-badge.on{background:var(--sk-emerald-bg);color:#059669;}
.sk-mv{display:flex;flex-direction:column;gap:2px;margin-right:2px;}
.sk-mv button{width:22px;height:18px;border:none;border-radius:4px;background:#f3f4f6;color:var(--sk-t2);font-size:9px;cursor:pointer;line-height:1;}
.sk-body{margin-top:12px;}

.sk-lbl{font-size:12px;color:var(--sk-t3);margin:10px 0 6px;}
.sk-lbl0{font-size:12px;font-weight:600;color:var(--sk-t2);}
.sk-lbl0.sk-danger-t{color:var(--sk-rose);}
.sk-note{font-size:12px;color:var(--sk-indigo);margin-top:6px;}
.sk-tip{font-size:11.5px;color:var(--sk-t3);line-height:1.6;margin-top:6px;}
.mt8{margin-top:8px;}

/* pill 标签 */
.sk-pills{display:flex;flex-wrap:wrap;gap:8px;}
.sk-pill{border:1px solid #e5e7eb;background:#fff;color:var(--sk-t2);border-radius:999px;padding:6px 12px;font-size:12.5px;cursor:pointer;}
.sk-pill.on{border-color:transparent;color:#fff !important;}
.sk-pill.on.sk-emerald{background:var(--sk-emerald);}
.sk-pill.on.sk-rose{background:var(--sk-rose);}
.sk-pill.on.sk-indigo{background:var(--sk-indigo);}
.sk-pill.on.sk-amberbg{background:#fbbf24;}
.sk-pill.on.sk-amber{background:var(--sk-amber);}
.sk-pill.on.sk-cyan{background:var(--sk-cyan);}
.sk-pill.on.sk-sky{background:var(--sk-sky);}
.sk-pill.on.sk-violet{background:var(--sk-violet);}
.sk-pill.on.sk-green{background:var(--sk-green);}
.sk-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid #e5e7eb;border-radius:999px;padding:3px 10px;font-size:11.5px;color:var(--sk-t2);}
.sk-chip button{border:none;background:none;color:inherit;cursor:pointer;font-size:13px;line-height:1;padding:0;}
.sk-chip.sk-rosebg{background:var(--sk-rose-bg);color:var(--sk-rose);border-color:transparent;}
.sk-chip.sk-emeraldbg{background:var(--sk-emerald-bg);color:#059669;border-color:transparent;}
.sk-chip.sk-violetbg{background:var(--sk-violet-bg);color:#6d28d9;border-color:transparent;}
.sk-chip.sk-cyanbg{background:var(--sk-cyan-bg);color:#0e7490;border-color:transparent;}
.sk-chip.sk-emerald{background:var(--sk-emerald);color:#fff;border-color:transparent;}

/* 液体球 */
.sk-sphere-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:8px;}
.sk-sphere{position:relative;width:132px;height:132px;border-radius:999px;overflow:hidden;background:radial-gradient(circle at 30% 30%,#f8fafc,#e5e7eb);border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.08);}
.sk-liquid{position:absolute;left:0;right:0;bottom:0;border-radius:999px;transition:height .6s ease;}
.sk-wave{position:absolute;bottom:-16px;left:-200%;width:400%;height:32px;border-radius:44%;opacity:.85;animation:skflow 6.5s infinite ease-in-out;}
.sk-wave.w2{bottom:-22px;opacity:.5;animation:skflow2 8.5s infinite ease-in-out;}
@keyframes skflow{0%,100%{transform:translateX(-6%) rotate(0)}50%{transform:translateX(6%) rotate(6deg)}}
@keyframes skflow2{0%,100%{transform:translateX(5%) rotate(0)}50%{transform:translateX(-5%) rotate(-6deg)}}
.sk-sphere-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;}
.sk-sphere-c b{font-size:22px;font-weight:700;color:#1f2937;}
.sk-sphere-c span{font-size:11px;color:#6b7280;margin-top:2px;}
.sk-sphere-tip{font-size:11px;color:var(--sk-t3);margin-top:8px;}

/* 照片 */
.sk-photos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px;}
.sk-photo{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;background:#f3f4f6;}
.sk-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.sk-photo-x{position:absolute;top:-2px;right:-2px;width:18px;height:18px;border:none;border-radius:999px;background:#fb7185;color:#fff;font-size:12px;line-height:1;cursor:pointer;}
.sk-photo-add{width:64px;height:64px;border:1px dashed #6ee7b7;border-radius:10px;background:var(--sk-emerald-bg);color:#059669;font-size:12px;cursor:pointer;}

/* 分数 / 位置 */
.sk-score{display:flex;flex-wrap:wrap;gap:6px;}
.sk-sdot{width:32px;height:32px;border-radius:999px;border:none;background:#f3f4f6;color:var(--sk-t2);font-size:12px;cursor:pointer;}
.sk-sdot.on{color:#fff;}
.sk-sdot.sk-emerald{background:var(--sk-emerald);}
.sk-sdot.sk-amberbg{background:#fbbf24;}
.sk-sdot.sk-rose{background:var(--sk-rose);}
.sk-locs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:var(--sk-rose-bg);border-radius:12px;padding:10px;margin-bottom:10px;}
.sk-loc{border:none;border-radius:8px;background:#fff;padding:8px 4px;cursor:pointer;display:flex;flex-direction:column;gap:2px;align-items:center;}
.sk-loc b{font-size:12px;color:var(--sk-t2);}
.sk-loc i{font-size:11px;color:var(--sk-t3);font-style:normal;}
.sk-loc.on{background:var(--sk-rose);}
.sk-loc.on b,.sk-loc.on i{color:#fff;}

/* 通用块 / 输入 */
.sk-box{background:#f7f8fa;border-radius:12px;padding:10px;margin-bottom:10px;}
.sk-box.sk-indigobg{background:var(--sk-indigo-bg);}
.sk-box.sk-emeraldbg{background:var(--sk-emerald-bg);}
.sk-box.sk-skybg{background:var(--sk-sky-bg);}
.sk-row{display:flex;gap:8px;align-items:center;}
.sk-row.sb{justify-content:space-between;margin-bottom:6px;}
.sk-row.exrow{margin-bottom:8px;}
.sk-row.exrow:last-child{margin-bottom:0;}
.sk-lbl0.exrow-n{flex:0 0 auto;min-width:56px;}
.sk-fld{flex:1;display:flex;flex-direction:column;gap:4px;}
.sk-fld span{font-size:11px;color:var(--sk-t3);}
.sk-in{width:100%;border:1px solid var(--sk-line);border-radius:10px;padding:9px 10px;font-size:14px;background:#fff;outline:none;}
.sk-in:focus{border-color:var(--sk-emerald);}
.sk-add{border:1px dashed #c7d2fe;background:none;border-radius:12px;padding:9px;width:100%;color:var(--sk-indigo);font-size:12px;cursor:pointer;margin-bottom:10px;}
.sk-total{background:var(--sk-indigo-bg);border-radius:12px;padding:8px;text-align:center;color:var(--sk-indigo);font-size:13px;font-weight:600;margin-bottom:10px;}
.sk-blk{margin-bottom:12px;}

/* 保存按钮 */
.sk-save{width:100%;border:none;border-radius:12px;padding:11px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;margin-top:4px;}
.sk-save.sk-rose{background:var(--sk-rose);color:#fff !important;}
.sk-save.sk-indigo{background:var(--sk-indigo);color:#fff !important;}
.sk-save.sk-amber{background:var(--sk-amber);color:#fff !important;}
.sk-save.sk-cyan{background:var(--sk-cyan);color:#fff !important;}
.sk-save.sk-emerald{background:var(--sk-emerald);color:#fff !important;}
.sk-save.sk-plainbtn{background:#f3f4f6;color:var(--sk-t2);}
.fl1{flex:1 1 0;min-width:0;}

/* 历史：月历 + 语录 + 统计块 */
.sk-hist{display:flex;flex-direction:column;gap:10px;}
.sk-mnav{display:flex;align-items:center;justify-content:space-between;}
.sk-mnav b{font-size:15px;font-weight:600;}
.sk-mnav button{border:none;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06);border-radius:8px;padding:7px 12px;font-size:12.5px;color:var(--sk-t2);cursor:pointer;}
.sk-wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:6px;}
.sk-wk span{text-align:center;font-size:11px;color:var(--sk-t3);}
.sk-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}
.sk-cell{aspect-ratio:1;border:none;background:none;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;color:var(--sk-t2);cursor:pointer;position:relative;}
.sk-cell.has{background:var(--sk-emerald-bg);}
.sk-cell.today{box-shadow:inset 0 0 0 1px #6ee7b7;}
.sk-cell:disabled{opacity:.4;cursor:default;}
.sk-dot{width:7px;height:7px;border-radius:999px;display:inline-block;margin-top:2px;}
.sk-dot.sk-emerald{background:var(--sk-emerald);}
.sk-dot.sk-amberbg{background:#fbbf24;}
.sk-dot.sk-rose{background:var(--sk-rose);}
.sk-legend{display:flex;gap:14px;justify-content:center;font-size:11.5px;color:var(--sk-t3);align-items:center;}
.sk-legend .sk-dot{margin:0 4px 0 0;}
.sk-quote{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--sk-emerald-bg);border:1px solid #d1fae5;border-radius:12px;padding:10px 12px;color:#047857;font-size:12.5px;cursor:pointer;}
.sk-quote span{flex:1;line-height:1.6;}
.sk-quote i{font-size:10px;color:#6ee7b7;font-style:normal;}
.sk-ov{display:flex;justify-content:space-around;text-align:center;margin-top:4px;}
.sk-ov b{display:block;font-size:18px;font-weight:700;}
.sk-ov span{font-size:11.5px;color:var(--sk-t3);}
.sk-store{display:flex;align-items:flex-end;gap:6px;margin-top:2px;}
.sk-store b{font-size:24px;font-weight:700;}
.sk-store span{font-size:11.5px;color:var(--sk-t3);padding-bottom:3px;}

/* 报告 */
.sk-rep{display:flex;flex-direction:column;gap:10px;}
.sk-sec{display:flex;align-items:baseline;gap:8px;font-size:14px;font-weight:600;margin-bottom:10px;}
.sk-sec i{font-size:11px;color:var(--sk-t3);font-style:normal;font-weight:400;}
.sk-trend{border-radius:16px;padding:20px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;}
.sk-trend b{font-size:22px;font-weight:700;}
.sk-trend span{font-size:12px;color:var(--sk-t3);}
.sk-trend i{font-size:11px;color:var(--sk-t3);font-style:normal;}
.sk-stats{display:flex;gap:8px;margin-top:12px;}
.sk-stats>div{flex:1;border-radius:12px;padding:10px 4px;text-align:center;}
.sk-stats b{display:block;font-size:17px;font-weight:700;}
.sk-stats span{font-size:11px;color:var(--sk-t3);}
.sk-wkex{display:flex;align-items:center;gap:12px;}
.sk-wkex-i{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto;}
.sk-wkex b{display:block;font-size:13.5px;font-weight:600;}
.sk-wkex span{font-size:12px;}
.sk-chart{width:100%;height:auto;display:block;}
.sk-empty2{background:#f7f8fa;border-radius:12px;padding:26px;text-align:center;font-size:12px;color:var(--sk-t3);}
.sk-crow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--sk-line);font-size:12.5px;}
.sk-crow:last-child{border-bottom:none;}
.sk-crow>span{flex:1;color:var(--sk-t2);}
.sk-crow i{font-size:11.5px;color:var(--sk-t3);font-style:normal;}
.sk-crow b{font-size:12px;font-weight:600;}
.sk-sug{display:flex;gap:8px;background:#f7f8fa;border-radius:12px;padding:10px;margin-bottom:8px;}
.sk-sug b{color:var(--sk-emerald);font-size:12px;margin-top:1px;}
.sk-sug span{flex:1;font-size:12.5px;color:var(--sk-t2);line-height:1.7;}
.sk-tcm{background:var(--sk-amber-bg);border-radius:12px;padding:10px;margin-bottom:8px;display:flex;flex-direction:column;gap:2px;}
.sk-tcm b{font-size:12.5px;color:#b45309;}
.sk-tcm span{font-size:12px;color:var(--sk-t2);}
.sk-tcm i{font-size:11px;color:var(--sk-t3);font-style:normal;}
.sk-empty{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center;}
.sk-empty-i{width:70px;height:70px;border-radius:999px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:12px;}
.sk-empty p{font-size:13px;color:var(--sk-t3);line-height:1.8;}
.sk-disc{background:#f3f4f6;border-radius:12px;padding:10px;font-size:11px;color:var(--sk-t3);line-height:1.7;text-align:center;}
.sk-emerald{color:#059669 !important;}
.sk-rose{color:var(--sk-rose) !important;}
.sk-indigo{color:var(--sk-indigo) !important;}
.sk-cyan{color:#0e7490 !important;}
.sk-violet{color:#6d28d9 !important;}
.sk-sky{color:var(--sk-sky) !important;}
.sk-gray{color:var(--sk-t3) !important;}

/* 历史详情 / 看图 */
.sk-mask{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:200;display:flex;align-items:flex-end;justify-content:center;}
.sk-mask[hidden]{display:none !important;}
.sk-mask.dark{background:rgba(0,0,0,.9);align-items:center;}
.sk-mask.dark img{max-width:92vw;max-height:82vh;object-fit:contain;}
.sk-mask.dark>span{position:absolute;bottom:20px;color:#9ca3af;font-size:12px;}
.sk-sheet{width:100%;max-width:520px;background:#fff;border-radius:16px 16px 0 0;max-height:86vh;display:flex;flex-direction:column;animation:skup .24s cubic-bezier(.32,.72,0,1);}
@keyframes skup{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(min-width:560px){.sk-mask{align-items:center;}.sk-sheet{border-radius:16px;max-height:82vh;}}
.sk-sheet-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-size:15px;font-weight:600;border-bottom:1px solid var(--sk-line);}
.sk-sheet-h button{border:none;background:#f3f4f6;border-radius:8px;padding:5px 12px;font-size:12.5px;color:var(--sk-t2);cursor:pointer;}
.sk-sheet-b{padding:14px 16px;overflow:auto;}
.sk-dsec{margin-bottom:16px;}
.sk-dsec>b{display:block;font-size:13.5px;font-weight:600;margin-bottom:8px;}
.sk-drow{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--sk-t2);margin-bottom:8px;}
.sk-scoretag{font-style:normal;color:#fff !important;font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;}
.sk-scoretag.sk-emerald{background:var(--sk-emerald);}
.sk-scoretag.sk-amberbg{background:#fbbf24;}
.sk-scoretag.sk-rose{background:var(--sk-rose);}
.sk-dphotos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.sk-dphotos img{width:64px;height:64px;border-radius:10px;object-fit:cover;cursor:pointer;}
.sk-sleeprow{display:flex;justify-content:space-between;background:var(--sk-indigo-bg);border-radius:10px;padding:8px 10px;font-size:12px;color:var(--sk-t2);margin-bottom:6px;}
.sk-sleeprow i{font-style:normal;color:var(--sk-indigo);font-weight:600;}

/* 历史页：导出表格 / 危险操作 —— 默认收起，点标题展开（防误点） */
.sk-fold{padding:0;}
.sk-fold>summary{list-style:none;cursor:pointer;user-select:none;padding:12px 14px;}
.sk-fold>summary::-webkit-details-marker{display:none;}
.sk-fold>summary::after{content:'展开 ▾';float:right;font-size:12px;font-weight:600;color:#94a3b8;}
.sk-fold[open]>summary::after{content:'收起 ▴';}
.sk-fold>summary+.sk-tip{padding:0 14px;}
.sk-fold>summary+.sk-tip~*{margin-left:14px;margin-right:14px;}
.sk-fold .sk-row.mt8{margin:8px 14px 14px;}
.sk-fold>summary+.sk-tip~button{margin:8px 14px 14px;}
.sk-fold-danger>summary::after{color:#e11d48;}

/* ============================================================
   v20261018a · 今日投入：完成度横条 / 目标表单 / 睡眠→皮肤因果条
   ============================================================ */
.sk-inputc{background:#f6fdfa;border-color:#a7f3d0;}
.sk-inp{margin-bottom:10px;}
.sk-inp-t{display:flex;align-items:baseline;justify-content:space-between;gap:8px;}
.sk-inp-t span{font-size:13px;font-weight:600;color:var(--sk-t1);}
.sk-inp-t span i{margin-left:6px;font-size:11px;font-weight:400;font-style:normal;color:var(--sk-t3);}
.sk-inp-t b{font-size:12px;font-weight:600;color:#059669;}
.sk-inp-t b.sk-nonet{font-weight:500;color:var(--sk-t3);}
.sk-bar{margin-top:6px;height:8px;border-radius:999px;background:#dcf5e9;overflow:hidden;}
.sk-bar i{display:block;height:100%;border-radius:999px;background:var(--sk-emerald);transition:width .35s ease;}
.sk-inp.none .sk-bar{background:#eef0f3;}
.sk-inp.none .sk-bar i{background:#e3e6ea;}
.sk-inp-sum{display:flex;align-items:baseline;gap:8px;margin-top:2px;padding-top:10px;border-top:1px dashed #e5e7eb;}
.sk-inp-sum span{font-size:12px;color:var(--sk-t2);}
.sk-inp-sum b{font-size:20px;font-weight:700;color:#059669;}
.sk-inp-sum em{margin-left:auto;font-size:11px;font-style:normal;color:var(--sk-t3);text-align:right;}
.sk-gbox{margin-top:10px;padding:10px;background:#fff;border:1px solid var(--sk-line);border-radius:12px;}
.sk-gf{display:block;margin-bottom:8px;}
.sk-gf em{display:block;margin-bottom:4px;font-size:11.5px;font-style:normal;color:var(--sk-t2);}
.sk-causec{border-color:#e0e7ff;}
.sk-causec.good{border-color:#a7f3d0;background:#f6fdfa;}
.sk-causetxt{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--sk-t1);}
.sk-causetxt b{font-size:18px;font-weight:700;color:#059669;}
