.ui-btn[data-v-57d89674]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);font-weight:var(--weight-medium);transition:background-color .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap;cursor:pointer}.ui-btn[data-v-57d89674]:active:not(:disabled){opacity:.85}.ui-btn[data-v-57d89674]:disabled{opacity:.55;cursor:not-allowed}.size-md[data-v-57d89674]{padding:10px var(--space-5);font-size:var(--text-sm)}.size-sm[data-v-57d89674]{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.variant-primary[data-v-57d89674]{background:var(--color-btn-primary);color:var(--color-btn-primary-text);border:1px solid var(--color-btn-primary)}.variant-primary[data-v-57d89674]:hover:not(:disabled){background:var(--color-btn-primary-hover);border-color:var(--color-btn-primary-hover)}.variant-secondary[data-v-57d89674]{background:var(--color-bg-secondary);color:var(--color-neutral-700);border:1px solid var(--color-neutral-300)}.variant-secondary[data-v-57d89674]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.variant-ghost[data-v-57d89674]{background:transparent;color:var(--color-neutral-600);border:1px solid transparent}.variant-ghost[data-v-57d89674]:hover:not(:disabled){color:var(--color-primary);background:rgba(var(--color-primary-rgb),.07)}.variant-danger[data-v-57d89674]{background:var(--color-danger);color:#fff;border:1px solid var(--color-danger)}.variant-danger[data-v-57d89674]:hover:not(:disabled){filter:brightness(.92)}.btn-spinner[data-v-57d89674]{width:.875rem;height:.875rem;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:btn-spin-57d89674 .7s linear infinite}@keyframes btn-spin-57d89674{to{transform:rotate(360deg)}}.ui-card[data-v-93882c6b]{background:var(--color-bg-secondary);border-radius:var(--radius-xl);transition:all var(--duration-slow) var(--ease-default)}.pad-sm[data-v-93882c6b]{padding:var(--space-3)}.pad-md[data-v-93882c6b]{padding:var(--space-5)}.pad-lg[data-v-93882c6b]{padding:var(--space-8)}.variant-feature[data-v-93882c6b]{border:1px solid rgba(var(--color-primary-rgb),.1);box-shadow:var(--shadow-sm)}.variant-feature[data-v-93882c6b]:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.variant-dashed[data-v-93882c6b]{border:1px dashed rgba(var(--color-primary-rgb),.2)}.variant-dashed[data-v-93882c6b]:hover{border-color:rgba(var(--color-primary-rgb),.35);background:rgba(var(--color-primary-rgb),.05)}.variant-plain[data-v-93882c6b]{border:1px solid rgba(var(--color-primary-rgb),.1)}.ui-badge[data-v-236b46f4]{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-tiny);font-weight:var(--weight-medium);border-radius:var(--radius-md);white-space:nowrap}.tone-primary[data-v-236b46f4]{color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1)}.tone-success[data-v-236b46f4]{color:var(--color-success);background:var(--color-success-bg)}.tone-warning[data-v-236b46f4]{color:var(--color-warning);background:var(--color-warning-bg)}.tone-danger[data-v-236b46f4]{color:var(--color-danger);background:var(--color-danger-bg)}.tone-neutral[data-v-236b46f4]{color:var(--color-neutral-600);background:var(--color-neutral-100)}.ui-badge.dashed[data-v-236b46f4]{background:transparent;border:1px dashed rgba(var(--color-primary-rgb),.25);color:var(--color-primary)}.badge-dot[data-v-236b46f4]{width:.375rem;height:.375rem;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.ui-spinner-wrap[data-v-de82ebea]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary)}.ui-spinner[data-v-de82ebea]{border:2px solid rgba(var(--color-primary-rgb),.2);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:ui-spin-de82ebea .7s linear infinite}.size-sm .ui-spinner[data-v-de82ebea]{width:.875rem;height:.875rem}.size-md .ui-spinner[data-v-de82ebea]{width:1.25rem;height:1.25rem}.size-lg .ui-spinner[data-v-de82ebea]{width:2rem;height:2rem;border-width:3px}.spinner-label[data-v-de82ebea]{font-size:var(--text-xs);color:var(--color-neutral-500)}@keyframes ui-spin-de82ebea{to{transform:rotate(360deg)}}.ui-field[data-v-f54182d9]{display:flex;flex-direction:column;gap:var(--space-1)}.field-label[data-v-f54182d9]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-700)}.field-required[data-v-f54182d9]{color:var(--color-danger);margin-left:2px}.field-control[data-v-f54182d9]{width:100%;padding:10px var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.field-control[data-v-f54182d9]::placeholder{color:var(--color-neutral-400)}.field-control[data-v-f54182d9]:hover:not(:disabled){border-color:var(--color-primary-light)}.field-control[data-v-f54182d9]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.field-control[data-v-f54182d9]:disabled{background:var(--color-neutral-100);cursor:not-allowed}.field-textarea[data-v-f54182d9]{resize:vertical;min-height:4.5rem;line-height:var(--leading-relaxed)}.has-error .field-control[data-v-f54182d9]{border-color:var(--color-danger)}.has-error .field-control[data-v-f54182d9]:focus{box-shadow:0 0 0 3px #b91c1c1f}.field-error[data-v-f54182d9]{font-size:var(--text-xs);color:var(--color-danger)}.field-hint[data-v-f54182d9]{font-size:var(--text-xs);color:var(--color-neutral-500)}.ui-modal-backdrop[data-v-d4057b38]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0f171266;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.ui-modal[data-v-d4057b38]{width:100%;background:var(--color-bg-secondary);border:1px solid rgba(var(--color-primary-rgb),.12);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-height:calc(100vh - var(--space-16));display:flex;flex-direction:column}.width-sm[data-v-d4057b38]{max-width:24rem}.width-md[data-v-d4057b38]{max-width:32rem}.width-lg[data-v-d4057b38]{max-width:48rem}.modal-header[data-v-d4057b38]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6) 0}.modal-title[data-v-d4057b38]{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.modal-close[data-v-d4057b38]{width:2rem;height:2rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-neutral-500);transition:all var(--duration-fast) var(--ease-default)}.modal-close[data-v-d4057b38]:hover{background:rgba(var(--color-primary-rgb),.08);color:var(--color-neutral-800)}.modal-close svg[data-v-d4057b38]{width:1rem;height:1rem}.modal-body[data-v-d4057b38]{padding:var(--space-5) var(--space-6);overflow-y:auto;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.modal-footer[data-v-d4057b38]{display:flex;justify-content:flex-end;gap:var(--space-3);padding:0 var(--space-6) var(--space-5)}.modal-enter-active[data-v-d4057b38],.modal-leave-active[data-v-d4057b38]{transition:opacity var(--duration-normal) var(--ease-default)}.modal-enter-active .ui-modal[data-v-d4057b38],.modal-leave-active .ui-modal[data-v-d4057b38]{transition:transform var(--duration-normal) var(--ease-default),opacity var(--duration-normal) var(--ease-default)}.modal-enter-from[data-v-d4057b38],.modal-leave-to[data-v-d4057b38]{opacity:0}.modal-enter-from .ui-modal[data-v-d4057b38],.modal-leave-to .ui-modal[data-v-d4057b38]{transform:translateY(8px) scale(.98);opacity:0}.ui-tabs[data-v-07b1d97a]{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--color-neutral-100);border-radius:var(--radius-full)}.ui-tab[data-v-07b1d97a]{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-600);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-default)}.ui-tab[data-v-07b1d97a]:hover{color:var(--color-primary)}.ui-tab.active[data-v-07b1d97a]{background:var(--color-bg-secondary);color:var(--color-neutral-800);box-shadow:var(--shadow-sm)}.tab-badge[data-v-07b1d97a]{font-size:var(--text-tiny);font-weight:var(--weight-semibold);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);padding:0 var(--space-1);border-radius:var(--radius-md);min-width:1.25rem;text-align:center}.ui-empty[data-v-9e0986b9]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-6);border:1px dashed rgba(var(--color-primary-rgb),.2);border-radius:var(--radius-xl);background:rgba(var(--color-primary-rgb),.02)}.empty-icon[data-v-9e0986b9]{width:3rem;height:3rem;color:var(--color-primary-light);margin-bottom:var(--space-4)}.empty-icon svg[data-v-9e0986b9]{width:100%;height:100%}.empty-title[data-v-9e0986b9]{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-neutral-700)}.empty-desc[data-v-9e0986b9]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-500);max-width:24rem;line-height:var(--leading-relaxed)}.empty-action[data-v-9e0986b9]{margin-top:var(--space-5)}.ui-toasts[data-v-7a6752b3]{position:fixed;top:calc(3.5rem + var(--space-6));right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(24rem,calc(100vw - var(--space-8)))}.ui-toast[data-v-7a6752b3]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-bg-secondary) 96%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(var(--color-primary-rgb),.15);border-left-width:3px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--color-neutral-800)}.tone-success[data-v-7a6752b3]{border-left-color:var(--color-success)}.tone-success .toast-icon[data-v-7a6752b3]{color:var(--color-success)}.tone-warning[data-v-7a6752b3]{border-left-color:var(--color-warning)}.tone-warning .toast-icon[data-v-7a6752b3]{color:var(--color-warning)}.tone-danger[data-v-7a6752b3]{border-left-color:var(--color-danger)}.tone-danger .toast-icon[data-v-7a6752b3]{color:var(--color-danger)}.tone-info[data-v-7a6752b3]{border-left-color:var(--color-info)}.tone-info .toast-icon[data-v-7a6752b3]{color:var(--color-info)}.toast-icon[data-v-7a6752b3]{width:1rem;height:1rem;flex-shrink:0}.toast-message[data-v-7a6752b3]{flex:1;line-height:var(--leading-normal)}.toast-close[data-v-7a6752b3]{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;color:var(--color-neutral-400);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-default)}.toast-close[data-v-7a6752b3]:hover{color:var(--color-neutral-700)}.toast-close svg[data-v-7a6752b3]{width:.75rem;height:.75rem}.toast-enter-active[data-v-7a6752b3],.toast-leave-active[data-v-7a6752b3]{transition:all var(--duration-slow) var(--ease-default)}.toast-enter-from[data-v-7a6752b3]{opacity:0;transform:translate(var(--space-6))}.toast-leave-to[data-v-7a6752b3]{opacity:0;transform:translateY(calc(-1 * var(--space-2))) scale(.96)}.toast-move[data-v-7a6752b3]{transition:transform var(--duration-slow) var(--ease-default)}.login-page[data-v-d1f4d856]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);position:relative;overflow:hidden}.grid-pattern[data-v-d1f4d856]{position:absolute;top:0;right:0;bottom:0;left:0;color:var(--color-primary);opacity:.08;mask-image:linear-gradient(to bottom,black 0%,transparent 70%);-webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 70%);pointer-events:none}.login-theme-toggle[data-v-d1f4d856]{position:absolute;top:var(--space-5);right:var(--space-5);width:2.5rem;height:2.5rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-neutral-600);background:linear-gradient(to bottom,var(--color-bg-secondary),var(--color-bg-primary-light));border:.5px solid rgba(var(--color-primary-rgb),.1);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-default)}.login-theme-toggle[data-v-d1f4d856]:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.login-theme-toggle svg[data-v-d1f4d856]{width:1rem;height:1rem}.login-card[data-v-d1f4d856]{width:100%;max-width:24rem;padding:var(--space-8);background:var(--color-bg-secondary);border:1px solid rgba(var(--color-primary-rgb),.12);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:var(--space-4);position:relative;animation:card-rise-d1f4d856 var(--duration-slowest) var(--ease-default) backwards}@keyframes card-rise-d1f4d856{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-brand[data-v-d1f4d856]{display:flex;align-items:center;justify-content:space-between}.brand-mark[data-v-d1f4d856]{width:3rem;height:3rem;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-btn-primary-text);font-size:var(--text-xl);font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.brand-badge[data-v-d1f4d856]{font-size:var(--text-tiny);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);color:var(--color-primary);border:1px dashed rgba(var(--color-primary-rgb),.3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md)}.login-title[data-v-d1f4d856]{font-size:var(--text-4xl);font-weight:var(--weight-semibold);color:var(--color-neutral-800);letter-spacing:var(--tracking-wide);margin-top:var(--space-2)}.login-subtitle[data-v-d1f4d856]{font-size:var(--text-sm);color:var(--color-neutral-500);margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-2)}.login-submit[data-v-d1f4d856]{width:100%;margin-top:var(--space-2)}.login-footer[data-v-d1f4d856]{margin-top:var(--space-6);font-family:var(--font-mono);font-size:var(--text-tiny);color:var(--color-neutral-400);letter-spacing:var(--tracking-wider)}.home-page[data-v-292483f0]{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-6)}.page-loading[data-v-292483f0]{display:flex;justify-content:center;padding:var(--space-24) 0}.page-heading[data-v-292483f0]{position:relative;padding:var(--space-2) 0 var(--space-5);border-bottom:.5px solid var(--color-neutral-200);display:flex;flex-direction:column;gap:var(--space-2)}.page-heading[data-v-292483f0]:before{content:"";position:absolute;left:0;bottom:-.5px;width:4rem;height:2px;background:var(--gradient-strip)}.heading-eyebrow[data-v-292483f0]{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary)}.heading-title[data-v-292483f0]{font-family:var(--font-brand);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-neutral-800);letter-spacing:var(--tracking-heading);line-height:1.25}.heading-copy[data-v-292483f0]{font-size:var(--text-sm);color:var(--color-neutral-500);line-height:1.7}.heading-links[data-v-292483f0]{display:flex;gap:var(--space-4);margin-top:var(--space-1)}.heading-links a[data-v-292483f0]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary);text-decoration:none}.heading-links a[data-v-292483f0]:hover{text-decoration:underline}.facts[data-v-292483f0]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-neutral-200)}.fact[data-v-292483f0]{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4) var(--space-5) 0;border-left:1px solid var(--color-neutral-200)}.fact[data-v-292483f0]:first-child{border-left:none;padding-left:0}.fact-label[data-v-292483f0]{font-size:var(--text-xs);color:var(--color-neutral-500)}.fact-num[data-v-292483f0]{font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-primary);font-variant-numeric:tabular-nums;line-height:1.2}.fact-num i[data-v-292483f0]{font-style:normal;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-400);margin-left:2px}@media(max-width:640px){.fact[data-v-292483f0]{padding:var(--space-3) var(--space-3) 0}}.overview-grid[data-v-292483f0]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);align-items:start}@media(min-width:1024px){.overview-grid[data-v-292483f0]{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}}.today-main[data-v-292483f0]{border:.5px solid var(--color-neutral-200);border-radius:var(--radius-2xl);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm);padding:var(--space-6)}.axis-head[data-v-292483f0]{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.axis-head h2[data-v-292483f0]{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.axis-state[data-v-292483f0]{font-size:var(--text-xs);color:var(--color-neutral-500);font-variant-numeric:tabular-nums}.axis-state.now[data-v-292483f0]{color:var(--color-primary);font-weight:var(--weight-semibold)}.axis-empty[data-v-292483f0]{padding:var(--space-10) 0;font-size:var(--text-sm);color:var(--color-neutral-500);text-align:center;line-height:2}.axis-empty a[data-v-292483f0]{color:var(--color-primary)}.timeline[data-v-292483f0]{list-style:none;margin:0;padding:0;position:relative}.timeline[data-v-292483f0]:before{content:"";position:absolute;left:4.6rem;top:.6rem;bottom:.6rem;width:1px;background:var(--color-neutral-200)}.tl-row[data-v-292483f0]{display:grid;grid-template-columns:3.6rem 2rem minmax(0,1fr);align-items:center;padding:var(--space-2) 0;position:relative}.tl-time[data-v-292483f0]{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-variant-numeric:tabular-nums}.tl-time b[data-v-292483f0]{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-700)}.tl-time i[data-v-292483f0]{font-style:normal;font-size:var(--text-tiny);color:var(--color-neutral-400)}.tl-node[data-v-292483f0]{width:.55rem;height:.55rem;border-radius:var(--radius-full);background:var(--color-bg-secondary);border:1.5px solid var(--color-neutral-300);justify-self:center;z-index:1}.tl-body[data-v-292483f0]{display:flex;align-items:baseline;gap:var(--space-3);min-width:0;padding-left:var(--space-1)}.tl-period[data-v-292483f0]{font-size:var(--text-tiny);color:var(--color-neutral-400);font-variant-numeric:tabular-nums;flex-shrink:0}.tl-subject[data-v-292483f0]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-neutral-800)}.tl-note[data-v-292483f0]{font-size:var(--text-tiny);color:var(--color-neutral-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-row.past[data-v-292483f0]{opacity:.45}.tl-row.current .tl-node[data-v-292483f0]{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.15)}.tl-row.current .tl-subject[data-v-292483f0]{color:var(--color-primary);font-weight:var(--weight-semibold)}.tl-row.current[data-v-292483f0]:after{content:"现在";font-size:var(--text-tiny);color:var(--color-btn-primary-text);background:var(--color-primary);border-radius:var(--radius-full);padding:1px var(--space-2);margin-left:auto;flex-shrink:0;align-self:center}.today-side[data-v-292483f0]{display:flex;flex-direction:column;gap:var(--space-5)}.panel[data-v-292483f0]{display:flex;flex-direction:column;gap:var(--space-4)}.panel-head[data-v-292483f0]{display:flex;align-items:center;justify-content:space-between}.panel-head h2[data-v-292483f0]{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.panel-count[data-v-292483f0]{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary);font-variant-numeric:tabular-nums}.panel-empty[data-v-292483f0]{font-size:var(--text-sm);color:var(--color-neutral-400);padding:var(--space-3) 0;text-align:center}.todo-form[data-v-292483f0]{display:flex;gap:var(--space-2);align-items:stretch}.todo-input[data-v-292483f0]{flex:1;min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.todo-input[data-v-292483f0]::placeholder{color:var(--color-neutral-400)}.todo-input[data-v-292483f0]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.todo-date[data-v-292483f0]{padding:var(--space-2);font-size:var(--text-xs);color:var(--color-neutral-600);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg)}.todo-list[data-v-292483f0]{list-style:none;display:flex;flex-direction:column}.todo-list li[data-v-292483f0]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px dashed var(--color-neutral-200)}.todo-list li[data-v-292483f0]:last-child{border-bottom:none}.todo-row[data-v-292483f0]{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;font-size:var(--text-sm);color:var(--color-neutral-800);cursor:pointer}.todo-row input[type=checkbox][data-v-292483f0]{width:1rem;height:1rem;accent-color:var(--color-primary);flex-shrink:0}.todo-title[data-v-292483f0]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-list li.done .todo-title[data-v-292483f0]{text-decoration:line-through;color:var(--color-neutral-400)}.todo-deadline[data-v-292483f0]{font-size:var(--text-tiny);color:var(--color-neutral-400);flex-shrink:0}.todo-delete[data-v-292483f0]{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--color-neutral-300);border-radius:var(--radius-sm);flex-shrink:0;transition:all var(--duration-fast) var(--ease-default)}.todo-delete[data-v-292483f0]:hover{color:var(--color-danger);background:var(--color-danger-bg)}.todo-delete svg[data-v-292483f0]{width:.875rem;height:.875rem}.module-list[data-v-292483f0]{list-style:none;margin:0;padding:0}.module-list li[data-v-292483f0]{border-bottom:1px solid var(--color-neutral-200)}.module-list li[data-v-292483f0]:last-child{border-bottom:none}.module-row[data-v-292483f0]{display:grid;grid-template-columns:32px minmax(0,1fr) auto 12px;align-items:center;column-gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-default)}a.module-row[data-v-292483f0]:hover{background:rgba(var(--color-primary-rgb),.04)}.module-row.static[data-v-292483f0]{grid-template-columns:32px minmax(0,1fr) auto}.row-icon[data-v-292483f0]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary)}.row-icon svg[data-v-292483f0]{width:1.125rem;height:1.125rem}.row-main[data-v-292483f0]{min-width:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-800);display:flex;align-items:baseline;gap:var(--space-2);overflow:hidden}.row-main .row-title[data-v-292483f0]{flex-shrink:0}.row-main .row-desc[data-v-292483f0]{font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--color-neutral-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-row:not(.static) .row-main[data-v-292483f0]{white-space:nowrap;text-overflow:ellipsis}.row-meta[data-v-292483f0]{font-size:var(--text-xs);color:var(--color-neutral-500);font-variant-numeric:tabular-nums;flex-shrink:0}.row-meta.danger[data-v-292483f0]{color:var(--color-danger);font-weight:var(--weight-medium)}.row-arrow[data-v-292483f0]{font-size:var(--text-lg);color:var(--color-neutral-300);text-align:center;line-height:1}a.module-row:hover .row-arrow[data-v-292483f0]{color:var(--color-primary)}.flow-block[data-v-292483f0]{display:flex;flex-direction:column;gap:var(--space-3)}.block-head[data-v-292483f0]{display:flex;align-items:center;gap:var(--space-3)}.block-head h2[data-v-292483f0]{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.block-empty[data-v-292483f0]{padding:var(--space-6) 0;font-size:var(--text-sm);color:var(--color-neutral-400);text-align:center}@media(max-width:640px){.heading-title[data-v-292483f0]{font-size:var(--text-2xl)}.row-main .row-desc[data-v-292483f0]{white-space:normal}}.schedule-page[data-v-eb8af3d0]{max-width:52rem;margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-5)}.page-head[data-v-eb8af3d0]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.page-eyebrow[data-v-eb8af3d0]{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-1)}.page-title[data-v-eb8af3d0]{font-size:var(--text-3xl);color:var(--color-neutral-800)}.head-stats[data-v-eb8af3d0]{display:flex;gap:var(--space-2)}.head-stats-text[data-v-eb8af3d0]{font-size:var(--text-sm);color:var(--color-neutral-500);font-variant-numeric:tabular-nums}.head-stats-text b[data-v-eb8af3d0]{color:var(--color-primary);font-weight:var(--weight-semibold)}.standalone-form[data-v-eb8af3d0]{display:flex;align-items:center;gap:var(--space-3)}.standalone-icon[data-v-eb8af3d0]{width:2.25rem;height:2.25rem;border-radius:var(--radius-lg);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.standalone-icon svg[data-v-eb8af3d0]{width:1.125rem;height:1.125rem}.standalone-input[data-v-eb8af3d0]{flex:1;min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.standalone-input[data-v-eb8af3d0]::placeholder{color:var(--color-neutral-400)}.standalone-input[data-v-eb8af3d0]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.toolbar[data-v-eb8af3d0]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.search-box[data-v-eb8af3d0]{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-full);color:var(--color-neutral-400);transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.search-box[data-v-eb8af3d0]:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.search-box svg[data-v-eb8af3d0]{width:.875rem;height:.875rem;flex-shrink:0}.search-box input[data-v-eb8af3d0]{border:none;background:none;padding:var(--space-2) 0;font-size:var(--text-sm);color:var(--color-neutral-800);width:11rem}.search-box input[data-v-eb8af3d0]:focus{outline:none}.search-box input[data-v-eb8af3d0]::placeholder{color:var(--color-neutral-400)}.page-loading[data-v-eb8af3d0]{display:flex;justify-content:center;padding:var(--space-20) 0}.week-list[data-v-eb8af3d0]{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.week-item[data-v-eb8af3d0]{display:flex;flex-direction:column;gap:var(--space-2)}.week-card[data-v-eb8af3d0]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.week-card.upcoming[data-v-eb8af3d0]{border-color:rgba(var(--color-primary-rgb),.35);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.08)}.week-main[data-v-eb8af3d0]{min-width:0;flex:1}.week-meta[data-v-eb8af3d0]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-xs);color:var(--color-neutral-500)}.week-no[data-v-eb8af3d0]{font-weight:var(--weight-semibold);color:var(--color-neutral-700)}.type-tag[data-v-eb8af3d0]{display:inline-flex;align-items:center;gap:var(--space-1)}.type-dot[data-v-eb8af3d0]{width:.45rem;height:.45rem;border-radius:var(--radius-full);background:var(--color-primary);opacity:.6}.type-dot.duihui[data-v-eb8af3d0]{background:var(--color-warning);opacity:1}.type-tag.nearby[data-v-eb8af3d0]{color:var(--color-warning);font-weight:var(--weight-medium)}.type-tag.nearby .type-dot[data-v-eb8af3d0]{background:var(--color-warning);opacity:1}.week-theme[data-v-eb8af3d0]{margin-top:var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-neutral-800);line-height:var(--leading-normal)}.week-remark[data-v-eb8af3d0]{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-neutral-500);line-height:var(--leading-relaxed)}.week-side[data-v-eb8af3d0]{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.side-links[data-v-eb8af3d0]{display:flex;gap:var(--space-3)}.link-btn[data-v-eb8af3d0]{font-size:var(--text-xs);color:var(--color-neutral-400);transition:color var(--duration-fast) var(--ease-default)}.link-btn[data-v-eb8af3d0]:hover{color:var(--color-primary)}.link-btn[data-v-eb8af3d0]:disabled{opacity:.5;cursor:not-allowed}.week-edit[data-v-eb8af3d0]{display:flex;flex-direction:column;gap:var(--space-3)}.edit-field[data-v-eb8af3d0]{display:flex;flex-direction:column;gap:var(--space-2)}.edit-label[data-v-eb8af3d0]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-600)}.edit-input[data-v-eb8af3d0]{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);resize:vertical;transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.edit-input[data-v-eb8af3d0]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.edit-actions[data-v-eb8af3d0]{display:flex;gap:var(--space-2)}@media(max-width:640px){.week-card[data-v-eb8af3d0]{flex-direction:column;align-items:stretch}.week-side[data-v-eb8af3d0]{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.search-box input[data-v-eb8af3d0]{width:100%}.search-box[data-v-eb8af3d0]{flex:1}}.session-page[data-v-c86a2464]{max-width:46rem;margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-5)}.page-loading[data-v-c86a2464]{display:flex;justify-content:center;padding:var(--space-20) 0}.page-head[data-v-c86a2464]{display:flex;flex-direction:column;gap:var(--space-3)}.back-link[data-v-c86a2464]{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-neutral-500);text-decoration:none;transition:color var(--duration-fast) var(--ease-default);align-self:flex-start}.back-link[data-v-c86a2464]:hover{color:var(--color-primary)}.back-link svg[data-v-c86a2464]{width:1rem;height:1rem}.topic[data-v-c86a2464]{font-size:var(--text-2xl);color:var(--color-neutral-800)}.stepper[data-v-c86a2464]{display:flex;align-items:center;padding:var(--space-4) var(--space-5);background:var(--color-bg-secondary);border:1px solid rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.step[data-v-c86a2464]{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex-shrink:0}.step-dot[data-v-c86a2464]{width:1.75rem;height:1.75rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:var(--color-neutral-100);color:var(--color-neutral-400);border:1px solid var(--color-neutral-200);transition:all var(--duration-normal) var(--ease-default)}.step-dot svg[data-v-c86a2464]{width:.875rem;height:.875rem}.step.done .step-dot[data-v-c86a2464]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-btn-primary-text)}.step.current .step-dot[data-v-c86a2464]{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}.step-label[data-v-c86a2464]{font-size:var(--text-tiny);color:var(--color-neutral-400)}.step.done .step-label[data-v-c86a2464],.step.current .step-label[data-v-c86a2464]{color:var(--color-neutral-700);font-weight:var(--weight-medium)}.step-line[data-v-c86a2464]{flex:1;height:1px;background:var(--color-neutral-200);margin:0 var(--space-2);margin-bottom:var(--space-4)}.step-line.done[data-v-c86a2464]{background:var(--color-primary)}.status-banner[data-v-c86a2464]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.status-banner.tone-info[data-v-c86a2464]{background:var(--color-primary-bg);color:var(--color-primary)}.status-banner.tone-success[data-v-c86a2464]{background:var(--color-success-bg);color:var(--color-success)}.status-banner.tone-warning[data-v-c86a2464]{background:var(--color-warning-bg);color:var(--color-warning)}.status-banner.tone-danger[data-v-c86a2464]{background:var(--color-danger-bg);color:var(--color-danger)}.fail-reason[data-v-c86a2464]{font-size:var(--text-xs);opacity:.85}.hint-card[data-v-c86a2464]{border-style:dashed}.hint-row[data-v-c86a2464]{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);color:var(--color-neutral-600);line-height:var(--leading-relaxed)}.hint-icon[data-v-c86a2464]{width:2.25rem;height:2.25rem;border-radius:var(--radius-lg);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hint-icon svg[data-v-c86a2464]{width:1.125rem;height:1.125rem}.question-list[data-v-c86a2464]{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.question-card[data-v-c86a2464]{display:flex;flex-direction:column;gap:var(--space-3)}.question-text[data-v-c86a2464]{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-800);line-height:var(--leading-relaxed)}.question-no[data-v-c86a2464]{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-primary);flex-shrink:0;margin-top:.15rem}.question-body[data-v-c86a2464]{flex:1}.answer-input[data-v-c86a2464]{width:100%;box-sizing:border-box;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);resize:vertical;transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.answer-input[data-v-c86a2464]::placeholder{color:var(--color-neutral-400)}.answer-input[data-v-c86a2464]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.action-bar[data-v-c86a2464]{position:sticky;bottom:var(--space-4);display:flex;gap:var(--space-3);justify-content:flex-end;padding:var(--space-3);background:var(--color-bg-secondary);border:1px solid rgba(var(--color-primary-rgb),.12);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.artifact-card[data-v-c86a2464]{display:flex;flex-direction:column;gap:var(--space-4)}.artifact-head[data-v-c86a2464]{display:flex;align-items:center;justify-content:space-between}.artifact-head h2[data-v-c86a2464]{font-size:var(--text-lg);color:var(--color-neutral-800)}.artifact-list[data-v-c86a2464]{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.section-title[data-v-c86a2464]{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-neutral-800)}.section-intent[data-v-c86a2464]{color:var(--color-neutral-500);font-size:var(--text-sm);margin-top:var(--space-1);line-height:var(--leading-relaxed)}.point-list[data-v-c86a2464]{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.point-list li[data-v-c86a2464]{font-size:var(--text-sm);color:var(--color-neutral-600);line-height:var(--leading-relaxed)}.confirm-bar[data-v-c86a2464]{display:flex;align-items:center;gap:var(--space-3)}.reject-card[data-v-c86a2464]{display:flex;flex-direction:column;gap:var(--space-3)}.reject-title[data-v-c86a2464]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-500)}.reject-bar[data-v-c86a2464]{display:flex;gap:var(--space-3);align-items:flex-start}.reject-bar textarea[data-v-c86a2464]{flex:1;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);resize:vertical;transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.reject-bar textarea[data-v-c86a2464]::placeholder{color:var(--color-neutral-400)}.reject-bar textarea[data-v-c86a2464]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.deck-card[data-v-c86a2464]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding-top:var(--space-10);padding-bottom:var(--space-10)}.deck-icon[data-v-c86a2464]{width:4rem;height:4rem;border-radius:var(--radius-full);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.deck-icon svg[data-v-c86a2464]{width:2rem;height:2rem}.deck-card h2[data-v-c86a2464]{font-size:var(--text-xl);color:var(--color-neutral-800)}.deck-desc[data-v-c86a2464]{font-size:var(--text-sm);color:var(--color-neutral-500)}.deck-actions[data-v-c86a2464]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.deck-actions a[data-v-c86a2464]{text-decoration:none}.hint-inline[data-v-c86a2464]{color:var(--color-neutral-500);font-size:var(--text-sm)}.revert-btn[data-v-c86a2464]{align-self:flex-start;font-size:var(--text-sm);color:var(--color-neutral-500);padding:var(--space-1) 0;transition:color var(--duration-fast) var(--ease-default)}.revert-btn[data-v-c86a2464]:hover{color:var(--color-primary)}.revert-btn[data-v-c86a2464]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.step-label[data-v-c86a2464]{display:none}.step-line[data-v-c86a2464]{margin-bottom:0}.reject-bar[data-v-c86a2464]{flex-direction:column}}.stage[data-v-40e14c5f]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--p1),#ffffff 55%,var(--p1));font-family:sans-serif;-webkit-user-select:none;user-select:none;cursor:pointer}.load-error[data-v-40e14c5f]{color:#c0392b}.slide[data-v-40e14c5f]{width:min(92vw,1200px);text-align:center;color:var(--p2)}.cover-title[data-v-40e14c5f]{font-size:clamp(3rem,9vw,7rem);margin:0;color:var(--p0);letter-spacing:.06em}.cover-subtitle[data-v-40e14c5f]{margin-top:1.5rem;font-size:clamp(1.3rem,3vw,2.2rem);color:var(--p2);opacity:.75}.section-title[data-v-40e14c5f]{font-size:clamp(2.4rem,7vw,5rem);color:var(--p0);border-bottom:.35rem solid var(--p0);display:inline-block;padding-bottom:.6rem}.content-title[data-v-40e14c5f]{font-size:clamp(2rem,5vw,3.6rem);color:var(--p0);margin:0 0 2.5rem}.content-bullets[data-v-40e14c5f]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.6rem}.content-bullets li[data-v-40e14c5f]{font-size:clamp(1.6rem,4vw,2.8rem);padding:.9rem 1.4rem;border-radius:16px;background:#ffffffa6;box-shadow:0 2px 14px #0000000f}.interaction-badge[data-v-40e14c5f]{display:inline-block;padding:.35rem 1.4rem;border-radius:999px;background:var(--p0);color:#fff;font-size:clamp(1.1rem,2.4vw,1.6rem);margin-bottom:1.8rem}.interaction-title[data-v-40e14c5f]{font-size:clamp(2rem,5.5vw,4rem);margin:0 0 1.8rem}.interaction-prompt[data-v-40e14c5f]{font-size:clamp(1.5rem,3.6vw,2.6rem);color:var(--p0)}.ending-title[data-v-40e14c5f]{font-size:clamp(2.4rem,6.5vw,4.6rem);color:var(--p0);margin:0 0 1.8rem}.ending-message[data-v-40e14c5f]{font-size:clamp(1.5rem,3.6vw,2.6rem)}.stage-footer[data-v-40e14c5f]{position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.9rem;opacity:.35;transition:opacity .2s}.stage:hover .stage-footer[data-v-40e14c5f]{opacity:1}.ctrl-btn[data-v-40e14c5f]{width:2.6rem;height:2.6rem;border:none;border-radius:50%;background:#00000014;font-size:1.3rem;cursor:pointer;color:var(--p2)}.page-indicator[data-v-40e14c5f]{font-size:.95rem;color:#666}.motion-calm .slide-fade-enter-active[data-v-40e14c5f],.motion-calm .slide-fade-leave-active[data-v-40e14c5f]{transition:opacity .5s ease}.motion-calm .slide-fade-enter-from[data-v-40e14c5f],.motion-calm .slide-fade-leave-to[data-v-40e14c5f]{opacity:0}.motion-lively .slide-fade-enter-active[data-v-40e14c5f],.motion-lively .slide-fade-leave-active[data-v-40e14c5f]{transition:opacity .35s ease,transform .35s ease}.motion-lively .slide-fade-enter-from[data-v-40e14c5f]{opacity:0;transform:translate(4rem) scale(.96)}.motion-lively .slide-fade-leave-to[data-v-40e14c5f]{opacity:0;transform:translate(-4rem) scale(.96)}.showcase-page[data-v-a343d05b]{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-8)}.page-head[data-v-a343d05b]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.page-eyebrow[data-v-a343d05b]{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-1)}.page-title[data-v-a343d05b]{font-size:var(--text-3xl);color:var(--color-neutral-800)}.page-sub[data-v-a343d05b]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-500);max-width:36rem;line-height:var(--leading-relaxed)}.page-loading[data-v-a343d05b]{display:flex;justify-content:center;padding:var(--space-20) 0}.section-block[data-v-a343d05b]{display:flex;flex-direction:column;gap:var(--space-4)}.section-head[data-v-a343d05b]{display:flex;align-items:center;gap:var(--space-3)}.section-head h2[data-v-a343d05b]{font-size:var(--text-xl);color:var(--color-neutral-800)}.section-count[data-v-a343d05b]{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary);font-variant-numeric:tabular-nums}.material-grid[data-v-a343d05b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-4)}.material-card[data-v-a343d05b]{display:flex;flex-direction:column;gap:var(--space-2)}.material-icon[data-v-a343d05b]{width:2.5rem;height:2.5rem;border-radius:var(--radius-lg);background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-1)}.material-icon svg[data-v-a343d05b]{width:1.25rem;height:1.25rem}.material-title[data-v-a343d05b]{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-neutral-800);line-height:var(--leading-normal)}.material-remark[data-v-a343d05b]{font-size:var(--text-xs);color:var(--color-neutral-500);line-height:var(--leading-relaxed)}.material-host[data-v-a343d05b]{font-family:var(--font-mono);font-size:var(--text-tiny);color:var(--color-neutral-400)}.material-footer[data-v-a343d05b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px dashed var(--color-neutral-200)}.material-date[data-v-a343d05b]{font-size:var(--text-tiny);color:var(--color-neutral-400)}.material-actions[data-v-a343d05b]{display:flex;align-items:center;gap:var(--space-2)}.open-link[data-v-a343d05b]{text-decoration:none}.deck-list[data-v-a343d05b]{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.deck-row[data-v-a343d05b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.deck-topic[data-v-a343d05b]{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.deck-date[data-v-a343d05b]{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-neutral-400)}.deck-actions[data-v-a343d05b]{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.deck-actions a[data-v-a343d05b]{text-decoration:none}.offline-btn[data-v-a343d05b]{font-size:var(--text-xs);color:var(--color-neutral-400);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-default)}.offline-btn[data-v-a343d05b]:hover{color:var(--color-danger);background:var(--color-danger-bg)}.register-form[data-v-a343d05b]{display:flex;flex-direction:column;gap:var(--space-4)}.form-field[data-v-a343d05b]{display:flex;flex-direction:column;gap:var(--space-2)}.form-label[data-v-a343d05b]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-600)}.form-field input[data-v-a343d05b],.form-field textarea[data-v-a343d05b]{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);resize:vertical;transition:border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.form-field input[data-v-a343d05b]::placeholder,.form-field textarea[data-v-a343d05b]::placeholder{color:var(--color-neutral-400)}.form-field input[data-v-a343d05b]:focus,.form-field textarea[data-v-a343d05b]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.timetable-page[data-v-f78beba2]{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-8)}.page-head[data-v-f78beba2]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.page-eyebrow[data-v-f78beba2]{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-2)}.page-title[data-v-f78beba2]{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-neutral-900);letter-spacing:var(--tracking-tight)}.page-sub[data-v-f78beba2]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-500);max-width:32rem;line-height:1.7}.head-actions[data-v-f78beba2]{display:flex;gap:var(--space-2)}.page-loading[data-v-f78beba2]{display:flex;justify-content:center;padding:var(--space-20) 0}.subject-tally[data-v-f78beba2]{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--color-neutral-600);font-variant-numeric:tabular-nums}.tally-item[data-v-f78beba2]{display:inline-flex;align-items:center;gap:var(--space-1)}.tally-item b[data-v-f78beba2]{color:var(--color-neutral-800);font-weight:var(--weight-semibold)}.tally-dot[data-v-f78beba2]{width:.5rem;height:.5rem;border-radius:var(--radius-full);background:var(--color-primary);opacity:.45}.table-wrap[data-v-f78beba2]{border:.5px solid var(--color-neutral-200);border-radius:var(--radius-2xl);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm);overflow-x:auto}.table-wrap.editing[data-v-f78beba2]{border-color:rgba(var(--color-primary-rgb),.35);border-style:dashed}.timetable[data-v-f78beba2]{width:100%;min-width:40rem;border-collapse:collapse}.timetable thead th[data-v-f78beba2]{padding:var(--space-3) var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-600);border-bottom:1px solid var(--color-neutral-200);text-align:center;position:relative}.timetable thead th.today[data-v-f78beba2]{color:var(--color-primary)}.today-mark[data-v-f78beba2]{display:block;font-style:normal;font-size:var(--text-tiny);font-weight:var(--weight-medium);color:var(--color-btn-primary-text);background:var(--color-primary);border-radius:var(--radius-full);padding:1px var(--space-2);margin:var(--space-1) auto 0;width:fit-content}.corner[data-v-f78beba2]{width:5.5rem}.period-cell[data-v-f78beba2]{padding:var(--space-2);text-align:center;vertical-align:middle;border-right:1px solid var(--color-neutral-200);background:color-mix(in srgb,var(--color-bg-primary-light) 60%,transparent)}.period-num[data-v-f78beba2]{display:block;font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-neutral-700);font-variant-numeric:tabular-nums}.period-name[data-v-f78beba2]{display:block;font-size:var(--text-tiny);color:var(--color-neutral-400);margin-top:2px}tr.after-break th[data-v-f78beba2],tr.after-break td[data-v-f78beba2]{border-top:2px solid color-mix(in srgb,var(--color-primary-rgb),.25)}.timetable td[data-v-f78beba2]{height:4.25rem;padding:var(--space-2);text-align:center;vertical-align:middle;border-top:1px solid var(--color-neutral-100, rgba(0, 0, 0, .04));font-variant-numeric:tabular-nums}.timetable td.today[data-v-f78beba2],.timetable thead th.today[data-v-f78beba2]{background:rgba(var(--color-primary-rgb),.05)}.cell-subject[data-v-f78beba2]{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-800)}.cell-note[data-v-f78beba2]{font-size:var(--text-tiny);font-weight:var(--weight-normal);color:var(--color-neutral-500)}.table-wrap.editing td[data-v-f78beba2]{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-default)}.table-wrap.editing td[data-v-f78beba2]:hover{background:rgba(var(--color-primary-rgb),.08)}.table-wrap.editing td.filled[data-v-f78beba2]:hover{background:rgba(var(--color-primary-rgb),.12)}.cell-plus[data-v-f78beba2]{color:var(--color-neutral-300, rgba(0, 0, 0, .15));font-size:var(--text-xl);font-weight:var(--weight-light)}.edit-hint[data-v-f78beba2]{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--color-neutral-500);border-top:1px dashed var(--color-neutral-200)}.subject-chips[data-v-f78beba2]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.subject-chip[data-v-f78beba2]{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-600);background:var(--color-bg-primary-light);border:.5px solid var(--color-neutral-200);border-radius:var(--radius-full);transition:all var(--duration-fast) var(--ease-default)}.subject-chip[data-v-f78beba2]:hover{border-color:rgba(var(--color-primary-rgb),.4);color:var(--color-primary)}.subject-chip.picked[data-v-f78beba2]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-btn-primary-text)}.cell-form .form-field[data-v-f78beba2]{display:block;margin-bottom:var(--space-4)}.cell-form .form-label[data-v-f78beba2]{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-600);margin-bottom:var(--space-1)}.cell-form input[data-v-f78beba2]{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-neutral-800);background:var(--color-bg-primary-light);border:.5px solid var(--color-neutral-200);border-radius:var(--radius-lg);outline:none;transition:border-color var(--duration-fast) var(--ease-default)}.cell-form input[data-v-f78beba2]:focus{border-color:var(--color-primary)}.notices-page[data-v-fc1f29bd]{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-8)}.page-head[data-v-fc1f29bd]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.page-eyebrow[data-v-fc1f29bd]{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-2)}.page-title[data-v-fc1f29bd]{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-neutral-900);letter-spacing:var(--tracking-tight)}.page-sub[data-v-fc1f29bd]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-500);max-width:34rem;line-height:1.7}.notices-layout[data-v-fc1f29bd]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-8)}@media(min-width:1024px){.notices-layout[data-v-fc1f29bd]{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);align-items:start}}.workbench[data-v-fc1f29bd]{border:.5px solid var(--color-neutral-200);border-radius:var(--radius-2xl);background:var(--color-bg-secondary);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.scene-picker[data-v-fc1f29bd]{border:none;padding:0;margin:0}.picker-label[data-v-fc1f29bd]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-600);margin-bottom:var(--space-3);padding:0}.scene-grid[data-v-fc1f29bd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-2)}.scene-item[data-v-fc1f29bd]{display:flex;flex-direction:column;gap:2px;padding:var(--space-3);text-align:left;background:var(--color-bg-primary-light);border:.5px solid var(--color-neutral-200);border-radius:var(--radius-lg);transition:all var(--duration-fast) var(--ease-default)}.scene-item[data-v-fc1f29bd]:hover{border-color:rgba(var(--color-primary-rgb),.4)}.scene-item.active[data-v-fc1f29bd]{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.06);box-shadow:inset 0 0 0 .5px var(--color-primary)}.scene-name[data-v-fc1f29bd]{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.scene-item.active .scene-name[data-v-fc1f29bd]{color:var(--color-primary)}.scene-hint[data-v-fc1f29bd]{font-size:var(--text-tiny);color:var(--color-neutral-500)}.points-field[data-v-fc1f29bd]{display:block}.form-label[data-v-fc1f29bd]{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-600);margin-bottom:var(--space-1)}.points-field textarea[data-v-fc1f29bd]{width:100%;padding:var(--space-3);font-size:var(--text-sm);line-height:1.7;color:var(--color-neutral-800);background:var(--color-bg-primary-light);border:.5px solid var(--color-neutral-200);border-radius:var(--radius-lg);outline:none;resize:vertical;transition:border-color var(--duration-fast) var(--ease-default)}.points-field textarea[data-v-fc1f29bd]:focus{border-color:var(--color-primary)}.generate-row[data-v-fc1f29bd]{display:flex;align-items:center;gap:var(--space-3)}.generate-hint[data-v-fc1f29bd]{font-size:var(--text-xs);color:var(--color-neutral-500)}.result-placeholder[data-v-fc1f29bd]{display:flex;justify-content:center;padding:var(--space-16) 0;border-top:1px dashed var(--color-neutral-200)}.result-panel[data-v-fc1f29bd]{border-top:1px dashed var(--color-neutral-200);padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);animation:rise-in-fc1f29bd var(--duration-normal) var(--ease-default) backwards}@keyframes rise-in-fc1f29bd{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.result-head[data-v-fc1f29bd]{display:flex;align-items:baseline;justify-content:space-between}.result-head h2[data-v-fc1f29bd]{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.result-scene[data-v-fc1f29bd]{font-size:var(--text-tiny);color:var(--color-primary)}.result-field input[data-v-fc1f29bd],.result-field textarea[data-v-fc1f29bd]{width:100%;padding:var(--space-3);font-size:var(--text-sm);line-height:1.7;color:var(--color-neutral-800);background:var(--color-bg-primary-light);border:.5px solid var(--color-neutral-200);border-radius:var(--radius-lg);outline:none;transition:border-color var(--duration-fast) var(--ease-default)}.result-field textarea[data-v-fc1f29bd]{resize:vertical}.result-field input[data-v-fc1f29bd]:focus,.result-field textarea[data-v-fc1f29bd]:focus{border-color:var(--color-primary)}.result-actions[data-v-fc1f29bd]{display:flex;gap:var(--space-2)}.workbench-foot[data-v-fc1f29bd]{font-size:var(--text-xs);color:var(--color-neutral-400);text-align:center;padding:var(--space-4) 0;border-top:1px dashed var(--color-neutral-200)}.drafts-aside[data-v-fc1f29bd]{border:.5px dashed var(--color-neutral-200);border-radius:var(--radius-2xl);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.aside-head[data-v-fc1f29bd]{display:flex;align-items:baseline;justify-content:space-between}.aside-head h2[data-v-fc1f29bd]{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.aside-count[data-v-fc1f29bd]{font-size:var(--text-sm);color:var(--color-neutral-500);font-variant-numeric:tabular-nums}.aside-loading[data-v-fc1f29bd]{display:flex;justify-content:center;padding:var(--space-8) 0}.draft-list[data-v-fc1f29bd]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.draft-item[data-v-fc1f29bd]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid rgba(0,0,0,.04)}.draft-item[data-v-fc1f29bd]:first-child{border-top:none}.draft-main[data-v-fc1f29bd]{min-width:0}.draft-title[data-v-fc1f29bd]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-800);display:flex;align-items:center;gap:var(--space-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draft-dot[data-v-fc1f29bd]{flex-shrink:0;width:.4rem;height:.4rem;border-radius:var(--radius-full);background:var(--color-primary);opacity:.5}.draft-meta[data-v-fc1f29bd]{font-size:var(--text-tiny);color:var(--color-neutral-500);margin-top:2px;padding-left:calc(.4rem + var(--space-2))}.draft-actions[data-v-fc1f29bd]{display:flex;gap:var(--space-1);flex-shrink:0}.link-btn[data-v-fc1f29bd]{font-size:var(--text-xs);color:var(--color-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-default)}.link-btn[data-v-fc1f29bd]:hover{background:rgba(var(--color-primary-rgb),.06)}.link-btn.danger[data-v-fc1f29bd]{color:var(--color-danger)}.link-btn.danger[data-v-fc1f29bd]:hover{background:#0000000a}.ledger-page{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-6)}.stat-cell{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm)}.item-list{display:flex;flex-direction:column;gap:var(--space-4)}.item-card{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.item-card:before{content:"";display:block;height:4px;background:var(--gradient-strip)}.item-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.item-card.archived{opacity:.72}.item-card.archived:before{background:var(--color-neutral-300)}.item-summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);text-align:left;cursor:pointer}.item-main{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.item-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800);line-height:1.3}.item-desc{font-size:var(--text-sm);color:var(--color-neutral-500);line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.item-meta{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.item-count{font-size:var(--text-sm);color:var(--color-neutral-500);font-variant-numeric:tabular-nums;white-space:nowrap}.item-chevron{width:1.125rem;height:1.125rem;color:var(--color-neutral-400);transition:transform var(--duration-normal) var(--ease-default)}.item-card.open .item-chevron{transform:rotate(180deg)}.item-detail{border-top:1px solid var(--color-neutral-200);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-bg-primary)}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.detail-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-700);letter-spacing:var(--tracking-eyebrow)}.detail-actions,.track-actions{display:flex;align-items:center;gap:var(--space-3)}.detail-empty{font-size:var(--text-sm);color:var(--color-neutral-400)}.track-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.track-row{border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);background:var(--color-bg-secondary);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.track-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.track-main{display:flex;flex-direction:column;gap:1px;min-width:0}.track-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-neutral-800);line-height:1.3}.track-desc{font-size:var(--text-sm);color:var(--color-neutral-500);line-height:1.5}.milestone-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.milestone-row{display:flex;align-items:center;gap:var(--space-2);min-height:32px;border-top:1px dashed var(--color-neutral-200)}.milestone-row:first-child{border-top:0}.milestone-check input{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.milestone-name{flex:1;min-width:0;text-align:left;font-size:var(--text-sm);color:var(--color-neutral-800);line-height:1.5;padding:var(--space-1) 0}.milestone-row.done .milestone-name{color:var(--color-neutral-400);text-decoration:line-through;text-decoration-color:var(--color-neutral-400)}.milestone-del{width:1.25rem;height:1.25rem;border-radius:var(--radius-md);color:var(--color-neutral-400);font-size:var(--text-base);line-height:1;opacity:0;transition:all var(--duration-fast) var(--ease-default)}.milestone-row:hover .milestone-del{opacity:1}.milestone-del:hover{color:var(--color-danger);background:#b4532a14}.milestone-add{margin-top:var(--space-1)}.milestone-input{width:100%;border:0;border-bottom:1px dashed var(--color-neutral-300);background:transparent;padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--color-neutral-800);outline:none;transition:border-color var(--duration-fast) var(--ease-default)}.milestone-input::placeholder{color:var(--color-neutral-400)}.milestone-input:focus{border-bottom-color:var(--color-primary);border-bottom-style:solid}.modal-form{display:flex;flex-direction:column;gap:var(--space-4)}@media(max-width:720px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-summary{flex-direction:column;align-items:flex-start}}.tasks-page{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-6)}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:2px solid transparent;border-image:var(--gradient-strip) 1}.page-eyebrow{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-1)}.page-title{font-family:var(--font-brand);font-size:30px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);color:var(--color-neutral-800);line-height:1.15}.page-sub{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-500);max-width:34em}.page-actions{display:flex;align-items:center;gap:var(--space-4)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.stat-cell{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;transition:transform var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.stat-cell:hover{transform:translateY(-2px)}.stat-cell.on{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.stat-value{font-size:27px;font-weight:var(--weight-bold);line-height:1;color:var(--color-neutral-800);font-variant-numeric:tabular-nums}.stat-bar{height:3px;border-radius:var(--radius-full);background:var(--gradient-strip)}.stat-label{font-size:var(--text-sm);color:var(--color-neutral-500)}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.filter-group{display:flex;align-items:center;gap:var(--space-2)}.filter-chip{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-600);background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);transition:all var(--duration-fast) var(--ease-default)}.filter-chip:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.filter-chip.on{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.filter-chip.clear{color:var(--color-danger)}.filter-label{font-size:var(--text-sm);color:var(--color-neutral-500)}.filter-date{border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-neutral-800);font-size:var(--text-sm);padding:var(--space-1) var(--space-2);font-family:inherit}.filter-sep{color:var(--color-neutral-400)}.archive-toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-500);cursor:pointer;-webkit-user-select:none;user-select:none}.archive-toggle input{accent-color:var(--color-primary)}.archive-toggle.on{color:var(--color-primary)}.view-tabs{display:flex;gap:2px;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:2px;margin-left:auto}.view-tab{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-500);border-radius:var(--radius-md);padding:var(--space-1) var(--space-4);transition:all var(--duration-fast) var(--ease-default)}.view-tab.on{background:var(--color-primary);color:var(--color-btn-primary-text)}.table-wrap{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow-x:auto}.task-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:56rem}.task-table th{text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);color:var(--color-neutral-500);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-neutral-200);white-space:nowrap}.task-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-neutral-200);vertical-align:middle}.task-table tbody tr:last-child td{border-bottom:0}.task-table tbody tr:hover{background:rgba(var(--color-primary-rgb),.03)}.task-table tr.archived{opacity:.6}.cell-soft{color:var(--color-neutral-500);font-size:var(--text-sm)}.cell-nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}.cell-task{min-width:12rem}.task-name{font-weight:var(--weight-medium);color:var(--color-neutral-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.risk-flag{display:inline-block;margin-left:var(--space-2);font-size:var(--text-micro);font-weight:var(--weight-semibold);color:var(--color-warning-strong);background:var(--color-warning-soft);border-radius:var(--radius-md);padding:1px var(--space-2);max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.progress-cell{display:flex;align-items:center;gap:var(--space-2);min-width:7rem}.progress-track{flex:1;height:6px;border-radius:var(--radius-full);background:var(--color-neutral-200);overflow:hidden}.progress-fill{display:block;height:100%;border-radius:var(--radius-full);background:var(--gradient-strip)}.progress-num{font-size:var(--text-sm);color:var(--color-neutral-500);font-variant-numeric:tabular-nums;min-width:2.6em;text-align:right}.status-select{border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-neutral-800);font-size:var(--text-sm);padding:var(--space-1) var(--space-2);font-family:inherit;cursor:pointer}.cell-ops{white-space:nowrap;display:flex;gap:var(--space-3)}.link-btn{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary);white-space:nowrap}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:var(--color-danger)}.board{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:var(--space-4);align-items:start}.board-column{background:rgba(var(--color-primary-rgb),.04);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-3)}.board-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2) var(--space-3)}.board-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-700)}.board-count{font-size:var(--text-sm);color:var(--color-neutral-400);font-variant-numeric:tabular-nums}.board-cards{display:flex;flex-direction:column;gap:var(--space-3)}.board-card{background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.board-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.board-card.archived{opacity:.6}.board-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.board-goal{font-size:var(--text-sm);color:var(--color-neutral-500);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.board-meta{font-size:var(--text-sm);color:var(--color-neutral-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-meta.overdue{color:var(--color-danger);font-weight:var(--weight-medium)}.gantt-wrap{display:flex;flex-direction:column;gap:var(--space-2)}.gantt-scroll{overflow-x:auto;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.gantt-inner{--gantt-day: 34px;position:relative;min-width:100%}.gantt-scale{display:grid;grid-template-columns:15.5rem 1fr;border-bottom:1px solid var(--color-neutral-200);position:sticky;top:0;z-index:3}.gantt-corner{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-neutral-500);background:var(--color-bg-secondary);border-right:1px solid var(--color-neutral-200);position:sticky;left:0;z-index:4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-weeks{display:grid;grid-template-columns:repeat(var(--gantt-days),var(--gantt-day))}.gantt-week{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-500);padding:var(--space-2) var(--space-1);border-left:1px solid var(--color-neutral-200);white-space:nowrap;overflow:hidden}.gantt-body{position:relative;padding-bottom:var(--space-3)}.gantt-row{display:grid;grid-template-columns:15.5rem 1fr;align-items:center;height:40px}.gantt-row.done{opacity:.62}.gantt-row.archived{opacity:.5}.gantt-label{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);height:100%;background:var(--color-bg-secondary);border-right:1px solid var(--color-neutral-200);position:sticky;left:0;z-index:2;min-width:0}.gantt-track{display:grid;grid-template-columns:repeat(var(--gantt-days),var(--gantt-day));align-items:center;height:100%;background-image:repeating-linear-gradient(90deg,var(--color-neutral-200) 0,var(--color-neutral-200) 1px,transparent 1px,transparent var(--gantt-day))}.gantt-bar{grid-row:1;height:26px;border-radius:7px;background:var(--color-neutral-300);color:var(--color-neutral-800);display:flex;align-items:center;justify-content:space-between;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;position:relative;z-index:1;min-width:3rem}.gantt-row.in-progress .gantt-bar{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));color:var(--color-btn-primary-text)}.gantt-row.done .gantt-bar{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success)}.gantt-row.dragging .gantt-bar{cursor:grabbing;box-shadow:var(--shadow-lg);filter:brightness(1.05)}.gantt-row.archived .gantt-bar{border-style:dashed}.bar-label{flex:1;min-width:0;font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.bar-handle{flex-shrink:0;width:1.25rem;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:inherit;opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.gantt-bar:hover .bar-handle{opacity:.75}.bar-handle:hover{opacity:1;background:#ffffff2e}.today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-sidebar-active-line);opacity:.65;z-index:0;pointer-events:none}.gantt-hint{font-size:var(--text-sm);color:var(--color-neutral-400)}.modal-form.task-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-4)}.task-form .span-2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-700)}.field-select{border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-neutral-800);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);font-family:inherit;width:100%}.field-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.field-range{width:100%;accent-color:var(--color-primary)}.link-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 1.75rem;gap:var(--space-2);margin-bottom:var(--space-2)}.link-remove{width:1.75rem;height:1.75rem;align-self:center;border-radius:var(--radius-md);color:var(--color-neutral-400);font-size:var(--text-base)}.link-remove:hover{color:var(--color-danger);background:#b4532a14}.link-add{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary);align-self:flex-start}.link-add:hover{text-decoration:underline}.modal-foot{display:flex;justify-content:flex-end;gap:var(--space-3)}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board,.modal-form.task-form{grid-template-columns:1fr}.task-form .span-2{grid-column:span 1}.view-tabs{margin-left:0}}.weekly-page{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-6)}.reports-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);min-height:184px;padding:32px 36px;border-radius:24px;color:var(--color-on-hero-deep);background:var(--gradient-hero-deep);box-shadow:0 18px 45px #1746362e}.hero-date{display:grid;grid-template-columns:auto auto;gap:var(--space-1) var(--space-3);align-items:baseline;padding:14px 18px;border:1px solid var(--hero-glass-border);border-radius:14px;background:var(--hero-glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.hero-date-label{font-size:var(--text-xs);color:#ffffffb8}.hero-date strong{font-size:var(--text-lg);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.report-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border:1px solid var(--color-neutral-200);border-radius:16px;background:var(--color-bg-secondary)}.stat-card span{font-size:var(--text-sm);color:var(--color-neutral-500)}.stat-card strong{font-size:27px;font-weight:var(--weight-bold);color:var(--color-neutral-800);font-variant-numeric:tabular-nums;line-height:1.1}.stat-card.danger strong{color:var(--color-danger)}.stat-link{cursor:pointer;transition:transform .2s ease,border-color .2s ease}.stat-link:hover{transform:translateY(-1px);border-color:var(--color-primary)}.stat-link small{font-size:var(--text-xs);color:var(--color-primary)}.reports-layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:18px;align-items:start}.report-compose{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;padding:22px;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:20px;box-shadow:0 8px 28px #22483a0f}.compose-head{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-start;margin-bottom:var(--space-4)}.compose-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.compose-range{font-size:var(--text-sm);color:var(--color-neutral-500)}.compose-badges{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-1)}.period-settings{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:14px;align-items:start;margin:var(--space-3) 0 var(--space-4);padding:16px;border:1px solid var(--color-neutral-200);border-radius:14px;background:linear-gradient(135deg,#205f440d,#205f4405)}.settings-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-neutral-600);margin-bottom:var(--space-2)}.settings-hint{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-neutral-400)}.settings-due{display:flex;flex-direction:column;gap:var(--space-2)}.config-select{border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-neutral-800);font-size:var(--text-sm);padding:var(--space-1) var(--space-2);font-family:inherit}.scope-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.scope-chip{border:1px solid var(--color-neutral-300);border-radius:999px;background:var(--color-bg-primary);color:var(--color-neutral-600);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);cursor:pointer;font-family:inherit;transition:all .15s ease}.scope-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.scope-chip.on{background:rgba(var(--color-primary-rgb),.12);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--weight-medium)}.summary-fields{display:flex;flex-direction:column;gap:var(--space-4)}.compose-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-200)}.report-preview{min-height:600px;padding:24px;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:20px;box-shadow:0 8px 28px #22483a0f;display:flex;flex-direction:column;gap:var(--space-4)}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;color:var(--color-neutral-500);background:var(--color-bg-primary);font-size:var(--text-xs);flex-wrap:wrap}.toolbar-actions{display:flex;gap:var(--space-2);flex-shrink:0}.preview-note{margin:0;padding:10px 14px;border-left:3px solid var(--color-primary);border-radius:0 10px 10px 0;color:var(--color-neutral-600);background:rgba(var(--color-primary-rgb),.05);font-size:var(--text-xs);line-height:1.6}.preview-foot{margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-neutral-200)}.track-link{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary)}.track-link:hover{text-decoration:underline}.progress-rail{width:120px;height:6px;border-radius:999px;background:var(--color-neutral-200);overflow:hidden}.report-history{border:1px solid var(--color-neutral-200);border-radius:20px;background:var(--color-bg-secondary);box-shadow:0 8px 28px #22483a0f;padding:var(--space-5)}.history-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.history-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.history-sub{font-size:var(--text-sm);color:var(--color-neutral-400)}.history-more{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary)}.history-more:hover{text-decoration:underline}.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.history-stat{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);color:var(--color-neutral-700);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:.2s ease}.history-stat:hover{border-color:var(--color-primary);color:var(--color-primary)}.history-stat small{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-neutral-400)}@media(max-width:900px){.reports-layout{grid-template-columns:minmax(0,1fr)}.report-compose{position:static;max-height:none;overflow:visible}.report-stats{grid-template-columns:repeat(2,1fr)}.period-settings,.history-grid{grid-template-columns:minmax(0,1fr)}.reports-hero{flex-direction:column;align-items:flex-start;padding:var(--space-6)}}.history-page{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-6)}.history-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4);min-height:168px;padding:30px 34px;border-radius:22px;color:var(--color-on-hero-deep);background:var(--gradient-hero-deep);box-shadow:0 18px 45px #1746362e}.hero-eyebrow{font-size:10px;font-weight:var(--weight-medium);letter-spacing:.18em;text-transform:uppercase;color:#ffffffad;margin-bottom:var(--space-2)}.hero-title{font-family:var(--font-brand);font-size:30px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);line-height:1.15;color:var(--color-on-hero-deep)}.hero-sub{margin-top:var(--space-2);font-size:var(--text-sm);color:#ffffffc7;max-width:34em}.archive-count{display:flex;align-items:baseline;gap:var(--space-2);padding:14px 18px;border:1px solid var(--hero-glass-border);border-radius:14px;background:var(--hero-glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;font-size:var(--text-sm);color:#ffffffb8}.archive-count strong{font-size:24px;font-weight:var(--weight-bold);color:var(--color-on-hero-deep);font-variant-numeric:tabular-nums}.page-error{color:var(--color-danger);font-size:var(--text-sm)}.history-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:18px;align-items:start}.archive-list{position:sticky;top:18px;max-height:calc(100vh - 36px);overflow:auto;padding:18px;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:19px;box-shadow:0 8px 28px #22483a0f}.archive-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-700);padding:0 var(--space-1) var(--space-2)}.archive-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;margin-top:8px;padding:13px 14px;border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);background:var(--color-bg-secondary);cursor:pointer;font-family:inherit;text-align:left;transition:.2s ease}.archive-item:hover{border-color:var(--color-primary)}.archive-item.active{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.06)}.archive-main{display:flex;flex-direction:column;gap:2px;min-width:0}.archive-week{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.archive-date{font-size:var(--text-xs);color:var(--color-neutral-400);font-variant-numeric:tabular-nums}.archive-tag{flex-shrink:0;font-size:var(--text-xs);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08);border-radius:999px;padding:2px 8px}.review-panel{padding:22px 24px;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:19px;box-shadow:0 8px 28px #22483a0f;display:flex;flex-direction:column;gap:var(--space-4)}.empty-review{display:grid;min-height:420px;place-items:center;color:var(--color-neutral-400);font-size:var(--text-sm)}.review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-neutral-200);flex-wrap:wrap}.review-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.review-range{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--color-neutral-500);font-variant-numeric:tabular-nums}.review-actions{display:flex;align-items:center;gap:var(--space-2)}.review-back{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary)}.review-back:hover{text-decoration:underline}.review-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.review-stats article{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);background:var(--color-bg-secondary)}.review-stats article span{font-size:var(--text-sm);color:var(--color-neutral-500)}.review-stats article strong{font-size:22px;font-weight:var(--weight-bold);color:var(--color-neutral-800);font-variant-numeric:tabular-nums;line-height:1.1}.review-stats article.danger strong{color:var(--color-danger)}.summary-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-primary{grid-column:1 / -1;border-color:rgba(var(--color-primary-rgb),.25);background:rgba(var(--color-primary-rgb),.04)}.summary-cell,.summary-primary{border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}.panel-heading{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-neutral-500);margin-bottom:var(--space-2)}.snapshot-heading{margin-top:var(--space-2)}.panel-text{margin:0;font-size:var(--text-sm);color:var(--color-neutral-700);line-height:1.6;white-space:pre-wrap}.panel-empty{margin:0;font-size:var(--text-sm);color:var(--color-neutral-400)}.track-groups{display:flex;flex-direction:column;gap:var(--space-4)}.track-group{border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);overflow:hidden}.group-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:rgba(var(--color-primary-rgb),.04);flex-wrap:wrap}.group-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-700);flex:1;min-width:8em}.group-progress{display:flex;align-items:center;gap:var(--space-2)}.group-progress-num{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary);font-variant-numeric:tabular-nums}.progress-rail{width:110px;height:6px;border-radius:999px;background:var(--color-neutral-200);overflow:hidden}.progress-fill{display:block;height:100%;border-radius:999px;background:var(--gradient-strip);transition:width .3s ease}.group-counts{display:flex;gap:var(--space-3);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.count.pending{color:var(--color-neutral-400)}.count.doing{color:var(--color-primary)}.count.done{color:var(--color-success)}.group-tasks{list-style:none;margin:0;padding:var(--space-1) 0}.group-task{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-neutral-100);display:flex;flex-direction:column;gap:var(--space-1)}.group-task:first-child{border-top:none}.task-main{display:flex;align-items:center;gap:var(--space-2)}.task-status{flex-shrink:0;width:1.4em;height:1.4em;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:var(--text-xs);font-weight:var(--weight-medium)}.task-status.pending{color:var(--color-neutral-500);border:1px solid var(--color-neutral-300)}.task-status.in_progress{color:var(--color-primary);border:1px solid var(--color-primary)}.task-status.done{color:var(--color-success);border:1px solid var(--color-success)}.task-text{flex:1;min-width:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-progress-num{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary);font-variant-numeric:tabular-nums}.task-period{font-size:var(--text-sm);color:var(--color-neutral-400);font-variant-numeric:tabular-nums;white-space:nowrap}.task-note{margin:0;font-size:var(--text-sm);color:var(--color-neutral-600);line-height:1.5}.task-note.empty{padding:9px 11px;border-radius:var(--radius-md);color:var(--color-neutral-400);background:var(--color-bg-primary)}.task-risk{margin:0;padding:8px 10px;border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-danger);background:var(--color-danger-bg);line-height:1.5}.empty-line{padding:18px;color:var(--color-neutral-400);text-align:center;font-size:var(--text-sm);margin:0}@media(max-width:900px){.history-layout{grid-template-columns:minmax(0,1fr)}.archive-list{position:static;max-height:none;overflow:visible}.summary-panel{grid-template-columns:minmax(0,1fr)}.review-stats{grid-template-columns:repeat(3,1fr)}.history-hero{flex-direction:column;align-items:flex-start;padding:var(--space-6)}}.admin-page[data-v-64e5f9f9]{max-width:var(--container-max);margin:0 auto;padding:var(--page-padding-top) var(--container-padding) var(--page-padding-bottom);display:flex;flex-direction:column;gap:var(--space-8)}.page-head[data-v-64e5f9f9]{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.page-eyebrow[data-v-64e5f9f9]{font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-1)}.page-title[data-v-64e5f9f9]{font-size:var(--text-3xl);color:var(--color-neutral-800)}.page-sub[data-v-64e5f9f9]{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-neutral-500);max-width:36rem;line-height:var(--leading-relaxed)}.page-loading[data-v-64e5f9f9]{display:flex;justify-content:center;padding:var(--space-20) 0}.section-block[data-v-64e5f9f9]{display:flex;flex-direction:column;gap:var(--space-4)}.section-head[data-v-64e5f9f9]{display:flex;align-items:center;gap:var(--space-3)}.section-head h2[data-v-64e5f9f9]{font-size:var(--text-xl);color:var(--color-neutral-800)}.escalated-list[data-v-64e5f9f9]{display:flex;flex-direction:column;gap:var(--space-3)}.escalated-row[data-v-64e5f9f9]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.escalated-topic[data-v-64e5f9f9]{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.escalated-meta[data-v-64e5f9f9]{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-warning)}.escalated-row a[data-v-64e5f9f9]{text-decoration:none;flex-shrink:0}.profile-form[data-v-64e5f9f9]{display:flex;flex-direction:column;gap:var(--space-4)}.form-actions[data-v-64e5f9f9]{display:flex;justify-content:flex-end;padding-top:var(--space-2)}.import-hint[data-v-64e5f9f9]{font-size:var(--text-sm);color:var(--color-neutral-500);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.import-input[data-v-64e5f9f9] textarea{font-family:var(--font-mono);font-size:var(--text-xs)}.app-shell{display:flex;min-height:100vh}.app-sidebar{position:sticky;top:0;flex-shrink:0;width:var(--sidebar-width);height:100vh;display:flex;flex-direction:column;background:var(--color-sidebar);color:var(--color-sidebar-text);overflow-y:auto;scrollbar-width:none}.app-sidebar::-webkit-scrollbar{display:none}.brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);text-decoration:none;flex-shrink:0}.brand-mark{width:2.25rem;height:2.25rem;border-radius:var(--radius-md);background:linear-gradient(135deg,#287653,#194b36);color:#fff;font-size:var(--text-base);font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000040;flex-shrink:0}.brand-text{display:flex;flex-direction:column;gap:1px;min-width:0}.brand-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:#fff;letter-spacing:var(--tracking-wide);line-height:1.2}.brand-note{font-size:var(--text-micro);color:var(--color-sidebar-muted);line-height:1.2;white-space:nowrap}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);min-height:0}.nav-item{display:grid;grid-template-columns:22px 1fr;align-items:center;column-gap:var(--space-3);min-height:44px;padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--space-2) + 3px);border-left:3px solid transparent;border-radius:var(--radius-md);color:var(--color-sidebar-text);text-decoration:none;transition:background-color var(--duration-normal) var(--ease-default),color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default)}.nav-item:hover{background:var(--color-sidebar-hover);color:#fff}.nav-item.active{background:var(--color-sidebar-active);border-left-color:var(--color-sidebar-active-line);color:#fff}.nav-icon{width:22px;height:22px;opacity:.85}.nav-item.active .nav-icon{opacity:1}.nav-text{display:flex;flex-direction:column;gap:1px;min-width:0}.nav-label{font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.3;white-space:nowrap}.nav-note{font-size:var(--text-micro);color:var(--color-sidebar-muted);line-height:1.3;white-space:nowrap}.nav-item.active .nav-note{color:#ffffff9e}.nav-item:hover .nav-note{color:#ffffff8c}.sidebar-foot{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid rgba(255,255,255,.06)}.foot-btn{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--color-sidebar-text);transition:background-color var(--duration-normal) var(--ease-default),color var(--duration-normal) var(--ease-default)}.foot-btn:hover{background:var(--color-sidebar-hover);color:#fff}.foot-btn svg{width:1.125rem;height:1.125rem;flex-shrink:0}.foot-btn-label{font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap}.user-menu-wrap{position:relative;flex:1;min-width:0}.user-chip{width:100%;display:grid;grid-template-columns:2rem 1fr;align-items:center;column-gap:var(--space-2);padding:var(--space-1) var(--space-1);border-radius:var(--radius-md);color:var(--color-sidebar-text);transition:background-color var(--duration-normal) var(--ease-default)}.user-chip:hover{background:var(--color-sidebar-hover);color:#fff}.user-avatar{width:2rem;height:2rem;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-btn-primary-text);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex;align-items:center;justify-content:center}.user-text{display:flex;flex-direction:column;min-width:0}.user-name{font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1.3;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:var(--text-micro);color:var(--color-sidebar-muted);line-height:1.3}.user-dropdown{position:absolute;bottom:calc(100% + var(--space-2));left:0;min-width:12rem;background:var(--color-bg-secondary);border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-2);animation:dropdown-rise var(--duration-fast) var(--ease-default) backwards}@keyframes dropdown-rise{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-meta{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3)}.meta-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-neutral-800)}.meta-role{font-size:var(--text-tiny);font-weight:var(--weight-medium);color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);padding:2px var(--space-2);border-radius:var(--radius-md)}.dropdown-divider{height:1px;background:var(--color-neutral-200);margin:var(--space-1) 0}.dropdown-item{width:100%;text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-neutral-700);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-default)}.dropdown-item:hover{background:rgba(var(--color-primary-rgb),.06);color:var(--color-danger)}.app-main{flex:1;min-width:0}.app-shell.no-shell{display:block}.app-main.no-shell{flex:none}@media(max-width:1024px){.app-sidebar{width:var(--sidebar-width-collapsed)}.brand{justify-content:center;padding:var(--space-4) var(--space-2)}.brand-text,.nav-text,.foot-btn-label,.user-text{display:none}.nav-item{grid-template-columns:22px;justify-items:center;padding-left:var(--space-2);border-left-width:3px}.sidebar-foot{flex-direction:column;gap:var(--space-2)}.user-menu-wrap{flex:none;width:100%}.user-chip{grid-template-columns:2rem;justify-items:center}.user-dropdown{left:calc(100% + var(--space-2));bottom:0}}:root{--color-primary: #205f44;--color-primary-rgb: 32, 95, 68;--color-primary-strong: #194b36;--color-primary-dark: #194b36;--color-primary-light: #75a98d;--color-primary-light-dark: #287653;--color-primary-lighter: #dceee5;--color-primary-bg: #dceee5;--color-primary-bg-light: #f4f7f5;--color-accent: #bd8650;--color-accent-rgb: 189, 134, 80;--color-accent-light: #fff3e3;--color-bg-primary: #f4f7f5;--color-bg-secondary: #ffffff;--color-bg-primary-light: #eef2f0;--color-bg-primary-deep: #fbfdfc;--color-text-primary: #1f2924;--color-text-secondary: #5e6b64;--color-text-tertiary: #7c8882;--color-btn-primary: #205f44;--color-btn-primary-hover: #194b36;--color-btn-primary-text: #ffffff;--color-neutral-100: #eef1ef;--color-neutral-200: #dfe5e2;--color-neutral-300: #c9d5ce;--color-neutral-400: #9aa8a0;--color-neutral-500: #7c8882;--color-neutral-600: #5e6b64;--color-neutral-700: #454f4a;--color-neutral-800: #1f2924;--color-success: #287653;--color-success-bg: #dceee5;--color-warning: #a86624;--color-warning-bg: #fff3e3;--color-danger: #b4532a;--color-danger-bg: #faece7;--color-info: #2f6d85;--color-info-bg: #e8f2f6;--color-sidebar: #17251e;--color-sidebar-rgb: 23, 37, 30;--color-sidebar-text: #c8d6cf;--color-sidebar-muted: #7f938a;--color-sidebar-hover: #214433;--color-sidebar-active: #205f44;--color-sidebar-active-line: #d98b62;--sidebar-width: 236px;--sidebar-width-collapsed: 64px;--color-gold: #bd8650;--color-gold-strong: #a86624;--color-gold-soft: #fff3e3;--gradient-strip: linear-gradient(90deg, #205f44, #75a98d 68%, #bd8650);--gradient-hero-deep: linear-gradient(125deg, #163e32, #235e4a 58%, #32745b);--color-on-hero-deep: #f7fffb;--hero-glass-bg: rgba(255, 255, 255, .1);--hero-glass-border: rgba(255, 255, 255, .18);--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-brand: var(--font-sans);--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-micro: .625rem;--text-tiny: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-eyebrow: .14em;--tracking-heading: -.04em;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: .9375rem;--radius-2xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(31, 41, 36, .05);--shadow-md: 0 4px 6px -1px rgba(31, 41, 36, .07), 0 2px 4px -2px rgba(31, 41, 36, .05);--shadow-lg: 0 8px 30px rgba(31, 41, 36, .07);--shadow-xl: 0 20px 40px rgba(31, 41, 36, .1);--shadow-card-hover: 0 8px 30px rgba(31, 41, 36, .09);--shadow-capsule: 0 1px 4px 0 rgba(23, 37, 30, .06);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--ease-default: cubic-bezier(.4, 0, .2, 1);--z-header: 50;--z-modal: 100;--z-toast: 200;--container-max: 92.5rem;--container-padding: 1.875rem;--page-padding-top: 1.75rem;--page-padding-bottom: 2.5rem;--grid-line-color: rgba(32, 95, 68, .04);--grid-size: 24px}@media(max-width:900px){:root{--container-padding: 1.5rem}}html.dark{--color-primary: #7fb898;--color-primary-rgb: 127, 184, 152;--color-primary-strong: #9cccb0;--color-primary-dark: #7fb898;--color-primary-light: #287653;--color-primary-light-dark: #7fb898;--color-primary-lighter: rgba(127, 184, 152, .16);--color-primary-bg: rgba(127, 184, 152, .14);--color-primary-bg-light: rgba(127, 184, 152, .05);--color-accent: #d8a06e;--color-accent-rgb: 216, 160, 110;--color-accent-light: rgba(216, 160, 110, .14);--color-bg-primary: #101814;--color-bg-secondary: #18221d;--color-bg-primary-light: #141d17;--color-bg-primary-deep: #0b110e;--color-text-primary: #c9d6cf;--color-text-secondary: #aebbb4;--color-text-tertiary: #7f8f86;--color-btn-primary: #7fb898;--color-btn-primary-hover: #9cccb0;--color-btn-primary-text: #0f1712;--color-neutral-100: #171f1a;--color-neutral-200: #232e27;--color-neutral-300: #39463e;--color-neutral-400: #5e6b64;--color-neutral-500: #7f8f86;--color-neutral-600: #aebbb4;--color-neutral-700: #cdd8d2;--color-neutral-800: #e6ede9;--color-success: #7fb898;--color-success-bg: rgba(127, 184, 152, .14);--color-warning: #d8a06e;--color-warning-bg: rgba(216, 160, 110, .14);--color-danger: #e08a6d;--color-danger-bg: rgba(224, 138, 109, .14);--color-info: #7db3c9;--color-info-bg: rgba(125, 179, 201, .14);--color-sidebar: #0f1712;--color-sidebar-rgb: 15, 23, 18;--color-sidebar-text: #a8bcb1;--color-sidebar-muted: #6a7a71;--color-sidebar-hover: #1b2b21;--color-sidebar-active: #1d3a2b;--color-sidebar-active-line: #d98b62;--color-gold: #d8a06e;--color-gold-strong: #e0a25c;--color-gold-soft: rgba(216, 160, 110, .14);--gradient-strip: linear-gradient(90deg, #2d5c43, #4f7f66 68%, #8f6a45);--gradient-hero-deep: linear-gradient(125deg, #122e25, #1d4a3a 58%, #2a5f4b);--color-on-hero-deep: #f2fbf6;--hero-glass-bg: rgba(255, 255, 255, .08);--hero-glass-border: rgba(255, 255, 255, .16);--shadow-card-hover: 0 8px 30px rgba(0, 0, 0, .35);--shadow-capsule: 0 1px 4px 0 rgba(0, 0, 0, .3);--grid-line-color: rgba(127, 184, 152, .035)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-family:var(--font-sans);font-size:16px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg-primary);background-image:linear-gradient(to right,var(--grid-line-color) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line-color) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);color:var(--color-text-secondary);font-size:var(--text-sm);min-height:100vh;transition:background-color var(--duration-normal) var(--ease-default),color var(--duration-normal) var(--ease-default)}h1,h2,h3,h4,h5,h6{font-family:var(--font-brand);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-neutral-800)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}p{line-height:var(--leading-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-normal) var(--ease-default)}a:hover{color:var(--color-primary-strong)}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.9em}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}img,svg,video{display:block;max-width:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full);border:2px solid var(--color-bg-primary)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}::selection{background:rgba(var(--color-primary-rgb),.2)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
