:root{color-scheme:light;--bg-mist: #e6eef2;--bg-wash: #f4f7f9;--bg-surface: rgba(255, 255, 255, .82);--bg-surface-solid: #ffffff;--ink: #12202a;--ink-muted: rgba(18, 32, 42, .62);--ink-faint: rgba(18, 32, 42, .38);--line: rgba(18, 32, 42, .1);--line-strong: rgba(18, 32, 42, .16);--brand: #1f8a72;--brand-deep: #146655;--brand-soft: rgba(31, 138, 114, .12);--brand-ink: #ffffff;--signal: #d4922a;--danger: #c45c5c;--radius-lg: 20px;--radius: 14px;--tap: 48px;--font-ui: "Figtree", system-ui, sans-serif;--shadow-soft: 0 10px 40px rgba(18, 32, 42, .06);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--inset: 16px;--gutter: 16px;--tabbar-h: 64px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-ui);color:var(--ink);background-color:var(--bg-mist);background-image:radial-gradient(120% 80% at 12% -10%,#d7e8e4 0%,transparent 55%),radial-gradient(90% 70% at 100% 0%,#e8eef5 0%,transparent 50%),linear-gradient(180deg,var(--bg-mist),var(--bg-wash) 55%,#eef3f6);background-attachment:fixed;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:0}#root{position:relative;z-index:1}button,input,textarea{font:inherit}a{color:var(--brand-deep);text-decoration:none}a:hover{text-decoration:underline}.app-shell{width:100%;max-width:1120px;margin:0 auto;min-height:100vh;min-height:100dvh;padding:.85rem var(--gutter) calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 1rem);display:flex;flex-direction:column}.app-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.1rem}.brand-lockup{display:flex;align-items:center;gap:.7rem}.brand-lockup--welcome{flex-direction:column;text-align:center;gap:.85rem;animation:rise-in .45s ease-out both}.brand-lockup--mark-only{justify-content:center}.brand-lockup--lg .brand-mark{border-radius:22px;box-shadow:var(--shadow-soft)}.brand-mark{display:block;border-radius:12px;flex-shrink:0;object-fit:cover;background:var(--brand)}.brand-copy{min-width:0}.brand-name{margin:0;font-family:var(--font-ui);font-weight:700;font-size:1.125rem;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}.brand-sub{margin:.15rem 0 0;color:var(--ink-muted);font-size:.88rem;line-height:1.35}.brand-lockup--welcome .brand-sub{max-width:18rem;margin-left:auto;margin-right:auto}.nav-tabs{display:none;gap:.3rem;padding:.28rem;background:var(--bg-surface);border:1px solid var(--line);border-radius:999px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-tabs a{flex:1;text-align:center;color:var(--ink-muted);text-decoration:none;padding:.55rem .85rem;border-radius:999px;font-size:.9rem;font-weight:600;min-height:40px;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease}.nav-tabs a:hover{color:var(--ink);text-decoration:none}.nav-tabs a.active,.nav-tabs a[aria-current=page]{color:var(--brand-deep);background:var(--brand-soft)}main{flex:1;min-width:0}.app-footer{display:none;margin-top:auto;padding-top:2rem}.app-footer .faint{text-align:center;margin:0}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;gap:.15rem;background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:.35rem .5rem calc(.4rem + env(safe-area-inset-bottom,0px))}.tab-bar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-height:48px;color:var(--ink-muted);text-decoration:none;font-size:.7rem;font-weight:650;border-radius:12px}.tab-bar a:hover{text-decoration:none;color:var(--ink)}.tab-bar a.active,.tab-bar a[aria-current=page]{color:var(--brand-deep);background:var(--brand-soft)}.tab-bar svg{display:block}.panel{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--inset);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-soft)}.stack{display:flex;flex-direction:column;gap:.9rem}.row{display:flex;gap:.55rem;align-items:center}.wrap-actions{flex-wrap:wrap}.lede{color:var(--ink-muted);font-size:1rem;line-height:1.5;margin:0}.muted{color:var(--ink-muted);font-size:.92rem}.faint{color:var(--ink-faint);font-size:.8rem}.screen-title{margin:0;font-family:var(--font-ui);font-weight:700;font-size:1.5rem;letter-spacing:-.02em;line-height:1.25}.section-label{margin:.2rem 0 0;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:650;color:var(--ink-faint)}.section-heading{margin:0;font-size:.95rem;font-weight:700;letter-spacing:-.015em}.status-line{min-height:1.2em;font-size:.85rem;color:var(--ink-muted)}.status-line.error{color:var(--danger)}.field{width:100%;border:1px solid var(--line-strong);background:var(--bg-surface-solid);color:var(--ink);border-radius:var(--radius);padding:.8rem .95rem;min-height:var(--tap);transition:border-color .15s ease,box-shadow .15s ease}.field::placeholder{color:var(--ink-faint)}.field:focus{outline:none;border-color:#1f8a728c;box-shadow:0 0 0 3px var(--brand-soft)}.btn{border:0;border-radius:var(--radius);padding:.75rem 1.05rem;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--tap);transition:filter .15s ease,background .15s ease,transform .12s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--brand-ink)}.btn-primary:hover:not(:disabled){background:var(--brand-deep)}.btn-primary:active:not(:disabled){transform:scale(.985)}.btn-ghost{background:transparent;color:var(--ink-muted);border:1px solid var(--line-strong)}.btn-ghost:hover:not(:disabled){color:var(--ink);background:#ffffff8c}.btn-tiny{padding:.4rem .65rem;font-size:.8rem;min-height:36px;flex-shrink:0}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--ink-muted);width:44px;height:44px;min-height:44px;border-radius:12px;display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0;padding:0}.icon-btn:hover:not(:disabled){color:var(--ink);background:#12202a0d}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn.danger:hover:not(:disabled){color:var(--danger);background:#c45c5c14}.auth-hero{text-align:center;margin-bottom:.35rem;animation:rise-in .45s ease-out both}.auth-title{margin:.85rem 0 .35rem;font-family:var(--font-ui);font-size:1.5rem;font-weight:700;letter-spacing:-.015em;line-height:1.25}.mode-toggle{display:flex;gap:.3rem;border:1px solid var(--line);border-radius:999px;padding:.25rem;background:#ffffff80}.mode-toggle .mode{flex:1;border:0;background:transparent;color:var(--ink-muted);border-radius:999px;padding:.55rem .65rem;font-weight:650;cursor:pointer;min-height:42px}.mode-toggle .mode.active{background:var(--brand-soft);color:var(--brand-deep)}.auth-form{gap:.75rem}.oauth-stack{display:flex;flex-direction:column;gap:.75rem;margin-top:.15rem}.oauth-primary{display:flex;flex-direction:column;gap:.55rem;width:100%}.oauth-divider{display:flex;align-items:center;gap:.65rem;color:var(--ink-faint);font-size:.78rem}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.btn-oauth{background:var(--bg-surface-solid);color:var(--ink);border:1px solid var(--line-strong);font-weight:650;min-height:var(--tap);width:100%}.btn-oauth:hover:not(:disabled){border-color:#1f8a7266;background:#f7fbfa}.btn-oauth svg{flex-shrink:0}.profile-email{font-family:var(--font-ui);font-size:1.15rem;font-weight:700;letter-spacing:-.015em;word-break:break-word}.hairline-list{list-style:none;margin:0;padding:0}.stack-panel{padding:8px;overflow:hidden;display:flex;flex-direction:column;gap:2px}.list-row{animation:rise-in .35s ease-out both}.list-row:nth-child(2){animation-delay:.04s}.list-row:nth-child(3){animation-delay:.08s}.list-row:nth-child(4){animation-delay:.12s}.list-link{display:flex;flex-direction:column;gap:.35rem;padding:12px 16px;color:inherit;text-decoration:none;border-radius:12px;transition:background .15s ease;min-height:52px}.list-link:hover{text-decoration:none;background:#1f8a720d}.list-row.is-selected .list-link,.list-link[aria-current=page]{background:var(--brand-soft)}.list-row+.list-row .list-link,.item-row+.item-row{box-shadow:inset 0 1px 0 var(--line)}.list-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.list-title{font-family:var(--font-ui);font-weight:700;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.unread-dot{width:9px;height:9px;border-radius:50%;background:var(--signal);flex-shrink:0;box-shadow:0 0 0 3px #d4922a33;animation:soft-pulse 1.6s ease-out 1}.badge{display:inline-block;font-size:.72rem;font-weight:650;color:var(--brand-deep);background:var(--brand-soft);border:1px solid transparent;border-radius:999px;padding:.2rem .55rem}.create-row .field{flex:1}.empty-state{text-align:center;padding:1.5rem var(--inset) 1.25rem}.empty-state p{margin:0 0 .45rem}.empty-state .btn{margin-top:.65rem}.empty-mark{width:56px;height:56px;color:var(--ink-faint);display:block;margin:0 auto .65rem}.labeled-field{display:flex;flex-direction:column;gap:.35rem}.labeled-field>span{font-size:.78rem;font-weight:650;color:var(--ink-muted)}.avatar{width:56px;height:56px;border-radius:18px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--font-ui);font-weight:700;font-size:1.45rem;letter-spacing:-.02em}.account-card{align-items:flex-start}.loading-block{display:flex;flex-direction:column;gap:.65rem;padding:.5rem 0 1rem}.loading-pulse{height:12px;border-radius:8px;background:linear-gradient(90deg,var(--line),rgba(255,255,255,.75),var(--line));background-size:200% 100%;animation:shimmer 1.15s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.kicker{margin:0;color:var(--ink-muted);font-size:.95rem;font-weight:600}.dash-grid{display:grid;gap:1rem}.next-card{display:flex;flex-direction:column;gap:.7rem;animation:rise-in .4s ease-out both}.next-card .screen-title{font-size:1.55rem}.next-preview{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.next-preview li{display:flex;align-items:center;gap:.55rem;color:var(--ink-muted);font-weight:500;font-size:.95rem}.next-preview li:before{content:"";width:.7rem;height:.7rem;border:1.5px solid var(--line-strong);border-radius:50%;flex-shrink:0}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.stat{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem var(--inset);display:flex;flex-direction:column;gap:.15rem;min-width:0}.stat strong{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.stat span{color:var(--ink-muted);font-size:.75rem;font-weight:600}.activity-list{list-style:none;margin:0;padding:0}.activity-list li{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 16px;min-height:48px;border-radius:12px}.activity-list li+li{box-shadow:inset 0 1px 0 var(--line)}.activity-copy{font-weight:600;font-size:.95rem}.shop-header{display:flex;align-items:flex-start;gap:.35rem}.shop-header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.back-link{color:var(--ink-muted);font-size:.88rem;font-weight:600;width:44px;height:44px;display:inline-grid;place-items:center;border-radius:12px;flex-shrink:0;text-decoration:none}.back-link:hover{text-decoration:none;background:#12202a0d;color:var(--ink)}.detail-title{margin:0;font-family:var(--font-ui);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.title-edit{font-size:1.25rem;font-weight:700;min-height:48px}.title-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;text-align:left;cursor:text;width:100%;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit}.item-row{display:flex;align-items:center;gap:.2rem;min-height:52px;padding:6px 12px;border-radius:12px}.item-check{width:48px;height:48px;display:grid;place-items:center;flex-shrink:0;cursor:pointer;margin:0}.item-check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border:1.5px solid var(--line-strong);border-radius:50%;background:#fff;flex-shrink:0;display:grid;place-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease}.item-check input:checked{background:var(--brand);border-color:var(--brand);transform:scale(1.05)}.item-check input:checked:after{content:"";width:.35rem;height:.6rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-.5px,-.5px)}.item-body{flex:1;min-width:0;padding-right:.25rem}.item-name-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:.35rem 0;margin:0;width:100%;text-align:left;cursor:text;font:inherit;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .18s ease,opacity .18s ease}.item-rename{min-height:40px;padding:.45rem .7rem}.item-row.checked .item-name-btn{color:var(--ink-faint);text-decoration:line-through;text-decoration-thickness:1px}.item-actions{display:flex;align-items:center}.overflow{position:relative}.overflow-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:168px;padding:.35rem;background:var(--bg-surface-solid);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.overflow-menu button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;text-align:left;padding:.7rem .85rem;border-radius:10px;font-weight:600;color:var(--ink);cursor:pointer;min-height:44px}.overflow-menu button:hover{background:var(--brand-soft);color:var(--brand-deep)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#12202a47;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:rise-in .2s ease-out both}.sheet{width:100%;max-width:480px;max-height:min(86vh,640px);overflow:auto;background:var(--bg-wash);border-radius:20px 20px 0 0;padding:1.1rem var(--inset) calc(1.25rem + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.85rem}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--line);background:#ffffffd9;color:var(--ink-muted);border-radius:999px;padding:.4rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis}.chip:hover{color:var(--brand-deep);border-color:#1f8a7259;background:var(--brand-soft)}.member-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem var(--inset);min-height:48px}.member-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-surface-solid);overflow:hidden}.member-row+.member-row{box-shadow:inset 0 1px 0 var(--line)}.welcome-screen{display:flex;flex-direction:column;gap:1.25rem}.welcome-points{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}.welcome-points li{position:relative;padding:.7rem var(--inset) .7rem 2.2rem;color:var(--ink-muted);font-weight:600;font-size:.95rem;border-radius:12px;background:#ffffff73;border:1px solid var(--line)}.welcome-points li:before{content:"";position:absolute;left:.95rem;top:50%;width:.45rem;height:.75rem;border:solid var(--brand);border-width:0 2.5px 2.5px 0;transform:translateY(-60%) rotate(45deg)}.welcome-actions{display:flex;flex-direction:column;gap:.7rem}.lists-layout{display:flex;flex-direction:column;min-width:0}.lists-stage,.lists-stage-empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes soft-pulse{0%{box-shadow:0 0 #d4922a59}to{box-shadow:0 0 0 8px #d4922a00}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:719px){.brand-sub,.lists-layout.is-detail .lists-rail{display:none}.lists-layout.is-detail .lists-stage{display:block}}@media(min-width:720px){:root{--gutter: 24px}.app-shell{padding:1.5rem var(--gutter) 2.5rem}.app-header{flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.brand-name{font-size:1.25rem}.nav-tabs{display:flex;width:auto;min-width:280px;flex:0 0 auto}.tab-bar{display:none}.app-footer{display:block}.back-link{display:none}.welcome-screen{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;min-height:52vh}.welcome-brand{text-align:left}.welcome-brand .brand-lockup--welcome,.welcome-brand .auth-hero{text-align:left;align-items:flex-start}.welcome-brand .brand-lockup--mark-only{justify-content:flex-start}.welcome-brand .lede{margin-left:0;max-width:28rem}.dash-grid{grid-template-columns:1.45fr 1fr;align-items:stretch}.dash-next{grid-column:1}.dash-side{grid-column:2;display:flex;flex-direction:column;gap:1rem}.dash-activity{grid-column:1 / -1}.stat-row{grid-template-columns:1fr}.lists-layout{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:1.25rem;align-items:start}.lists-stage{display:block;min-width:0}.lists-stage-empty{display:flex;min-height:280px;align-items:center;justify-content:center}.lists-rail .page-lede{display:none}.sheet-backdrop{align-items:center;padding:1.5rem}.sheet{border-radius:20px;max-width:440px;padding:1.25rem var(--inset) 1.35rem}}@media(min-width:1024px){:root{--gutter: 28px}.lists-layout{grid-template-columns:minmax(280px,360px) 1fr;gap:1.5rem}.dash-grid{grid-template-columns:1.5fr .9fr}.stat-row{grid-template-columns:repeat(3,1fr)}.dash-side .stat-row{grid-template-columns:1fr}}@media(min-width:1200px){:root{--gutter: 32px}.app-shell{padding:2rem var(--gutter) 3rem}.screen-title,.detail-title,.next-card .screen-title{font-size:1.7rem}}
