:root{--text:#6b6375;--text-h:#08060d;--bg:#f2f0f5;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#2f7dfa;--accent-bg:#2f7dfa1a;--accent-border:#2f7dfa80;--accent-pill-bg:#2f7dfa33;--accent-pill-border:#2f7dfaa6;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--glass-bg:#ffffff80;--glass-bg-strong:#ffffffa6;--glass-border:#ffffffb3;--glass-shadow:0 8px 32px #1f26871f;--glass-blur:blur(24px) saturate(180%);--modal-bg:#fbfbfd;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#0e0f14;--border:#2e303a;--code-bg:#1f2028;--accent:#60a5fa;--accent-bg:#60a5fa26;--accent-border:#60a5fa80;--accent-pill-bg:#60a5fa40;--accent-pill-border:#60a5fab3;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--glass-bg:#1e1e2873;--glass-bg-strong:#1e1e28a6;--glass-border:#ffffff24;--glass-shadow:0 8px 32px #0006;--modal-bg:#1c1d24}#social .button-icon{filter:invert()brightness(2)}body{background:radial-gradient(circle at 15% 20%, #4682ff59, transparent 45%), radial-gradient(circle at 85% 15%, #5ac8ff59, transparent 45%), radial-gradient(circle at 30% 90%, #3c6ef04d, transparent 50%), radial-gradient(circle at 90% 80%, #78beff40, transparent 45%), var(--bg)}}#root{box-sizing:border-box;flex-direction:column;width:640px;max-width:100%;min-height:100svh;margin:0 auto;padding:24px 20px 60px;display:flex}*,:before,:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:radial-gradient(circle at 15% 20%, #78aaff8c, transparent 45%), radial-gradient(circle at 85% 15%, #64d2ff80, transparent 45%), radial-gradient(circle at 30% 90%, #5a8cff73, transparent 50%), radial-gradient(circle at 90% 80%, #96d2ff66, transparent 45%), var(--bg);background-attachment:fixed;min-height:100svh;margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-.5px;margin:0;font-size:28px}@media (width<=1024px){h1{font-size:24px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{flex-direction:column;gap:20px;width:100%;padding-bottom:72px;display:flex}input,textarea{caret-color:var(--accent)}input:focus,textarea:focus,select:focus{outline:none}.tab-bar{background:var(--glass-bg);border:1px solid var(--glass-border);width:min(360px,100% - 40px);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);z-index:20;border-radius:999px;gap:6px;padding:6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.tab-bar button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:10px 0;font-size:15px;transition:background .15s,color .15s}.tab-bar button.active{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-border)}.center-message{text-align:center;max-width:320px;color:var(--text);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);border-radius:22px;margin:40px auto 0;padding:60px 24px}.empty-message{text-align:center;color:var(--text);background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);border-radius:20px;padding:20px 24px}.auth-gate{text-align:center;background:var(--glass-bg);border:1px solid var(--glass-border);max-width:360px;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:26px;flex-direction:column;gap:16px;margin:80px auto 0;padding:32px 28px;display:flex}.auth-gate-logo{letter-spacing:.5px;color:var(--accent);background:var(--accent-bg);border-radius:999px;align-self:center;padding:4px 14px;font-size:15px;font-weight:600}.auth-gate h2{margin:0}.auth-gate form{flex-direction:column;gap:10px;display:flex}.auth-gate input{border:1px solid var(--glass-border);color:var(--text-h);background:#fff6;border-radius:999px;padding:12px 16px;font-size:16px}.auth-gate button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--accent-border);border:none;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:500;transition:transform .15s}.auth-gate button[type=submit]:active{transform:scale(.96)}.auth-gate button[type=submit]:disabled{opacity:.6;cursor:default}.auth-gate .link-btn{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.auth-gate .error{color:#e5484d;font-size:14px}.auth-gate .info{color:var(--accent);font-size:14px}.sync-status{color:var(--text);align-items:center;gap:10px;font-size:14px;display:flex}.sync-status button{border:1px solid var(--glass-border);color:var(--text-h);cursor:pointer;background:#fff6;border-radius:999px;padding:6px 14px;font-size:13px;transition:transform .15s}.sync-status button:active{transform:scale(.94)}.sync-status button:disabled{opacity:.5;cursor:default}.sync-status .last-synced{color:var(--text);opacity:.7}.add-event-form{flex-direction:column;gap:12px;display:flex}.event-type-picker{border:1px solid var(--glass-border);background:#ffffff4d;border-radius:999px;gap:6px;padding:4px;display:flex}.event-type-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:8px 0;font-size:14px;transition:background .15s,color .15s}.event-type-btn.active{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-border)}.form-card{border:1px solid var(--glass-border);background:#ffffff59;border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.form-card-row{border-bottom:1px solid var(--glass-border);color:var(--text-h);justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:15px;display:flex}.form-card-row:last-child{border-bottom:none}.form-card-row-input{padding:10px 16px}.form-card-row-clickable{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;border-radius:0}.form-card-hint{color:var(--text);opacity:.7;justify-content:flex-start;font-size:13px}.form-name-input{width:100%;color:var(--text-h);background:0 0;border:none;padding:4px 0;font-size:19px;font-weight:600}.form-row-label{color:var(--text);flex-shrink:0}.form-row-value{color:var(--text-h);align-items:center;gap:6px;display:flex}.form-row-chevron{width:14px;height:14px;color:var(--text);opacity:.6;flex-shrink:0;transition:transform .2s}.form-row-chevron.expanded{transform:rotate(180deg)}.add-event-submit{background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--accent-border);border:none;border-radius:999px;align-self:flex-start;padding:10px 20px;font-size:15px;transition:transform .15s}.add-event-submit:active{transform:scale(.95)}.tag-picker,.tag-filter-row,.event-card-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag-filter-row{margin:-4px 0 0}.event-card-tags{margin-top:6px}.tag-chip{border:1px solid var(--glass-border);color:var(--text);cursor:pointer;background:#ffffff4d;border-radius:999px;padding:6px 14px;font-size:13px;transition:transform .15s}.tag-chip.small{cursor:default;padding:3px 10px;font-size:12px}.tag-chip.selected{background:var(--accent);color:#fff;border-color:#0000}.tag-chip:active{transform:scale(.94)}.tag-add-inline{align-items:center;gap:4px;display:inline-flex}.tag-add-inline input{border:1px dashed var(--glass-border);width:84px;color:var(--text-h);background:#ffffff40;border-radius:999px;padding:6px 12px;font-size:13px}.tag-add-inline button{border:1px solid var(--glass-border);background:var(--glass-bg-strong);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:50%;font-size:15px;line-height:1}.tag-chip-wrap{display:inline-flex;position:relative}.tag-chip-remove{color:#fff;cursor:pointer;background:#ff3b30;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #00000040}.tag-add-round-btn{border:1px dashed var(--glass-border);width:28px;height:28px;color:var(--accent);cursor:pointer;background:#ffffff40;border-radius:50%;font-size:16px;line-height:1}.all-day-switch{cursor:pointer;background:#78788052;border:none;border-radius:999px;width:44px;height:26px;padding:0;transition:background .15s;position:relative}.all-day-switch.on{background:var(--accent)}.all-day-switch-knob{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0000004d}.all-day-switch.on .all-day-switch-knob{transform:translate(18px)}.time-range-columns{align-items:stretch;padding:6px 16px 14px;display:flex}.time-range-col{font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.time-range-label{color:var(--text);opacity:.75;font-size:12px}.time-range-date{color:var(--text);opacity:.85;min-height:16px;font-size:13px}.time-range-time-input{color:var(--text-h);text-align:center;background:0 0;border:none;width:100%;font-size:24px;font-weight:700}.time-range-divider{background:var(--glass-border);width:1px;margin:4px 0}.repeat-options-panel{border-top:1px solid var(--glass-border);flex-direction:column;gap:10px;padding:4px 16px 14px;display:flex}.repeat-picker{flex-wrap:wrap;gap:8px;display:flex}.custom-repeat-row{color:var(--text-h);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.custom-repeat-input{text-align:center;border:1px solid var(--glass-border);width:56px;min-width:0;color:var(--text-h);-moz-appearance:textfield;background:#fff6;border-radius:999px;flex:0 56px;padding:8px 4px}.custom-repeat-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.custom-repeat-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.picker-option-list{flex-direction:column;max-height:50vh;display:flex;overflow-y:auto}.picker-option-row{border:none;border-bottom:1px solid var(--glass-border);width:100%;font:inherit;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:12px 8px;font-size:15px;display:flex}.picker-option-row:last-child{border-bottom:none}.picker-option-row.selected{color:var(--accent);font-weight:600}.group-picker-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.group-picker-add-row{color:var(--accent)}.group-picker-new-row{align-items:center;gap:8px;padding:8px;display:flex}.group-picker-new-row input{border:1px dashed var(--glass-border);color:var(--text-h);background:#ffffff40;border-radius:999px;flex:1;padding:8px 12px;font-size:14px}.group-picker-new-row button{border:1px solid var(--glass-border);background:var(--glass-bg-strong);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:15px;line-height:1}.custom-repeat-unit-btn{border:1px solid var(--glass-border);color:var(--text-h);cursor:pointer;background:#fff6;border-radius:999px;align-items:center;gap:2px;padding:8px 10px 8px 12px;font-family:inherit;font-size:14px;display:inline-flex}.custom-repeat-unit-btn .form-row-chevron{width:14px;height:14px;color:var(--text);opacity:.6;transform:rotate(90deg)}.event-schedule-meta{color:var(--text);opacity:.75;margin-top:2px;font-size:12px;display:block}.event-section-switch{margin-bottom:4px}.event-section{flex-direction:column;gap:12px;display:flex}.event-section-title{color:var(--text-h);margin:4px 0 0;font-size:18px;font-weight:600}.event-date-group{flex-direction:column;gap:10px;display:flex}.event-date-heading{color:var(--text);opacity:.75;margin:0;padding:0 4px;font-size:14px;font-weight:500}.fab-add-btn{background:var(--accent);width:56px;height:56px;box-shadow:0 6px 18px var(--accent-border);cursor:pointer;z-index:21;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:flex;position:fixed;bottom:88px;right:20px}.fab-add-btn:active{transform:scale(.92)}.fab-plus{width:20px;height:20px;position:relative}.fab-plus:before,.fab-plus:after{content:"";background:#fff;border-radius:2px;position:absolute}.fab-plus:before{width:2px;height:20px;top:0;left:9px}.fab-plus:after{width:20px;height:2px;top:9px;left:0}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:30;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--modal-bg);border:1px solid var(--border);box-sizing:border-box;border-radius:26px 26px 0 0;width:100%;max-width:480px;max-height:85vh;padding:20px;overflow-y:auto;box-shadow:0 -8px 30px #00000040}.modal-backdrop-center{align-items:center}.modal-sheet-dialog{border-radius:26px;max-width:640px;max-height:80vh;box-shadow:0 20px 50px #0000004d}.modal-sheet-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-sheet-header h2{color:var(--text-h);margin:0;font-size:18px}.event-stats-panel{flex-direction:column;gap:10px;padding:4px 0;display:flex}.section-toggle-row{border:none;border-top:1px solid var(--glass-border);width:100%;font:inherit;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:12px 2px;font-size:15px;font-weight:600;display:flex}.event-detail-body{flex-direction:column;gap:12px;display:flex}.event-detail-actions{gap:10px;margin-top:8px;display:flex}.event-detail-archive-btn,.event-detail-delete-btn{cursor:pointer;border-radius:999px;flex:1;padding:12px 0;font-size:15px}.event-detail-archive-btn{border:1px solid var(--glass-border);color:var(--text-h);background:#ffffff4d}.event-detail-delete-btn{color:#fff;background:#ff3b30;border:none;box-shadow:0 4px 14px #ff3b3059}.modal-close-btn{border:1px solid var(--glass-border);width:32px;height:32px;color:var(--text);cursor:pointer;background:#ffffff4d;border-radius:50%;font-size:18px;line-height:1}.confirm-sheet{border-radius:22px;max-width:380px}.confirm-text{color:var(--text-h);margin:0 0 18px;font-size:14px;line-height:1.6}.confirm-actions{gap:10px;display:flex}.confirm-cancel-btn,.confirm-danger-btn{cursor:pointer;border:none;border-radius:999px;flex:1;padding:10px 0;font-size:15px}.confirm-cancel-btn{border:1px solid var(--glass-border);color:var(--text-h);background:#ffffff4d}.confirm-danger-btn{color:#fff;background:#ff3b30;box-shadow:0 4px 14px #ff3b3059}.picker-backdrop{-webkit-backdrop-filter:blur(4px);z-index:50;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.picker-sheet{background:var(--modal-bg);border:1px solid var(--border);border-radius:24px;width:100%;max-width:340px;max-height:92vh;padding:18px 16px 8px;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.picker-sheet-title{text-align:center;color:var(--text-h);margin-bottom:14px;font-size:15px;font-weight:600}.picker-pill-row{justify-content:center;align-items:center;gap:10px;padding:0 4px 14px;display:flex}.picker-pill-label{color:var(--text);flex-shrink:0;font-size:14px}.picker-pill{border:1px solid var(--glass-border);color:var(--text-h);cursor:pointer;background:#ffffff4d;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:14px}.picker-pill.active{background:var(--accent);color:#fff;border-color:#0000;font-weight:600}.picker-sheet-actions{border-top:1px solid var(--glass-border);align-items:stretch;margin-top:10px;display:flex}.picker-btn{color:var(--text);cursor:pointer;background:0 0;border:none;flex:1;padding:13px 0;font-size:16px}.picker-btn.confirm{color:var(--accent);font-weight:600}.picker-btn-divider{background:var(--glass-border);width:1px}.wheel-picker{justify-content:center;align-items:center;gap:4px;display:flex;position:relative}.wheel-highlight{pointer-events:none;background:#ffffff59;border-radius:12px;height:40px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.wheel-col{scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none;width:72px;overflow-y:scroll}.wheel-col::-webkit-scrollbar{display:none}.wheel-spacer{scroll-snap-align:none}.wheel-item{scroll-snap-align:center;color:var(--text);opacity:.35;justify-content:center;align-items:center;font-size:20px;transition:opacity .15s,font-weight .15s;display:flex}.wheel-item.selected{opacity:1;color:var(--text-h);font-weight:700}.wheel-colon{color:var(--text-h);padding-bottom:2px;font-size:20px;font-weight:700}.picker-sheet .month-calendar{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.habit-list{flex-direction:column;gap:14px;display:flex}.home-tab{flex-direction:column;gap:16px;display:flex}.home-date-heading{color:var(--text-h);margin:0;padding:0 4px;font-size:15px;font-weight:500}.home-heading-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.date-switch-row{display:block}.date-strip-wrap{flex:1;min-width:0;position:relative}.date-strip-center-indicator{background:var(--accent-pill-bg);border:1.5px solid var(--accent-pill-border);pointer-events:none;z-index:2;border-radius:16px;width:52px;position:absolute;top:8px;bottom:8px;left:50%;transform:translate(-50%)}.date-strip{z-index:1;scroll-snap-type:x mandatory;cursor:grab;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);scrollbar-width:none;border-radius:20px;gap:8px;padding:8px calc(50% - 22px);display:flex;position:relative;overflow-x:auto}.date-strip:active{cursor:grabbing}.date-strip::-webkit-scrollbar{display:none}.date-cell{scroll-snap-align:center;scroll-snap-stop:always;width:44px;height:52px;color:var(--text-h);cursor:pointer;will-change:opacity, transform;background:0 0;border:none;border-radius:14px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;transition:opacity 80ms linear,transform 80ms linear;display:flex;position:relative}.date-cell-weekday{opacity:.7;font-size:12px}.date-cell-day{font-size:16px;font-weight:500}.date-cell-today-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.view-toggle-btn{border:1px solid var(--glass-border);background:var(--glass-bg);width:44px;height:44px;color:var(--text-h);cursor:pointer;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:16px;flex:none;justify-content:center;align-items:center;transition:transform .15s;display:flex}.view-toggle-btn:active{transform:scale(.94)}.view-toggle-btn.active{background:var(--accent-pill-bg);border-color:var(--accent-pill-border);color:var(--accent)}.view-toggle-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);gap:3px;width:16px;height:16px;display:grid}.view-toggle-grid span{background:currentColor;border-radius:2px}.month-calendar{background:var(--glass-bg);border:1px solid var(--glass-border);min-width:0;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:20px;flex:1;padding:12px}.month-calendar-header{justify-content:center;align-items:center;gap:16px;margin-bottom:8px;display:flex;position:relative}.month-today-btn{border:1px solid var(--glass-border);color:var(--accent);cursor:pointer;background:#ffffff4d;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:50%;right:0;transform:translateY(-50%)}.month-calendar-title{color:var(--text-h);text-align:center;cursor:pointer;background:0 0;border:none;min-width:92px;font-family:inherit;font-size:15px;font-weight:600}.month-nav-btn{width:28px;height:28px;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.month-nav-btn:active{background:var(--glass-bg-strong)}.month-calendar-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.month-calendar-weekdays span{text-align:center;opacity:.6;color:var(--text-h);font-size:12px}.month-calendar-grid{flex-direction:column;gap:2px;display:flex}.month-week{opacity:1;grid-template-columns:repeat(7,1fr);gap:2px;max-height:120px;transition:max-height .28s,opacity .22s;display:grid;overflow:hidden}.month-week.collapsed{opacity:0;pointer-events:none;max-height:0}.month-day{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative}.month-day.outside{opacity:.35}.month-day-num{width:30px;height:30px;color:var(--text-h);border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:flex}.month-day-num.selected{background:var(--accent-pill-bg);border:1.5px solid var(--accent-pill-border);font-weight:600}.month-day-today-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.month-collapse-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:22px;margin-top:2px;display:flex}.month-collapse-arrow{border-right:2px solid var(--text);border-bottom:2px solid var(--text);opacity:.5;width:10px;height:10px;transition:transform .2s;transform:rotate(45deg)}.month-collapse-arrow.up{transform:rotate(-135deg)}.event-list{flex-direction:column;gap:10px;display:flex}.event-row{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:18px;align-items:center;gap:12px;padding:10px 14px;display:flex}.drag-handle{width:44px;height:44px;color:var(--text);opacity:.6;cursor:grab;background:0 0;border:none;border-radius:50%;flex:none;font-size:16px}.event-name{color:var(--text-h);flex:1;font-size:16px}.event-complete-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex:none;padding:8px 18px;font-size:14px;font-weight:500;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #0000002e}.event-complete-btn:active{transform:scale(.94)}.event-complete-btn.done{background:var(--glass-bg-strong);color:var(--text-h);border:1px solid var(--glass-border);box-shadow:none;-webkit-backdrop-filter:blur(10px)}.event-complete-btn:disabled{cursor:default}.event-freq-badge{border:1.5px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:inline-flex}.event-freq-badge.met{color:#34c759;background:#34c7592e;border-color:#34c75966}.event-freq-badge.unmet{color:#ff3b30;background:#ff3b3024;border-color:#ff3b3059}.event-card{border:1px solid var(--glass-border);text-align:left;background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);cursor:pointer;border-left:4px solid;border-radius:22px;padding:16px 18px}.event-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.event-card-title-row{align-items:center;gap:8px;display:flex}.event-card-title-row h3{color:var(--text-h);margin:0;font-size:17px}.event-type-badge{color:var(--accent);background:var(--accent-pill-bg);border:1px solid var(--accent-pill-border);border-radius:999px;padding:2px 10px;font-size:11px}.habit-streak{color:var(--text);opacity:.8;font-size:13px}.habit-actions{align-items:center;gap:8px;display:flex}.checkin-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:500;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #0000002e}.checkin-btn:active{transform:scale(.94)}.checkin-btn.done{background:var(--glass-bg-strong);color:var(--text-h);border:1px solid var(--glass-border);box-shadow:none;-webkit-backdrop-filter:blur(10px)}.archive-btn{border:1px solid var(--glass-border);background:var(--glass-bg-strong);width:44px;height:44px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px);border-radius:50%;font-size:15px;line-height:1;transition:transform .15s}.archive-btn:active{transform:scale(.88)}.heatmap-container{flex-direction:column;gap:10px;display:flex}.heatmap-mode-toggle{border:1px solid var(--glass-border);background:#ffffff4d;border-radius:999px;align-self:flex-start;gap:6px;padding:4px;display:flex}.heatmap-mode-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:13px}.heatmap-mode-btn.active{background:var(--accent);color:#fff}.heatmap-nav{justify-content:center;align-items:center;gap:16px;display:flex;position:relative}.heatmap-nav-btn{width:28px;height:28px;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.heatmap-nav-btn:active{background:var(--glass-bg-strong)}.heatmap-nav-title{min-width:92px;font:inherit;color:var(--text-h);text-align:center;cursor:pointer;background:0 0;border:none;font-size:15px;font-weight:600}.heatmap-today-btn{border:1px solid var(--glass-border);color:var(--accent);cursor:pointer;background:#ffffff4d;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:50%;right:0;transform:translateY(-50%)}.heatmap-weekdays{grid-template-columns:repeat(7,32px);align-self:center;gap:6px;width:fit-content;display:grid}.heatmap-weekdays span{text-align:center;opacity:.6;color:var(--text-h);font-size:11px}.heatmap-year-grid{grid-template-rows:repeat(7,16px);grid-auto-columns:16px;grid-auto-flow:column;gap:3px;padding-bottom:4px;display:grid;overflow-x:auto}.heatmap-month-grid{flex-direction:column;align-self:center;gap:6px;width:fit-content;display:flex}.heatmap-month-week{grid-template-columns:repeat(7,32px);gap:6px;display:grid}.heatmap-cell{cursor:pointer;background:#78788c59;border:1px solid #78788c4d;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:transform .12s;display:flex}.heatmap-year-grid .heatmap-cell{width:16px;height:16px}.heatmap-month-grid .heatmap-cell{border-radius:8px;width:32px;height:32px}.heatmap-cell.blank{cursor:default;background:0 0;border-color:#0000}.heatmap-cell.muted{background:#78788c1a;border-color:#78788c26}.heatmap-cell.green{background:#34c759bf;border-color:#34c759e6}.heatmap-cell.red{background:#ff3b30bf;border-color:#ff3b30e6}.heatmap-cell.today{box-shadow:0 0 0 2px var(--accent) inset}.heatmap-cell-count{color:var(--text-h);font-weight:700;line-height:1}.heatmap-year-grid .heatmap-cell-count{font-size:8px}.heatmap-month-grid .heatmap-cell-count{font-size:13px}.heatmap-cell.green .heatmap-cell-count,.heatmap-cell.red .heatmap-cell-count{color:#fff}.heatmap-cell.selected{z-index:1;position:relative;transform:scale(1.25);box-shadow:0 3px 10px #00000059}.heatmap-legend{flex-wrap:wrap;gap:14px;display:flex}.heatmap-legend-item{color:var(--text);opacity:.8;align-items:center;gap:5px;font-size:12px;display:flex}.heatmap-legend-dot{background:#78788c26;border-radius:3px;width:9px;height:9px}.heatmap-legend-dot.green{background:#34c759bf}.heatmap-legend-dot.red{background:#ff3b30bf}.heatmap-selected-info{color:var(--text-h);opacity:.85;margin:0;font-size:13px}.profile-tab{flex-direction:column;gap:16px;display:flex}.profile-row{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:22px;align-items:center;gap:14px;padding:14px 18px;display:flex}.row-action{border:1px solid var(--glass-border);background:var(--glass-bg-strong);color:var(--text-h);cursor:pointer;border-radius:999px;flex:none;margin-left:auto;padding:8px 16px;font-size:13px;transition:transform .15s}.row-action:active{transform:scale(.94)}.profile-row-full{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);border-radius:22px;padding:6px 18px}.profile-row-full-header{align-items:center;gap:10px;min-height:52px;display:flex}.row-full-title{text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 0;font-size:15px}.add-user-btn{background:var(--accent);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:0 4px 14px var(--accent-border);border:none;border-radius:50%;flex:none;font-size:18px;line-height:1;transition:transform .15s}.add-user-btn:active{transform:scale(.9)}.accordion{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.accordion.open{grid-template-rows:1fr}.accordion-inner{overflow:hidden}.avatar{color:#fff;background:var(--accent);width:52px;height:52px;box-shadow:0 4px 14px var(--accent-border);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.profile-info{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.profile-username{color:var(--text-h);font-size:17px;font-weight:500}.admin-badge{background:var(--accent-bg);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:12px}.profile-section{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:18px;margin-top:10px;padding:16px 18px}.profile-row-full .profile-section:last-child{margin-bottom:12px}.user-list{padding-bottom:12px}.user-list-divider{background:var(--glass-border);height:1px;margin:4px 0 8px}.user-list-row{align-items:center;gap:10px;padding:10px 4px;display:flex}.user-list-row+.user-list-row{border-top:1px solid var(--glass-border)}.user-list-name{color:var(--text-h);flex:1;font-size:14px}.user-delete-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;width:30px;height:30px;font-size:15px;transition:transform .15s,background .15s}.user-delete-btn:active{background:var(--glass-bg-strong);transform:scale(.9)}.user-delete-btn:disabled{opacity:.4;cursor:default}.section-hint{color:var(--text);opacity:.75;margin-bottom:10px;font-size:13px}.profile-section form{flex-wrap:wrap;gap:10px;display:flex}.profile-section input{border:1px solid var(--glass-border);color:var(--text-h);background:#fff6;border-radius:999px;flex:160px;padding:10px 16px;font-size:15px}.profile-section button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500;transition:transform .15s}.profile-section button:active{transform:scale(.95)}.profile-section button:disabled{opacity:.6;cursor:default}.profile-section .error{color:#e5484d;width:100%;margin-top:4px;font-size:13px}.profile-section .info{width:100%;color:var(--accent);margin-top:4px;font-size:13px}.signout-btn{border:1px solid var(--glass-border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;align-self:center;padding:8px 20px;font-size:13px;transition:transform .15s}.signout-btn:active{transform:scale(.95)}
