:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe7;--surface:#f1ede3;--surface-strong:#e5decd;--card:#fff;--ink:#0d0c0a;--muted:#6f675a;--field:#ff7a1f;--field-ink:#4a1f00;--accent:#0d0c0a;--accent-ink:#ff7a1f;--danger:#b3261e;--ok:#1e7a3a;--warn:#a16207;--info:#1d4ed8;--font:"Roundo", "Segoe UI", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--step-small:13px;--step-body:15px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1);--t-press:.14s;--t-hover:.18s;--t-ui:.24s;--t-reveal:.5s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--step-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}h1,h2,h3,p,figure,blockquote,ul,ol,dl,dd{margin:0}ul[class],ol[class]{padding:0;list-style:none}img,video,svg,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.hidden{display:none!important}.muted{color:var(--muted)}.masthead{background:var(--field);color:var(--field-ink);padding:44px 0 104px}.masthead-inner{max-width:880px;margin:0 auto;padding:0 20px}.app-header{align-items:center;gap:18px;margin-bottom:28px;display:flex}.brand-diamond{background:var(--accent);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none;width:38px;height:38px}.brand-text{min-width:0}.app-title{letter-spacing:-.02em;color:var(--accent);font-size:30px;font-weight:700;line-height:1.05}.app-title-cn{letter-spacing:0;color:var(--field-ink);margin-left:8px;font-size:.55em;font-weight:600;display:inline-block}.subtitle{color:var(--field-ink);margin-top:5px;font-size:15px}.focus-card{background:var(--accent);color:#f5f0e6;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);padding:20px 22px}.focus-card-title{color:#f5f0e6;align-items:center;gap:10px;margin:0 0 12px;font-size:15px;font-weight:700;display:flex}.focus-card-title:before{content:"";background:var(--accent-ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none;width:10px;height:10px}.empty-inline{color:#c9c0b0;align-items:center;gap:8px;margin:2px 0 0;font-size:14px;display:flex}.empty-inline:before{content:"";clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#c9c0b0;flex:none;width:8px;height:8px}.focus-group+.focus-group{margin-top:16px}.focus-subtitle{color:#c9c0b0;margin:0 0 8px;font-size:13px;font-weight:600}.focus-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.focus-item{text-align:left;color:#f5f0e6;width:100%;transition:background-color var(--t-hover) ease;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 12px 9px 26px;display:flex;position:relative}.focus-item:before{content:"";background:var(--accent-ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:8px;height:8px;position:absolute;top:15px;left:10px}.focus-item .focus-title{transition:color var(--t-hover) ease;font-size:14px;font-weight:600}.focus-item .focus-meta{color:#b8ae9c;font-size:12px}.focus-item:hover{background:#1e1c18}.focus-item:hover .focus-title{color:var(--accent-ink)}.focus-card :focus-visible{outline-color:var(--accent-ink)}#app{max-width:880px;margin:-64px auto 0;padding:0 20px 72px;position:relative}.card{background:var(--card);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);margin-bottom:20px;padding:22px 24px}.card h2{letter-spacing:-.01em;align-items:center;gap:10px;margin:0 0 14px;font-size:17px;font-weight:700;display:flex}.card h2:before{content:"";background:var(--ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none;width:10px;height:10px}.banner{background:var(--ink);color:#f5f0e6;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);align-items:center;gap:10px;margin-bottom:16px;padding:12px 18px;font-size:14px;display:flex}.banner:before{content:"";background:var(--info);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none;width:10px;height:10px}.banner-ok:before{background:var(--ok)}.banner-warn:before{background:var(--danger)}.goal-form .form-row{flex-wrap:wrap;gap:14px;margin-bottom:10px;display:flex}.goal-form label{color:var(--muted);flex-direction:column;flex:1;gap:5px;min-width:160px;font-size:12px;font-weight:600;display:flex}.goal-form .checkbox-label{color:var(--ink);flex-direction:row;align-items:center;gap:7px;min-width:0;font-size:13px}.goal-form input,.goal-form select{background:var(--surface);color:var(--ink);transition:background-color var(--t-hover) ease;border:0;border-radius:0;padding:10px 12px;font-size:14px}.goal-form input:focus-visible,.goal-form select:focus-visible{background:var(--card)}.goal-form input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink)}.form-actions{gap:8px;margin-top:12px;display:flex}.form-error{color:var(--danger);margin:6px 0 0;font-size:13px}button{background:var(--surface);color:var(--ink);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%);transition:transform var(--t-press) var(--ease-out), background-color var(--t-hover) ease, color var(--t-hover) ease;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}button:hover{background:var(--ink);color:#fff}button:active{transform:scale(.97)}button.primary{background:var(--accent);color:var(--accent-ink)}button.primary:hover{color:var(--accent-ink);background:#2a2825}button.primary:focus-visible{outline-color:var(--accent-ink)}button.danger{color:var(--danger);background:#fbeceb}button.danger:hover{background:var(--danger);color:#fff}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.stat{background:var(--card);padding:16px 16px 14px;position:relative}.stat:before{content:"";background:var(--surface-strong);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:8px;height:8px;position:absolute;top:12px;right:12px}.stat-num{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.15;display:block}.stat-label{color:var(--muted);margin-top:4px;font-size:12px;display:block}.stats-subtitle{align-items:center;gap:8px;margin:22px 0 10px;font-size:14px;font-weight:700;display:flex}.stats-subtitle:before{content:"";background:var(--ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none;width:8px;height:8px}.bar-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.bar-label{flex:none;width:44px;font-size:13px;font-weight:600}.bar-track{background:var(--surface-strong);flex:1;height:10px}.bar-fill{background:var(--ink);height:100%;transition:width .5s var(--ease-out)}.bar-count{text-align:right;width:28px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:600}.filter-bar{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px;display:grid}.filter-bar label{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.filter-bar input,.filter-bar select{background:var(--surface);color:var(--ink);transition:background-color var(--t-hover) ease;border:0;border-radius:0;padding:9px 11px;font-size:14px}.filter-bar input:focus-visible,.filter-bar select:focus-visible{background:var(--card)}.list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}#filter-summary{margin:0;font-size:13px}.goal-card{background:var(--card);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);transition:transform var(--t-hover) var(--ease-out);margin-bottom:14px;padding:20px 22px;position:relative}.goal-card:before{content:"";background:0 0;width:5px;position:absolute;top:0;bottom:0;left:0}.goal-card:hover{transform:translateY(-2px)}.goal-card:hover:before{background:var(--ink)}.goal-card.overdue:before,.goal-card.overdue:hover:before{background:var(--danger)}.goal-card.archived{opacity:.7}.goal-card.archived:before,.goal-card.archived:hover:before{background:var(--surface-strong)}.goal-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.goal-title{letter-spacing:-.01em;flex:1;min-width:180px;margin:0;font-size:19px;font-weight:700;line-height:1.25}.badge{color:#fff;background:var(--ink);clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%);white-space:nowrap;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.status-active{background:var(--ok)}.badge.status-paused{background:var(--warn)}.badge.status-done{background:var(--info)}.badge.badge-overdue{background:var(--danger)}.badge.badge-archived{background:#6f675a}.badge.category-study,.badge.category-career,.badge.category-health,.badge.category-finance,.badge.category-life{background:var(--surface-strong);color:var(--ink)}.goal-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0 8px;font-size:13px;display:flex}.goal-meta span{align-items:center;display:inline-flex}.goal-meta span+span:before{content:"";background:var(--surface-strong);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:5px;height:5px;margin-right:14px}.goal-next{color:var(--muted);margin:0 0 10px;font-size:13px}.next-ms{color:var(--ink)}.next-ms.muted{color:var(--muted)}.next-ms-late{color:var(--danger)}.next-ms-done{color:var(--ok)}.goal-progress{align-items:center;gap:14px;margin:0 0 14px;display:flex}.diamond-path{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-height:14px;display:flex}.path-diamond{background:var(--surface-strong);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:13px;height:13px}.path-diamond.is-done{background:var(--ink)}.progress-text{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:13px;font-weight:600}.progress-none{flex:1;align-items:center;gap:8px;display:flex}.progress-none-mark{background:var(--surface-strong);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:13px;height:13px}.progress-none .progress-label{color:var(--muted);font-size:13px}.goal-actions{flex-wrap:wrap;gap:8px;display:flex}.goal-actions button{padding:7px 13px;font-size:13px}.ms-panel{background:var(--surface);margin-top:16px;padding:16px}.ms-panel-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ms-progress-text{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ms-progress-text:before{content:"";background:var(--ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none;width:9px;height:9px}.ms-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.ms-item{background:var(--card);align-items:center;gap:10px;padding:10px 12px;display:flex}.ms-item.done .ms-label span{color:var(--muted);text-decoration:line-through}.ms-item.overdue{background:#fbeceb}.ms-item.overdue .ms-meta{color:var(--danger)}.ms-label{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;font-size:14px;display:flex}.ms-check{width:16px;height:16px;accent-color:var(--ink);flex:none}.ms-meta{color:var(--muted);flex:none;font-size:12px}.ms-actions{flex:none;gap:6px;display:flex}.ms-actions button{padding:4px 10px;font-size:12px}.ms-empty{padding:4px 0;font-size:13px}.ms-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ms-form input[type=text]{background:var(--card);border:0;border-radius:0;flex:1;min-width:160px;padding:8px 10px;font-size:14px}.ms-form input[type=date]{background:var(--card);border:0;border-radius:0;padding:7px 9px;font-size:13px}.ms-form .ms-error{flex-basis:100%;margin:0}.ms-complete-btn{width:100%;margin-top:12px}.empty-state{text-align:center;background:var(--surface);flex-direction:column;align-items:center;padding:48px 24px;display:flex}.empty-state:before{content:"";background:var(--ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);width:56px;height:56px;margin-bottom:18px}.empty-title{font-size:17px;font-weight:700}.empty-hint{color:var(--muted);margin:6px 0 16px;font-size:14px}.empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.data-note{margin:0 0 14px;font-size:13px}.data-actions{flex-wrap:wrap;gap:8px;display:flex}.app-footer{background:var(--ink);color:#b8ae9c;padding:28px 0}.app-footer-inner{justify-content:center;align-items:center;gap:10px;max-width:880px;margin:0 auto;padding:0 20px;font-size:13px;display:flex}.app-footer-inner p{margin:0}.footer-diamond{background:var(--accent-ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);flex:none;width:10px;height:10px}@media (prefers-reduced-motion:no-preference){.app-header,.focus-card,.card{animation:rise-in var(--t-reveal) var(--ease-out)}.goal-card,.focus-item,.stat{animation:card-in var(--t-ui) var(--ease-out)}.banner{animation:banner-in .28s var(--ease-out)}.path-diamond.is-done{animation:diamond-pop .3s var(--ease-out)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes diamond-pop{0%{transform:scale(.5)}to{transform:scale(1)}}@media (width<=560px){.masthead{padding:28px 0 76px}.masthead-inner{padding:0 14px}.app-header{gap:14px;margin-bottom:20px}.brand-diamond{width:30px;height:30px}.app-title{font-size:24px}.app-title-cn{margin:2px 0 0;font-size:.7em;display:block}#app{margin-top:-48px;padding:0 14px 56px}.card{margin-bottom:14px;padding:18px 16px}.goal-card{padding:18px 16px}.goal-meta{gap:6px 10px}.goal-actions button{flex:auto}.stat-num{font-size:20px}.ms-item{flex-wrap:wrap}.ms-meta{order:3;width:100%;padding-left:26px}.ms-actions{margin-left:auto}.empty-state{padding:36px 18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
