﻿:root{--g-bg: #f2f2f7;--g-surface: #ffffff;--g-surface-alt: #f9f9fb;--g-band-alt: rgba(0, 0, 0, 0.018);--g-border: rgba(0, 0, 0, 0.06);--g-border-strong: rgba(0, 0, 0, 0.1);--g-text: #1c1c1e;--g-text-secondary: #8e8e93;--g-text-tertiary: #aeaeb2;--g-accent: #4CBFB7;--g-accent-fg: #ffffff;--g-accent-light: rgba(76, 191, 183, 0.1);--g-row-hover: rgba(0, 0, 0, 0.02);--g-label-hover: #f7f7f9;--g-bar-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);--g-bar-glow: none;--g-today-color: #ff3b30;--g-today-glow: 0 0 8px rgba(255, 59, 48, 0.3);--g-header-blur: saturate(180%) blur(20px);--g-header-bg: rgba(255, 255, 255, 0.72);--g-toggle-bg: rgba(0, 0, 0, 0.06);--g-toggle-active: #ffffff;--g-toggle-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);--g-scrollbar-thumb: rgba(0, 0, 0, 0.15);--g-grid-line: rgba(0, 0, 0, 0.04);--g-grid-line-strong: rgba(0, 0, 0, 0.14)}:root[data-theme=dark]{--g-bg: #0c0c0e;--g-surface: #1a1a1c;--g-surface-alt: #101012;--g-band-alt: rgba(255, 255, 255, 0.02);--g-border: rgba(255, 255, 255, 0.06);--g-border-strong: rgba(255, 255, 255, 0.1);--g-text: #f5f5f7;--g-text-secondary: #8e8e93;--g-text-tertiary: #636366;--g-accent: #4CBFB7;--g-accent-fg: #ffffff;--g-accent-light: rgba(76, 191, 183, 0.15);--g-row-hover: rgba(255, 255, 255, 0.03);--g-label-hover: #222224;--g-bar-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);--g-bar-glow: 0 0 12px rgba(var(--bar-rgb), 0.35);--g-today-color: #ff453a;--g-today-glow: 0 0 16px rgba(255, 69, 58, 0.5);--g-header-blur: saturate(180%) blur(20px);--g-header-bg: rgba(12, 12, 14, 0.78);--g-toggle-bg: rgba(255, 255, 255, 0.08);--g-toggle-active: #2c2c2e;--g-toggle-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);--g-scrollbar-thumb: rgba(255, 255, 255, 0.2);--g-grid-line: rgba(255, 255, 255, 0.035);--g-grid-line-strong: rgba(255, 255, 255, 0.1)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}ul,ol{list-style:none}a{color:inherit;text-decoration:none}.devise-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--g-bg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}.devise-form{width:100%;max-width:400px;background:var(--g-surface);border-radius:16px;padding:32px;box-shadow:0 2px 12px rgba(0,0,0,.08)}.devise-header{text-align:center;margin-bottom:24px}.devise-title{font-size:24px;font-weight:700;color:var(--g-text);margin:0 0 6px;letter-spacing:-0.3px}.devise-subtitle{font-size:14px;color:var(--g-text-secondary);margin:0}.devise-flash{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.devise-flash--alert{background:rgba(255,59,48,.1);color:#ff3b30}.devise-flash--notice{background:rgba(52,199,89,.1);color:#34c759}.devise-form-content{display:flex;flex-direction:column;gap:16px}.devise-field{display:flex;flex-direction:column;gap:6px}.devise-label{font-size:12px;font-weight:600;color:var(--g-text-secondary);text-transform:uppercase;letter-spacing:.3px}.devise-input{width:100%;padding:10px 12px;background:var(--g-surface-alt);border:1px solid var(--g-border-strong);border-radius:8px;color:var(--g-text);font-size:14px;transition:border-color .2s ease}.devise-input:focus{outline:none;border-color:var(--g-accent);box-shadow:0 0 0 3px var(--g-accent-light)}.devise-input::placeholder{color:var(--g-text-tertiary)}.devise-input--invalid{border-color:#ff3b30}.devise-field-error{font-size:12px;color:#ff3b30;margin:0}.devise-help-text{font-size:12px;color:var(--g-text-tertiary)}.devise-checkbox-field{display:flex;align-items:center;gap:8px}.devise-checkbox{width:18px;height:18px;accent-color:var(--g-text)}.devise-checkbox-label{font-size:13px;color:var(--g-text-secondary);cursor:pointer}.devise-actions{margin-top:4px}.devise-btn{display:block;width:100%;padding:12px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;text-align:center;transition:opacity .2s ease}.devise-btn--primary{background:var(--g-text);color:var(--g-bg)}.devise-btn--primary:hover{opacity:.85}.devise-links{display:flex;justify-content:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--g-border)}.devise-link{font-size:13px;color:var(--g-accent);transition:opacity .2s ease}.devise-link:hover{opacity:.7}.gantt{--gantt-col-width: 16px;--gantt-row-height: 32px;--gantt-label-width: 240px;--gantt-header-top-height: 24px}.gantt{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:13px;color:var(--g-text);background:var(--g-bg);height:100dvh;display:flex;flex-direction:column;transition:background .4s ease,color .3s ease;-webkit-font-smoothing:antialiased}.gantt__scroll{overflow:auto;flex:1;min-height:0}.gantt__scroll::-webkit-scrollbar{height:6px}.gantt__scroll::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.gantt__scroll::-webkit-scrollbar-thumb{background:var(--g-scrollbar-thumb);border-radius:3px}.gantt__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--g-header-bg);backdrop-filter:var(--g-header-blur);-webkit-backdrop-filter:var(--g-header-blur);border-bottom:1px solid var(--g-border-strong);flex-shrink:0;z-index:20;transition:background .4s ease,border-color .3s ease}.gantt__title{font-size:20px;font-weight:700;margin:0;letter-spacing:-0.3px}.gantt__actions{display:flex;align-items:center;gap:10px}.gantt__theme-toggle{display:flex;background:var(--g-toggle-bg);border-radius:8px;padding:2px;gap:2px;transition:background .3s ease}.gantt__theme-btn{padding:5px 12px;border:none;border-radius:6px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .25s ease;line-height:1}.gantt__theme-btn--active{background:var(--g-toggle-active);color:var(--g-text);box-shadow:var(--g-toggle-shadow)}.gantt__zoom-bar{display:flex;align-items:center;gap:2px;background:var(--g-toggle-bg);border-radius:8px;padding:2px}.gantt__zoom-btn{padding:4px 8px;border:none;border-radius:6px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;line-height:1;white-space:nowrap}.gantt__zoom-btn:hover{color:var(--g-text);background:var(--g-row-hover)}.gantt__zoom-btn--active{background:var(--g-toggle-active);color:var(--g-text);font-weight:600;box-shadow:var(--g-toggle-shadow)}.gantt__today-btn{padding:5px 14px;background:rgba(0,0,0,0);border:1px solid var(--g-border-strong);border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;color:var(--g-today-color);transition:all .2s ease}.gantt__today-btn:hover{background:var(--g-row-hover)}.gantt__toggle-actions{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--g-text-secondary);cursor:pointer;user-select:none;transition:color .2s ease}.gantt__toggle-actions input[type=checkbox]{width:16px;height:16px;accent-color:var(--g-text)}.gantt__toggle-actions:hover{color:var(--g-text)}.gantt__add-btn{display:flex;align-items:center;gap:4px;padding:5px 14px;background:var(--g-text);color:var(--g-bg);border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;transition:opacity .2s ease}.gantt__add-btn:hover{opacity:.85}.gantt__grid{display:grid;position:relative;min-width:max-content}.gantt__header-area{position:sticky;top:0;z-index:10;background:var(--g-surface)}.gantt__header-grid{display:grid;min-width:max-content}.gantt__label{grid-column:1;position:sticky;left:0;z-index:5;background:var(--g-surface);display:flex;align-items:center;padding:0 10px;border-bottom:1px solid var(--g-border);white-space:nowrap;overflow:hidden;box-sizing:border-box;transition:background .4s ease,border-color .3s ease}.gantt__label--header-top{font-weight:700;font-size:11px;color:var(--g-text-secondary);background:var(--g-surface);z-index:8;border-bottom:none}.gantt__label--header{font-weight:600;font-size:10px;color:var(--g-text-tertiary);text-transform:uppercase;letter-spacing:.8px;background:var(--g-surface-alt);z-index:7;border-bottom:1px solid var(--g-border-strong)}.gantt__label--goal{font-weight:600;font-size:12px;letter-spacing:-0.1px;align-items:center;cursor:pointer}.gantt__label--goal:hover{background:var(--g-label-hover)}.gantt__label--state{padding-left:28px;color:var(--g-text);font-size:11px;align-items:center;cursor:pointer}.gantt__label--state:hover{background:var(--g-label-hover)}.gantt__label--child-state{padding-left:44px;font-size:10px;color:var(--g-text-secondary)}.gantt__label-text{overflow:hidden;text-overflow:ellipsis}.gantt__label-info{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;flex:1}.gantt__label-dates{font-size:10px;color:var(--g-text-tertiary);display:flex;align-items:center;gap:0}.gantt__label-dates-separator{margin:0 2px}.gantt__color-dot{width:8px;height:8px;border-radius:3px;flex-shrink:0;margin-right:6px}.gantt__status-icon{width:5px;height:5px;border-radius:50%;margin-right:6px;flex-shrink:0;background:var(--g-text-tertiary);opacity:.5}.gantt__status-icon--in_progress{background:var(--g-accent);opacity:1;box-shadow:0 0 6px rgba(76,191,183,.4)}.gantt__status-icon--achieved{background:#34c759;opacity:1}.gantt__collapse-btn{margin-left:auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);color:var(--g-text-tertiary);cursor:pointer;border-radius:4px;padding:0;flex-shrink:0;transition:color .2s ease,background .2s ease,transform .2s ease}.gantt__collapse-btn:hover{color:var(--g-text-secondary);background:var(--g-toggle-bg)}.gantt__collapse-btn svg{transition:transform .2s ease}.gantt__collapse-btn--collapsed svg{transform:rotate(-90deg)}.gantt__label--add-state{padding-left:28px}.gantt__add-state-btn{display:flex;align-items:center;gap:4px;border:none;background:rgba(0,0,0,0);color:var(--g-text-tertiary);font-size:11px;font-weight:500;cursor:pointer;padding:2px 4px;border-radius:4px;transition:color .2s ease,background .2s ease}.gantt__add-state-btn:hover{color:var(--g-text-secondary);background:var(--g-row-hover)}.gantt__add-state-form{display:flex;align-items:center;width:100%}.gantt__inline-input--add{max-width:180px;font-size:12px;padding:2px 4px}.gantt__gridlines{pointer-events:none;z-index:1;background-image:repeating-linear-gradient(to right, var(--g-grid-line) 0, var(--g-grid-line) 1px, transparent 1px, transparent var(--gantt-col-width)),repeating-linear-gradient(to bottom, var(--g-border) 0, var(--g-border) 1px, transparent 1px, transparent var(--gantt-row-height))}.gantt__goal-band{pointer-events:none;z-index:0;background:var(--g-band-alt)}.gantt__marker{display:flex;align-items:flex-end;padding:0 8px 7px;font-size:10px;font-weight:600;letter-spacing:.02em;color:var(--g-text-tertiary);background:var(--g-surface-alt);border-bottom:1px solid var(--g-border-strong);border-right:1px solid color-mix(in srgb, var(--g-border) 60%, transparent);white-space:nowrap;overflow:hidden;box-sizing:border-box;transition:background .4s ease,color .3s ease}.gantt__marker--year{font-size:13px;font-weight:700;color:var(--g-text);letter-spacing:.05em;padding:0 12px;align-items:center;justify-content:flex-start;background:var(--g-surface);border-bottom:none;border-right:2px solid var(--g-border-strong);overflow:visible;contain:none}:root[data-theme=dark] .gantt__marker--year{border-right-color:var(--g-border)}.gantt__marker--day{padding:0 2px 7px;font-size:9px;font-weight:500;justify-content:center;border-right-color:rgba(0,0,0,0)}.gantt__marker--week{font-size:10px}.gantt__marker--month{font-size:11px;color:var(--g-text-secondary);overflow:visible;contain:none}.gantt__marker--quarter{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--g-text-secondary);overflow:visible;contain:none}.gantt__date-point{pointer-events:none;z-index:6;position:relative}.gantt__date-point::after{content:"";position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:var(--point-color);box-shadow:0 0 0 2px var(--g-surface-alt)}.gantt__marker-label{position:sticky;left:calc(var(--gantt-label-width) + 12px)}.gantt__year-separator{pointer-events:none;z-index:2;border-left:1.5px solid var(--g-border-strong);opacity:.4}.gantt[data-marker-level=day] .gantt__marker--week,.gantt[data-marker-level=day] .gantt__marker--month,.gantt[data-marker-level=day] .gantt__marker--quarter{display:none}.gantt[data-marker-level=week] .gantt__marker--day,.gantt[data-marker-level=week] .gantt__marker--month,.gantt[data-marker-level=week] .gantt__marker--quarter{display:none}.gantt[data-marker-level=month] .gantt__marker--day,.gantt[data-marker-level=month] .gantt__marker--week,.gantt[data-marker-level=month] .gantt__marker--quarter{display:none}.gantt[data-marker-level=quarter] .gantt__marker--day,.gantt[data-marker-level=quarter] .gantt__marker--week,.gantt[data-marker-level=quarter] .gantt__marker--month{display:none}.gantt__marker--day[style],.gantt__marker--week[style]{contain:layout style}.gantt__bar{pointer-events:none;transition:opacity .3s ease,box-shadow .3s ease,transform .15s ease}.gantt__bar--state{pointer-events:auto;cursor:grab;align-self:center;height:14px;border-radius:4px;background:color-mix(in srgb, var(--bar-color) 30%, transparent);border:1px solid color-mix(in srgb, var(--bar-color) 18%, transparent);box-shadow:0 1px 2px color-mix(in srgb, var(--bar-color) 10%, transparent)}:root[data-theme=dark] .gantt__bar--state{background:color-mix(in srgb, var(--bar-color) 25%, transparent);border-color:color-mix(in srgb, var(--bar-color) 30%, transparent);box-shadow:0 1px 6px color-mix(in srgb, var(--bar-color) 15%, transparent)}.gantt__bar--in_progress{background:color-mix(in srgb, var(--bar-color) 50%, transparent);border-color:color-mix(in srgb, var(--bar-color) 35%, transparent);box-shadow:0 1px 4px color-mix(in srgb, var(--bar-color) 18%, transparent),0 0 10px color-mix(in srgb, var(--bar-color) 10%, transparent)}:root[data-theme=dark] .gantt__bar--in_progress{background:color-mix(in srgb, var(--bar-color) 40%, transparent);border-color:color-mix(in srgb, var(--bar-color) 45%, transparent);box-shadow:0 2px 8px color-mix(in srgb, var(--bar-color) 25%, transparent),0 0 16px color-mix(in srgb, var(--bar-color) 15%, transparent)}.gantt__bar--dragging{opacity:.8;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:6;cursor:grabbing}.gantt__bar--achieved{background:color-mix(in srgb, var(--bar-color) 18%, transparent);border-color:color-mix(in srgb, var(--bar-color) 12%, transparent);box-shadow:none}:root[data-theme=dark] .gantt__bar--achieved{background:color-mix(in srgb, var(--bar-color) 15%, transparent);border-color:color-mix(in srgb, var(--bar-color) 18%, transparent)}.gantt__goal-timeline{z-index:2;cursor:crosshair;background:color-mix(in srgb, var(--bar-color) 4%, transparent);transition:background .15s ease}.gantt__goal-timeline:hover{background:color-mix(in srgb, var(--bar-color) 10%, transparent)}:root[data-theme=dark] .gantt__goal-timeline{background:color-mix(in srgb, var(--bar-color) 5%, transparent)}:root[data-theme=dark] .gantt__goal-timeline:hover{background:color-mix(in srgb, var(--bar-color) 12%, transparent)}.gantt__event-marker{z-index:3;justify-self:center;align-self:center;width:12px;height:12px;background:var(--bar-color);transform:rotate(45deg);border-radius:2px;cursor:pointer;pointer-events:auto;position:relative;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 1px 3px rgba(0,0,0,.15)}.gantt__event-marker:hover{transform:rotate(45deg) scale(1.5);box-shadow:0 0 0 3px color-mix(in srgb, var(--bar-color) 20%, transparent),0 2px 8px color-mix(in srgb, var(--bar-color) 40%, transparent)}.gantt__event-marker::after{content:attr(data-event-label);position:absolute;bottom:calc(100% + 8px);left:50%;transform:rotate(-45deg) translateX(-50%);transform-origin:bottom left;background:var(--g-text);color:var(--g-bg);font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10}.gantt__event-marker:hover::after{opacity:1}.gantt__event-marker--dragging{opacity:.8;z-index:6;cursor:grabbing}:root[data-theme=dark] .gantt__event-marker{background:var(--bar-color);box-shadow:0 0 6px color-mix(in srgb, var(--bar-color) 30%, transparent),0 1px 3px rgba(0,0,0,.3)}:root[data-theme=dark] .gantt__event-marker:hover{box-shadow:0 0 0 3px color-mix(in srgb, var(--bar-color) 25%, transparent),0 0 12px color-mix(in srgb, var(--bar-color) 50%, transparent)}.gantt__action-marker{z-index:3;justify-self:center;align-self:end;width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:7px solid var(--bar-color);opacity:.6;pointer-events:auto;cursor:default;position:relative;transition:opacity .2s ease;display:none;margin-bottom:4px}.gantt__action-marker:hover{opacity:1}.gantt__action-marker::after{content:attr(data-action-label);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--g-text);color:var(--g-bg);font-size:10px;font-weight:500;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:10}.gantt__action-marker:hover::after{opacity:1}.gantt--show-actions .gantt__action-marker{display:block}.gantt__today{width:2px;background:linear-gradient(to bottom, var(--g-today-color) 0%, var(--g-today-color) 15%, color-mix(in srgb, var(--g-today-color) 50%, transparent) 60%, color-mix(in srgb, var(--g-today-color) 20%, transparent) 100%);box-shadow:var(--g-today-glow);z-index:4;pointer-events:none;justify-self:center;border-radius:1px}.gantt__today::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:var(--g-today-color);box-shadow:var(--g-today-glow)}.gantt__editable{cursor:pointer;border-radius:3px;padding:1px 3px;margin:-1px -3px;transition:background .15s ease}.gantt__editable:hover{background:var(--g-row-hover)}.gantt__inline-input{background:rgba(0,0,0,0);border:none;border-bottom:1px solid var(--g-text-secondary);color:inherit;font:inherit;font-size:inherit;font-weight:inherit;padding:1px 0;margin:0;outline:none;width:100%;max-width:160px;box-sizing:border-box}.gantt__inline-input--date{max-width:130px;font-size:10px;color:var(--g-text-tertiary)}.gantt__color-edit{position:relative;flex-shrink:0;display:flex;align-items:center;margin-right:10px}.gantt__color-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.gantt__modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.gantt__modal-overlay--open{display:flex}.gantt__modal{background:var(--g-surface);border-radius:16px;width:100%;max-width:480px;box-shadow:0 8px 32px rgba(0,0,0,.2);transition:background .3s ease;overflow:hidden}.gantt__modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g-border)}.gantt__modal-title{font-size:17px;font-weight:600;margin:0}.gantt__modal-close{width:32px;height:32px;border:none;background:var(--g-toggle-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--g-text-secondary);transition:background .2s ease,color .2s ease;padding:0}.gantt__modal-close:hover{background:var(--g-border-strong);color:var(--g-text)}.gantt__modal-body{padding:0}.gantt__modal-field{padding:12px 20px}.gantt__modal-label{display:block;font-size:12px;font-weight:600;color:var(--g-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.gantt__modal-input,.gantt__modal-textarea{width:100%;padding:10px 12px;background:var(--g-surface-alt);border:1px solid var(--g-border-strong);border-radius:8px;color:var(--g-text);font-size:14px;transition:border-color .2s ease}.gantt__modal-input:focus,.gantt__modal-textarea:focus{outline:none;border-color:var(--g-accent);box-shadow:0 0 0 3px var(--g-accent-light)}.gantt__modal-input::placeholder,.gantt__modal-textarea::placeholder{color:var(--g-text-tertiary)}.gantt__modal-textarea{resize:vertical;min-height:60px}.gantt__modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--g-border)}.gantt__modal-btn{padding:8px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.gantt__modal-btn--cancel{background:var(--g-toggle-bg);color:var(--g-text-secondary)}.gantt__modal-btn--cancel:hover{background:var(--g-border-strong);color:var(--g-text)}.gantt__modal-btn--submit{background:var(--g-text);color:var(--g-bg)}.gantt__modal-btn--submit:hover{opacity:.85}.gantt__modal-btn--danger{background:rgba(0,0,0,0);color:#ff3b30}.gantt__modal-btn--danger:hover{background:rgba(255,59,48,.1)}.gantt__color-picker{display:flex;gap:8px;flex-wrap:wrap}.gantt__color-option{cursor:pointer}.gantt__color-radio{display:none}.gantt__color-radio:checked+.gantt__color-swatch{box-shadow:0 0 0 2px var(--g-surface),0 0 0 4px currentColor}.gantt__color-swatch{display:block;width:28px;height:28px;border-radius:50%;transition:box-shadow .15s ease}.gantt__color-swatch:hover{opacity:.8}.gantt__tag-input-wrap{display:flex;flex-direction:column;gap:6px}.gantt__tag-chips{display:flex;flex-wrap:wrap;gap:6px}.gantt__tag-chips:empty{display:none}.gantt__tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--g-toggle-bg);border-radius:12px;font-size:13px;color:var(--g-text);line-height:1}.gantt__tag-chip-remove{border:none;background:none;cursor:pointer;padding:0 0 0 2px;font-size:15px;line-height:1;color:var(--g-text-secondary)}.gantt__tag-chip-remove:hover{color:#ff3b30}.gantt__tag-input-container{position:relative}.gantt__tag-text-input{width:100%}.gantt__tag-suggestions{position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--g-surface);border:1px solid var(--g-border-strong);border-radius:8px;margin-top:4px;max-height:160px;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,.1)}.gantt__tag-suggestion{padding:8px 12px;font-size:13px;cursor:pointer;color:var(--g-text)}.gantt__tag-suggestion:hover,.gantt__tag-suggestion--active{background:var(--g-row-hover)}.gantt__status-picker{display:flex;gap:8px}.gantt__status-option{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 12px;border-radius:8px;border:1px solid var(--g-border-strong);background:var(--g-surface-alt);transition:all .15s ease}.gantt__status-option:hover{background:var(--g-row-hover)}.gantt__status-radio{display:none}.gantt__status-radio:checked+.gantt__status-swatch{box-shadow:0 0 6px currentColor;transform:scale(1.2)}.gantt__status-radio:checked~.gantt__status-label{font-weight:600;color:var(--g-text)}.gantt__status-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:all .15s ease}.gantt__status-swatch--not_started{background:var(--g-text-tertiary)}.gantt__status-swatch--in_progress{background:var(--g-accent);box-shadow:0 0 4px rgba(76,191,183,.3)}.gantt__status-swatch--achieved{background:#34c759}.gantt__status-label{font-size:13px;color:var(--g-text-secondary);transition:all .15s ease}@media(max-width: 640px){.gantt{--gantt-label-width: 120px;--gantt-row-height: 28px}.gantt__header{flex-wrap:wrap;gap:8px;padding:10px 12px}.gantt__title{font-size:17px;width:100%}.gantt__actions{width:100%;gap:6px;flex-wrap:wrap}.gantt__zoom-bar{overflow-x:auto;-webkit-overflow-scrolling:touch;flex:1;min-width:0;scrollbar-width:none}.gantt__zoom-bar::-webkit-scrollbar{display:none}.gantt__zoom-btn{font-size:10px;padding:4px 6px}.gantt__theme-toggle{order:-1}.gantt__theme-btn{font-size:11px;padding:4px 10px}.gantt__today-btn{font-size:11px;padding:4px 10px}.gantt__add-btn{font-size:11px;padding:4px 10px}.gantt__add-btn svg{width:12px;height:12px}.gantt__label{padding:0 6px;font-size:11px}.gantt__label--header{font-size:9px}.gantt__label--goal{font-size:11px}.gantt__label--state{padding-left:18px;font-size:10px}.gantt__label--add-state{padding-left:18px}.gantt__label-text{max-width:calc(var(--gantt-label-width) - 50px)}.gantt__color-dot{width:6px;height:6px;margin-right:4px}.gantt__status-icon{width:4px;height:4px;margin-right:4px}.gantt__collapse-btn{width:18px;height:18px}.gantt__collapse-btn svg{width:10px;height:10px}.gantt__add-state-btn{font-size:10px}.gantt__add-state-btn svg{width:8px;height:8px}.gantt__bar--goal{height:14px}.gantt__bar--state{height:10px}.gantt__marker{font-size:9px;padding:0 4px 4px}.gantt__marker--day{font-size:8px;padding:0 1px 4px}.gantt__date-point::after{width:5px;height:5px;bottom:4px}}@media(max-width: 374px){.gantt{--gantt-label-width: 100px}.gantt__label--state{padding-left:14px}.gantt__zoom-bar{display:none}}.daily{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:14px;color:var(--g-text);background:var(--g-bg);min-height:100vh;display:flex;flex-direction:column;transition:background .4s ease,color .3s ease;-webkit-font-smoothing:antialiased;position:relative;max-width:640px;margin:0 auto}.daily__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--g-header-bg);backdrop-filter:var(--g-header-blur);-webkit-backdrop-filter:var(--g-header-blur);border-bottom:1px solid var(--g-border-strong);flex-shrink:0;z-index:20;position:sticky;top:0;transition:background .4s ease,border-color .3s ease}.daily__title{font-size:20px;font-weight:700;margin:0;letter-spacing:-0.3px}.daily__actions{display:flex;align-items:center;gap:10px}.daily__routines-link{font-size:12px;font-weight:500;color:var(--g-text-secondary);text-decoration:none;padding:5px 10px;border-radius:6px;transition:color .2s ease,background .2s ease}.daily__routines-link:hover{color:var(--g-text);background:var(--g-row-hover)}.daily__theme-toggle{display:flex;background:var(--g-toggle-bg);border-radius:8px;padding:2px;gap:2px;transition:background .3s ease}.daily__theme-btn{padding:5px 12px;border:none;border-radius:6px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .25s ease;line-height:1}.daily__theme-btn--active{background:var(--g-toggle-active);color:var(--g-text);box-shadow:var(--g-toggle-shadow)}.daily__date-label{padding:10px 20px 2px;font-size:13px;font-weight:500;color:var(--g-text-secondary);display:flex;align-items:center;gap:8px}.daily__date-today{font-size:11px;font-weight:600;color:var(--g-today-color);background:rgba(255,59,48,.1);padding:1px 8px;border-radius:8px}.daily__list{flex:1;padding:8px 16px 100px;display:flex;flex-direction:column;gap:8px}.daily__task-group{display:flex;flex-direction:column;gap:8px}.daily__section-label{font-size:12px;font-weight:600;color:var(--g-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:12px 0 4px}.daily__time-marker{display:flex;align-items:center;gap:8px;padding:10px 4px;color:var(--g-text-tertiary);font-size:13px}.daily__time-marker-icon{font-size:16px;line-height:1}.daily__time-marker-text{font-weight:500}.daily__chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.daily__empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;gap:4px}.daily__empty-text{font-size:15px;color:var(--g-text-secondary);font-weight:500}.daily__empty-hint{font-size:13px;color:var(--g-text-tertiary)}.global-nav{display:flex;align-items:center;gap:16px;padding:8px 20px;background:var(--g-surface);border-bottom:1px solid var(--g-border);font-size:13px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;transition:background .4s ease,border-color .3s ease}.global-nav__link{color:var(--g-text-secondary);padding:4px 8px;border-radius:6px;transition:color .2s ease,background .2s ease}.global-nav__link:hover{color:var(--g-text);background:var(--g-row-hover)}.global-nav__link--active{color:var(--g-accent);font-weight:600}.global-nav__spacer{flex:1}.daily__calendar{display:flex;align-items:center;gap:0;padding:12px 8px;background:var(--g-surface);border-bottom:1px solid var(--g-border);transition:background .4s ease,border-color .3s ease}.daily__calendar-nav{width:32px;height:32px;border:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--g-text-tertiary);flex-shrink:0;padding:0;transition:color .2s ease,background .2s ease}.daily__calendar-nav:hover{color:var(--g-text);background:var(--g-row-hover)}.daily__calendar-days{display:flex;justify-content:center;gap:4px;flex:1}.daily__calendar-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;height:56px;border:none;border-radius:12px;background:rgba(0,0,0,0);cursor:pointer;gap:4px;transition:all .2s ease}.daily__calendar-cell:hover{background:var(--g-row-hover)}.daily__calendar-cell--selected{background:var(--g-accent);color:var(--g-accent-fg)}.daily__calendar-cell--selected:hover{background:var(--g-accent)}.daily__calendar-cell--selected .daily__calendar-dow,.daily__calendar-cell--selected .daily__calendar-day{color:inherit}.daily__calendar-cell--today .daily__calendar-day{color:var(--g-today-color);font-weight:700}.daily__calendar-dow{font-size:10px;font-weight:500;color:var(--g-text-secondary);line-height:1}.daily__calendar-day{font-size:16px;font-weight:600;color:var(--g-text);line-height:1}.daily__calendar-jump{position:relative;flex-shrink:0;margin-left:4px}.daily__calendar-date-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.daily__card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--g-surface);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:background .3s ease,box-shadow .3s ease,opacity .3s ease}.daily__card:hover{box-shadow:0 2px 6px rgba(0,0,0,.1)}.daily__card:hover .daily__card-delete{opacity:1}.daily__card--completed{opacity:.5}.daily__card--completed .daily__card-title{text-decoration:line-through;color:var(--g-text-tertiary)}.daily__card-checkbox{width:24px;height:24px;border-radius:50%;border:2px solid var(--g-text-tertiary);background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease-in-out;color:rgba(0,0,0,0);padding:0}.daily__card-checkbox:hover{border-color:var(--g-text-secondary)}.daily__card-checkbox--checked{background:var(--g-accent);border-color:var(--g-accent);color:var(--g-accent-fg)}.daily__card-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;cursor:pointer;border-radius:6px;padding:2px 4px;margin:-2px -4px;transition:background .15s ease}.daily__card-body:hover{background:var(--g-row-hover)}.daily__card-title{font-size:14px;font-weight:500;color:var(--g-text);transition:color .2s ease,text-decoration .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily__card-time{font-size:12px;color:var(--g-text-secondary);font-weight:400}.daily__card-deadline{font-size:11px;color:#ff9500;font-weight:500}.daily__card-goal{font-size:11px;font-weight:500;padding:3px 10px;border-radius:8px;white-space:nowrap;flex-shrink:0;color:var(--goal-color);background:color-mix(in srgb, var(--goal-color) 10%, transparent)}.daily__card-location{font-size:11px;font-weight:500;padding:3px 10px;border-radius:8px;white-space:nowrap;flex-shrink:0;color:var(--g-text-secondary);background:var(--g-toggle-bg)}.daily__card-delete{width:28px;height:28px;border:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--g-text-tertiary);opacity:0;transition:opacity .2s ease,color .2s ease,background .2s ease;flex-shrink:0;padding:0}.daily__card-delete:hover{color:#ff3b30;background:rgba(255,59,48,.1)}.daily__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--g-surface);border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:background .3s ease,opacity .3s ease}.daily__chip:hover{box-shadow:0 1px 4px rgba(0,0,0,.08)}.daily__chip:hover .daily__chip-delete{opacity:1}.daily__chip--completed{opacity:.5}.daily__chip--completed .daily__chip-title{text-decoration:line-through;color:var(--g-text-tertiary)}.daily__chip-checkbox{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--g-text-tertiary);background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease-in-out;color:rgba(0,0,0,0);padding:0}.daily__chip-checkbox--checked{background:var(--g-accent);border-color:var(--g-accent);color:var(--g-accent-fg)}.daily__chip-title{font-size:13px;font-weight:500;color:var(--g-text);transition:color .2s ease,text-decoration .2s ease}.daily__chip-delete{width:20px;height:20px;border:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--g-text-tertiary);opacity:0;transition:opacity .2s ease,color .2s ease;flex-shrink:0;padding:0}.daily__chip-delete:hover{color:#ff3b30}.daily__do-later{margin-top:8px}.daily__do-later-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 4px;border:none;background:rgba(0,0,0,0);cursor:pointer;font-size:14px;font-weight:600;color:var(--g-text-secondary);transition:color .2s ease;text-align:left}.daily__do-later-toggle:hover{color:var(--g-text)}.daily__do-later-arrow{transition:transform .2s ease;transform:rotate(-90deg);flex-shrink:0}.daily__do-later-count{font-size:12px;font-weight:500;color:var(--g-text-tertiary);background:var(--g-toggle-bg);padding:1px 8px;border-radius:10px;min-width:22px;text-align:center}.daily__do-later-list{display:flex;flex-direction:column;gap:8px;padding:4px 0}.daily__fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;border:none;background:var(--g-text);color:var(--g-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease;z-index:30}.daily__fab:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.25)}.daily__fab:active{transform:scale(0.95)}.daily__modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.daily__modal-overlay--open{display:flex}.daily__modal{background:var(--g-surface);border-radius:16px;width:100%;max-width:480px;box-shadow:0 8px 32px rgba(0,0,0,.2);transition:background .3s ease;overflow:hidden}.daily__modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g-border)}.daily__modal-title{font-size:17px;font-weight:600;margin:0}.daily__modal-close{width:32px;height:32px;border:none;background:var(--g-toggle-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--g-text-secondary);transition:background .2s ease,color .2s ease;padding:0}.daily__modal-close:hover{background:var(--g-border-strong);color:var(--g-text)}.daily__modal-field{padding:12px 20px}.daily__modal-field--half{flex:1}.daily__modal-field--toggle{display:flex;align-items:center;gap:8px;flex-direction:row}.daily__modal-row{display:flex;gap:0}.daily__modal-label{display:block;font-size:12px;font-weight:600;color:var(--g-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.daily__modal-field--toggle .daily__modal-label{margin-bottom:0;text-transform:none;font-size:14px;font-weight:500;color:var(--g-text)}.daily__modal-input,.daily__modal-textarea,.daily__modal-select{width:100%;padding:10px 12px;background:var(--g-surface-alt);border:1px solid var(--g-border-strong);border-radius:8px;color:var(--g-text);font-size:14px;transition:border-color .2s ease,background .2s ease}.daily__modal-input:focus,.daily__modal-textarea:focus,.daily__modal-select:focus{outline:none;border-color:var(--g-accent);box-shadow:0 0 0 3px var(--g-accent-light)}.daily__modal-input::placeholder,.daily__modal-textarea::placeholder,.daily__modal-select::placeholder{color:var(--g-text-tertiary)}.daily__modal-textarea{resize:vertical;min-height:60px}.daily__modal-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238e8e93' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.daily__modal-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.daily__modal-preset{padding:6px 12px;border:1px solid var(--g-border-strong);border-radius:8px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.daily__modal-preset:hover{border-color:var(--g-text);color:var(--g-text)}.daily__modal-preset--active{background:var(--g-text);color:var(--g-bg);border-color:var(--g-text)}.daily__modal-date-input{margin-top:4px}.daily__modal-time-row{margin-top:0}.daily__modal-checkbox{width:20px;height:20px;accent-color:var(--g-text)}.daily__modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--g-border)}.daily__modal-btn{padding:8px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.daily__modal-btn--cancel{background:var(--g-toggle-bg);color:var(--g-text-secondary)}.daily__modal-btn--cancel:hover{background:var(--g-border-strong);color:var(--g-text)}.daily__modal-btn--submit{background:var(--g-text);color:var(--g-bg)}.daily__modal-btn--submit:hover{opacity:.85}.daily__modal-errors{padding:8px 20px;color:#ff3b30;font-size:13px}.daily__modal-errors p{margin:2px 0}.focus{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:14px;color:var(--g-text);background:var(--g-bg);min-height:100vh;display:flex;flex-direction:column;transition:background .4s ease,color .3s ease;-webkit-font-smoothing:antialiased;max-width:640px;margin:0 auto}.focus__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--g-header-bg);backdrop-filter:var(--g-header-blur);-webkit-backdrop-filter:var(--g-header-blur);border-bottom:1px solid var(--g-border-strong);position:sticky;top:0;z-index:20;transition:background .4s ease,border-color .3s ease}.focus__title{font-size:20px;font-weight:700;margin:0;letter-spacing:-0.3px}.focus__actions{display:flex;align-items:center;gap:10px}.focus__theme-toggle{display:flex;background:var(--g-toggle-bg);border-radius:8px;padding:2px;gap:2px;transition:background .3s ease}.focus__theme-btn{padding:5px 12px;border:none;border-radius:6px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .25s ease;line-height:1}.focus__theme-btn--active{background:var(--g-toggle-active);color:var(--g-text);box-shadow:var(--g-toggle-shadow)}.focus__fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;border:none;background:var(--g-text);color:var(--g-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease;z-index:30}.focus__fab:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.25)}.focus__fab:active{transform:scale(0.95)}.focus__body{flex:1;padding:12px 16px 100px;display:flex;flex-direction:column;gap:16px}.focus__section{background:var(--g-surface);border-radius:12px;padding:16px;border:1px solid var(--g-border);transition:background .3s ease,border-color .3s ease}.focus__section-title{font-size:13px;font-weight:600;color:var(--g-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.focus__empty-hint{font-size:13px;color:var(--g-text-tertiary);margin:0 0 12px}.focus__alerts{display:flex;flex-direction:column;gap:8px}.focus__alert{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--g-surface-alt);transition:background .2s ease}.focus__alert--urgent{background:rgba(255,149,0,.08)}.focus__alert--overdue{background:rgba(255,59,48,.08)}.focus__alert-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.focus__alert-title{flex:1;font-size:14px;font-weight:500;color:var(--g-text)}.focus__alert-days{font-size:12px;font-weight:600;color:var(--g-text-secondary);white-space:nowrap}.focus__alert--urgent .focus__alert-days{color:#ff9500}.focus__alert--overdue .focus__alert-days{color:var(--g-today-color)}.focus__cta-btn{display:block;width:100%;text-align:center;padding:10px;border-radius:8px;background:var(--g-text);color:var(--g-bg);font-size:14px;font-weight:600;text-decoration:none;transition:opacity .2s ease;margin-top:12px}.focus__cta-btn:hover{opacity:.85}.focus__next-actions-sub{margin-top:12px;padding-top:12px;border-top:1px solid var(--g-border)}.focus__sub-title{font-size:12px;font-weight:600;color:var(--g-text-tertiary);text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px}.focus__next-actions{display:flex;flex-direction:column;gap:8px}.focus__action-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:var(--g-surface-alt);transition:background .2s ease}.focus__action-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.focus__action-goal{font-size:12px;font-weight:600;color:var(--g-text-secondary);white-space:nowrap;min-width:80px}.focus__action-task{flex:1;font-size:14px;color:var(--g-text);font-weight:500}.focus__rituals{display:flex;flex-direction:column;gap:6px}.focus__ritual-item{display:flex;align-items:center;gap:10px;padding:8px 0;transition:opacity .3s ease}.focus__ritual-item--completed{opacity:.5}.focus__ritual-checkbox{width:22px;height:22px;border-radius:50%;border:2px solid var(--g-text-tertiary);background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;color:var(--g-surface);transition:all .2s ease}.focus__ritual-checkbox--checked{background:var(--g-today-color);border-color:var(--g-today-color);color:#fff}.focus__ritual-checkbox:hover{border-color:var(--g-text-secondary)}.focus__ritual-title{flex:1;font-size:14px;font-weight:500;color:var(--g-text)}.focus__ritual-item--completed .focus__ritual-title{text-decoration:line-through;color:var(--g-text-tertiary)}.focus__ritual-time{font-size:12px;color:var(--g-text-tertiary);white-space:nowrap}.focus__streak-section{text-align:center;background:rgba(0,0,0,0);border:none;padding:8px 0}.focus__streak{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:20px;background:var(--g-surface);border:1px solid var(--g-border)}.focus__streak-fire{font-size:18px;line-height:1}.focus__streak-count{font-size:15px;font-weight:700;color:var(--g-text);letter-spacing:-0.3px}.focus__triage-hint{font-size:13px;color:var(--g-text-tertiary);margin:0 0 12px}.focus__triage-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.focus__triage-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:var(--g-surface-alt);transition:opacity .3s ease,transform .3s ease}.focus__triage-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.focus__triage-title{font-size:14px;font-weight:500;color:var(--g-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus__triage-meta{display:flex;align-items:center;gap:8px}.focus__triage-goal{font-size:11px;font-weight:500;padding:1px 8px;border-radius:6px;white-space:nowrap;color:var(--goal-color);background:color-mix(in srgb, var(--goal-color) 10%, transparent)}.focus__triage-time{font-size:12px;color:var(--g-text-secondary)}.focus__triage-skip{padding:5px 14px;border:1px solid var(--g-border-strong);border-radius:8px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.focus__triage-skip:hover{background:var(--g-toggle-bg);color:var(--g-text)}.focus__triage-footer{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--g-text-secondary);font-weight:500}.focus__triage-count{font-weight:700;color:var(--g-text)}.progress-view{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:14px;color:var(--g-text);background:var(--g-bg);min-height:100vh;display:flex;flex-direction:column;transition:background .4s ease,color .3s ease;-webkit-font-smoothing:antialiased;max-width:640px;margin:0 auto}.progress-view__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--g-header-bg);backdrop-filter:var(--g-header-blur);-webkit-backdrop-filter:var(--g-header-blur);border-bottom:1px solid var(--g-border-strong);position:sticky;top:0;z-index:20;transition:background .4s ease,border-color .3s ease}.progress-view__title{font-size:20px;font-weight:700;margin:0;letter-spacing:-0.3px}.progress-view__actions{display:flex;align-items:center;gap:10px}.progress-view__theme-toggle{display:flex;background:var(--g-toggle-bg);border-radius:8px;padding:2px;gap:2px}.progress-view__theme-btn{padding:5px 12px;border:none;border-radius:6px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .25s ease;line-height:1}.progress-view__theme-btn--active{background:var(--g-toggle-active);color:var(--g-text);box-shadow:var(--g-toggle-shadow)}.progress-view__body{flex:1;padding:16px 16px 40px;display:flex;flex-direction:column;gap:12px}.progress-view__goal{background:var(--g-surface);border-radius:14px;padding:14px 16px;transition:background .3s ease}.progress-view__goal-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}.progress-view__ring{flex-shrink:0;width:40px;height:40px}.progress-view__goal-desc{font-size:13px;font-weight:400;color:var(--g-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-view__goal-header-left{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.progress-view__goal-title{font-size:15px;font-weight:600;color:var(--g-text);letter-spacing:-0.2px;line-height:1.3}.progress-view__goal-meta{font-size:12px;font-weight:400;color:var(--g-text-secondary);white-space:nowrap}.progress-view__overdue{color:var(--g-today-color);font-weight:500}.progress-view__goal-fraction{display:flex;align-items:baseline;gap:3px;flex-shrink:0;white-space:nowrap;padding-top:1px}.progress-view__fraction-done{font-size:20px;font-weight:700;color:var(--g-text);line-height:1;letter-spacing:-0.5px}.progress-view__fraction-sep{font-size:13px;font-weight:400;color:var(--g-text-tertiary)}.progress-view__fraction-label{font-size:11px;font-weight:400;color:var(--g-text-tertiary);margin-left:2px}.progress-view__count-check{color:#34c759;font-weight:500;font-size:18px}.progress-view__today-tasks{background:var(--g-bg);border-radius:8px;padding:2px 0;margin-bottom:8px}.progress-view__today-task{display:flex;align-items:baseline;gap:10px;padding:6px 12px}.progress-view__today-task+.progress-view__today-task{border-top:1px solid var(--g-border)}.progress-view__today-time{font-size:12px;font-weight:400;color:var(--g-text-secondary);min-width:36px;flex-shrink:0}.progress-view__today-title{font-size:14px;font-weight:400;color:var(--g-text)}.progress-view__states{display:flex;flex-direction:column}.progress-view__state{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 4px;cursor:pointer;transition:background .15s ease;border-radius:6px}.progress-view__state+.progress-view__state{border-top:1px solid var(--g-border)}.progress-view__state:hover{background:var(--g-row-hover)}.progress-view__state-title{flex:1;font-size:14px;font-weight:400;color:var(--g-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-view__state-title--achieved{color:var(--g-text-tertiary);text-decoration:line-through;text-decoration-thickness:1px}.progress-view__state-title--not_started{color:var(--g-text-secondary)}.progress-view__state--child{padding-left:20px}.progress-view__state--child .progress-view__state-title{font-size:13px}.progress-view__state-count{font-size:12px;font-weight:400;white-space:nowrap;flex-shrink:0;color:var(--g-text-tertiary)}.progress-view__state-count--achieved{color:#34c759}.progress-view__add-milestone-btn{display:block;width:100%;padding:7px 4px;margin-top:2px;border:none;background:none;color:var(--g-text-tertiary);font-size:12px;font-weight:400;text-align:left;cursor:pointer;border-radius:6px;transition:background .15s ease,color .15s ease}.progress-view__add-milestone-btn:hover{background:var(--g-row-hover);color:var(--g-text-secondary)}.state-tasks-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.state-tasks-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.state-tasks-modal__content{position:relative;z-index:1;background:var(--g-surface);border-radius:16px;width:90%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.2);border:1px solid var(--g-border);overflow:hidden}.state-tasks-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g-border)}.state-tasks-modal__header-left{display:flex;align-items:center;gap:10px;min-width:0}.state-tasks-modal__status-pill{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;flex-shrink:0;line-height:1.4;background:var(--g-toggle-bg);color:var(--g-text-tertiary)}.state-tasks-modal__status-pill--in_progress{background:var(--g-accent-light);color:var(--g-accent)}.state-tasks-modal__status-pill--achieved{background:rgba(52,199,89,.12);color:#34c759}.state-tasks-modal__status-pill--not_started{background:var(--g-toggle-bg);color:var(--g-text-tertiary)}.state-tasks-modal__title{font-size:16px;font-weight:600;color:var(--g-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-tasks-modal__close{width:32px;height:32px;border:none;background:var(--g-toggle-bg);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--g-text-secondary);flex-shrink:0;padding:0;transition:background .2s ease,color .2s ease}.state-tasks-modal__close:hover{background:var(--g-border-strong);color:var(--g-text)}.state-tasks-modal__list{flex:1;overflow-y:auto;padding:8px 0;min-height:60px}.state-tasks-modal__empty{padding:24px 20px;text-align:center;color:var(--g-text-tertiary);font-size:13px}.state-tasks-modal__item{display:flex;align-items:center;gap:10px;padding:10px 20px;transition:background .15s ease,opacity .2s ease;cursor:default}.state-tasks-modal__item:hover{background:var(--g-row-hover)}.state-tasks-modal__item--completed{opacity:.5}.state-tasks-modal__item--completed .state-tasks-modal__task-title{text-decoration:line-through;color:var(--g-text-tertiary)}.state-tasks-modal__item--dragging{opacity:.4;background:var(--g-toggle-bg)}.state-tasks-modal__item--drag-over{border-top:2px solid var(--g-accent)}.state-tasks-modal__drag-handle{cursor:grab;color:var(--g-text-tertiary);font-size:16px;line-height:1;user-select:none;flex-shrink:0;width:18px;text-align:center}.state-tasks-modal__drag-handle:active{cursor:grabbing}.state-tasks-modal__checkbox{width:20px;height:20px;border-radius:50%;border:2px solid var(--g-text-tertiary);background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;color:rgba(0,0,0,0);padding:0}.state-tasks-modal__checkbox:hover{border-color:var(--g-text-secondary)}.state-tasks-modal__checkbox--checked{background:var(--g-accent);border-color:var(--g-accent);color:var(--g-accent-fg)}.state-tasks-modal__task-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.state-tasks-modal__task-time{font-size:11px;font-weight:400;color:var(--g-text-secondary)}.state-tasks-modal__task-title{font-size:14px;font-weight:500;color:var(--g-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-tasks-modal__task-badges{display:flex;gap:6px;flex-wrap:wrap}.state-tasks-modal__task-note{font-size:12px;font-weight:400;color:var(--g-text-secondary);margin:0;line-height:1.4;white-space:pre-line}.state-tasks-modal__do-later-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:6px;white-space:nowrap;color:var(--g-text-secondary);background:var(--g-toggle-bg)}.state-tasks-modal__item--do-later{opacity:.6}.state-tasks-modal__location-badge{font-size:10px;font-weight:500;padding:2px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0;color:var(--g-text-secondary);background:var(--g-toggle-bg)}.state-tasks-modal__arrows{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.state-tasks-modal__arrow-btn{width:22px;height:16px;border:none;background:rgba(0,0,0,0);cursor:pointer;font-size:10px;color:var(--g-text-tertiary);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease,color .15s ease}.state-tasks-modal__arrow-btn:hover:not(:disabled){background:var(--g-toggle-bg);color:var(--g-text)}.state-tasks-modal__arrow-btn:disabled{opacity:.3;cursor:default}.state-tasks-modal__footer{padding:12px 20px;border-top:1px solid var(--g-border)}.state-tasks-modal__add-btn{width:100%;padding:10px;border:2px dashed var(--g-border-strong);background:rgba(0,0,0,0);border-radius:10px;color:var(--g-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}.state-tasks-modal__add-btn:hover{border-color:var(--g-accent);color:var(--g-accent);background:var(--g-accent-light)}.state-tasks-modal__add-form{display:flex;gap:8px;align-items:center}.state-tasks-modal__add-input{flex:1;padding:8px 12px;border:1px solid var(--g-border-strong);border-radius:8px;background:var(--g-bg);color:var(--g-text);font-size:13px;outline:none;transition:border-color .2s ease}.state-tasks-modal__add-input:focus{border-color:var(--g-accent)}.state-tasks-modal__add-input::placeholder{color:var(--g-text-tertiary)}.state-tasks-modal__add-submit,.state-tasks-modal__add-cancel{padding:8px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease;white-space:nowrap}.state-tasks-modal__add-submit{background:var(--g-accent);color:var(--g-accent-fg)}.state-tasks-modal__add-submit:hover{opacity:.85}.state-tasks-modal__add-cancel{background:var(--g-toggle-bg);color:var(--g-text-secondary)}.state-tasks-modal__add-cancel:hover{background:var(--g-border-strong)}.daily__modal-location-wrap{display:flex;align-items:center;gap:8px}.daily__modal-location-wrap .daily__modal-select{flex:1}.daily__modal-location-add{padding:6px 12px;border:1px dashed var(--g-border-strong);background:rgba(0,0,0,0);border-radius:8px;color:var(--g-text-secondary);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color .2s ease,color .2s ease}.daily__modal-location-add:hover{border-color:var(--g-accent);color:var(--g-accent)}.daily__modal-location-input-wrap{display:flex;align-items:center;gap:6px;margin-top:6px}.daily__modal-btn--small{padding:5px 10px;font-size:12px}.home-overlay{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:0;transition:opacity .3s ease}.home-overlay--visible{pointer-events:all;opacity:1}.home-splash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000;opacity:0;pointer-events:none;transition:opacity .4s ease}.home-splash--visible{opacity:1;pointer-events:all}.home-splash--fade-out{opacity:0}.home-splash__title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:42px;font-weight:700;color:#fff;letter-spacing:-0.5px;opacity:0;transform:scale(0.8)}.home-splash__title--animate{animation:home-splash-in .3s ease-out forwards}@keyframes home-splash-in{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}.home-onboarding{position:absolute;inset:0;max-width:640px;margin:0 auto;display:flex;flex-direction:column;background:var(--g-bg);opacity:0;pointer-events:none;transition:opacity .4s ease}.home-onboarding--visible{opacity:1;pointer-events:all}.home-onboarding__slides-track{flex:1 1 0%;display:flex;transition:transform .45s cubic-bezier(0.22, 1, 0.36, 1);will-change:transform;overflow:hidden}.home-onboarding__slide{min-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px 0}.home-onboarding__illustration{width:180px;height:180px;display:flex;align-items:center;justify-content:center;background:var(--g-surface);border-radius:50%;box-shadow:0 4px 24px rgba(0,0,0,.06),0 0 0 1px var(--g-border)}:root[data-theme=dark] .home-onboarding__illustration{box-shadow:0 4px 32px rgba(0,0,0,.3),0 0 0 1px var(--g-border)}.home-onboarding__icon{width:100px;height:100px}.home-onboarding__info{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;padding:32px 40px 0;background:var(--g-surface);border-top-left-radius:28px;border-top-right-radius:28px;box-shadow:0 -2px 20px rgba(0,0,0,.04)}:root[data-theme=dark] .home-onboarding__info{box-shadow:0 -2px 24px rgba(0,0,0,.25)}.home-onboarding__title{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:22px;font-weight:700;color:var(--g-text);text-align:center;margin:0 0 8px;letter-spacing:-0.3px}.home-onboarding__desc{font-size:15px;line-height:1.65;color:var(--g-text-secondary);text-align:center;margin:0;max-width:300px}.home-onboarding__dots{display:flex;justify-content:center;gap:10px;padding:24px 0 20px}.home-onboarding__dot{width:8px;height:8px;border-radius:4px;border:none;background:var(--g-text-tertiary);cursor:pointer;padding:0;transition:background .3s ease,width .3s ease,transform .3s ease}.home-onboarding__dot--active{width:24px;background:var(--g-text)}.home-onboarding__btn{width:100%;max-width:320px;margin:0 auto 48px;padding:15px 0;border:none;border-radius:14px;background:var(--g-accent);color:#fff;font-size:17px;font-weight:600;letter-spacing:.2px;cursor:pointer;transition:opacity .2s ease,transform .15s ease}.home-onboarding__btn:hover{opacity:.9}.home-onboarding__btn:active{transform:scale(0.97);opacity:.85}.pub-header{background:linear-gradient(135deg, #0b1f3a, #1e40af);padding:14px 0}.pub-header__container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.pub-header__logo{font-size:1.5rem;font-weight:800;color:#fff;text-decoration:none;letter-spacing:-0.02em}.pub-header__nav{display:flex;align-items:center;gap:8px}.pub-header__locale-link{color:hsla(0,0%,100%,.6);text-decoration:none;font-size:.8rem;font-weight:600;padding:4px 8px;border-radius:4px;transition:color .2s}.pub-header__locale-link:hover{color:#fff}.pub-header__locale-link--active{color:#fff}.pub-header__sep{color:hsla(0,0%,100%,.3);font-size:.8rem}.pub-header__link{color:hsla(0,0%,100%,.9);text-decoration:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;transition:background .2s}.pub-header__link:hover{background:hsla(0,0%,100%,.1)}.pub-header__link--primary{background:#fff;color:#1e40af}.pub-header__link--primary:hover{background:#f0f4ff}@media(max-width: 640px){.pub-header{padding:10px 0}.pub-header__container{padding:0 16px}.pub-header__logo{font-size:1.25rem}.pub-header__link{padding:6px 12px;font-size:.85rem}}.app-footer{background:var(--g-surface);border-top:1px solid var(--g-border);padding:20px 0;margin-top:auto;transition:background .4s ease,border-color .3s ease}.app-footer__container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-footer__logo{font-size:14px;font-weight:700;color:var(--g-text);letter-spacing:-0.02em;flex-shrink:0}.app-footer__links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.app-footer__sep{color:var(--g-text-tertiary);font-size:12px}.app-footer__link{color:var(--g-text-secondary);text-decoration:none;font-size:13px;font-weight:500;transition:color .2s}.app-footer__link:hover{color:var(--g-text)}.app-footer__copyright{font-size:12px;color:var(--g-text-tertiary);flex-shrink:0}@media(max-width: 640px){.app-footer{padding:16px 0}.app-footer__container{flex-direction:column;gap:12px;text-align:center}.app-footer__links{gap:12px}}.static-page{padding:48px 0 64px;background:#f8fafc}.static-page__container{max-width:800px;margin:0 auto;padding:0 24px}.static-card{background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 16px 32px rgba(15,23,42,.08);padding:40px}@media(max-width: 640px){.static-card{padding:24px;border-radius:12px}}.static-card__title{font-size:2rem;font-weight:800;color:#0b1f3a;margin-bottom:12px}@media(max-width: 640px){.static-card__title{font-size:1.5rem}}.static-card__lead{color:#64748b;line-height:1.8;margin-bottom:20px}.static-policy{display:flex;flex-direction:column;gap:32px;margin-top:24px}.static-policy__section{display:flex;flex-direction:column;gap:12px}.static-policy__heading{font-size:1.15rem;font-weight:700;color:#1e3a8a;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.static-policy__text{color:#374151;line-height:1.8}.static-policy__text a{color:#2563eb;text-decoration:underline}.static-policy__text a:hover{color:#1d4ed8}.static-policy__list{color:#374151;line-height:1.8;padding-left:1.5em;display:flex;flex-direction:column;gap:8px}.static-policy__list li{list-style-type:disc}.static-policy__list--nested{margin-top:8px;padding-left:1.5em}.static-policy__list--nested li{list-style-type:circle}.static-policy__footer{margin-top:16px;padding-top:24px;border-top:1px solid #e2e8f0}.static-policy__dates{display:flex;justify-content:flex-end;gap:16px}.static-policy__date{color:#64748b;font-size:.9rem}.static-tokushoho{margin-top:24px}.static-tokushoho__list{display:flex;flex-direction:column;gap:0}.static-tokushoho__item{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #e2e8f0}@media(max-width: 640px){.static-tokushoho__item{grid-template-columns:1fr;gap:8px}}.static-tokushoho__item:last-child{border-bottom:none}.static-tokushoho__term{font-weight:600;color:#1e3a8a;font-size:.95rem}.static-tokushoho__desc{color:#374151;line-height:1.7}.static-tokushoho__desc a{color:#2563eb;text-decoration:underline}.static-tokushoho__desc a:hover{color:#1d4ed8}.lp-hero{background:linear-gradient(135deg, #0b1f3a 0%, #1e40af 50%, #3b82f6 100%);padding:120px 0 100px;text-align:center;color:#fff}.lp-hero__container{max-width:800px;margin:0 auto;padding:0 24px}.lp-hero__brand{font-size:1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:hsla(0,0%,100%,.7);margin-bottom:16px}.lp-hero__title{font-size:3rem;font-weight:800;line-height:1.35;letter-spacing:-0.02em;margin-bottom:24px}@media(max-width: 640px){.lp-hero__title{font-size:2rem}}.lp-hero__lead{font-size:1.15rem;color:hsla(0,0%,100%,.85);line-height:1.8;margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}@media(max-width: 640px){.lp-hero__lead{font-size:1rem;margin-bottom:32px}}.lp-hero__cta{display:inline-block;background:#fff;color:#1e40af;padding:16px 48px;border-radius:12px;font-weight:700;font-size:1.1rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.lp-hero__cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}@media(max-width: 640px){.lp-hero__cta{padding:14px 36px;font-size:1rem}}.lp-features{padding:80px 0;background:#f8fafc}.lp-features__container{max-width:1000px;margin:0 auto;padding:0 24px}.lp-features__title{text-align:center;font-size:2rem;font-weight:800;color:#0b1f3a;margin-bottom:48px}@media(max-width: 640px){.lp-features__title{font-size:1.5rem;margin-bottom:32px}}.lp-features__grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:24px}@media(max-width: 900px){.lp-features__grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 480px){.lp-features__grid{grid-template-columns:1fr}}.lp-features__card{background:#fff;border-radius:16px;padding:32px 24px;border:1px solid #e2e8f0;text-align:center;transition:transform .2s,box-shadow .2s}.lp-features__card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(15,23,42,.1)}.lp-features__icon{width:56px;height:56px;margin:0 auto 20px}.lp-features__icon svg{width:100%;height:100%}.lp-features__name{font-size:1.1rem;font-weight:700;color:#0b1f3a;margin-bottom:12px}.lp-features__desc{font-size:.9rem;color:#64748b;line-height:1.7}.lp-pricing{padding:80px 0;background:#fff}.lp-pricing__container{max-width:700px;margin:0 auto;padding:0 24px}.lp-pricing__title{text-align:center;font-size:2rem;font-weight:800;color:#0b1f3a;margin-bottom:48px}@media(max-width: 640px){.lp-pricing__title{font-size:1.5rem;margin-bottom:32px}}.lp-pricing__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width: 600px){.lp-pricing__grid{grid-template-columns:1fr}}.lp-pricing__card{position:relative;background:#f8fafc;border-radius:16px;padding:32px 28px;border:2px solid #e2e8f0;display:flex;flex-direction:column;gap:20px}.lp-pricing__card--pro{border-color:#3b82f6;background:linear-gradient(180deg, #eff6ff 0%, #ffffff 100%)}.lp-pricing__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#3b82f6;color:#fff;padding:4px 16px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.lp-pricing__name{font-size:1.3rem;font-weight:700;color:#0b1f3a;text-align:center}.lp-pricing__price{font-size:2.2rem;font-weight:800;color:#0b1f3a;text-align:center;letter-spacing:-0.02em}.lp-pricing__features{display:flex;flex-direction:column;gap:10px;padding:0;list-style:none;flex:1}.lp-pricing__features li{padding-left:24px;position:relative;color:#374151;font-size:.95rem;line-height:1.5}.lp-pricing__features li::before{content:"✓";position:absolute;left:0;color:#22c55e;font-weight:700}.lp-pricing__cta{display:block;text-align:center;padding:12px 24px;border-radius:10px;font-weight:700;font-size:.95rem;text-decoration:none;background:#e2e8f0;color:#334155;transition:background .2s}.lp-pricing__cta:hover{background:#cbd5e1}.lp-pricing__cta--pro{background:#3b82f6;color:#fff}.lp-pricing__cta--pro:hover{background:#2563eb}.lp-cta{padding:80px 0;background:linear-gradient(135deg, #0b1f3a, #1e40af);text-align:center;color:#fff}.lp-cta__container{max-width:600px;margin:0 auto;padding:0 24px}.lp-cta__title{font-size:2rem;font-weight:800;margin-bottom:16px}@media(max-width: 640px){.lp-cta__title{font-size:1.5rem}}.lp-cta__lead{color:hsla(0,0%,100%,.8);font-size:1.1rem;margin-bottom:32px;line-height:1.7}.lp-cta__btn{display:inline-block;background:#fff;color:#1e40af;padding:16px 48px;border-radius:12px;font-weight:700;font-size:1.1rem;text-decoration:none;transition:transform .2s,box-shadow .2s}.lp-cta__btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}.routines{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:14px;color:var(--g-text);background:var(--g-bg);min-height:100vh;display:flex;flex-direction:column;transition:background .4s ease,color .3s ease;-webkit-font-smoothing:antialiased;position:relative;max-width:640px;margin:0 auto}.routines__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--g-header-bg);backdrop-filter:var(--g-header-blur);-webkit-backdrop-filter:var(--g-header-blur);border-bottom:1px solid var(--g-border-strong);flex-shrink:0;z-index:20;position:sticky;top:0;transition:background .4s ease,border-color .3s ease}.routines__title{font-size:20px;font-weight:700;margin:0;letter-spacing:-0.3px}.routines__actions{display:flex;align-items:center;gap:10px}.routines__theme-toggle{display:flex;background:var(--g-toggle-bg);border-radius:8px;padding:2px;gap:2px;transition:background .3s ease}.routines__theme-btn{padding:5px 12px;border:none;border-radius:6px;background:rgba(0,0,0,0);color:var(--g-text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .25s ease;line-height:1}.routines__theme-btn--active{background:var(--g-toggle-active);color:var(--g-text);box-shadow:var(--g-toggle-shadow)}.routines__body{flex:1;padding:12px 16px 100px;display:flex;flex-direction:column;gap:16px}.routines__section{background:var(--g-surface);border-radius:12px;padding:16px;border:1px solid var(--g-border);transition:background .3s ease,border-color .3s ease}.routines__section-title{font-size:13px;font-weight:600;color:var(--g-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.routines__list{display:flex;flex-direction:column;gap:8px}.routines__empty-hint{font-size:13px;color:var(--g-text-tertiary);margin:0}.routines__fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;border:none;background:var(--g-text);color:var(--g-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease;z-index:30}.routines__fab:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.25)}.routines__fab:active{transform:scale(0.95)}.routines__card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--g-surface-alt);border-radius:10px;transition:background .2s ease,opacity .3s ease}.routines__card--inactive{opacity:.5}.routines__card--inactive .routines__card-title{color:var(--g-text-tertiary)}.routines__card:hover .routines__card-delete{opacity:1}.routines__card-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.routines__card-header{display:flex;align-items:center;gap:8px}.routines__card-title{font-size:14px;font-weight:500;color:var(--g-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routines__card-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap;flex-shrink:0}.routines__card-badge--ritual{color:#ff9500;background:rgba(255,149,0,.12)}.routines__card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.routines__card-frequency,.routines__card-days,.routines__card-time{font-size:12px;color:var(--g-text-secondary)}.routines__card-goal{font-size:11px;font-weight:500;padding:2px 8px;border-radius:6px;white-space:nowrap;color:var(--goal-color);background:color-mix(in srgb, var(--goal-color) 10%, transparent);align-self:flex-start}.routines__card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.routines__card-toggle{width:44px;height:26px;padding:0;border:none;background:rgba(0,0,0,0);cursor:pointer}.routines__card-toggle-track{width:44px;height:26px;border-radius:13px;background:var(--g-border-strong);position:relative;transition:background .25s ease}.routines__card-toggle--active .routines__card-toggle-track{background:#34c759}.routines__card-toggle-thumb{width:22px;height:22px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .25s ease;box-shadow:0 1px 3px rgba(0,0,0,.2)}.routines__card-toggle--active .routines__card-toggle-thumb{transform:translateX(18px)}.routines__card-delete{width:28px;height:28px;border:none;background:rgba(0,0,0,0);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;color:var(--g-text-tertiary);opacity:0;transition:opacity .2s ease,color .2s ease,background .2s ease;flex-shrink:0;padding:0}.routines__card-delete:hover{color:#ff3b30;background:rgba(255,59,48,.1)}.routines__modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.routines__modal-overlay--open{display:flex}.routines__modal{background:var(--g-surface);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.2);transition:background .3s ease}.routines__modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--g-border)}.routines__modal-title{font-size:17px;font-weight:600;margin:0}.routines__modal-close{width:32px;height:32px;border:none;background:var(--g-toggle-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--g-text-secondary);transition:background .2s ease,color .2s ease;padding:0}.routines__modal-close:hover{background:var(--g-border-strong);color:var(--g-text)}.routines__modal-field{padding:12px 20px}.routines__modal-field--half{flex:1}.routines__modal-field--toggle{display:flex;align-items:center;gap:8px;flex-direction:row}.routines__modal-row{display:flex;gap:0}.routines__modal-label{display:block;font-size:12px;font-weight:600;color:var(--g-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.routines__modal-field--toggle .routines__modal-label{margin-bottom:0;text-transform:none;font-size:14px;font-weight:500;color:var(--g-text)}.routines__modal-input,.routines__modal-select{width:100%;padding:10px 12px;background:var(--g-surface-alt);border:1px solid var(--g-border-strong);border-radius:8px;color:var(--g-text);font-size:14px;transition:border-color .2s ease,background .2s ease}.routines__modal-input:focus,.routines__modal-select:focus{outline:none;border-color:var(--g-accent);box-shadow:0 0 0 3px var(--g-accent-light)}.routines__modal-input::placeholder,.routines__modal-select::placeholder{color:var(--g-text-tertiary)}.routines__modal-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238e8e93' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.routines__modal-checkbox{width:20px;height:20px;accent-color:var(--g-text)}.routines__modal-days{display:flex;gap:6px;flex-wrap:wrap}.routines__modal-day{display:flex;align-items:center;gap:0;cursor:pointer}.routines__modal-day input[type=checkbox]{display:none}.routines__modal-day input[type=checkbox]:checked+.routines__modal-day-label{background:var(--g-text);color:var(--g-bg);border-color:var(--g-text)}.routines__modal-day-label{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--g-border-strong);font-size:12px;font-weight:500;color:var(--g-text-secondary);transition:all .2s ease;cursor:pointer}.routines__modal-day-label:hover{border-color:var(--g-text)}.routines__modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--g-border)}.routines__modal-btn{padding:8px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.routines__modal-btn--cancel{background:var(--g-toggle-bg);color:var(--g-text-secondary)}.routines__modal-btn--cancel:hover{background:var(--g-border-strong);color:var(--g-text)}.routines__modal-btn--submit{background:var(--g-text);color:var(--g-bg)}.routines__modal-btn--submit:hover{opacity:.85}.routines__modal-errors{padding:8px 20px;color:#ff3b30;font-size:13px}.routines__modal-errors p{margin:2px 0}.settings{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:14px;color:var(--g-text);background:var(--g-bg);min-height:100vh;display:flex;flex-direction:column;transition:background .4s ease,color .3s ease;-webkit-font-smoothing:antialiased;max-width:640px;margin:0 auto}.settings__header{display:flex;align-items:center;padding:14px 20px;background:var(--g-header-bg);backdrop-filter:var(--g-header-blur);-webkit-backdrop-filter:var(--g-header-blur);border-bottom:1px solid var(--g-border-strong);position:sticky;top:0;z-index:20;transition:background .4s ease,border-color .3s ease}.settings__title{font-size:20px;font-weight:700;margin:0;letter-spacing:-0.3px}.settings__body{flex:1;padding:12px 16px 40px;display:flex;flex-direction:column;gap:16px}.settings__form{display:flex;flex-direction:column;gap:16px}.settings__section{background:var(--g-surface);border-radius:12px;padding:16px;border:1px solid var(--g-border);transition:background .3s ease,border-color .3s ease}.settings__section-title{font-size:13px;font-weight:600;color:var(--g-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.settings__rows{display:flex;flex-direction:column;gap:0}.settings__row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--g-border);min-height:40px}.settings__row:last-child{border-bottom:none}.settings__row--link{cursor:pointer}.settings__row--link:hover{background:var(--g-row-hover);margin:0 -16px;padding:10px 16px;border-radius:8px;border-bottom-color:rgba(0,0,0,0)}.settings__label{font-size:14px;font-weight:500;color:var(--g-text);flex-shrink:0}.settings__value{font-size:14px;color:var(--g-text-secondary);text-align:right}.settings__input{flex:1;max-width:200px;text-align:right;padding:6px 10px;background:var(--g-surface-alt);border:1px solid var(--g-border);border-radius:8px;font-size:14px;color:var(--g-text);transition:border-color .2s ease}.settings__input:focus{outline:none;border-color:var(--g-accent)}.settings__input::placeholder{color:var(--g-text-tertiary)}.settings__select{padding:6px 10px;background:var(--g-surface-alt);border:1px solid var(--g-border);border-radius:8px;font-size:14px;color:var(--g-text);cursor:pointer;transition:border-color .2s ease;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238e8e93' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.settings__select:focus{outline:none;border-color:var(--g-accent)}.settings__actions{display:flex;justify-content:flex-end}.settings__save-btn{padding:10px 32px;background:var(--g-text);color:var(--g-bg);border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s ease}.settings__save-btn:hover{opacity:.85}.settings__save-btn:active{transform:scale(0.98)}.settings__plan-badge{font-weight:600;color:var(--g-accent)}.settings__locale-links{display:flex;align-items:center;gap:8px}.settings__locale-current{font-size:14px;font-weight:600;color:var(--g-text)}.settings__locale-link{font-size:14px;color:var(--g-accent);font-weight:500;transition:opacity .2s ease}.settings__locale-link:hover{opacity:.7}.settings__link{font-size:14px;font-weight:500;color:var(--g-accent);display:block;width:100%}.settings__link--danger{color:#ff3b30}.settings__version{font-size:13px;color:var(--g-text-tertiary)}
