/* 竖线时间轴 */ .timeline{padding-left:var(--sp-6);position:relative} .timeline::before{content:"";position:absolute;left:12rpx;top:12rpx;bottom:16rpx;width:4rpx;background:#E8DED0} .time-block{position:relative;margin-bottom:var(--sp-4)} .time-label{font-weight:var(--fw-b);color:var(--primary-dark);font-size:var(--fs-sm);margin-bottom:var(--sp-3);position:relative} .time-date{margin-left:var(--sp-2);font-weight:var(--fw);color:var(--muted);font-size:var(--fs-cap)} .time-label::before{ content:"";position:absolute;left:-34rpx;top:8rpx;width:24rpx;height:24rpx;border-radius:50%; background:var(--primary);border:6rpx solid #fff;box-shadow:0 0 0 4rpx var(--primary-line); } .plan-task{ background:#fff;border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--sd-1); border:1rpx solid transparent;display:flex;gap:var(--sp-3);align-items:flex-start; } .plan-task.done{opacity:.55} .pk-check{ width:44rpx;height:44rpx;border-radius:50%;border:4rpx solid #DED1C4;flex:none;margin-top:2rpx; display:flex;align-items:center;justify-content:center;color:#fff; } .plan-task.done .pk-check{background:var(--green);border-color:var(--green)} .pk-body{flex:1} .pk-b{font-size:var(--fs-md);font-weight:var(--fw-b)} .pk-p{color:var(--muted);font-size:var(--fs-sm);line-height:1.45;margin-top:var(--sp-1)} .ai-plan-tip{color:var(--muted);font-size:var(--fs-sm);line-height:1.6;margin-bottom:var(--sp-3)} /* 日历 */ /* AI 提取信息 */ .extracted{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin:var(--sp-4) 0} .extract{background:var(--surface-2);border-radius:var(--r-sm);padding:var(--sp-3);font-size:var(--fs-sm)} .ex-b{display:block;font-size:var(--fs-sm);margin-bottom:6rpx;font-weight:var(--fw-b);color:var(--muted)} /* 计划节点右侧的删除键。计划是用户自己排的,就得能删 */ .pk-del{flex:none;padding:0 var(--sp-1);color:var(--muted2);display:flex;align-items:center} /* 加/改计划的浮层。字段只有三个,再开一页太重 */ .pe-mask{ position:fixed;inset:0;z-index:200;background:rgba(45,41,37,.45); display:flex;align-items:flex-end; } .pe-sheet{ width:100%;background:var(--bg2);border-radius:var(--r-lg) var(--r-lg) 0 0; padding:var(--sp-5) var(--pad-x) calc(var(--sp-5) + env(safe-area-inset-bottom)); box-shadow:var(--sd-3);max-height:82vh;overflow-y:auto; } .pe-h{font-size:var(--fs-lg);font-weight:var(--fw-b);margin-bottom:var(--sp-4);text-align:center} /* 下月还空着时的提示。放在月历里而不是弹 toast——用户切到下月本来就是来排的 */ .plan-tip{ display:flex;align-items:center;gap:var(--sp-2); background:var(--primary-soft);color:var(--primary-ink); border-radius:var(--r-sm);padding:var(--sp-3); font-size:var(--fs-sm);margin-bottom:var(--sp-3); } .pe-daily{display:flex;align-items:center;gap:var(--sp-4)} .pe-daily-main{flex:1;min-width:0} /* 空月份的提示条:一行放不下「文案 + 按钮」,改成 flex */ .plan-tip-b{flex:1;min-width:0} /* 套方案浮层 */ .pt-sub{margin:calc(-1 * var(--sp-2)) 0 var(--sp-4);text-align:center} .pt-item{ border:2rpx solid var(--line);border-radius:var(--r-md); padding:var(--sp-4);margin-bottom:var(--sp-3);background:#fff; } .pt-name{font-size:var(--fs-md);font-weight:var(--fw-b);color:var(--text)} .pt-sum{font-size:var(--fs-sm);color:var(--text-2);margin-top:6rpx;line-height:1.5} .pt-meta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-2); font-size:var(--fs-cap);color:var(--muted)}