@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";
@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");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-weight:300;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");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-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");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-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");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-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");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-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");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-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");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-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");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-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");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-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");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-weight:800;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");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-weight:800;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");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-weight:800;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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-weight:800;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");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-weight:800;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_b785138-module__Hrlnpq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_b785138-module__Hrlnpq__variable{--font-inter:"Inter","Inter Fallback"}
:root{--bg-top:#111417;--bg-bottom:#1a1f24;--card-bg:#1e2328;--card-bg-alt:#222831;--card-hover:#282e36;--accent:#6c63ff;--accent-glow:#6c63ff59;--accent-soft:#6c63ff26;--accent-muted:#6c63ff14;--yellow:#ffd93d;--yellow-glow:#ffd93d4d;--blue:#4fc3f7;--blue-glow:#4fc3f74d;--purple:#ab47bc;--purple-glow:#ab47bc4d;--green:#66bb6a;--green-glow:#66bb6a4d;--red:#ef5350;--red-glow:#ef53504d;--orange:#ffa726;--orange-glow:#ffa7264d;--text-primary:#fff;--text-secondary:#b0b7c3;--text-disabled:#6b7280;--text-muted:#4b5563;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-card:20px;--radius-highlight:24px;--radius-pill:32px;--radius-full:9999px;--shadow-1:0 2px 8px #0000004d;--shadow-2:0 4px 16px #0006;--shadow-3:0 8px 32px #00000080;--shadow-glow:0 0 24px var(--accent-glow);--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--fs-xs:10px;--fs-sm:12px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:28px;--fs-3xl:32px;--fs-4xl:36px;--ease-out:cubic-bezier(.16,1,.3,1);--transition-fast:.15s var(--ease-out);--transition-normal:.25s var(--ease-out);--transition-slow:.4s var(--ease-out);--nav-height:72px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}html,body{max-width:100vw;min-height:100dvh;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--fs-md);color:var(--text-primary);background:linear-gradient(180deg,var(--bg-top)0%,var(--bg-bottom)100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea,select{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}.app-shell{max-width:430px;min-height:100dvh;padding-bottom:calc(var(--nav-height) + var(--sp-8));margin:0 auto;position:relative}.page-container{padding:var(--sp-4);padding-top:var(--sp-12)}.card{background:linear-gradient(145deg,var(--card-bg)0%,var(--card-bg-alt)100%);border-radius:var(--radius-card);padding:var(--sp-6);transition:transform var(--transition-fast),box-shadow var(--transition-fast);position:relative;overflow:hidden}.card:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(at 30% 20%,#ffffff0a 0%,#0000 70%);position:absolute;inset:0}.card:active{transform:scale(.98)}.card-highlight{border-radius:var(--radius-highlight);padding:var(--sp-6);box-shadow:var(--shadow-2),0 0 40px #6c63ff1f;border:1px solid #6c63ff26;position:relative}.card-highlight:after{content:"";border-radius:inherit;z-index:-1;background:linear-gradient(135deg,#6c63ff33 0%,#0000 40% 60%,#6c63ff1a 100%);animation:4s ease-in-out infinite glowPulse;position:absolute;inset:-1px}.card-mid{padding:var(--sp-6);box-shadow:var(--shadow-1)}.card-micro{border-radius:var(--radius-lg);padding:var(--sp-3)var(--sp-4);align-items:center;gap:var(--sp-3);box-shadow:var(--shadow-1);transition:background var(--transition-fast),transform var(--transition-fast);display:flex}.card-micro:active{background:var(--card-hover);transform:scale(.97)}.grid-2{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-3);grid-template-columns:1fr 1fr 1fr;display:grid}.progress-track{border-radius:var(--radius-full);background:#ffffff14;width:100%;height:8px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);background:linear-gradient(90deg,var(--accent),#8b7fff);height:100%;transition:width 1s var(--ease-out);position:relative}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);animation:2s ease-in-out infinite progressShimmer;position:absolute;inset:0}.progress-fill.yellow{background:linear-gradient(90deg,var(--orange),var(--yellow))}.progress-fill.blue{background:linear-gradient(90deg,#2196f3,var(--blue))}.progress-fill.green{background:linear-gradient(90deg,#43a047,var(--green))}.ring-container{justify-content:center;align-items:center;display:flex;position:relative}.ring-svg{transform:rotate(-90deg)}.ring-track{fill:none;stroke:#ffffff0f}.ring-fill{fill:none;stroke:var(--accent);stroke-linecap:round;filter:drop-shadow(0 0 6px var(--accent-glow));transition:stroke-dashoffset 1.5s var(--ease-out)}.ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.bottom-nav{bottom:var(--sp-4);width:min(calc(100% - var(--sp-8)),400px);-webkit-backdrop-filter:blur(24px)saturate(150%);border-radius:var(--radius-pill);height:64px;padding:0 var(--sp-2);z-index:100;background:#1e2328d9;border:1px solid #ffffff14;justify-content:space-around;align-items:center;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff0d}.nav-item{align-items:center;gap:var(--sp-1);padding:var(--sp-2)var(--sp-3);border-radius:var(--radius-lg);transition:all var(--transition-normal);color:var(--text-disabled);-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex;position:relative}.nav-item.active{color:var(--accent)}.nav-item.active:before{content:"";border-radius:inherit;background:var(--accent-muted);position:absolute;inset:0}.nav-item.active .nav-icon{filter:drop-shadow(0 0 8px var(--accent-glow))}.nav-label{font-size:var(--fs-xs);letter-spacing:.02em;font-weight:500}.nav-icon{width:22px;height:22px;transition:filter var(--transition-normal)}.section-header{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.section-title{font-size:var(--fs-lg);color:var(--text-primary);font-weight:700}.pill{align-items:center;gap:var(--sp-1);padding:var(--sp-1)var(--sp-3);border-radius:var(--radius-full);font-size:var(--fs-sm);color:var(--text-secondary);background:#ffffff0f;font-weight:500;display:inline-flex}.pill.accent{background:var(--accent-soft);color:var(--accent)}.fab{bottom:calc(var(--nav-height) + var(--sp-6));right:calc(50% - 200px + var(--sp-4));border-radius:var(--radius-full);background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:0 4px 24px var(--accent-glow),var(--shadow-2);transition:transform var(--transition-fast),box-shadow var(--transition-fast);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed}.fab:hover{box-shadow:0 6px 32px var(--accent-glow),var(--shadow-3);transform:scale(1.08)}.fab:active{transform:scale(.95)}.input-field{width:100%;padding:var(--sp-3)var(--sp-4);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff14}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.input-field::placeholder{color:var(--text-disabled)}.textarea-field{width:100%;padding:var(--sp-4);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);resize:vertical;min-height:120px;transition:border-color var(--transition-fast);background:#ffffff0d;border:1px solid #ffffff14}.textarea-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-3)var(--sp-6);border-radius:var(--radius-md);font-size:var(--fs-base);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}.btn-primary:hover{box-shadow:0 4px 20px var(--accent-glow)}.btn-primary:active{transform:scale(.97)}.btn-ghost{color:var(--text-secondary);background:#ffffff0f}.btn-ghost:hover{background:#ffffff1a}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;background:#0009;justify-content:center;align-items:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--card-bg);border-radius:var(--radius-highlight)var(--radius-highlight)0 0;width:100%;max-width:430px;padding:var(--sp-6);padding-bottom:var(--sp-10);animation:slideUp .3s var(--ease-out)}.modal-handle{border-radius:var(--radius-full);width:40px;height:4px;margin:0 auto var(--sp-6);background:#ffffff26}.checkbox{border-radius:var(--radius-sm);width:22px;height:22px;transition:all var(--transition-fast);cursor:pointer;border:2px solid #fff3;flex-shrink:0;justify-content:center;align-items:center;display:flex}.checkbox.checked{background:var(--accent);border-color:var(--accent);animation:checkPop .3s var(--ease-out)}.priority-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px}.priority-high{background:var(--red);box-shadow:0 0 8px var(--red-glow)}.priority-medium{background:var(--orange);box-shadow:0 0 8px var(--orange-glow)}.priority-low{background:var(--blue);box-shadow:0 0 8px var(--blue-glow)}.empty-state{padding:var(--sp-16)var(--sp-6);text-align:center;justify-content:center;align-items:center;gap:var(--sp-4);flex-direction:column;display:flex}.empty-state-icon{width:64px;height:64px;color:var(--text-disabled);opacity:.5}.empty-state-text{font-size:var(--fs-md);color:var(--text-disabled);font-weight:500}.scroll-section{-webkit-overflow-scrolling:touch;overflow-y:auto}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes ringSweep{0%{stroke-dashoffset:var(--ring-circumference)}to{stroke-dashoffset:var(--ring-target)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes checkPop{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes goalPulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 20px 4px var(--accent-glow)}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14 50%,#ffffff0a 75%) 0 0/200px 100%;animation:1.5s infinite shimmer}.calendar-grid{gap:var(--sp-1);grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{aspect-ratio:1;border-radius:var(--radius-md);font-size:var(--fs-base);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);justify-content:center;align-items:center;font-weight:500;display:flex}.calendar-day:hover{background:#ffffff0f}.calendar-day.today{border:1px solid var(--accent);color:var(--accent)}.calendar-day.selected{background:var(--accent);color:#fff;box-shadow:0 0 16px var(--accent-glow)}.calendar-day.has-data:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.calendar-day-header{font-size:var(--fs-xs);color:var(--text-disabled);text-transform:uppercase;letter-spacing:.05em;padding:var(--sp-2)0;justify-content:center;align-items:center;font-weight:600;display:flex}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-6{margin-bottom:var(--sp-6)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.text-center{text-align:center}@media (max-width:640px){.page-container{padding:var(--sp-3);padding-top:var(--sp-10)}.card,.card-highlight{padding:var(--sp-4)}}
