:root{--c-bg: #f5f4fa;--c-bg-accent: #efecf8;--c-surface: #ffffff;--c-surface-muted: #faf9fd;--c-surface-sunken: #f6f4fb;--c-text: #1d1b33;--c-text-2: #3b3854;--c-text-muted: #77738d;--c-text-faint: #aeaabf;--c-accent: #6b3cf0;--c-accent-hover: #5b2fe0;--c-accent-light: #9b6bff;--c-accent-soft: #f0ebff;--c-accent-soft-2: #e6deff;--g-accent: linear-gradient(90deg, #8b5cf6 0%, #6b3cf0 100%);--c-icon: #7c3aed;--c-icon-tile: #f1ecff;--c-icon-tile-hover: #e8e0ff;--col-blue-head: #dcebff;--col-blue-bg: #f1f7ff;--col-blue-line: #d4e4f9;--col-blue-ink: #1f4f9a;--col-purple-head: #e9e0ff;--col-purple-bg: #f7f3ff;--col-purple-line: #e1d7f8;--col-purple-ink: #5326c4;--col-green-head: #d8f3e2;--col-green-bg: #f0faf4;--col-green-line: #cfeadb;--col-green-ink: #1b7442;--col-orange-head: #ffe5cf;--col-orange-bg: #fff6ee;--col-orange-line: #f8dcc4;--col-orange-ink: #a9520f;--col-teal-head: #d3f1ee;--col-teal-bg: #effaf9;--col-teal-line: #c8e7e3;--col-teal-ink: #11736c;--col-pink-head: #fcdeea;--col-pink-bg: #fff3f8;--col-pink-line: #f5d3e1;--col-pink-ink: #a8285c;--col-indigo-head: #dfe3ff;--col-indigo-bg: #f3f4ff;--col-indigo-line: #d6dbf8;--col-indigo-ink: #3540ad;--col-yellow-head: #fbefc3;--col-yellow-bg: #fffbec;--col-yellow-line: #f1e4b3;--col-yellow-ink: #85640a;--w-column-min: 240px;--c-border: #e9e6f2;--c-border-strong: #d9d4ea;--c-divider: #f0edf6;--c-track: #ebe8f4;--c-success: #1f9d4c;--c-success-soft: #e4f6ea;--c-success-bar: #2bb85b;--c-info: #2f6fe0;--c-info-soft: #e8f0fe;--c-warning: #b7791f;--c-warning-soft: #fdf3dc;--c-danger: #d93a4a;--c-danger-soft: #fdecee;--c-neutral: #5d5a73;--c-neutral-soft: #f0eff5;--c-green: #22b455;--c-green-light: #3bd36e;--c-green-soft: #e3f7eb;--c-orange: #f07a12;--c-orange-light: #ffb021;--c-orange-soft: #ffeedd;--c-blue: #2f7bea;--c-gold: #f2a20c;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-page: 26px;--fs-section: 18px;--fs-group: 16px;--fs-body: 14px;--fs-table: 13.5px;--fs-caption: 12.5px;--fs-micro: 11.5px;--fs-metric: 18px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-body: 1.45;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--h-control: 40px;--h-control-sm: 34px;--h-row: 44px;--h-row-sm: 40px;--h-badge: 24px;--h-bar: 6px;--r-sm: 8px;--r-md: 10px;--r-lg: 14px;--r-xl: 16px;--r-2xl: 24px;--r-pill: 999px;--sh-1: 0 1px 2px rgba(29, 27, 51, .04), 0 1px 3px rgba(107, 60, 240, .05);--sh-2: 0 4px 16px rgba(107, 60, 240, .08), 0 1px 3px rgba(29, 27, 51, .04);--sh-3: 0 20px 50px rgba(40, 30, 90, .18);--sh-accent: 0 4px 12px rgba(107, 60, 240, .28);--focus-ring: 0 0 0 3px rgba(155, 107, 255, .22);--sidebar: 276px;--page-max: 1480px;--t-fast: .15s ease;--bg-top: var(--c-bg);--bg-bottom: var(--c-bg-accent);--surface: var(--c-surface);--surface-soft: var(--c-surface-muted);--divider: var(--c-border);--ink: var(--c-text);--ink-2: var(--c-text-2);--muted: var(--c-text-muted);--faint: var(--c-text-faint);--purple: var(--c-accent);--purple-light: var(--c-accent-light);--purple-soft: var(--c-accent-soft);--track: var(--c-track);--green: var(--c-green);--green-light: var(--c-green-light);--green-soft: var(--c-green-soft);--orange: var(--c-orange);--orange-light: var(--c-orange-light);--orange-soft: var(--c-orange-soft);--blue: var(--c-blue);--gold: var(--c-gold);--grey-soft: var(--c-neutral-soft);--danger: var(--c-danger);--shadow: var(--sh-2);--radius: var(--r-lg)}:root{font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:linear-gradient(180deg,var(--c-bg),var(--c-bg-accent)) fixed}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}button:disabled{cursor:not-allowed}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.row{display:flex;align-items:center;gap:var(--sp-3)}.grow{flex:1;min-width:0}.muted{color:var(--c-text-muted)}.small{font-size:var(--fs-caption)}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.num{font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100%}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:6px;padding:var(--sp-5) var(--sp-4);background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--c-border)}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 22px;font-size:22px;font-weight:800;letter-spacing:-.4px}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--c-accent-light),var(--c-accent));display:grid;place-items:center;color:#fff}.nav{display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;border-radius:12px;color:var(--c-text-2);font-weight:500;font-size:14.5px;text-decoration:none;white-space:nowrap}.nav-link svg{flex:none;color:var(--c-text-muted)}.nav-link:hover{background:var(--c-surface-muted)}.nav-link.active{background:var(--c-accent-soft);color:var(--c-accent);font-weight:600}.nav-link.active svg{color:var(--c-accent)}.nav-bottom{margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--c-border)}.main{padding:var(--sp-5) var(--sp-6) 48px;min-width:0}.page{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-4)}.page-wide{max-width:var(--page-max)}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.card-pad{padding:var(--sp-4) 20px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:40px;color:var(--c-text-muted);text-align:center}.error-box{padding:var(--sp-4) 20px;border-radius:var(--r-lg);background:var(--c-danger-soft);color:var(--c-danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--h-control);padding:0 var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-body);font-weight:var(--fw-semibold);white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.btn svg{flex:none}.btn-sm{height:var(--h-control-sm);padding:0 var(--sp-3);font-size:13px}.btn-primary{background:var(--g-accent);color:#fff;box-shadow:var(--sh-accent)}.btn-primary:hover{background:var(--c-accent-hover)}.btn-primary:disabled{opacity:.5;box-shadow:none}.btn-secondary{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border);box-shadow:var(--sh-1)}.btn-secondary:hover{border-color:var(--c-border-strong);background:var(--c-surface-muted)}.btn-secondary.active{color:var(--c-accent);border-color:var(--c-accent-light);background:var(--c-accent-soft)}.btn-ghost{color:var(--c-accent);background:var(--c-accent-soft)}.btn-ghost:hover{background:var(--c-accent-soft-2)}.btn-danger{color:var(--c-danger)}.btn-danger:hover{background:var(--c-danger-soft)}.btn-count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--c-accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.btn-icon{width:var(--h-control-sm);height:var(--h-control-sm);border-radius:var(--r-md);display:grid;place-items:center;color:var(--c-text-muted);flex:none}.btn-icon:hover{background:var(--c-surface-muted);color:var(--c-text)}.btn-icon:disabled{opacity:.35;background:none}.btn-icon.bordered{width:var(--h-control);height:var(--h-control);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1);color:var(--c-text)}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:var(--fs-caption);color:var(--c-text-muted);font-weight:var(--fw-medium)}.input{height:var(--h-control);padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);outline:none;font-size:var(--fs-body)}textarea.input{height:auto;padding:10px var(--sp-3);resize:vertical;min-height:70px;line-height:var(--lh-body)}.input:hover{border-color:var(--c-border-strong)}.input:focus{border-color:var(--c-accent-light);box-shadow:var(--focus-ring)}.search{display:flex;align-items:center;gap:var(--sp-2);height:var(--h-control);padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--sh-1);color:var(--c-text-muted)}.search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:var(--fs-body);color:var(--c-text)}.search:focus-within{border-color:var(--c-accent-light);box-shadow:var(--focus-ring)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chip{height:var(--h-control-sm);padding:0 var(--sp-3);border-radius:var(--r-sm);border:1px solid var(--c-border);background:var(--c-surface);font-size:13px;color:var(--c-text-2)}.chip:hover{border-color:var(--c-accent-light)}.chip.on{background:var(--c-accent-soft);border-color:transparent;color:var(--c-accent);font-weight:var(--fw-semibold)}.seg{display:inline-flex;align-items:center;gap:var(--sp-1);height:var(--h-control);padding:3px;border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1)}.seg-item{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:calc(var(--h-control) - 8px);padding:0 var(--sp-4);border-radius:var(--r-sm);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--c-text-2);white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.seg-item svg{color:var(--c-accent);flex:none}.seg-item:hover:not(.on){background:var(--c-surface-muted)}.seg--primary .seg-item.on{background:var(--g-accent);color:#fff;box-shadow:var(--sh-accent)}.seg--primary .seg-item.on svg{color:#fff}.seg--soft .seg-item.on{background:var(--c-accent-soft);color:var(--c-accent)}.seg-badge{min-width:24px;height:20px;padding:0 7px;border-radius:var(--r-pill);background:var(--c-accent-soft);color:var(--c-accent);font-size:12px;font-weight:700;display:grid;place-items:center}.seg--primary .seg-item.on .seg-badge{background:#ffffff3d;color:#fff}.tabs{display:flex;gap:var(--sp-1);padding:var(--sp-1);border-radius:calc(var(--r-md) + 4px);background:var(--c-surface-sunken)}.tab{flex:1;height:var(--h-control-sm);border-radius:var(--r-md);font-weight:var(--fw-medium);color:var(--c-text-muted)}.tab.on{background:var(--c-surface);color:var(--c-accent);font-weight:var(--fw-semibold);box-shadow:var(--sh-1)}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:var(--h-badge);padding:0 10px;border-radius:var(--r-sm);font-size:var(--fs-caption);font-weight:var(--fw-semibold);white-space:nowrap;font-variant-numeric:tabular-nums}.badge-success{background:var(--c-success-soft);color:var(--c-success)}.badge-info{background:var(--c-info-soft);color:var(--c-info)}.badge-warning{background:var(--c-warning-soft);color:var(--c-warning)}.badge-neutral{background:var(--c-neutral-soft);color:var(--c-neutral)}.badge-accent{background:var(--c-accent-soft);color:var(--c-accent)}.badge-status{min-width:104px}.progress{position:relative;height:var(--h-bar);border-radius:var(--r-pill);background:var(--c-track);overflow:hidden}.progress>i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--g-accent)}.progress.success>i{background:var(--c-success-bar)}.progress-lg{height:8px}.bar{height:8px;border-radius:4px;background:var(--c-track);overflow:hidden;position:relative}.bar>i{position:absolute;inset:0 auto 0 0;border-radius:inherit}.bar .unplanned{position:absolute;top:0;bottom:0;right:0;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.7) 0 3px,transparent 3px 6px)}.bar.purple>i{background:linear-gradient(90deg,var(--c-accent-light),var(--c-accent))}.bar.green>i{background:linear-gradient(90deg,var(--c-green-light),var(--c-green))}.bar.orange>i{background:linear-gradient(90deg,var(--c-orange-light),var(--c-orange))}.checkbox{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--c-text-faint);background:var(--c-surface);display:grid;place-items:center;color:#fff;flex:none;transition:border-color var(--t-fast)}.checkbox:hover{border-color:var(--c-accent-light)}.checkbox.on{border-color:transparent;background:var(--g-accent)}.checkbox.sm{width:18px;height:18px;border-radius:5px}.metrics{display:flex;align-items:stretch;padding:var(--sp-3) var(--sp-2)}.metric{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-3);padding:2px var(--sp-4)}.metric+.metric{border-left:1px solid var(--c-border)}.metric-icon{color:var(--c-accent);flex:none}.metric-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.metric-label{font-size:var(--fs-caption);color:var(--c-text-muted);white-space:nowrap}.metric-value{font-size:var(--fs-metric);font-weight:var(--fw-bold);color:var(--c-text);white-space:nowrap;font-variant-numeric:tabular-nums;line-height:var(--lh-tight)}.metric-extra{display:flex;align-items:center;gap:var(--sp-2)}.metric-extra .progress{flex:1;min-width:60px}.table-wrap{overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-table)}.table th{height:var(--h-row-sm);padding:0 var(--sp-2);background:var(--c-surface-sunken);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--c-text-muted);text-align:left;white-space:nowrap;line-height:var(--lh-tight);border-bottom:1px solid var(--c-border)}.table td{height:var(--h-row-sm);padding:0 var(--sp-2);border-bottom:1px solid var(--c-divider);color:var(--c-text-2);white-space:nowrap;font-variant-numeric:tabular-nums}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--c-surface-muted)}.table .th{display:inline-flex;align-items:center;gap:6px}.table .th svg{color:var(--c-text-faint);flex:none}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d1b3347;display:grid;place-items:center;padding:var(--sp-5);z-index:50}.modal{width:min(480px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--c-surface);border-radius:var(--r-xl);padding:var(--sp-5);box-shadow:var(--sh-3);display:flex;flex-direction:column;gap:var(--sp-3)}.modal-wide{width:min(720px,100%)}.modal h3{font-size:var(--fs-section);font-weight:var(--fw-bold)}.modal-head{display:flex;align-items:center;gap:var(--sp-2);margin:-6px -6px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-1)}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#1d1b3347;display:flex;justify-content:flex-end;animation:fade-in .2s ease}.drawer{width:min(560px,100%);height:100%;background:var(--c-surface);box-shadow:var(--sh-3);border-radius:var(--r-xl) 0 0 var(--r-xl);display:flex;flex-direction:column;animation:drawer-in .26s cubic-bezier(.2,.8,.2,1)}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:20px var(--sp-5) var(--sp-3)}.drawer-head h3{font-size:var(--fs-section);font-weight:var(--fw-bold)}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-2) var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4)}.drawer-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--c-divider)}@keyframes drawer-in{0%{transform:translate(32px);opacity:0}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.drawer{width:100%;border-radius:0}.drawer-head{padding:var(--sp-4)}.drawer-body{padding:var(--sp-2) var(--sp-4) var(--sp-4)}.drawer-foot{padding:var(--sp-3) var(--sp-4)}}.switch-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;text-align:left;padding:2px 0}.switch-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.switch-label{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--c-text)}.switch-hint{font-size:var(--fs-caption);color:var(--c-text-muted)}.switch{flex:none;position:relative;width:44px;height:26px;border-radius:var(--r-pill);background:var(--c-track);box-shadow:inset 0 0 0 1px var(--c-border);transition:background var(--t-fast),box-shadow var(--t-fast)}.switch-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--c-surface);box-shadow:0 1px 3px #1d1b3338;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.switch-row.on .switch{background:var(--g-accent);box-shadow:none}.switch-row.on .switch-knob{transform:translate(18px)}.switch-row:focus-visible{outline:none}.switch-row:focus-visible .switch{box-shadow:var(--focus-ring)}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.collapse.open{grid-template-rows:1fr}.collapse-inner{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear .28s}.collapse.open .collapse-inner{visibility:visible;transition-delay:0s}@media(prefers-reduced-motion:reduce){.collapse,.collapse-inner,.switch,.switch-knob,.drawer,.drawer-back{transition:none;animation:none}}.menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:200px;padding:6px;border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-2)}.menu>button{display:block;width:100%;text-align:left;padding:8px 12px;border-radius:var(--r-sm);font-size:var(--fs-body)}.menu>button:hover{background:var(--c-surface-muted)}.toasts{position:fixed;bottom:var(--sp-5);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--sp-2);z-index:60}.toast{padding:10px var(--sp-4);border-radius:var(--r-md);background:var(--c-text);color:#fff;font-size:var(--fs-body);box-shadow:var(--sh-2)}.toast.error{background:var(--c-danger)}@media(max-width:820px){:root{--sidebar: 76px}.sidebar .label,.brand span{display:none}.sidebar{padding:var(--sp-5) 10px}.nav-link{justify-content:center;padding:0}.main{padding:20px var(--sp-4) 40px}}.page-title{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:var(--sp-3)}.page-title h1{font-size:var(--fs-page);font-weight:800;letter-spacing:-.5px}.title-underline{height:3px;width:150px;margin-top:4px;border-radius:2px;background:linear-gradient(90deg,var(--c-accent-light),var(--c-accent),rgba(155,107,255,.15))}.icon-tile{width:36px;height:36px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--c-surface);border:1px solid var(--c-border);color:var(--c-accent);flex:none}.bell{position:relative;width:var(--h-control);height:var(--h-control);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1);color:var(--c-accent);display:grid;place-items:center}.bell .badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;padding:0 5px;background:linear-gradient(135deg,var(--c-orange-light),var(--c-orange));color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}.section-head{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--h-control)}.section-head h2{flex:1;font-size:var(--fs-section);font-weight:var(--fw-bold);letter-spacing:-.2px}.pill-link{display:inline-flex;align-items:center;gap:2px;height:var(--h-control-sm);padding:0 8px 0 12px;border-radius:var(--r-md);background:var(--c-accent-soft);color:var(--c-accent);font-weight:var(--fw-semibold);font-size:13px;text-decoration:none}.pill-link:hover{background:var(--c-accent-soft-2)}.list>*+*{border-top:1px solid var(--c-divider)}.list-row{display:flex;align-items:center;gap:var(--sp-3);padding:10px var(--sp-4);min-height:52px}.list-row.clickable{cursor:pointer}.list-row.clickable:hover{background:var(--c-surface-muted)}.list-row .title{font-size:var(--fs-body)}.list-row .title.done{color:var(--c-text-muted)}.empty-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4);color:var(--c-text-muted)}.code-badge{width:44px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}.code-MAIN{color:var(--c-accent);background:var(--c-accent-soft)}.code-HOME{color:var(--c-orange);background:var(--c-orange-soft)}.code-CURRENT{color:var(--c-text-2);background:var(--c-neutral-soft)}.code-empty{color:#6b3cf08c;background:#f0ebff99}.date-switch{display:flex;align-items:center;height:44px;border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1)}.date-switch .label{flex:1;text-align:center;font-weight:var(--fw-semibold)}.date-switch input[type=date]{border:none;background:transparent;color:var(--c-text-muted);margin-right:8px}.home-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.home-col{display:flex;flex-direction:column;gap:10px}.home-col .section-head:not(:first-child){margin-top:12px}.summary{display:grid;grid-template-columns:200px 1px minmax(0,1fr);gap:20px;padding:16px 20px;border-radius:26px}.summary .divider{background:var(--divider);margin:8px 0}.wake{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.ring{position:relative;width:150px;height:150px}.ring svg{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.ring-in{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.15}.ring-in .lbl{font-size:11px;font-weight:500;color:var(--ink-2)}.ring-in .pct{font-size:34px;font-weight:800;letter-spacing:-1px}.ring-in .dur{font-size:12px;font-weight:600;color:var(--ink-2)}.ring-in .rest{font-size:11px;color:var(--muted);margin-top:2px}.hours{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:12px;border:1px solid var(--divider);background:var(--surface-soft);font-size:12px;color:var(--ink-2);white-space:nowrap}.stats{display:grid;gap:10px}.stat{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:14px;padding:10px 14px;border-radius:16px;text-decoration:none;color:inherit}.stat:hover{filter:brightness(.985)}.stat .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.stat .top,.stat .bottom{display:flex;align-items:center;gap:12px}.stat .name{flex:1;font-weight:600;font-size:15px}.stat .val{font-weight:800;font-size:17px}.stat .cnt{font-size:13px;color:var(--muted);white-space:nowrap;min-width:92px}.stat .bar{flex:1}.stat .bottom{margin-top:6px}.stat-work{background:#efe9ff73}.stat-work .ico{background:var(--purple-soft);color:var(--purple)}.stat-work .val{color:var(--purple)}.stat-habits{background:#e3f7eb80}.stat-habits .ico{background:var(--green-soft);color:var(--green)}.stat-habits .val{color:var(--green)}.stat-home{background:#ffeedd80}.stat-home .ico{background:var(--orange-soft);color:var(--orange)}.stat-home .val{color:var(--orange)}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick a{height:76px;border-radius:20px;border:1.5px solid #fff;box-shadow:0 6px 16px #6b3cf01a;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:16px;color:var(--ink);text-decoration:none}.quick a:hover{transform:translateY(-1px)}.q-tasks{background:linear-gradient(135deg,#f5f0ff,#e6dcff)}.q-tasks svg{color:var(--purple)}.q-cal{background:linear-gradient(135deg,#eef5ff,#dce9ff)}.q-cal svg{color:var(--blue)}.q-fin{background:linear-gradient(135deg,#fff7e2,#ffe8b0)}.q-fin svg{color:var(--gold)}.q-an{background:linear-gradient(135deg,#f6f1ff,#e8e0ff)}.q-an svg{color:var(--purple)}.slot{display:grid;grid-template-columns:26px 110px minmax(0,1fr) 26px;align-items:center;gap:14px;padding:0 18px;min-height:54px;position:relative}.slot .axis{position:absolute;left:30px;top:0;bottom:0;width:2px;background:var(--divider)}.slot:first-child .axis{top:50%}.slot:last-child .axis{bottom:50%}.slot:only-child .axis{display:none}.dot{position:relative;width:24px;height:24px;border-radius:50%;border:2px solid var(--faint);background:#fff;display:grid;place-items:center;color:#fff}.dot.on{border:none;background:linear-gradient(135deg,var(--purple-light),var(--purple))}.time-pill{height:30px;border-radius:15px;background:var(--purple-soft);color:var(--purple);font-size:13px;font-weight:600;display:grid;place-items:center;white-space:nowrap}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--c-text-muted);font-size:var(--fs-body);text-decoration:none}.back-link:hover{color:var(--c-accent)}.pcard-count{display:inline-flex;align-items:center;height:30px;white-space:nowrap;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--fs-body);font-weight:var(--fw-semibold)}.pcard-list{display:flex;flex-direction:column;gap:20px}.pcard{position:relative;display:grid;grid-template-columns:minmax(180px,18fr) minmax(0,44fr) minmax(0,33fr) 56px;grid-template-areas:"photo info stats actions";min-height:260px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-2xl);box-shadow:0 10px 30px #6b3cf014,0 2px 6px #1d1b330a;cursor:pointer;outline:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.pcard:hover{transform:translateY(-3px);border-color:var(--c-accent-soft-2);box-shadow:0 18px 40px #6b3cf024,0 2px 6px #1d1b330d}.pcard:focus-visible{box-shadow:var(--focus-ring),var(--sh-2)}.pcard:focus-within,.pcard:hover{z-index:2}.pcard-photo{grid-area:photo;position:relative;overflow:hidden;border-radius:var(--r-2xl) 0 0 var(--r-2xl);background:linear-gradient(145deg,var(--c-icon-tile) 0%,var(--c-bg-accent) 100%)}.pcard-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.pcard:hover .pcard-photo img{transform:scale(1.03)}.pcard-photo-loading{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%) var(--c-surface-sunken);background-size:200% 100%;animation:pcard-shimmer 1.2s linear infinite}@keyframes pcard-shimmer{to{background-position:-200% 0}}.pcard-photo-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--c-accent);font-weight:var(--fw-semibold);font-size:var(--fs-body);transition:background .2s ease}.pcard-photo-empty small{color:var(--c-text-muted);font-weight:var(--fw-regular);font-size:var(--fs-caption)}.pcard-photo-empty:hover{background:#ffffff59}.pcard-photo-icon{width:56px;height:56px;border-radius:var(--r-xl);display:grid;place-items:center;background:var(--c-surface);box-shadow:var(--sh-2)}.pcard-photo-actions{position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:var(--sp-3);display:flex;gap:var(--sp-2);opacity:0;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease}.pcard:hover .pcard-photo-actions,.pcard-photo-actions:focus-within{opacity:1;transform:none}.pcard-photo-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-control-sm);padding:0 var(--sp-3);border-radius:var(--r-md);background:#ffffffeb;color:var(--c-text);font-size:var(--fs-caption);font-weight:var(--fw-semibold);box-shadow:var(--sh-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pcard-photo-btn:first-child{flex:1}.pcard-photo-btn:hover{background:var(--c-surface);color:var(--c-accent)}.pcard-photo-btn[aria-label]:hover{color:var(--c-danger)}.pcard-info{grid-area:info;min-width:0;display:flex;flex-direction:column;gap:var(--sp-3);padding:28px 28px 24px}.pcard-title{font-size:var(--fs-page);font-weight:800;letter-spacing:-.5px;line-height:var(--lh-tight);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4);color:var(--c-text-2);font-size:15px}.pcard-meta>span{display:inline-flex;align-items:center;gap:var(--sp-2)}.pcard-meta svg{color:var(--c-accent)}.pcard-meta-sep{width:1px;height:18px;background:var(--c-border-strong)}.pcard-goal{color:var(--c-text-muted);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere}.pcard-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:var(--sp-1)}.pcard-count-pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px;border-radius:var(--r-md);white-space:nowrap;background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1);color:var(--c-text-2);font-size:var(--fs-table)}.pcard-count-pill b{color:var(--c-text);font-weight:var(--fw-semibold)}.pcard-dot{width:10px;height:10px;border-radius:var(--r-pill);flex:none}.pcard-dot--new{background:var(--c-accent)}.pcard-dot--progress{background:var(--c-blue)}.pcard-dot--done{background:var(--c-green)}.pcard-dot--postponed{background:var(--c-text-faint)}.pcard-stats{grid-area:stats;min-width:0;display:flex;flex-direction:column;gap:var(--sp-4);padding:28px 28px 24px;border-left:1px solid var(--c-divider);border-right:1px solid var(--c-divider)}.pcard-progress{display:flex;flex-direction:column;gap:10px}.pcard-progress-head{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-group);font-weight:var(--fw-semibold)}.pcard-progress-head svg{color:var(--c-accent)}.pcard-percent{font-size:var(--fs-page);font-weight:800;color:var(--c-accent);line-height:1}.pcard-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);flex:1}.pcard-tile{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0;padding:var(--sp-4);border-radius:18px;border:1px solid var(--c-border)}.pcard-tile-head{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--c-text)}.pcard-tile--days{background:linear-gradient(160deg,var(--c-surface) 0%,var(--c-accent-soft) 100%)}.pcard-tile--days .pcard-tile-head svg{color:var(--c-accent)}.pcard-tile-value{font-size:30px;font-weight:800;letter-spacing:-.5px;color:var(--c-accent);line-height:1.1;margin-top:auto}.pcard-tile-value--sm{font-size:var(--fs-metric)}.pcard-tile--days.overdue{background:linear-gradient(160deg,var(--c-surface) 0%,var(--c-danger-soft) 100%)}.pcard-tile--days.overdue .pcard-tile-head svg,.pcard-tile--days.overdue .pcard-tile-value{color:var(--c-danger)}.pcard-tile--goal{background:linear-gradient(160deg,var(--c-surface) 0%,var(--c-orange-soft) 100%);border-color:var(--c-orange-soft)}.pcard-tile--goal .pcard-tile-head svg{color:var(--c-orange)}.pcard-tile-text{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text-2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.pcard-actions{grid-area:actions;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:24px 0}.pcard-actions .btn-icon{width:var(--h-control);height:var(--h-control);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1);color:var(--c-text-2)}.pcard-actions .btn-icon:hover{color:var(--c-accent);border-color:var(--c-accent-soft-2)}.pcard-actions .pcard-open{width:48px;height:48px;border-radius:var(--r-lg);background:var(--c-accent-soft);border-color:var(--c-accent-soft-2);color:var(--c-accent);transition:transform .2s ease,background .2s ease}.pcard:hover .pcard-open{background:var(--g-accent);color:#fff;border-color:transparent;box-shadow:var(--sh-accent);transform:translate(2px)}@media(max-width:1280px){.pcard{grid-template-columns:minmax(200px,26fr) minmax(0,74fr) 56px;grid-template-areas:"photo info actions" "photo stats actions"}.pcard-info{padding-bottom:var(--sp-3)}.pcard-stats{padding-top:var(--sp-3);border-left:none;border-right:none;border-top:1px solid var(--c-divider);margin:0 var(--sp-6);padding-left:0;padding-right:0}.pcard-actions{border-left:1px solid var(--c-divider)}}@media(max-width:720px){.pcard{grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "info" "stats" "actions"}.pcard-photo{height:180px;border-radius:var(--r-2xl) var(--r-2xl) 0 0}.pcard-photo-actions{opacity:1;transform:none}.pcard-info{padding:20px 20px var(--sp-3)}.pcard-title{font-size:22px}.pcard-meta-sep{display:none}.pcard-stats{margin:0 20px}.pcard-tiles{grid-template-columns:minmax(0,1fr)}.pcard-actions{flex-direction:row;padding:var(--sp-3) 20px 20px;border-left:none}}.choice{display:flex;align-items:flex-start;gap:14px;width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--divider);background:#fff;text-align:left;cursor:pointer}.choice:hover:not(:disabled){border-color:var(--purple-light);background:var(--surface-soft)}.choice:disabled{opacity:.55;cursor:not-allowed}.choice.on{border-color:var(--purple-light);background:var(--purple-soft)}.choice>svg{color:var(--purple);flex:none;margin-top:2px}.choice input[type=radio]{margin-top:4px;accent-color:var(--purple)}.choice span{display:flex;flex-direction:column;gap:3px}.choice b{font-weight:600}.choice small{color:var(--muted);font-size:13px}.choice-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto}.project-info{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.stages-card{display:flex;flex-direction:column;gap:12px}.stages-card h2{font-size:17px;font-weight:700}.stage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.stage-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface-soft)}.stage-list svg{color:var(--purple)}@media(max-width:1000px){.project-info{grid-template-columns:1fr}}.project-main{display:flex;flex-direction:column;gap:16px;min-width:0}.value-block{overflow:hidden}.value-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 18px;font-weight:600;font-size:16px;text-align:left}.value-head:hover{background:var(--surface-soft)}.value-icon{width:32px;height:32px;border-radius:10px}.value-chevron{color:var(--muted);transition:transform .25s ease}.value-block.open .value-chevron{transform:rotate(180deg)}.value-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.value-block.open .value-collapse{grid-template-rows:1fr}.value-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:0 18px}.value-block.open .value-inner{padding:4px 18px 18px}.value-item{display:flex;flex-direction:column;gap:6px}.value-item-head{display:flex;align-items:center;gap:2px}.value-title{flex:1;font-size:14px;font-weight:600;color:var(--ink-2)}.value-title-input{flex:1;min-width:0;height:32px;padding:0 8px;margin-left:-8px;border:1px solid transparent;border-radius:8px;background:transparent;font-size:14px;font-weight:600;color:var(--ink-2);outline:none}.value-title-input:hover{border-color:var(--divider)}.value-title-input:focus{border-color:var(--purple-light);background:#fff}.value-item-head .btn-icon{width:30px;height:30px}.value-item-head .btn-icon:disabled{opacity:.3;cursor:default;background:none}.value-add{height:36px;white-space:nowrap}.value-foot{flex-wrap:wrap;row-gap:10px}@media(prefers-reduced-motion:reduce){.value-collapse,.value-chevron{transition:none}}.backup{display:flex;flex-direction:column;gap:var(--sp-4)}.backup-head{display:flex;align-items:flex-start;gap:var(--sp-3)}.backup-head h2{font-size:var(--fs-group);font-weight:var(--fw-bold);margin-bottom:var(--sp-1)}.backup-file{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border-radius:var(--r-md);background:var(--c-surface-muted);border:1px solid var(--c-border)}.backup-warning{padding:var(--sp-3);border-radius:var(--r-md);background:var(--c-warning-soft);color:var(--c-text-2);font-size:13px}.choice b .badge{margin-left:var(--sp-2);vertical-align:1px}.crumbs{display:flex;align-items:center;gap:var(--sp-2);font-size:13px;color:var(--c-text-muted);min-width:0}.crumbs a{color:var(--c-text-2);text-decoration:none}.crumbs a:hover{color:var(--c-accent)}.crumbs .btn-icon{width:28px;height:28px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text-2)}.crumbs-current{color:var(--c-text-2);min-width:0}.phead{display:flex;align-items:center;gap:var(--sp-4)}.phead-icon{width:56px;height:56px;flex:none;border-radius:var(--r-lg);display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,#9b6bff,#6b3cf0 60%,#5a2fe0);box-shadow:var(--sh-accent)}.phead-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.phead-main h1{font-size:var(--fs-page);font-weight:var(--fw-bold);letter-spacing:-.4px;line-height:var(--lh-tight)}.phead-goal{font-size:var(--fs-body);color:var(--c-text-2)}.phead-dates{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-2)}.phead-dates svg{color:var(--c-text-muted)}.progress-card{flex:none;width:340px;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-2)}.progress-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.progress-card-title{font-size:var(--fs-group);font-weight:var(--fw-bold)}.progress-card-row{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;color:var(--c-text-muted)}.progress-card-row b{font-size:var(--fs-body);color:var(--c-accent);font-weight:var(--fw-bold)}.pm-toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.pm-toolbar .search{width:280px}.pm-filter{width:320px;padding:var(--sp-3);display:flex;flex-direction:column;gap:10px}.pm-reset{align-self:flex-start;color:var(--c-accent);font-size:13px;font-weight:var(--fw-semibold)}.pm-fin-link{color:var(--c-accent)}.pm-fin-link:disabled{opacity:.7;cursor:help}.dir{overflow:hidden}.dir-head{display:flex;align-items:center;gap:var(--sp-1);padding-right:var(--sp-3)}.dir-head:hover{background:var(--c-surface-muted)}.dir-head-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-4);min-height:56px;padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-3);text-align:left}.dir-title{font-size:var(--fs-group);font-weight:var(--fw-bold);color:var(--c-text);white-space:nowrap}.dir-progress{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:var(--r-pill);background:var(--c-accent-soft);color:var(--c-accent);font-size:13px;white-space:nowrap}.dir-progress b{font-weight:var(--fw-bold)}.dir-counts{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-body);color:var(--c-text-2);white-space:nowrap}.dir-counts b{font-weight:var(--fw-bold);color:var(--c-text);margin-left:4px}.dir-sep{width:1px;height:18px;background:var(--c-border-strong)}.dir-chevron{color:var(--c-text-muted);transition:transform var(--t-fast);flex:none}.dir.open .dir-chevron{transform:rotate(180deg)}.dir-body{padding:0 var(--sp-3) var(--sp-3)}.dir-add{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);height:48px;border-radius:var(--r-lg);border:1.5px dashed var(--c-border-strong);color:var(--c-accent);font-size:var(--fs-body);font-weight:var(--fw-semibold);background:transparent}.dir-add:hover{background:var(--c-accent-soft);border-color:var(--c-accent-light)}.dir-icon-tile{display:grid;place-items:center;flex:none;border-radius:var(--r-md);background:var(--c-icon-tile);color:var(--c-icon)}.dir-icon-svg{color:var(--c-icon);flex:none}.dir-icon-btn{flex:none;margin-left:var(--sp-4);border-radius:var(--r-md)}.dir-icon-btn:not(.static):hover .dir-icon-tile{background:var(--c-icon-tile-hover);box-shadow:inset 0 0 0 1px var(--c-accent-light)}.icon-field{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:6px var(--sp-3) 6px 6px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);text-align:left}.icon-field:hover{border-color:var(--c-border-strong)}.icon-field-action{font-size:13px;font-weight:var(--fw-semibold);color:var(--c-accent);white-space:nowrap}.iconlib-top{display:flex;align-items:center;gap:var(--sp-3)}.iconlib-preview{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-lg);background:var(--c-surface-muted);border:1px solid var(--c-border)}.iconlib-preview b{display:block;font-size:var(--fs-body)}.iconlib-body{display:flex;flex-direction:column;gap:var(--sp-2);max-height:min(56vh,560px);overflow-y:auto;padding-right:var(--sp-1)}.iconlib-cat{border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden}.iconlib-cat-head{display:flex;align-items:center;gap:var(--sp-3);width:100%;height:var(--h-control);padding:0 var(--sp-3);background:var(--c-surface-sunken);text-align:left}.iconlib-cat-head:hover{background:var(--c-accent-soft)}.iconlib-cat-title{font-weight:var(--fw-bold);font-size:var(--fs-body)}.iconlib-chevron{color:var(--c-text-muted);transition:transform var(--t-fast)}.iconlib-chevron.open{transform:rotate(180deg)}.iconlib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:var(--sp-1);padding:var(--sp-2)}.iconlib-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--sp-2) var(--sp-1);border-radius:var(--r-md);border:1px solid transparent}.iconlib-item span{font-size:12px;color:var(--c-text-2);text-align:center;line-height:var(--lh-tight)}.iconlib-item:hover{background:var(--c-surface-muted)}.iconlib-item.on{background:var(--c-accent-soft);border-color:var(--c-accent-light)}.iconlib-item.on span{color:var(--c-accent);font-weight:var(--fw-semibold)}.dir-table{min-width:1060px}.dir-table th,.dir-table td{text-align:center}.dir-table th.c-name,.dir-table td.c-name{text-align:left}.dir-table th.c-name{width:30%;padding-left:var(--sp-3)}.dir-table .c-check{width:36px;padding:0 0 0 var(--sp-2)}.dir-table td.c-name{min-width:240px;white-space:normal}.dir-row{cursor:pointer}.dir-row.task td{height:var(--h-row)}.dir-row.task .dir-title-text{font-weight:var(--fw-semibold);color:var(--c-text)}.dir-row.sub td{height:var(--h-row-sm)}.dir-row.sub .dir-title-text{color:var(--c-text-2)}.dir-name{display:flex;align-items:center;gap:10px;position:relative;line-height:var(--lh-tight)}.dir-row.sub .dir-name{padding-left:30px}.dir-title-text{min-width:0}.tree{position:absolute;left:8px;top:-20px;bottom:50%;width:14px;border-left:1px solid var(--c-border-strong);border-bottom:1px solid var(--c-border-strong);border-bottom-left-radius:5px}.dir-row.sub:not(.last) .tree{bottom:-20px;border-bottom:none}.dir-row.sub:not(.last) .tree:after{content:"";position:absolute;left:0;top:50%;width:14px;border-top:1px solid var(--c-border-strong)}.dir-toggle{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;color:var(--c-text-muted);transform:rotate(-90deg);transition:transform var(--t-fast)}.dir-toggle.open{transform:none}.dir-toggle:hover{background:var(--c-accent-soft);color:var(--c-accent)}.who{display:inline-flex;align-items:center;gap:6px}.who svg{color:var(--c-accent)}.dir-time{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:120px}.dir-time .progress{flex:1}.dir-time>span{width:36px;text-align:right;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--c-text-2)}.dir-time>span.done{color:var(--c-success)}@media(max-width:1280px){.metrics{flex-wrap:wrap;row-gap:var(--sp-3)}.metric{flex:1 1 30%}.metric:nth-child(4){border-left:none}}@media(max-width:1100px){.phead{flex-wrap:wrap}.progress-card{width:100%}.dir-head-toggle{flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}.pm-toolbar .search{width:220px}}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;padding-top:6px;border-top:1px solid var(--divider)}.subtask-table{display:flex;flex-direction:column;gap:6px;overflow-x:auto}.subtask-row{display:grid;grid-template-columns:minmax(150px,1.6fr) 120px minmax(110px,1fr) 138px 138px 110px 96px;gap:6px;align-items:center;min-width:890px}.subtask-row .input{height:36px;padding:0 10px;border-radius:10px;font-size:14px}.subtask-head span{font-size:12px;color:var(--muted);padding-left:4px}.subtask-actions{display:flex}.subtask-actions .btn-icon{width:30px;height:30px}.subtask-actions .btn-icon:disabled{opacity:.3;cursor:default;background:none}.gchart-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.gchart-filter{height:38px;min-width:180px}.gchart{--g-label: 300px;padding:0;overflow:hidden}.gchart-scroll{overflow:auto;max-height:calc(100vh - 300px);position:relative}.gchart-head{position:sticky;top:0;z-index:3;display:flex;background:#fff;border-bottom:1px solid var(--divider);width:max-content;min-width:100%}.gchart-label{position:sticky;left:0;z-index:2;flex:none;width:var(--g-label);display:flex;align-items:center;gap:6px;padding-right:12px;background:#fff;border-right:1px solid var(--divider);font-size:14px;color:var(--ink-2)}.gchart-label.clickable{cursor:pointer}.gchart-label.clickable:hover{color:var(--purple)}.gchart-corner{font-size:12px;font-weight:600;color:var(--muted);padding-left:14px}.gchart-scale{position:relative;height:56px;flex:none}.gchart-scale-row{position:relative;height:28px}.gchart-cell{position:absolute;top:0;height:28px;display:flex;align-items:center;padding-left:6px;font-size:11.5px;color:var(--muted);border-left:1px solid var(--divider);overflow:hidden;white-space:nowrap}.gchart-cell.top{font-weight:600;color:var(--ink-2)}.gchart-cell.weekend{background:#efe9ff73}.gchart-body{position:relative;width:max-content;min-width:100%}.gchart-row{display:flex;height:40px;border-bottom:1px solid rgba(236,232,246,.7)}.gchart-row .gchart-label{height:40px}.gchart-row.g-project .gchart-label{font-weight:700;color:var(--ink);background:var(--purple-soft)}.gchart-row.g-direction .gchart-label{font-weight:600;color:var(--ink);background:#fbfaff}.gchart-row.g-subtask .gchart-label{color:var(--muted);font-size:13.5px}.gchart-track{position:relative;flex:none;height:40px}.gchart-grid{position:absolute;top:0;bottom:0;border-left:1px solid rgba(236,232,246,.8)}.gchart-grid.weekend{background:#efe9ff4d}.gchart-bar{position:absolute;top:9px;height:22px;border-radius:7px;overflow:hidden;display:flex;align-items:center;padding:0 8px;font-size:11.5px;font-weight:600;white-space:nowrap}.gchart-bar>i{position:absolute;inset:0 auto 0 0;background:#ffffff38;pointer-events:none}.gchart-bar>span{position:relative}.gchart-bar.clickable{cursor:pointer}.bar-project{top:11px;height:18px;background:linear-gradient(90deg,#5a2fe0,#3d1fa8);color:#fff}.bar-direction{top:13px;height:14px;background:#e4dafe;color:var(--purple);border:1px solid #cbb8fd;font-size:10.5px}.bar-task{background:linear-gradient(90deg,var(--purple-light),var(--purple));color:#fff;box-shadow:0 3px 8px #6b3cf040}.bar-subtask{top:12px;height:16px;background:#d9ccff;color:#4a2bb3;font-size:10.5px}.bar-subtask>i{background:#6b3cf02e}.gchart-outside{position:absolute;top:12px;font-size:11.5px;color:var(--muted);white-space:nowrap}.gchart-nodates{position:absolute;left:12px;top:12px;font-size:12px;color:var(--faint)}.gchart-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--orange);opacity:.7;z-index:1;pointer-events:none}.project-description{min-height:180px;line-height:1.55}.overview{display:flex;flex-direction:column;gap:var(--sp-4)}.overview-head{display:flex;align-items:center;gap:var(--sp-3)}.overview-head h2{font-size:var(--fs-section);font-weight:var(--fw-bold);line-height:var(--lh-tight);overflow-wrap:anywhere}.overview-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--c-divider)}.overview-stat{display:flex;flex-direction:column;gap:6px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--c-surface-muted)}.overview-value{font-size:var(--fs-metric);font-weight:var(--fw-bold);color:var(--c-text)}.overview-overdue{color:var(--c-danger);font-weight:var(--fw-medium)}.overview-section{display:flex;flex-direction:column;gap:var(--sp-2);padding-bottom:var(--sp-4);border-bottom:1px solid var(--c-divider)}.overview-section:last-child{padding-bottom:0;border-bottom:none}.overview-section h3{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-group);font-weight:var(--fw-semibold)}.overview-section h3 svg{color:var(--c-accent)}.overview-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:var(--c-text-2)}.overview-value-item{display:flex;flex-direction:column;gap:var(--sp-1)}.overview-value-title{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--c-text-muted)}@media(max-width:640px){.overview-stats{grid-template-columns:1fr}}.saved-dialog{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;padding:var(--sp-2) 0}.saved-dialog-icon{width:52px;height:52px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--c-success-soft);color:var(--c-success)}.saved-dialog-name{font-size:var(--fs-group);overflow-wrap:anywhere}.saved-dialog-next{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--c-surface-muted);border:1px solid var(--c-border)}.board{--board-gap: var(--sp-4);--add-column-w: 40px;display:grid;grid-template-columns:repeat(var(--board-cols, 4),minmax(max(var(--w-column-min),calc((100% - 4 * var(--board-gap) - var(--add-column-w)) / 4)),1fr)) var(--add-column-w);gap:var(--board-gap);align-items:start;overflow-x:auto;padding-bottom:var(--sp-2)}.column{--col-head: var(--col-purple-head);--col-bg: var(--col-purple-bg);--col-line: var(--col-purple-line);--col-ink: var(--col-purple-ink);background:linear-gradient(180deg,var(--col-head) 0,var(--col-bg) 72px,var(--col-bg) 100%);border:1px solid var(--col-line);border-radius:20px;padding:var(--sp-3);min-height:420px;box-shadow:var(--sh-1);transition:box-shadow var(--t-fast)}.column.drag-over{box-shadow:var(--sh-1),inset 0 0 0 2px color-mix(in srgb,var(--col-ink) 35%,transparent)}.col-blue{--col-head: var(--col-blue-head);--col-bg: var(--col-blue-bg);--col-line: var(--col-blue-line);--col-ink: var(--col-blue-ink)}.col-purple{--col-head: var(--col-purple-head);--col-bg: var(--col-purple-bg);--col-line: var(--col-purple-line);--col-ink: var(--col-purple-ink)}.col-green{--col-head: var(--col-green-head);--col-bg: var(--col-green-bg);--col-line: var(--col-green-line);--col-ink: var(--col-green-ink)}.col-orange{--col-head: var(--col-orange-head);--col-bg: var(--col-orange-bg);--col-line: var(--col-orange-line);--col-ink: var(--col-orange-ink)}.col-teal{--col-head: var(--col-teal-head);--col-bg: var(--col-teal-bg);--col-line: var(--col-teal-line);--col-ink: var(--col-teal-ink)}.col-pink{--col-head: var(--col-pink-head);--col-bg: var(--col-pink-bg);--col-line: var(--col-pink-line);--col-ink: var(--col-pink-ink)}.col-indigo{--col-head: var(--col-indigo-head);--col-bg: var(--col-indigo-bg);--col-line: var(--col-indigo-line);--col-ink: var(--col-indigo-ink)}.col-yellow{--col-head: var(--col-yellow-head);--col-bg: var(--col-yellow-bg);--col-line: var(--col-yellow-line);--col-ink: var(--col-yellow-ink)}.column-head{display:flex;align-items:center;gap:var(--sp-2);min-height:34px;padding:0 2px var(--sp-3)}.column-name{flex:1;min-width:0;text-align:left;padding:4px 6px;border-radius:var(--r-sm);font-size:16px;font-weight:var(--fw-bold);color:var(--col-ink);cursor:text}.column-name:hover{background:#fff9}.column-name-input{flex:1;min-width:0;height:32px;padding:0 6px;border-radius:var(--r-sm);border:1px solid var(--col-line);background:var(--c-surface);box-shadow:var(--focus-ring);font:inherit;font-size:16px;font-weight:var(--fw-bold);color:var(--col-ink);outline:none}.column-count{min-width:28px;height:var(--h-badge);padding:0 8px;border-radius:var(--r-pill);background:var(--c-surface);color:var(--col-ink, var(--muted));font-size:12.5px;font-weight:var(--fw-semibold);display:grid;place-items:center;box-shadow:0 1px 2px #1d1b330f}.add-column{width:var(--add-column-w);height:var(--h-control);margin-top:var(--sp-3);border-radius:var(--r-md);border:1px dashed var(--c-border-strong);background:#fff9;color:var(--c-text-muted);display:grid;place-items:center;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.add-column:hover:not(:disabled){background:var(--c-surface);color:var(--c-accent);border-color:var(--c-accent-light)}.add-column:disabled{opacity:.45;cursor:not-allowed}.st-NEW{color:var(--blue)}.st-IN_PROGRESS{color:var(--purple)}.st-DONE{color:var(--green)}.st-POSTPONED{color:var(--gold)}.column-body{display:flex;flex-direction:column;gap:10px}.ticket{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 3px 10px #6b3cf014;border:1px solid var(--divider);cursor:grab;display:flex;flex-direction:column;gap:6px}.ticket:hover{border-color:#9b6bff73}.ticket:focus-visible{outline:2px solid var(--purple-light);outline-offset:2px}.ticket.dragging{opacity:.45}.ticket-top{display:flex;align-items:center;justify-content:space-between;min-height:24px}.ticket-no{font-size:12px;font-weight:600;color:var(--muted)}.ticket-r{width:34px;height:24px;font-size:13px;border-radius:8px}.ticket-title{font-size:14.5px;line-height:1.35;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ticket-meta{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid var(--c-divider);min-width:0}.ticket-group{display:flex;align-items:center;gap:5px;min-width:0;font-size:var(--fs-caption);color:var(--c-text-2)}.ticket-group-icon{flex:none;color:var(--c-text-faint)}.ticket-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-group-count{flex:none;padding:0 6px;height:18px;line-height:18px;border-radius:var(--r-pill);background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--fs-micro);font-weight:var(--fw-semibold)}.ticket-group-count.done{background:var(--c-success-soft);color:var(--c-success)}.ticket-dir{font-size:var(--fs-micro);color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-sub-count{flex:none;margin-left:6px;font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--c-text-muted)}.checkbox:disabled{cursor:default;opacity:.75}.ticket-dialog-group{display:flex;align-items:center;gap:var(--sp-2);min-width:0;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--c-surface-sunken)}.link-btn{min-width:0;color:var(--c-accent);font-weight:var(--fw-semibold);text-align:left}.link-btn:hover{text-decoration:underline}.drop-line{height:3px;border-radius:2px;background:var(--purple-light)}.add-ticket{display:flex;align-items:center;gap:6px;height:38px;padding:0 10px;border-radius:12px;color:var(--muted);font-size:14px}.add-ticket:hover{background:#fff;color:var(--purple)}.life-head{display:flex;flex-direction:column;gap:var(--sp-1)}.life-head h1{font-size:var(--fs-page);font-weight:800;letter-spacing:-.5px}.life-subtitle{font-size:var(--fs-body);color:var(--c-text-muted)}.tone-purple{--tone-bg: var(--col-purple-head);--tone-ink: var(--col-purple-ink)}.tone-green{--tone-bg: var(--col-green-head);--tone-ink: var(--col-green-ink)}.tone-pink{--tone-bg: var(--col-pink-head);--tone-ink: var(--col-pink-ink)}.tone-indigo{--tone-bg: var(--col-indigo-head);--tone-ink: var(--col-indigo-ink)}.tone-teal{--tone-bg: var(--col-teal-head);--tone-ink: var(--col-teal-ink)}.tone-orange{--tone-bg: var(--col-orange-head);--tone-ink: var(--col-orange-ink)}.life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}.life-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-5);min-height:148px;padding:20px;border-radius:18px;text-decoration:none;color:var(--c-text);background:linear-gradient(160deg,var(--c-surface) 55%,color-mix(in srgb,var(--tone-bg) 45%,var(--c-surface)) 100%);border:1px solid var(--c-border);box-shadow:var(--sh-1);transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast)}.life-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:color-mix(in srgb,var(--tone-ink) 25%,var(--c-border))}.life-card:active{transform:translateY(0) scale(.99);box-shadow:var(--sh-1)}.life-card:focus-visible{outline:none;box-shadow:var(--sh-2),var(--focus-ring)}.life-card-icon{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--tone-bg);color:var(--tone-ink)}.life-card-icon.lg{width:56px;height:56px;border-radius:16px}.life-card-title{font-size:var(--fs-group);font-weight:var(--fw-semibold);line-height:var(--lh-tight);padding-right:var(--sp-5)}.life-card-arrow{position:absolute;top:20px;right:18px;color:var(--c-text-faint);transition:transform var(--t-fast),color var(--t-fast)}.life-card:hover .life-card-arrow{transform:translate(3px);color:var(--tone-ink)}.life-back{text-decoration:none}.life-sphere-head{display:flex;align-items:center;gap:var(--sp-4);min-width:0}.life-sphere-head h1{font-size:var(--fs-page);font-weight:800;letter-spacing:-.5px;min-width:0}.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}.goal-card{position:relative;display:flex;flex-direction:column;gap:var(--sp-3);min-height:112px;padding:18px 20px;text-align:left;border-radius:18px;background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1);transition:transform var(--t-fast),box-shadow var(--t-fast),border-color var(--t-fast)}.goal-card:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--c-border-strong)}.goal-card:active{transform:scale(.99)}.goal-card:focus-visible{outline:none;box-shadow:var(--sh-2),var(--focus-ring)}.goal-card-title{font-size:var(--fs-group);font-weight:var(--fw-semibold);line-height:var(--lh-tight);padding-right:var(--sp-5);word-break:break-word}.goal-card-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:auto;font-size:var(--fs-caption);color:var(--c-text-muted)}.goal-card-meta>span{display:inline-flex;align-items:center;gap:5px}.goal-card-habit{color:var(--c-accent);font-weight:var(--fw-medium)}.goal-card-arrow{position:absolute;top:18px;right:16px;color:var(--c-text-faint)}.goal-date{max-width:380px}.goal-option{display:flex;flex-direction:column;padding:var(--sp-4);border-radius:var(--r-lg);background:var(--c-surface-muted);border:1px solid var(--c-border)}.goal-block{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-4)}.goal-block h4{font-size:var(--fs-body);font-weight:var(--fw-bold)}.goal-block.nested{padding-top:var(--sp-3)}.goal-add-sub{display:flex;gap:var(--sp-2)}.goal-error{font-style:normal;font-size:var(--fs-caption);color:var(--c-danger)}.input.invalid{border-color:var(--c-danger)}.subgoal-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-1)}.subgoal-top{display:flex;align-items:center;gap:var(--sp-2)}.subgoal-no{flex:none;width:24px;height:24px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--fs-micro);font-weight:var(--fw-bold)}.subgoal-title{flex:1;min-width:0;font-weight:var(--fw-semibold)}.subgoal-fields{display:flex;gap:var(--sp-3);align-items:flex-start}.habit-fields{display:flex;flex-direction:column;gap:var(--sp-3)}.habit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}.weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{height:var(--h-control-sm);border-radius:var(--r-md);border:1px solid var(--c-border);background:var(--c-surface);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--c-text-2);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.weekday:hover{border-color:var(--c-accent-light)}.weekday.on{background:var(--g-accent);color:#fff;border-color:transparent;box-shadow:var(--sh-accent)}.input-suffix{position:relative;display:block}.input-suffix .input{width:100%;padding-right:44px}.input-suffix>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:var(--fs-caption);color:var(--c-text-muted);pointer-events:none}.deadline-field{position:relative;min-width:0}.deadline-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.deadline-date{flex:1 1 150px;min-width:0;max-width:220px}.deadline-days{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:6px;height:var(--h-control);padding:0 10px 0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-accent-soft-2);background:var(--c-accent-soft);color:var(--c-accent);font-size:var(--fs-body);font-weight:var(--fw-semibold);white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.deadline-days:hover{background:var(--c-accent-soft-2)}.deadline-days.open{box-shadow:var(--focus-ring);border-color:var(--c-accent-light)}.deadline-days.empty{background:var(--c-surface);border-color:var(--c-border);color:var(--c-text-muted);font-weight:var(--fw-medium)}.deadline-days.empty:hover{border-color:var(--c-border-strong);color:var(--c-accent)}.deadline-days.danger{background:var(--c-danger-soft);border-color:transparent;color:var(--c-danger)}.deadline-days.warning{background:var(--c-warning-soft);border-color:transparent;color:var(--c-warning)}.deadline-chevron{flex:none;opacity:.7;transition:transform var(--t-fast)}.deadline-days.open .deadline-chevron{transform:rotate(180deg)}.deadline-pop{position:fixed;z-index:60;width:320px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-xl);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--sh-3);animation:deadline-pop-in .16s ease-out}@keyframes deadline-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.deadline-pop-title{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--c-text-muted)}.deadline-quick{display:flex;flex-wrap:wrap;gap:6px}.deadline-quick .chip{flex:1 0 auto;padding:0 10px;white-space:nowrap}.deadline-preview{display:flex;flex-direction:column;gap:2px;padding:10px var(--sp-3);border-radius:var(--r-md);background:var(--c-surface-muted);border:1px solid var(--c-border)}.deadline-preview b{font-size:var(--fs-group);color:var(--c-accent)}.deadline-pop-actions{display:flex;align-items:center;gap:var(--sp-2)}.deadline-pop-actions .btn{height:var(--h-control-sm)}.plan-grid .deadline-field{grid-column:span 2}@media(max-width:640px){.plan-grid .deadline-field{grid-column:auto}.deadline-date{max-width:none}}@media(max-width:1024px){.life-grid,.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.goal-grid{grid-template-columns:1fr}.goal-card{min-height:0}.habit-grid{grid-template-columns:1fr}.subgoal-fields{flex-direction:column;align-items:stretch}.goal-add-sub{flex-direction:column}.goal-date{max-width:none}.life-sphere-head{flex-wrap:wrap}.life-sphere-head h1{flex-basis:calc(100% - 72px);font-size:22px}}@media(max-width:640px){.life-grid{grid-template-columns:1fr}.life-card{min-height:0;flex-direction:row;align-items:center;gap:var(--sp-3);padding:var(--sp-4)}.life-card-arrow{position:static;margin-left:auto;flex:none}.life-card-title{padding-right:0}}@media(prefers-reduced-motion:reduce){.life-card,.life-card-arrow{transition:none}.life-card:hover{transform:none}}@media(max-width:1100px){.home-grid{grid-template-columns:1fr}}@media(max-width:820px){.summary{grid-template-columns:1fr}.summary .divider{display:none}.quick{grid-template-columns:repeat(2,minmax(0,1fr))}}
