@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-rose-400:#ff667f;--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-rose-400:lab(64.4125% 63.0291 19.2068)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-full{height:100%}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-black{color:var(--color-black)}.text-rose-400{color:var(--color-rose-400)}.text-white{color:var(--color-white)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root,[data-theme=light]{--font-sans:var(--font-outfit), "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--page-outer-bg:#f4ece3;--background:#faf6f0;--surface:#fff;--surface-subtle:#f4efea;--surface-hover:#eee7df;--border:#ede6dc;--border-subtle:#f5efe8;--border-strong:#d6cbc0;--text-main:#261b14;--text-muted:#7e7064;--text-faint:#afa296;--text-inverse:#fff;--btn-primary-bg:#2d1c13;--btn-primary-text:#fff;--btn-secondary-bg:#f4efea;--btn-secondary-border:#ede6dc;--color-primary:#ff6417;--color-primary-hover:#e5550d;--color-espresso:#2d1c13;--color-banner-bg:#ffeade;--color-banner-border:#fbdbc7;--color-banner-text:#2e1e14;--modal-glass-bg:#fff;--modal-backdrop-bg:#261b1473;--input-bg:#fff;--card-bg:#fff;--chip-bg:#f4efea;--chip-border:#ede6dc;--calendar-selected-bg:#23211f;--calendar-hover-border:#d6cbc0;--today-ring-color:#ff6417;--completed-dot-bg:#ff6417;--missed-dot-border:#afa296;--theme-toggle-bg:#261b140d;--theme-toggle-hover:#261b141a;--theme-toggle-border:#ede6dc}[data-theme=dark]{--font-sans:var(--font-outfit), "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--page-outer-bg:#100d0b;--background:#181412;--surface:#221c18;--surface-subtle:#2c2420;--surface-hover:#352b25;--border:#322822;--border-subtle:#261e1a;--border-strong:#483a32;--text-main:#f7f2ee;--text-muted:#a69b91;--text-faint:#6e6258;--text-inverse:#181412;--btn-primary-bg:#ff6417;--btn-primary-text:#fff;--btn-secondary-bg:#2c2420;--btn-secondary-border:#322822;--color-primary:#ff6417;--color-primary-hover:#ff7b38;--color-espresso:#2d1c13;--color-banner-bg:#301f16;--color-banner-border:#482d1f;--color-banner-text:#ffdfc7;--modal-glass-bg:#221c18;--modal-backdrop-bg:#000000bf;--input-bg:#1c1714;--card-bg:#221c18;--chip-bg:#2c2420;--chip-border:#322822;--calendar-selected-bg:#ff6417;--calendar-hover-border:#483a32;--today-ring-color:#ff6417;--completed-dot-bg:#ff6417;--missed-dot-border:#6e6258;--theme-toggle-bg:#ffffff0f;--theme-toggle-hover:#ffffff1f;--theme-toggle-border:#322822}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%}body{font-family:var(--font-sans);background:var(--background);color:var(--text-main);letter-spacing:-.01em;line-height:1.5;transition:background-color .25s,color .25s;overflow-x:hidden}button,input,textarea,select{font-family:var(--font-sans);letter-spacing:-.01em}.landing-top-bar{z-index:40;justify-content:space-between;align-items:center;padding:20px 28px;display:flex;position:absolute;top:0;left:0;right:0}.landing-top-brand{align-items:center;gap:10px;display:flex}.landing-brand-text{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);letter-spacing:-.01em;font-size:20px;font-weight:500}.landing-top-actions{align-items:center;display:flex}.landing-top-nav{z-index:40;position:absolute;top:20px;right:24px}.theme-toggle-btn{background:var(--theme-toggle-bg);border:1px solid var(--theme-toggle-border);color:var(--text-main);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.theme-toggle-btn:hover{background:var(--theme-toggle-hover);border-color:var(--border-strong);transform:translateY(-1px)}.theme-toggle-btn:active{transform:translateY(0)}.theme-icon-wrapper{justify-content:center;align-items:center;transition:transform .3s;display:flex}.theme-toggle-btn:hover .theme-icon-wrapper{transform:rotate(15deg)}.theme-toggle-icon{color:var(--text-main);transition:color .15s}.theme-toggle-text{color:var(--text-main);font-size:12px;font-weight:500}.landing-page-wrapper{background:var(--background);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;transition:background-color .25s;display:flex;position:relative}.minimal-landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:480px;display:flex}.minimal-landing-content{flex-direction:column;align-items:center;gap:20px;display:flex}.landing-tagline{color:var(--text-muted);max-width:360px;margin:-10px 0 6px;font-size:15px;line-height:1.5}.landing-auth-buttons{flex-direction:column;gap:10px;width:100%;max-width:300px;display:flex}.anthropic-serif-title{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--text-main);margin:0;font-size:clamp(44px,8vw,68px);font-weight:800;line-height:1.05;transition:color .25s}.landing-page-wrapper{flex-direction:column;width:100%;max-width:600px;min-height:100vh;margin:0 auto;display:flex}.github-auth-btn,.google-auth-btn{background:var(--surface);color:var(--text-main);border:1px solid var(--border);font-family:var(--font-sans);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;gap:10px;padding:13px 26px;font-size:14.5px;font-weight:600;transition:border-color .15s,background-color .15s,transform .15s;display:inline-flex;box-shadow:0 2px 8px #2d1e140a}.github-auth-btn:hover,.google-auth-btn:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.github-auth-btn:active,.google-auth-btn:active{background:var(--surface-hover)}.minimal-auth-error{color:#f87171;text-align:left;background:#180808;border:1px solid #4a1515;border-radius:4px;align-items:center;gap:8px;max-width:360px;padding:8px 14px;font-size:13px;display:flex}.dashboard-root{background:var(--page-outer-bg);justify-content:center;min-height:100vh;padding:0;transition:background-color .25s;display:flex}.dashboard-content{background:var(--background);flex-direction:column;width:100%;max-width:600px;min-height:100vh;margin:0 auto;padding:24px 20px 88px;display:flex;position:relative;box-shadow:0 10px 40px -10px #2d1e1414}@media (max-width:600px){.dashboard-content{box-shadow:none;padding:18px 16px 84px}}:root .logo-light,[data-theme=dark] .logo-light{display:none!important}:root .logo-dark,[data-theme=dark] .logo-dark{display:block!important}[data-theme=light] .logo-dark{display:none!important}[data-theme=light] .logo-light{display:block!important}.brand-logo-wrapper{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden}.brand-logo-img{object-fit:contain;width:100%;height:100%}.landing-logo-wrapper{border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 16px;transition:transform .2s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.landing-logo-wrapper:hover{transform:scale(1.05)}.landing-logo-img{object-fit:contain;width:100%;height:100%}.dashboard-navbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:16px 0;transition:border-color .25s;display:flex}.navbar-brand{align-items:center;gap:10px;display:flex}.navbar-brand .brand-name{font-family:var(--font-serif), "Newsreader", Georgia, serif;letter-spacing:-.02em;color:var(--text-main);white-space:nowrap;font-size:24px;font-weight:400;transition:color .25s}.navbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.nav-streak-text-pill{color:var(--text-muted);background:var(--surface-subtle);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.nav-streak-flame{font-size:13px;line-height:1}.nav-streak-num{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:16px;font-weight:500;line-height:1}.nav-streak-lbl{color:var(--text-muted);font-size:12px}.nav-link-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.nav-link-btn:hover{color:var(--text-main);border-color:var(--border-strong);background:var(--surface-subtle)}.nav-btn-icon{font-size:12px;line-height:1}.nav-active-indicator{background:#22c55e;border-radius:50%;width:6px;height:6px;display:inline-block}.nav-action-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid var(--btn-primary-bg);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:5px 14px;font-size:13px;font-weight:500;transition:opacity .15s,transform .1s;display:inline-flex}.nav-plus-icon{font-size:14px;font-weight:600;line-height:1}.nav-action-btn:hover{opacity:.9;transform:translateY(-1px)}.nav-profile-wrapper{align-items:center;margin-left:2px;display:flex;position:relative}.nav-profile-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:border-color .15s,background-color .15s,transform .1s;display:flex;overflow:hidden}.nav-profile-btn:hover,.nav-profile-btn.active{border-color:var(--border-strong);background:var(--surface-hover)}.nav-avatar-img{object-fit:cover;width:100%;height:100%}.nav-avatar-fallback{width:100%;height:100%;color:var(--text-main);background:var(--surface-subtle);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.nav-profile-dropdown{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:6px;flex-direction:column;gap:10px;width:220px;padding:12px;animation:.15s cubic-bezier(.16,1,.3,1) dropdownFadeIn;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px -5px #0003,0 4px 6px -2px #0000000d}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.profile-dropdown-user{align-items:center;gap:10px;padding:2px 4px;display:flex}.profile-dropdown-avatar{border:1px solid var(--border);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;overflow:hidden}.profile-dropdown-info{flex-direction:column;min-width:0;display:flex}.profile-dropdown-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.profile-dropdown-email{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.profile-dropdown-divider{background:var(--border-subtle);height:1px;margin:0 -4px}.profile-dropdown-signout{width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:color .15s,background-color .15s;display:flex}.profile-dropdown-signout:hover{color:#ef4444;background:#ef444414}.navbar-right-desktop{display:flex}.navbar-right-mobile{display:none}.nav-hamburger-btn{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;color:var(--text-main);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s;display:flex}.nav-hamburger-btn:hover,.nav-hamburger-btn.active{background:var(--surface-hover);border-color:var(--border-strong)}.mobile-nav-backdrop{background:var(--modal-backdrop-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;justify-content:flex-end;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.mobile-nav-drawer{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:320px;height:fit-content;max-height:calc(100vh - 32px);padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) slideDownMobile;display:flex;overflow-y:auto;box-shadow:0 20px 25px -5px #0000004d}@keyframes slideDownMobile{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-nav-user-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding-bottom:14px;display:flex}.mobile-nav-avatar{border:1px solid var(--border);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;overflow:hidden}.mobile-nav-user-info{flex-direction:column;flex:1;min-width:0;display:flex}.mobile-nav-user-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.mobile-nav-user-email{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.mobile-nav-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.mobile-nav-close-btn:hover{color:var(--text-main)}.mobile-nav-actions{flex-direction:column;gap:10px;display:flex}.mobile-nav-primary-btn{background:var(--btn-primary-bg);width:100%;color:var(--btn-primary-text);border:1px solid var(--btn-primary-bg);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:13px;font-weight:500;transition:opacity .15s;display:flex}.mobile-nav-primary-btn:hover{opacity:.9}.mobile-nav-link-item{border:1px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:color .15s,border-color .15s,background-color .15s;display:flex}.mobile-nav-link-item:hover{color:var(--text-main);border-color:var(--border-strong);background:var(--surface-subtle)}.mobile-nav-theme-item{justify-content:space-between;align-items:center;padding:4px 2px;display:flex}.mobile-nav-theme-label{color:var(--text-muted);font-size:13px}.mobile-nav-divider{background:var(--border-subtle);height:1px}.mobile-nav-signout-btn{width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:color .15s,background-color .15s;display:flex}.mobile-nav-signout-btn:hover{color:#ef4444;background:#ef444414}@media (max-width:768px){.dashboard-navbar{padding:12px 0}.navbar-right-desktop{display:none}.navbar-right-mobile{align-items:center;gap:8px;display:flex}.fullpage-calendar-topbar{gap:10px;padding:10px 16px}.fullpage-streak-badge,.exit-shortcut{display:none}.fullpage-mode-pill{padding:5px 10px;font-size:12px}.fullpage-calendar-content{padding:14px 16px}}@media (max-width:520px){.dashboard-navbar{padding:10px 0}.navbar-brand .brand-name{font-size:20px}.fullpage-exit-btn .exit-label{display:none}.fullpage-exit-btn{padding:6px 10px}}.view-mode-tabs{border-bottom:1px solid var(--border-subtle);gap:20px;margin-bottom:24px;display:flex}.mode-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 4px 10px;font-size:14px;font-weight:400;transition:color .15s,border-color .15s}.mode-tab-btn:hover{color:var(--text-main)}.mode-tab-btn.active{color:var(--text-main);border-bottom-color:var(--text-main)}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;width:100%;display:grid}@media (max-width:840px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-left-col{flex-direction:column;gap:20px;width:100%;min-width:0;display:flex}.dashboard-right-col{flex-direction:column;gap:14px;width:100%;min-width:0;display:flex}.calendar-glass{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:20px;transition:background-color .25s,border-color .25s}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.calendar-header-left{align-items:baseline;gap:8px;display:flex}.calendar-month{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:22px;font-weight:400}.calendar-year{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-muted);font-size:18px}.calendar-nav{align-items:center;gap:6px;display:flex}.calendar-today-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;margin-right:4px;padding:4px 8px;font-size:12px;transition:color .15s,border-color .15s}.calendar-today-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.calendar-nav-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;transition:color .15s,border-color .15s;display:flex}.calendar-nav-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.calendar-legend{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);gap:16px;margin-bottom:16px;padding-bottom:12px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.completed-dot{background:var(--completed-dot-bg)}.missed-dot{border:1px solid var(--missed-dot-border);background:0 0}.today-dot{background:#3b82f6}.calendar-day-labels{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:8px;display:grid}.calendar-day-label{text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:500}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-cell{aspect-ratio:1;background:var(--surface-subtle);cursor:pointer;color:var(--text-main);border:1px solid #0000;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:2px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.calendar-cell:hover{border-color:var(--calendar-hover-border)}.calendar-cell-muted{opacity:.25}.calendar-cell-today{border-color:var(--today-ring-color)}.calendar-cell-selected{background:var(--calendar-selected-bg);border-color:var(--border-strong)}.calendar-cell-number{font-size:13px;font-weight:400;line-height:1}.cell-dot{border-radius:50%;width:4px;height:4px;margin-top:4px}.dot-completed{background:var(--completed-dot-bg)}.legend-flame-icon{font-size:13px;line-height:1;animation:2s ease-in-out infinite alternate flameGlow;display:inline-block}.cell-completed.cell-has-fire{background:#f9731614;border-color:#f9731673}.cell-completed.cell-has-fire:hover{background:#f973162e;border-color:#f97316;box-shadow:0 0 10px #f9731640}.calendar-cell-indicator-wrap{justify-content:center;align-items:center;min-height:14px;display:flex}.cell-fire-flame{filter:drop-shadow(0 0 3px #f9731680);margin-top:1px;font-size:12px;line-height:1;animation:2s ease-in-out infinite alternate flamePulse;display:inline-block}.cell-num-fire-wrap{align-items:center;gap:4px;display:inline-flex}.cell-header-fire{font-size:12px;line-height:1;animation:2s ease-in-out infinite alternate flamePulse;display:inline-block}@keyframes flamePulse{0%{filter:drop-shadow(0 0 2px #f9731666);transform:scale(1)}to{filter:drop-shadow(0 0 5px #ef4444cc);transform:scale(1.15)}}.year-mini-cell.year-has-fire{background:#f9731633!important;border-color:#f9731680!important}.year-mini-cell.year-has-fire:hover{box-shadow:0 0 8px #f9731666;background:#f9731659!important;border-color:#f97316!important}.year-mini-fire-icon{font-size:9px;line-height:1;display:inline-block}.dot-scheduled{background:var(--text-faint)}.calendar-expand-btn{background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:4px;align-items:center;gap:5px;margin-left:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.calendar-expand-btn:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.expand-icon{opacity:.8;font-size:13px}.fullpage-calendar-overlay{z-index:999;background:var(--background);flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) fullpageFadeIn;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes fullpageFadeIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.fullpage-calendar-topbar{border-bottom:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex}.fullpage-mode-switcher{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;gap:4px;padding:3px;display:inline-flex}.fullpage-mode-pill{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.fullpage-mode-pill:hover{color:var(--text-main)}.fullpage-mode-pill.active{background:var(--surface);color:var(--text-main);border:1px solid var(--border-strong);box-shadow:0 1px 3px #0003}.fullpage-streak-badge{color:var(--text-muted);background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:20px;align-items:center;gap:8px;padding:5px 12px;font-size:13px;display:inline-flex}.fullpage-streak-badge .streak-flame{font-size:14px}.fullpage-streak-badge .streak-divider{color:var(--border-strong)}.fullpage-topbar-actions{align-items:center;gap:10px;display:flex}.fullpage-exit-btn{background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.fullpage-exit-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.exit-icon{opacity:.7;font-size:12px}.exit-shortcut{text-transform:uppercase;background:var(--border);color:var(--text-muted);border-radius:3px;padding:2px 6px;font-family:monospace;font-size:10px}.fullpage-calendar-content{flex:1;padding:24px 28px;overflow-y:auto}.fullpage-month-layout{grid-template-columns:1fr 380px;align-items:start;gap:24px;max-width:1600px;margin:0 auto;display:grid}.fullpage-month-main{width:100%}.calendar-fullpage-glass{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px}.calendar-grid-fullpage{gap:8px}.calendar-cell-fullpage{aspect-ratio:auto;justify-content:flex-start;align-items:stretch;gap:4px;min-height:84px;padding:6px 8px}.calendar-cell-header{justify-content:space-between;align-items:center;width:100%;display:flex}.cell-fullpage-badge{border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.badge-completed{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.badge-missed{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.badge-pending{background:var(--surface-subtle);color:var(--text-muted);border:1px solid var(--border)}.cell-fullpage-dots{flex-direction:column;gap:2px;width:100%;margin-top:4px;display:flex}.task-mini-chip{white-space:nowrap;text-overflow:ellipsis;text-align:left;border-radius:2px;padding:1px 4px;font-size:10px;line-height:1.3;overflow:hidden}.chip-done{color:#22c55e;background:#22c55e1f}.chip-todo{background:var(--surface);color:var(--text-muted);border:1px solid var(--border-subtle)}.year-view-container{flex-direction:column;gap:24px;max-width:1600px;margin:0 auto;display:flex}.year-view-header{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.year-title-nav{align-items:center;gap:12px;display:flex}.year-title-badge{flex-direction:column;display:flex}.year-heading{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:28px;font-weight:400;line-height:1}.year-subtitle{color:var(--text-muted);font-size:12px}.year-stats-strip{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.year-stat-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;flex-direction:column;min-width:110px;padding:6px 16px;display:flex}.year-stat-val{color:var(--text-main);font-size:18px;font-weight:600;line-height:1.2}.year-stat-lbl{color:var(--text-muted);font-size:11px}.year-grid-12{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (max-width:1300px){.year-grid-12{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.year-grid-12{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.year-grid-12{grid-template-columns:1fr}}.year-month-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;padding:14px;transition:all .18s;display:flex}.year-month-card:hover{border-color:var(--border-strong);box-shadow:0 4px 12px #00000026}.year-month-card.selected-month-card{border-color:var(--today-ring-color);background:var(--surface-subtle)}.year-month-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.year-month-title-btn{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:0;display:flex}.year-month-name{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:16px;font-weight:500;transition:color .15s}.year-month-expand-hint{color:var(--text-muted);opacity:0;font-size:11px;transition:opacity .15s}.year-month-title-btn:hover .year-month-name{color:#3b82f6}.year-month-title-btn:hover .year-month-expand-hint{opacity:1}.year-month-rate-badge{border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.rate-high{color:#22c55e;background:#22c55e26}.rate-mid{color:#eab308;background:#eab30826}.rate-low{color:#ef4444;background:#ef444426}.year-month-day-labels{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.year-mini-label{color:var(--text-faint);text-transform:uppercase;font-size:9px;font-weight:600}.year-month-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.year-cell-blank{aspect-ratio:1}.year-mini-cell{aspect-ratio:1;background:var(--surface-subtle);cursor:pointer;color:var(--text-muted);border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:10px;transition:all .12s;display:flex}.year-mini-cell:hover{border-color:var(--calendar-hover-border);z-index:2;transform:scale(1.15)}.year-mini-cell.cell-today{border-color:var(--today-ring-color);color:var(--text-main);font-weight:700}.year-mini-cell.cell-selected{background:var(--calendar-selected-bg);color:var(--text-main);border-color:#3b82f6}.year-mini-cell.year-cell-completed{background:var(--completed-dot-bg);color:var(--text-inverse);font-weight:600}.year-mini-cell.year-cell-missed{border:1px solid var(--missed-dot-border);color:var(--text-muted);background:0 0}.year-mini-cell.year-cell-scheduled{border-color:var(--border-strong);color:var(--text-main)}.year-view-footer{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.year-footer-hint{color:var(--text-muted);font-size:12px}@media (max-width:1024px){.fullpage-month-layout{grid-template-columns:1fr}}.streak-stats-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:16px;padding:20px;transition:background-color .25s,border-color .25s;display:flex}.streak-hero-content{flex-direction:column;gap:4px;display:flex}.streak-count-row{align-items:baseline;gap:8px;display:flex}.streak-number{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:36px;font-weight:400;line-height:1}.streak-label{color:var(--text-muted);font-size:14px}.streak-motivational-text{color:var(--text-muted);font-size:13px}.streak-grid{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);gap:12px;padding-top:14px;display:grid}.streak-metric-box{flex-direction:column;gap:2px;display:flex}.metric-icon-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:11px}.metric-val{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:18px}.metric-unit{color:var(--text-muted);font-size:12px}.date-details-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:16px;padding:20px;transition:background-color .25s,border-color .25s;display:flex}.date-details-header{justify-content:space-between;align-items:flex-start;display:flex}.date-details-date{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:20px;font-weight:400;line-height:1.2}.date-details-subtitle,.status-label{color:var(--text-muted);font-size:12px}.status-label.completed{color:var(--text-main)}.status-label.missed{color:var(--text-muted)}.minimal-progress-bar-bg{background:var(--border-subtle);border-radius:2px;width:100%;height:2px;overflow:hidden}.minimal-progress-bar-fill{background:var(--text-main);height:100%;transition:width .2s}.date-tasks-list{flex-direction:column;gap:8px;display:flex}.empty-tasks-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;display:flex}.empty-title{color:var(--text-muted);font-size:14px}.text-action-btn{color:var(--text-main);cursor:pointer;text-underline-offset:4px;background:0 0;border:none;padding:4px 0;font-size:13px;text-decoration:underline}.text-action-btn:hover{opacity:.8}.task-row-card{background:var(--surface-subtle);border:1px solid var(--border-subtle);border-radius:4px;justify-content:space-between;align-items:center;padding:12px 14px;transition:border-color .15s,background-color .25s;display:flex}.task-row-card:hover{border-color:var(--border)}.task-row-card.task-completed{opacity:.55}.task-row-left{align-items:flex-start;gap:12px;width:100%;display:flex}.minimal-checkbox{border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;transition:all .15s;display:flex}.minimal-checkbox:hover{border-color:var(--text-muted)}.minimal-checkbox.checked{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.task-info{flex-direction:column;gap:2px;width:100%;display:flex}.task-title{color:var(--text-main);font-size:14px;font-weight:500;line-height:1.3}.task-title.title-done{color:var(--text-muted);text-decoration:line-through}.task-desc{color:var(--text-muted);font-size:12px}.task-meta-row{color:var(--text-faint);gap:10px;margin-top:2px;font-size:11px;display:flex}.task-meta-text{color:var(--text-faint)}.date-details-footer{border-top:1px solid var(--border-subtle);padding-top:10px}.level-showcase-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:10px;padding:12px 14px;transition:background-color .25s,border-color .25s;display:flex}.level-showcase-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.level-showcase-title-row{align-items:center;gap:7px;display:flex}.level-showcase-icon{color:#eab308}.level-showcase-title{color:var(--text-main);letter-spacing:-.01em;font-size:13px;font-weight:600}.level-showcase-current-badge{color:#eab308;background:#eab3081f;border:1px solid #eab30840;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:500}.level-showcase-next-hint{color:var(--text-muted);font-size:11px;display:none}@media (min-width:1024px){.level-showcase-next-hint{display:inline-block}}.level-showcase-nav-btns{gap:4px;margin-left:auto;display:flex}.level-nav-arrow{border:1px solid var(--border);background:var(--surface-subtle);width:24px;height:24px;color:var(--text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.level-nav-arrow:hover{color:var(--text-main);background:var(--surface-hover);border-color:var(--border-strong)}.level-badges-rail{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:10px;padding:4px 2px 8px;display:flex;overflow-x:auto}.level-badges-rail::-webkit-scrollbar{width:0;height:0;display:none}.level-badge-item{cursor:pointer;text-align:center;background:0 0;border:none;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:74px;padding:4px 2px;transition:transform .18s;display:flex}.level-badge-item:hover{transform:translateY(-2px)}.level-badge-item.selected{outline:1px dashed var(--border-strong);outline-offset:2px}.level-badge-frame{background:var(--surface-subtle);border:2px solid #0000;border-radius:12px;justify-content:center;align-items:center;width:62px;height:62px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.level-badge-item.current .level-badge-frame{border-color:#eab308;box-shadow:0 0 14px #eab30873}.level-badge-item.unlocked:not(.current) .level-badge-frame{border-color:var(--border-strong)}.level-badge-item.locked .level-badge-frame{border-color:var(--border-subtle);opacity:.85}.level-badge-img{object-fit:cover;border-radius:10px;width:100%;height:100%;transition:filter .3s,transform .3s}.level-badge-img.colored-img{filter:none}.level-badge-img.locked-img{filter:grayscale()contrast(.85)brightness(.65)}.level-badge-lock-overlay{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.level-lock-icon-wrap{color:#e0e0e0;background:#0f0f0fbf;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;box-shadow:0 2px 6px #0006}.level-lock-icon{color:#f3f3f3}.level-badge-check-overlay{border:1.5px solid var(--surface);color:#fff;background:#16a34a;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;bottom:3px;right:3px;box-shadow:0 1px 4px #0000004d}.level-check-icon{stroke-width:3px}.level-badge-current-ring{pointer-events:none;border:1.5px solid #eab308cc;border-radius:10px;animation:2.5s ease-in-out infinite alternate levelGlowPulse;position:absolute;inset:0}@keyframes levelGlowPulse{0%{opacity:.7;box-shadow:inset 0 0 4px #eab3084d}to{opacity:1;box-shadow:inset 0 0 10px #eab308b3}}.level-badge-meta{flex-direction:column;align-items:center;gap:1px;width:100%;display:flex}.level-badge-lvl{color:var(--text-main);white-space:nowrap;font-size:11px;font-weight:600}.level-badge-item.current .level-badge-lvl{color:#eab308}.level-badge-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:70px;font-size:10px;overflow:hidden}.level-badge-xp{color:var(--text-faint);font-size:9px}.level-badge-item.current .level-badge-xp{color:#eab308;font-weight:600}.level-badge-item.locked .level-badge-name,.level-badge-item.locked .level-badge-lvl{color:var(--text-muted);opacity:.75}.level-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d1;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out levelOverlayFade;display:flex;position:fixed;inset:0}@keyframes levelOverlayFade{0%{opacity:0}to{opacity:1}}.level-modal-container{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:420px;animation:.25s cubic-bezier(.16,1,.3,1) levelModalScale;display:flex;position:relative}@keyframes levelModalScale{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.level-modal-close-btn{z-index:10;color:#a1a1aa;cursor:pointer;background:#18181b;border:1px solid #3f3f46;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex;position:absolute;top:-12px;right:-12px;box-shadow:0 4px 10px #00000080}.level-modal-close-btn:hover{color:#fff;background:#27272a}.level-card-preview{text-align:center;background:linear-gradient(150deg,#0a0a0c 0%,#13131a 50%,#0a0a0c 100%);border:2px solid #eab30873;border-radius:16px;flex-direction:column;align-items:center;gap:12px;width:100%;padding:22px 18px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px -10px #000000e6,0 0 35px #eab3082e}.level-card-preview:before{content:"";background:linear-gradient(90deg,#0000,#eab308,#0000);height:2px;position:absolute;top:0;left:0;right:0}.level-card-top-tag{letter-spacing:2px;color:#eab308;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.level-card-user-row{background:#ffffff0a;border:1px solid #ffffff17;border-radius:999px;align-items:center;gap:10px;width:fit-content;padding:4px 14px 4px 5px;display:flex}.level-card-avatar-wrap{background:#1a1a1f;border:1.5px solid #eab308;border-radius:50%;flex-shrink:0;width:36px;height:36px;overflow:hidden}.level-card-avatar-img{object-fit:cover;width:100%;height:100%}.level-card-avatar-fallback{color:#fff;background:#27272a;justify-content:center;align-items:center;width:100%;height:100%;font-weight:700;display:flex}.level-card-user-info{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.level-card-user-name{color:#fff;font-size:13px;font-weight:600;line-height:1.2}.level-card-user-badge{color:#9ca3af;font-size:10px;line-height:1.2}.level-card-art-wrap{margin:2px 0;position:relative}.level-card-art-frame{background:#000;border:2.5px solid #eab308;border-radius:24px;justify-content:center;align-items:center;width:150px;height:150px;display:flex;overflow:hidden;box-shadow:0 0 28px #eab30873}.level-card-art-img{object-fit:cover;width:100%;height:100%}.level-card-title-section{flex-direction:column;align-items:center;gap:4px;margin-top:4px;display:flex}.level-card-rank-pill{letter-spacing:1.5px;color:#eab308;font-size:18px;font-weight:800}.level-modal-actions{gap:10px;width:100%;display:flex}.level-action-btn{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;height:42px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.level-action-btn.primary{color:#000;background:#eab308;box-shadow:0 4px 14px #eab30859}.level-action-btn.primary:hover{background:#facc15;transform:translateY(-1px)}.level-action-btn.secondary{background:var(--surface);color:var(--text-main);border:1px solid var(--border-strong)}.level-action-btn.secondary:hover{background:var(--surface-hover);border-color:var(--text-muted)}.level-carousel-wrapper{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.level-carousel-arrow{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#121216e0;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:all .18s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #00000080}.level-carousel-arrow.left{left:-18px}.level-carousel-arrow.right{right:-18px}.level-carousel-arrow:hover{color:#000;background:#eab308;border-color:#eab308;transform:translateY(-50%)scale(1.08)}.level-card-preview.card-locked{border-color:#ffffff26;box-shadow:0 20px 45px -10px #000000e6}.level-card-preview.card-locked:before{background:linear-gradient(90deg,#0000,#fff3,#0000)}.level-card-art-frame.frame-locked{box-shadow:none;border-color:#52525b}.level-card-lock-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.level-card-lock-badge{background:#0a0a0ecc;border:1px solid #ffffff2e;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 14px;display:flex}.level-card-lock-text{letter-spacing:1.5px;color:#fff;font-size:11px;font-weight:700}.level-card-rank-pill.rank-pill-locked{color:#a1a1aa}.level-card-req-hint{color:#71717a;margin-top:1px;font-size:11px}.level-carousel-dots{justify-content:center;align-items:center;gap:7px;margin-top:2px;display:flex}.level-dot{background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;border-radius:50%;width:7px;height:7px;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1)}.level-dot.active{background:#eab308;border-color:#eab308;border-radius:999px;width:22px;box-shadow:0 0 8px #eab30866}.level-dot.unlocked:not(.active){background:var(--text-muted);border-color:var(--border-strong)}.level-dot.locked:not(.active){opacity:.35}.level-locked-banner{border:1px solid var(--border);width:100%;height:42px;color:var(--text-muted);background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:500;display:flex}.gami-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:8px;padding:12px 14px;transition:background-color .25s,border-color .25s;display:flex}.gami-top{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.gami-level{color:var(--text-main);font-size:13px;font-weight:600}.gami-sep{color:var(--text-faint);font-size:13px}.gami-title{color:var(--text-muted);font-size:13px}.gami-xp-label{color:var(--text-faint);margin-left:auto;font-size:12px}.gami-bar{background:var(--surface-subtle);border-radius:2px;width:100%;height:4px;overflow:hidden}.gami-bar-fill{background:var(--text-muted);border-radius:2px;min-width:2px;height:100%;transition:width .8s}.gami-meta{color:var(--text-faint);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.tasks-management-container{flex-direction:column;gap:18px;display:flex}.tasks-mgmt-header{justify-content:space-between;align-items:center;display:flex}.tasks-mgmt-filter-tabs{gap:8px;display:flex}.mgmt-filter-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:5px 12px;font-size:13px;transition:color .15s,border-color .15s,background-color .15s}.mgmt-filter-btn.active{background:var(--surface-subtle);color:var(--text-main);border-color:var(--border-strong)}.tasks-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.task-card-mgmt{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:8px;padding:14px;transition:background-color .25s,border-color .25s;display:flex}.task-card-header{justify-content:space-between;align-items:baseline;display:flex}.task-card-title{color:var(--text-main);font-size:15px;font-weight:500}.text-edit-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.text-edit-btn:hover{color:var(--text-main)}.task-card-desc{color:var(--text-muted);font-size:13px}.task-card-meta{color:var(--text-faint);gap:8px;font-size:12px;display:flex}.tasks-empty-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-direction:column;grid-column:1/-1;align-items:center;gap:12px;padding:36px;transition:background-color .25s,border-color .25s;display:flex}.modal-backdrop{background:var(--modal-backdrop-bg);z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-glass{background:var(--modal-glass-bg);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:16px;width:100%;max-width:460px;max-height:min(90vh,740px);margin:auto;padding:24px;transition:background-color .25s,border-color .25s;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.modal-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-title{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);font-size:22px;font-weight:400}.modal-subtitle{color:var(--text-muted);font-size:12px}.modal-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:16px;transition:color .15s}.modal-close-btn:hover{color:var(--text-main)}.modal-error-alert{color:#f87171;background:#200808;border:1px solid #551515;border-radius:4px;padding:8px 12px;font-size:13px}.modal-feedback-alert{color:#86efac;background:#0d1a10;border:1px solid #1a4020;border-radius:4px;padding:8px 12px;font-size:13px}[data-theme=light] .modal-feedback-alert{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}[data-theme=light] .modal-error-alert{color:#991b1b;background:#fef2f2;border-color:#fecaca}.modal-form{flex-direction:column;flex:1;gap:16px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.suggestions-section{flex-direction:column;gap:6px;display:flex}.suggestions-chips{flex-wrap:wrap;gap:6px;display:flex}.suggestion-chip{background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--text-muted);cursor:pointer;border-radius:3px;padding:4px 9px;font-size:12px;transition:color .15s,border-color .15s,background-color .15s}.suggestion-chip:hover{color:var(--text-main);border-color:var(--border-strong)}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:500}.glass-input{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);border-radius:4px;outline:none;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,background-color .25s,color .25s}.glass-input:focus{border-color:var(--border-strong)}.glass-input.textarea{resize:vertical;min-height:60px;max-height:180px}.schedule-type-selector{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.schedule-type-btn{background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--text-muted);cursor:pointer;border-radius:3px;padding:7px 4px;font-size:12px;transition:all .15s}.schedule-type-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);font-weight:500}.custom-days-picker{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px;display:grid}.day-pill{background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--text-muted);cursor:pointer;text-align:center;border-radius:3px;padding:6px 0;font-size:12px;transition:all .15s}.day-pill.selected{background:var(--calendar-selected-bg);color:var(--text-main);border-color:var(--border-strong)}.time-input{width:140px}.modal-actions{background:var(--modal-glass-bg);border-top:1px solid var(--border-subtle);z-index:10;justify-content:flex-end;align-items:center;gap:10px;margin-top:auto;padding-top:14px;padding-bottom:2px;display:flex;position:sticky;bottom:0}.modal-secondary-actions{gap:8px;margin-right:auto;display:flex}.delete-btn{color:#f87171;cursor:pointer;background:0 0;border:1px solid #3d1616;border-radius:4px;padding:6px 12px;font-size:13px}.delete-btn:hover{background:#280d0d}.archive-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:6px 12px;font-size:13px;transition:color .15s,border-color .15s}.archive-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.cancel-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:7px 14px;font-size:13px;transition:color .15s,border-color .15s}.cancel-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.submit-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid var(--btn-primary-bg);cursor:pointer;border-radius:4px;padding:7px 16px;font-size:13px;font-weight:500;transition:opacity .15s}.submit-btn:hover{opacity:.9}.submit-btn.full-width{width:100%}.telegram-status-banner{background:var(--surface-subtle);border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;padding:12px 14px;transition:background-color .25s,border-color .25s;display:flex}.status-banner-title{color:var(--text-main);font-size:14px;font-weight:500}.status-banner-sub{color:var(--text-muted);font-size:12px}.secondary-text-btn{border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px;font-size:12px;transition:color .15s,border-color .15s}.secondary-text-btn:hover{border-color:var(--border-strong)}.telegram-link-section{flex-direction:column;gap:14px;display:flex}.link-instruction-text{color:var(--text-muted);font-size:13px;line-height:1.4}.linking-steps-container{flex-direction:column;gap:16px;display:flex}.link-primary-action{display:flex}.open-telegram-btn{background:var(--btn-primary-bg);width:100%;color:var(--btn-primary-text);border-radius:4px;justify-content:center;align-items:center;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.open-telegram-btn:hover{opacity:.9}.manual-code-section{flex-direction:column;gap:6px;display:flex}.manual-code-label{color:var(--text-faint);font-size:12px}.code-copy-box{background:var(--surface-subtle);border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;transition:background-color .25s,border-color .25s;display:flex}.code-text{color:var(--text-main);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.copy-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px;text-decoration:underline;transition:color .15s}.copy-btn:hover{color:var(--text-main)}.code-expiry-note{color:var(--text-faint);font-size:12px;line-height:1.4}.telegram-preferences-section{flex-direction:column;gap:16px;display:flex}.preferences-list{flex-direction:column;gap:12px;display:flex}.pref-row{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.pref-row.sub-row{padding-left:12px}.pref-info{flex-direction:column;display:flex}.pref-label{color:var(--text-main);font-size:13px;font-weight:500}.pref-sub{color:var(--text-muted);font-size:12px}.minimal-checkbox-input{width:16px;height:16px;accent-color:var(--text-main);cursor:pointer}.time-picker-sm{width:110px;padding:4px 8px;font-size:12px}.preferences-actions{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.relink-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline;transition:color .15s}.relink-btn:hover{color:var(--text-main)}.calendar-title-wrap{align-items:baseline;gap:8px;display:flex}.calendar-month-geez{color:var(--text-muted);letter-spacing:.02em;font-size:15px;font-weight:500}.calendar-sub-day-label{color:var(--text-faint);margin-top:1px;font-size:9px;line-height:1;display:block}.calendar-system-toggle{background:var(--surface-subtle);border:1px solid var(--border);border-radius:9999px;align-items:center;gap:2px;padding:2px;display:inline-flex}.calendar-sys-dropdown-wrap{display:inline-flex;position:relative}.calendar-sys-dropdown-btn{background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:9999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:500;line-height:1.3;transition:all .18s;display:inline-flex}.calendar-sys-dropdown-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.calendar-sys-dropdown-btn.active{border-color:var(--border-strong);box-shadow:0 1px 4px #0000001a}.calendar-sys-btn-text{align-items:center;gap:5px;display:inline-flex}.calendar-sys-flag{font-size:13px;line-height:1}.calendar-sys-chevron{color:var(--text-muted);transition:transform .2s cubic-bezier(.16,1,.3,1)}.calendar-sys-chevron.open{transform:rotate(180deg)}.calendar-sys-dropdown-menu{background:var(--surface);border:1px solid var(--border);z-index:120;border-radius:8px;flex-direction:column;gap:2px;min-width:195px;padding:6px;animation:.15s cubic-bezier(.16,1,.3,1) dropdownFadeIn;display:flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 12px 28px -5px #00000059,0 4px 8px -2px #0000001a}.calendar-sys-menu-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);border-bottom:1px solid var(--border-subtle);margin-bottom:2px;padding:4px 8px 6px;font-size:10px;font-weight:600}.calendar-sys-option{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px 8px;transition:background-color .12s;display:flex}.calendar-sys-option:hover,.calendar-sys-option.selected{background:var(--surface-subtle)}.calendar-sys-option-content{flex-direction:column;gap:1px;display:flex}.calendar-sys-option-title{color:var(--text-main);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.calendar-sys-option-desc{color:var(--text-muted);font-size:10px}.calendar-sys-option-check{color:var(--text-main);flex-shrink:0}.calendar-system-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;line-height:1.3;transition:all .15s;display:inline-flex}.calendar-system-btn:hover{color:var(--text-main)}.calendar-system-btn.active{background:var(--surface);color:var(--text-main);border:1px solid var(--border-strong);font-weight:600;box-shadow:0 1px 3px #00000026}.fullpage-topbar-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.fullpage-sys-toggle{margin-left:2px}.date-details-subtitle-wrap{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.date-details-dual-badge{color:var(--text-main);background:var(--surface-subtle);border:1px solid var(--border);border-radius:4px;align-items:center;padding:1px 7px;font-size:11px;font-weight:500;display:inline-flex}.date-details-subtitle-sep{color:var(--text-faint);font-size:10px}.year-grid-13{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important}.year-month-geez-sub{color:var(--text-muted);font-size:12px;font-weight:400}.avatar-modal-overlay{z-index:9999;background:var(--modal-backdrop-bg);justify-content:center;align-items:center;padding:24px;animation:.2s modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.avatar-modal-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:560px;max-height:90vh;padding:28px;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp;overflow-y:auto}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.avatar-modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.avatar-modal-title{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:var(--text-main);margin:0;font-size:22px;font-weight:400}.avatar-modal-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px}.avatar-modal-close{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:all .15s;display:flex}.avatar-modal-close:hover{color:var(--text-main);border-color:var(--border-strong)}.avatar-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}@media (max-width:480px){.avatar-grid{grid-template-columns:repeat(3,1fr);gap:10px}}.avatar-card{aspect-ratio:1;border:2px solid var(--border);background:var(--surface-subtle);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .15s;display:flex;position:relative;overflow:hidden}.avatar-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.avatar-card.selected{border-color:var(--text-main);box-shadow:0 0 0 2px var(--text-main)}.avatar-card-img{object-fit:contain;filter:contrast(1.1);width:100%;height:100%}.avatar-check-badge{background:var(--text-main);width:20px;height:20px;color:var(--text-inverse);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:4px;right:4px}.avatar-modal-error{color:#f87171;margin-bottom:12px;font-size:13px}.avatar-modal-actions{justify-content:flex-end;gap:10px;display:flex}.avatar-shuffle-btn{background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .15s}.avatar-shuffle-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.avatar-confirm-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:4px;padding:8px 20px;font-size:13px;font-weight:600;transition:opacity .15s}.avatar-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.avatar-confirm-btn:hover:not(:disabled){opacity:.9}.profile-dropdown-item{width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;transition:color .15s,background-color .15s;display:flex}.profile-dropdown-item:hover{color:var(--text-main);background:var(--surface-subtle)}.profile-dropdown-delete{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12px;transition:background-color .15s;display:flex}.profile-dropdown-delete:hover{background:#ef444414}.delete-confirm-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;padding:28px;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp}.delete-confirm-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.delete-confirm-icon{font-size:24px}.delete-confirm-title{font-family:var(--font-serif), "Newsreader", Georgia, serif;color:#ef4444;margin:0;font-size:20px;font-weight:400}.delete-confirm-text{color:var(--text-muted);margin:0 0 20px;font-size:13px;line-height:1.6}.delete-confirm-input-group{margin-bottom:20px}.delete-confirm-label{color:var(--text-muted);margin-bottom:6px;font-size:12px;display:block}.delete-confirm-input{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text-main);border-radius:4px;outline:none;padding:8px 12px;font-family:monospace;font-size:14px;transition:border-color .15s}.delete-confirm-input:focus{border-color:#ef4444}.delete-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.delete-cancel-btn{background:var(--surface-subtle);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:8px 16px;font-size:13px;transition:all .15s}.delete-cancel-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.delete-danger-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:4px;padding:8px 20px;font-size:13px;font-weight:600;transition:opacity .15s}.delete-danger-btn:disabled{opacity:.4;cursor:not-allowed}.delete-danger-btn:hover:not(:disabled){opacity:.9}.notif-nav-active{color:var(--text-main)!important;border-color:#22c55e66!important}.nav-badge-dot{background:#eab308;border-radius:50%;width:6px;height:6px;margin-left:2px;display:inline-block}.notification-modal-glass{flex-direction:column;width:92%;max-width:520px;max-height:88vh;display:flex}.notif-modal-icon-badge{background:var(--surface-subtle);border:1px solid var(--border);width:32px;height:32px;color:var(--text-main);border-radius:8px;justify-content:center;align-items:center;display:flex}.notif-modal-content{flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.notif-feedback-alert{background:var(--surface-subtle);border:1px solid var(--border-strong);color:var(--text-main);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.82rem;animation:.2s fadeIn;display:flex}.notif-feedback-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;font-size:.8rem}.notif-status-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:1rem 1.1rem}.notif-status-header{justify-content:space-between;align-items:center;display:flex}.notif-status-indicator-wrap{align-items:center;display:flex}.notif-badge{border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.8rem;font-weight:500;display:inline-flex}.notif-badge.active{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e40}.notif-badge.paused{color:var(--text-muted);border:1px solid var(--border);background:#94a3b81f}.notif-badge.blocked{color:#ef4444;background:#ef44441f;border:1px solid #ef444440}.notif-badge.pending{color:#eab308;background:#eab3081f;border:1px solid #eab30840}.notif-pulse-dot{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s infinite pulseGreen;box-shadow:0 0 #22c55eb3}@keyframes pulseGreen{0%{box-shadow:0 0 #22c55e80}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.notif-switch-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;display:inline-flex}.notif-switch-input{opacity:0;width:0;height:0;position:absolute}.notif-switch-slider{background-color:var(--border-strong);border-radius:20px;width:36px;height:20px;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-block;position:relative}.notif-switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:3px;left:3px}.notif-switch-input:checked+.notif-switch-slider{background-color:var(--color-primary,#fff)}[data-theme=light] .notif-switch-input:checked+.notif-switch-slider{background-color:#141413}.notif-switch-input:checked+.notif-switch-slider:before{background-color:#000;transform:translate(16px)}[data-theme=light] .notif-switch-input:checked+.notif-switch-slider:before{background-color:#fff}.notif-action-banner{border-top:1px solid var(--border);flex-direction:column;gap:.65rem;margin-top:.85rem;padding-top:.85rem;display:flex}.notif-action-text{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.4}.notif-enable-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.82rem;font-weight:500;transition:opacity .15s;display:inline-flex}.notif-enable-btn:hover{opacity:.9}.notif-denied-guide{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem}.notif-denied-text{color:var(--text-muted);margin:0 0 .4rem;font-size:.8rem}.notif-denied-steps{color:var(--text-secondary,var(--text-muted));margin:0;padding-left:1.2rem;font-size:.78rem;line-height:1.5}.notif-section{flex-direction:column;gap:.6rem;display:flex}.notif-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:.8rem;font-weight:600}.notif-pref-list{flex-direction:column;gap:.5rem;display:flex}.notif-pref-item{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.notif-pref-left{align-items:center;gap:.75rem;display:flex}.notif-pref-icon{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.notif-pref-label{color:var(--text-main);font-size:.84rem;font-weight:500;display:block}.notif-pref-sub{color:var(--text-muted);font-size:.74rem;display:block}.notif-pref-right{align-items:center;gap:.6rem;display:flex}.notif-preview-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .55rem;font-size:.74rem;transition:all .15s}.notif-preview-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.notif-test-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:500;transition:all .15s}.notif-test-btn:hover:not(:disabled){background:var(--border-strong)}.notif-test-btn:disabled{opacity:.5;cursor:not-allowed}.notif-schedule-list{flex-direction:column;gap:.4rem;max-height:200px;display:flex;overflow-y:auto}.notif-schedule-item{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:.82rem;display:flex}.notif-schedule-time{color:var(--text-main);background:var(--surface);border:1px solid var(--border);border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .45rem;font-family:monospace;font-size:.8rem;font-weight:600;display:inline-flex}.notif-schedule-info{flex-direction:column;flex:1;min-width:0;display:flex}.notif-schedule-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.notif-schedule-title.done{color:var(--text-muted);text-decoration:line-through}.notif-schedule-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.notif-status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.72rem;font-weight:500;display:inline-flex}.notif-status-pill.completed{color:#22c55e;background:#22c55e1f}.notif-status-pill.due{color:#eab308;background:#eab30826;font-weight:600}.notif-status-pill.notified{color:#60a5fa;background:#3b82f61f}.notif-status-pill.upcoming{background:var(--surface);border:1px solid var(--border);color:var(--text-muted)}.notif-status-pill.past{background:var(--surface);color:var(--text-faint)}.notif-empty-schedule{background:var(--surface-subtle);border:1px dashed var(--border);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem 1rem;display:flex}.notif-empty-icon{color:var(--text-muted);opacity:.6;margin-bottom:.4rem}.notif-empty-title{color:var(--text-main);margin:0 0 .2rem;font-size:.82rem;font-weight:500}.notif-empty-desc{color:var(--text-muted);max-width:320px;margin:0;font-size:.75rem}.notif-tip-box{background:var(--surface-subtle);border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:.6rem;padding:.65rem .8rem;display:flex}.notif-tip-text{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.4}.out-of-ideas-chip{background:var(--chip-bg)!important;border:1px solid var(--border-strong)!important;color:var(--text-main)!important;border-radius:4px!important;align-items:center!important;gap:6px!important;padding:4px 10px!important;font-weight:500!important;transition:all .15s!important;display:inline-flex!important}.out-of-ideas-chip:hover{transform:translateY(-1px);background:var(--surface-hover)!important;border-color:var(--text-main)!important;color:var(--text-main)!important}.out-of-ideas-icon{color:var(--text-main);opacity:.9}.ai-modal-backdrop{z-index:60!important}.ai-modal-glass{background:var(--modal-glass-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:100%;max-width:660px;height:min(88vh,720px);margin:auto;padding:0;transition:background-color .25s,border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.ai-modal-header{border-bottom:1px solid var(--border-subtle);background:var(--surface-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ai-modal-title-wrap{align-items:center;gap:12px;display:flex}.ai-sparkle-badge{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;color:var(--text-main);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-modal-title{color:var(--text-main);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.ai-modal-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:12px}.ai-prompt-modal-glass{max-width:680px;height:min(92vh,760px)}.ai-toast-banner{color:#22c55e;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:6px;align-items:center;gap:8px;margin:10px 20px 0;padding:9px 14px;font-size:12.5px;font-weight:500;animation:.2s ease-out aiToastFade;display:flex}.ai-toast-icon{flex-shrink:0}@keyframes aiToastFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ai-prompt-content-scroll{flex-direction:column;flex:1;gap:18px;padding:20px 22px;display:flex;overflow-y:auto}.ai-section-group{flex-direction:column;gap:8px;display:flex}.ai-section-label{color:var(--text-main);letter-spacing:.01em;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.ai-section-subhint{color:var(--text-muted);font-size:11px;font-weight:400}.ai-category-chips-grid{flex-wrap:wrap;gap:7px;display:flex}.ai-category-chip-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.ai-category-chip-btn:hover{color:var(--text-main);border-color:var(--border-strong);background:var(--surface-hover)}.ai-category-chip-btn.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);font-weight:600;box-shadow:0 2px 8px #00000026}.ai-chip-emoji{font-size:13px;line-height:1}.ai-goal-input-box{background:var(--input-bg);border:1px solid var(--border);border-radius:8px;align-items:center;padding:2px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.ai-goal-input-box:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong)}.ai-goal-input-field{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:8px 4px;font-size:13px}.ai-goal-input-field::placeholder{color:var(--text-muted);opacity:.7}.ai-goal-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex}.ai-goal-clear-btn:hover{color:var(--text-main)}.ai-prompt-card-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.ai-prompt-card-title{color:var(--text-main);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.ai-sparkle-gold{color:#f59e0b}.ai-copy-action-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.ai-copy-action-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.ai-copy-action-btn.copied{color:#22c55e;background:#22c55e1f;border-color:#22c55e59}.ai-prompt-box{border:1px solid var(--border);background:#00000040;border-radius:8px;overflow:hidden}.ai-prompt-textarea{width:100%;color:var(--text-main);resize:vertical;background:0 0;border:none;outline:none;max-height:200px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.ai-launchers-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.ai-launcher-card{border:1px solid var(--border);cursor:pointer;text-align:left;background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.ai-launcher-card.chatgpt-card{color:#10b981;background:#10b9810d;border-color:#10b98133}.ai-launcher-card.chatgpt-card:hover{background:#10b9811f;border-color:#10b98173;transform:translateY(-2px);box-shadow:0 6px 16px #10b98126}.ai-launcher-card.claude-card{color:#f59e0b;background:#f59e0b0d;border-color:#f59e0b33}.ai-launcher-card.claude-card:hover{background:#f59e0b1f;border-color:#f59e0b73;transform:translateY(-2px);box-shadow:0 6px 16px #f59e0b26}.ai-launcher-card.gemini-card{color:#818cf8;background:#818cf80d;border-color:#818cf833}.ai-launcher-card.gemini-card:hover{background:#818cf81f;border-color:#818cf873;transform:translateY(-2px);box-shadow:0 6px 16px #818cf826}.ai-launcher-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.chatgpt-icon-wrap{color:#10b981;background:#10b98126}.claude-icon-wrap{color:#f59e0b;background:#f59e0b26}.gemini-icon-wrap{color:#818cf8;background:#818cf826}.ai-launcher-info{flex-direction:column;flex:1;min-width:0;display:flex}.ai-launcher-name{color:var(--text-main);justify-content:space-between;align-items:center;gap:4px;font-size:13.5px;font-weight:600;display:flex}.ai-external-arrow{opacity:.6;flex-shrink:0;transition:transform .15s,opacity .15s}.ai-launcher-card:hover .ai-external-arrow{opacity:1;transform:translate(2px,-2px)}.ai-launcher-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:10.5px;overflow:hidden}.ai-grab-habit-panel{background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;margin-top:4px;padding:14px 16px;display:flex}.ai-grab-header{align-items:flex-start;gap:10px;display:flex}.ai-grab-bulb-icon{color:#eab308;flex-shrink:0;margin-top:2px}.ai-grab-title{color:var(--text-main);margin:0 0 2px;font-size:13px;font-weight:600}.ai-grab-desc{color:var(--text-muted);margin:0;font-size:11.5px}.ai-grab-input-row{flex-wrap:wrap;gap:8px;display:flex}.ai-grab-input{background:var(--input-bg);border:1px solid var(--border);min-width:200px;color:var(--text-main);border-radius:8px;outline:none;flex:1;padding:9px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.ai-grab-input:focus{border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong)}.ai-grab-actions{gap:6px;display:flex}.ai-grab-btn{cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.ai-grab-btn.primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none}.ai-grab-btn.primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-grab-btn.secondary{background:var(--surface);color:var(--text-main);border:1px solid var(--border)}.ai-grab-btn.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.ai-grab-btn:disabled{opacity:.4;cursor:not-allowed}.ai-wizard-body{flex-direction:column;flex:1;gap:16px;padding:22px 24px;display:flex;overflow-y:auto}.ai-wizard-header-nav{justify-content:space-between;align-items:center;display:flex}.ai-back-nav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;font-weight:500;transition:color .15s;display:inline-flex}.ai-back-nav-btn:hover{color:var(--text-main)}.ai-wizard-step-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-subtle);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.ai-wizard-prompt-title-pill{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.ai-pill-label{color:var(--text-muted);font-size:12px}.ai-pill-value{color:var(--text-main);font-weight:600}.ai-wizard-question{color:var(--text-main);margin:4px 0 0;font-size:14px;font-weight:600}@media (max-width:640px){.ai-launchers-grid{grid-template-columns:1fr}.ai-grab-input-row{flex-direction:column}.ai-grab-actions{justify-content:stretch;width:100%}.ai-grab-btn{flex:1;justify-content:center}}.ai-options-grid{flex-wrap:wrap;gap:8px;display:flex}.ai-option-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-main);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.ai-option-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.ai-option-btn.active{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg)}.ai-option-btn.subtle{color:var(--text-muted)}.ai-option-icon{opacity:.7}.ai-custom-subpanel{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;width:100%;margin-top:4px;padding:12px;display:flex}.ai-subpanel-hint{color:var(--text-muted);margin:0;font-size:12px}.ai-days-picker-row{flex-wrap:wrap;gap:6px;display:flex}.ai-day-pill{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:6px 11px;font-size:12px;transition:all .15s}.ai-day-pill:hover{color:var(--text-main);border-color:var(--border-strong)}.ai-day-pill.selected{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);font-weight:600}.ai-custom-input-group{align-items:center;gap:8px;display:flex}.ai-inline-number-input,.ai-inline-time-input{background:var(--input-bg);border:1px solid var(--border);color:var(--text-main);border-radius:4px;outline:none;width:110px;padding:6px 10px;font-size:13px}.ai-subpanel-unit{color:var(--text-muted);font-size:12px}.ai-confirm-subaction-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:500;transition:opacity .15s}.ai-confirm-subaction-btn:hover:not(:disabled){opacity:.9}.ai-confirm-subaction-btn:disabled{opacity:.5;cursor:not-allowed}.ai-summary-card{background:var(--surface-subtle);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:14px;padding:16px;display:flex;box-shadow:0 4px 12px #0000001a}.ai-summary-header{align-items:center;gap:12px;display:flex}.ai-summary-check{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ai-summary-title{color:var(--text-main);margin:0;font-size:15px;font-weight:600}.ai-summary-desc{color:var(--text-muted);margin:2px 0 0;font-size:12px}.ai-summary-details{background:var(--surface);border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;padding:4px 14px;display:flex}.ai-summary-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.ai-summary-row:last-child{border-bottom:none}.ai-summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:500}.ai-summary-value{color:var(--text-main);font-weight:500}.ai-summary-value.highlight{color:var(--text-main);font-weight:600}.ai-summary-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.ai-summary-restart-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 8px;font-size:12px;transition:color .15s;display:inline-flex}.ai-summary-restart-btn:hover{color:var(--text-main)}.ai-summary-submit-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:opacity .15s;display:inline-flex}.ai-summary-submit-btn:hover:not(:disabled){opacity:.9}.ai-summary-submit-btn:disabled{opacity:.6;cursor:not-allowed}.app-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex;position:relative}.app-header-left{flex-direction:column;gap:2px;display:flex}.app-greeting{font-family:var(--font-sans);color:var(--text-main);letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.2}.app-date-sub{font-family:var(--font-sans);color:var(--text-muted);align-items:center;gap:6px;font-size:13.5px;font-weight:400;display:flex}.app-header-right{align-items:center;gap:12px;display:flex}.app-streak-badge{background:var(--surface);border:1px solid var(--border);color:var(--text-main);border-radius:9999px;align-items:center;gap:4px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 1px 4px #2d1e140a}.app-avatar-wrapper{position:relative}.app-avatar-btn{background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;transition:transform .15s,border-color .15s;display:flex;overflow:hidden;box-shadow:0 2px 8px #2d1e140f}.app-avatar-btn:hover{border-color:var(--color-primary);transform:scale(1.05)}.app-avatar-img{object-fit:cover;width:100%;height:100%}.app-avatar-fallback{color:var(--text-main);font-size:17px;font-weight:700}.app-nav-pills{background:var(--surface-subtle);border:1px solid var(--border);border-radius:9999px;align-items:center;gap:6px;margin-bottom:20px;padding:4px;display:flex}.app-nav-pill-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.app-nav-pill-btn.active{background:var(--surface);color:var(--text-main);box-shadow:0 2px 8px #2d1e140f}.week-strip-container{margin:4px 0 20px}.week-strip-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.week-strip-arrows{align-items:center;gap:6px;display:flex}.week-nav-arrow-btn{background:var(--surface);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;transition:all .15s;display:flex}.week-nav-arrow-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.week-today-pill{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:9999px;padding:3px 10px;font-size:12px;font-weight:600;transition:all .15s}.week-today-pill:hover,.week-today-pill.active{color:var(--color-primary);border-color:var(--color-primary)}.week-calendar-expand-btn{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9999px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.week-calendar-expand-btn:hover{color:var(--text-main);border-color:var(--border-strong)}.week-strip-days{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.week-day-col{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:2px 0;transition:transform .15s;display:flex}.week-day-col:hover{transform:translateY(-1px)}.week-day-name{color:var(--text-muted);font-size:12px;font-weight:500;transition:color .15s}.week-day-name.selected{color:var(--text-main);font-weight:700}.week-day-circle{background:var(--surface);border:1px solid var(--border);border-radius:9999px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 2px 6px #2d1e1408}.week-day-number{color:var(--text-main);font-size:14.5px;font-weight:600}.week-day-circle.selected{color:#fff;background:#23211f;border-color:#23211f;box-shadow:0 4px 12px #23211f40}.week-day-circle.selected .week-day-number{color:#fff;font-weight:700}[data-theme=dark] .week-day-circle.selected{background:#ff6417;border-color:#ff6417;box-shadow:0 4px 14px #ff641759}.week-day-dot-slot{justify-content:center;align-items:center;height:6px;display:flex}.week-day-dot{border-radius:9999px;width:4.5px;height:4.5px}.week-day-dot.completed{background:#ff6417}.week-day-dot.partial{background:#7e9f30}.week-day-dot.today{background:var(--text-muted)}.reminder-banner-card{background:var(--color-banner-bg);border:1px solid var(--color-banner-border);border-radius:24px;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 24px;padding:20px 22px;display:flex;box-shadow:0 4px 16px #fbdbc733}.reminder-banner-content{flex-direction:column;flex:1;align-items:flex-start;display:flex}.reminder-banner-title{color:var(--color-banner-text);font-size:17.5px;font-weight:700;line-height:1.2}.reminder-banner-desc{color:#7c6656;max-width:320px;margin:6px 0 14px;font-size:13px;line-height:1.4}[data-theme=dark] .reminder-banner-desc{color:#c9b3a3}.reminder-banner-btn{color:#fff;cursor:pointer;background:#352115;border:none;border-radius:9999px;padding:8px 20px;font-size:13px;font-weight:600;transition:transform .15s,background-color .15s;box-shadow:0 2px 8px #35211540}.reminder-banner-btn:hover{background:#23150d;transform:translateY(-1px)}[data-theme=dark] .reminder-banner-btn{color:#fff;background:#ff6417;box-shadow:0 2px 10px #ff641759}.reminder-banner-illustration{flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.reminder-bell-svg{filter:drop-shadow(0 4px 8px #e05b1626);width:100%;height:100%}.daily-routine-section{flex-direction:column;gap:16px;margin-top:4px;display:flex}.daily-routine-header{justify-content:space-between;align-items:center;display:flex}.daily-routine-title{color:var(--text-main);letter-spacing:-.01em;font-size:20px;font-weight:700}.daily-routine-header-actions{align-items:center;gap:10px;display:flex}.daily-routine-insights-btn{color:var(--color-primary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:9999px;padding:4px 10px;font-size:13px;font-weight:600;transition:all .15s}.daily-routine-insights-btn:hover{border-color:var(--color-primary)}.daily-routine-see-all-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:13.5px;font-weight:600;transition:color .15s}.daily-routine-see-all-btn:hover{color:var(--text-main)}.daily-routine-empty-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.daily-routine-empty-icon{margin-bottom:4px;font-size:32px}.daily-routine-empty-title{color:var(--text-main);font-size:16px;font-weight:700}.daily-routine-empty-sub{color:var(--text-muted);max-width:300px;font-size:13px}.daily-routine-empty-add-btn{color:#fff;cursor:pointer;background:#2d1c13;border:none;border-radius:9999px;margin-top:8px;padding:8px 20px;font-size:13.5px;font-weight:600;transition:transform .15s}[data-theme=dark] .daily-routine-empty-add-btn{background:#ff6417}.daily-routine-empty-add-btn:hover{transform:translateY(-1px)}.daily-routine-timeline{flex-direction:column;gap:12px;display:flex}.timeline-item-row{align-items:center;gap:14px;display:flex}.timeline-node-container{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:24px;display:flex;position:relative}.timeline-connector-line{z-index:1;border-left:2px dotted #d8d0c7;width:2px;position:absolute;top:26px;bottom:-26px}[data-theme=dark] .timeline-connector-line{border-left-color:#3d332c}.timeline-connector-line.is-last{display:none}.routine-checkbox-btn{background:var(--surface);cursor:pointer;z-index:2;border:2px solid #d5cdc5;border-radius:9999px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}[data-theme=dark] .routine-checkbox-btn{border-color:#55483f}.routine-checkbox-btn:hover:not(.checked){border-color:#ff6417;transform:scale(1.1)}.routine-checkbox-btn.checked{color:#fff;background:#ff6417;border-color:#ff6417;box-shadow:0 2px 8px #ff641759}.routine-check-icon{color:#fff}.routine-checkbox-ring{background:0 0;border-radius:9999px;width:10px;height:10px}.routine-habit-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:20px;flex:1;align-items:center;gap:14px;padding:13px 16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 2px 10px #2d1e1408}.routine-habit-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:0 4px 16px #2d1e140f}.routine-habit-icon-box{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 2px 6px #0000000a}.routine-habit-details{flex:1;min-width:0}.routine-habit-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.routine-habit-title.completed-title{color:var(--text-muted)}.routine-habit-meta{align-items:center;gap:8px;margin-top:2px;display:flex}.routine-habit-streak{color:var(--text-muted);font-size:12.5px;font-weight:400}.routine-habit-duration-wrap{color:var(--text-muted);background:var(--surface-subtle);border-radius:9999px;flex-shrink:0;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:flex}.routine-habit-clock-icon{color:var(--text-muted)}.routine-habit-duration{font-weight:500}.floating-add-btn{color:#fff;cursor:pointer;z-index:40;background:#2e1c12;border:none;border-radius:9999px;justify-content:center;align-items:center;width:54px;height:54px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;display:flex;position:fixed;bottom:28px;right:calc(50% - 275px);box-shadow:0 8px 24px #2e1c1266}[data-theme=dark] .floating-add-btn{background:#ff6417;box-shadow:0 8px 24px #ff641773}.floating-add-btn:hover{transform:scale(1.08)translateY(-2px);box-shadow:0 12px 28px #2e1c1280}@media (max-width:600px){.floating-add-btn{bottom:24px;right:20px}}.insights-view-container{flex-direction:column;gap:20px;display:flex}.insights-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.insights-title{letter-spacing:-.02em;color:var(--text-main);font-size:28px;font-weight:800;line-height:1.15}.insights-close-btn{background:var(--surface);border:1px solid var(--border);width:40px;height:40px;color:var(--text-main);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;transition:all .15s;display:flex;box-shadow:0 2px 8px #2d1e140a}.insights-close-btn:hover{border-color:var(--border-strong);transform:scale(1.05)}.insights-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:24px 18px 18px;box-shadow:0 4px 20px #2d1e140a}.insights-bars-row{grid-template-columns:repeat(4,1fr);align-items:flex-end;gap:12px;height:250px;display:grid}.insights-bar-column{flex-direction:column;align-items:center;gap:12px;height:100%;display:flex}.insights-pill-track{background:#f7f3ed;border:1px solid #00000008;border-radius:9999px;flex-direction:column;flex:1;justify-content:flex-end;width:100%;display:flex;position:relative;overflow:hidden}[data-theme=dark] .insights-pill-track{background:#2a221d;border-color:#382e27}.insights-pill-stripes{background:repeating-linear-gradient(45deg,#ebe5dc,#ebe5dc 3px,#f7f3ed 3px 8px);border-radius:9999px;position:absolute;inset:0}[data-theme=dark] .insights-pill-stripes{background:repeating-linear-gradient(45deg,#352c25,#352c25 3px,#2a221d 3px 8px)}.insights-pill-fill{z-index:2;border-radius:9999px;justify-content:center;align-items:flex-end;width:100%;padding-bottom:12px;transition:height .6s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 2px 8px #0000001f}.insights-pill-pct{color:#fff;text-shadow:0 1px 2px #0003;font-size:13px;font-weight:700}.insights-bar-label{color:var(--text-main);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.insights-points-card{background:var(--surface);border:1px solid var(--border);border-radius:28px;flex-direction:column;gap:18px;padding:24px;display:flex;box-shadow:0 4px 20px #2d1e140a}.insights-points-header{justify-content:space-between;align-items:center;display:flex}.insights-points-title{color:var(--text-main);font-size:18px;font-weight:700}.insights-points-subtitle{color:var(--text-muted);font-size:13px}.insights-points-value-wrap{align-items:baseline;gap:4px;display:flex}.insights-points-value{color:#ff6417;font-size:24px;font-weight:800}.insights-points-label{color:var(--text-main);font-size:15px;font-weight:500}.insights-metrics-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:12px;padding:16px 0;display:grid}.insights-metric-item{text-align:center;flex-direction:column;gap:4px;display:flex}.insights-metric-label{color:var(--text-muted);font-size:12px}.insights-metric-value{color:var(--text-main);font-size:15.5px;font-weight:700}.insights-share-btn{color:#fff;cursor:pointer;background:#ff6417;border:none;border-radius:9999px;justify-content:center;align-items:center;width:100%;padding:15px 24px;font-size:16px;font-weight:700;transition:transform .15s,background-color .15s,box-shadow .15s;display:flex;box-shadow:0 6px 20px #ff641759}.insights-share-btn:hover{background:#e5550d;transform:translateY(-1px);box-shadow:0 8px 24px #ff641773}.reminder-choice-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;flex-direction:column;gap:20px;width:100%;max-width:440px;padding:24px;display:flex;box-shadow:0 20px 50px #0003}.reminder-choice-header{justify-content:space-between;align-items:flex-start;display:flex}.reminder-choice-title-wrap{align-items:center;gap:12px;display:flex}.reminder-choice-icon-badge{background:#ffeade;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;display:flex}.reminder-choice-title{color:var(--text-main);font-size:18px;font-weight:700}.reminder-choice-desc{color:var(--text-muted);font-size:13px}.reminder-choice-options{flex-direction:column;gap:12px;display:flex}.reminder-option-btn{background:var(--surface-subtle);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:16px;justify-content:space-between;align-items:center;padding:14px 16px;transition:all .15s;display:flex}.reminder-option-btn:hover{border-color:var(--border-strong);background:var(--surface-hover);transform:translateY(-1px)}.reminder-option-left{align-items:center;gap:14px;display:flex}.reminder-option-icon{border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.reminder-option-icon.telegram{color:#1976d2;background:#e3f2fd}.reminder-option-icon.browser{color:#e65100;background:#ffeade}.reminder-option-text{flex-direction:column;gap:2px;display:flex}.reminder-option-title-row{align-items:center;gap:8px;display:flex}.reminder-option-title{color:var(--text-main);font-size:14.5px;font-weight:600}.reminder-active-badge{color:#2e7d32;background:#e8f5e9;border-radius:9999px;padding:2px 7px;font-size:11px;font-weight:700}.reminder-option-sub{color:var(--text-muted);max-width:250px;font-size:12px}.reminder-option-arrow{color:var(--text-muted)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
