/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-vietnamese-400-normal-B6gKbkHm.woff2)format("woff2"),url(/assets/bungee-vietnamese-400-normal-CmjDSWyd.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-ext-400-normal-DWzJMwsA.woff2)format("woff2"),url(/assets/bungee-latin-ext-400-normal-DXe9_7Rr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bungee;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bungee-latin-400-normal-Dfnurram.woff2)format("woff2"),url(/assets/bungee-latin-400-normal-DA8IEVW_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--brand:#275dad;--brand-hover:#1d4b91;--brand-soft:#e8f0fb;--lime:#b8ed4a;--lime-ink:#243400;--coral:#e8505b;--amber:#f4b942;--bg:#f4f2ec;--surface:#fff;--surface-2:#eeece5;--ink:#17212b;--muted:#65717d;--line:#d9ddd9;--chart-target:#cfd6dd;--shadow:0 8px 28px #17212b14;--radius:18px;background:var(--bg);color:var(--ink);font-synthesis:none;font-family:Inter,system-ui,-apple-system,sans-serif}:root[data-theme=dark]{color-scheme:dark;--brand:#72a7ed;--brand-hover:#91bbf1;--brand-soft:#1c3552;--lime:#b8ed4a;--lime-ink:#172400;--coral:#ff7980;--amber:#ffd06a;--bg:#10171d;--surface:#19232c;--surface-2:#232f38;--ink:#f2f4ef;--muted:#a8b3bb;--line:#34414a;--chart-target:#485760;--shadow:0 10px 30px #00000040}@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--brand:#72a7ed;--brand-hover:#91bbf1;--brand-soft:#1c3552;--lime:#b8ed4a;--lime-ink:#172400;--coral:#ff7980;--amber:#ffd06a;--bg:#10171d;--surface:#19232c;--surface-2:#232f38;--ink:#f2f4ef;--muted:#a8b3bb;--line:#34414a;--chart-target:#485760;--shadow:0 10px 30px #00000040}}*{box-sizing:border-box}html{background:var(--bg);overscroll-behavior:none;height:100%}body{background:var(--bg);min-width:320px;min-height:100%;color:var(--ink);overscroll-behavior:none;margin:0}button,input,textarea,select{font:inherit}input,textarea,select{font-size:16px}button,a,select{min-height:44px}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.icon{flex:none;display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-size:.7rem;font-weight:800}.app-frame{grid-template-rows:calc(58px + env(safe-area-inset-top)) minmax(0,1fr);height:100dvh;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.app-bar{height:calc(58px + env(safe-area-inset-top));z-index:20;padding:calc(6px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 6px max(16px,env(safe-area-inset-left));background:var(--bg);align-items:center;gap:12px;display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.app-bar{background:color-mix(in srgb,var(--bg) 92%,transparent)}}.app-bar{border-bottom:1px solid var(--line)}@supports (color:color-mix(in lab,red,red)){.app-bar{border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}}.app-bar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{color:var(--ink);align-items:center;gap:8px;min-height:44px;text-decoration:none;display:flex}.brand>span{background:var(--brand);color:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font:1rem Bungee;display:grid}.brand b{font-size:.94rem}.app-bar-actions{align-items:center;gap:5px;margin-left:auto;display:flex}.user-shortcut,.admin-shortcut{place-items:center;display:grid}.admin-shortcut{width:42px;height:42px;min-height:42px;color:var(--brand);background:var(--brand-soft);border-radius:12px;text-decoration:none}.admin-shortcut.active{box-shadow:inset 0 0 0 2px var(--brand)}.activity-switch{margin-left:auto}.activity-switch select{border:1px solid var(--line);background:var(--surface);max-width:150px;color:var(--ink);border-radius:12px;padding:0 30px 0 10px}.shell{width:min(100% - 28px,1040px);height:100%;min-height:0;padding:22px 0 calc(90px + env(safe-area-inset-bottom));overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;margin:0 auto;overflow:hidden auto}.bottom-nav{z-index:30;width:min(100%,680px);height:calc(70px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);background:var(--surface);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.bottom-nav{background:color-mix(in srgb,var(--surface) 94%,transparent)}}.bottom-nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -8px 28px #17212b14}.bottom-nav a{color:var(--muted);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-decoration:none;display:flex;position:relative}.bottom-nav a.active{color:var(--brand)}.bottom-nav a.active:before{content:"";background:var(--brand);border-radius:3px;width:24px;height:3px;position:absolute;top:-5px}.bottom-nav small{text-overflow:ellipsis;white-space:nowrap;max-width:68px;font-size:.62rem;font-weight:700;overflow:hidden}.page-head{max-width:680px;margin:4px 0 22px}.page-head>span{text-transform:uppercase;letter-spacing:.14em;color:var(--brand);margin-bottom:6px;font-size:.69rem;font-weight:800;display:block}.page-head h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,7vw,2.8rem);line-height:1.06}.page-head p{color:var(--muted);max-width:580px;margin:8px 0 0;line-height:1.5}.button{text-align:center;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 18px;font-weight:800;text-decoration:none;transition:transform .16s,background-color .16s,border-color .16s;display:inline-flex}.button:active{transform:translateY(1px)}.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--brand-hover)}.secondary,.google{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.quiet{color:var(--brand);background:0 0}.danger-button{color:var(--coral);border:1px solid var(--coral);background:0 0}@supports (color:color-mix(in lab,red,red)){.danger-button{border:1px solid color-mix(in srgb,var(--coral) 40%,var(--line))}}.text-button{color:var(--brand);background:0 0;border:0;padding:0 4px;font-weight:800;text-decoration:none}.text-button.danger{color:var(--coral)}.icon-button{border:1px solid var(--line);background:var(--surface);border-radius:12px;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.panel,.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}form{gap:15px;display:grid}label{color:var(--muted);gap:7px;font-size:.82rem;font-weight:700;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;min-height:48px;padding:11px 12px}textarea{resize:vertical;min-height:88px}label small{font-weight:400}.form-error{color:var(--coral);margin:0;font-size:.83rem}.success{color:#3c7a21;margin:0;font-size:.85rem;font-weight:700}.loading{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:6px;display:flex}.loading span{background:var(--brand);border-radius:50%;width:8px;height:8px;animation:.8s infinite alternate bounce}.loading span:nth-child(2){animation-delay:.15s}.loading span:nth-child(3){animation-delay:.3s}.loading b{font-size:.8rem;position:absolute;transform:translateY(30px)}.empty{min-height:190px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:22px;display:flex}.empty.compact{min-height:210px}.empty p{margin:0}.segments{background:var(--surface-2);border-radius:14px;gap:3px;padding:4px;display:flex;overflow-x:auto}.segments button{min-width:max-content;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:1;padding:0 13px;font-size:.78rem;font-weight:800}.segments button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 8px #17212b1a}.segments.compact{padding:3px}.segments.compact button{height:44px;min-height:44px;padding:0 9px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.period-nav{align-items:center;gap:8px;display:flex}.period-nav strong{text-align:center;min-width:92px;font-size:.8rem}.auth-layout{background:var(--surface);min-height:100dvh;display:grid}.auth-brand{color:#fff;background:#183f77;padding:clamp(32px,6vw,80px);display:none;position:relative;overflow:hidden}.auth-brand .kicker{color:var(--lime);margin-top:24px}.auth-brand h1{letter-spacing:-.06em;max-width:600px;margin:12px 0;font-size:clamp(2.5rem,6vw,5rem);line-height:.96}.logo-mark{border:2px solid #ffffffb3;border-radius:18px;place-items:center;width:60px;height:60px;display:grid}.logo-mark span{font:1.8rem Bungee}.auth-art{border:54px solid var(--lime);border-radius:50%;width:390px;height:390px;position:absolute;bottom:-110px;right:-70px}.auth-art i{background:#fff;border-radius:50%;width:40px;height:40px;position:absolute}.auth-art i:first-child{top:-60px;left:80px}.auth-art i:nth-child(2){top:90px;left:-100px}.auth-art i:nth-child(3){top:120px;right:-65px}.auth-card{width:min(100% - 36px,420px);margin:auto;padding:36px 0}.auth-card .page-head{margin-bottom:26px}.auth-card .button{width:100%}.auth-divider{color:var(--muted);align-items:center;gap:12px;margin:20px 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-card>.text-button{width:100%;margin-top:12px}.today-page{max-width:920px;margin:auto}.today-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.today-date{color:var(--muted);text-transform:capitalize;font-size:.72rem;font-weight:700;display:block}.today-top h1{letter-spacing:-.04em;margin:2px 0 0;font-size:1.5rem}.today-top-actions{align-items:center;gap:7px;display:flex;position:relative}.streak-chip{background:var(--lime);height:36px;color:var(--lime-ink);border-radius:11px;align-items:center;gap:5px;padding:0 10px;font-size:.75rem;font-weight:800;display:flex}.calendar-control{position:relative}.calendar-picker{width:44px;height:44px;min-height:44px;color:var(--brand);box-shadow:none;background:0 0;border:0;border-radius:12px;place-items:center;padding:0;transition:background-color .18s,color .18s,transform .18s;display:grid}.calendar-picker:hover,.calendar-picker.open{background:var(--surface-2)}.calendar-picker.historical{background:var(--brand-soft);color:var(--brand)}.calendar-picker:active{transform:scale(.94)}.calendar-picker:disabled{opacity:.42;cursor:not-allowed}.calendar-picker:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.calendar-popover{z-index:80;border:1px solid var(--brand);width:min(344px,100vw - 28px);padding:14px;position:absolute;top:calc(100% + 8px);right:0}@supports (color:color-mix(in lab,red,red)){.calendar-popover{border:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))}}.calendar-popover{background:var(--surface);transform-origin:100% 0;border-radius:20px;box-shadow:0 22px 60px #17212b33,0 4px 14px #17212b14}.calendar-popover:before{content:"";background:var(--surface);border-left:1px solid var(--brand);width:12px;height:12px;position:absolute;top:-6px;right:16px;rotate:45deg}@supports (color:color-mix(in lab,red,red)){.calendar-popover:before{border-left:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))}}.calendar-popover:before{border-top:1px solid var(--brand)}@supports (color:color-mix(in lab,red,red)){.calendar-popover:before{border-top:1px solid color-mix(in srgb,var(--brand) 12%,var(--line))}}.calendar-popover-head{z-index:1;justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 10px 4px;display:flex;position:relative}.calendar-popover-head>div{gap:2px;display:grid}.calendar-popover-head strong{letter-spacing:-.01em;font-size:.82rem}.calendar-popover-head span{color:var(--muted);font-size:.61rem;font-weight:700}.calendar-close{background:var(--surface-2);width:44px;height:44px;min-height:44px;color:var(--muted);border:0;border-radius:11px;place-items:center;padding:0;display:grid}.calendar-popover .rdp-root{--rdp-accent-color:var(--brand);--rdp-accent-background-color:var(--brand-soft);--rdp-day-width:42px;--rdp-day-height:42px;--rdp-day_button-width:38px;--rdp-day_button-height:38px;--rdp-day_button-border-radius:12px;--rdp-selected-border:0;--rdp-disabled-opacity:.3;--rdp-outside-opacity:.52;--rdp-nav_button-width:42px;--rdp-nav_button-height:42px;--rdp-animation_duration:.2s;--rdp-animation_timing:cubic-bezier(.22,1,.36,1);color:var(--ink);margin:0}.calendar-popover .rdp-months,.calendar-popover .rdp-month{width:100%;max-width:100%}.calendar-popover .rdp-month_grid{border-collapse:collapse;width:100%}.calendar-popover .rdp-month_grid th,.calendar-popover .rdp-month_grid td{border:0;padding:0}.calendar-popover .rdp-month_caption{text-transform:capitalize;justify-content:center;align-items:center;height:42px;font-size:.88rem;font-weight:900}.calendar-popover .rdp-nav{height:42px}.calendar-popover .rdp-button_previous,.calendar-popover .rdp-button_next{background:var(--surface-2);border-radius:11px;transition:background-color .15s,transform .15s}.calendar-popover .rdp-button_previous:not(:disabled):active,.calendar-popover .rdp-button_next:not(:disabled):active{transform:scale(.92)}.calendar-popover .rdp-button_previous:disabled,.calendar-popover .rdp-button_next:disabled,.calendar-popover .rdp-button_previous[aria-disabled=true],.calendar-popover .rdp-button_next[aria-disabled=true]{visibility:hidden}.calendar-popover .rdp-weekday{color:var(--muted);text-transform:uppercase;padding:5px 0;font-size:.58rem;font-weight:900}.calendar-popover .rdp-day_button{font-size:.72rem;font-weight:800;transition:background-color .14s,color .14s,transform .14s}.calendar-popover .rdp-day_button:not(:disabled):active{transform:scale(.9)}.calendar-popover .rdp-selected .rdp-day_button{background:var(--brand);color:#fff;box-shadow:0 5px 12px var(--brand)}@supports (color:color-mix(in lab,red,red)){.calendar-popover .rdp-selected .rdp-day_button{box-shadow:0 5px 12px color-mix(in srgb,var(--brand) 28%,transparent)}}.calendar-popover .rdp-today:not(.rdp-selected) .rdp-day_button{background:var(--brand-soft);color:var(--brand)}.calendar-popover .rdp-disabled .rdp-day_button{text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.calendar-popover .rdp-disabled .rdp-day_button{-webkit-text-decoration-color:color-mix(in srgb,var(--muted) 50%,transparent);text-decoration-color:color-mix(in srgb,var(--muted) 50%,transparent)}}.calendar-popover .rdp-disabled .rdp-day_button{cursor:not-allowed}.calendar-popover .rdp-day_button:focus-visible{outline:3px solid var(--amber);outline-offset:0}.save-toast{z-index:105;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));background:var(--ink);width:max-content;max-width:calc(100vw - 32px);min-height:48px;color:var(--surface);border-radius:14px;align-items:center;gap:9px;padding:11px 16px;font-size:.8rem;font-weight:800;display:flex;position:fixed;translate:-50%;box-shadow:0 12px 35px #17212b40}.save-toast span{background:var(--lime);width:23px;height:23px;color:var(--lime-ink);border-radius:50%;place-items:center;display:grid}.report-load-error{color:var(--coral);justify-content:space-between;align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:flex}.report-load-error button{min-height:36px;color:var(--brand);background:0 0;border:0;font-weight:800}.today-workspace{grid-template-columns:minmax(0,1fr);gap:9px;display:grid}.dial-column{place-items:center;display:grid}.rep-dial{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:50%;width:min(58vw,226px);position:relative}.rep-dial:active{cursor:grabbing}.rep-dial svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.rep-dial circle{fill:none;stroke-width:9px}.dial-track{stroke:var(--line)}.dial-fill{stroke:var(--brand);stroke-linecap:round}.dial-value{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),0 7px 20px #17212b14;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:22%;right:22%;bottom:22%;left:22%}.dial-value small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:800}.dial-value span{color:var(--muted);font-size:.6rem}.dial-handle{pointer-events:none;transition:transform .1s linear;position:absolute;top:0;right:0;bottom:0;left:0}.dial-handle i{background:var(--surface);border:6px solid var(--brand);border-radius:50%;width:22px;height:22px;position:absolute;top:1px;left:50%;translate:-50%;box-shadow:0 2px 7px #17212b33}.quick-add{gap:7px;margin-top:-2px;display:flex}.quick-add button{border:1px solid var(--line);background:var(--surface);min-width:58px;min-height:44px;color:var(--brand);box-shadow:0 3px 0 var(--line);border-radius:11px;font-weight:800}.today-controls{align-content:start;gap:8px;display:grid}.goal-control,.timer{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:11px 12px}.control-label{justify-content:space-between;align-items:center;gap:8px;display:flex}.control-label>span,.timer>div:first-child>span{color:var(--muted);align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:flex}.control-label strong{font-size:1rem}.control-label strong small{color:var(--muted);font-size:.64rem}.range{height:25px;min-height:25px;accent-color:var(--brand);background:0 0;border:0;padding:0}.range::-webkit-slider-thumb{width:22px;height:22px}.timer{justify-content:space-between;align-items:center;gap:6px;display:flex}.timer>div:first-child{gap:1px;display:grid}.timer strong{font-variant-numeric:tabular-nums;letter-spacing:.04em;font:1.45rem/1.05 Bungee}.timer small{color:var(--muted);font-size:.6rem}.timer-actions{gap:5px;display:flex}.timer-main{background:var(--lime);width:44px;height:44px;color:var(--lime-ink);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.timer .icon-button{background:var(--surface-2);border:0}.notes-toggle{border:0;border-bottom:1px solid var(--line);width:100%;min-height:44px;color:var(--muted);background:0 0;justify-content:space-between;align-items:center;padding:0 7px;font-size:.75rem;font-weight:700;display:flex}.notes-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.notes-field{overflow:hidden}.notes-field textarea{height:64px;min-height:64px;font-size:.8rem}.save-today{width:100%;min-height:48px}.offline-note{color:var(--coral);font-size:.65rem}.today-insights{color:var(--muted);justify-content:center;gap:20px;margin-top:10px;font-size:.68rem;display:flex}.today-insights b{color:var(--ink)}.celebration{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#050c13b8;place-items:center;padding:22px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.celebration-card{background:var(--surface);text-align:center;border-radius:26px;width:min(100%,390px);padding:34px 24px 24px;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000059}.celebration-card .close{position:absolute;top:12px;right:12px}.badge-medal{border:8px solid var(--amber);background:var(--surface-2);border-radius:50%;place-items:center;width:116px;height:116px;margin:15px auto;font-size:3.5rem;display:grid}.celebration-card h2{margin:5px;font-size:1.7rem}.celebration-card p{color:var(--muted)}.celebration-card .button{width:100%;margin-top:6px}.burst{pointer-events:none;position:absolute;top:40px;right:50%;bottom:40px;left:50%}.burst i{background:var(--lime);transform-origin:4px 95px;width:8px;height:28px;position:absolute}.burst i:nth-child(2){transform:rotate(60deg)}.burst i:nth-child(3){transform:rotate(120deg)}.burst i:nth-child(4){transform:rotate(180deg)}.burst i:nth-child(5){transform:rotate(240deg)}.burst i:nth-child(6){transform:rotate(300deg)}.stats-hero{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;flex-direction:column;justify-content:center;min-width:0;padding:14px;display:flex}.stat-card .icon{color:var(--brand);margin-bottom:8px}.stat-card strong{letter-spacing:-.04em;font-size:1.45rem}.stat-card span{color:var(--muted);margin-top:3px;font-size:.68rem}.timer-stats,.chart-card,.community-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px}.timer-stats>header,.chart-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.timer-stats header>div{align-items:center;gap:8px;display:flex}.timer-stats h2,.chart-head h2{margin:0;font-size:1rem}.timer-stats header>span,.chart-head p{color:var(--muted);margin:3px 0;font-size:.68rem}.timer-stats>div{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.timer-stats .stat-card{background:var(--surface-2);box-shadow:none;border:0;padding:11px}.chart-loading{background:var(--surface-2);border-radius:12px;height:230px;animation:1.2s ease-in-out infinite chart-pulse}.chart-head .compare-button{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-height:44px;padding:0 10px;font-size:.7rem;font-weight:800}.compare-button.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand)}.community-panel{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.community-panel .stat-card{background:var(--surface-2);border:0}.heatmap-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:16px;position:relative;overflow:hidden}.heatmap-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.heatmap-head h2{letter-spacing:-.02em;margin:4px 0 2px;font-size:1.08rem}.heatmap-head p{color:var(--muted);margin:0;font-size:.7rem}.heatmap-kicker{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:5px;font-size:.62rem;font-weight:900;display:flex}.heatmap-year{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;grid-template-columns:34px auto 34px;align-items:center;gap:4px;padding:3px;display:grid}.heatmap-year button{background:var(--surface);border:0;border-radius:9px;width:34px;height:34px;min-height:0;padding:0;font-weight:900}.heatmap-year strong{text-align:center;min-width:38px;font-size:.76rem}.heatmap-member{background:var(--surface-2);border-radius:14px;align-items:center;gap:10px;margin:14px 0 10px;padding:9px 11px;display:flex}.heatmap-member label{flex:1;gap:3px;min-width:0}.heatmap-member label>span{text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}.heatmap-member select{background-color:#0000;border:0;border-radius:0;height:34px;min-height:34px;padding:0 28px 0 0;font-weight:800}.heatmap-stats{grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:13px;display:grid}.heatmap-stats>span{border:1px solid var(--line);min-width:0;color:var(--muted);border-radius:11px;flex-direction:column;padding:8px 10px;font-size:.6rem;display:flex}.heatmap-stats strong{color:var(--ink);font-size:1.05rem;line-height:1.1}.heatmap-calendar{grid-template-columns:22px minmax(0,1fr);gap:5px;display:grid}.heatmap-weekdays{color:var(--muted);grid-template-rows:repeat(7,12px);gap:3px;padding-top:22px;font-size:.52rem;line-height:12px;display:grid}.heatmap-scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-width:0;padding-bottom:7px;overflow-x:auto}.heatmap-scroll:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:5px}.heatmap-canvas{min-width:max-content}.heatmap-months{height:22px;color:var(--muted);font-size:.58rem;position:relative}.heatmap-months span{white-space:nowrap;position:absolute;top:0}.heatmap-grid{gap:3px;display:flex}.heatmap-week{grid-template-rows:repeat(7,12px);gap:3px;display:grid}.heatmap-cell{background:var(--surface-2);border:1px solid var(--line);border-radius:3px;flex:none;width:12px;height:12px;display:block}@supports (color:color-mix(in lab,red,red)){.heatmap-cell{border:1px solid color-mix(in srgb,var(--line) 75%,transparent)}}.heatmap-cell.level-1{background:var(--brand-soft);border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.heatmap-cell.level-1{border-color:color-mix(in srgb,var(--brand) 18%,transparent)}}.heatmap-cell.level-2{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.heatmap-cell.level-2{background:color-mix(in srgb,var(--brand) 48%,var(--surface))}}.heatmap-cell.level-2{border-color:#0000}.heatmap-cell.level-3{background:var(--brand);border-color:#0000}.heatmap-cell.level-4{background:var(--lime);border-color:var(--lime-ink)}@supports (color:color-mix(in lab,red,red)){.heatmap-cell.level-4{border-color:color-mix(in srgb,var(--lime-ink) 16%,transparent)}}.heatmap-cell.outside{visibility:hidden}.heatmap-cell.future{opacity:.4}.heatmap-footer{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:9px;font-size:.56rem;display:flex}.heatmap-footer .heatmap-cell{border-radius:3px;width:10px;height:10px}.heatmap-footer em{margin-left:8px;font-style:normal}.podium{grid-template-columns:repeat(3,1fr);align-items:end;gap:7px;margin:28px 0 16px;display:grid}.podium-place{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:18px 18px 8px 8px;flex-direction:column;align-items:center;min-width:0;padding:18px 6px 13px;display:flex;position:relative}.podium-place.place-1{border-top:5px solid var(--amber);order:2;min-height:196px}.podium-place.place-2{order:1;min-height:169px}.podium-place.place-3{order:3;min-height:157px}.medal{background:var(--ink);width:32px;height:32px;color:var(--surface);border:3px solid var(--bg);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:-17px}.podium-place strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:9px;font-size:.78rem;overflow:hidden}.podium-place b{margin-top:5px;font-size:1.35rem}.podium-place small{color:var(--muted);font-size:.62rem}.rank-list{gap:7px;display:grid}.rank-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:30px 38px 1fr auto;align-items:center;gap:9px;min-height:58px;padding:7px 13px;display:grid}.rank-row>strong{color:var(--muted);text-align:center}.rank-row>span:not(.avatar){text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:700;overflow:hidden}.rank-row.current-user{background:var(--brand-soft);border-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.rank-row.current-user{border-color:color-mix(in srgb,var(--brand) 52%,var(--line))}}.rank-row.current-user{box-shadow:inset 3px 0 0 var(--brand)}.rank-row.current-user>strong,.rank-row.current-user>b{color:var(--brand)}.rank-row.current-user>span small{background:var(--brand);color:#fff;text-transform:uppercase;letter-spacing:.05em;vertical-align:1px;border-radius:999px;align-items:center;margin-left:7px;padding:2px 6px;font-size:.56rem;font-weight:800;display:inline-flex}.challenge-groups{gap:23px;display:grid}.section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);align-items:center;gap:8px;margin:0 0 10px;font-size:.7rem;display:flex}.section-label span{background:var(--surface-2);border-radius:50%;place-items:center;width:23px;height:23px;font-size:.65rem;display:grid}.challenge-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px;display:grid}.challenge-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px;overflow:hidden}.challenge-card>header{align-items:center;gap:11px;display:flex}.challenge-symbol{background:var(--brand-soft);width:45px;height:45px;color:var(--brand);border-radius:13px;place-items:center;display:grid}.challenge-card header span{color:var(--brand);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:800}.challenge-card h3{margin:2px 0;font-size:1.02rem}.challenge-card>p{color:var(--muted);min-height:34px;font-size:.78rem;line-height:1.45}.challenge-progress>div{justify-content:space-between;margin-bottom:7px;font-size:.7rem;display:flex}.challenge-progress span{color:var(--muted)}.progress{background:var(--surface-2);border-radius:8px;height:8px;overflow:hidden}.progress>div{background:var(--brand);height:100%;transition:transform .4s}.challenge-meta{color:var(--muted);align-items:center;gap:8px;margin:12px 0;font-size:.66rem;display:flex}.challenge-meta i{background:var(--line);flex:1;height:1px}.challenge-actions{gap:6px;display:flex}.challenge-actions .button{flex:1;min-height:43px;padding:0 10px;font-size:.75rem}.challenge-detail{border-top:1px solid var(--line);margin-top:12px;padding-top:5px;overflow:hidden}.challenge-detail h4{font-size:.78rem}.challenge-detail>p{color:var(--muted);font-size:.75rem}.mini-rank{grid-template-columns:24px 34px 1fr auto;align-items:center;gap:7px;min-height:43px;font-size:.75rem;display:grid}.mini-rank>b{color:var(--muted)}.profile-layout{gap:13px;display:grid}.identity-card{text-align:center}.photo-editor{width:max-content;margin:0 auto;position:relative}.camera-button{border:3px solid var(--surface);background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;bottom:0;right:-6px}.photo-actions{justify-content:center;gap:12px;display:flex}.avatar-fields{text-align:left;grid-template-columns:1fr 90px;gap:10px;display:grid}.color-input{padding:6px}.badges-panel>header{justify-content:space-between;align-items:center;display:flex}.badges-panel h2,.preferences h2,.password-panel h2{margin:4px 0 15px;font-size:1.15rem}.badges-panel header>strong{color:var(--brand)}.badge-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.badge-grid article{border:1px solid var(--line);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:112px;padding:10px 6px;display:flex}.badge-grid article>div{filter:grayscale();opacity:.35;font-size:1.8rem}.badge-grid article.earned>div{filter:none;opacity:1}.badge-grid article strong{margin-top:6px;font-size:.66rem}.badge-grid article small{color:var(--muted);margin-top:3px;font-size:.56rem}.badge-grid article.locked{background:var(--surface-2);box-shadow:none}.setting-row{border-top:1px solid var(--line);gap:10px;padding:13px 0;display:grid}.setting-row>div:first-child{gap:3px;display:grid}.setting-row strong{font-size:.82rem}.setting-row small{color:var(--muted);font-size:.68rem}.profile-links{gap:9px;display:grid}.profile-links .button{width:100%}.linked{color:var(--muted);align-items:center;gap:9px;padding:10px;font-size:.8rem;display:flex}.avatar{color:#fff;border:1px solid #fff6;flex:none;place-items:center;font-weight:800;display:inline-grid;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.avatar-sm{border-radius:11px;width:36px;height:36px;font-size:1rem}.avatar-md{border-radius:18px;width:58px;height:58px;font-size:1.6rem}.avatar-lg{border-radius:26px;width:86px;height:86px;font-size:2.4rem}.admin-tabs,.admin-form{margin-bottom:16px}.admin-form h2{margin:0}.destructive-dialog{border-color:var(--coral);margin-bottom:16px}@supports (color:color-mix(in lab,red,red)){.destructive-dialog{border-color:color-mix(in srgb,var(--coral) 45%,var(--line))}}.destructive-dialog h2{margin:0 0 8px;font-size:1.15rem}.destructive-dialog p{color:var(--muted);font-size:.82rem;line-height:1.5}.admin-reset-data{width:100%;margin-top:8px}.check{grid-template-columns:22px 1fr;align-items:center;display:flex}.check input{width:20px;min-height:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px;font-size:.78rem}td small{color:var(--muted);display:block}td button{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:0 10px}select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.update-toast{z-index:110;background:var(--ink);min-width:260px;color:var(--surface);box-shadow:var(--shadow);border:0;border-radius:13px;font-weight:800;position:fixed;bottom:90px;left:50%;translate:-50%}.modal-backdrop{z-index:120;padding:20px max(16px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d192694;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.modal-backdrop .destructive-dialog{border-color:var(--coral);width:min(100%,440px);margin:0;padding:22px}@supports (color:color-mix(in lab,red,red)){.modal-backdrop .destructive-dialog{border-color:color-mix(in srgb,var(--coral) 55%,var(--line))}}.modal-backdrop .destructive-dialog{box-shadow:0 24px 80px #00000047}.app-toast-region{z-index:150;right:max(14px,env(safe-area-inset-right));bottom:calc(82px + env(safe-area-inset-bottom));width:min(390px,calc(100vw - max(14px,env(safe-area-inset-left)) - max(14px,env(safe-area-inset-right))));pointer-events:none;gap:9px;display:grid;position:fixed}.app-toast{pointer-events:auto;border:1px solid var(--ink);grid-template-columns:32px minmax(0,1fr) 36px;align-items:center;gap:10px;min-height:56px;padding:10px 9px 10px 12px;display:grid}@supports (color:color-mix(in lab,red,red)){.app-toast{border:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}}.app-toast{background:var(--ink);border-radius:16px}@supports (color:color-mix(in lab,red,red)){.app-toast{background:color-mix(in srgb,var(--ink) 96%,var(--surface))}}.app-toast{color:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 44px #0d192642}.app-toast.success{background:#153c2f}@supports (color:color-mix(in lab,red,red)){.app-toast.success{background:color-mix(in srgb,#153c2f 94%,var(--surface))}}.app-toast.error{background:#7d2934}@supports (color:color-mix(in lab,red,red)){.app-toast.error{background:color-mix(in srgb,#7d2934 94%,var(--surface))}}.app-toast.info{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.app-toast.info{background:color-mix(in srgb,var(--brand) 92%,var(--surface))}}.app-toast-symbol{background:#ffffff29;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:950;display:grid}.app-toast p{margin:0;font-size:.78rem;font-weight:750;line-height:1.35}.app-toast button{width:36px;height:36px;min-height:36px;color:inherit;opacity:.72;background:0 0;border:0;border-radius:10px;padding:0;font-size:1.3rem}.app-toast button:active{background:#ffffff1f}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@keyframes chart-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:360px)and (max-width:699px){.shell:has(.today-page){padding-top:8px;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.today-page{height:calc(100dvh - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:620px}.today-workspace{grid-template-columns:minmax(185px,1.2fr) minmax(135px,.8fr);align-items:center}.rep-dial{width:min(54vw,224px)}.quick-add button{min-width:52px}.today-controls{gap:6px}.goal-control,.timer{padding:9px}.timer{display:grid}.timer-actions{justify-content:flex-end}.notes-toggle{min-height:44px}.save-today{min-height:48px}.today-insights{margin-top:7px}}@media(min-width:700px){.app-bar{padding-left:max(30px,50vw - 520px);padding-right:max(30px,50vw - 520px)}.shell{padding-top:35px}.bottom-nav{border:1px solid var(--line);border-radius:20px;grid-template-columns:1fr;width:76px;height:auto;padding:8px;top:50%;bottom:auto;left:18px;transform:translateY(-50%)}.bottom-nav a{min-height:64px}.bottom-nav a.active:before{width:3px;height:24px;top:20px;left:-8px}.today-workspace{grid-template-columns:minmax(300px,.8fr) minmax(340px,1.2fr);gap:42px}.rep-dial{width:300px}.today-controls{gap:12px}.goal-control,.timer{padding:16px}.timer strong{font-size:2rem}.profile-layout{grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);align-items:start}.identity-card{grid-row:span 2}.preferences{grid-column:2}.password-panel{grid-column:1}.profile-links{grid-column:2}.badge-grid{grid-template-columns:repeat(4,1fr)}.auth-layout{grid-template-columns:1.2fr .8fr}.auth-brand{display:block}.auth-card{padding:40px 0}.stats-hero{grid-template-columns:repeat(3,1fr)}.community-panel{grid-template-columns:repeat(4,1fr)}}@media(max-width:359px){.shell{width:calc(100% - 20px);padding-top:14px}.brand b{display:none}.today-top h1{font-size:1.3rem}.rep-dial{width:200px}.bottom-nav small{font-size:.56rem}.stats-hero,.timer-stats>div{grid-template-columns:1fr}.podium-place strong{font-size:.68rem}}.today-page{max-width:720px}.today-top{margin-bottom:4px}.today-workspace{grid-template-columns:1fr;justify-items:center;gap:12px;display:grid}.dial-column{place-items:center;gap:14px;width:100%;display:grid}.rep-dial{aspect-ratio:1;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;width:min(82vw,330px);position:relative}.dial-ring-control{z-index:3;touch-action:none;pointer-events:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;transform:rotate(-90deg);box-shadow:none!important;outline:0!important}.dial-ring-control:focus,.dial-ring-control:focus-visible,.dial-ring-control:active{box-shadow:none!important;outline:0!important}.dial-ring-control:focus .dial-halo,.dial-ring-control:focus-visible .dial-halo{stroke:var(--brand)}@supports (color:color-mix(in lab,red,red)){.dial-ring-control:focus .dial-halo,.dial-ring-control:focus-visible .dial-halo{stroke:color-mix(in srgb,var(--brand) 18%,transparent)}}.dial-ring-control:focus .dial-halo,.dial-ring-control:focus-visible .dial-halo{stroke-width:16px}.dial-ring-control circle{fill:none}.dial-ring-control .dial-ticks{stroke:var(--ink)}@supports (color:color-mix(in lab,red,red)){.dial-ring-control .dial-ticks{stroke:color-mix(in srgb,var(--ink) 30%,transparent)}}.dial-ring-control .dial-ticks{stroke-width:1.25px;stroke-linecap:round;stroke-dasharray:.45 7.59}.dial-ring-control .dial-halo{stroke:var(--brand)}@supports (color:color-mix(in lab,red,red)){.dial-ring-control .dial-halo{stroke:color-mix(in srgb,var(--brand) 9%,transparent)}}.dial-ring-control .dial-halo{stroke-width:14px}.dial-ring-control:focus-visible .dial-halo{stroke:var(--brand)}@supports (color:color-mix(in lab,red,red)){.dial-ring-control:focus-visible .dial-halo{stroke:color-mix(in srgb,var(--brand) 18%,transparent)}}.dial-ring-control:focus-visible .dial-halo{stroke-width:16px}.dial-ring-control .dial-track{stroke:var(--ink)}@supports (color:color-mix(in lab,red,red)){.dial-ring-control .dial-track{stroke:color-mix(in srgb,var(--ink) 12%,transparent)}}.dial-ring-control .dial-track{stroke-width:7px}.dial-ring-control .dial-fill{stroke:var(--brand);stroke-width:9px;stroke-linecap:round}.dial-ring-control .dial-hit{stroke:#0000;stroke-width:32px;pointer-events:stroke;cursor:grab}.dial-hit:active{cursor:grabbing}.dial-core{z-index:1;color:#fff;background:#102b4f;border:1px solid #ffffff1f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:18%;right:18%;bottom:18%;left:18%;box-shadow:0 18px 42px #102b4f38,inset 0 1px #ffffff1a}.dial-value{box-shadow:none;background:0 0;place-items:center;gap:0;display:grid;position:static;inset:auto}.dial-value small,.dial-timer small{color:#fff9;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;font-weight:800;line-height:1}.dial-value strong{color:#fff;letter-spacing:-.05em;font:clamp(3rem,15vw,4.5rem)/.92 Bungee}.dial-value span{color:#ffffff9e;font-size:.63rem;font-weight:700}.dial-divider{background:#ffffff24;width:58%;height:1px;margin:10px 0 8px}.dial-timer{text-align:center;grid-template-columns:32px 1fr 32px;align-items:center;gap:7px;width:76%;display:grid}.dial-timer>div{place-items:center;gap:2px;display:grid}.dial-timer strong{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:1.18rem}.dial-timer span{color:#ffffff94;white-space:nowrap;font-size:.52rem}.dial-timer button{box-sizing:border-box;color:#fff;aspect-ratio:1;border:0;border-radius:999px;place-items:center;width:32px;min-width:0;height:32px;min-height:0;padding:0;line-height:0;display:grid}.dial-timer button .icon{width:16px;height:16px}.dial-timer-main{background:var(--lime);box-shadow:0 3px 10px #b8e64840;color:var(--lime-ink)!important}.dial-timer-reset{background:#ffffff17}.dial-timer-reset:disabled{opacity:.3}.timer-running .dial-core{box-shadow:0 18px 48px #275dad47,inset 0 1px #ffffff1f}.timer-running .dial-halo{stroke:var(--lime)}@supports (color:color-mix(in lab,red,red)){.timer-running .dial-halo{stroke:color-mix(in srgb,var(--lime) 24%,transparent)}}.dial-handle,.dial-target-marker{z-index:5;pointer-events:none;transition:transform .1s linear;position:absolute;top:0;right:0;bottom:0;left:0}.dial-handle i{border:7px solid var(--brand);background:#fff;border-radius:50%;width:24px;height:24px;position:absolute;top:5.5%;left:50%;translate:-50%;box-shadow:0 4px 12px #102b4f47}.dial-target-marker{z-index:2}.dial-target-marker i{background:var(--lime);width:3px;height:13px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;top:3.5%;left:50%;translate:-50%}.dial-ring-hint{z-index:6;background:var(--surface);color:var(--muted);letter-spacing:.04em;white-space:nowrap;border-radius:8px;padding:3px 8px;font-size:.55rem;font-weight:800;position:absolute;bottom:-4px;left:50%;translate:-50%}.quick-add{justify-content:center;margin:0}.quick-add button{background:var(--surface);min-width:68px;box-shadow:0 4px 0 var(--line);border-radius:13px;font-size:.82rem}.quick-add button:active{box-shadow:0 1px 0 var(--line);translate:0 3px}.today-controls{gap:9px;width:min(100%,520px);display:grid}.goal-control{border-radius:15px;padding:12px 14px}.today-actions{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:9px;display:grid}.today-actions>*{min-height:48px}.today-insights{width:min(100%,520px);margin:9px auto 0}.notes-field{width:100%}@media(min-width:360px)and (max-width:699px){.shell:has(.today-page){padding-top:7px}.today-page{height:calc(100dvh - 142px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:620px}.today-workspace{grid-template-columns:1fr;gap:10px}.rep-dial{width:min(78vw,306px)}.quick-add button{min-width:68px}.today-controls{gap:8px}.goal-control{padding:10px 13px}.today-insights{margin-top:7px}}@media(min-width:700px){.today-workspace{grid-template-columns:1fr;gap:18px}.rep-dial{width:360px}.today-controls{gap:12px}.goal-control{padding:14px 16px}}@media(max-width:359px){.rep-dial{width:250px}.dial-value strong{font-size:2.8rem}.dial-divider{margin:7px 0 6px}.dial-timer{width:82%}.quick-add button{min-width:60px}.today-actions{grid-template-columns:1fr}.today-page{min-height:700px}}@media(max-width:340px){.calendar-popover{width:calc(100vw - 8px);padding:10px;right:-10px}.calendar-popover .rdp-root{--rdp-day-width:calc((100vw - 28px)/7);--rdp-day_button-width:calc((100vw - 56px)/7)}}@media(max-height:620px){.calendar-popover{inset:auto 8px calc(8px + env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 16px - env(safe-area-inset-bottom));overscroll-behavior:contain;transform-origin:bottom;position:fixed;overflow-y:auto}.calendar-popover:before{display:none}.calendar-popover-head{background:var(--surface);position:sticky;top:-10px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
