:root{--font-base: "Inter", sans-serif;--font-display: "Bricolage Grotesque", "Inter", sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 32px;--fs-4xl: 40px;--color-bg: #1a1a1a;--color-bg-panel: #1c1c1c;--color-surface: #262626;--color-border: #2d2d2d;--border-subtle: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .14);--sh-1: 0 4px 12px rgba(0, 0, 0, .28);--sh-2: 0 12px 32px rgba(0, 0, 0, .5);--sh-3: 0 20px 48px rgba(0, 0, 0, .5);--color-text: #ffffff;--color-text-muted: #aaa;--color-accent: #4778eb;--accent-ai: #8b5cf6;--color-danger: #d64545;--color-danger-fg: #e05656;--bg-gradient-main: linear-gradient(150deg, #1f1f1f, #161616, #1f1f1f, #1a1a1a);--space-page: 34px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--content-max: 1760px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--r-circle: 50%;--card-bg: #1c1c1c;--card-bg-hover: #2d2d2d;--card-border: #2d2d2d;--card-title: #ffffff;--card-notes: #aaaaaa;--card-badge-bg: #2d2d2d;--card-badge-fg: #bbbbbb;--menu-btn-fg: #9aa0aa;--menu-btn-hover-bg: #2d2d2d;--menu-btn-hover-fg: #e7e9ee;--action-btn-bd: rgba(255, 255, 255, .18);--action-btn-bd-disabled: rgba(255, 255, 255, .08);--action-pos-badge-bg: #234a23;--action-pos-badge-fg: #aaffaa;--action-neg-badge-bg: #4a2330;--action-neg-badge-fg: #ffbcbc}html.light-theme{--color-bg: #f5f6f8;--color-bg-panel: #ffffff;--color-surface: #ffffff;--color-border: #dce1e6;--border-subtle: rgba(23, 35, 58, .08);--border-strong: rgba(23, 35, 58, .14);--sh-1: 0 2px 8px rgba(20, 40, 70, .08);--sh-2: 0 12px 32px rgba(20, 40, 70, .12);--sh-3: 0 20px 48px rgba(20, 40, 70, .16);--color-text: #1f2d3d;--color-text-muted: #5a6b80;--color-accent: #4a76a8;--accent-ai: #7c3aed;--bg-gradient-main: linear-gradient(180deg, #f5f6f8 0%, #eceef2 45%, #eceef2 100%);--card-bg: #ffffff;--card-bg-hover: #f6f8fb;--card-border: #dce1e6;--card-title: #1d2f45;--card-notes: #61748b;--card-badge-bg: #edf2f8;--card-badge-fg: #546a82;--menu-btn-fg: #5c6f86;--menu-btn-hover-bg: #eef2f7;--menu-btn-hover-fg: #1d2f45;--action-btn-bd: #dce1e6;--action-btn-bd-disabled: #e6eaee;--action-pos-badge-bg: #e7f5e7;--action-pos-badge-fg: #2f7d32;--action-neg-badge-bg: #fdeaea;--action-neg-badge-fg: #b3261e}*{margin:0;padding:0;box-sizing:border-box}:focus:not(:focus-visible){outline:none}button,a,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:transparent;outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}html{background-color:var(--color-bg)}body{font-family:var(--font-base);font-synthesis-weight:none;background:var(--bg-gradient-main);background-color:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:url(../images/back.webp) top center / cover no-repeat,var(--bg-gradient-main);transform:translateZ(0)}body.slim-back:before{background:url(../images/slim-back.webp) center / cover no-repeat,var(--bg-gradient-main)}body.no-bg-image:before{background:var(--bg-gradient-main)}body.mobile-drag-active{overflow:hidden}body.mobile-drag-active .swipe-track>[data-mobile-panel]{overflow-y:hidden}a{text-decoration:none;color:inherit}.new_back{background:url(../images/back2.webp),var(--bg-gradient-main);background-repeat:no-repeat;background-position:center;background-size:cover}.index-page .header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.index-page .app-header,.index-page .new_block,.index-page .block,.index-page .achievement-item{background-color:var(--color-bg-panel);opacity:1}.index-page .container{max-width:var(--content-max)}.index-page .card-filters{gap:8px;margin-bottom:14px}.index-page .filter{background:#1f1f1f;border:1px solid var(--color-border);border-radius:var(--r-pill);padding:8px 12px;color:#cfcfcf;text-decoration:none}.index-page .filter:hover{background:#2a2a2a;color:#fff}.index-page .filter.active{color:#d6e2ff;border-color:color-mix(in srgb,var(--color-accent) 65%,transparent);background:color-mix(in srgb,var(--color-accent) 20%,transparent);text-decoration:none}.index-page .icon-btn{width:32px;height:32px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center}.index-page .icon-btn img{width:22px;height:22px}.header{display:flex;justify-content:center;align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text);height:48px;position:relative;z-index:30}.burger-menu{display:none;width:40px;height:40px;border:none;background:transparent;cursor:pointer;padding:8px;flex-direction:column;justify-content:center;gap:4px}.burger-menu span{display:block;width:100%;height:2px;border-radius:var(--r-sm);background:var(--color-text);transition:transform .2s ease,opacity .2s ease}.nav-backdrop{display:none}body.nav-menu-open{overflow:hidden}.nav-items{display:flex;width:100%;height:100%;padding-left:var(--space-page);padding-right:var(--space-page)}.nav-items ul{width:100%;display:flex;list-style:none;margin:0;padding:0;align-items:center}.nav-items li{font-size:14px;cursor:pointer;position:relative;padding:8px 24px;border-radius:var(--r-sm);color:#e6e6e6;text-decoration:none;height:100%;display:flex;align-items:center}.nav-items a{text-decoration:none;display:flex;justify-content:center;align-items:center;height:100%}.nav-items li.active-nav-item{color:var(--color-text);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:17px}.nav-items li:hover{color:var(--color-text)}.nav-item-badge,.burger-menu .burger-badge{position:absolute;width:9px;height:9px;border-radius:var(--r-circle);background:#ef4444;box-shadow:0 0 0 2px var(--color-surface);animation:nav-badge-pulse 1.6s ease-in-out infinite}.nav-item-badge{top:6px;right:8px}.burger-menu{position:relative}.burger-menu .burger-badge{top:6px;right:6px}@keyframes nav-badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}@media(prefers-reduced-motion:reduce){.nav-item-badge,.burger-menu .burger-badge{animation:none}}.main-nav>ul>a>li,.main-nav .nav-end.nav-items>a>li{transition:background-color .2s ease,color .2s ease}.main-nav>ul>a>li:hover,.main-nav .nav-end.nav-items>a>li:hover{background-color:var(--color-border);color:var(--color-text)}.logout-btn a{color:#aaa;text-decoration:none}.logout-btn:hover a{background-color:transparent;color:var(--color-text);text-decoration:none}.nav-end{display:flex;justify-content:flex-end;padding:0}.nav-mobile-only{display:none!important}.nav-user-menu{display:flex;align-items:center;position:relative;border-radius:var(--r-sm);transition:background-color .2s ease}.nav-user-menu:hover{background-color:#2d2d2d}.nav-user-trigger{display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:inherit;padding:8px 10px;height:100%;cursor:pointer}.nav-user-avatar{width:32px;height:32px;border-radius:var(--r-pill);object-fit:cover;display:block}.nav-user-chevron{width:14px;height:14px;color:#ffffffc7;transition:transform .2s ease}.nav-user-menu.is-open .nav-user-chevron{transform:rotate(180deg)}.nav-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:300px;border-radius:var(--r-md);border:1px solid var(--border-subtle);background:var(--color-surface);overflow:visible;display:flex;flex-direction:column;z-index:60}.nav-user-profile{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 14px 12px;gap:4px;border-bottom:1px solid var(--border-subtle)}.nav-user-profile-avatar{width:54px;height:54px;border-radius:var(--r-pill);object-fit:cover;display:block}.nav-user-profile-name{color:#fff;font-size:20px;font-weight:700;line-height:1.2}.nav-user-profile-username{color:#ffffffb8;font-size:13px}.nav-user-menu-list{display:flex;flex-direction:column;padding:6px;gap:4px}.nav-user-dropdown .nav-user-item{display:flex;align-items:center;width:100%;justify-content:flex-start;text-decoration:none;color:#ffffffeb;border-radius:var(--r-md);border:0;background:transparent;padding:10px 12px;font-size:16px;font-weight:500;text-align:left;cursor:pointer}.nav-user-dropdown .nav-user-item:hover{background:#ffffff14}.nav-theme-group{display:flex;flex-direction:column;gap:4px;position:relative}.nav-theme-trigger{gap:6px}.nav-theme-label{font-weight:500}.nav-theme-current-value{font-size:13px;color:#ffffffa3}.nav-theme-options{display:flex;flex-direction:column;gap:4px;position:absolute;top:100%;right:10px;width:189px;margin:0;padding:8px;border-radius:var(--r-lg);border:0;background:var(--color-surface);box-shadow:var(--sh-2);z-index:8}.nav-user-menu.is-open .nav-theme-options{display:none}.nav-theme-group.is-open .nav-theme-options{display:flex;flex-direction:column;gap:4px}.nav-user-menu.is-open .nav-theme-group.is-open .nav-theme-options{display:flex}.nav-theme-option{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:var(--r-md);padding:8px 10px;background:transparent;color:#ffffffe0;text-align:left;font-size:14px;cursor:pointer}.nav-theme-option:hover{background:#ffffff1a}.nav-theme-option.is-active{color:#fff}.nav-theme-option-label{flex:1}.nav-theme-check{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:scale(.9);transition:opacity .15s ease,transform .15s ease}.nav-theme-check-icon{width:14px;height:14px;display:block;color:var(--color-accent)}.nav-theme-option.is-active .nav-theme-check{opacity:1;transform:scale(1)}.nav-settings-link{width:auto!important}li.nav-settings-btn{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.nav-settings-icon{width:18px;height:18px}.nav-settings-link:hover .nav-settings-btn{color:#fff;border-color:#ffffff5c;background:#ffffff1f}.nav-settings-btn.is-active{color:#fff;border-color:color-mix(in srgb,var(--color-accent) 90%,transparent);background:color-mix(in srgb,var(--color-accent) 24%,transparent)}.app-header{margin-top:var(--space-page);margin-bottom:0;margin-inline:max(var(--space-page),(100% - var(--content-max)) / 2 + var(--space-page));display:flex;align-items:stretch;gap:16px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-lg)}.ah-sep{flex:0 0 1px;align-self:stretch;margin:6px 0;background:var(--card-border)}.ah-cell{display:flex;align-items:center;min-width:0}.ah-avatar{flex:0 0 auto;gap:16px}.ah-avatar .avatar-upload-wrapper{width:84px;height:84px;margin-bottom:0;flex:0 0 auto}.ah-avatar-text{display:flex;flex-direction:column;gap:2px;min-width:0}.ah-avatar .nickname{font-size:24px;line-height:1.1}.ah-avatar .username{font-size:16px}.ah-rating{flex:0 0 auto;justify-content:center;padding:0 6px}.ah-rating .rating-card-body{width:auto;height:auto}.ah-rating .rc-ring{width:100px;height:100px}.ah-rating .rc-ring-value{font-size:24px}.ah-league{flex:1 1 auto;align-items:stretch;background:var(--color-surface);border:1px solid var(--card-border);border-radius:var(--r-md);padding:0}.ahl-head{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:14px;padding:14px 24px}.ahl-icon{flex:0 0 auto;width:54px;height:54px;display:inline-flex}.ahl-icon img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.ahl-name{min-width:0;display:flex;flex-direction:column;gap:4px}.ahl-label,.ahl-stat-label{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.ahl-title{font-size:28px;font-weight:700;line-height:1;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ahl-stat{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:14px 24px;border-left:1px solid var(--card-border)}.ahl-stat-value{font-size:20px;font-weight:800;line-height:1;color:var(--color-text);white-space:nowrap}.ahl-accent{color:var(--color-accent)}@media(max-width:1048px){.app-header{gap:12px;padding:10px 14px}.ah-avatar{gap:12px}.ah-avatar .avatar-upload-wrapper{width:72px;height:72px}.ah-avatar .nickname{font-size:24px}.ah-avatar .username{font-size:14px}.ah-rating .rc-ring{width:90px;height:90px}.ah-rating .rc-ring-value{font-size:24px}.ahl-head{gap:10px;padding:12px 16px}.ahl-icon{width:44px;height:44px}.ahl-title{font-size:24px}.ahl-stat{padding:12px 16px;gap:6px}.ahl-stat-value{font-size:18px}}.container{padding-left:var(--space-page);padding-right:var(--space-page);width:100%;margin:32px auto;display:flex;gap:24px}.swipe-track{display:contents}@media(min-width:769px){.swipe-track>.tasks{order:1}.swipe-track>.habits{order:2}.swipe-track>.actions{order:3}}.new_block{background:var(--color-bg-panel);width:33%;padding:24px 10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left;border-radius:var(--r-md);font-size:16px;min-height:100px;box-shadow:none;transition:box-shadow .2s}.block{background:var(--color-bg-panel);border:1px solid var(--border-subtle);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left;border-radius:var(--r-md);font-size:16px;min-height:100px;box-shadow:none;transition:box-shadow .2s}.block-head{padding:24px 10px;width:100%}.block.card{position:relative;width:33%}.card-head{padding:10px;width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-head-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.icon-btn{background:none;border:none;padding:0;cursor:pointer;outline:none;color:var(--color-text)}.icon-btn:active{transform:scale(.95)}.icon-btn img{width:28px;height:28px}.avatar-upload-wrapper{position:relative;width:140px;height:140px;margin-bottom:12px;cursor:pointer}.avatar-img{width:100%;height:100%;border-radius:var(--r-circle);border:2px solid var(--color-accent);box-shadow:0 0 0 2px #060606;object-fit:cover;transition:filter .3s ease}.avatar-overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--r-circle);background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.avatar-upload-wrapper:hover .avatar-overlay{opacity:1}.avatar-edit-icon{color:#fff;width:32px;height:32px}.avatar{padding-left:50px}.nickname{font-size:34px;font-weight:600;color:var(--color-text)}.username{font-size:16px;color:var(--color-text-muted)}.editable-field{position:relative;cursor:pointer;padding:3px 12px;border-radius:var(--r-sm);transition:background-color .2s ease;display:inline-flex;align-items:center;gap:8px}.editable-field:hover{background-color:#ffffff0d}.field-edit-icon{opacity:0;transition:opacity .2s ease;width:16px;height:16px;color:var(--color-text-muted)}.editable-field:hover .field-edit-icon{opacity:1}.confirm-editing{padding:20px}.edit-content{display:flex;flex-direction:column;gap:16px}.edit-title{font-size:20px;font-weight:600;margin-bottom:10px}.profile-avatar-emoji-btn{margin-top:8px;padding:8px 14px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:#ffffff0d;color:#c0c0cc;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.profile-avatar-emoji-btn:hover{background:#ffffff1a;color:#f0f0f0}body.light-theme .profile-avatar-emoji-btn{background:#f0f4f8;border-color:#d0dae4;color:#4a5a6a}body.light-theme .profile-avatar-emoji-btn:hover{background:#e2eaf3;color:#2b3d52}.rating-title{font-size:20px;font-weight:400;display:flex;align-items:center;gap:8px}.rating{display:flex;justify-content:center}.icon{width:22px;height:22px;vertical-align:middle}.rating-value{font-size:28px;font-weight:700;color:var(--color-accent);margin-bottom:8px}.rating-bar{width:30%;height:8px;background:#2d2d2d;border-radius:var(--r-sm);overflow:hidden;margin-bottom:4px}@keyframes ratingBarFill{0%{width:0%}to{width:var(--bar-width, 0%)}}.rating-bar-fill{height:100%;background:var(--color-accent);border-radius:var(--r-sm);animation:ratingBarFill .9s cubic-bezier(.4,0,.2,1) forwards}.league-inline-meta{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px}.league-inline-icon{width:42px;height:42px;margin-bottom:0;image-rendering:pixelated}.league-open-link{color:#6b9fff;font-size:14px;font-weight:600}.league-points-value{font-size:34px;font-weight:800;color:var(--color-accent);line-height:1;margin-bottom:0}.league-card-inline{align-items:stretch;gap:10px;text-align:left}.league-inline-top{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:#ffffff08}.league-inline-head{min-width:0;display:flex;flex-direction:column;gap:2px}.league-inline-name-label{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:#fff9}.league-name-value{font-size:30px;font-weight:700;line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-points-row{width:100%;border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--color-accent) 12%,transparent);padding:8px 10px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.league-inline-points-label{font-size:12px;color:#d1e1ffd9}.league-inline-meta-item{border:1px solid var(--border-subtle);border-radius:var(--r-md);background:#ffffff05;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.league-inline-meta-label{font-size:12px;color:#fff9;text-transform:uppercase;letter-spacing:.35px}.league-inline-meta-item strong{font-size:16px;color:#fff}.rating-card.mobile-rating-card{align-items:stretch;padding:20px}.rating-card-body{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.rc-ring{position:relative;width:132px;height:132px;flex:none}.rc-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.rc-ring-track{fill:none;stroke:color-mix(in srgb,var(--color-border) 75%,transparent);stroke-width:10}.rc-ring-fill{fill:none;stroke:var(--color-accent);stroke-width:10;stroke-linecap:round}.rc-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.rc-ring-label{font-size:12px;font-weight:600;letter-spacing:.5px;color:var(--color-text-muted)}.rc-ring-value{font-size:32px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--color-accent)}.rc-ring-remain{margin-top:1px;font-size:12px;font-weight:600;color:color-mix(in srgb,var(--color-text-muted) 85%,transparent)}@media(max-width:1048px){.rating-card.new_block .rc-ring{width:116px;height:116px}.rating-card.new_block .rc-ring-value{font-size:28px}}@media(max-width:768px){.rating-card.mobile-rating-card{padding:16px}}.rc-ring-value,.ahl-stat-value,.league-points-value,.habits-completion-badge-value,#stats-streak-value,.stats-streak-best strong,.league-group-chest-badge,.loot-card-amount,.daily-reward-amount,.reward-celebrate-amount,.reward-fly-coin{font-family:var(--font-display);font-variant-numeric:tabular-nums}.flame-icon{display:inline-block;flex:0 0 auto;vertical-align:middle;object-fit:contain;image-rendering:pixelated}.section-title{font-size:20px;font-weight:400;display:flex;align-items:center;gap:8px}.achievements-list{list-style:none;padding:0;margin:0}.achievement-item{background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:10px 16px;margin-bottom:10px}.achievement-title{font-weight:600;color:var(--color-accent)}.achievement-desc{font-size:16px;color:#ccc;margin-left:8px}.profile-card .profile-achievements-list li{flex-direction:row;align-items:center;gap:10px}.profile-achievement-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.profile-achievement-text{display:flex;flex-direction:column;min-width:0}.ach-layout{display:flex;flex-direction:column;gap:24px;padding-bottom:40px}.ach-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:16px 24px;background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--r-md)}.ach-h1{font-size:24px;font-weight:600;margin:0;color:var(--color-text)}.ach-count{font-size:15px;color:var(--color-text-muted)}.ach-count strong{color:var(--color-accent);font-size:18px}.ach-section{display:flex;flex-direction:column;gap:12px}.ach-section-title{font-size:18px;font-weight:500;margin:0;color:var(--color-text)}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}.ach-card{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:var(--r-md);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ach-card:hover{transform:translateY(-3px);border-color:var(--color-accent);box-shadow:var(--sh-1)}.ach-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ach-card.ach-done{border-color:var(--color-accent)}.ach-secret{opacity:.65}.ach-secret:hover{transform:none;border-color:var(--accent-ai);box-shadow:0 0 16px color-mix(in srgb,var(--accent-ai) 35%,transparent);opacity:.9;cursor:help;animation:ach-wiggle .4s ease}@keyframes ach-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}.ach-icon-wrap{position:relative;flex-shrink:0}.ach-icon{width:52px;height:52px;object-fit:contain;display:block}.ach-icon-empty,.ach-icon-lock{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--color-surface);border-radius:var(--r-md);color:var(--color-text-muted)}.ach-card:not(.ach-done) .ach-icon{filter:grayscale(.55);opacity:.85}.ach-check{position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:var(--r-circle);background:var(--color-accent);color:#fff;font-size:12px;line-height:18px;text-align:center;font-weight:700}.ach-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ach-title-row{display:flex;align-items:center;gap:8px;justify-content:space-between}.ach-title-main{display:inline-flex;align-items:center;gap:6px;min-width:0}.ach-title{font-weight:600;color:var(--color-text);font-size:15px}.ach-tier-badge{font-size:12px;font-weight:600;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-sm);padding:1px 6px;flex-shrink:0;white-space:nowrap}.ach-desc{font-size:13px;color:var(--color-text-muted);line-height:1.35}.ach-tier-pips{display:inline-flex;gap:3px;flex-shrink:0}.ach-pip{width:7px;height:7px;border-radius:var(--r-circle);background:var(--color-surface);border:1px solid var(--color-border)}.ach-pip.on{background:var(--color-accent);border-color:var(--color-accent)}.ach-progress{display:flex;align-items:center;gap:8px;margin-top:4px}.ach-bar{flex:1;height:6px;border-radius:var(--r-sm);background:var(--color-surface);overflow:hidden}.ach-bar-fill{height:100%;border-radius:var(--r-sm);background:var(--color-accent);transition:width .4s ease}.ach-progress-text{font-size:12px;color:var(--color-text-muted);flex-shrink:0;white-space:nowrap}.ach-reward{font-size:12px;font-weight:600;color:var(--color-accent);background:var(--color-surface);border-radius:var(--r-sm);padding:1px 6px;flex-shrink:0}.ach-loading{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--color-text-muted);font-size:1.1rem}.ach-empty{color:var(--color-text-muted);font-size:16px;padding:24px 4px}.ach-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ach-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.ach-chip{border:1px solid var(--color-border);background:var(--color-bg-panel);color:var(--color-text-muted);border-radius:var(--r-pill);padding:6px 14px;font-size:14px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.ach-chip:hover{color:var(--color-text)}.ach-chip.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.ach-sort-btn{border:1px solid var(--color-border);background:var(--color-bg-panel);color:var(--color-text-muted);border-radius:var(--r-md);padding:6px 12px;font-size:13px;cursor:pointer;transition:color .15s,border-color .15s}.ach-sort-btn:hover{color:var(--color-text)}.ach-sort-btn.active{color:var(--color-accent);border-color:var(--color-accent)}@media(max-width:768px){.ach-grid{grid-template-columns:1fr}}.ach-unlock-modal{text-align:center}.ach-unlock-list{list-style:none;margin:14px 0 4px;padding:0;display:flex;flex-direction:column;gap:10px}.ach-unlock-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--r-md);text-align:left}.ach-unlock-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0}.ach-unlock-body{display:flex;flex-direction:column;gap:2px;min-width:0}.ach-unlock-name{font-weight:600;color:var(--color-text);font-size:15px}.ach-unlock-desc{font-size:13px;color:var(--color-text-muted);line-height:1.35}.ach-unlock-reward{font-size:13px;color:var(--color-accent);font-weight:600}.confirm-dialog.ach-detail-modal{max-width:460px;text-align:left}.ach-detail{display:flex;flex-direction:column;gap:14px}.ach-detail-head{display:flex;gap:14px;align-items:center}.ach-detail-icon-wrap{flex-shrink:0}.ach-detail-icon{width:72px;height:72px;object-fit:contain;display:block}.ach-detail-icon-wrap:not(.done) .ach-detail-icon{filter:grayscale(.5);opacity:.85}.ach-detail-lock{width:72px;height:72px;display:flex;align-items:center;justify-content:center;font-size:34px;background:var(--color-surface);border-radius:var(--r-lg);color:var(--color-text-muted)}.ach-detail-title{font-size:20px;font-weight:600;color:var(--color-text)}.ach-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ach-detail-tag{font-size:12px;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-sm);padding:2px 8px}.ach-detail-tag--done{color:var(--color-accent);border-color:var(--color-accent)}.ach-detail-desc{color:var(--color-text-muted);font-size:14px;line-height:1.4;margin:0}.ach-detail-progress{display:flex;align-items:center;gap:10px}.ach-detail-reward{font-size:14px;color:var(--color-text-muted)}.ach-detail-reward strong{color:var(--color-accent)}.ach-ladder{border-top:1px solid var(--color-border);padding-top:12px}.ach-ladder-title{font-size:13px;color:var(--color-text-muted);margin-bottom:8px}.ach-ladder-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ach-ladder-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--r-md);background:var(--color-surface);border:1px solid transparent;font-size:13px;color:var(--color-text-muted)}.ach-ladder-row.current{border-color:var(--color-accent)}.ach-ladder-row.done .ach-ladder-name{color:var(--color-text)}.ach-ladder-tier{font-weight:600;flex-shrink:0}.ach-ladder-name{flex:1;min-width:0}.ach-ladder-meta{flex-shrink:0;white-space:nowrap}.ach-detail-actions{display:flex;justify-content:flex-end;margin-top:4px}.stats{width:33%;display:flex;flex-direction:column;gap:16px}.stats-block{width:100%;display:flex;flex-direction:column;gap:16px;background-color:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.stats-card-head{width:auto;padding-bottom:0}.habits-completion-card{padding:24px 16px 14px;box-shadow:inset 0 1px #ffffff0a,0 16px 34px #0000003d}.habits-completion-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:12px}.habits-completion-head .section-title{min-width:0}.habits-completion-badge{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:#ffffff08;flex:0 1 auto;max-width:min(100%,260px)}.habits-completion-badge-title{font-size:13px;color:#d6dff5d9;white-space:nowrap}.habits-completion-badge-value{font-size:36px;font-weight:800;color:#6da2ff;line-height:1}.habits-completion-badge-meta{font-size:12px;color:#c0cde6d1;line-height:1.25;text-align:right}.habits-completion-chart-wrap{width:100%;overflow:hidden}.habits-completion-chart{width:100%;min-width:0;height:clamp(136px,24vw,220px);display:block}.habits-completion-grid line{stroke:#9ab4eb24;stroke-width:1}.habits-completion-area{fill:url(#habitsCompletionAreaGradient)}.habits-completion-line{fill:none;stroke:#5f93ff;stroke-width:4;filter:drop-shadow(0 0 8px rgba(95,147,255,.35))}.habits-completion-point{fill:#5f93ff;stroke:#dae8ffcc;stroke-width:2;filter:drop-shadow(0 0 10px rgba(95,147,255,.5))}.habits-completion-x-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(2px,.8vw,8px);margin-top:6px;padding:0 3px;min-width:0}.habits-completion-x-label{text-align:center;font-size:clamp(11px,1.3vw,17px);font-weight:500;color:#d6dff5a8}.stats-streak-header{padding:20px 20px 14px;border-bottom:1px solid var(--border-subtle)}.stats-streak-title{font-size:18px;font-weight:700;color:#f2f6ff;margin-bottom:8px;line-height:1.1}.stats-streak-text{display:flex;align-items:baseline;gap:8px;color:#fff;font-weight:600;font-size:40px;line-height:1}#stats-streak-value{font-size:clamp(40px,6vw,58px);font-weight:800;letter-spacing:-.5px}#stats-streak-word{font-size:clamp(22px,3.2vw,32px);color:#ffffffeb;letter-spacing:.2px}.stats-streak-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(2px,.8vw,8px);padding:16px clamp(8px,1.6vw,16px) 14px}.stats-streak-day-item{display:flex;flex-direction:column;align-items:center;gap:clamp(4px,.7vw,8px);min-width:0}.stats-streak-day-icon{width:100%;height:clamp(34px,5vw,56px);display:flex;align-items:center;justify-content:center;font-size:clamp(20px,3.8vw,50px);line-height:1}.stats-streak-day-item.is-active .stats-streak-day-icon{filter:drop-shadow(0 0 10px rgba(255,142,46,.5))}.stats-streak-day-dot{width:clamp(16px,2.7vw,34px);height:clamp(16px,2.7vw,34px);max-width:100%;max-height:100%;border-radius:var(--r-circle);border:1px solid var(--border-strong);background:radial-gradient(circle at 35% 30%,#ffffff12,#ffffff05);box-shadow:inset 0 0 0 1px #ffffff08}.stats-streak-day-label{font-size:16px;font-weight:500;color:#d6dff5a8}.stats-streak-day-item.is-active .stats-streak-day-label{color:#ffecd6f2}.stats-streak-best{border-top:1px solid var(--border-subtle);padding:12px 20px 16px;color:#d8e0f2ad;font-size:18px;line-height:1.2}.stats-streak-best strong{color:#fff;font-weight:800}@media(max-width:900px){.habits-completion-card{padding:14px 12px 12px}.habits-completion-head{margin-bottom:8px}.habits-completion-badge{border-radius:var(--r-md);padding:8px 10px}.habits-completion-badge-title{font-size:12px}.habits-completion-badge-value{font-size:28px}.habits-completion-chart{height:clamp(132px,23vw,170px)}.habits-completion-x-label{font-size:14px}.stats-streak-header{padding:16px 14px 12px}.stats-streak-title{font-size:16px}.stats-streak-week{padding:14px 10px 10px;gap:4px}.stats-streak-day-label{font-size:14px}.stats-streak-best{padding:10px 14px 12px;font-size:18px}}@media(max-width:640px){.stats{width:100%}.habits-completion-head{flex-direction:column;align-items:stretch;gap:10px}.habits-completion-badge{align-items:flex-start;max-width:100%}.habits-completion-badge-title{white-space:normal}.habits-completion-badge-meta{text-align:left}.habits-completion-chart{height:clamp(126px,29vw,150px)}.habits-completion-x-label{font-size:13px}.stats-streak-card{border-radius:var(--r-md)}.stats-streak-text{gap:6px}#stats-streak-value{font-size:clamp(32px,11vw,44px)}#stats-streak-word{font-size:clamp(18px,6vw,26px)}.stats-streak-week{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:12px 10px 10px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.stats-streak-day-item{min-width:44px;flex:0 0 44px;gap:6px}.stats-streak-day-icon{height:42px;font-size:30px}.stats-streak-day-dot{width:26px;height:26px}.stats-streak-day-label{font-size:13px}.stats-streak-best{font-size:16px}}@media(max-width:420px){.habits-completion-card{padding:12px 8px 10px}.habits-completion-badge{padding:8px}.habits-completion-badge-title{font-size:12px}.habits-completion-badge-value{font-size:24px}.habits-completion-chart{height:132px}.habits-completion-x-label{font-size:12px}.stats-streak-header{padding:12px 10px 10px}.stats-streak-title{font-size:16px;margin-bottom:6px}.stats-streak-week{padding-left:8px;padding-right:8px}.stats-streak-day-item{min-width:40px;flex-basis:40px}.stats-streak-day-icon{height:36px;font-size:24px}.stats-streak-day-label{font-size:12px}.stats-streak-best{padding:8px 10px 10px;font-size:16px}}.tasks-list,.habits-list,.actions-list{list-style:none;width:100%;padding:0;margin:0 0 4px}@keyframes itemFadeIn{0%{opacity:0}to{opacity:1}}.task-item,.habit-item,.action-item{background:var(--card-bg);transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;cursor:pointer;border:1px solid var(--card-border);border-radius:var(--r-md);margin-bottom:10px;-webkit-user-select:none;user-select:none;animation:itemFadeIn .25s ease backwards}.habit-item:nth-child(1),.task-item:nth-child(1),.action-item:nth-child(1){animation-delay:0s}.habit-item:nth-child(2),.task-item:nth-child(2),.action-item:nth-child(2){animation-delay:.05s}.habit-item:nth-child(3),.task-item:nth-child(3),.action-item:nth-child(3){animation-delay:.1s}.habit-item:nth-child(4),.task-item:nth-child(4),.action-item:nth-child(4){animation-delay:.15s}.habit-item:nth-child(5),.task-item:nth-child(5),.action-item:nth-child(5){animation-delay:.18s}.habit-item:nth-child(n+6),.task-item:nth-child(n+6),.action-item:nth-child(n+6){animation-delay:.2s}.task-item,.habit-item,.action-item{cursor:grab}.task-item:active,.habit-item:active,.action-item:active{cursor:grabbing}.task-item.is-dragging-task,.habit-item.is-dragging-habit,.action-item.is-dragging-action{animation:none;opacity:.55;border-color:color-mix(in srgb,var(--color-accent) 70%,transparent);background:#232a3c}@media(hover:none)and (pointer:coarse){.task-item,.habit-item,.action-item{position:relative;overflow:hidden}.task-item:hover,.habit-item:hover,.action-item:hover{transform:none;box-shadow:none;border-color:var(--card-border)}.task-item.is-touch-drag-arming,.habit-item.is-touch-drag-arming,.action-item.is-touch-drag-arming{border-color:#5f8ce6c7;box-shadow:0 0 0 1px #5f8ce652;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.task-item.is-touch-drag-arming:before,.habit-item.is-touch-drag-arming:before,.action-item.is-touch-drag-arming:before{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,#6f9eff,#8db4ff);animation:touchDragHoldProgress .26s linear forwards;z-index:2}.task-item.is-touch-drag-ready,.habit-item.is-touch-drag-ready,.action-item.is-touch-drag-ready{border-color:#6f9efff2;box-shadow:0 0 0 2px #6f9eff59;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}@keyframes touchDragHoldProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tasks ul.tasks-list.drag-over,.habits ul.habits-list.drag-over,.actions ul.actions-list.drag-over{border:1px dashed color-mix(in srgb,var(--color-accent) 65%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.task-item:hover,.habit-item:hover,.action-item:hover{background:var(--card-bg-hover);transform:translateY(-1px);box-shadow:0 4px 18px #0000004d;border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}.task-wrapper,.habit-wrapper{display:flex;align-items:stretch;padding:12px;gap:12px}.task-left-control,.habit-left-control{display:flex;align-items:center;align-self:stretch}.task-content,.habit-content{flex:1;min-width:0;cursor:pointer}.task-edit-trigger{padding:2px 2px 4px;border-radius:var(--r-md);transition:background .18s ease}.task-title,.habit-title{font-size:16px;font-weight:500;color:var(--card-title);margin:0 0 6px;line-height:1.4;word-break:break-word}.task-notes,.habit-notes{font-size:13px;color:var(--card-notes);margin:6px 0;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.task-meta,.habit-meta{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.task-subtasks-preview{margin-top:16px;margin-bottom:20px}.task-subtasks-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:6px}.subtasks-bar{height:3px;width:100%;background:color-mix(in srgb,var(--color-accent) 15%,transparent);border-radius:var(--r-sm);overflow:hidden}.subtasks-bar-fill{height:100%;width:var(--w, 0%);background:var(--color-accent);border-radius:var(--r-sm);transition:width .4s ease}.task-subtasks-progress{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#d9e5ff;background:color-mix(in srgb,var(--color-accent) 22%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 45%,transparent);border-radius:var(--r-pill);padding:2px 8px}.task-subtasks-progress-icon{line-height:1;opacity:.95}.task-subtasks-progress-count{line-height:1}.task-subtasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.subtask-collapse-btn{display:block;margin-top:4px;background:none;border:none;padding:2px 0;font-size:12px;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:color .15s}.subtask-collapse-btn:hover{color:var(--color-accent)}.task-subtask-item{min-height:32px;display:flex;align-items:flex-start;color:#e6eaf3;font-size:13px}.task-subtask-label{display:flex;align-items:flex-start;gap:8px;width:100%;min-width:0;position:relative}.task-subtask-checkbox{position:absolute;opacity:0;width:16px;height:16px;margin:0;cursor:pointer}.task-subtask-checkmark{width:16px;height:16px;flex:0 0 16px;margin-top:1px;cursor:pointer}.task-subtask-checkbox:focus-visible~.task-subtask-checkmark{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 35%,transparent)}.task-subtask-title{display:block;flex:1;color:#d9dee8;line-height:1.3;min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.task-subtask-completed{text-decoration:line-through;opacity:.65}.task-actions,.habit-actions{flex-shrink:0;opacity:0;transition:opacity .2s}.task-item:hover .task-actions,.habit-item:hover .habit-actions{opacity:1}.task-menu-btn,.habit-menu-btn{background:transparent;border:none;padding:8px;cursor:pointer;border-radius:var(--r-sm);transition:background .2s;display:flex;align-items:center;justify-content:center}.task-menu-btn:hover,.habit-menu-btn:hover{background:#2d2d2d}.habit-inactive{opacity:.65;color:#999}.task-item.card-tint-first,.habit-item.card-tint-first,.action-item.card-tint-first{background-image:linear-gradient(0deg,color-mix(in srgb,var(--card-color) 5%,transparent),color-mix(in srgb,var(--card-color) 5%,transparent));border-color:color-mix(in srgb,var(--card-color) 24%,var(--color-border))}.task-item.card-tint-gradient,.habit-item.card-tint-gradient,.action-item.card-tint-gradient{position:relative;background-image:var(--card-gradient);border-color:transparent}.gradient-border{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--gb-radius, 10px);padding:var(--gb-width, 1.5px);background:var(--gb-gradient);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;z-index:2}.task-item.card-tint-first:hover,.habit-item.card-tint-first:hover,.action-item.card-tint-first:hover{background-color:#2d2d2d;background-image:linear-gradient(0deg,color-mix(in srgb,var(--card-color) 8%,transparent),color-mix(in srgb,var(--card-color) 8%,transparent))}.task-item.card-tint-gradient:hover,.habit-item.card-tint-gradient:hover,.action-item.card-tint-gradient:hover{background-color:#2d2d2d;background-image:var(--card-gradient);border-color:transparent}.task-item.card-stripe,.habit-item.card-stripe,.action-item.card-stripe{position:relative}.task-item.card-stripe:after,.habit-item.card-stripe:after,.action-item.card-stripe:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-md);background:var(--card-stripe) left center / 4px 100% no-repeat;pointer-events:none;z-index:1}body.light-theme .task-item.card-tint-first,body.light-theme .habit-item.card-tint-first,body.light-theme .action-item.card-tint-first{background-color:#fff;background-image:linear-gradient(0deg,color-mix(in srgb,var(--card-color) 7%,transparent),color-mix(in srgb,var(--card-color) 7%,transparent));border-color:color-mix(in srgb,var(--card-color) 26%,var(--color-border))}body.light-theme .task-item.card-tint-gradient,body.light-theme .habit-item.card-tint-gradient,body.light-theme .action-item.card-tint-gradient{background-color:#fff;background-image:var(--card-gradient);border-color:transparent}body.light-theme .task-item.card-tint-first:hover,body.light-theme .habit-item.card-tint-first:hover,body.light-theme .task-item.card-tint-gradient:hover,body.light-theme .habit-item.card-tint-gradient:hover{background-color:#f6f8fb}.tasks,.habits{min-height:200px;align-items:flex-start}.tasks{grid-area:tasks}.task-difficulty,.habit-difficulty,.task-deadline,.habit-streak-badge{font-size:12px;padding:4px 8px;border-radius:var(--r-sm);background:var(--card-badge-bg);color:var(--card-badge-fg)}input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1)}.task-difficulty-trivial,.habit-difficulty-trivial{background:#2a5c2a;color:#afa}.task-difficulty-easy,.habit-difficulty-easy{background:#2a4a5c;color:#aff}.task-difficulty-medium,.habit-difficulty-medium{background:#5c4a2a;color:#ffa}.task-difficulty-hard,.habit-difficulty-hard{background:#5c2a3a;color:#faf}.actions{min-height:200px;align-items:flex-start}.action-wrapper{display:flex;align-items:center;gap:12px;padding:12px}.action-btn{width:38px;height:38px;border-radius:var(--r-circle);border:3px solid var(--action-btn-bd);background:transparent;font-size:20px;line-height:1;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.action-btn:active{transform:scale(.92)}.action-btn.positive:disabled,.action-btn.negative:disabled{color:#555;border-color:var(--action-btn-bd-disabled);cursor:default;opacity:.6}.action-btn.positive:disabled:hover,.action-btn.negative:disabled:hover{background:transparent;border-color:var(--action-btn-bd-disabled)}.action-btn:disabled:active{transform:none}.action-btn.positive{color:#6fd06f;border-color:#5faa5f59}.action-btn.positive:hover{background:#5faa5f26;border-color:#5faa5f99}.action-btn.negative{color:#ff7676;border-color:#ff767659}.action-btn.negative:hover{background:#ff767626;border-color:#ff767699}.action-content{flex:1;min-width:0;cursor:pointer}.action-title{font-size:14px;font-weight:500;margin:0;color:var(--card-title)}.action-notes{font-size:12px;color:var(--card-notes);margin-top:2px}.action-meta{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;align-items:center}.action-count-badge{font-size:12px;padding:4px 8px;border-radius:var(--r-sm);background:var(--card-badge-bg);color:var(--card-badge-fg);font-weight:600}.action-count-positive{color:var(--action-pos-badge-fg);background:var(--action-pos-badge-bg)}.action-count-negative{color:var(--action-neg-badge-fg);background:var(--action-neg-badge-bg)}.action-actions{flex:none}.action-polarity-toggle{display:flex;gap:8px}.action-polarity-option{flex:1;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:transparent;color:#bbb;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.action-polarity-option.positive.is-active{color:#afa;background:#5faa5f2e;border-color:#5faa5f99}.action-polarity-option.negative.is-active{color:#ffbcbc;background:#ff767629;border-color:#ff767699}body.light-theme .action-polarity-option{color:#5a6472;border-color:#00000024}body.light-theme .action-polarity-option.positive.is-active{color:#1f7a3d;background:#2ea0501f;border-color:#2ea0508c}body.light-theme .action-polarity-option.negative.is-active{color:#c0392b;background:#dc463c1a;border-color:#dc463c80}.profile-stats-cell{width:100%}.profile-stats-cell .stats-block{margin:0}.days-selector{display:flex;gap:8px;flex-wrap:wrap}.day-toggle{width:40px;height:40px;border:2px solid var(--color-border);border-radius:var(--r-md);background:var(--color-bg-panel);color:#ddd;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0;outline:none}.day-toggle:hover{border-color:var(--color-accent);background:#2d2d2d}.day-toggle.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.day-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-md);padding:10px 20px;font-family:var(--font-base);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,filter .15s ease}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:8px 14px;font-size:13px}.btn--block{width:100%}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){filter:brightness(1.08)}.btn--primary:active:not(:disabled){filter:brightness(.95)}.btn--secondary{background:transparent;color:var(--color-accent);border-color:color-mix(in srgb,var(--color-accent) 60%,transparent)}.btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.btn--ghost{background:transparent;color:var(--color-text-muted);border-color:var(--border-strong)}.btn--ghost:hover:not(:disabled){color:var(--color-text);border-color:var(--color-accent)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){filter:brightness(1.08)}.btn--danger-ghost{background:transparent;color:var(--color-danger-fg);border-color:color-mix(in srgb,var(--color-danger-fg) 55%,transparent)}.btn--danger-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger-fg) 12%,transparent)}.btn-delete{width:100%;background:var(--color-bg-panel);color:#dc3545;border:2px solid #dc3545;border-radius:var(--r-md);padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-delete svg{display:block}.btn-delete svg path{fill:currentColor;transition:fill .2s ease}.btn-delete:hover{background:#dc3545;color:#fff}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--menu-btn-fg);font-size:18px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.icon-btn svg{width:18px;height:18px;display:block}.icon-btn:hover:not(:disabled),.icon-btn.is-open{background:var(--menu-btn-hover-bg);color:var(--menu-btn-hover-fg)}.icon-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--sm{width:28px;height:28px}.icon-btn--md{width:36px;height:36px;border-radius:var(--r-md)}.icon-btn--accent:hover:not(:disabled){color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.icon-btn--danger:hover:not(:disabled){color:var(--color-danger-fg);background:color-mix(in srgb,var(--color-danger-fg) 14%,transparent)}.icon-btn--accent-on{color:var(--color-accent)}.icon-btn--accent-on:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.checkbox-container{display:flex;align-items:center;position:relative;padding-left:45px;margin-top:0;cursor:pointer}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}@keyframes checkmarkPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.35);opacity:1}to{transform:scale(1);opacity:1}}@keyframes checkmarkBgPop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.checkmark,.task-subtask-checkmark{display:flex;justify-content:center;align-items:center;background-color:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--r-sm);transition:background-color .2s ease,border-color .2s ease}.checkmark-icon{width:12px;height:12px;opacity:0;transform:scale(.85);transition:opacity .16s ease,transform .16s ease;pointer-events:none}.checkmark{position:absolute;left:0;height:34px;width:34px}.task-subtask-checkmark{position:relative;left:auto}.task-subtask-checkmark .checkmark-icon{width:10px;height:10px}.checkbox-container input:checked~.checkmark,.task-subtask-checkbox:checked~.task-subtask-checkmark{background-color:var(--color-accent);animation:checkmarkBgPop .22s ease forwards}.checkbox-container input:checked~.checkmark .checkmark-icon,.task-subtask-checkbox:checked~.task-subtask-checkmark .checkmark-icon{animation:checkmarkPop .28s cubic-bezier(.34,1.5,.64,1) forwards}.task-item.is-dragging-task .checkmark,.task-item.is-dragging-task .checkmark-icon,.habit-item.is-dragging-habit .checkmark,.habit-item.is-dragging-habit .checkmark-icon{animation:none!important}.card-filters{display:flex;width:100%;min-width:0;max-width:100%;flex-wrap:wrap;justify-content:start;align-items:start;gap:10px;margin-bottom:20px;font-size:14px}.filter{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;border:none;font:inherit;padding:8px 16px;border-radius:var(--r-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s;color:#bbb}.filter:hover{background-color:#2d2d2d;color:#fff}.filter.active{color:var(--color-accent);font-weight:600;text-decoration:underline;text-underline-offset:10px;text-decoration-thickness:2px}.filter:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.footer{display:flex;justify-content:end;margin-top:auto;background:transparent;color:#fff;text-align:center;padding:8px 34px 8px 0;font-size:14px;letter-spacing:1px}.mobile-bottom-nav{display:none}.rewards-card{width:100%;background-color:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:16px}.rewards-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 16px;opacity:.5}.rewards-empty-icon{font-size:48px}.rewards-empty p{font-size:16px;color:#fff9;margin:0}.mobile-rating-panel{display:none}.mobile-rating-card{background-color:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;align-items:center;gap:10px}.mobile-rating-card .rating-value{text-align:center}.mobile-rating-card .rating-bar{width:100%}.fab-picker-backdrop,.fab-picker{display:none}@media(max-width:768px){body.index-page .app-header{display:none!important}body.index-page{padding-bottom:0;overflow:hidden;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}body.index-page .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:35;display:grid;grid-template-columns:1fr 1fr 56px 1fr 1fr;align-items:end;padding:0 0 env(safe-area-inset-bottom);background:#1a1a1af7;border-top:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:opacity .2s ease}body.nav-menu-open.index-page .mobile-bottom-nav{opacity:.3;pointer-events:none}body.index-page .mobile-bottom-nav-btn{border:none;background:transparent;border-radius:0;padding:8px 4px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;cursor:pointer}body.index-page .mobile-bottom-nav-icon{width:22px;height:22px;stroke:#fff6;transition:stroke .2s ease}body.index-page .mobile-bottom-nav-btn.is-active .mobile-bottom-nav-icon{stroke:var(--color-accent)}body.index-page .mobile-bottom-nav-label{font-size:12px;letter-spacing:.3px;color:#fff6;transition:color .2s ease}body.index-page .mobile-bottom-nav-btn.is-active .mobile-bottom-nav-label{color:var(--color-accent)}.mobile-bottom-nav-fab-spacer{display:flex;align-items:center;justify-content:center;position:relative}body.index-page .mobile-bottom-nav-fab{position:absolute;bottom:8px;width:52px;height:52px;border-radius:var(--r-lg);border:none;background:#2fbd59;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #2fbd5959;cursor:pointer;transition:transform .25s ease,background .2s ease;z-index:36}body.index-page .mobile-bottom-nav-fab:active{transform:scale(.92)}body.index-page .mobile-bottom-nav-fab.is-open{transform:rotate(45deg);background:#e05252;box-shadow:0 4px 16px #e0525259}body.index-page .fab-picker-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:34;background:#0006}body.index-page .fab-picker{display:flex;flex-direction:column;gap:8px;position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;z-index:37}body.index-page .fab-picker-btn{display:flex;align-items:center;gap:10px;padding:12px 24px;border:none;border-radius:var(--r-lg);background:#282a30f7;color:#fff;font-size:16px;font-weight:500;white-space:nowrap;cursor:pointer;box-shadow:0 4px 20px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .15s ease}body.index-page .fab-picker-btn:active{background:#3c4048f7}body.index-page .fab-picker-btn svg{stroke:var(--color-accent);flex-shrink:0}body.index-page .container{overflow:hidden;padding:0;margin:0;gap:0;flex-direction:row;height:calc(100vh - 72px - env(safe-area-inset-bottom));height:calc(100dvh - 72px - env(safe-area-inset-bottom));overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}body.index-page .swipe-track{display:flex!important;flex-direction:row;flex-wrap:nowrap;width:100%;height:100%;will-change:transform;touch-action:pan-y pinch-zoom}body.index-page .swipe-track>[data-mobile-panel]{flex:none;width:100vw;min-width:0;min-height:0;height:100%;box-sizing:border-box;padding:16px 16px calc(80px + env(safe-area-inset-bottom)) 16px;display:block!important;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}body.index-page .swipe-track>[data-mobile-panel=stats]{display:flex!important;flex-direction:column;gap:16px}body.index-page .swipe-track>[data-mobile-panel=rating]{display:flex!important;flex-direction:column;gap:16px}body.index-page .swipe-track .mobile-rating-panel{display:flex!important}}@media(max-width:768px){body.light-theme.index-page .mobile-bottom-nav{background:#eceef2f7;border-top-color:#adb8ca80}body.light-theme.index-page .mobile-bottom-nav-icon{stroke:#28324666}body.light-theme.index-page .mobile-bottom-nav-btn.is-active .mobile-bottom-nav-icon{stroke:var(--color-accent)}body.light-theme.index-page .mobile-bottom-nav-label{color:#28324673}body.light-theme.index-page .mobile-bottom-nav-btn.is-active .mobile-bottom-nav-label{color:var(--color-accent)}body.light-theme .rewards-empty p{color:#1e283c80}body.light-theme .mobile-rating-card{background:#fff;border-color:var(--color-border)}body.light-theme.index-page .fab-picker-btn{background:#eceef2f7;color:#1e2028;box-shadow:0 4px 20px #0000001f}body.light-theme.index-page .fab-picker-btn:active{background:#dce0e8f7}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#24262acc;z-index:1000}.modal{position:fixed;top:50%;left:50%;background:var(--color-bg-panel);border-radius:var(--r-md);box-shadow:var(--sh-3);z-index:1010;min-width:500px;max-width:600px;width:90%;max-height:90vh;overflow-y:hidden;display:flex;flex-direction:column}.modal-content{display:flex;flex-direction:column;width:100%;max-height:inherit;min-height:0}.modal-header{background:color-mix(in srgb,var(--color-accent) 82%,#000);color:#fff;padding:24px 28px;border-radius:var(--r-md) var(--r-md) 0 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:24px;font-weight:700;color:#fff}.modal-header-actions{display:flex;gap:12px;align-items:center}.modal-body{padding:28px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.field-edit-error{color:#ff6b6b;font-size:13px;margin-top:-8px;padding:8px 12px;background:#ff6b6b1a;border-radius:var(--r-md);border:1px solid rgba(255,107,107,.25)}.guest-toast{position:fixed;bottom:32px;left:50%;background:var(--color-surface, #1e1e2e);color:var(--color-text, #fff);padding:14px 28px;border-radius:var(--r-md);font-size:16px;font-weight:500;box-shadow:var(--sh-2);border:1px solid var(--color-accent);z-index:10000;pointer-events:none}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#fff;margin-bottom:8px}.subtasks-list{border:1px solid rgba(118,111,132,.45);border-radius:var(--r-md);background:linear-gradient(180deg,#252b38d1,#1e222ceb);padding:10px;max-height:220px;overflow-y:auto}.subtasks-list:empty{display:none}.subtasks-list:empty+.subtask-add-btn{margin-top:0}.subtasks-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.subtasks-group-hint{font-size:12px;color:#9aa6bf}.subtask-row{display:grid;grid-template-columns:16px 20px 1fr 28px;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid rgba(86,98,122,.28)}.subtask-row.is-dragging-subtask,.subtask-edit-row.is-dragging-subtask{opacity:.6;border-radius:var(--r-md);background:#5879b61f}.subtasks-list.is-subtask-drag-over{border-color:#678edcb8}.subtask-drag-handle{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;align-self:center;border:none;background:transparent;color:#8fa4ce;cursor:grab;padding:0;line-height:1;touch-action:none}.subtask-drag-handle:active{cursor:grabbing}.subtask-drag-handle:focus-visible{outline:2px solid rgba(103,142,220,.85);outline-offset:2px;border-radius:var(--r-sm)}.subtask-drag-icon{width:12px;height:12px;display:block;opacity:.92}.subtask-checkbox{align-self:center}.subtask-row:last-child{border-bottom:none}.subtask-checkbox{width:16px;height:16px;margin:0;display:block;accent-color:var(--color-accent)}.subtask-input{background:#ffffff05;border:1px solid rgba(86,103,139,.45);border-radius:var(--r-md);color:#eef2fb;font-size:14px;padding:6px 8px;outline:none;transition:border-color .18s ease,background .18s ease;min-width:0;overflow-wrap:anywhere;word-break:break-word}.subtask-input:focus{border-color:var(--color-accent);background:#ffffff0a}.subtask-remove-btn{background:transparent;border:none;color:#97a8cf;cursor:pointer;font-size:20px;line-height:1;padding:0}.subtask-remove-btn:hover{color:#e7efff}.subtasks-actions{display:flex;gap:8px;margin-top:10px}.subtask-add-btn{background:color-mix(in srgb,var(--color-accent) 14%,transparent);border:1px dashed color-mix(in srgb,var(--color-accent) 55%,transparent);border-radius:var(--r-md);color:#d3e2ff;font-size:13px;font-weight:600;cursor:pointer;padding:8px 10px;flex:1;text-align:left;transition:background .18s ease,border-color .18s ease}.subtask-add-btn:hover{background:color-mix(in srgb,var(--color-accent) 22%,transparent);border-color:#7599f1cc}.subtask-ai-btn{display:flex;align-items:center;gap:4px;background:color-mix(in srgb,var(--accent-ai) 14%,transparent);border:1px dashed color-mix(in srgb,var(--accent-ai) 50%,transparent);border-radius:var(--r-md);color:#d8b4fe;font-size:13px;font-weight:600;cursor:pointer;padding:8px 12px;white-space:nowrap;transition:background .18s ease,border-color .18s ease}.subtask-ai-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-ai) 24%,transparent);border-color:#a78bfacc}.subtask-ai-btn:disabled{opacity:.6;cursor:not-allowed}.subtask-ai-error{font-size:12px;color:#f87171;margin-top:6px}.subtask-guest-banner{margin-top:10px;padding:12px 14px;border:1px solid rgba(251,191,36,.35);border-radius:var(--r-md);background:#fbbf2412;display:flex;flex-direction:column;gap:10px}.subtask-guest-banner-text{font-size:13px;color:#fde68a;line-height:1.45}.subtask-guest-banner-actions{display:flex;gap:8px;justify-content:flex-end}.subtask-guest-banner-close{background:none;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:#aaa;font-size:13px;font-weight:500;cursor:pointer;padding:4px 12px;transition:background .15s,color .15s}.subtask-guest-banner-close:hover{background:#ffffff12;color:#ddd}.subtask-guest-banner-register{background:#fbbf2433;border:1px solid rgba(251,191,36,.5);border-radius:var(--r-sm);color:#fde68a;font-size:13px;font-weight:600;cursor:pointer;padding:4px 12px;transition:background .15s}.subtask-guest-banner-register:hover{background:#fbbf2452}.subtask-suggestions{margin-top:10px;border:1px solid color-mix(in srgb,var(--accent-ai) 35%,transparent);border-radius:var(--r-md);padding:12px;background:color-mix(in srgb,var(--accent-ai) 7%,transparent)}.subtask-suggestions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.subtask-suggestions-title{font-size:12px;font-weight:600;color:#c4b5fd;text-transform:uppercase;letter-spacing:.04em}.subtask-suggestions-regen{background:none;border:none;font-size:12px;color:#a78bfa;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}.subtask-suggestions-regen:hover:not(:disabled){color:#c4b5fd}.subtask-suggestions-regen:disabled{opacity:.5;cursor:not-allowed}.subtask-suggestions-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.subtask-suggestion-row{display:flex;align-items:center;gap:6px}.subtask-suggestion-input{flex:1;font-size:13px;padding:6px 10px}.subtask-suggestions-actions{display:flex;gap:8px;justify-content:flex-end}.subtask-suggestions-cancel{background:none;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:#aaa;font-size:13px;font-weight:500;cursor:pointer;padding:6px 14px;transition:background .15s,color .15s}.subtask-suggestions-cancel:hover:not(:disabled){background:#ffffff12;color:#ddd}.subtask-suggestions-confirm{background:color-mix(in srgb,var(--accent-ai) 25%,transparent);border:1px solid color-mix(in srgb,var(--accent-ai) 50%,transparent);border-radius:var(--r-sm);color:#e9d5ff;font-size:13px;font-weight:600;cursor:pointer;padding:6px 14px;transition:background .15s}.subtask-suggestions-confirm:hover:not(:disabled){background:color-mix(in srgb,var(--accent-ai) 38%,transparent)}.subtask-suggestions-confirm:disabled,.subtask-suggestions-cancel:disabled{opacity:.5;cursor:not-allowed}.form-input::placeholder{color:#777}textarea.form-input{resize:vertical;min-height:80px}select.form-input{cursor:pointer;background:var(--color-bg-panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23fff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:12px;padding-right:40px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#fff}.modal-btn{background:var(--color-accent);color:#fff;border:none;border-radius:var(--r-md);padding:12px 26px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.modal-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn-secondary{background:transparent;color:#fff;border:none;padding:10px 20px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;border-radius:var(--r-sm)}.modal-btn-secondary:hover{background:#ffffff26}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;height:100%;width:100%;padding:32px 0}.auth-card{background-color:#262626;border-radius:var(--r-md);padding:40px;box-shadow:var(--sh-1);max-width:400px;width:100%}.auth-title{font-size:28px;font-weight:700;color:#fff;text-align:center;margin-bottom:32px}.form-label{display:block;font-size:14px;font-weight:600;color:#fff;margin-bottom:8px}.form-input{width:100%;height:35px;padding:4px 16px;border-radius:var(--r-sm);border:1px solid rgba(230,230,230,.2);font-size:14px;font-family:var(--font-base);transition:border-color .2s;background-color:transparent;color:#fff}.form-input option{background-color:#2a2a2a;color:#fff}.floating-input{position:relative}.floating-label{position:absolute;top:50%;left:16px;transform:translateY(-50%);pointer-events:none;color:#aaa;font-size:14px;transition:.2s ease;background-color:var(--color-surface);padding:2px 4px}.form-input:focus+.floating-label,.form-input:not(:placeholder-shown)+.floating-label{font-weight:400;top:-10px;left:12px;transform:translateY(0);font-size:12px;color:#fff}.form-input:focus+.floating-label{color:var(--color-accent)}.form-input:focus{outline:none;border-color:var(--color-accent);background-color:transparent}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #2a2a2a inset!important;-webkit-text-fill-color:#ffffff!important;transition:background-color 5000s ease-in-out 0s}.auth-btn{width:100%;background:var(--color-accent);color:#fff;border:none;border-radius:var(--r-md);padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;margin-top:24px}.auth-btn:hover{background:var(--color-accent)}.auth-link{text-align:center;margin-top:20px;font-size:14px;color:#fff9}.auth-link a{color:var(--color-accent);text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}body.light-theme .auth-card{background:#fff;border:1px solid var(--color-border);box-shadow:0 8px 26px #1e33521f}body.light-theme .auth-title{color:#1f2d3d}body.light-theme .auth-link{color:#5a6b80}body.light-theme .auth-link a{color:#3f6ea0}body.light-theme .auth-note{background:#4a76a81f;border-color:#4a76a873;color:#3b5677}.auth-note{background:color-mix(in srgb,var(--color-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);color:#cdd8ff;padding:12px 14px;border-radius:var(--r-md);font-size:13px;line-height:1.4;margin-bottom:16px}.error-message{background:#ffe0e0;color:#d00;padding:12px 16px;border-radius:var(--r-md);margin-bottom:20px;font-size:14px}.field-error{color:#f44;font-size:13px;margin-top:6px;display:none;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-input.input-error{border-color:#f44}.form-input.input-error:focus{border-color:#f44}.password-field{position:relative}.password-field>.form-input,.password-field>input{padding-right:40px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:#aaa;cursor:pointer;border-radius:var(--r-sm);transition:color .2s,background-color .2s}.password-toggle:hover{color:#fff;background-color:#ffffff14}.password-toggle:disabled{cursor:not-allowed;opacity:.4}.password-toggle svg{width:18px;height:18px;display:block}@media(max-width:1048px){.card-filters{gap:8px;justify-content:flex-start}.filter{padding-right:3px;padding-left:3px}}@media(max-width:768px){.header{z-index:60}.header{height:56px;justify-content:flex-start;padding:8px 16px}.burger-menu{display:flex}.main-nav{position:fixed;top:0;left:0;width:270px;height:100vh;height:100dvh;box-sizing:border-box;padding-bottom:max(env(safe-area-inset-bottom,0px),12px);background:#2d2d2d;transform:translate(-100%);transition:transform .25s ease;z-index:65;overflow-y:auto}.nav-items{padding:0}.header.nav-open .main-nav{transform:translate(0)}.main-nav ul{gap:0;flex-direction:column;align-items:stretch;min-height:100%}.main-nav a{width:100%;justify-content:flex-start;text-align:left;display:flex;align-items:center}.main-nav li,.main-nav .logout-btn a{font-size:14px;width:100%}.main-nav .nav-end.nav-items{width:100%;padding:0;flex-direction:column;flex:1}.main-nav .nav-mobile-only{display:flex!important}.main-nav .nav-user-menu{display:none!important}.main-nav .mobile-end{margin-top:auto}.main-nav .nav-settings-link{width:100%!important;justify-content:flex-start}.main-nav .nav-settings-btn{width:100%;height:40px;border:none;background:transparent;border-radius:0;justify-content:flex-start;padding:8px 12px}.main-nav .nav-settings-btn.is-active{border:none;background:#575757}.nav-items li{height:40px;display:flex;align-items:center;border-radius:0}.nav-items li.active-nav-item{text-decoration:none;color:#fff;height:40px;background:#575757}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:64;opacity:0;pointer-events:none;transition:opacity .25s ease}.header.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.app-header{margin:16px;flex-direction:column;gap:20px;padding-left:16px;padding-right:16px}.stats{width:100%}.avatar.card,.rating.card{width:100%!important;padding:20px;text-align:center}.avatar-upload-wrapper{width:150px;height:150px;margin:0 auto 12px}.avatar-img{width:132px;height:132px}.nickname{font-size:20px}.rating-title{justify-content:center}.league-card-inline{text-align:left}.league-inline-top{padding:8px;gap:8px}.league-inline-icon{width:36px;height:36px}.league-name-value{font-size:24px}.league-points-row{padding:8px}.league-points-value{font-size:30px}.league-inline-meta{grid-template-columns:1fr;gap:6px}.league-inline-meta-item{padding:8px}.rating-bar{max-width:200px;margin-left:2px}.container{flex-direction:column;padding-left:16px;padding-right:16px;gap:16px;margin:16px auto}.block.card{width:100%!important}.card-head{flex-direction:column;align-items:flex-start;gap:12px}.section-title{font-size:18px}.card-filters{flex-wrap:wrap;gap:8px}.filter{padding:6px 12px;font-size:13px}.task-wrapper,.habit-wrapper{display:grid;grid-template-columns:38px minmax(0,1fr) 36px;align-items:center;gap:10px;padding:10px 12px}.task-content,.habit-content{width:100%}.task-title,.habit-title{font-size:14px;line-height:1.35;margin-bottom:4px}.task-notes,.habit-notes{margin:4px 0;font-size:12px}.task-meta,.habit-meta{gap:6px;margin-top:6px}.task-actions,.habit-actions{opacity:1;margin-top:0;align-self:center;justify-self:end}.task-menu-btn,.habit-menu-btn{padding:6px}.checkbox-container{padding-left:34px;margin-top:0}.checkmark{width:30px;height:30px}.modal{min-width:90%;max-width:95%;padding:0}.modal.confirm-editing{padding:14px}.modal.confirm-editing .edit-content{gap:12px}.modal.confirm-editing .modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-header{padding:14px;gap:8px;flex-wrap:nowrap;align-items:center}.modal-header h2{font-size:20px;line-height:1.2;min-width:0;flex:1 1 auto;margin-bottom:0}.modal-header-actions{width:auto;margin-left:auto;justify-content:flex-start;gap:6px;flex-shrink:0}.modal-header-actions .modal-btn,.modal-header-actions .modal-btn-secondary{padding:8px 10px;font-size:14px;line-height:1.1}.modal-body{padding:20px 24px}@media(max-width:420px){.modal-header{flex-wrap:wrap;align-items:flex-start}.modal-header h2{flex:1 1 100%;margin-bottom:2px}.modal-header-actions{width:100%;margin-left:0;justify-content:flex-end;flex-shrink:1}}.form-input,select.form-input{font-size:16px}.days-selector{gap:6px}.day-toggle{width:36px;height:36px;font-size:12px}.footer{padding-right:16px;font-size:13px}}@media(max-width:480px){body{font-size:14px}.auth-card{padding:24px 16px}}.modal-header h2{font-size:20px}.btn-delete,.modal-btn{font-size:14px;padding:8px 16px}.task-title,.habit-title{font-size:14px}.task-notes,.habit-notes{font-size:12px}.rating-container{padding-top:34px;display:flex;flex-direction:column;gap:16px;align-items:stretch;max-width:800px;margin:0 auto}.rating-notice{background:#1f2634;border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);padding:14px 16px;border-radius:var(--r-md);color:#d9e2ff;display:flex;flex-direction:column;gap:6px}.rating-notice-title{font-size:16px;font-weight:600}.rating-notice-actions{font-size:13px;color:#ffffffb3}.rating-notice-actions a{color:#6b9fff;font-weight:600}.leaderboard{width:100%;background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);display:flex;justify-content:center;align-items:center;padding:24px 10px}.wide-block{width:100%;background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);display:flex;justify-content:center;align-items:center;padding:34px}.transperant-block{background-color:transparent;box-shadow:none;border:none}.leaderboard{padding:10px}.leaderboard-list{list-style:none;width:100%;padding:0;margin:0}.leaderboard-item{display:flex;align-items:center;width:100%;padding:16px 20px;background:#ffffff0d;border-radius:var(--r-md);margin-bottom:12px;transition:all .2s;border:2px solid transparent;min-width:0}.leaderboard .card-head{margin-bottom:16px;display:flex;justify-content:center}.leaderboard-item:hover{background:#ffffff14;border-color:#4e4eff4d}.leaderboard-item.clickable-profile{cursor:pointer}.leaderboard-item[data-top="1"]{background:linear-gradient(135deg,#ffd70026,#ffd7000d);border-color:#ffd70066}.leaderboard-item[data-top="2"]{background:linear-gradient(135deg,#c0c0c026,#c0c0c00d);border-color:#c0c0c066}.leaderboard-item[data-top="3"]{background:linear-gradient(135deg,#cd7f3226,#cd7f320d);border-color:#cd7f3266}.leaderboard-rank{font-size:24px;font-weight:700;min-width:60px;text-align:center;color:#a0a0ff}.leaderboard-avatar{margin:0 16px}.leaderboard-avatar img{width:50px;height:50px;border-radius:var(--r-circle);object-fit:cover;border:2px solid rgba(78,78,255,.3)}.leaderboard-info{flex:1;min-width:0;overflow:hidden}.leaderboard-nickname{font-size:18px;font-weight:600;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-username{font-size:14px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-league{margin-top:6px;display:inline-flex;align-items:center;gap:8px;max-width:100%;width:fit-content;padding:4px 8px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);background:color-mix(in srgb,var(--color-accent) 14%,transparent);font-size:12px;font-weight:600;color:#dde8fff2;overflow:hidden}.leaderboard-league-icon{width:16px!important;height:16px!important;min-width:16px;min-height:16px;max-width:16px;max-height:16px;object-fit:contain;flex:0 0 16px}.leaderboard-league-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-rating{font-size:24px;font-weight:700;color:var(--color-accent);min-width:80px;text-align:right;flex-shrink:0}.rating-container .leaderboard-item{display:grid;grid-template-columns:60px 50px minmax(0,1fr) auto;align-items:center;column-gap:12px}.rating-container .leaderboard-avatar{margin:0}.rating-container .leaderboard-rating{min-width:64px;margin-left:8px}.leaderboard .card-head{flex-direction:column;gap:6px}.rating-my-rank{font-size:13px;color:#ffffffb3}.rating-my-rank strong{font-size:16px;color:#6b9fff;font-weight:700}.rating-my-rank-total{color:#ffffff80}.leaderboard-fade{position:relative;width:100%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}.leaderboard-list-compact{padding:28px 0}.rating-container .leaderboard-list-compact .leaderboard-item{grid-template-columns:40px 38px minmax(0,1fr) auto;column-gap:10px;padding:8px 14px;margin-bottom:8px;border-radius:var(--r-md)}.leaderboard-list-compact .leaderboard-rank{min-width:40px;font-size:18px}.leaderboard-list-compact .leaderboard-avatar img{width:38px;height:38px}.leaderboard-list-compact .leaderboard-nickname{font-size:16px;margin-bottom:2px}.leaderboard-list-compact .leaderboard-username{font-size:12px}.leaderboard-list-compact .leaderboard-league{margin-top:4px;padding:2px 8px;font-size:12px}.leaderboard-list-compact .leaderboard-rating{font-size:20px;min-width:56px}.leaderboard-item-me{background:linear-gradient(135deg,color-mix(in srgb,var(--color-accent) 22%,transparent),color-mix(in srgb,var(--color-accent) 8%,transparent));border-color:#6f9effd9;box-shadow:0 0 0 1px #6f9eff59,0 6px 18px color-mix(in srgb,var(--color-accent) 20%,transparent)}.leaderboard-item-me:hover{border-color:#6f9efff2}.leaderboard-self-badge{margin-left:8px;padding:2px 8px;border-radius:var(--r-pill);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#dbe8ff;background:color-mix(in srgb,var(--color-accent) 35%,transparent);border:1px solid rgba(111,158,255,.6);vertical-align:middle}.leagues-layout{max-width:1240px;margin:32px auto;align-items:flex-start}.leagues-main{flex:1;display:flex;flex-direction:column;gap:14px}.leagues-sidebar{width:320px;background:var(--color-bg-panel);border-radius:var(--r-md);border:1px solid var(--border-subtle);padding:16px}.league-top-banner{width:100%;background:var(--color-bg-panel);border:2px solid color-mix(in srgb,var(--color-accent) 45%,transparent);border-radius:var(--r-md);padding:16px 20px}.league-tabs{display:flex;gap:8px;max-width:1240px;margin:24px auto 0;padding:0 4px}.league-tab{flex:0 0 auto;padding:10px 24px;font-size:16px;font-weight:600;color:#fff9;background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.league-tab:hover{color:#ffffffd9}.league-tab-active{color:#fff;background:color-mix(in srgb,var(--color-accent) 18%,transparent);border-color:color-mix(in srgb,var(--color-accent) 55%,transparent)}.league-daily-last{width:100%;background:var(--color-bg-panel);border-radius:var(--r-md);border:1px solid var(--border-subtle);padding:12px 16px;font-size:14px;color:#ffffffd9}.league-daily-bonus{color:#4ade80;font-weight:600}.league-history-strip{width:100%;background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:12px 14px}.league-history-strip-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#ffffff80;margin-bottom:10px}.league-history-track{list-style:none;margin:0;padding:2px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.league-history-tile{flex:0 0 auto;min-width:72px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:var(--r-md);background:#ffffff08;border:1px solid var(--border-subtle);scroll-snap-align:start}.league-history-tile-date{font-size:12px;font-weight:600;color:#ffffffbf}.league-history-tile-icon{width:28px;height:28px;object-fit:contain}.league-history-tile-place{display:flex;flex-direction:column;align-items:center;line-height:1;font-size:16px;font-weight:700;color:#fff}.league-history-tile-place-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:#ffffff73;margin-top:2px}.league-history-tile-bonus{font-size:12px;font-weight:700;color:#4ade80}.league-banner-title{font-size:34px;font-weight:700;color:var(--color-accent)}.league-banner-subtitle{margin-top:8px;font-size:14px;color:#ffffffbf}.league-current-card{width:100%;background:var(--color-bg-panel);border-radius:var(--r-md);border:1px solid var(--border-subtle);padding:16px 20px}.league-current-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.league-current-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;color:#ffffffd9}.league-group{width:100%;background:var(--color-bg-panel);border-radius:var(--r-md);border:1px solid var(--border-subtle);padding:0;overflow:hidden}.league-group-title{font-size:40px;line-height:1;font-weight:700;text-align:center;padding:14px}.league-group-note{padding:10px 14px;font-size:13px;color:#ffffffbf;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.league-group .leaderboard-list{padding:10px}.league-group .leaderboard-item{border-radius:var(--r-md);margin-bottom:8px}.league-group-champion .league-group-title,.league-group-champion .league-group-note{background:#4b3f12}.league-group-winners .league-group-title,.league-group-winners .league-group-note{background:#5a3e2b}.league-group-members .league-group-title,.league-group-members .league-group-note{background:#2b2b2b}.league-group-laggards .league-group-title,.league-group-laggards .league-group-note{background:#2a2f52}.league-current-name-wrap,.league-title-with-icon{display:flex;align-items:center;gap:10px}.league-title-icon{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));transition:transform .18s ease,filter .18s ease}.league-current-header .league-title-icon{width:52px;height:52px;padding:6px;border-radius:var(--r-circle);background:radial-gradient(circle at 50% 38%,#ffffff29,#fff0 62%),#ffffff0a;box-shadow:inset 0 0 0 1px #ffffff14,0 4px 14px #00000073;filter:drop-shadow(0 3px 6px rgba(0,0,0,.5));animation:league-icon-float 4.5s ease-in-out infinite}body.light-theme .league-current-header .league-title-icon{background:radial-gradient(circle at 50% 32%,#fff,#e9eef6 82%);box-shadow:inset 0 1px #ffffffe6,inset 0 0 0 1px #2440681a,0 3px 9px #24406829;filter:drop-shadow(0 1px 2px rgba(36,64,104,.22))}@keyframes league-icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.league-current-header .league-title-icon{animation:none}}.league-meta-label{color:#fff9;font-size:13px}.league-card-head{width:100%}.league-zones{display:flex;gap:14px;font-size:14px;color:#ffffffb3}.league-score-col{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;margin-left:10px}.league-rating-total{font-size:12px;color:#ffffff8c}.league-current-user-row{border-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}.league-empty,.league-my-row-hint{width:100%;font-size:14px;color:#ffffffb3;padding:10px 14px 14px}.leagues-sidebar-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.leagues-sidebar-item{border:2px solid color-mix(in srgb,var(--color-accent) 35%,transparent);background:#21324f;border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:6px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.leagues-sidebar-item:hover{transform:translateY(-2px);border-color:#6f9effb3;box-shadow:0 6px 18px #00000059}.leagues-sidebar-item:hover .league-title-icon{transform:scale(1.12);filter:drop-shadow(0 3px 7px rgba(0,0,0,.55))}.leagues-sidebar-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#ffffffa6}.league-zones-inline{white-space:nowrap}.league-players-count{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:#fff;font-weight:600}.league-players-icon{width:12px;height:12px;fill:currentColor;color:#fff;opacity:1}.league-sidebar-current{background:linear-gradient(135deg,#355a9d,#294675);border-color:#6f9efff2;padding:16px;transform:scale(1.04);box-shadow:0 0 0 2px #6f9eff59}.league-sidebar-current .league-title-with-icon{font-size:18px;font-weight:700}.league-sidebar-current .league-title-icon{width:38px;height:38px}.league-sidebar-current .leagues-sidebar-meta{color:#ffffffe6;font-size:13px}.league-sidebar-dim{background:#141721;border-color:#343d56e6}.league-sidebar-dim .league-title-with-icon{color:#ffffffbd}.league-sidebar-dim .leagues-sidebar-meta{color:#ffffff80}.league-sidebar-dim .league-players-count{color:#fff}body.leagues-page .leagues-layout{max-width:1160px;gap:16px}body.leagues-page .leagues-main{gap:12px}body.leagues-page .league-top-banner{padding:16px;border-radius:var(--r-md)}body.leagues-page .league-banner-title{font-size:clamp(19px,1.9vw,24px);line-height:1.2;letter-spacing:.2px}body.leagues-page .league-banner-subtitle{margin-top:6px;font-size:12px;line-height:1.4}body.leagues-page #league-week-reset-countdown{font-weight:600;color:#ffffffeb}body.light-theme.leagues-page #league-week-reset-countdown{color:#355a83}body.leagues-page .league-current-card{padding:14px 16px;border-radius:var(--r-md)}body.leagues-page .league-current-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:13px}body.leagues-page .league-current-title{font-size:18px;font-weight:500;letter-spacing:.2px}body.leagues-page .league-group{border-radius:var(--r-md)}body.leagues-page .league-group-title{font-size:clamp(16px,1.3vw,20px);line-height:1.15;letter-spacing:.35px;text-transform:none;padding:12px;min-height:52px}body.leagues-page .league-group-chest-wrap{width:46px;height:46px}body.leagues-page .league-group-note{font-size:12px;line-height:1.45;padding:8px 12px}body.leagues-page .league-group .leaderboard-list{padding:8px}body.leagues-page .league-group .leaderboard-item{border-radius:var(--r-md);margin-bottom:8px;padding:10px 12px}body.leagues-page .leaderboard-rank{min-width:44px;font-size:16px}body.leagues-page .leaderboard-avatar{margin:0 10px}body.leagues-page .leaderboard-avatar img{width:42px;height:42px}body.leagues-page .leaderboard-nickname{font-size:16px;margin-bottom:2px}body.leagues-page .leaderboard-username{font-size:12px}body.leagues-page .leaderboard-rating{min-width:64px;font-size:16px}body.leagues-page .league-rating-total{font-size:12px}body.leagues-page .league-sidebar-title{font-size:16px;font-weight:500;letter-spacing:.3px}body.leagues-page .leagues-sidebar{width:300px;border-radius:var(--r-md);padding:14px}body.leagues-page .leagues-sidebar-list{gap:8px;margin-top:10px}body.leagues-page .leagues-sidebar-item{border-radius:var(--r-md);padding:10px}body.leagues-page .league-title-with-icon{gap:8px}body.leagues-page .league-title-icon{width:26px;height:26px}body.leagues-page .league-current-header .league-title-icon{width:46px;height:46px}body.leagues-page .leagues-sidebar-meta{font-size:12px}body.leagues-page .league-sidebar-current{transform:none;padding:12px;box-shadow:0 0 0 2px #6f9eff3d}body.leagues-page .league-sidebar-current .league-title-with-icon{font-size:16px}body.leagues-page .league-sidebar-current .league-title-icon{width:32px;height:32px}@media(max-width:768px){body.leagues-page .leagues-layout{gap:10px}body.leagues-page .league-banner-title{font-size:18px}body.leagues-page .league-current-grid{grid-template-columns:1fr;gap:6px}body.leagues-page .league-group-title{font-size:16px;padding:8px 10px}body.leagues-page .league-group-chest-wrap{left:8px;width:44px;height:44px}body.leagues-page .league-group-chest-wrap+.league-group-title-text{padding:0 46px}body.leagues-page .league-group-chest-badge{min-width:20px;height:19px;font-size:12px;right:-7px}body.leagues-page .league-group-note{font-size:12px;padding:8px 10px}body.leagues-page .leaderboard-rank{min-width:34px;font-size:14px}body.leagues-page .leaderboard-avatar img{width:34px;height:34px}body.leagues-page .leaderboard-nickname{font-size:13px}body.leagues-page .leaderboard-rating{min-width:50px;font-size:14px}body.leagues-page .league-current-title,body.leagues-page .league-sidebar-title{font-size:16px}body.leagues-page .leagues-sidebar{width:100%}}.profile-layout{max-width:1240px;margin:24px auto;flex-direction:column;gap:16px}.settings-layout{max-width:1000px;margin:24px auto;flex-direction:column;gap:16px}.no-border{border:none}.subtask-edit-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(86,98,122,.28)}.subtask-edit-row:last-child{border-bottom:none}.subtask-edit-input{flex:1 1 auto;width:auto;min-width:0}.subtasks-list .subtask-edit-row{display:grid;grid-template-columns:16px 16px minmax(0,1fr) 28px;align-items:center;column-gap:10px}.subtask-edit-checkbox{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--color-accent)}.subtask-edit-input-done{text-decoration:line-through;opacity:.55}.subtasks-list .subtask-edit-input{width:100%;margin:0}.subtasks-list .subtask-remove-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;justify-self:center}.profile-guest-banner{width:100%;background:linear-gradient(135deg,#355a9d,#294675);border:2px solid rgba(111,158,255,.8);border-radius:var(--r-md);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.profile-guest-banner-text{font-size:14px;color:#ffffffeb}.profile-guest-banner-text strong{color:#fff}.profile-guest-cta{flex-shrink:0;border:1px solid rgba(255,255,255,.9);background:#ffffff1f;color:#fff;border-radius:var(--r-md);font-size:14px;font-weight:600;padding:10px 14px}.profile-guest-cta:hover{background:#ffffff38}.profile-avatar-col{display:flex;flex-direction:column;align-items:center;gap:10px}.profile-avatar-wrapper{width:132px;height:132px;margin-bottom:0}.profile-avatar-hint{font-size:12px;color:#ffffff9e;text-align:center}.profile-identity-col{min-width:0}.profile-name{font-size:34px;font-weight:700;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-username{font-size:16px;color:#ffffffa3;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-joined{font-size:13px;color:#ffffff80;margin-bottom:12px}.profile-league-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-strong);background:var(--color-surface);border-radius:var(--r-pill);padding:6px 12px;margin-bottom:12px}.profile-league-chip img{width:20px;height:20px;object-fit:contain}.profile-league-chip span{font-size:13px;font-weight:600}.profile-rating-block{width:100%}.profile-rating-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}.profile-rating-top span{color:#ffffff9e;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.profile-rating-top strong{font-size:28px;color:var(--color-accent);line-height:1}.profile-rating-bar{margin:0;width:210px}.profile-stat-col{display:flex;flex-direction:column;gap:10px}.profile-stat-group{border:1px solid var(--border-subtle);background:#212121;border-radius:var(--r-md);padding:10px;display:grid;gap:8px}.profile-stat-group-title{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff9}.profile-stat-card{border:1px solid var(--border-strong);background:#252525;border-radius:var(--r-md);padding:12px}.profile-stat-value{font-size:24px;font-weight:700;color:#fff}.profile-stat-label{font-size:12px;color:#ffffff94}.profile-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-card{width:100%;background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:16px}.profile-card-wide{grid-column:1 / -1}.profile-card-title{font-size:16px;font-weight:600;margin-bottom:12px;letter-spacing:.2px}.profile-form{display:flex;flex-direction:column;gap:12px}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field span{font-size:12px;color:#ffffff8f;text-transform:uppercase;letter-spacing:.4px}.profile-field input{width:100%;border:1px solid var(--border-strong);background:#121212;color:#fff;border-radius:var(--r-md);font-size:14px;padding:12px;outline:none}.profile-field input:focus{border-color:color-mix(in srgb,var(--color-accent) 75%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 30%,transparent)}.profile-select{width:100%;border:1px solid var(--border-strong);background:#121212;color:#fff;border-radius:var(--r-md);font-size:14px;padding:12px;outline:none;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.profile-select:focus{border-color:color-mix(in srgb,var(--color-accent) 75%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 30%,transparent)}.tz-select{position:relative;width:100%}.tz-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border-strong);background:#121212;color:#fff;border-radius:var(--r-md);font-size:14px;padding:12px;outline:none;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.tz-select-trigger:hover,.tz-select-trigger.open{border-color:color-mix(in srgb,var(--color-accent) 75%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 30%,transparent)}.tz-select-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tz-select-arrow{flex-shrink:0;font-size:12px;color:#ffffff73;transition:transform .18s ease;display:inline-block}.tz-select-arrow.open{transform:rotate(180deg)}.tz-select-panel{position:absolute;top:calc(100% + 6px);left:0;width:100%;background:var(--color-bg-panel);border:1px solid var(--border-strong);border-radius:var(--r-md);z-index:300;overflow:hidden;box-shadow:0 8px 24px #00000073}.tz-select-search-wrap{padding:10px 10px 0}.tz-select-search{width:100%;background:#ffffff0f;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:#fff;font-size:13px;padding:8px 10px;outline:none;box-sizing:border-box;transition:border-color .15s}.tz-select-search::placeholder{color:#ffffff59}.tz-select-search:focus{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent)}.tz-select-list{max-height:280px;overflow-y:auto;padding:6px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.tz-select-group-label{padding:8px 14px 4px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#ffffff59;-webkit-user-select:none;user-select:none}.tz-select-option{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;cursor:pointer;transition:background .12s;gap:8px}.tz-select-option:hover{background:#ffffff0f}.tz-select-option.selected{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.tz-select-option-label{font-size:13px;color:#e8e8e8;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tz-select-option.selected .tz-select-option-label{color:#6b9aff}.tz-select-option-msk{display:flex;gap:6px;flex-shrink:0;font-size:12px;color:#fff6}.tz-select-option.selected .tz-select-option-msk{color:#6b9affbf}.tz-select-option-utc{color:#ffffff40}.tz-select-option.selected .tz-select-option-utc{color:#6b9aff73}.tz-select-empty{padding:16px 14px;font-size:13px;color:#ffffff59;text-align:center}.profile-btn{border:none;background:var(--color-accent);color:#fff;border-radius:var(--r-md);padding:13px;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.2px}.profile-btn:hover{background:color-mix(in srgb,var(--color-accent) 85%,#000)}.profile-btn:disabled,.profile-field input:disabled{opacity:.55;cursor:not-allowed}.profile-status{min-height:20px;font-size:13px;color:#ffffffb8}.profile-status.success{color:#7adf93}.profile-status.error{color:#ff7f8e}.profile-guest-hint{margin-bottom:10px;font-size:13px;color:#ffffffb8}.profile-league-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profile-league-meta-grid div{border:1px solid var(--border-subtle);border-radius:var(--r-md);background:#252525;padding:10px}.profile-league-meta-grid span{display:block;font-size:12px;color:#ffffff8f;margin-bottom:4px;text-transform:uppercase;letter-spacing:.4px}.profile-league-meta-grid strong{font-size:16px}.profile-league-points-value{color:var(--color-accent);font-weight:700}.profile-open-link{display:inline-flex;margin-top:12px;color:#aac8ff;font-size:13px}.profile-open-link:hover{color:#d5e5ff}.profile-achievements-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-achievements-list li{border:1px solid var(--border-subtle);background:#252525;border-radius:var(--r-md);padding:10px;display:flex;flex-direction:column;gap:4px}.profile-achievements-list strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-achievements-list span{font-size:12px;color:#ffffffa8}.profile-empty{color:#ffffffad;font-size:14px}.profile-shell{width:100%;display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px;align-items:start}.profile-sidebar{position:static}.profile-main{min-width:0}.profile-summary-card{display:flex;flex-direction:column;gap:14px}.profile-identity-stack{display:flex;flex-direction:column;gap:4px}.profile-summary-card .profile-rating-block{margin-top:8px}.profile-summary-card .profile-stat-col{margin-top:4px}.profile-main .profile-grid{margin:0}.settings-page .profile-layout{max-width:980px;gap:12px}.settings-page .settings-head{width:100%;padding:16px 24px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--color-accent) 35%,transparent);background:linear-gradient(135deg,#2d4977,#253b62)}.settings-page .settings-title{margin:0;font-size:32px;font-weight:700;color:#fff}.settings-page .settings-subtitle{margin:6px 0 0;font-size:14px;color:#ffffffc7}.settings-page .settings-groups{display:grid;gap:60px}.settings-page .settings-shell{display:flex;align-items:flex-start;gap:32px;width:100%;max-width:1410px;margin:24px auto;padding-left:var(--space-page);padding-right:var(--space-page)}.settings-page .settings-shell .settings-layout{margin:0;flex:1 1 auto;max-width:1100px;min-width:0;padding-left:0;padding-right:0}.settings-page .settings-nav{flex:0 0 210px;position:sticky;top:20px;display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:var(--r-lg);background:var(--color-bg-panel);border:1px solid var(--color-border)}.settings-page .settings-nav-title{padding:6px 12px 8px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#ffffff80}.settings-page .settings-nav a{display:block;padding:8px 12px;border-radius:var(--r-md);font-size:13px;color:#ffffffb8;text-decoration:none;transition:background .15s ease,color .15s ease}.settings-page .settings-nav a:hover{background:#ffffff0f;color:#fff}.settings-page .settings-group-card,.settings-page .settings-head{scroll-margin-top:20px}@media(max-width:860px){.settings-page .settings-shell{flex-direction:column}.settings-page .settings-nav{position:static;flex-basis:auto;width:100%}}.settings-page .settings-group-card{border-radius:0;padding:0;background:none;border:none;box-shadow:none}.settings-page .settings-group-head{margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.settings-page .settings-group-head h2{margin:0;font-size:24px;color:#fff}.settings-page .settings-group-head p{margin:4px 0 0;font-size:13px;color:#ffffffa6}.settings-page .settings-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-page .settings-card,.settings-page .settings-security-card{padding:0;border-radius:0;background:none;border:none}.settings-page .settings-card-inner{padding:0}.settings-page .profile-card-title{font-size:18px;margin-bottom:10px}.settings-page .profile-form{gap:10px}.settings-page .profile-field span{font-size:12px}.settings-page .profile-field input{font-size:14px;padding:10px 12px}.settings-page .profile-btn{width:fit-content;min-width:170px;padding:10px 12px;font-size:13px}.settings-page .profile-status{min-height:18px;font-size:13px}.settings-page #sec-security .password-field,.settings-page #sec-timezone .tz-select{max-width:calc(50% - 5px)}.settings-page .theme-toggle-row{padding-left:0;padding-right:0;justify-content:flex-start;gap:16px}.settings-page .theme-toggle-row{align-items:center}.settings-page .theme-toggle-copy{margin-right:auto;justify-content:center}.settings-page .theme-toggle-copy .profile-card-title{margin-bottom:0}.settings-page .theme-toggle-hint{font-size:13px}.settings-page .theme-toggle-divider{margin-left:0;margin-right:0}.theme-settings-card{display:flex;flex-direction:column;gap:0;padding:6px 0}.settings-group-card>.theme-toggle-row:first-of-type{margin-top:0}.settings-group-card>.theme-toggle-divider{margin:0}.theme-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-radius:var(--r-md);transition:background .2s ease}.theme-toggle-row:hover{background:#ffffff0a}.theme-toggle-icon{flex:0 0 40px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent)}.theme-toggle-divider{height:1px;margin:0 20px;background:var(--color-border)}.theme-toggle-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.theme-toggle-hint{font-size:12px;line-height:1.45;color:#ffffffa6}.theme-switch{position:relative;width:56px;height:32px;flex:0 0 56px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.theme-switch input{position:absolute;opacity:0;width:0;height:0}.theme-switch-track{width:100%;height:100%;border-radius:var(--r-pill);background:#2c3650;border:1px solid rgba(111,158,255,.45);transition:background-color .2s ease,border-color .2s ease}.theme-switch-thumb{position:absolute;left:5px;width:22px;height:22px;border-radius:var(--r-circle);background:#fff;box-shadow:0 2px 7px #00000040;transition:transform .2s ease}.theme-switch input:checked~.theme-switch-track{background:color-mix(in srgb,var(--color-accent) 45%,transparent);border-color:color-mix(in srgb,var(--color-accent) 75%,transparent)}.theme-switch input:checked~.theme-switch-thumb{transform:translate(24px)}.theme-switch input:focus-visible~.theme-switch-track{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 30%,transparent)}.theme-switch-disabled{opacity:.4;pointer-events:none}html.light-theme,body.light-theme,body.light-theme.index-page,body.light-theme.new_back,body.light-theme.slim-back,html.light-theme body,html.light-theme body.index-page,html.light-theme body.new_back,html.light-theme body.slim-back{color:#1f2d3d;background:linear-gradient(180deg,#f5f6f8,#eceef2 45%,#eceef2);background-attachment:fixed}body.light-theme:before,html.light-theme body:before{background:var(--bg-gradient-main)}html.light-theme .header,body.light-theme .header{background:#fff;border-bottom:1px solid var(--color-border);color:#1f2d3d}body.light-theme .burger-menu span{background:#4f5d73}body.light-theme .nav-items li,body.light-theme .logout-btn a,body.light-theme .nav-user-dropdown .nav-user-item,body.light-theme .nav-user-profile-name,body.light-theme .nav-user-profile-username,body.light-theme .nav-user-chevron{color:#2a3546}body.light-theme .main-nav>ul>a>li:hover,body.light-theme .main-nav .nav-end.nav-items>a>li:hover,body.light-theme .nav-user-menu:hover{background-color:#eef2f7;color:#1f2d3d}body.light-theme .nav-items li.active-nav-item{color:#3f6ea0}body.light-theme .nav-user-dropdown{background:#fff;border:1px solid var(--color-border);box-shadow:0 8px 24px #2440681a}body.light-theme .nav-user-profile{border-bottom-color:#edf1f6}body.light-theme .nav-user-dropdown .nav-user-item:hover{background:#f3f6fb}body.light-theme .nav-theme-current-value{color:#5c6f83}body.light-theme .nav-theme-options{border:0;box-shadow:0 8px 24px #2440681a}body.light-theme .nav-theme-option{color:#2a3546}body.light-theme .nav-theme-option:hover{background:#eef3fa}body.light-theme .nav-theme-option.is-active{color:#1e2d41}body.light-theme .nav-theme-option.is-active .nav-theme-check{background:transparent}body.light-theme .app-header,body.light-theme .new_block,body.light-theme .block,body.light-theme .profile-card,body.light-theme.settings-page .settings-group-card,body.light-theme.settings-page .settings-card,body.light-theme.settings-page .settings-security-card,body.light-theme .leagues-sidebar,body.light-theme .league-group,body.light-theme .league-current-card,body.light-theme .league-top-banner,body.light-theme .achievement-item{background:#fff;border-color:var(--color-border);color:#1f2d3d;box-shadow:0 1px #11213a08}body.light-theme .section-title,body.light-theme .profile-name,body.light-theme.settings-page .settings-title,body.light-theme.settings-page .settings-group-head h2,body.light-theme .leaderboard-nickname,body.light-theme .league-banner-title,body.light-theme .league-group-title,body.light-theme .profile-card-title,body.light-theme .nickname{color:#1d2f45}body.light-theme .username,body.light-theme.settings-page .settings-subtitle,body.light-theme.settings-page .settings-group-head p,body.light-theme .theme-toggle-hint,body.light-theme .leaderboard-username,body.light-theme .league-rating-total,body.light-theme .league-group-note,body.light-theme .league-empty,body.light-theme .profile-stat-label,body.light-theme .profile-guest-hint{color:#61748b}body.light-theme .icon-btn{color:#5c6f86}body.light-theme .habit-inactive{color:#8c9bb0}body.light-theme .rating-bar{background:#dfe6ef}body.light-theme .rating-value,body.light-theme .league-points-value,body.light-theme .leaderboard-rating,body.light-theme .league-open-link{color:#4a76a8}body.light-theme .profile-btn,body.light-theme .theme-switch input:checked~.theme-switch-track,body.light-theme.settings-page .profile-btn{background:#4a76a8;border-color:#4a76a8;color:#fff}body.light-theme .profile-btn:hover,body.light-theme.settings-page .profile-btn:hover{background:#406892;border-color:#406892}body.light-theme .profile-field input,body.light-theme .auth-form input,body.light-theme .auth-form select,body.light-theme .modal-content input,body.light-theme .modal-content textarea,body.light-theme .modal-content select,body.light-theme .search-input{background:#f8fafc;border-color:var(--color-border);color:#1f2d3d}body.light-theme .profile-field input::placeholder,body.light-theme .auth-form input::placeholder,body.light-theme .search-input::placeholder{color:#63707f}body.light-theme .modal-content{background:#fff;border-color:var(--color-border);color:#1f2d3d}body.light-theme .task-difficulty,body.light-theme .habit-difficulty,body.light-theme .task-deadline,body.light-theme .habit-streak-badge{background:#edf2f8;color:#546a82}body.light-theme .tag-badge,body.light-theme .tag-filter-chip,body.light-theme .tag-chip{background:color-mix(in srgb,var(--tag-color, #888888) 18%,#edf2f8);color:color-mix(in srgb,var(--tag-color, #333333) 55%,#546a82)}body.light-theme .tag-filter-chip:hover{background:color-mix(in srgb,var(--tag-color, #888888) 26%,#edf2f8)}body.light-theme .tag-filter-chip.active{background:color-mix(in srgb,var(--tag-color, #888888) 32%,#e2e9f2);color:color-mix(in srgb,var(--tag-color, #222222) 65%,#2b4258)}body.light-theme .tag-chip-remove{color:#7a92a8}body.light-theme .tag-chip-remove:hover{color:#2b4258}body.light-theme .league-points-row,body.light-theme .task-subtasks-progress,body.light-theme .habits-completion-badge{background:#4a76a81a;border-color:#4a76a873;color:#345982}body.light-theme .leagues-sidebar-item{border-color:var(--color-border);background:#fff}body.light-theme .league-sidebar-current{background:linear-gradient(135deg,#4a76a82e,#4a76a814);border-color:#4a76a88c;box-shadow:0 0 0 2px #4a76a82e}body.light-theme .league-sidebar-dim{background:#f8fafc;border-color:var(--color-border)}body.light-theme .league-sidebar-dim .league-title-with-icon,body.light-theme .league-sidebar-dim .leagues-sidebar-meta{color:#5a6b80}body.light-theme .league-daily-last{background:#fff;border-color:var(--color-border);color:#1f2937}body.light-theme .league-history-strip{background:#fff;border-color:var(--color-border)}body.light-theme .league-history-strip-title{color:#5a6b80}body.light-theme .league-history-tile{background:#f8fafc;border-color:var(--color-border)}body.light-theme .league-history-tile-date{color:#2f3b4a}body.light-theme .league-history-tile-place{color:#1f2937}body.light-theme .league-history-tile-place-label{color:#8595a8}body.light-theme .main-nav .nav-settings-btn.is-active{background:#4a76a824;color:#3f6ea0}body.light-theme .filter{background:#f2f5f9;border-color:var(--color-border);color:#5a6f86}body.light-theme .filter:hover{background:#eaf0f6;color:#2f4258}body.light-theme .filter.active{background:#4a76a824;border-color:#4a76a88c;color:#3f6ea0}body.light-theme .rating-notice{background:#4a76a814;border-color:#4a76a859;color:#3e5a79}body.light-theme .rating-notice-title{color:#2b4058}body.light-theme .rating-notice-actions{color:#5a6b80}body.light-theme .rating-notice-actions a{color:#3f6ea0}body.light-theme .rating-notice-actions a:hover,body.light-theme .rating-notice-actions a:focus-visible{color:#2f5d8f;text-decoration:underline}body.light-theme .rating-my-rank{color:#61748b}body.light-theme .rating-my-rank strong{color:#3f6ea0}body.light-theme .rating-my-rank-total{color:#63707f}body.light-theme .leaderboard-item-me{background:linear-gradient(135deg,#4a76a82e,#4a76a812);border-color:#4a76a899;box-shadow:0 0 0 1px #4a76a840,0 6px 18px #4a76a826}body.light-theme .leaderboard-self-badge{color:#2f5d8f;background:#4a76a829;border-color:#4a76a880}body.light-theme .profile-status.success{color:#2d7a45}body.light-theme .profile-status.error{color:#b04444}body.light-theme.settings-page .settings-head{border-color:#4a76a859;background:linear-gradient(135deg,#4a76a824,#4a76a80f)}body.light-theme.settings-page .profile-field span,body.light-theme .profile-field span,body.light-theme .profile-rating-top span,body.light-theme .profile-stat-group-title,body.light-theme .profile-league-meta-grid span,body.light-theme .profile-joined,body.light-theme .profile-avatar-hint,body.light-theme .profile-username{color:#5a6b80}body.light-theme .profile-stat-group,body.light-theme .profile-stat-card,body.light-theme .profile-league-chip,body.light-theme .profile-league-meta-grid div,body.light-theme .profile-achievements-list li,body.light-theme .league-inline-meta-item,body.light-theme .profile-guest-banner{background:#f7f9fc;border-color:var(--color-border)}body.light-theme .profile-stat-value,body.light-theme .profile-league-meta-grid strong,body.light-theme .profile-achievements-list strong,body.light-theme .profile-achievements-list span,body.light-theme .profile-empty,body.light-theme .profile-league-chip span{color:#2c4058}body.light-theme .profile-open-link{color:#3f6ea0}body.light-theme .profile-open-link:hover,body.light-theme .profile-open-link:focus-visible{color:#2f5d8f;text-decoration:underline}body.light-theme .profile-guest-banner{background:linear-gradient(135deg,#4a76a824,#4a76a80f);border-color:#4a76a859}body.light-theme .profile-guest-banner-text{color:#4b627d}body.light-theme .profile-guest-banner-text strong{color:#2b4058}body.light-theme .profile-guest-cta{background:#4a76a8;border-color:#4a76a8;color:#fff}body.light-theme .profile-guest-cta:hover{background:#406892;border-color:#406892}body.light-theme .league-inline-meta-label,body.light-theme .league-inline-points-label,body.light-theme .league-inline-name-label{color:#5a6b80}body.light-theme .league-name-value,body.light-theme .league-inline-meta-item strong{color:#2b4058}body.light-theme .stats-block,body.light-theme .habits-completion-card,body.light-theme .stats-streak-card,body.light-theme .rewards-card{background:#fff;border-color:var(--color-border);box-shadow:none}body.light-theme .habits-completion-badge{background:#f7f9fc;border-color:var(--color-border)}body.light-theme .habits-completion-badge-title,body.light-theme .habits-completion-badge-meta,body.light-theme .habits-completion-x-label{color:#5a6b80}body.light-theme .habits-completion-badge-value,body.light-theme .habits-completion-line,body.light-theme .habits-completion-point{color:#4a76a8;stroke:#4a76a8}body.light-theme .habits-completion-grid line{stroke:#4a76a829}body.light-theme .stats-streak-header,body.light-theme .stats-streak-best{border-color:var(--color-border)}body.light-theme .stats-streak-title,body.light-theme .stats-streak-text,body.light-theme #stats-streak-value,body.light-theme #stats-streak-word,body.light-theme .stats-streak-best strong{color:#2b4058}body.light-theme .stats-streak-day-label,body.light-theme .stats-streak-best{color:#5a6b80}body.light-theme .stats-streak-day-item.is-active .stats-streak-day-label{color:#4a76a8}body.light-theme .stats-streak-day-dot{border-color:#cfd9e4;background:radial-gradient(circle at 35% 30%,#4a76a82e,#4a76a80f);box-shadow:none}body.light-theme .stats-streak-day-item.is-active .stats-streak-day-icon{filter:drop-shadow(0 0 8px rgba(74,118,168,.3))}body.light-theme .modal{background:#fff;border:1px solid var(--color-border);box-shadow:0 18px 42px #1e335233}body.light-theme .modal-overlay{background:#1926365c}body.light-theme .modal-header{background:#edf3fb;color:#2b4058;border-bottom-color:var(--color-border)}body.light-theme .modal-header h2,body.light-theme .modal-body,body.light-theme .form-group label,body.light-theme .modal-btn-secondary,body.light-theme .subtasks-group-hint,body.light-theme .subtask-remove-btn,body.light-theme .task-subtask-item,body.light-theme .task-subtask-title{color:#2b4058}body.light-theme .subtasks-list{border-color:var(--color-border);background:#f8fafd}body.light-theme .subtask-row,body.light-theme .subtask-edit-row{border-bottom-color:var(--color-border)}body.light-theme .subtask-row.is-dragging-subtask{background:#4a76a824}body.light-theme .subtasks-list.is-subtask-drag-over{border-color:#4a76a8a6}body.light-theme .subtask-drag-handle{color:#6d84a2}body.light-theme .subtask-input,body.light-theme .subtask-edit-input{background:#fff;border-color:#d2dbe6;color:#24364b}body.light-theme .subtask-input:focus{border-color:#4a76a8;background:#fff}body.light-theme .subtask-edit-input:focus{border-color:#4a76a8;background:#fff}body.light-theme .subtask-remove-btn:hover{color:#4a76a8}body.light-theme .subtask-add-btn{background:#4a76a814;border-color:#4a76a873;color:#3d628a}body.light-theme .subtask-add-btn:hover{background:#4a76a824}body.light-theme .subtask-ai-btn{background:#6d28d912;border-color:#6d28d959;color:#6d28d9}body.light-theme .subtask-ai-btn:hover:not(:disabled){background:#6d28d921}body.light-theme .subtask-ai-error{color:#dc2626}body.light-theme .subtask-guest-banner{background:#d977060f;border-color:#d977064d}body.light-theme .subtask-guest-banner-text{color:#92400e}body.light-theme .subtask-guest-banner-close{border-color:#0000002e;color:#555}body.light-theme .subtask-guest-banner-close:hover{background:#0000000d;color:#222}body.light-theme .subtask-guest-banner-register{background:#d977061a;border-color:#d9770666;color:#92400e}body.light-theme .subtask-guest-banner-register:hover{background:#d977062e}body.light-theme .subtask-suggestions{background:#6d28d90d;border-color:#6d28d940}body.light-theme .subtask-suggestions-title,body.light-theme .subtask-suggestions-regen{color:#7c3aed}body.light-theme .subtask-suggestions-regen:hover:not(:disabled){color:#5b21b6}body.light-theme .subtask-suggestions-cancel{border-color:#0003;color:#555}body.light-theme .subtask-suggestions-cancel:hover:not(:disabled){background:#0000000d;color:#222}body.light-theme .subtask-suggestions-confirm{background:#6d28d91f;border-color:#6d28d966;color:#5b21b6}body.light-theme .subtask-suggestions-confirm:hover:not(:disabled){background:#6d28d933}body.light-theme .form-input,body.light-theme select.form-input,body.light-theme textarea.form-input,body.light-theme .auth-card .form-input{background-color:#fff;border-color:#d2dbe6;color:#24364b}body.light-theme select.form-input{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23546b84' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 12px center}body.light-theme .floating-label{background-color:#fff;color:#7b8fa7}body.light-theme .form-input:focus+.floating-label,body.light-theme .form-input:not(:placeholder-shown)+.floating-label{color:#4a76a8}body.light-theme .form-input:-webkit-autofill,body.light-theme .form-input:-webkit-autofill:hover,body.light-theme .form-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #ffffff inset!important;-webkit-text-fill-color:#24364b!important}body.light-theme .modal-btn-secondary:hover{background:#eef3fa;color:#35567a}body.light-theme .task-subtask-completed{color:#5a6b80}body.light-theme .checkmark,body.light-theme .task-subtask-checkmark{background-color:#fff;border-color:#b8c7d9}body.light-theme .checkbox-container input:focus-visible~.checkmark,body.light-theme .task-subtask-checkbox:focus-visible~.task-subtask-checkmark{box-shadow:0 0 0 3px #4a76a838;border-color:#4a76a8}body.light-theme .checkbox-container input:checked~.checkmark,body.light-theme .task-subtask-checkbox:checked~.task-subtask-checkmark{background-color:#4a76a8;border-color:#4a76a8}body.light-theme .day-toggle{border-color:#c7d3e2;background:#fff;color:#3a4f68}body.light-theme .day-toggle:hover{border-color:#7ea0c6;background:#f3f7fc;color:#2f445f}body.light-theme .day-toggle.active{background:#4a76a8;border-color:#4a76a8;color:#fff}body.light-theme .day-toggle:focus-visible{outline-color:#4a76a8}body.light-theme .btn-delete{background:#fff;color:#c13f4a;border-color:#e4a7ae}body.light-theme .btn-delete:hover{background:#d84f5b;border-color:#d84f5b;color:#fff}body.light-theme input[type=date]::-webkit-calendar-picker-indicator{filter:none;opacity:.8}body.light-theme.settings-page .settings-group-card,body.light-theme.settings-page .settings-card,body.light-theme.settings-page .settings-security-card,body.light-theme.settings-page .profile-card{background:#fff!important;border-color:var(--color-border)!important;color:#24364b!important}body.light-theme.settings-page .settings-title,body.light-theme.settings-page .settings-group-head h2,body.light-theme.settings-page .profile-card-title,body.light-theme.settings-page .profile-field input,body.light-theme.settings-page .profile-status,body.light-theme.settings-page .theme-toggle-copy{color:#24364b}body.light-theme.settings-page .profile-btn,body.light-theme.settings-page .profile-btn:hover,body.light-theme.settings-page .profile-btn:focus-visible{color:#fff!important}body.light-theme.settings-page .settings-subtitle,body.light-theme.settings-page .settings-group-head p,body.light-theme.settings-page .profile-field span,body.light-theme.settings-page .theme-toggle-hint{color:#5a6b80!important}body.light-theme.settings-page .profile-field input,body.light-theme.settings-page .profile-select{background:#f8fafc!important;border-color:#d2dbe6!important;color:#1a2233!important}body.light-theme .tz-select-trigger{background:#f8fafc;border-color:#d2dbe6;color:#1a2233}body.light-theme .tz-select-trigger:hover,body.light-theme .tz-select-trigger.open{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent)}body.light-theme .tz-select-arrow{color:#1a223373}body.light-theme .tz-select-panel{background:#fff;border-color:#d2dbe6;box-shadow:0 8px 24px #0000001f}body.light-theme .tz-select-search{background:#f1f4f9;border-color:#d2dbe6;color:#1a2233}body.light-theme .tz-select-search::placeholder{color:#1a223366}body.light-theme .tz-select-group-label{color:#1a223366}body.light-theme .tz-select-option:hover{background:color-mix(in srgb,var(--color-accent) 6%,transparent)}body.light-theme .tz-select-option-label{color:#1a2233}body.light-theme .tz-select-option-msk{color:#1a223373}body.light-theme .tz-select-option-utc{color:#1a22334d}body.light-theme .tz-select-empty{color:#1a223366}body.light-theme.settings-page .theme-switch-track{background:#e6edf5;border-color:#c5d2e2}body.light-theme.settings-page .settings-group-card,body.light-theme.settings-page .settings-card,body.light-theme.settings-page .settings-security-card{background:transparent!important;border:none!important;box-shadow:none!important}body.light-theme.settings-page .settings-nav-title{color:#8294a8}body.light-theme.settings-page .settings-nav a{color:#51637a}body.light-theme.settings-page .settings-nav a:hover{background:#11213a0d;color:#1d2f45}body.light-theme.settings-page .theme-toggle-row:hover{background:#11213a0a}body.light-theme .leagues-sidebar,body.light-theme .league-top-banner,body.light-theme .league-current-card,body.light-theme .league-group,body.light-theme .leagues-sidebar-item,body.light-theme .league-sidebar-dim{background:#fff!important;border-color:var(--color-border)!important}body.light-theme .league-group-note{border-top-color:var(--color-border);border-bottom-color:var(--color-border)}body.light-theme .league-group-champion .league-group-title,body.light-theme .league-group-champion .league-group-note{background:#f7efd3}body.light-theme .league-group-winners .league-group-title,body.light-theme .league-group-winners .league-group-note{background:#f8e8df}body.light-theme .league-group-members .league-group-title,body.light-theme .league-group-members .league-group-note{background:#eef3f9}body.light-theme .league-group-laggards .league-group-title,body.light-theme .league-group-laggards .league-group-note{background:#e9eefc}body.light-theme .leaderboard-item[data-top="1"]{background:linear-gradient(135deg,#ffd70029,#ffd7000f);border-color:#c9a41c73}body.light-theme .leaderboard-item[data-top="2"]{background:linear-gradient(135deg,#a5b1bf2e,#a5b1bf14);border-color:#8996a580}body.light-theme .leaderboard-item[data-top="3"]{background:linear-gradient(135deg,#c4845a33,#c4845a14);border-color:#a0664073}body.light-theme .league-current-grid,body.light-theme .league-meta-label,body.light-theme .league-zones,body.light-theme .league-banner-subtitle,body.light-theme .league-group-note,body.light-theme .league-empty,body.light-theme .league-my-row-hint,body.light-theme .leaderboard-username,body.light-theme .league-rating-total,body.light-theme .leagues-sidebar-meta,body.light-theme .league-zones-inline{color:#5a6b80!important}body.light-theme .league-banner-title,body.light-theme .league-group-title,body.light-theme .leaderboard-nickname,body.light-theme .leaderboard-rank,body.light-theme .league-title-with-icon,body.light-theme .section-title,body.light-theme .league-current-grid div,body.light-theme .league-current-grid span{color:#24364b!important}body.light-theme .league-players-count,body.light-theme .league-players-icon{color:#4f6580!important}body.light-theme .league-sidebar-current{background:linear-gradient(135deg,#4a76a829,#4a76a812)!important;border-color:#4a76a880!important}body.light-theme .leaderboard-league{border-color:#4a76a86b;background:#4a76a81f;color:#3d628a}body.light-theme .leaderboard-league-name{color:#355a83}body.light-theme .leaderboard-league-icon{filter:none;opacity:.98}@media(max-width:768px){body.light-theme .main-nav{background:#fff;border-right:1px solid var(--color-border);box-shadow:10px 0 28px #1f344f24}body.light-theme .main-nav li,body.light-theme .main-nav .logout-btn a{color:#2a3546}body.light-theme .main-nav .logout-btn a{color:#5e7288}body.light-theme .main-nav>ul>a>li:hover,body.light-theme .main-nav .nav-end.nav-items>a>li:hover,body.light-theme .main-nav .logout-btn:hover a,body.light-theme .main-nav .nav-settings-btn:hover{background:#f2f6fb;color:#1f2d3d}body.light-theme .main-nav .nav-settings-btn{color:#2a3546}body.light-theme .main-nav .nav-settings-btn.is-active,body.light-theme .nav-items li.active-nav-item{background:#e8f0fa;color:#3f6ea0}body.light-theme .nav-backdrop{background:#21304238}}body.light-theme .avatar-img{box-shadow:0 0 0 2px #c5d0dc}body.light-theme .editable-field:hover{background-color:#0000000a}body.light-theme .league-inline-name-label,body.light-theme .league-inline-points-label,body.light-theme .league-inline-meta-label{color:#5a6b80}body.light-theme .league-name-value,body.light-theme .league-inline-meta-item strong{color:#24364b}body.light-theme .league-inline-meta-item{border-color:var(--color-border);background:#f7f9fc}body.light-theme .league-points-row{border-color:#4a76a866;background:#4a76a814}body.light-theme .league-inline-top{border-color:var(--color-border);background:#f7f9fc}body.light-theme .block{border-color:var(--color-border)}body.light-theme .nav-items li{color:#4a5568}body.light-theme .logout-btn a{color:#5a6b80}body.light-theme .auth-btn{color:#fff}body.light-theme .guest-btn{background:#e8eef4;color:#3d628a;border-color:#c5d2e2}body.light-theme .guest-btn:hover{background:#d9e3ee}@media(max-width:768px){.leagues-layout{flex-direction:column;margin:16px auto;gap:12px;padding-left:12px;padding-right:12px}.leagues-main{width:100%;gap:10px}.leagues-sidebar{width:100%;padding:12px}.league-sidebar-current{transform:none}.league-top-banner{padding:12px}.league-banner-title{font-size:24px;line-height:1.1}.league-banner-subtitle{font-size:13px;line-height:1.35}.league-current-card{padding:12px}.league-current-header{flex-direction:column;align-items:flex-start;gap:8px}.league-group-title{font-size:24px;padding:10px}.league-group-note{font-size:12px;padding:8px 10px}.league-group .leaderboard-list{padding:8px}.leaderboard-item{padding:10px 12px;gap:8px}.leaderboard-rank{font-size:18px;min-width:40px}.leaderboard-avatar{margin:0 2px}.leaderboard-avatar img{width:34px;height:34px}.leaderboard-nickname{font-size:14px}.leaderboard-username{font-size:12px}.leaderboard-rating{font-size:16px;min-width:52px}.rating-container .leaderboard-item{grid-template-columns:40px 34px minmax(0,1fr) auto;column-gap:8px}.rating-container .leaderboard-rating{min-width:52px;margin-left:4px}.league-current-grid{grid-template-columns:1fr;gap:6px;font-size:13px}.league-zones{gap:8px;font-size:12px}.league-rating-total{display:none}.nav-items a{min-width:50px;height:auto}.nav-items li{font-size:12px;padding:24px 8px 24px 20px}.leagues-sidebar-list{gap:8px}.leagues-sidebar-item{padding:10px}.leagues-sidebar-meta{font-size:12px}.profile-layout{margin:16px auto;padding-left:12px;padding-right:12px;gap:12px}.profile-shell{grid-template-columns:1fr;gap:12px}.profile-sidebar{position:static}.profile-guest-banner{flex-direction:column;align-items:flex-start}.profile-summary-card{padding:14px}.profile-avatar-col{width:100%;align-items:center;justify-content:center}.profile-avatar-wrapper{margin-top:32px;display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}.profile-avatar-wrapper .avatar-img{display:block;margin-left:auto;margin-right:auto}.profile-name{font-size:24px}.profile-username{font-size:16px}.profile-stat-group{padding:8px}.profile-grid,.profile-achievements-list,.settings-page .settings-group-grid{grid-template-columns:1fr}.settings-page .settings-title{font-size:20px}}@media(max-width:480px){.task-wrapper,.habit-wrapper{grid-template-columns:34px minmax(0,1fr) 32px;gap:8px;padding:8px 10px}.checkbox-container{padding-left:32px}.checkmark{width:28px;height:28px}.task-title,.habit-title{font-size:13px}.task-meta,.habit-meta{gap:4px;margin-top:4px}.leagues-layout{margin:10px auto;gap:8px;padding-left:8px;padding-right:8px}.league-top-banner{padding:10px}.league-banner-title{font-size:20px}.league-banner-subtitle{font-size:12px}.league-title-with-icon{gap:6px}.league-title-icon{width:20px;height:20px}.league-name-value{font-size:20px}.league-points-value{font-size:24px}.league-points-row{padding:8px}.section-title{font-size:16px}.league-group-title{font-size:20px}.league-group-chest-wrap{left:8px;width:42px;height:42px}.league-group-chest-wrap+.league-group-title-text{padding:0 44px}.league-group-chest-badge{min-width:20px;height:19px;font-size:12px;right:-7px}.leaderboard-item{padding:8px 10px}.leaderboard-rank{min-width:30px;font-size:16px}.leaderboard-avatar img{width:30px;height:30px}.leaderboard-nickname{font-size:13px}.leaderboard-rating{font-size:14px;min-width:44px}.rating-container .leaderboard-item{grid-template-columns:30px 30px minmax(0,1fr) auto;column-gap:6px}.rating-container .leaderboard-rating{min-width:44px;margin-left:2px}.league-current-grid,.league-zones{font-size:12px}.leagues-sidebar-meta{flex-wrap:wrap;row-gap:4px}.league-players-count{margin-left:0;width:100%;justify-content:flex-end}.profile-layout{margin:10px auto;padding-left:8px;padding-right:8px}.profile-card,.profile-summary-card{padding:10px}.profile-name{font-size:24px}.profile-stat-col{gap:8px}.profile-league-meta-grid{grid-template-columns:1fr}.profile-rating-top strong{font-size:24px}.settings-page .settings-head,.settings-page .settings-group-card,.settings-page .settings-card,.settings-page .settings-security-card{padding:10px}.settings-page .settings-title{font-size:20px}.settings-page .settings-subtitle{font-size:12px}.settings-page .profile-btn{min-width:0;width:100%}}.league-group-title{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}.league-group-chest-wrap{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:58px;height:58px;pointer-events:none;z-index:1}.league-group-chest{width:100%;height:100%;object-fit:contain;display:block}.league-group-chest-badge{position:absolute;right:-20px;bottom:6px;min-width:24px;height:22px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:#181c26;color:#ffe08a;font-size:13px;font-weight:800;line-height:1;border:1.5px solid rgba(255,224,138,.55);box-shadow:0 2px 6px #00000080}.league-group-chest-badge-winners{color:#e9eef5;border-color:#dce4f08c}.league-group-chest-badge-participants{color:#e8c79a;border-color:#caa0698c}.league-group-chest-wrap+.league-group-title-text{padding:0 64px}.league-reward-info{width:22px;height:22px;flex:0 0 auto;margin-left:8px;vertical-align:middle;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--r-circle);background:#ffffff24;color:#ffffffe6;font-size:12px;font-weight:700;font-style:italic;line-height:1;cursor:pointer;transition:background .15s}.league-reward-info:hover{background:#ffffff42}.loot-card-list{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:10px}.loot-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);background:#ffffff0a;border:1px solid var(--border-subtle);border-left:3px solid var(--loot-accent, var(--color-accent))}.loot-card-icon{width:32px;height:32px;flex:0 0 auto}.loot-card-body{display:flex;flex-direction:column;gap:2px}.loot-card-title{font-weight:600;color:#ffffffe6}.loot-card-amount{font-size:18px;font-weight:800;color:var(--loot-accent, var(--color-accent))}.daily-reward-chest{width:100%;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-md);background:var(--color-bg-panel);border:1px solid var(--border-subtle)}.daily-reward-chest.is-closed{position:relative;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.daily-reward-chest-champion.is-closed{background:linear-gradient(135deg,#f4b74029,#1c1c1c80 62%)}.daily-reward-chest-winners.is-closed{background:linear-gradient(135deg,#b3bcc929,#1c1c1c80 62%)}.daily-reward-chest-participants.is-closed{background:linear-gradient(135deg,#caa06929,#1c1c1c80 62%)}.daily-reward-chest.is-closed:hover{transform:translateY(-2px)}.daily-reward-chest-champion.is-closed:hover{border-color:#f4b740f2;box-shadow:0 8px 22px #f4b74047}.daily-reward-chest-winners.is-closed:hover{border-color:#b3bcc9f2;box-shadow:0 8px 22px #b3bcc93d}.daily-reward-chest-participants.is-closed:hover{border-color:#caa069f2;box-shadow:0 8px 22px #caa0693d}.daily-reward-chest.is-closed:active{transform:translateY(0) scale(.99)}.daily-reward-chest.is-closed:focus-visible{outline:2px solid rgba(255,220,130,.8);outline-offset:2px}.daily-reward-chest.is-claimed{pointer-events:none;opacity:.45}.daily-reward-chest.is-claimed .daily-reward-badge{display:none}.daily-reward-chest-champion{border-color:#f4b74080}.daily-reward-chest-winners{border-color:#b3bcc980}.daily-reward-chest-participants{border-color:#caa06980}.daily-reward-badge{position:absolute;top:10px;right:12px;width:9px;height:9px;border-radius:var(--r-circle);background:#ef4444;box-shadow:0 0 0 2px var(--color-bg-panel);animation:tab-badge-pulse 1.6s ease-in-out infinite}.daily-reward-cta{margin-left:auto;flex:0 0 auto;padding:8px 16px;border-radius:var(--r-md);font-size:13px;font-weight:700;color:#1c1c1c;white-space:nowrap;transition:filter .18s ease}.daily-reward-chest-champion .daily-reward-cta{background:linear-gradient(135deg,#ffe08a,#f4b740)}.daily-reward-chest-winners .daily-reward-cta{background:linear-gradient(135deg,#eef1f6,#c2cad6)}.daily-reward-chest-participants .daily-reward-cta{background:linear-gradient(135deg,#e0b985,#b07f3f)}.daily-reward-chest.is-closed:hover .daily-reward-cta{filter:brightness(1.08)}.daily-reward-art-img{width:44px;height:44px;flex:0 0 auto;object-fit:contain}.daily-reward-chest.is-closed:not(.is-claimed) .daily-reward-art-img{animation:chest-shimmer 2s ease-in-out infinite}.daily-reward-meta{display:flex;flex-direction:column;gap:2px}.daily-reward-amount{font-size:20px;font-weight:800;color:#4ade80}.daily-reward-hint{font-size:13px;color:#ffffffb3}.reward-celebrate{text-align:center;max-width:340px;padding:24px 28px}.reward-celebrate-stage{position:relative;display:flex;align-items:center;justify-content:center;height:162px;margin-bottom:8px}.reward-celebrate-chest{width:134px;height:134px;object-fit:contain}.reward-celebrate-chest-champion{filter:drop-shadow(0 8px 22px rgba(244,183,64,.55))}.reward-celebrate-chest-winners{filter:drop-shadow(0 8px 22px rgba(179,188,201,.5))}.reward-celebrate-chest-participants{filter:drop-shadow(0 8px 22px rgba(202,160,105,.5))}.reward-celebrate-amount{font-size:40px;font-weight:800;line-height:1;color:#4ade80}.reward-celebrate-sub{margin-top:6px;font-size:13px;color:#fff9}.reward-celebrate-btn{margin-top:20px;width:100%;padding:12px;font-size:16px;font-weight:600}.reward-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.reward-confetti-piece{position:absolute;top:50%;left:50%;width:9px;height:9px;margin:-4px 0 0 -4px;border-radius:var(--r-sm)}.reward-fly-coin{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-circle);font-size:12px;font-weight:800;color:#1c1c1c;pointer-events:none}.reward-fly-coin-champion{background:radial-gradient(circle at 35% 30%,#ffe08a,#f4b740);box-shadow:0 0 16px #f4b740cc}.reward-fly-coin-winners{background:radial-gradient(circle at 35% 30%,#eef1f6,#c2cad6);box-shadow:0 0 16px #b3bcc9b3}.reward-fly-coin-participants{background:radial-gradient(circle at 35% 30%,#e0b985,#b07f3f);box-shadow:0 0 16px #caa069b3}.league-history-tile-landed{animation:tile-land .7s ease-out}.league-tab{position:relative}.league-tab-badge{position:absolute;top:6px;right:8px;width:9px;height:9px;border-radius:var(--r-circle);background:#ef4444;box-shadow:0 0 0 2px var(--color-bg-panel);animation:tab-badge-pulse 1.6s ease-in-out infinite}@keyframes chest-shimmer{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.25)}}@keyframes tile-land{0%{transform:scale(1)}35%{transform:scale(1.16);box-shadow:0 0 0 2px #4ade8099}to{transform:scale(1);box-shadow:0 0 #4ade8000}}@keyframes tab-badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.7}}body.light-theme .daily-reward-chest{background:#fff;border-color:var(--color-border);color:#1f2d3d}body.light-theme .daily-reward-chest-champion{border-color:#c9a41c80}body.light-theme .daily-reward-chest-winners{border-color:#8996a580}body.light-theme .daily-reward-chest-participants{border-color:#a8825080}body.light-theme .daily-reward-chest-champion.is-closed{background:linear-gradient(135deg,#f4b74033,#fff 62%)}body.light-theme .daily-reward-chest-winners.is-closed{background:linear-gradient(135deg,#b3bcc938,#fff 62%)}body.light-theme .daily-reward-chest-participants.is-closed{background:linear-gradient(135deg,#caa06938,#fff 62%)}body.light-theme .daily-reward-badge{box-shadow:0 0 0 2px #fff}body.light-theme .daily-reward-hint,body.light-theme .reward-celebrate-sub{color:#5a6b80}body.light-theme .reward-fly-coin{color:#1f2d3d}body.light-theme .league-tab{color:#5a6b80;background:#f4f7fb;border-color:var(--color-border)}body.light-theme .league-tab:hover{color:#2b4258}body.light-theme .league-tab-active{color:#2b4258;background:color-mix(in srgb,var(--color-accent) 12%,transparent);border-color:color-mix(in srgb,var(--color-accent) 45%,transparent)}body.light-theme .league-tab-badge{box-shadow:0 0 0 2px #fff}body.light-theme .loot-card{background:#f4f7fb;border-color:var(--color-border);border-left-color:var(--loot-accent, var(--color-accent))}body.light-theme .loot-card-title{color:#24364b}@media(prefers-reduced-motion:reduce){.daily-reward-chest.is-closed .daily-reward-art-img,.daily-reward-badge,.league-history-tile-landed,.league-tab-badge{animation:none!important}}.tag-badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px 0 4px;border-radius:var(--r-pill);font-size:12px;font-weight:500;line-height:1;white-space:nowrap;background:color-mix(in srgb,var(--tag-color, #888) 14%,#1e1e1e);color:color-mix(in srgb,var(--tag-color, #ccc) 80%,#e8e8e8);border:1px solid color-mix(in srgb,var(--tag-color, #888) 30%,transparent)}.tag-badge:before{content:"";flex-shrink:0;width:5px;height:5px;border-radius:var(--r-circle);background:var(--tag-color, #888)}.tag-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 6px 0 8px;border-radius:var(--r-pill);font-size:12px;font-weight:500;line-height:1;white-space:nowrap;background:color-mix(in srgb,var(--tag-color, #888) 18%,#222);color:color-mix(in srgb,var(--tag-color, #ccc) 80%,#e8e8e8);border:1px solid color-mix(in srgb,var(--tag-color, #888) 38%,transparent)}.tag-chip:before{content:"";flex-shrink:0;width:5px;height:5px;border-radius:var(--r-circle);background:var(--tag-color, #888)}.tag-filter-chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px 0 4px;border-radius:var(--r-pill);font-size:12px;font-weight:500;line-height:1;white-space:nowrap;background:color-mix(in srgb,var(--tag-color, #888) 14%,#1e1e1e);color:color-mix(in srgb,var(--tag-color, #ccc) 80%,#e8e8e8);border:1px solid color-mix(in srgb,var(--tag-color, #888) 30%,transparent)}.habit-meta .item-tags,.task-meta .item-tags,.action-meta .item-tags{display:contents}.tag-filter-menu{position:relative;display:inline-flex;align-items:center;gap:4px}.tag-filter-active-badge{cursor:default;max-width:96px;overflow:hidden;text-overflow:ellipsis}.tag-filter-menu-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-md);color:#777;border:none;background:transparent;cursor:pointer;transition:color .15s,background .15s}.tag-filter-menu-btn:hover,.tag-filter-menu-btn.is-open{color:#d0d0d0;background:#ffffff12}.tag-filter-menu-btn.is-active{color:#7aabff}.tag-filter-menu-btn.is-active:after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:var(--r-circle);background:var(--color-accent);box-shadow:0 0 0 1.5px var(--color-bg-panel)}.tag-filter-menu-icon{display:block}@keyframes tagPanelAppear{0%{opacity:0;transform:translateY(-5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tag-filter-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:120;min-width:188px;max-width:min(280px,calc(100vw - 24px));max-height:300px;overflow-y:auto;padding:6px;border-radius:var(--r-md);background:var(--color-bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--sh-2);animation:tagPanelAppear .15s ease-out}.tag-filter-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--r-sm);background:transparent;color:#aaa;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .1s,color .1s}.tag-filter-menu-item:hover{background:#ffffff12;color:#e8e8e8}.tag-filter-menu-item.is-active{background:color-mix(in srgb,var(--color-accent) 16%,transparent);color:#99bfff}.tag-filter-menu-item--all{color:#888;border-bottom:1px solid var(--border-subtle);border-radius:var(--r-sm) var(--r-sm) 0 0;padding-bottom:10px;margin-bottom:4px}.tag-filter-menu-item--all:hover{color:#e0e0e0}.tag-filter-menu-item--all.is-active{color:#99bfff}.tag-filter-menu-item-dot{flex-shrink:0;width:9px;height:9px;border-radius:var(--r-circle);background:var(--tag-color, #888);box-shadow:0 0 0 2px color-mix(in srgb,var(--tag-color, #888) 22%,transparent)}.tag-filter-menu-item--all .tag-filter-menu-item-dot{display:none}.tag-filter-menu-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-usage-count{margin-left:auto;flex-shrink:0;font-size:12px;font-weight:500;color:#5f5f5f;font-variant-numeric:tabular-nums}.tag-filter-menu-item.is-active .tag-usage-count{color:#7f9bd0}body.light-theme .tag-usage-count{color:#63707f}.tag-filter-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:32px 20px;text-align:center;animation:tagPanelAppear .2s ease-out}.tag-filter-empty-icon{font-size:30px;line-height:1;opacity:.6;filter:grayscale(.3)}.tag-filter-empty-text{margin:0;font-size:14px;color:#888;max-width:260px}.tag-filter-empty-reset{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:#99bfff;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.tag-filter-empty-reset:hover{background:color-mix(in srgb,var(--color-accent) 20%,transparent);border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);color:#bcd4ff}body.light-theme .tag-filter-empty-text{color:#7a8aa0}body.light-theme .tag-filter-empty-reset{border-color:color-mix(in srgb,var(--color-accent) 35%,transparent);background:color-mix(in srgb,var(--color-accent) 8%,transparent);color:#3a6aaa}body.light-theme .tag-filter-empty-reset:hover{background:color-mix(in srgb,var(--color-accent) 14%,transparent);color:#2a549e}.tag-selector{position:relative;width:100%}.tag-selector-field{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:4px 10px;background:var(--input-bg, #252525);border:1px solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,box-shadow .15s}.tag-selector-field:hover{border-color:var(--border-strong)}.tag-selector.is-open .tag-selector-field{border-color:color-mix(in srgb,var(--color-accent) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 10%,transparent)}.tag-selector-field--ai-loading{opacity:.7;pointer-events:none}.tag-ai-hint{margin:4px 0 0;font-size:12px;color:var(--color-text-muted, #777);display:flex;align-items:center;gap:4px}.tag-ai-hint--applied{color:var(--accent-ai)}.tag-ai-hint--applied:before{content:"✦";font-size:12px;opacity:.9}@keyframes aiBadgeFlash{0%{transform:scale(.55);opacity:0;box-shadow:0 0 color-mix(in srgb,var(--accent-ai) 0%,transparent)}35%{transform:scale(1.08);opacity:1;box-shadow:0 0 10px 2px color-mix(in srgb,var(--accent-ai) 55%,transparent)}to{transform:scale(1);opacity:1;box-shadow:0 0 color-mix(in srgb,var(--accent-ai) 0%,transparent)}}.tag-badge.ai-just-applied,.task-difficulty.ai-just-applied,.habit-difficulty.ai-just-applied{animation:aiBadgeFlash 1.1s cubic-bezier(.34,1.56,.64,1);will-change:transform}@media(prefers-reduced-motion:reduce){.tag-badge.ai-just-applied,.task-difficulty.ai-just-applied,.habit-difficulty.ai-just-applied{animation:none}}.tag-selector-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-width:0}@keyframes tagChipIn{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes tagChipOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.55)}}.tag-chip--selected{transform-origin:center;animation:tagChipIn .18s cubic-bezier(.34,1.56,.64,1);cursor:grab;touch-action:none}.tag-chip--selected:active{cursor:grabbing}.tag-chip--dragging{opacity:.45}.tag-chip--exiting{pointer-events:none;animation:tagChipOut .16s ease-in forwards}@media(prefers-reduced-motion:reduce){.tag-chip--selected,.tag-chip--exiting{animation:none}}.tag-chip-text{line-height:1}.tag-chip-remove{background:none;border:none;color:color-mix(in srgb,var(--tag-color, #888) 60%,#777);font-size:12px;line-height:1;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:var(--r-circle);flex-shrink:0;transition:color .12s,background .12s}.tag-chip-remove:hover{color:#ff6b6b;background:#ff50502e}.tag-selector-placeholder{font-size:13px;color:#555;padding:1px 0}.tag-selector-toggle{flex-shrink:0;color:#555;display:flex;align-items:center;transition:transform .2s ease,color .15s}.tag-selector.is-open .tag-selector-toggle{transform:rotate(180deg);color:#888}.tag-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:6px 0;box-shadow:var(--sh-2);max-height:320px;overflow-y:auto;scrollbar-gutter:stable;animation:tagPanelAppear .14s ease-out}.tag-selector-empty{padding:10px 14px;font-size:13px;color:#555;font-style:italic}.tag-search-wrap{position:relative;display:flex;align-items:center;padding:4px 8px 8px;margin-bottom:2px;border-bottom:1px solid var(--border-subtle)}.tag-search-icon{position:absolute;left:18px;width:14px;height:14px;color:#555;pointer-events:none}.tag-search-input{width:100%;box-sizing:border-box;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:#e0e0e0;font-size:13px;padding:8px 28px 8px 32px;transition:border-color .15s,box-shadow .15s}.tag-search-input::placeholder{color:#555}.tag-search-input:focus{outline:none;border-color:color-mix(in srgb,var(--color-accent) 50%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 10%,transparent)}.tag-search-clear{position:absolute;right:16px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:var(--r-circle);background:#ffffff14;color:#999;font-size:13px;line-height:1;cursor:pointer;transition:color .12s,background .12s}.tag-search-clear:hover{color:#e8e8e8;background:#ffffff29}.tag-selector-item{display:flex;align-items:center;padding-right:6px;transition:background .1s}.tag-selector-item+.tag-selector-item{border-top:1px solid var(--border-subtle)}.tag-selector-item:hover{background:#ffffff0d}.tag-selector-item.is-selected{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.tag-selector-option{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border:none;background:none;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}.tag-selector-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--r-sm)}.tag-selector-check{margin-left:auto;display:flex;align-items:center;color:var(--color-accent);flex-shrink:0}.tag-selector-check svg{width:15px;height:15px}.tag-color-dot{width:9px;height:9px;border-radius:var(--r-circle);flex-shrink:0;background:var(--tag-color, #888)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--tag-color, #888) 22%,transparent)}.tag-selector-name{color:#d0d0d0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-selector-item.is-selected .tag-selector-name{color:#fff}.tag-delete-btn{background:none;border:none;color:#4a4a4a;font-size:16px;cursor:pointer;padding:3px 4px;line-height:1;flex-shrink:0;border-radius:var(--r-sm);opacity:0;transition:color .15s,background .15s,opacity .15s}.tag-selector-item:hover .tag-delete-btn,.tag-selector-item:hover .tag-edit-btn{opacity:1}.tag-delete-btn:hover{color:#f55;background:#ff46461f}.tag-edit-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#555;cursor:pointer;padding:4px;line-height:1;flex-shrink:0;border-radius:var(--r-sm);opacity:0;transition:color .15s,background .15s,opacity .15s}.tag-edit-btn svg{width:13px;height:13px}.tag-edit-btn:hover{color:#7aabff;background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.tag-selector-item--editing,.tag-selector-item--editing:hover{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.tag-edit-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px 6px 12px}.tag-edit-input{flex:1;min-width:0;background:#ffffff0d;border:1px solid color-mix(in srgb,var(--color-accent) 50%,transparent);border-radius:var(--r-sm);color:#e8e8e8;font-size:13px;padding:4px 8px;outline:none}.tag-edit-input:focus{border-color:color-mix(in srgb,var(--color-accent) 80%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 12%,transparent)}.tag-edit-palette{display:flex;gap:4px;flex-shrink:0}.tag-edit-palette .tag-palette-dot{width:16px;height:16px;border-radius:var(--r-sm);border-width:2px}.tag-edit-actions{display:flex;gap:2px;flex-shrink:0}.tag-edit-save,.tag-edit-cancel{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--r-sm);background:none;cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.tag-edit-save{color:var(--color-accent)}.tag-edit-save svg{width:14px;height:14px}.tag-edit-save:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.tag-edit-save:disabled{color:#444;cursor:not-allowed}.tag-edit-cancel{color:#777;font-size:16px;line-height:1}.tag-edit-cancel:hover{color:#ff6b6b;background:#ff505024}.tag-create-form{border-top:1px solid var(--border-subtle);padding:10px 12px;display:flex;flex-direction:column;gap:8px;margin-top:4px}.tag-create-input{background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:var(--r-sm);color:#e0e0e0;font-size:13px;padding:8px 10px;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.tag-create-input::placeholder{color:#4a4a4a}.tag-create-input:focus{outline:none;border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 12%,transparent)}.tag-palette{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 4px}.tag-palette-dot{width:22px;height:22px;border-radius:var(--r-sm);border:2px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s;flex-shrink:0;outline:none}.tag-palette-dot:hover{transform:scale(1.2)}.tag-palette-dot--active{border-color:#ffffffd9;box-shadow:0 0 0 1px #ffffff26;transform:scale(1.12)}.tag-create-actions{display:flex;align-items:center;justify-content:flex-end}.tag-create-btn{background:var(--color-accent);border:none;border-radius:var(--r-md);color:#fff;font-size:12px;font-weight:600;padding:6px 16px;cursor:pointer;letter-spacing:.01em;transition:filter .15s,transform .1s}.tag-create-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.tag-create-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.96)}.tag-create-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}body.light-theme .tag-badge{background:color-mix(in srgb,var(--tag-color, #888) 12%,#f5f5f5);color:color-mix(in srgb,var(--tag-color, #555) 90%,#222);border-color:color-mix(in srgb,var(--tag-color, #888) 28%,rgba(0,0,0,.06))}body.light-theme .tag-chip{background:color-mix(in srgb,var(--tag-color, #888) 14%,#f0f0f0);color:color-mix(in srgb,var(--tag-color, #555) 90%,#222);border-color:color-mix(in srgb,var(--tag-color, #888) 32%,rgba(0,0,0,.08))}body.light-theme .tag-filter-menu-btn{color:#5a7494}body.light-theme .tag-filter-menu-btn:hover,body.light-theme .tag-filter-menu-btn.is-open{color:#2c4a66;background:#3264a017}body.light-theme .tag-filter-menu-btn.is-active{color:#3a6aaa}body.light-theme .tag-filter-menu-btn.is-active:after{background:var(--color-accent);box-shadow:0 0 0 1.5px #eef2f8}body.light-theme .tag-filter-menu-panel{background:#fff;border-color:#dde3ea;box-shadow:0 10px 28px #14284621}body.light-theme .tag-filter-menu-item{color:#5a7494}body.light-theme .tag-filter-menu-item:hover{background:#eef3f9;color:#2c4258}body.light-theme .tag-filter-menu-item.is-active{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:#2a549e}body.light-theme .tag-filter-menu-item--all{border-bottom-color:#e4e8ee}body.light-theme .tag-selector-field{background:#fff;border-color:#d8dfe8}body.light-theme .tag-selector-field:hover{border-color:#b0bfd0}body.light-theme .tag-selector.is-open .tag-selector-field{border-color:color-mix(in srgb,var(--color-accent) 50%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 9%,transparent)}body.light-theme .tag-selector-placeholder,body.light-theme .tag-selector-toggle{color:#a0b0c0}body.light-theme .tag-selector.is-open .tag-selector-toggle{color:#6a8aaa}body.light-theme .tag-selector-dropdown{background:#fff;border-color:#dde3ea;box-shadow:0 10px 28px #1428461f}body.light-theme .tag-selector-item:hover{background:#f4f7fb}body.light-theme .tag-selector-name{color:#2c4258}body.light-theme .tag-selector-item.is-selected{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}body.light-theme .tag-selector-item.is-selected .tag-selector-name{color:#1f3a5f}body.light-theme .tag-selector-empty{color:#63707f}body.light-theme .tag-search-wrap{border-bottom-color:#eef1f5}body.light-theme .tag-search-icon{color:#63707f}body.light-theme .tag-search-input{background:#f8fafc;border-color:#d4dce8;color:#2c4258}body.light-theme .tag-search-input::placeholder{color:#63707f}body.light-theme .tag-search-input:focus{border-color:color-mix(in srgb,var(--color-accent) 45%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 9%,transparent)}body.light-theme .tag-search-clear{background:#14284614;color:#6a7a8a}body.light-theme .tag-search-clear:hover{background:#14284629;color:#2c4258}body.light-theme .tag-delete-btn{color:#748498}body.light-theme .tag-delete-btn:hover{color:#e53e3e;background:#dc323214}body.light-theme .tag-edit-btn{color:#748498}body.light-theme .tag-edit-btn:hover{color:#3a6aaa;background:color-mix(in srgb,var(--color-accent) 10%,transparent)}body.light-theme .tag-selector-item--editing,body.light-theme .tag-selector-item--editing:hover{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}body.light-theme .tag-edit-input{background:#f8fafc;border-color:color-mix(in srgb,var(--color-accent) 50%,transparent);color:#2c4258}body.light-theme .tag-edit-cancel{color:#8a9db0}body.light-theme .tag-chip-remove:hover{color:#e53e3e;background:#dc32321a}body.light-theme .tag-create-form{border-top-color:#e4e8ee}body.light-theme .tag-create-input{background:#f8fafc;border-color:#d4dce8;color:#2c4258}body.light-theme .tag-create-input::placeholder{color:#63707f}body.light-theme .tag-create-input:focus{border-color:color-mix(in srgb,var(--color-accent) 55%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 10%,transparent)}body.light-theme .tag-palette-dot--active{border-color:#00000080;box-shadow:0 0 0 1px #0000001a}body.light-theme .tag-ai-hint{color:#8a9db0}.tags-manager-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}.tags-manager-count{font-size:13px;color:#888;font-weight:500}.tags-manager-sort{display:flex;align-items:center;gap:6px}.tags-manager-sort-label{font-size:12px;color:#777}.tags-manager-sort-btn{border:1px solid var(--border-subtle);background:#ffffff0a;color:#aaa;font-size:12px;padding:4px 12px;border-radius:var(--r-sm);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.tags-manager-sort-btn:hover{color:#e0e0e0;background:#ffffff14}.tags-manager-sort-btn.is-active{color:#99bfff;background:color-mix(in srgb,var(--color-accent) 14%,transparent);border-color:color-mix(in srgb,var(--color-accent) 40%,transparent)}.tags-manager-list{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--border-subtle);border-radius:var(--r-md);overflow:hidden}.tags-manager-row{display:flex;align-items:center;gap:12px;padding:12px 14px;transition:background .12s}.tags-manager-row+.tags-manager-row{border-top:1px solid var(--border-subtle)}.tags-manager-row:hover{background:#ffffff08}.tags-manager-row.is-editing{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.tags-manager-dot{width:12px;height:12px;border-radius:var(--r-circle);flex-shrink:0;background:var(--tag-color, #888);box-shadow:0 0 0 3px color-mix(in srgb,var(--tag-color, #888) 20%,transparent)}.tags-manager-name{flex:1;min-width:0;font-size:14px;font-weight:500;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tags-manager-usage{flex-shrink:0;font-size:12px;color:#6a6a6a;font-variant-numeric:tabular-nums}.tags-manager-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.tags-manager-edit-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tags-manager-input{background:#ffffff0d;border:1px solid color-mix(in srgb,var(--color-accent) 50%,transparent);border-radius:var(--r-sm);color:#e8e8e8;font-size:14px;padding:8px 10px;min-width:140px;flex:1;outline:none;transition:border-color .15s,box-shadow .15s}.tags-manager-input:focus{border-color:color-mix(in srgb,var(--color-accent) 80%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 12%,transparent)}.tags-manager-palette{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.tags-manager-palette .tag-palette-dot{width:20px;height:20px}.tags-manager-create{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px dashed var(--border-strong);border-radius:var(--r-md)}.tags-manager-create .tags-manager-input{border-color:var(--border-strong)}.tags-manager-create .tags-manager-input:focus{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent)}.tags-manager-add-btn{background:var(--color-accent);border:none;border-radius:var(--r-md);color:#fff;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;flex-shrink:0;transition:filter .15s,transform .1s}.tags-manager-add-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.tags-manager-add-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.tags-manager-empty{padding:24px 14px;text-align:center;font-size:14px;color:#666;font-style:italic;margin-bottom:14px;border:1px solid var(--border-subtle);border-radius:var(--r-md)}body.light-theme .tags-manager-count,body.light-theme .tags-manager-sort-label{color:#7a8aa0}body.light-theme .tags-manager-sort-btn{border-color:#d8dfe8;background:#f6f8fb;color:#5a7494}body.light-theme .tags-manager-sort-btn:hover{color:#2c4258;background:#eef3f9}body.light-theme .tags-manager-sort-btn.is-active{color:#2a549e;background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}body.light-theme .tags-manager-list{border-color:#e4e8ee}body.light-theme .tags-manager-row+.tags-manager-row{border-top-color:#eef1f5}body.light-theme .tags-manager-row:hover{background:#f6f8fb}body.light-theme .tags-manager-row.is-editing{background:color-mix(in srgb,var(--color-accent) 6%,transparent)}body.light-theme .tags-manager-name{color:#2c4258}body.light-theme .tags-manager-usage{color:#63707f}body.light-theme .tags-manager-input{background:#f8fafc;color:#2c4258}body.light-theme .tags-manager-create{border-color:#d8dfe8}body.light-theme .tags-manager-empty{color:#63707f;border-color:#e4e8ee}.int-create{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px dashed var(--border-strong);border-radius:var(--r-md);margin-bottom:14px}.int-input{flex:1;min-width:180px;background:#ffffff0d;border:1px solid var(--border-strong);border-radius:var(--r-sm);color:#e8e8e8;font-size:14px;padding:8px 12px;outline:none;transition:border-color .15s,box-shadow .15s}.int-input:focus{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 12%,transparent)}.int-add-btn{background:var(--color-accent);border:none;border-radius:var(--r-md);color:#fff;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;flex-shrink:0;transition:filter .15s,transform .1s}.int-add-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.int-add-btn:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}.int-reveal{margin-bottom:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);border-radius:var(--r-md);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.int-reveal-head{display:flex;align-items:flex-start;gap:8px;font-size:14px;font-weight:600;color:#cdddff;margin-bottom:10px}.int-reveal-head svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.int-url{display:block;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;color:#e8e8e8;background:#00000040;border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:8px 12px;margin-bottom:10px}.int-copy-btn{background:color-mix(in srgb,var(--color-accent) 16%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 40%,transparent);color:#9dc0ff;font-size:12px;font-weight:600;padding:8px 14px;border-radius:var(--r-sm);cursor:pointer;transition:background .15s,color .15s}.int-copy-btn:hover{background:color-mix(in srgb,var(--color-accent) 24%,transparent);color:#cddeff}.int-list{list-style:none;margin:0;padding:0;border:1px solid var(--border-subtle);border-radius:var(--r-md);overflow:hidden}.int-row{display:flex;align-items:center;gap:12px;padding:12px 14px;transition:background .12s}.int-row+.int-row{border-top:1px solid var(--border-subtle)}.int-row:hover{background:#ffffff08}.int-row-main{flex:1;min-width:0}.int-row-name{font-size:14px;font-weight:500;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.int-row-meta{font-size:12px;color:#6a6a6a;margin-top:2px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.int-row-meta code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8a8a8a}.int-revoke-btn{flex-shrink:0;border:1px solid var(--border-subtle);background:#ffffff08;color:#9a9a9a;font-size:12px;padding:6px 12px;border-radius:var(--r-sm);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.int-revoke-btn:hover{color:#ff6b6b;background:#ff46461a;border-color:#ff464659}.int-empty{padding:24px 14px;text-align:center;font-size:14px;color:#666;font-style:italic;border:1px solid var(--border-subtle);border-radius:var(--r-md)}body.light-theme .int-create{border-color:#d8dfe8}body.light-theme .int-input{background:#f8fafc;color:#2c4258;border-color:#d8dfe8}body.light-theme .int-input:focus{border-color:color-mix(in srgb,var(--color-accent) 60%,transparent)}body.light-theme .int-reveal{background:color-mix(in srgb,var(--color-accent) 7%,transparent);border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}body.light-theme .int-reveal-head{color:#2a549e}body.light-theme .int-url{background:#f3f5f9;color:#2c4258;border-color:#e4e8ee}body.light-theme .int-copy-btn{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:#2a549e;border-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}body.light-theme .int-copy-btn:hover{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}body.light-theme .int-list{border-color:#e4e8ee}body.light-theme .int-row+.int-row{border-top-color:#eef1f5}body.light-theme .int-row:hover{background:#f6f8fb}body.light-theme .int-row-name{color:#2c4258}body.light-theme .int-row-meta,body.light-theme .int-row-meta code{color:#63707f}body.light-theme .int-revoke-btn{border-color:#e6cccc;background:#fdf7f7;color:#b06a6a}body.light-theme .int-revoke-btn:hover{color:#d64545;background:#fbecec;border-color:#f0c4c4}body.light-theme .int-empty{color:#63707f;border-color:#e4e8ee}.confirm-dialog{position:fixed;top:50%;left:50%;z-index:1010;background:var(--color-bg-panel);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:28px 28px 24px;min-width:300px;max-width:400px;width:90%;box-shadow:var(--sh-3)}.confirm-dialog-title{font-size:16px;font-weight:600;color:#f0f0f0;margin-bottom:10px;line-height:1.3}.confirm-dialog-message{font-size:14px;color:#a0a0b0;line-height:1.55;margin-bottom:24px}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-dialog-btn{padding:8px 20px;border-radius:var(--r-md);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s;line-height:1}.confirm-dialog-btn--cancel{background:#ffffff0f;color:#c0c0cc;border:1px solid var(--border-subtle)}.confirm-dialog-btn--cancel:hover{background:#ffffff1f;color:#f0f0f0}.confirm-dialog-btn--danger{background:#c0392b;color:#fff}.confirm-dialog-btn--danger:hover{background:#e74c3c}.confirm-dialog-btn--primary{background:var(--color-accent);color:#fff}.confirm-dialog-btn--primary:hover{background:#5a8aff}body.light-theme .confirm-dialog{background:#fff;border-color:var(--color-border);box-shadow:0 24px 60px #1e32502e}body.light-theme .confirm-dialog-title{color:#1a2a3a}body.light-theme .confirm-dialog-message{color:#5a6a7a}body.light-theme .confirm-dialog-btn--cancel{background:#f0f4f8;color:#4a5a6a;border-color:#d0dae4}body.light-theme .confirm-dialog-btn--cancel:hover{background:#e2eaf3;color:#2b3d52}.avatar-modal{max-width:440px}.avatar-modal-preview{width:96px;height:96px;border-radius:var(--r-lg);margin:4px auto 16px;display:flex;align-items:center;justify-content:center}.avatar-modal-preview-emoji{font-size:52px;line-height:1}.avatar-modal-section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#8a8a98;margin:14px 0 8px}.avatar-modal-bg-row{display:flex;flex-wrap:wrap;gap:8px}.avatar-modal-bg-swatch{width:28px;height:28px;border-radius:var(--r-md);border:2px solid transparent;cursor:pointer;padding:0;transition:transform .12s,border-color .12s}.avatar-modal-bg-swatch:hover{transform:scale(1.1)}.avatar-modal-bg-swatch.is-selected{border-color:var(--color-accent)}.avatar-modal-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:200px;overflow-y:auto}.avatar-modal-emoji-cell{aspect-ratio:1;font-size:24px;border-radius:var(--r-md);border:2px solid transparent;background:#ffffff0a;cursor:pointer;padding:0;transition:background .12s,border-color .12s}.avatar-modal-emoji-cell:hover{background:#ffffff1a}.avatar-modal-emoji-cell.is-selected{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.avatar-modal .confirm-dialog-actions{margin-top:20px;justify-content:space-between}body.light-theme .avatar-modal-emoji-cell{background:#f0f4f8}body.light-theme .avatar-modal-emoji-cell:hover{background:#e2eaf3}.task-actions,.habit-actions{display:flex;align-items:flex-start}.item-menu{display:inline-flex}.item-menu-panel{position:fixed;z-index:1000;min-width:184px;padding:6px;border-radius:var(--r-md);background:var(--color-bg-panel);border:1px solid var(--border-subtle);box-shadow:var(--sh-2);animation:itemMenuAppear .14s ease-out}@keyframes itemMenuAppear{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.item-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--r-sm);background:transparent;color:#d9dee8;font-size:14px;line-height:1;text-align:left;cursor:pointer;transition:background .12s ease}.item-menu-item svg{flex-shrink:0;color:#9aa0aa}.item-menu-item:hover:not(:disabled){background:#ffffff12}.item-menu-item:disabled{opacity:.4;cursor:not-allowed}.item-menu-item--danger{color:#ec5b5b}.item-menu-item--danger svg{color:#ec5b5b}.item-menu-item--danger:hover:not(:disabled){background:#ec5b5b1f}.item-menu-sep{height:1px;margin:4px;background:#ffffff14}body.light-theme .item-menu-panel{border-color:#dde3ea;box-shadow:0 10px 28px #14284621}body.light-theme .item-menu-item{color:#2c4258}body.light-theme .item-menu-item svg{color:#7a8ba0}body.light-theme .item-menu-item:hover:not(:disabled){background:#eef3f9}body.light-theme .item-menu-item--danger,body.light-theme .item-menu-item--danger svg{color:#d63b3b}body.light-theme .item-menu-item--danger:hover:not(:disabled){background:#dc323217}body.light-theme .item-menu-sep{background:#e4e8ee}@media(hover:none)and (pointer:coarse){.task-actions,.habit-actions{opacity:1}}.task-attachments-badge{font-size:12px;padding:4px 8px;border-radius:var(--r-sm);background:var(--card-badge-bg);color:var(--card-badge-fg);white-space:nowrap}.attachments-dropzone{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px dashed var(--card-border, #3a3a4a);border-radius:var(--r-md);transition:border-color .15s,background .15s}.attachments-dropzone.is-dragover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.attachments-hint{font-size:13px;color:var(--color-text-muted, #9a9ab0)}.attachments-pick{padding:6px 12px;font-size:13px}.attachments-error{margin:6px 0 0;font-size:13px;color:#ff6b6b}.attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:10px}.attachment-thumb{position:relative;aspect-ratio:1 / 1;border-radius:var(--r-md);overflow:hidden;background:var(--card-bg, #1e1e2a);border:1px solid var(--card-border, #3a3a4a)}.attachment-thumb img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;display:block}.attachment-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;line-height:18px;padding:0;border:none;border-radius:var(--r-circle);background:#0009;color:#fff;font-size:16px;cursor:pointer}.attachment-remove:hover{background:#e02424}.attachments-files{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.attachment-file{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-sm);background:var(--card-bg, #1e1e2a);border:1px solid var(--card-border, #3a3a4a)}.attachment-file-icon{font-size:16px}.attachment-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--card-title, #e8e8f0);text-decoration:none}.attachment-file-name:hover{text-decoration:underline}.attachment-file-size{font-size:12px;color:var(--color-text-muted, #9a9ab0)}.attachment-file .attachment-remove{position:static;background:transparent;color:var(--color-text-muted, #9a9ab0)}.attachment-file .attachment-remove:hover{color:#ff6b6b;background:transparent}.attachment-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000d9;cursor:zoom-out}.attachment-lightbox img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:var(--r-sm)}@media(max-width:768px){.mobile-hidden{display:none!important}}.loading{display:flex;align-items:center;justify-content:center;min-height:40vh;font-size:1.2rem;color:#aaa}@keyframes sk-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.sk{border-radius:6px;background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:800px 100%;animation:sk-shimmer 1.4s ease-in-out infinite}.sk-circle{border-radius:50%;flex-shrink:0}.sk-line{border-radius:4px;flex-shrink:0}.sk-block{border-radius:8px}.sk-fade{animation:sk-fadein .3s ease-out}@keyframes sk-fadein{0%{opacity:0}to{opacity:1}}.sk-row{display:flex;align-items:center;gap:12px}.sk-dash-avatar,.sk-dash-rating,.sk-dash-league{align-items:flex-start!important}.sk-column{display:flex;flex-direction:column;gap:14px}.sk-task-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0}.sk-task-body{flex:1;display:flex;flex-direction:column;gap:6px}@media(max-width:768px){body.index-page .sk-fade.app-header{display:none!important}body.index-page .sk-fade.container .swipe-track>[data-mobile-panel]{display:none!important}body.index-page.mobile-panel-tasks .sk-fade.container .swipe-track>[data-mobile-panel=tasks]{display:block!important}body.index-page.mobile-panel-habits .sk-fade.container .swipe-track>[data-mobile-panel=habits]{display:block!important}body.index-page.mobile-panel-stats .sk-fade.container .swipe-track>[data-mobile-panel=stats]{display:block!important}}.sk-profile-card{padding:24px;display:flex;flex-direction:column;gap:20px}.sk-profile-avatar-row{display:flex;gap:20px;align-items:flex-start}.sk-profile-info{flex:1;display:flex;flex-direction:column;gap:10px}.sk-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sk-stat-cell{display:flex;flex-direction:column;gap:6px}.sk-card-pad{padding:20px;display:flex;flex-direction:column;gap:12px}.sk-meta-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:8px}.sk-achievement-row{display:flex;flex-direction:column;gap:4px;padding:6px 0}.sk-leaderboard-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.light-theme .sk{background:linear-gradient(90deg,#0000000f 25%,#0000001a,#0000000f 75%);background-size:800px 100%}.light-theme .sk-leaderboard-row{border-bottom-color:#00000012}@media(max-width:768px){.sk-profile-avatar-row{flex-direction:column;align-items:center;text-align:center}.sk-meta-grid{grid-template-columns:1fr 1fr}}
