*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;line-height:1.5}input,button,textarea,select{font:inherit}img,picture,video,canvas,svg{display:block;max-width:100%}:root{--jc-crust: #11111b;--jc-mantle: #181825;--jc-base: #1e1e2e;--jc-surface-0: #313244;--jc-surface-1: #45475a;--jc-surface-2: #585b70;--jc-overlay-0: #6c7086;--jc-overlay-1: #7f849c;--jc-overlay-2: #9399b2;--jc-subtext-0: #a6adc8;--jc-subtext-1: #bac2de;--jc-text: #cdd6f4;--jc-rosewater: #f5e0dc;--jc-flamingo: #f2cdcd;--jc-pink: #f5c2e7;--jc-mauve: #cba6f7;--jc-red: #f38ba8;--jc-maroon: #eba0ac;--jc-peach: #fab387;--jc-yellow: #f9e2af;--jc-green: #a6e3a1;--jc-teal: #94e2d5;--jc-sky: #89dceb;--jc-sapphire: #74c7ec;--jc-blue: #89b4fa;--jc-lavender: #b4befe;--jc-bg-dark: var(--jc-base);--jc-bg-panel: var(--jc-mantle);--jc-bg-hover: var(--jc-surface-0);--jc-bg-overlay: rgba(17, 17, 27, .8);--jc-bg-overlay-solid: rgba(17, 17, 27, .9);--jc-border-subtle: var(--jc-surface-0);--jc-border-default: var(--jc-surface-1);--jc-border-hover: var(--jc-surface-2);--jc-text-muted: var(--jc-overlay-0);--jc-text-secondary: var(--jc-subtext-0);--jc-text-primary: var(--jc-text);--jc-text-bright: var(--jc-text);--jc-accent-success: var(--jc-green);--jc-accent-warning: var(--jc-yellow);--jc-accent-danger: var(--jc-red);--jc-accent-danger-muted: #45293a;--jc-accent-peach: var(--jc-peach);--jc-accent-rosewater: var(--jc-rosewater);--jc-accent-lavender: var(--jc-lavender);--jc-accent-mauve: var(--jc-mauve);--jc-font-mono: "SF Mono", "Fira Code", "Consolas", monospace;--jc-font-size-xs: .7rem;--jc-font-size-sm: .75rem;--jc-font-size-base: .85rem;--jc-font-size-lg: 1.1rem;--jc-letter-spacing: .08em;--jc-touch-target: 2.75rem;--jc-control-size: 1.25rem}@media(min-width:768px){:root{--jc-touch-target: 2rem;--jc-control-size: 1rem}}body{font-family:var(--jc-font-mono);background-color:var(--jc-bg-dark);color:var(--jc-text-primary);letter-spacing:var(--jc-letter-spacing);-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{color:var(--jc-text-primary);font-weight:400;line-height:1.3;margin:0 0 .5em}h1{font-size:1.6rem}h2{font-size:1.35rem}h3{font-size:1.15rem}h4{font-size:1rem}h5{font-size:.9rem}h6{font-size:.85rem}h1.jc-h-flat,h2.jc-h-flat,h3.jc-h-flat,h4.jc-h-flat,h5.jc-h-flat,h6.jc-h-flat{font-size:var(--jc-font-size-lg)}.jc-section-title{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--jc-border-subtle)}p{color:var(--jc-text-secondary);line-height:1.8;margin:0 0 1em}a{color:var(--jc-accent-lavender);text-decoration:none}a:hover{color:var(--jc-accent-mauve);text-decoration:underline}strong,b{font-weight:600;color:var(--jc-text-primary)}code{font-family:var(--jc-font-mono);background:var(--jc-bg-panel);padding:.15em .4em;font-size:.9em}pre{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);padding:1rem;overflow-x:auto}pre code{background:none;padding:0}blockquote{border-left:3px solid var(--jc-border-default);margin:1em 0;padding-left:1em;color:var(--jc-text-secondary)}ul,ol{color:var(--jc-text-secondary);padding-left:1.5em;margin:0 0 1em}li{margin-bottom:.25em}hr{border:none;height:1px;background:var(--jc-border-default);margin:1.5em 0}.jc-nav{display:flex;gap:1rem}.jc-nav a{color:var(--jc-text-secondary)}.jc-nav a:hover{color:var(--jc-accent-mauve)}.jc-nav a.jc-active,.jc-nav .jc-active{color:var(--jc-blue);text-decoration:underline;text-decoration-color:var(--jc-blue)}.jc-btn{min-height:var(--jc-touch-target);padding:.75rem 1.25rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);border:1px solid var(--jc-border-default);background:var(--jc-bg-panel);color:var(--jc-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}@media(min-width:768px){.jc-btn{min-height:auto;padding:.5rem 1rem}}.jc-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.jc-btn:active{background:var(--jc-bg-hover)}.jc-btn-sm{padding:.4rem .75rem}.jc-btn-danger{border-color:var(--jc-accent-danger-muted);color:var(--jc-accent-danger)}.jc-btn-danger:hover{border-color:var(--jc-accent-danger)}.jc-btn-danger:active{background:#302030}.jc-btn-ghost{background:var(--jc-bg-overlay)}.jc-status{display:flex;align-items:center;gap:.5rem;color:var(--jc-text-secondary);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing)}.jc-dot{width:6px;height:6px;border-radius:50%}.jc-dot-success{background-color:var(--jc-accent-success)}.jc-dot-warning{background-color:var(--jc-accent-warning);animation:jc-pulse 1.5s infinite}.jc-dot-danger{background-color:var(--jc-accent-danger)}@keyframes jc-pulse{0%,to{opacity:1}50%{opacity:.5}}.jc-panel{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default)}.jc-panel-overlay{background:var(--jc-bg-overlay-solid);border:1px solid var(--jc-border-subtle)}.jc-label{background-color:var(--jc-bg-overlay);color:var(--jc-text-muted);padding:.2rem .5rem;font-size:var(--jc-font-size-xs);letter-spacing:var(--jc-letter-spacing)}.jc-select{min-height:var(--jc-touch-target);padding:.75rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);color:var(--jc-text-primary);cursor:pointer}@media(min-width:768px){.jc-select{min-height:auto;padding:.5rem}}.jc-select:focus{outline:none;border-color:var(--jc-border-hover)}.jc-slider{appearance:none;height:4px;background:var(--jc-border-default);outline:none;cursor:pointer}.jc-slider::-webkit-slider-thumb{appearance:none;width:var(--jc-control-size);height:var(--jc-control-size);background:var(--jc-text-secondary);border-radius:50%;cursor:pointer}.jc-slider::-moz-range-thumb{width:var(--jc-control-size);height:var(--jc-control-size);background:var(--jc-text-secondary);border-radius:50%;cursor:pointer;border:none}.jc-checkbox{appearance:none;width:var(--jc-control-size);height:var(--jc-control-size);background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);cursor:pointer}.jc-checkbox:checked{background:var(--jc-text-secondary);border-color:var(--jc-text-secondary)}.jc-checkbox:focus{outline:none;border-color:var(--jc-border-hover)}.jc-checkbox:hover{border-color:var(--jc-border-hover)}.jc-input{min-height:var(--jc-touch-target);padding:.75rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);color:var(--jc-text-primary)}@media(min-width:768px){.jc-input{min-height:auto;padding:.5rem}}.jc-input::placeholder{color:var(--jc-text-muted)}.jc-input:focus{outline:none;border-color:var(--jc-border-hover)}.jc-toggle{appearance:none;width:2.5rem;height:1.25rem;background:var(--jc-border-default);border-radius:1.25rem;position:relative;cursor:pointer;transition:background .15s ease}.jc-toggle:after{content:"";position:absolute;top:.125rem;left:.125rem;width:1rem;height:1rem;background:var(--jc-text-muted);border-radius:50%;transition:transform .15s ease,background .15s ease}.jc-toggle:checked{background:var(--jc-accent-success)}.jc-toggle:checked:after{transform:translate(1.25rem);background:var(--jc-bg-panel)}.jc-toggle:hover:after{background:var(--jc-text-secondary)}.jc-toggle:checked:hover:after{background:var(--jc-bg-dark)}.jc-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.jc-modal{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);padding:1.5rem;max-width:90%;max-height:90%;overflow:auto}.jc-spinner{width:1rem;height:1rem;border:2px solid var(--jc-border-default);border-top-color:var(--jc-text-secondary);border-radius:50%;animation:jc-spin .6s linear infinite}.jc-spinner-sm{width:.75rem;height:.75rem}.jc-spinner-lg{width:1.5rem;height:1.5rem}@keyframes jc-spin{to{transform:rotate(360deg)}}.jc-toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);padding:.75rem 1rem;font-size:var(--jc-font-size-sm);color:var(--jc-text-primary);z-index:200}.jc-toast-success{border-color:var(--jc-accent-success)}.jc-toast-danger{border-color:var(--jc-accent-danger)}.jc-badge{display:inline-block;padding:.15rem .4rem;font-size:var(--jc-font-size-xs);background:var(--jc-border-default);color:var(--jc-text-primary);letter-spacing:var(--jc-letter-spacing)}.jc-badge-success{background:var(--jc-accent-success);color:var(--jc-bg-dark)}.jc-badge-danger{background:var(--jc-accent-danger);color:var(--jc-bg-dark)}.jc-tabs{display:flex;border-bottom:1px solid var(--jc-border-default)}.jc-tab{min-height:var(--jc-touch-target);padding:.75rem 1.25rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);background:none;border:none;border-bottom:2px solid transparent;color:var(--jc-text-muted);cursor:pointer;margin-bottom:-1px}@media(min-width:768px){.jc-tab{min-height:auto;padding:.5rem 1rem}}.jc-tab:hover{color:var(--jc-text-secondary)}.jc-tab-active{color:var(--jc-text-primary);border-bottom-color:var(--jc-text-primary)}.jc-progress{height:4px;background:var(--jc-border-default);overflow:hidden}.jc-progress-bar{height:100%;background:var(--jc-text-secondary);transition:width .3s ease}.jc-progress-bar-success{background:var(--jc-accent-success)}.jc-tooltip{position:relative}.jc-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.3rem .5rem;font-size:var(--jc-font-size-xs);background:var(--jc-bg-hover);border:1px solid var(--jc-border-default);color:var(--jc-text-primary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;margin-bottom:.25rem}.jc-tooltip:hover:after{opacity:1}.jc-slider-vertical{width:4px;height:120px;writing-mode:vertical-lr;direction:rtl;touch-action:none}.jc-text-muted{color:var(--jc-text-muted)}.jc-text-secondary{color:var(--jc-text-secondary)}.jc-text-primary{color:var(--jc-text-primary)}.jc-text-success{color:var(--jc-accent-success)}.jc-text-warning{color:var(--jc-accent-warning)}.jc-text-danger{color:var(--jc-accent-danger)}.jc-text-xs{font-size:var(--jc-font-size-xs)}.jc-text-sm{font-size:var(--jc-font-size-sm)}.jc-text-base{font-size:var(--jc-font-size-base)}.jc-tracking{letter-spacing:var(--jc-letter-spacing)}.jc-text-left{text-align:left}.jc-text-center{text-align:center}.jc-text-right{text-align:right}.jc-flex{display:flex}.jc-flex-col{flex-direction:column}.jc-items-center{align-items:center}.jc-justify-center{justify-content:center}.jc-justify-between{justify-content:space-between}.jc-gap-sm{gap:.5rem}.jc-gap-md{gap:.75rem}.jc-gap-lg{gap:1rem}.jc-error{background:var(--jc-bg-hover);border:1px solid var(--jc-border-default);color:var(--jc-accent-danger);padding:1.25rem;font-size:var(--jc-font-size-base);line-height:1.5}.jc-safe-top{padding-top:max(.75rem,env(safe-area-inset-top))}.jc-safe-bottom{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}#root{width:100%}.app{min-height:100vh;padding:1rem}.app-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--jc-border-default)}.app-title{font-size:var(--jc-font-size-lg);font-weight:400;color:var(--jc-text-primary);flex:1}.menu-toggle-btn{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.menu-toggle-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}@media(min-width:768px){.menu-toggle-btn{width:2rem;height:2rem}}.menu-overlay{position:fixed;inset:0;background:#0009;z-index:999}.menu-sidebar{position:fixed;top:0;left:0;bottom:0;width:90%;max-width:500px;background:var(--jc-bg-panel);border-right:1px solid var(--jc-border-default);z-index:1000;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.menu-sidebar.open{transform:translate(0)}.menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--jc-border-default)}.menu-header h2{margin:0;font-size:var(--jc-font-size-lg);font-weight:400;color:var(--jc-text-primary)}.menu-close-btn{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.menu-close-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}@media(min-width:768px){.menu-close-btn{width:2rem;height:2rem}}.menu-content{flex:1;overflow-y:auto;padding:1.5rem}.task-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.task-manager-header h2{margin:0;color:var(--color-text-primary);font-size:1.5rem}.header-actions{display:flex;align-items:center;gap:.75rem}.view-toggle{display:flex;gap:4px;background:#fff3;border-radius:10px;padding:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.view-toggle button{padding:8px 16px;border:none;background:transparent;color:#fffc;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap}.view-toggle button:hover{background:#fff3;color:#fff}.view-toggle button.active{background:#fffffff2;color:var(--color-primary);box-shadow:0 2px 8px #00000026}.data-menu-container{position:relative}.data-menu-toggle{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.data-menu-toggle:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}@media(min-width:768px){.data-menu-toggle{width:2rem;height:2rem}}.data-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000040;min-width:220px;z-index:1000;overflow:hidden;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.data-menu-header{padding:.75rem 1rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-weight:600;font-size:.9rem;text-align:center}.data-menu-section{padding:.5rem;border-bottom:1px solid #e5e7eb}.data-menu-section:last-child{border-bottom:none}.data-menu-item{width:100%;background:transparent;border:none;padding:.75rem 1rem;border-radius:8px;cursor:pointer;font-weight:500;font-size:.9rem;color:var(--color-text-primary);transition:all .2s ease;display:flex;align-items:center;gap:.5rem;text-align:left}.data-menu-item:hover:not(:disabled){background:#f3f4f6;color:var(--color-primary)}.data-menu-item:disabled{opacity:.5;cursor:not-allowed}.data-menu-item.sync-item.syncing{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.data-menu-item.sync-item.error{background:#fee2e2;color:#dc2626}.data-menu-item.sync-item.error:hover{background:#fecaca}.data-menu-status{padding:.5rem 1rem;font-size:.75rem;color:var(--color-text-secondary);text-align:center}.menu-icon{font-size:1.1rem;flex-shrink:0}.menu-icon.rotating{animation:spin 1s linear infinite}.btn-add{min-height:var(--jc-touch-target);padding:.75rem 1.25rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);border:1px solid var(--jc-border-default);background:var(--jc-bg-panel);color:var(--jc-text-secondary);cursor:pointer}.btn-add:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}@media(min-width:768px){.btn-add{min-height:auto;padding:.5rem 1rem}}.btn-add-small{min-height:var(--jc-touch-target);padding:.5rem .75rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);border:1px solid var(--jc-border-default);background:var(--jc-bg-panel);color:var(--jc-text-secondary);cursor:pointer}.btn-add-small:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}@media(min-width:768px){.btn-add-small{min-height:auto;padding:.4rem .75rem}}.task-form{margin-bottom:1.5rem;padding:1.5rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default)}.task-input{width:100%;margin-bottom:.75rem}.task-form-actions{display:flex;gap:.5rem}.schedule-container{margin:1rem 0;padding:1rem;background:var(--jc-bg-dark);border:1px solid var(--jc-border-default)}.schedule-label{display:block;font-weight:400;font-family:var(--jc-font-mono);color:var(--jc-text-primary);margin-bottom:.75rem;font-size:var(--jc-font-size-sm)}.schedule-presets{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.preset-btn{padding:.5rem .75rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);cursor:pointer;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-secondary);transition:all .2s ease}.preset-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.preset-btn.active{background:var(--jc-bg-dark);border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.day-selector{display:flex;gap:.5rem;justify-content:space-between}.day-btn{flex:1;padding:1rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);cursor:pointer;font-weight:600;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);transition:all .2s ease}.day-btn.selected{background:var(--jc-bg-dark);border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.day-btn.all-selected{background:var(--jc-bg-dark);border-color:var(--jc-accent-lavender);color:var(--jc-accent-lavender)}.btn-primary{min-height:var(--jc-touch-target);padding:.75rem 1.25rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);border:1px solid var(--jc-border-default);background:var(--jc-bg-panel);color:var(--jc-text-secondary);cursor:pointer}.btn-primary:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.btn-primary:active{background:var(--jc-bg-hover)}@media(min-width:768px){.btn-primary{min-height:auto;padding:.5rem 1rem}}.btn-secondary{min-height:var(--jc-touch-target);padding:.75rem 1.25rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);border:1px solid var(--jc-border-default);background:var(--jc-bg-dark);color:var(--jc-text-muted);cursor:pointer}.btn-secondary:hover{border-color:var(--jc-border-hover);color:var(--jc-text-secondary)}.btn-secondary:active{background:var(--jc-bg-hover)}@media(min-width:768px){.btn-secondary{min-height:auto;padding:.5rem 1rem}}.task-list{display:flex;flex-direction:column;gap:.75rem}.task-item{display:flex;justify-content:space-between;align-items:stretch;padding:1rem;padding-right:0;background:var(--jc-bg-panel);border:1px solid var(--jc-border-subtle);transition:all .2s ease;position:relative}.task-item:hover{border-color:var(--jc-border-default)}.task-item.menu-open{z-index:100000}.task-item-content{display:flex;justify-content:space-between;align-items:center;width:100%;height:100%;cursor:grab}.task-item-content:active{cursor:grabbing}.task-name{color:var(--jc-text-primary);font-weight:400;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-base);flex:1;padding-right:.5rem}.task-actions,.group-actions{display:flex;gap:.75rem;align-items:center}.btn-delete{background:var(--jc-bg-panel);border:1px solid var(--jc-accent-danger-muted);color:var(--jc-accent-danger);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-delete:hover{border-color:var(--jc-accent-danger);background:var(--jc-bg-hover)}@media(min-width:768px){.btn-delete{width:2rem;height:2rem}}.btn-edit{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);color:var(--jc-text-secondary);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-edit:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}@media(min-width:768px){.btn-edit{width:2rem;height:2rem}}.edit-inline{display:flex;gap:.5rem;align-items:center;flex:1;width:100%}.edit-inline-full{display:flex;flex-direction:column;gap:.5rem;flex:1;width:100%}.edit-buttons{display:flex;gap:.5rem;align-items:center}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--jc-text-primary);cursor:pointer;padding:.5rem 0;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing)}.checkbox-input{appearance:none;width:18px;height:18px;cursor:pointer;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);flex-shrink:0}.checkbox-input:checked{background:var(--jc-accent-success);border-color:var(--jc-accent-success)}.checkbox-label span{font-weight:400}.edit-input{flex:1}.btn-edit-save{background:var(--jc-bg-panel);border:1px solid var(--jc-accent-success);color:var(--jc-accent-success);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-edit-save:hover{background:var(--jc-accent-success);color:var(--jc-bg-panel)}@media(min-width:768px){.btn-edit-save{width:2rem;height:2rem}}.btn-edit-cancel{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);color:var(--jc-text-muted);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.btn-edit-cancel:hover{border-color:var(--jc-border-hover);color:var(--jc-text-secondary)}@media(min-width:768px){.btn-edit-cancel{width:2rem;height:2rem}}.group-container{margin-bottom:.75rem}.group-header{display:flex;justify-content:space-between;align-items:center;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);position:relative;padding:.75rem;margin-bottom:.75rem}.group-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:grab;padding:0;font-weight:400;color:var(--jc-text-primary);flex:1;text-align:left;font-family:var(--jc-font-mono)}.group-toggle:active{cursor:grabbing}.group-toggle:hover .group-name{color:var(--jc-text-bright)}.toggle-icon{font-size:.75rem;color:var(--jc-text-secondary);width:1rem;display:inline-block}.group-name{font-size:var(--jc-font-size-base);transition:color .2s}.group-count{color:var(--jc-text-muted);font-size:var(--jc-font-size-sm);margin-left:.25rem}.group-tasks{padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.empty-state-small{color:var(--color-text-secondary);font-style:italic;font-size:.9rem;padding:.5rem;margin:0}.ungrouped-tasks{display:flex;flex-direction:column;gap:.75rem}.date-navigation{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.nav-button{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);padding:.75rem 1.5rem;cursor:pointer;font-weight:400;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing)}.nav-button:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.nav-button:active{background:var(--jc-bg-hover)}.nav-today{background:var(--jc-bg-dark);color:var(--jc-text-primary);border-color:var(--jc-border-hover)}.nav-today:hover{border-color:var(--jc-text-secondary)}.nav-today:active{background:var(--jc-surface-0)}.tracker-grid{display:grid;grid-template-columns:1fr 420px;gap:1rem;align-items:start}.habits-column{min-width:0}.tracker-sidebar{min-width:100%;position:sticky;top:1.5rem;display:flex;flex-direction:column;gap:1rem}.date-nav-wrapper{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default)}.sidebar-date{text-align:center;padding:1.5rem;border-bottom:1px solid var(--jc-border-default)}.sidebar-date h2{margin:0;font-size:var(--jc-font-size-lg);font-weight:400;font-family:var(--jc-font-mono);text-transform:uppercase;color:var(--jc-text-primary);line-height:1.4}.sidebar-navigation{display:flex;justify-content:center;gap:.5rem;padding:1rem}.nav-compact{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);padding:.5rem 1rem;cursor:pointer;font-weight:400;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);flex:1}.nav-compact:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.nav-compact:active{background:var(--jc-bg-hover)}.nav-today-btn{background:var(--jc-bg-dark);color:var(--jc-text-primary);border-color:var(--jc-border-hover)}.nav-today-btn:hover{border-color:var(--jc-text-secondary)}.nav-today-btn:active{background:var(--jc-surface-0)}.sidebar-progress{padding:1.5rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);text-align:center}.progress-numbers{display:flex;align-items:baseline;justify-content:center;gap:.5rem;margin-bottom:1rem}.completed-count{font-size:4rem;font-weight:600;font-family:var(--jc-font-mono);line-height:1;color:var(--jc-accent-success)}.progress-separator{font-size:2rem;font-weight:600;font-family:var(--jc-font-mono);color:var(--jc-text-muted)}.total-count{font-size:2rem;font-weight:600;font-family:var(--jc-font-mono);color:var(--jc-text-secondary)}.daily-tasks{display:flex;flex-direction:column}.daily-task-item{display:flex;align-items:center;padding:1rem 3rem 1rem 1rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-subtle);transition:all .2s ease;position:relative;z-index:500;cursor:pointer}.daily-task-item.exempted{cursor:not-allowed;background:var(--jc-bg-hover);border-color:var(--jc-accent-warning)}.daily-task-item.menu-open{z-index:1002}.daily-task-item:hover{border-color:var(--jc-border-default)}.task-checkbox{appearance:none;width:var(--jc-control-size);height:var(--jc-control-size);margin-right:1rem;cursor:pointer;flex-shrink:0;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default)}.task-checkbox:checked{background:var(--jc-accent-success);border-color:var(--jc-accent-success)}.task-checkbox:hover{border-color:var(--jc-border-hover)}.task-checkbox:focus{outline:none;border-color:var(--jc-border-hover)}.task-label{color:var(--jc-text-primary);font-weight:400;font-size:var(--jc-font-size-base);font-family:var(--jc-font-mono);transition:all .2s ease;flex:1;display:flex;align-items:center;gap:.5rem}.task-label .habit-name{display:inline}.task-label.completed{color:var(--jc-accent-success);text-decoration:none}.schedule-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .3rem;margin-right:2.5rem;font-weight:700;cursor:help;margin-left:auto}.schedule-indicator.weekly-min{background:var(--jc-accent-mauve);color:var(--jc-bg-dark);min-width:2.5rem;font-size:.65rem;font-weight:600}.schedule-indicator.weekly-min.goal-met{background:var(--jc-accent-success);color:var(--jc-bg-dark)}.task-label.completed .schedule-indicator{opacity:.6}.task-label.exempted .schedule-indicator{opacity:.4}.empty-state{text-align:center;color:var(--color-text-secondary);padding:2rem;font-style:italic}.daily-group{margin-bottom:1.5rem}.daily-group-header{display:flex;align-items:center;gap:1rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);padding:.75rem 1rem;margin-bottom:.5rem;cursor:pointer;width:100%;font-weight:400;font-family:var(--jc-font-mono);color:var(--jc-text-primary);text-align:left;transition:all .2s ease}.daily-group-header:hover{border-color:var(--jc-border-hover)}.group-progress{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;color:var(--jc-accent-success);background:var(--jc-bg-dark)}.streak-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;background:var(--jc-accent-peach);color:var(--jc-bg-dark);cursor:help}.daily-group-tasks{padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.daily-task-wrapper{display:flex;flex-direction:column;gap:0}.habit-menu-container{position:absolute;top:0;right:0;bottom:0;display:flex;align-items:stretch}.habit-menu-btn{background:transparent;border:none;cursor:pointer;font-size:1.5rem;padding:0 1.5rem;color:var(--jc-text-muted);font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;min-width:48px}.habit-menu-btn:hover{color:var(--jc-text-secondary)}.habit-menu-btn.active{color:var(--jc-text-primary);background:var(--jc-bg-hover)}.habit-menu-overlay{position:fixed;inset:0;z-index:99998}.habit-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);z-index:99999;min-width:160px;overflow:hidden}.habit-menu-item{display:block;width:100%;padding:.75rem 1rem;background:var(--jc-bg-panel);border:none;cursor:pointer;text-align:left;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-secondary);border-bottom:1px solid var(--jc-border-subtle)}.habit-menu-item:last-child{border-bottom:none}.habit-menu-item:hover{background:var(--jc-bg-hover);color:var(--jc-text-primary)}.habit-menu-item:active{background:var(--jc-surface-0)}.daily-task-item.exempted{background:var(--jc-bg-hover);border-color:var(--jc-accent-warning)}.daily-task-item.exempted:hover{border-color:var(--jc-accent-warning)}.task-label.exempted{color:var(--jc-text-muted);font-style:italic}.exempted-indicator{font-size:var(--jc-font-size-sm);color:var(--jc-accent-warning);font-weight:400}.task-note-section{margin-left:1.5rem;padding:1rem;background:var(--jc-bg-overlay);border-right:1px solid var(--jc-border-subtle);border-bottom:1px solid var(--jc-border-subtle);border-left:2px solid var(--jc-accent-lavender);position:relative}.note-editor{display:flex;flex-direction:column;gap:.5rem}.note-input{width:100%;resize:none;overflow:hidden;min-height:80px}.note-actions{display:flex;gap:.75rem;align-items:center;justify-content:flex-start}.note-save-btn{background:var(--jc-bg-panel);color:var(--jc-accent-success);border:1px solid var(--jc-accent-success);padding:.5rem 1rem;cursor:pointer;font-weight:400;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing)}.note-save-btn:hover{background:var(--jc-accent-success);color:var(--jc-bg-panel)}.note-save-btn:active{background:var(--jc-accent-success)}.note-cancel-btn{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);padding:.5rem 1rem;cursor:pointer;font-weight:400;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing)}.note-cancel-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.note-cancel-btn:active{background:var(--jc-bg-hover)}.note-display{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;position:relative}.note-display.clickable{cursor:pointer;padding:.5rem;margin:-.5rem}.note-display.clickable:hover{background:var(--jc-bg-hover)}.note-text{margin:0;color:var(--jc-text-secondary);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);line-height:1.6;flex:1;word-wrap:break-word}.note-text h1,.note-text h2,.note-text h3,.note-text h4,.note-text h5,.note-text h6{margin:.5em 0 .3em;color:var(--jc-text-primary);font-weight:600;font-family:var(--jc-font-mono)}.note-text h1{font-size:1.3em}.note-text h2{font-size:1.2em}.note-text h3{font-size:1.1em}.note-text h4{font-size:1.05em}.note-text h5{font-size:1em}.note-text h6{font-size:.95em}.note-text p{margin:.5em 0}.note-text p:first-child{margin-top:0}.note-text p:last-child{margin-bottom:0}.note-text ul,.note-text ol{margin:.5em 0;padding-left:1.5em}.note-text li{margin:.25em 0}.note-text code{background:var(--jc-bg-panel);padding:.2em .4em;font-family:var(--jc-font-mono);font-size:.9em;color:var(--jc-accent-peach);border:1px solid var(--jc-border-subtle)}.note-text pre{background:var(--jc-bg-panel);padding:.75em;overflow-x:auto;margin:.5em 0;border:1px solid var(--jc-border-default)}.note-text pre code{background:none;padding:0;border:none;color:var(--jc-text-primary)}.note-text blockquote{border-left:2px solid var(--jc-accent-lavender);padding-left:1em;margin:.5em 0;color:var(--jc-text-secondary);font-style:italic}.note-text a{color:var(--jc-accent-blue);text-decoration:underline}.note-text a:hover{color:var(--jc-accent-sapphire)}.note-text strong{font-weight:600;color:var(--jc-text-primary)}.note-text em{font-style:italic}.note-text hr{border:none;border-top:1px solid var(--jc-border-default);margin:1em 0}.note-text img{max-width:100%;height:auto;border-radius:.25rem;margin:.5em 0}.note-text table{border-collapse:collapse;width:100%;margin:.5em 0}.note-text th,.note-text td{border:1px solid #e0e0e0;padding:.5em;text-align:left}.note-text th{background:#f0f0f0;font-weight:600}.daily-note-display{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;position:relative}.daily-note-display.clickable{cursor:pointer;padding:.5rem}.daily-note-display.clickable:hover{background:var(--jc-bg-hover)}.note-delete-btn{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);color:var(--jc-accent-danger);cursor:pointer;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;padding:.5rem .75rem;flex-shrink:0}.note-actions .note-delete-btn{margin-left:auto}.note-delete-btn:hover{background:var(--jc-bg-hover);border-color:var(--jc-accent-danger)}.note-delete-btn:active{background:var(--jc-bg-dark)}.daily-note-section{padding:1.5rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default)}.daily-note-header-wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--jc-border-default)}.daily-note-header{margin:0;color:var(--jc-text-primary);font-size:var(--jc-font-size-lg);font-weight:400;font-family:var(--jc-font-mono);text-transform:uppercase}.daily-note-input{min-height:100px;font-family:inherit;font-size:1rem}.add-daily-note-btn{background:var(--jc-bg-dark);color:var(--jc-text-secondary);border:1px dashed var(--jc-border-default);padding:1.25rem;cursor:pointer;font-weight:400;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);width:100%;transition:all .2s ease}.add-daily-note-btn:hover{border-color:var(--jc-border-hover);border-style:solid;color:var(--jc-text-primary)}.sidebar-analytics{padding:1.5rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default)}.sidebar-analytics .habit-analytics{padding:0;margin:0}.sidebar-analytics .analytics-header{margin-bottom:1.5rem}.sidebar-analytics .analytics-header h2{font-size:var(--jc-font-size-lg);font-weight:400;font-family:var(--jc-font-mono);color:var(--jc-text-primary);text-transform:uppercase}.sidebar-analytics .heatmap-view,.sidebar-analytics .calendar-view{padding:0;background:transparent}.sidebar-analytics .heatmap-header{margin-bottom:1.25rem}.sidebar-analytics .heatmap-header h3{font-size:1rem;margin:0}.sidebar-analytics .heatmap-container{gap:8px}.sidebar-analytics .heatmap-day-labels{width:35px}.sidebar-analytics .heatmap-day{width:12px;height:12px}.sidebar-analytics .heatmap-grid,.sidebar-analytics .heatmap-week{gap:3px}@media(max-width:768px){.app{padding:.75rem}.app-header{margin-bottom:.75rem;padding-bottom:.75rem}.app-title{font-size:1.2rem}.menu-toggle-btn{width:38px;height:38px;font-size:1.2rem}.section{padding:1rem}.task-note-section{margin-left:.75rem}.menu-sidebar{width:85%}.menu-content,.settings-content{padding:1rem}.tracker-grid{grid-template-columns:1fr;gap:1rem}.tracker-sidebar{gap:.5rem;position:static;order:-1}.date-nav-wrapper,.sidebar-progress,.sidebar-analytics,.daily-note-section{padding:1rem}.sidebar-date h2{font-size:1.2rem}.completed-count{font-size:3rem}.progress-separator,.total-count{font-size:1.5rem}.daily-group-header{padding:1rem}.daily-group-tasks{padding-left:.75rem}.daily-task-item{padding:1rem 3.5rem 1rem 1rem}.habit-menu-btn{padding:0 1.25rem}}@media(max-width:480px){.app{padding:.5rem}.app-header{margin-bottom:.5rem;padding-bottom:.5rem}.app-title{font-size:1.1rem}.menu-toggle-btn{width:36px;height:36px;font-size:1.1rem}.menu-sidebar{width:100%;max-width:100%}.menu-content,.settings-content{padding:.75rem}.section{padding:0}.date-nav-wrapper,.sidebar-progress,.sidebar-analytics,.daily-note-section{padding:.75rem}.tracker-grid{gap:.75rem}.task-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.nav-button{padding:.75rem 1.5rem;font-size:.95rem}.daily-group-tasks{padding-left:.75rem}.daily-task-item{padding:1rem 3rem 1rem 1rem;flex-wrap:wrap}.task-label{font-size:1rem}.habit-menu-btn{font-size:1.4rem;padding:0 1rem;min-width:40px}.sidebar-date h2{font-size:1.1rem}.sidebar-analytics{padding:1.5rem}.sidebar-analytics .heatmap-day{width:.9em;height:.9em}.sidebar-analytics .heatmap-grid,.sidebar-analytics .heatmap-week{gap:2px}.task-form{padding:1rem;margin-bottom:1rem}.task-input{padding:.65rem;font-size:.95rem;margin-bottom:.6rem}.schedule-container{margin:.75rem 0;padding:.85rem}.schedule-label{font-size:.9rem;margin-bottom:.6rem}.schedule-presets{gap:.4rem;margin-bottom:.75rem}.preset-btn{padding:.5rem .75rem;font-size:.8rem}.day-selector{gap:.35rem}.day-btn{width:38px;height:38px;font-size:.85rem}.checkbox-label,.checkbox-label input[type=number]{font-size:.9rem}.task-form-actions{gap:.4rem}.btn-primary,.btn-secondary{padding:.65rem 1.25rem;font-size:.95rem}}.header-actions,.user-menu{display:flex;align-items:center;gap:.75rem}.user-email{color:var(--jc-text-secondary);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);font-weight:400}.login-btn,.logout-btn{min-height:var(--jc-touch-target);padding:.75rem 1.25rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);border:1px solid var(--jc-border-default);background:var(--jc-bg-panel);color:var(--jc-text-secondary);cursor:pointer}.login-btn:hover,.logout-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}@media(min-width:768px){.login-btn,.logout-btn{min-height:auto;padding:.5rem 1rem}}.logout-btn{background:var(--jc-bg-dark);color:var(--jc-text-muted)}.logout-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-secondary)}@media(max-width:768px){.user-email{display:none}.user-menu{padding:.5rem;background:transparent}.logout-btn{padding:.5rem .8rem;font-size:.85rem}.data-menu-toggle{width:38px;height:38px;font-size:1.2rem}.data-menu-dropdown{min-width:200px}}@media(max-width:480px){.login-btn{padding:.5rem 1rem;font-size:.85rem}.data-menu-toggle{width:36px;height:36px;font-size:1.1rem}.data-menu-dropdown{min-width:180px;right:-.5rem}.data-menu-item{padding:.65rem .85rem;font-size:.85rem}.header-actions{gap:.5rem}}.theme-selector{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#f9fafb,#fff);border-radius:12px;box-shadow:0 2px 8px #0000000d}.theme-selector-title{margin:0 0 1.25rem;color:#333;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.theme-card{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:.75rem;cursor:pointer;transition:all .3s ease;position:relative;box-shadow:0 2px 4px #0000000d}.theme-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.2)}.theme-card.active{border-color:var(--color-primary);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.05),rgba(var(--color-primary-dark-rgb),.05));box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.theme-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.75rem}.theme-color-swatch{height:32px;border-radius:6px;box-shadow:inset 0 1px 3px #0000001a}.theme-color-accent{grid-column:span 3;height:20px}.theme-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.theme-name{font-size:.85rem;font-weight:600;color:var(--color-text-primary);text-align:center;flex:1}.theme-active-indicator{position:absolute;top:.5rem;right:.5rem;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent) 100%);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 2px 6px rgba(var(--color-accent-rgb),.4)}.delete-theme-btn{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:.25rem;transition:all .2s ease;opacity:.6}.delete-theme-btn:hover{opacity:1;transform:scale(1.2)}.settings-overlay{position:fixed;inset:0;background:#0009;z-index:999}.settings-panel{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:600px;background:var(--jc-bg-panel);border-left:1px solid var(--jc-border-default);z-index:1000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.settings-panel.open{transform:translate(0)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--jc-border-default)}.settings-header h2{margin:0;font-size:var(--jc-font-size-lg);font-weight:400;color:var(--jc-text-primary)}.settings-close-btn{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.settings-close-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.settings-close-btn:active{background:var(--jc-bg-hover)}@media(min-width:768px){.settings-close-btn{width:2rem;height:2rem}}.settings-content{flex:1;overflow-y:auto;padding:1.5rem}.settings-section{margin-bottom:2rem}.settings-section:last-child{margin-bottom:0}.settings-section-title{margin:0 0 1rem;font-size:var(--jc-font-size-base);font-weight:400;font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-primary);border-bottom:1px solid var(--jc-border-default);padding-bottom:.5rem}.settings-subsection{margin-bottom:1.5rem;padding:1rem;background:var(--jc-bg-dark);border:1px solid var(--jc-border-default)}.settings-subsection:last-child{margin-bottom:0}.settings-subsection-title{margin:0 0 .5rem;font-size:var(--jc-font-size-sm);font-weight:400;font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary)}.settings-description{margin:0 0 1rem;color:var(--jc-text-secondary);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);line-height:1.5}.settings-btn{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);padding:.75rem 1rem;cursor:pointer;font-weight:400;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);display:inline-flex;align-items:center;gap:.5rem;width:100%;justify-content:center}.settings-btn:hover:not(:disabled){border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.settings-btn:active:not(:disabled){background:var(--jc-bg-hover)}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn.syncing{border-color:var(--jc-accent-blue);color:var(--jc-accent-blue)}.settings-btn.error{border-color:var(--jc-accent-danger);color:var(--jc-accent-danger)}.settings-btn-secondary{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default)}.settings-btn-secondary:hover:not(:disabled){border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.settings-btn-secondary:active:not(:disabled){background:var(--jc-bg-hover)}.settings-btn-group{display:flex;gap:.75rem;flex-wrap:wrap}.settings-btn-group .settings-btn{flex:1;min-width:150px}.settings-status{margin:1rem 0 0;color:var(--jc-text-secondary);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);text-align:center}.settings-error{margin:1rem 0 0;color:var(--jc-accent-danger);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;text-align:center;background:var(--jc-accent-danger-muted);padding:.75rem;border:1px solid var(--jc-accent-danger)}.btn-icon{font-size:1.2rem;display:inline-block}.btn-icon.rotating{animation:spin 1s linear infinite}.settings-section .theme-selector{margin-bottom:0;padding:0;background:transparent;border-radius:0;box-shadow:none}.settings-section .theme-selector-title{display:none}.archive-modal{max-width:500px}.archive-modal textarea{width:100%;margin-bottom:1.5rem;min-height:80px}.archive-modal .modal-actions{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:768px){.settings-panel{width:100%;max-width:100%}.settings-header{padding:1.5rem 1.25rem}.settings-header h2{font-size:1.5rem}.settings-content{padding:1.5rem 1.25rem}.settings-section-title{font-size:1.1rem}.settings-subsection{padding:1.25rem}.settings-btn-group{flex-direction:column}.settings-btn-group .settings-btn{width:100%}}.archived-section{margin-top:2rem;border-top:2px solid var(--border-color);padding-top:1rem}.archived-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--secondary-bg);border-radius:8px;margin-bottom:1rem;transition:background .2s}.archived-header:hover{background:var(--card-hover)}.archived-header h3{margin:0;font-size:1.1rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.archived-header span{color:var(--text-secondary);font-size:1rem}.archived-list{display:flex;flex-direction:column;gap:.75rem}.archived-habit-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--secondary-bg);border-radius:8px;border-left:3px solid #888;opacity:.8;transition:opacity .2s}.archived-habit-item:hover{opacity:1}.archived-habit-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.archived-habit-info .habit-name{font-weight:500;color:var(--text-primary)}.archived-habit-info .archive-date{font-size:.85rem;color:var(--text-secondary)}.archived-habit-info .archive-reason{font-size:.9rem;color:var(--text-secondary);font-style:italic;margin-top:.25rem}.archived-habit-actions{display:flex;gap:.5rem;align-items:center}.btn-archive{padding:.4rem .6rem;font-size:1rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s}.btn-archive:hover{background:#f59e0b;color:#fff;border-color:#f59e0b}.btn-unarchive{padding:.4rem .8rem;font-size:.85rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-unarchive:hover{background:var(--primary-hover);transform:translateY(-1px)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:var(--card-bg);padding:2rem;border-radius:12px;max-width:500px;width:100%;box-shadow:0 10px 40px #0000004d}.modal-content h3{margin-top:0;margin-bottom:1rem;color:var(--text-primary)}.modal-content p{margin-bottom:1rem;color:var(--text-secondary)}.modal-content textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--secondary-bg);color:var(--text-primary);font-family:inherit;font-size:.95rem;resize:vertical;margin-bottom:1rem}.modal-content textarea:focus{outline:none;border-color:var(--primary-color)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-actions .btn-primary,.modal-actions .btn-secondary{padding:.6rem 1.25rem;font-size:.95rem;border-radius:8px;cursor:pointer;transition:all .2s;border:none}.modal-actions .btn-primary{background:var(--primary-color);color:var(--text-primary)}.modal-actions .btn-primary:hover{background:var(--primary-hover)}.modal-actions .btn-secondary{background:var(--secondary-bg);color:var(--text-primary);border:1px solid var(--border-color)}.modal-actions .btn-secondary:hover{background:var(--card-hover)}.archived-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.archived-toggle-btn{width:100%;padding:1rem;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;color:var(--text-primary);transition:all .2s;text-align:left}.archived-toggle-btn:hover{background:var(--card-hover)}.archived-toggle-btn span{display:flex;align-items:center;gap:.5rem}.archived-list{margin-top:1rem;display:flex;flex-direction:column;gap:1.5rem}.archived-group{display:flex;flex-direction:column;gap:.5rem}.archived-group-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.archived-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:8px;gap:1rem;transition:all .2s}.archived-item:hover{background:var(--card-hover);border-color:var(--primary-color)}.archived-item-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.archived-item-name{font-weight:500;color:var(--text-primary)}.archived-item-reason{font-size:.875rem;color:var(--text-secondary);font-style:italic}.archived-item-date{font-size:.75rem;color:var(--text-tertiary)}.btn-restore{padding:.5rem 1rem;background:var(--primary-color);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;white-space:nowrap;transition:all .2s}.btn-restore:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.habit-analytics{padding:20px;max-width:1200px;margin:0 auto}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.analytics-header h2{margin:0;font-size:24px;color:var(--text)}.view-mode-toggle{display:flex;gap:8px;background:var(--surface);border-radius:8px;padding:4px}.view-mode-toggle button{padding:8px 16px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text);transition:all .2s}.view-mode-toggle button:hover{background:var(--hover)}.view-mode-toggle button.active{background:var(--primary);color:#fff}.heatmap-view{background:var(--surface);border-radius:12px;padding:24px}.heatmap-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.heatmap-header h3{margin:0;font-size:18px;color:var(--text)}.heatmap-legend{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.legend-squares{display:flex;gap:3px}.legend-square{width:12px;height:12px;border-radius:2px;border:1px solid var(--border)}.heatmap-container{display:flex;gap:12px;width:100%}.heatmap-day-labels{display:flex;flex-direction:column;justify-content:space-around;flex-shrink:0;width:40px}.heatmap-day-label{font-size:10px;color:var(--text-secondary);display:flex;align-items:center;line-height:1}.heatmap-grid{display:flex;gap:2px;flex-grow:1;justify-content:flex-start}.heatmap-week{display:flex;flex-direction:column;gap:2px}.heatmap-day{width:12px;height:12px;border-radius:2px;cursor:pointer;position:relative;flex-shrink:0}.heatmap-day:hover:not(.empty){opacity:.8}.heatmap-day.empty{opacity:0;cursor:default}.heatmap-day.today{border:2px solid var(--primary);box-shadow:0 0 0 1px var(--primary)}.intensity-0{background-color:#1f1f2e}.intensity-1{background-color:#9be9a8}.intensity-2{background-color:#40c463}.intensity-3{background-color:#30a14e}.intensity-4{background-color:#216e39}.calendar-view{background:var(--surface);border-radius:12px;padding:24px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-header h3{margin:0;font-size:20px;color:var(--text);flex-grow:1;text-align:center}.calendar-header .nav-btn{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;width:40px;height:40px;cursor:pointer;font-size:18px;color:var(--text);transition:all .2s;display:flex;align-items:center;justify-content:center}.calendar-header .nav-btn:hover{background:var(--hover);border-color:var(--primary)}.today-btn{display:block;margin:0 auto 16px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.today-btn:hover{opacity:.9;transform:translateY(-1px)}.calendar-grid{margin-bottom:20px}.calendar-day-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.calendar-day-label{text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);padding:8px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day{aspect-ratio:1;border-radius:8px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:all .2s;border:2px solid transparent;min-height:60px}.calendar-day:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary)}.calendar-day.other-month{opacity:.3}.calendar-day.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.calendar-day-number{font-size:14px;font-weight:600;color:var(--text)}.calendar-day-stats{font-size:11px;color:var(--text-secondary);text-align:center;font-weight:500}.calendar-legend{display:flex;align-items:center;gap:16px;padding-top:20px;border-top:1px solid var(--border);font-size:13px;color:var(--text-secondary)}.legend-items{display:flex;gap:12px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px}.legend-item span{font-size:12px}@media(max-width:768px){.habit-analytics{padding:12px}.analytics-header{flex-direction:column;gap:16px;align-items:flex-start}.heatmap-container{overflow-x:auto}.heatmap-day-labels{width:30px}.heatmap-day-label{font-size:9px}.calendar-day{min-height:50px;padding:6px}.calendar-day-number{font-size:12px}.calendar-day-stats{font-size:10px}}.modal-overlay{position:fixed;inset:0;background:#0009;z-index:1000}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);z-index:1001;width:90%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--jc-border-default)}.modal-header h2{margin:0;font-size:var(--jc-font-size-lg);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-primary)}.modal-close-btn{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);font-size:1.2rem;color:var(--jc-text-secondary);cursor:pointer;padding:.25rem .5rem;line-height:1;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{color:var(--jc-text-primary);border-color:var(--jc-border-hover)}.modal-close-btn:active{background:var(--jc-bg-hover)}.modal-body{padding:1.5rem}.modal-description{color:var(--jc-text-secondary);font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);margin-bottom:1.5rem;line-height:1.5}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:400;font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-primary);margin-bottom:.5rem}.form-group input{width:100%}.message{padding:.75rem 1rem;margin-bottom:1rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing)}.message.success{background:var(--jc-accent-success-muted);color:var(--jc-accent-success);border:1px solid var(--jc-accent-success)}.message.error{background:var(--jc-accent-danger-muted);color:var(--jc-accent-danger);border:1px solid var(--jc-accent-danger)}.submit-btn,.secondary-btn{width:100%}.secondary-btn{margin-top:.75rem}.success-state{text-align:center;padding:1.25rem 0}.success-icon{width:64px;height:64px;background:var(--jc-accent-success);color:var(--jc-bg-panel);border:1px solid var(--jc-accent-success);display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 1.25rem}.success-state h3{margin:0 0 1rem;font-size:var(--jc-font-size-lg);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-primary)}.success-state p{color:var(--jc-text-secondary);font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);line-height:1.6;margin-bottom:.75rem}.success-state strong{color:var(--jc-text-primary);font-weight:400}.help-text{font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);margin-top:1rem}@media(max-width:640px){.modal-container{width:95%;max-width:none}.modal-header h2{font-size:var(--jc-font-size-base)}.modal-body{padding:1.25rem}}.confirm-modal{max-width:480px}.confirm-message{color:var(--jc-text-primary);font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);line-height:1.6;margin:0 0 1.5rem;white-space:pre-line}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-cancel-btn,.confirm-ok-btn{min-width:100px}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1.5rem}.loading-message{font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);text-align:center}.ai-suggestion-card{background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);padding:1.25rem;margin-bottom:1rem}.ai-suggestion-card:hover{border-color:var(--jc-border-hover)}.ai-suggestion-card.editing{border-color:var(--jc-accent-lavender)}.ai-suggestion-card.added{opacity:.7;border-color:var(--jc-accent-success)}.suggestion-content{margin-bottom:1rem}.suggestion-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.suggestion-name{font-size:var(--jc-font-size-base);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-primary);margin:0;flex:1}.suggestion-name-input{width:100%;margin-bottom:1rem}.suggestion-category{display:inline-flex;align-items:center;justify-content:center;background:var(--jc-accent-lavender);color:var(--jc-bg-dark)}.suggestion-schedule{display:flex;align-items:center;gap:.5rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);margin-bottom:.75rem}.schedule-icon{font-size:1rem}.suggestion-reasoning{display:flex;gap:.5rem;background:var(--jc-bg-dark);padding:.75rem;border:1px solid var(--jc-border-subtle);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);line-height:1.5}.reasoning-icon{font-size:1rem;flex-shrink:0}.suggestion-reasoning p{margin:0}.suggestion-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.schedule-type-selector{display:flex;gap:.5rem;margin-bottom:.5rem}.schedule-type-selector .jc-btn{flex:1}.schedule-type-selector .jc-btn.active{background:var(--jc-bg-dark);color:var(--jc-text-primary);border-color:var(--jc-border-hover)}.days-selector .jc-btn{flex:1;min-width:45px;padding:.75rem .25rem}.days-selector .jc-btn.selected{background:var(--jc-bg-dark);color:var(--jc-text-primary);border-color:var(--jc-border-hover)}.suggestion-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-save,.btn-add-suggestion{color:var(--jc-accent-success);border-color:var(--jc-accent-success)}.btn-save:hover,.btn-add-suggestion:hover{background:var(--jc-bg-hover)}.btn-save:active,.btn-add-suggestion:active{background:var(--jc-bg-dark)}.added-indicator{display:flex;align-items:center;gap:.5rem;color:var(--jc-accent-success);font-weight:400;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing)}.checkmark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--jc-accent-success);color:var(--jc-bg-panel);font-size:.8rem}@media(max-width:480px){.ai-suggestion-card{padding:1rem}.suggestion-header{flex-direction:column;align-items:flex-start}.suggestion-actions{flex-direction:column}.btn-edit,.btn-cancel,.btn-save,.btn-add-suggestion{width:100%}.schedule-type-selector{flex-direction:column}.day-btn{min-width:40px}}.goal-breakdown-view{display:flex;flex-direction:column;padding:1.5rem}.goal-input-section,.goal-results-section{max-width:800px;margin:0 auto;width:100%}.goal-header,.results-header{margin-bottom:1.5rem}.goal-header h2,.results-title h2{font-size:var(--jc-font-size-lg);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-primary);margin:0}.goal-description{background:var(--jc-bg-dark);border-left:2px solid var(--jc-accent-lavender);padding:1rem;margin-bottom:2rem}.goal-description p{margin:0;color:var(--jc-text-secondary);font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);line-height:1.6}.goal-form{display:flex;flex-direction:column;gap:1.5rem}.goal-input-group{display:flex;flex-direction:column;gap:.5rem}.goal-input-group label{font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-primary)}.goal-textarea{width:100%;resize:vertical;min-height:120px}.submit-goal-btn:disabled{opacity:.5;cursor:not-allowed}.goal-examples{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--jc-border-default)}.goal-examples h4{font-size:var(--jc-font-size-xs);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-secondary);margin:0 0 1rem}.goal-examples ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.goal-examples li{padding:.75rem 1rem;background:var(--jc-bg-panel);border:1px solid var(--jc-border-default);color:var(--jc-text-secondary);font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);cursor:pointer}.goal-examples li:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.goal-examples li:active{background:var(--jc-bg-hover)}.results-title{display:flex;flex-direction:column;gap:.75rem}.suggested-category{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.category-label{font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);font-weight:400}.category-name{display:inline-flex;align-items:center;justify-content:center;background:var(--jc-accent-lavender);color:var(--jc-bg-dark);padding:.375rem 1rem}.results-actions{margin:1.5rem 0;display:flex;justify-content:flex-end}.add-all-btn{color:var(--jc-accent-success);border-color:var(--jc-accent-success)}.add-all-btn:hover{background:var(--jc-bg-hover)}.add-all-btn:active{background:var(--jc-bg-dark)}.all-added-message{padding:.75rem 1.5rem;background:var(--jc-accent-success-muted);color:var(--jc-accent-success);border:1px solid var(--jc-accent-success);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;text-align:center}.habits-list{display:flex;flex-direction:column;gap:1rem}.error-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--jc-accent-danger-muted);border:1px solid var(--jc-accent-danger);color:var(--jc-accent-danger);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing)}.error-dismiss{margin-left:auto;background:none;border:none;color:var(--jc-accent-danger);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;opacity:.7}.error-dismiss:hover{opacity:1}@media(max-width:768px){.goal-breakdown-view{padding:1rem}.goal-header h2,.results-title h2{font-size:var(--jc-font-size-base)}.results-actions{justify-content:stretch}.add-all-btn{width:100%}}@media(max-width:480px){.goal-breakdown-view{padding:.75rem}.goal-header h2,.results-title h2{font-size:var(--jc-font-size-base)}.goal-textarea{min-height:100px}}.settings-header .header-actions{display:flex;align-items:center;gap:.5rem}.settings-back-btn{background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);width:var(--jc-touch-target);height:var(--jc-touch-target);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.settings-back-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.settings-back-btn:active{background:var(--jc-bg-hover)}@media(min-width:768px){.settings-back-btn{width:2rem;height:2rem}}.ai-shortcuts{display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--jc-border-default)}.ai-shortcut-btn{flex:1;padding:.75rem 1rem;background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;cursor:pointer}.ai-shortcut-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.ai-shortcut-btn:active{background:var(--jc-bg-hover)}.habit-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;color:var(--jc-text-primary)}.form-group input,.form-group select{width:100%}.category-select-wrapper{position:relative}.new-category-input{display:flex;flex-direction:column;gap:.75rem}.new-category-actions{display:flex;gap:.5rem}.btn-create-category,.btn-cancel-category{flex:1;padding:.75rem 1rem;font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;cursor:pointer;border:1px solid var(--jc-border-default)}.btn-create-category{background:var(--jc-bg-panel);color:var(--jc-accent-success);border-color:var(--jc-accent-success)}.btn-create-category:hover:not(:disabled){background:var(--jc-bg-hover)}.btn-create-category:active:not(:disabled){background:var(--jc-bg-dark)}.btn-create-category:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-category{background:var(--jc-bg-panel);color:var(--jc-text-secondary)}.btn-cancel-category:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.btn-cancel-category:active{background:var(--jc-bg-hover)}.schedule-type-selector{display:flex;gap:.5rem;margin-bottom:.75rem}.schedule-type-btn{flex:1;padding:.75rem;border:1px solid var(--jc-border-default);background:var(--jc-bg-panel);color:var(--jc-text-secondary);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;cursor:pointer}.schedule-type-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.schedule-type-btn.active{background:var(--jc-bg-dark);color:var(--jc-text-primary);border-color:var(--jc-border-hover)}.days-selector{display:flex;gap:.5rem;flex-wrap:wrap}.day-btn{flex:1;padding:1rem;border:1px solid var(--jc-border-default);background:var(--jc-bg-panel);color:var(--jc-text-secondary);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);font-weight:400;cursor:pointer}.day-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.day-btn.selected{background:var(--jc-bg-dark);color:var(--jc-text-primary);border-color:var(--jc-border-hover)}.submit-habit-btn{padding:1rem 1.5rem;background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);font-size:var(--jc-font-size-base);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;cursor:pointer;margin-top:1rem}.submit-habit-btn:hover:not(:disabled){border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.submit-habit-btn:active:not(:disabled){background:var(--jc-bg-hover)}.submit-habit-btn:disabled{opacity:.5;cursor:not-allowed}.suggestions-container{max-width:800px;margin:0 auto}.suggestions-intro{font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);margin-bottom:1.5rem;line-height:1.6}.suggestions-list{display:flex;flex-direction:column;gap:1rem}.error-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem}.error-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--jc-accent-danger-muted);border:1px solid var(--jc-accent-danger);color:var(--jc-accent-danger);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);width:100%;max-width:600px}.error-icon{font-size:1.25rem;flex-shrink:0}.retry-btn{padding:.75rem 1.5rem;background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;cursor:pointer}.retry-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.retry-btn:active{background:var(--jc-bg-hover)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2rem;text-align:center}.empty-icon{font-size:4rem}.empty-state p{font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);color:var(--jc-text-secondary);max-width:400px}.manual-btn{padding:.75rem 1.5rem;background:var(--jc-bg-panel);color:var(--jc-text-secondary);border:1px solid var(--jc-border-default);font-size:var(--jc-font-size-sm);font-family:var(--jc-font-mono);letter-spacing:var(--jc-letter-spacing);font-weight:400;cursor:pointer}.manual-btn:hover{border-color:var(--jc-border-hover);color:var(--jc-text-primary)}.manual-btn:active{background:var(--jc-bg-hover)}@media(max-width:768px){.ai-shortcuts,.schedule-type-selector{flex-direction:column}.day-btn{min-width:50px}}@media(max-width:480px){.day-btn{min-width:45px;font-size:var(--jc-font-size-xs)}}.alert-modal{max-width:420px}.alert-content{text-align:center;padding:1rem 0 1.5rem}.alert-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 1.25rem;font-weight:700}.alert-icon.success{background:var(--jc-accent-success);color:var(--jc-bg-panel);border:1px solid var(--jc-accent-success)}.alert-icon.error{background:var(--jc-accent-danger);color:var(--jc-bg-panel);border:1px solid var(--jc-accent-danger)}.alert-icon.info{background:var(--jc-bg-hover);color:var(--jc-text-primary);border:1px solid var(--jc-border-default)}.alert-message{color:var(--jc-text-primary);font-family:var(--jc-font-mono);font-size:var(--jc-font-size-sm);letter-spacing:var(--jc-letter-spacing);line-height:1.6;margin:0;white-space:pre-line}.alert-btn{width:100%;margin-top:.5rem}
