:root{color:#26342b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f7f4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#e9ede9;min-width:320px;overflow-x:hidden}body{background:#f5f7f4;width:100%;min-width:320px;margin:0;overflow-x:hidden}body.detail-open{overflow:hidden}button,input,select{font-family:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer}#app{background:#f5f7f4;width:min(100%,540px);margin:0 auto;overflow-x:hidden}@media (width>=541px){body{background:#e8ece8}#app{width:540px;box-shadow:0 0 48px #1f302614}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-icon[data-v-cee2c065]{width:1.25em;height:1.25em;display:inline-flex}svg[data-v-cee2c065]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.filter-block[data-v-2db797db]{position:relative}.filter-row[data-v-2db797db]{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}label[data-v-2db797db]{background:#fff;border:1px solid #e2e7e2;border-radius:13px;flex-direction:column;gap:3px;min-width:0;padding:10px 32px 10px 12px;display:flex;position:relative}label>span[data-v-2db797db]{color:#8a948d;font-size:13px;line-height:1}select[data-v-2db797db]{color:#26342b;appearance:none;background:0 0;border:0;outline:0;width:100%;padding:0;font:650 16px/1.4 inherit}label[data-v-2db797db] .app-icon{color:#6f7a72;pointer-events:none;width:17px;height:17px;position:absolute;bottom:11px;right:10px}.reset[data-v-2db797db]{color:#2f7554;background:0 0;border:0;margin:12px 0 0 auto;padding:4px 2px;font:650 16px/1.3 inherit;display:block}.project-card[data-v-d037947b]{--status:#269b63;--status-soft:#eaf7f0;cursor:pointer;text-align:left;background:#fff;border:1px solid #e9ece8;border-radius:18px;padding:16px 17px 15px 21px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 8px 26px #192e220e}.project-card[data-v-d037947b]:active{transform:scale(.985)}.project-card[data-v-d037947b]:focus-visible{outline:3px solid color-mix(in srgb, var(--status) 35%, transparent);outline-offset:2px}.status-需关注[data-v-d037947b]{--status:#dd7b25;--status-soft:#fff1e4}.status-已完成[data-v-d037947b]{--status:#69877a;--status-soft:#eef2ef}.status-未启动[data-v-d037947b],.status-暂停[data-v-d037947b]{--status:#8a918c;--status-soft:#f1f2f1}.status-rail[data-v-d037947b]{background:var(--status);border-radius:0 4px 4px 0;width:4px;position:absolute;inset:15px auto 15px 0}.card-heading[data-v-d037947b]{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}h3[data-v-d037947b]{color:#17231c;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:730;line-height:1.38}.tags[data-v-d037947b]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.type-tag[data-v-d037947b],.status-tag[data-v-d037947b]{white-space:nowrap;border-radius:8px;height:26px;padding:0 10px;font-size:15px;line-height:26px}.type-tag[data-v-d037947b]{color:#5e6a62;background:#f3f5f3}.status-tag[data-v-d037947b]{color:var(--status);background:var(--status-soft);align-items:center;gap:6px;font-weight:650;display:inline-flex}.status-tag i[data-v-d037947b]{background:currentColor;border-radius:50%;width:7px;height:7px}.progress-summary[data-v-d037947b]{flex-direction:column;flex:none;align-items:flex-end;gap:7px;margin-top:3px;display:flex}.progress-number[data-v-d037947b]{color:var(--status);letter-spacing:-.6px;font-variant-numeric:tabular-nums;font-size:26px;line-height:1}.progress-summary span[data-v-d037947b]{color:#768078;font-size:15px;line-height:1}.progress-track[data-v-d037947b]{background:#edf0ed;border-radius:999px;height:8px;margin-top:11px;overflow:hidden}.progress-track span[data-v-d037947b]{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--status) 62%, white), var(--status));height:100%;transition:width .65s cubic-bezier(.2,.7,.2,1);display:block}.next-step[data-v-d037947b]{border-top:1px solid #eef0ee;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:10px;margin-top:12px;padding-top:10px;display:grid}.next-step span[data-v-d037947b]{color:#7a847d;white-space:nowrap;font-size:15px}.next-step p[data-v-d037947b]{color:#29382f;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:17px;line-height:1.42;display:-webkit-box;overflow:hidden}.deadline[data-v-d037947b]{color:#68736b;align-items:center;gap:7px;margin-top:9px;font-size:15px;display:flex}.deadline[data-v-d037947b] .app-icon{color:var(--status)}.compact[data-v-d037947b]{padding-bottom:18px}@media (width>=620px){.project-card[data-v-d037947b]:hover{transform:translateY(-2px);box-shadow:0 12px 32px #192e2217}}.detail-layer[data-v-f7c49416]{--status:#269b63;--status-soft:#eaf7f0;z-index:50;pointer-events:none;position:fixed;inset:0}.status-需关注[data-v-f7c49416]{--status:#dd7b25;--status-soft:#fff1e4}.status-已完成[data-v-f7c49416]{--status:#69877a;--status-soft:#eef2ef}.scrim[data-v-f7c49416]{opacity:0;background:#0d181140;border:0;padding:0;transition:opacity .32s;position:absolute;inset:0}.detail-sheet[data-v-f7c49416]{top:var(--origin-top);left:var(--origin-left);width:var(--origin-width);height:var(--origin-height);background:#fff;border-radius:18px;transition:top .42s cubic-bezier(.22,.72,.18,1),left .42s cubic-bezier(.22,.72,.18,1),width .42s cubic-bezier(.22,.72,.18,1),height .42s cubic-bezier(.22,.72,.18,1),border-radius .42s,box-shadow .42s;position:absolute;overflow:hidden;box-shadow:0 8px 26px #192e220e}.expanded[data-v-f7c49416]{pointer-events:auto}.expanded .scrim[data-v-f7c49416]{opacity:1}.expanded .detail-sheet[data-v-f7c49416]{border-radius:0;width:min(100vw,540px);height:100dvh;top:0;left:max(0px,50vw - 270px);box-shadow:0 0 60px #0f1e1433}.detail-nav[data-v-f7c49416]{height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;opacity:0;border-bottom:1px solid #eef0ee;grid-template-columns:1fr auto 1fr;align-items:center;transition:opacity .18s .18s;display:grid}.expanded .detail-nav[data-v-f7c49416]{opacity:1}.detail-nav button[data-v-f7c49416]{color:#2b6e4f;background:0 0;border:0;align-items:center;gap:2px;padding:8px 8px 8px 0;font:650 17px/1 inherit;display:flex}.detail-nav strong[data-v-f7c49416]{color:#233028;font-size:17px}.detail-scroll[data-v-f7c49416]{height:calc(100dvh - 58px - env(safe-area-inset-top));overscroll-behavior:contain;overflow-y:auto}.summary[data-v-f7c49416]{opacity:0;padding:24px 20px 22px;transition:opacity .2s .18s,transform .3s .18s;transform:translateY(8px)}.expanded .summary[data-v-f7c49416]{opacity:1;transform:none}h1[data-v-f7c49416]{color:#17231c;letter-spacing:-.4px;margin:0;font-size:24px;line-height:1.4}.tags[data-v-f7c49416]{gap:9px;margin-top:14px;display:flex}.type-tag[data-v-f7c49416],.status-tag[data-v-f7c49416]{border-radius:9px;padding:5px 11px;font-size:16px}.type-tag[data-v-f7c49416]{color:#5e6a62;background:#f3f5f3}.status-tag[data-v-f7c49416]{color:var(--status);background:var(--status-soft);align-items:center;gap:6px;font-weight:700;display:flex}.status-tag i[data-v-f7c49416]{background:currentColor;border-radius:50%;width:7px;height:7px}.summary-progress[data-v-f7c49416]{justify-content:space-between;align-items:flex-end;margin-top:25px;display:flex}.summary-progress span[data-v-f7c49416]{color:#707c73;font-size:16px}.summary-progress strong[data-v-f7c49416]{color:var(--status);font-size:30px;line-height:1}.progress-track[data-v-f7c49416]{background:#edf0ed;border-radius:999px;height:11px;margin-top:11px;overflow:hidden}.progress-track span[data-v-f7c49416]{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--status) 62%, white), var(--status));height:100%;display:block}.progress-count[data-v-f7c49416]{color:#768178;text-align:right;margin-top:9px;font-size:15px}.plan[data-v-f7c49416]{color:#56635a;align-items:center;gap:8px;margin-top:18px;font-size:16px;display:flex}.plan[data-v-f7c49416] .app-icon{color:var(--status)}.detail-content[data-v-f7c49416]{padding:0 16px calc(32px + env(safe-area-inset-bottom));opacity:0;transition:opacity .28s .27s,transform .4s .25s;transform:translateY(25px)}.expanded .detail-content[data-v-f7c49416]{opacity:1;transform:none}.next-panel[data-v-f7c49416],.content-section[data-v-f7c49416]{background:#fff;border:1px solid #e7ebe7;border-radius:17px}.next-panel[data-v-f7c49416]{border-left:4px solid var(--status);background:color-mix(in srgb, var(--status-soft) 55%, white);padding:18px}.next-panel span[data-v-f7c49416]{color:#78837b;font-size:15px}.next-panel p[data-v-f7c49416]{color:#26372c;margin:7px 0 0;font-size:18px;line-height:1.6}.content-section[data-v-f7c49416]{margin-top:14px;padding:20px 18px}.section-title[data-v-f7c49416]{justify-content:space-between;align-items:center;gap:12px;display:flex}h2[data-v-f7c49416]{color:#213027;margin:0;font-size:19px}.section-title>span[data-v-f7c49416]{color:#738078;font-size:14px}.task-list[data-v-f7c49416]{margin:20px 0 0;padding:0;list-style:none}.task-list li[data-v-f7c49416]{grid-template-columns:28px 1fr;gap:11px;min-height:59px;display:grid;position:relative}.task-list li[data-v-f7c49416]:not(:last-child):before{content:"";background:#e4e9e5;width:2px;position:absolute;top:25px;bottom:0;left:11px}.task-marker[data-v-f7c49416]{z-index:1;box-sizing:border-box;color:#fff;background:#fff;border:2px solid #cbd2cd;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.done .task-marker[data-v-f7c49416]{border-color:var(--status);background:var(--status)}.current .task-marker[data-v-f7c49416]{border:6px solid color-mix(in srgb, var(--status) 30%, white);background:var(--status);box-shadow:0 0 0 2px var(--status)}.task-marker[data-v-f7c49416] .app-icon{width:15px;height:15px}.task-list p[data-v-f7c49416]{color:#2a382f;margin:0;font-size:16px;line-height:1.45}.task-list li>div:last-child>span[data-v-f7c49416]{color:#909891;margin-top:3px;font-size:13px;display:block}.current p[data-v-f7c49416]{color:var(--status);font-weight:700}.description[data-v-f7c49416]{color:#506057;margin:14px 0 0;font-size:16px;line-height:1.75}dl[data-v-f7c49416]{grid-template-columns:100px 1fr;gap:16px;margin:18px 0 0;display:grid}dt[data-v-f7c49416]{color:#829087;font-size:15px}dd[data-v-f7c49416]{color:#2c3a31;text-align:right;margin:0;font-size:16px}@media (prefers-reduced-motion:reduce){.detail-sheet[data-v-f7c49416],.scrim[data-v-f7c49416],.detail-nav[data-v-f7c49416],.summary[data-v-f7c49416],.detail-content[data-v-f7c49416]{transition-duration:.01ms!important;transition-delay:0s!important}}.home-shell[data-v-8ac41eb5]{width:min(100%,540px);padding:calc(22px + env(safe-area-inset-top)) 16px calc(26px + env(safe-area-inset-bottom));margin:0 auto;overflow-x:hidden}.app-header[data-v-8ac41eb5]{justify-content:space-between;align-items:flex-start;gap:14px;padding:2px 2px 21px;display:flex}.app-header h1[data-v-8ac41eb5]{color:#18261d;letter-spacing:-.7px;-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(23px,6.1vw,28px);font-weight:760;line-height:1.28}.secret-title[data-v-8ac41eb5]{color:inherit;font:inherit;letter-spacing:inherit;text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}.header-meta[data-v-8ac41eb5]{color:#869089;align-items:center;gap:17px;margin-top:8px;font-size:15px;display:flex}.header-meta button[data-v-8ac41eb5]{color:#65756a;background:0 0;border:0;padding:0;font:500 15px/1.3 inherit}.header-meta button[data-v-8ac41eb5]:disabled{opacity:.55}.icon-button[data-v-8ac41eb5]{color:#2c4938;background:#fff;border:1px solid #e1e6e2;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 4px 16px #1f34280b}.icon-button[data-v-8ac41eb5] .app-icon{width:23px;height:23px}.search-panel[data-v-8ac41eb5]{background:#fff;border:1px solid #dce4de;border-radius:14px;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;margin-bottom:14px;padding:11px 11px 11px 14px;display:grid}.search-panel[data-v-8ac41eb5] .app-icon{color:#7a877e}.search-panel input[data-v-8ac41eb5]{color:#27362d;background:0 0;border:0;outline:none;min-width:0;font:16px/1.5 inherit}.search-panel input[data-v-8ac41eb5]::placeholder{color:#9ba39d}.search-panel button[data-v-8ac41eb5]{color:#2f7554;background:0 0;border:0;font:650 16px/1 inherit}.search-enter-active[data-v-8ac41eb5],.search-leave-active[data-v-8ac41eb5]{transition:all .2s}.search-enter-from[data-v-8ac41eb5],.search-leave-to[data-v-8ac41eb5]{opacity:0;transform:translateY(-8px)}.project-list[data-v-8ac41eb5]{margin-top:27px}.project-group+.project-group[data-v-8ac41eb5]{margin-top:24px}.group-title[data-v-8ac41eb5]{color:#314239;justify-content:space-between;align-items:center;gap:10px;min-height:30px;margin:0 3px 11px;font-size:18px;font-weight:750;display:flex}.group-title>span[data-v-8ac41eb5]:first-child{align-items:center;gap:9px;display:flex}.dot[data-v-8ac41eb5]{background:#269b63;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #eaf7f0}.dot.status-需关注[data-v-8ac41eb5]{background:#dd7b25;box-shadow:0 0 0 5px #fff1e4}.dot.status-已完成[data-v-8ac41eb5]{background:#69877a;box-shadow:0 0 0 5px #eef2ef}.dot.status-未启动[data-v-8ac41eb5],.dot.status-暂停[data-v-8ac41eb5]{background:#8a918c;box-shadow:0 0 0 5px #f1f2f1}.group-toggle[data-v-8ac41eb5]{width:calc(100% - 6px);font:inherit;text-align:left;background:0 0;border:0;padding:0}.group-toggle>span[data-v-8ac41eb5]:last-child{color:#78847b;align-items:center;font-size:15px;font-weight:550;display:flex}.group-toggle[data-v-8ac41eb5] .app-icon{width:18px;height:18px;transition:transform .2s;transform:rotate(180deg)}.group-toggle[data-v-8ac41eb5] .app-icon.collapsed{transform:rotate(0)}.completed-title[data-v-8ac41eb5]{border-top:1px solid #e2e6e2;border-bottom:1px solid #e2e6e2;padding:13px 0}.cards[data-v-8ac41eb5]{gap:11px;display:grid}.list-enter-active[data-v-8ac41eb5],.list-leave-active[data-v-8ac41eb5]{transition:all .25s}.list-enter-from[data-v-8ac41eb5],.list-leave-to[data-v-8ac41eb5]{opacity:0;transform:translateY(-10px)}.empty-state[data-v-8ac41eb5]{text-align:center;color:#879189;padding:75px 20px}.empty-state p[data-v-8ac41eb5]{margin:0 0 14px;font-size:17px}.empty-state button[data-v-8ac41eb5]{color:#2d7653;background:#eaf7f0;border:0;border-radius:10px;padding:9px 16px;font:650 16px/1 inherit}.manage-shell[data-v-a49ab6ee]{background:#f5f7f4;width:min(100%,540px);min-height:100dvh;margin:0 auto;padding-bottom:40px}header[data-v-a49ab6ee]{height:calc(58px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 18px 0;background:#fff;border-bottom:1px solid #e5e9e5;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}header button[data-v-a49ab6ee]{color:#2f7554;background:0 0;border:0;align-items:center;padding:8px 8px 8px 0;font:650 17px/1 inherit;display:flex}header strong[data-v-a49ab6ee]{color:#25342b;font-size:17px}.intro[data-v-a49ab6ee]{padding:28px 20px 22px}.intro>span[data-v-a49ab6ee]{color:#36805c;font-size:14px;font-weight:700}.intro h1[data-v-a49ab6ee]{color:#1d2b22;margin:8px 0 9px;font-size:27px}.intro p[data-v-a49ab6ee]{color:#758078;margin:0;font-size:16px;line-height:1.65}.upload-card[data-v-a49ab6ee],.preview[data-v-a49ab6ee]{background:#fff;border:1px solid #e1e6e2;border-radius:18px;margin:0 16px;padding:18px}.upload-card input[data-v-a49ab6ee]{display:none}.drop-zone[data-v-a49ab6ee]{color:#2d6f50;background:#f8faf8;border:1.5px dashed #bfcac2;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:150px;display:flex}.drop-zone[data-v-a49ab6ee] .app-icon{width:30px;height:30px;margin-bottom:12px}.drop-zone strong[data-v-a49ab6ee]{text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:17px;overflow:hidden}.drop-zone span[data-v-a49ab6ee]{color:#919b94;margin-top:7px;font-size:14px}.primary[data-v-a49ab6ee]{color:#fff;background:#287952;border:0;border-radius:13px;width:100%;height:48px;margin-top:14px;font:700 17px/1 inherit}.primary[data-v-a49ab6ee]:disabled{opacity:.45}.preview[data-v-a49ab6ee]{margin-top:16px}.preview-title[data-v-a49ab6ee]{justify-content:space-between;align-items:center;display:flex}.preview-title h2[data-v-a49ab6ee]{color:#243329;margin:0;font-size:20px}.preview-title span[data-v-a49ab6ee]{color:#77837b;font-size:14px}.preview-list[data-v-a49ab6ee]{margin-top:14px}.preview-list>div[data-v-a49ab6ee]{border-top:1px solid #edf0ed;padding:13px 0}.preview-list strong[data-v-a49ab6ee],.preview-list span[data-v-a49ab6ee]{display:block}.preview-list strong[data-v-a49ab6ee]{color:#2c3b31;font-size:16px}.preview-list span[data-v-a49ab6ee],.preview-list p[data-v-a49ab6ee]{color:#7d8880;margin-top:5px;font-size:14px}.message[data-v-a49ab6ee]{color:#276e4d;background:#e7f5ed;border-radius:12px;margin:18px 20px;padding:13px;font-size:15px}
