:root{--blue: #1342FF;--blue-light: rgba(19, 66, 255, .15);--blue-line: rgba(19, 66, 255, .25);--text: #171717;--text-muted: #666666;--bg: #FBFBFB;--white: #FFFFFF}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:New York,Georgia,Times New Roman,serif;background-color:var(--bg);color:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.mono{font-family:Space Mono,Courier New,monospace;text-transform:uppercase;letter-spacing:.05em}.app{display:flex;height:100%}.sidebar{width:200px;padding:32px 24px;border-right:1px solid var(--blue-line);display:flex;flex-direction:column;gap:32px}.sidebar-title{font-size:11px;color:var(--blue);font-weight:400}.sidebar-nav{display:flex;flex-direction:column;gap:12px}.sidebar-nav button{background:none;border:none;font-family:Space Mono,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);cursor:pointer;text-align:left;padding:0;transition:color .2s}.sidebar-nav button:hover,.sidebar-nav button.active{color:var(--blue)}.main{flex:1;padding:48px 64px;max-width:700px;margin:0 auto;overflow-y:auto;scrollbar-width:none}.main::-webkit-scrollbar{display:none}.prompt-view{display:flex;flex-direction:column;gap:48px;padding-top:48px}.prompt-form{display:flex;flex-direction:column;gap:32px}.input-group{display:flex;flex-direction:column;gap:8px}.input-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;font-family:Space Mono,monospace;opacity:.8}.prompt-input-line{width:100%;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic;color:var(--blue);background:transparent;border:none;border-bottom:2px solid var(--blue-line);padding:8px 0;outline:none;transition:all .2s}.prompt-input-line:focus{border-color:var(--blue);background:#1342ff05;padding-left:8px}.prompt-input-line::placeholder{color:var(--text-muted);opacity:.3}.prompt-actions{display:flex;align-items:center;gap:24px}.btn{position:relative;display:inline-block;align-self:flex-start;font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.15em;padding:12px 24px;border:none;background:transparent;color:var(--blue);cursor:pointer;transition:all .2s;border:1px solid var(--blue);overflow:hidden;z-index:1}.btn:hover:not(:disabled){background:var(--blue);color:var(--white)}.btn:disabled{opacity:.5;cursor:not-allowed;border-color:var(--blue-line);color:var(--text-muted)}.demo-btn{font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;color:var(--text-muted);background:none;border:none;cursor:pointer;opacity:.6;transition:all .2s;letter-spacing:.05em}.demo-btn:hover{opacity:1;color:var(--blue);text-decoration:underline}.btn:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,var(--blue) 1px,transparent 1px),radial-gradient(circle,var(--blue) 1px,transparent 1px),radial-gradient(circle,var(--blue) .8px,transparent .8px),radial-gradient(circle,var(--blue) .5px,transparent .5px);background-size:6px 6px,8px 8px,5px 7px,7px 5px;background-position:0 0,3px 4px,1px 2px,4px 1px;opacity:0;transition:opacity .4s ease;z-index:-1}.btn:hover:before{opacity:.15}.btn:disabled{opacity:.3;cursor:not-allowed}.btn:disabled:hover:before{opacity:0}.btn-danger{color:#e53935}.btn-danger:before{background-image:radial-gradient(circle,#e53935 1px,transparent 1px),radial-gradient(circle,#e53935 1px,transparent 1px),radial-gradient(circle,#e53935 .8px,transparent .8px),radial-gradient(circle,#e53935 .5px,transparent .5px)}.modal-overlay{position:fixed;inset:0;background:#fbfbfbe6;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--white);border:1px solid var(--blue-line);padding:32px;max-width:360px;text-align:center}.modal-message{font-size:16px;margin-bottom:24px;line-height:1.5}.modal-actions{display:flex;justify-content:center;gap:24px}.checklist-view{display:flex;flex-direction:column;gap:32px}.checklist-header{display:flex;flex-direction:column;gap:8px;padding-bottom:24px;border-bottom:1px solid var(--blue-line)}.checklist-title{font-size:24px;font-weight:400;cursor:pointer;border-bottom:1px solid transparent;transition:border-color .2s}.checklist-title:hover{border-bottom-color:var(--blue-line)}.checklist-title-input{font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;color:var(--blue);background:transparent;border:none;border-bottom:1px solid var(--blue);width:100%;padding:0;margin:0;outline:none}.ai-generation-section{display:flex;gap:8px;margin-top:32px;margin-bottom:24px}.ai-input{flex:1;border:1px dashed var(--blue-line);background:#ffffff80;padding:12px 16px;font-family:Space Mono,monospace;font-size:13px;color:var(--text);outline:none;transition:all .2s}.ai-input:focus{border-color:var(--blue);background:var(--white);box-shadow:0 2px 8px #1342ff0d}.ai-input::placeholder{color:var(--text-muted);opacity:.7}.generate-btn{background:var(--blue);color:var(--white);border:none;padding:0 16px;font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;cursor:pointer;transition:all .2s;letter-spacing:.05em;display:flex;align-items:center;justify-content:center}.generate-btn:hover:not(:disabled){background:var(--blue-dark)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.divider-or{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px;gap:12px}.divider-or:before,.divider-or:after{content:"";flex:1;height:1px;background:var(--blue-line);opacity:.5}.checklist-meta{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:Space Mono,monospace}.checklist-items{display:flex;flex-direction:column}.checklist-item{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--blue-light);cursor:pointer;transition:all .3s}.checklist-item:hover{padding-left:8px;border-color:var(--blue);background:#4569fb08}.checklist-item.completed{opacity:.5}.checklist-item.completed .item-text{text-decoration:line-through;color:var(--text-muted)}.checkbox{width:20px;height:20px;flex-shrink:0;margin-top:2px;position:relative;cursor:pointer}.checkbox:before{content:"";position:absolute;inset:0;border:1.5px solid var(--blue);opacity:0;transition:opacity .25s}.checklist-item:hover .checkbox:before{opacity:.35}.checkbox-svg{position:absolute;inset:0;z-index:1;pointer-events:none}.checkbox-svg path{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .5s cubic-bezier(.4,0,.2,1)}.checkbox.checked .checkbox-svg path{stroke-dashoffset:0}.item-text{flex:1;font-size:15px;line-height:1.5;transition:all .3s}.checklist-group{margin-bottom:8px}.parent-item{border-bottom:none;padding-bottom:8px}.parent-item .parent-text{font-weight:500;font-size:17px}.checkbox-parent{width:24px;height:24px}.checkbox-parent .checkbox-svg path{stroke-width:2.8;stroke-dasharray:28;stroke-dashoffset:28}.checkbox-parent.checked .checkbox-svg path{stroke-dashoffset:0}.subtask-count{font-family:Space Mono,monospace;font-size:11px;color:var(--text-muted);padding:2px 8px;background:var(--blue-light);border-radius:2px}.subtasks{margin-left:40px;border-left:2px solid var(--blue-light);padding-left:16px}.subtask-item{padding:10px 0;border-bottom:1px solid var(--blue-line)}.subtask-item:last-child{border-bottom:none}.subtask-item .checkbox{width:16px;height:16px}.subtask-item .checkbox .checkbox-svg path{stroke-width:2.2;stroke-dasharray:20;stroke-dashoffset:20}.subtask-item .checkbox.checked .checkbox-svg path{stroke-dashoffset:0}.add-subtask{display:flex;align-items:center;gap:10px;padding:6px 0 2px}.add-subtask-checkbox{width:16px;height:16px;opacity:0;transition:opacity .2s}.add-subtask-checkbox.visible{opacity:1}.add-subtask-input{flex:1;font-family:Georgia,Times New Roman,serif;font-size:14px;color:var(--text);background:transparent;border:none;border-bottom:1px dashed var(--blue-line);padding:4px 0;outline:none;transition:border-color .2s}.add-subtask-input:focus{border-color:var(--blue)}.add-subtask-input::placeholder{color:var(--text-muted);opacity:.4}.add-item{display:flex;align-items:center;gap:12px;padding:12px 0 4px}.add-item-input{flex:1;font-family:Georgia,Times New Roman,serif;font-size:15px;color:var(--text);background:transparent;border:none;border-bottom:1px dashed var(--blue-line);padding:8px 0;outline:none;transition:border-color .2s}.add-item-input:focus{border-color:var(--blue)}.add-item-input::placeholder{color:var(--text-muted);opacity:.5}.add-item-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--blue-line);color:var(--blue);font-size:18px;line-height:1;cursor:pointer;transition:all .2s}.add-item-btn:hover:not(:disabled){border-color:var(--blue);background:var(--blue-light)}.add-item-btn:disabled{opacity:.25;cursor:not-allowed}.checklist-actions{display:flex;gap:16px;padding-top:16px}.dashboard-view{display:flex;flex-direction:column;gap:24px;padding-top:64px}.dashboard-header{display:flex;align-items:center;justify-content:space-between}.dashboard-title{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-family:Space Mono,monospace}.view-toggle{display:flex;gap:0;border:1px solid var(--blue-line)}.view-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s}.view-toggle-btn:not(:last-child){border-right:1px solid var(--blue-line)}.view-toggle-btn:hover{background:var(--blue-light);color:var(--blue)}.view-toggle-btn.active{background:var(--blue);color:var(--white)}.dashboard-empty{color:var(--text-muted);font-style:italic}.calendar-view{display:flex;flex-direction:column;gap:16px}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.calendar-nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:1px solid var(--blue-line);color:var(--text-muted);cursor:pointer;transition:all .2s}.calendar-nav:hover{border-color:var(--blue);color:var(--blue)}.calendar-month{font-family:Georgia,Times New Roman,serif;font-size:18px;color:var(--text);text-align:center;flex:1}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekday{font-family:Space Mono,monospace;font-size:10px;text-transform:uppercase;color:var(--text-muted);text-align:center;padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;transition:all .2s}.calendar-day.has-day{border-color:var(--blue-line)}.calendar-day.past{opacity:.4}.calendar-day.past.has-checklists{opacity:.6}.calendar-day.has-checklists,.calendar-day.has-day{cursor:pointer}.calendar-day.has-day:hover{border-color:var(--blue)}.calendar-day.has-checklists:hover,.calendar-day.selected{border-color:var(--blue);background:var(--blue-light)}.calendar-day.selected .day-number{color:var(--blue);font-weight:600}.day-number{font-family:Space Mono,monospace;font-size:12px;color:var(--text)}.day-dot{width:4px;height:4px;background:var(--blue);border-radius:50%;margin-top:4px}.calendar-day.selected .day-dot{background:var(--blue)}.day-count-pill{position:absolute;top:-8px;left:-8px;min-width:16px;height:16px;padding:0 4px;background:var(--blue);color:var(--white);font-family:Space Mono,monospace;font-size:10px;line-height:16px;text-align:center;border-radius:8px;opacity:0;transform:scale(.8);transition:opacity .2s,transform .2s;pointer-events:none;z-index:10}.calendar-day.has-checklists:hover .day-count-pill,.calendar-day.selected.has-checklists .day-count-pill{opacity:1;transform:scale(1)}.calendar-day-checklists{margin-top:8px;border:1px solid var(--blue-line);padding:16px}.calendar-day-title{font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.calendar-checklist-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--blue-line);cursor:pointer;transition:background .2s}.calendar-checklist-item:last-child{border-bottom:none}.calendar-checklist-item:hover{background:var(--blue-light);margin:0 -16px;padding-left:16px;padding-right:16px}.calendar-checklist-title{font-family:Georgia,Times New Roman,serif;font-size:15px;color:var(--text)}.calendar-checklist-count{font-family:Space Mono,monospace;font-size:11px;color:var(--text-muted)}.dashboard-list{display:flex;flex-direction:column;gap:16px}.dashboard-card{position:relative;background:var(--white);border:1px solid var(--blue-line);padding:16px 18px 14px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.dashboard-card:hover{border-color:var(--blue);box-shadow:0 2px 12px #1342ff14}.dashboard-card-delete{position:absolute;top:10px;right:-40px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;opacity:0;transition:opacity .2s,color .2s}.dashboard-card:hover .dashboard-card-delete{opacity:1}.dashboard-card-delete:hover{color:#e53935}.dashboard-card-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;padding-right:18px}.dashboard-card-title{font-size:14px;font-weight:400;color:var(--text);margin:0}.dashboard-card-count{font-family:Space Mono,monospace;font-size:10px;color:var(--text-muted)}.dashboard-card-progress-track{height:2px;background:var(--blue-light);margin-bottom:10px}.dashboard-card-progress-fill{height:100%;background:var(--blue);transition:width .3s ease}.dashboard-card-items{display:flex;flex-direction:column;gap:6px;max-height:72px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,black 40%,transparent 100%);mask-image:linear-gradient(to bottom,black 40%,transparent 100%)}.dashboard-card-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.dashboard-card-item.completed span{text-decoration:line-through;color:var(--text-muted)}.dashboard-card-checkbox{width:12px;height:12px;flex-shrink:0;border:1px solid var(--blue);display:flex;align-items:center;justify-content:center}.dashboard-card-checkbox.checked{background:transparent;color:var(--blue)}.dashboard-card-checkbox.checked:after{display:none}.stepper{width:28px;flex-shrink:0;display:flex;align-items:stretch;justify-content:flex-end;padding:48px 10px 48px 0}.stepper-ticks{display:flex;flex-direction:column;justify-content:space-between;height:100%;align-items:flex-end}.stepper-tick{height:1px;background:var(--blue);transition:width .12s ease-out,opacity .12s ease-out}.celebration-message{position:fixed;inset:0;z-index:201;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:Space Mono,monospace;font-size:14px;text-transform:uppercase;letter-spacing:.2em;color:var(--text);animation:celebration-msg-fade 2.4s ease forwards}@keyframes celebration-msg-fade{0%{opacity:0;transform:translateY(6px)}20%{opacity:1;transform:translateY(0)}95%{opacity:1}96%{opacity:0}to{opacity:0}}.celebration-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:200}.back-btn{position:relative;display:flex;align-items:center;gap:6px;font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:0 0 4px;margin-bottom:24px;align-self:flex-start;transition:color .3s}.back-btn:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.back-btn:hover{color:var(--blue)}.back-btn:hover:after{transform:scaleX(1)}.loading{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-style:italic}.loading-dot{width:8px;height:8px;background:var(--blue);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.calendar-day.future.has-checklists .day-dot{background:transparent;border:1px solid var(--blue);box-sizing:border-box}.calendar-day.future.selected .day-dot{border-color:var(--blue)}.add-checklist-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 0;margin-top:12px;background:none;border:none;border-top:1px dashed var(--blue-line);color:var(--blue);font-family:Space Mono,monospace;font-size:11px;text-transform:uppercase;cursor:pointer;transition:all .2s}.add-checklist-btn:hover{background:var(--blue-light);padding-left:16px}.auth-view{display:flex;justify-content:center;align-items:center;height:100vh;padding:20px}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:32px}.auth-title{font-family:Georgia,serif;font-size:32px;color:var(--blue);margin:0}.auth-subtitle{font-family:Space Mono,monospace;font-size:13px;color:var(--text-muted);margin-top:-24px}.auth-form{display:flex;flex-direction:column;gap:24px}.auth-error{color:red;font-family:Space Mono,monospace;font-size:12px;padding:12px;border:1px solid red;background:#ff00000d}
