:root{--canvas:#f4f1ea;--paper:#fffdf8;--ink:#18322c;--muted:#66746f;--line:#d9ddd6;--accent:#315f50;--accent-hover:#244a3e;--soft:#e8eee8;--focus:#b66742;--due:#a84f36;--due-soft:#f7e9e2;--timeline:#bfd0c8}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:radial-gradient(circle at 15% 0%, #ffffffb3, transparent 34rem), var(--canvas);min-height:100vh;margin:0;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,input,textarea{font:inherit}button:disabled{cursor:wait;opacity:.7}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 55%, transparent);outline-offset:2px}.skip-link{z-index:10;color:#fff;background:var(--ink);border-radius:.4rem;padding:.65rem .8rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.page-shell{width:min(100% - 2rem,76rem);margin:0 auto;padding:2.25rem 0 6rem}.page-header{justify-content:space-between;align-items:center;gap:.875rem;margin-bottom:3rem;display:flex}.brand-lockup{align-items:center;gap:.875rem;min-width:0;display:flex}.account-action{color:var(--muted);flex:none;align-items:center;gap:.55rem;font-size:.8rem;display:flex}.account-action button{min-height:2.75rem;color:var(--accent);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0;text-decoration:underline}.wordmark{width:2.75rem;height:2.75rem;color:var(--paper);background:var(--ink);border-radius:50%;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;display:grid}h1,h2,h3,p{margin:0}h1{letter-spacing:-.03em;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,4vw,2rem);font-weight:600}.page-header p{color:var(--muted);margin-top:.2rem;font-size:.9rem}.create-panel{background:var(--paper);border:1px solid #18322c1f;border-radius:.75rem;grid-column:1/-1;grid-template-columns:13rem minmax(0,1fr);align-items:end;gap:2rem;margin-top:1rem;padding:1.25rem;display:grid;box-shadow:0 .75rem 2rem #18322c0d}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:700}.create-panel h3{margin-top:.35rem;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:600}.create-form{margin-top:0}.create-form label{color:var(--muted);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.input-row{gap:.625rem;display:flex}.input-row input{min-width:0;min-height:3rem;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.5rem;flex:1;padding:.75rem .9rem}.input-row input::placeholder{color:#97a19d}.input-row button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:.5rem;min-height:3rem;padding:.75rem 1.2rem;font-weight:700}.input-row button:hover{background:var(--accent-hover)}.section-heading.create-item-heading{grid-template-columns:minmax(0,1fr) auto;display:grid}.section-heading-tools{align-items:flex-end;gap:.75rem;display:flex}.create-item-trigger{color:#fff;background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:.45rem;flex:none;justify-content:center;align-items:center;gap:.4rem;min-height:2.75rem;padding:.55rem .85rem;font-size:.78rem;font-weight:700;display:inline-flex}.create-item-trigger:hover,.create-item-trigger[aria-expanded=true]{background:var(--accent-hover);border-color:var(--accent-hover)}.create-item-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.6px;width:1rem;height:1rem}.create-panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.create-panel-close{min-height:2.75rem;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;padding:0 .25rem;font-size:.78rem;font-weight:700;text-decoration:underline}.items-section{margin-top:2.75rem}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:.875rem;display:flex}.section-heading h2{font-size:1rem}.section-heading span{min-width:1.75rem;height:1.75rem;color:var(--accent);background:var(--soft);border-radius:999px;place-items:center;font-size:.75rem;font-weight:700;display:grid}.empty-state{text-align:center;padding:4.5rem 1.5rem}.empty-mark{width:3rem;height:3rem;color:var(--accent);border:1px solid var(--line);border-radius:50%;place-items:center;margin:0 auto 1rem;font-family:Georgia,Times New Roman,serif;font-size:.9rem;display:grid}.empty-state h3{font-size:1rem}.empty-state p{max-width:28rem;color:var(--muted);margin:.6rem auto 0;font-size:.9rem;line-height:1.8}.page-error{color:#8c3f2f;background:#f8e9e3;border-radius:.5rem;margin-bottom:1rem;padding:.75rem .9rem;font-size:.85rem}.reminder{color:var(--muted);flex:none;font-size:.72rem}.reminder.due{color:#9a442f;font-weight:700}.progress-form,.reminder-form{gap:.55rem;display:grid}.clear-reminder-form{text-align:right;margin-top:.55rem}.clear-reminder-form button{min-height:2.75rem;color:var(--muted);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;align-items:center;padding:0;font-size:.75rem;text-decoration:underline;display:inline-flex}.progress-form label,.reminder-form label{color:var(--muted);font-size:.8rem;font-weight:700}.progress-form textarea,.reminder-form input{width:100%;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.45rem;padding:.7rem .8rem}.progress-form textarea{resize:vertical;min-height:5.5rem}.progress-form button,.reminder-form button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:.45rem;justify-self:start;min-height:2.75rem;padding:.6rem .85rem;font-size:.8rem;font-weight:700}.reminder-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-top:1.2rem}.reminder-form label{grid-column:1/-1}.completion-form{text-align:right;margin-top:1.25rem}.completion-form button{min-height:2.75rem;color:var(--accent);cursor:pointer;text-underline-offset:.2em;background:0 0;border:0;align-items:center;padding:0;font-size:.78rem;font-weight:700;text-decoration:underline;display:inline-flex}.completed-section{border-top:1px solid var(--line);margin-top:2.75rem;padding-top:1rem}.items-section .section-heading,.todo-section .section-heading{align-items:end;gap:2rem;padding-bottom:1.25rem}.section-heading>div:first-child{max-width:35rem}.section-heading h2{letter-spacing:-.025em;margin-top:.35rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:600}.section-heading>div:first-child>p:last-child{color:var(--muted);margin-top:.55rem;font-size:.88rem;line-height:1.7}.flow-overview{flex:none;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.flow-overview>li{min-width:4.5rem;height:auto;color:var(--muted);border:1px solid var(--line);text-align:left;background:0 0;border-radius:.45rem;padding:.55rem .65rem;font-size:.68rem;font-weight:600;line-height:1.3;display:grid}.flow-overview strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:600}.flow-groups{gap:2.5rem;margin-top:1.75rem;display:grid}.flow-group{min-width:0}.flow-group-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.85rem;display:flex}.flow-group-heading h3{font-size:.95rem}.flow-group-heading p{color:var(--muted);margin-top:.25rem;font-size:.76rem;line-height:1.55}.flow-group-heading>span{min-width:1.7rem;height:1.7rem;color:var(--accent);background:var(--soft);border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;display:grid}.flow-board{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.flow-card{background:var(--paper);border:1px solid var(--line);border-radius:.7rem;min-width:0;overflow:hidden;box-shadow:0 .5rem 1.5rem #18322c0a}.flow-card-due{border-color:color-mix(in srgb, var(--due) 38%, var(--line))}.flow-card-complete{opacity:.82}.flow-card-header{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:1rem 1rem .9rem;display:grid}.flow-sequence{width:2rem;height:2rem;color:var(--accent);background:var(--soft);border-radius:50%;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:.72rem;display:grid}.flow-card-due .flow-sequence{color:var(--due);background:var(--due-soft)}.flow-title-block{min-width:0}.flow-title-block h4{overflow-wrap:anywhere;margin:.35rem 0 0;font-size:1rem;line-height:1.45}.flow-state{color:var(--accent);letter-spacing:.06em;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;display:inline-flex}.flow-state>span{background:currentColor;border-radius:50%;width:.42rem;height:.42rem}.flow-state-due{color:var(--due)}.flow-state-complete{color:var(--muted)}.flow-card-header .reminder{background:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:.35rem;align-items:center;gap:.3rem;margin-top:.1rem;padding:.38rem .5rem;display:flex}.flow-card-header .reminder.due{color:var(--due);background:var(--due-soft)}.flow-timeline-section{padding:1rem}.timeline-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.timeline-heading h5{letter-spacing:.08em;margin:0;font-size:.76rem}.timeline-heading>span{color:var(--muted);font-size:.7rem}.flow-timeline{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.flow-step{grid-template-columns:.9rem minmax(0,1fr);gap:.65rem;min-width:0;display:grid;position:relative}.flow-step:not(:last-child):after{z-index:0;background:var(--timeline);content:"";width:1px;position:absolute;top:.85rem;bottom:-.95rem;left:.4rem}.flow-dot{z-index:1;background:var(--paper);border:2px solid var(--timeline);border-radius:50%;width:.55rem;height:.55rem;margin-top:.25rem;position:relative}.flow-step-created .flow-dot{background:var(--timeline)}.flow-step-created>div{flex-wrap:wrap;justify-content:space-between;gap:.3rem .75rem;display:flex}.flow-step-label{color:var(--muted);font-size:.72rem;font-weight:700}.flow-step time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem}.flow-step-content{background:#f7f6f1;border:1px solid #0000;border-radius:.45rem;min-width:0;padding:.7rem .75rem}.flow-step-meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.flow-step-meta>span{color:var(--accent);flex:none;font-size:.65rem;font-weight:700}.flow-step-content p{overflow-wrap:anywhere;white-space:pre-wrap;margin-top:.35rem;font-size:.83rem;line-height:1.65}.flow-step-latest .flow-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 .22rem var(--soft)}.flow-step-latest .flow-step-content{border-color:color-mix(in srgb, var(--accent) 20%, transparent);background:#f2f6f2}.flow-step-empty{color:var(--muted);align-items:center;font-size:.78rem;font-style:italic}.flow-card-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;padding:.8rem 1rem 1rem;display:flex}.action-disclosure{min-width:0}.action-disclosure.quick-progress{flex:auto}.action-disclosure.item-details{flex:none}.action-disclosure.is-open{flex-basis:100%}.disclosure-trigger{min-height:2.75rem;color:var(--accent);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:.45rem;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.quick-progress>.disclosure-trigger{color:#fff;background:var(--accent);border-color:var(--accent);width:100%}.disclosure-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.6px;width:1rem;height:1rem}.action-disclosure.is-open>.disclosure-trigger{color:var(--ink);background:var(--soft);border-color:#0000}.action-panel{border:1px solid var(--line);background:#f7f6f1;border-radius:.5rem;margin-top:.65rem;padding:.85rem}.progress-form{gap:.55rem}.progress-form textarea{min-height:5rem}.progress-form button,.reminder-form button{justify-self:auto}.form-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.form-actions>span{color:var(--muted);font-size:.68rem}.details-panel{gap:.9rem;display:grid}.item-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.item-facts>div{background:var(--paper);border:1px solid var(--line);border-radius:.4rem;gap:.25rem;min-width:0;padding:.65rem;display:grid}.item-facts span{color:var(--muted);font-size:.68rem}.item-facts strong{overflow-wrap:anywhere;font-size:.76rem;font-weight:600}.details-panel .reminder-form{margin-top:0}.detail-secondary-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:2.75rem;display:flex}.details-panel .clear-reminder-form,.details-panel .completion-form{margin-top:0}.completed-section{padding-top:2rem}.completed-section>.flow-group>.flow-group-heading h3{color:var(--muted)}.todo-section{border-top:1px solid var(--line);margin-top:2.75rem;padding-top:2rem}.todo-overview{min-width:10rem}.todo-create-form{background:var(--paper);border:1px solid var(--line);border-radius:.7rem;margin-top:1.25rem;padding:1rem}.todo-create-form>label{color:var(--muted);margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:block}.todo-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;margin-top:1rem;display:grid}.todo-group{background:var(--paper);border:1px solid var(--line);border-radius:.7rem;min-width:0;overflow:hidden}.todo-group-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.todo-group-heading h3{font-size:.85rem}.todo-group-heading span{min-width:1.65rem;height:1.65rem;color:var(--accent);background:var(--soft);border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:grid}.todo-list{margin:0;padding:0;list-style:none}.todo-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;min-width:0;padding:.85rem 1rem;display:grid}.todo-row+.todo-row{border-top:1px solid var(--line)}.todo-row form{margin:0}.todo-toggle{width:2.75rem;height:2.75rem;color:var(--accent);background:var(--paper);border:1px solid var(--timeline);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:.9rem;font-weight:700;display:grid}.todo-toggle:hover:not(:disabled){color:#fff;background:var(--accent);border-color:var(--accent)}.todo-copy{min-width:0;padding-top:.15rem}.todo-copy p{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.88rem;line-height:1.65}.todo-copy time{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.3rem;font-size:.68rem;display:block}.todo-row.is-complete .todo-copy p{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:var(--timeline);text-decoration-color:var(--timeline)}.todo-empty{color:var(--muted);text-align:center;padding:2.25rem 1rem;font-size:.8rem;line-height:1.6}@media (max-width:64rem){.flow-board,.todo-groups{grid-template-columns:1fr}}.login-shell{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.login-card{background:var(--paper);border:1px solid #18322c1f;border-radius:.75rem;width:min(100%,25rem);padding:clamp(1.5rem,6vw,2.25rem);box-shadow:0 1rem 3rem #18322c0f}.login-card .wordmark{margin-bottom:1.5rem}.login-card h1{margin-top:.35rem;font-size:1.75rem}.login-intro{color:var(--muted);margin-top:.55rem;font-size:.9rem;line-height:1.7}.login-form{gap:1rem;margin-top:1.75rem;display:grid}.login-form label{color:var(--muted);margin-bottom:.45rem;font-size:.85rem;font-weight:600;display:block}.login-form input{width:100%;min-height:3rem;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:.5rem;padding:.75rem .9rem}.login-form>button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:.5rem;min-height:3rem;margin-top:.25rem;padding:.75rem 1rem;font-weight:700}.login-form>button:hover:not(:disabled){background:var(--accent-hover)}.form-error{color:#8c3f2f;background:#f8e9e3;border-radius:.45rem;padding:.7rem .8rem;font-size:.85rem;line-height:1.5}@media (max-width:36rem){.page-shell{width:min(100% - 1.25rem,47rem);padding-top:1rem}.page-header{align-items:flex-start;margin-bottom:2rem}.brand-lockup{align-items:flex-start}.account-action span{display:none}.input-row{flex-direction:column}.input-row button{width:100%}.empty-state{padding:3.5rem 1rem}.reminder-form{grid-template-columns:1fr}.reminder-form label{grid-column:auto}.reminder-form button{width:100%}.items-section .section-heading,.todo-section .section-heading{flex-direction:column;align-items:stretch;gap:1rem}.section-heading.create-item-heading{display:flex}.section-heading-tools{flex-direction:column;align-items:stretch}.create-item-trigger{order:2;width:100%}.create-panel{grid-template-columns:1fr;gap:1rem;margin-top:0}.flow-overview{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.flow-overview>li{min-width:0}.flow-card-header{grid-template-columns:auto minmax(0,1fr)}.flow-card-header .reminder{white-space:normal;grid-column:2;justify-self:start;margin-top:-.2rem}.flow-step-created>div,.flow-step-meta{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.2rem}.form-actions{flex-direction:column;align-items:stretch}.form-actions button{width:100%}.detail-secondary-actions{flex-direction:column;align-items:flex-start;gap:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto}}
