@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--color-primary: #818cf8;--color-primary-hover: #6366f1;--color-primary-light: rgba(129, 140, 248, .1);--color-primary-dark: #4338ca;--color-secondary: #a78bfa;--color-secondary-hover: #8b5cf6;--color-secondary-light: rgba(167, 139, 250, .1);--color-accent: #f9a8d4;--color-accent-hover: #f472b6;--color-accent-light: rgba(249, 168, 212, .1);--color-success: #34d399;--color-success-light: rgba(52, 211, 153, .12);--color-error: #f87171;--color-error-light: rgba(248, 113, 113, .12);--color-warning: #fbbf24;--color-warning-light: rgba(251, 191, 36, .12);--color-info: #60a5fa;--color-info-light: rgba(96, 165, 250, .12);--color-bg: transparent;--color-bg-secondary: rgba(255, 255, 255, .45);--color-bg-tertiary: rgba(255, 255, 255, .3);--color-surface: rgba(255, 255, 255, .52);--color-surface-hover: rgba(255, 255, 255, .72);--color-border: rgba(0, 0, 0, .05);--color-border-light: rgba(0, 0, 0, .03);--color-text: #1c1c1e;--color-text-secondary: #636366;--color-text-tertiary: #aeaeb2;--shadow-xs: 0 2px 8px 0 rgba(0, 0, 0, .04);--shadow-sm: 0 4px 16px 0 rgba(0, 0, 0, .05);--shadow-md: 0 8px 30px 0 rgba(0, 0, 0, .07);--shadow-lg: 0 16px 48px 0 rgba(0, 0, 0, .09);--shadow-xl: 0 24px 64px 0 rgba(0, 0, 0, .1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--color-glass: rgba(255, 255, 255, .88);--color-glass-border: rgba(0, 0, 0, .06);--color-glass-sm: rgba(255, 255, 255, .8);--radius-sm: 5px;--radius-md: 9px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-serif: "Instrument Serif", Georgia, "Times New Roman", serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--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;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .38s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal: 1300;--z-popover: 1400;--z-tooltip: 1500}[data-theme=dark]{--color-bg: transparent;--color-bg-secondary: rgba(255, 255, 255, .04);--color-bg-tertiary: rgba(255, 255, 255, .06);--color-surface: rgba(255, 255, 255, .05);--color-surface-hover: rgba(255, 255, 255, .08);--color-border: rgba(255, 255, 255, .06);--color-border-light: rgba(255, 255, 255, .04);--color-text: #f2f2f7;--color-text-secondary: #aeaeb2;--color-text-tertiary: #636366;--color-primary: #a5b4fc;--color-primary-hover: #c7d2fe;--color-primary-light: rgba(165, 180, 252, .12);--color-primary-dark: #e0e7ff;--shadow-xs: 0 2px 8px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 4px 16px 0 rgba(0, 0, 0, .35);--shadow-md: 0 8px 30px 0 rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px 0 rgba(0, 0, 0, .45);--shadow-xl: 0 24px 64px 0 rgba(0, 0, 0, .5);--color-glass: rgba(28, 28, 30, .88);--color-glass-border: rgba(255, 255, 255, .07);--color-glass-sm: rgba(40, 40, 42, .8)}*{box-sizing:border-box;margin:0;padding:0}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{letter-spacing:-.02em}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);transition:background-color var(--transition-base),color var(--transition-base)}.container{max-width:980px;margin:0 auto;padding:var(--space-4)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-xs);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow var(--transition-base),transform var(--transition-spring)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--color-secondary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-text)}.input{width:100%;padding:var(--space-3);font-size:var(--text-base);font-family:var(--font-family);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input::placeholder{color:var(--color-text-tertiary)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary-dark);border:none;cursor:pointer;transition:all var(--transition-fast)}.badge:hover{background:var(--color-primary);color:#fff}.chip{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary);margin-right:var(--space-2);margin-top:var(--space-1);transition:all var(--transition-fast)}.chip:hover{background:var(--color-primary-light);color:var(--color-primary);cursor:pointer}.chips{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn var(--transition-base) ease-out}.fade-out{animation:fadeOut var(--transition-base) ease-out}.slide-in{animation:slideIn var(--transition-base) ease-out}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-border-light) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:pulse 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.app-container{max-width:980px;margin:0 auto;padding:var(--space-4);font-family:var(--font-family)}.zen-app{position:relative;min-height:100vh}.zen-corner{position:fixed;top:var(--space-4);right:var(--space-4);z-index:1200;display:flex;align-items:center;gap:var(--space-2)}.zen-main{max-width:680px;margin:0 auto;padding:var(--space-16) var(--space-6) calc(160px + env(safe-area-inset-bottom,0px))}.zen-header{text-align:center;margin-bottom:var(--space-12)}.zen-title{font-family:var(--font-serif);font-style:italic;font-size:clamp(3rem,8vw,4.5rem);font-weight:400;line-height:1;letter-spacing:-.02em;color:var(--color-text);margin:0 0 var(--space-2)}.zen-date{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.25em;color:var(--color-text-tertiary);font-weight:var(--font-normal)}.zen-filter-select{background:transparent;border:none;font-size:var(--text-xs);color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:color var(--transition-fast);width:auto;font-family:var(--font-family)}.zen-filter-select:hover{color:var(--color-text-secondary)}.zen-filter-select:focus{outline:none}.zen-filter-select option{background:var(--color-surface, #fff);color:var(--color-text)}@media (max-width: 540px){.zen-main{padding:var(--space-12) var(--space-4) 140px}.zen-corner{top:var(--space-3);right:var(--space-3)}}.leaf-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0;opacity:0;transition:opacity .2s ease}li:hover .leaf-actions,li:focus-within .leaf-actions{opacity:1}.leaf-action-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);color:var(--color-text-tertiary);transition:color .15s ease,background .15s ease}.leaf-action-btn:hover{color:var(--color-text-secondary);background:var(--color-bg-secondary)}.leaf-action-delete:hover{color:var(--color-error);background:var(--color-error-light)}.task-row{display:flex;align-items:flex-start;gap:var(--space-3)}.task-body{flex:1;min-width:0}.task-actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.app-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;position:sticky;top:0;z-index:var(--z-sticky);padding:var(--space-3) 0;margin-bottom:var(--space-4);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#fafafbe0;border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=dark] .app-header{background:#09090be0;border-bottom:1px solid rgba(255,255,255,.06)}.app-header-end{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}@media (max-width: 768px){.container{padding:var(--space-3)}.btn{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}@media (max-width: 540px){html{font-size:14px}.app-container{padding:var(--space-3)!important}.card{padding:var(--space-3)}.task-row{flex-wrap:wrap}.task-actions{flex:0 0 100%;justify-content:flex-end;margin-top:var(--space-1);gap:var(--space-2)}.complete-btn-label{display:none}.app-header-end{width:100%;justify-content:flex-end}.add-form-row{flex-wrap:wrap}.add-form-date{flex:1 1 auto}.add-form-date input[type=date]{width:100%!important}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-family);color:var(--color-text);background:linear-gradient(160deg,#eef0ff,#fafafb 45%,#f5f0ff);background-attachment:fixed;min-height:100vh}[data-theme=dark] body{background:linear-gradient(160deg,#0f0f1a,#09090b,#120912);background-attachment:fixed}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat}button{padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}button:active{transform:translateY(1px)}input,textarea,select{border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:10px;width:100%}h1,h3{margin:0;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{font-size:12px;padding:4px 8px;border-radius:999px;background:var(--color-primary-light);color:var(--color-primary)}.input-row{display:flex;gap:8px;align-items:center}.badge{padding:6px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text)}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-loader{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-border-light) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md);height:60px;margin-bottom:var(--space-2)}.skeleton-text{height:16px;width:100%;background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-border-light) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:200px;height:200px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce .6s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.shake{animation:shake .3s ease}@keyframes pulseRecording{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.recording{animation:pulseRecording 1s ease-in-out infinite}.slide-in-right{animation:slideInRight .3s var(--transition-base) forwards}.slide-out-left{animation:slideOutLeft .3s var(--transition-base) forwards}.slide-in-up{animation:slideInUp .3s var(--transition-base) forwards}.slide-out-down{animation:slideOutDown .3s var(--transition-base) forwards}.fade-in-scale{animation:fadeInScale .3s var(--transition-base) forwards}.fade-out-scale{animation:fadeOutScale .3s var(--transition-base) forwards}.backdrop{position:fixed;inset:0;background:#0000002e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1400;animation:fadeIn .25s ease-out}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1401;max-width:460px;width:min(94vw,460px);max-height:90vh;overflow-y:auto}.modal-content{background:var(--color-glass);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-radius:24px;border:1px solid var(--color-glass-border);padding:var(--space-7);box-shadow:0 24px 80px #0000001a;animation:fadeInScale .38s cubic-bezier(.16,1,.3,1) forwards}@media (max-width: 540px){.modal{inset:auto 0 0;transform:none;width:100%;max-width:100%;max-height:92vh;border-radius:24px 24px 0 0;overflow-y:auto}.modal-content{border-radius:24px 24px 0 0;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,16px))}}@keyframes taskEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes taskExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-22px)}}.task-enter{animation:taskEnter .28s cubic-bezier(0,0,.58,1) both;animation-delay:calc(var(--task-index, 0) * 40ms)}.task-exit{animation:taskExit .22s cubic-bezier(.42,0,1,1) both;pointer-events:none}@media (prefers-reduced-motion: reduce){.task-enter,.task-exit{animation:none}}.subtasks-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(0,0,.58,1)}.subtasks-wrap.open{grid-template-rows:1fr}.subtasks-wrap>div{overflow:hidden}@media (prefers-reduced-motion: reduce){.subtasks-wrap{transition:none}}.stagger-item{opacity:0;animation:slideInUp .3s var(--transition-base) forwards}.stagger-item:nth-child(1){animation-delay:0s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.2s}.stagger-item:nth-child(4){animation-delay:.3s}.stagger-item:nth-child(5){animation-delay:.4s}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes strikethrough{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}.task-text-wrap{position:relative;transition:opacity .28s ease}.task-text-wrap--done{opacity:.5}.task-text-wrap--done:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1.5px;background:currentColor;opacity:.55;border-radius:1px;animation:strikethrough .36s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes shimmer-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}.progress-bar-fill{position:relative;overflow:hidden;border-radius:999px}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.42) 50%,transparent 100%);animation:shimmer-progress 2.2s ease-in-out infinite;border-radius:inherit}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state-svg{animation:float 3.5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.task-text-wrap--done:after{animation:none;clip-path:none}.progress-bar-fill:after{animation:none}.empty-state-svg{animation:none}}.smooth-all{transition:all var(--transition-base)}.smooth-bg{transition:background-color var(--transition-base)}.smooth-color{transition:color var(--transition-base)}.smooth-transform{transition:transform var(--transition-fast)}
