@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root,:root[data-theme=dark]{--bg:#000;--bg-2:#050508;--bg-grad:radial-gradient(120% 90% at 50% 0%, #0b0b10 0%, #050507 55%, #000 100%);--surface:#ffffff09;--surface-hover:#ffffff0f;--surface-active:#ffffff17;--border:#ffffff14;--border-hover:#ffffff24;--highlight:#ffffff0d;--inset:inset 0 1px 0 #ffffff0f;--text-1:#f5f5f7;--text-2:#f5f5f799;--text-3:#f5f5f757;--accent:#0a84ff;--accent-soft:#0a84ff24;--accent-glow:#0a84ff47;--on-accent:#fff;--green:#30d158;--green-soft:#30d15824;--green-glow:#30d1584d;--orange:#ff9f0a;--orange-soft:#ff9f0a24;--orange-glow:#ff9f0a4d;--red:#ff453a;--red-soft:#ff453a24;--red-glow:#ff453a4d;--purple:#bf5af2;--purple-soft:#bf5af224;--purple-glow:#bf5af24d;--teal:#64d2ff;--teal-soft:#64d2ff24;--teal-glow:#64d2ff4d;--pink:#ff375f;--pink-soft:#ff375f24;--pink-glow:#ff375f4d;--yellow:#ffd60a;--yellow-soft:#ffd60a24;--yellow-glow:#ffd60a4d;--shadow-color:#0000008c;--dock-bg:#0006}:root[data-theme=light]{--bg:#f5f5f7;--bg-2:#ececef;--bg-grad:radial-gradient(120% 90% at 50% 0%, #fff 0%, #f7f7fa 55%, #f0f0f4 100%);--surface:#00000007;--surface-hover:#0000000d;--surface-active:#00000017;--border:#00000017;--border-hover:#00000029;--highlight:#ffffffe6;--inset:inset 0 1px 0 #ffffffb3;--text-1:#1d1d1f;--text-2:#1d1d1f9e;--text-3:#1d1d1f66;--accent:#0071e3;--accent-soft:#0071e31f;--accent-glow:#0071e338;--on-accent:#fff;--green:#1d9a3e;--green-soft:#1d9a3e24;--green-glow:#1d9a3e3d;--orange:#d97a00;--orange-soft:#d97a0024;--orange-glow:#d97a003d;--red:#d70015;--red-soft:#d700151f;--red-glow:#d7001538;--purple:#8944ab;--purple-soft:#8944ab1f;--purple-glow:#8944ab38;--teal:#0071a4;--teal-soft:#0071a41f;--teal-glow:#0071a438;--pink:#c9003c;--pink-soft:#c9003c1f;--pink-glow:#c9003c38;--yellow:#b58a00;--yellow-soft:#b58a0024;--yellow-glow:#b58a0038;--shadow-color:#00000024;--dock-bg:#ffffffb3}:root{--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-3xl:32px;--r-full:9999px;--ease:cubic-bezier(.25, .1, .25, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.1s;--dur-base:.18s;--dur-slow:.34s}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:var(--text-1);background:var(--bg);background-image:var(--bg-grad);min-height:100dvh;transition:background .4s var(--ease), color .4s var(--ease);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;line-height:1.5;overflow-x:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input{color:inherit;font-family:inherit}@media (hover:hover) and (pointer:fine){:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}}::selection{background:var(--accent);color:var(--on-accent)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:9999px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.glass{background:var(--surface);-webkit-backdrop-filter:blur(50px)saturate(190%);border:1px solid var(--border);box-shadow:var(--inset), 0 8px 32px var(--shadow-color);border-radius:20px}.glass-card{background:var(--surface);-webkit-backdrop-filter:blur(40px)saturate(180%);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--inset), 0 4px 16px var(--shadow-color);padding:20px}.card-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px;font-size:10px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dock-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes success-pop{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@keyframes breathe-soft{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes wave-drift{0%,to{transform:translate(0)translateY(0)}50%{transform:translate(4%)translateY(-2%)}}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes splash-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathe-glow{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.home{opacity:0;transition:opacity .35s var(--ease-out)}.home-show{opacity:1}.home-top{margin-bottom:22px}.home-greet{color:var(--text-2);margin-bottom:2px;font-size:13px;font-weight:600}.home-date{letter-spacing:-.04em;color:var(--text-1);font-size:2rem;font-weight:800;line-height:1.15}.streak-hero{background:var(--surface);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--inset), 0 8px 32px var(--shadow-color);animation:fadeInUp .5s var(--ease-out) both;margin-bottom:12px;padding:26px 24px;position:relative;overflow:hidden}.streak-hero-glow{background:radial-gradient(circle, var(--orange-glow) 0%, transparent 70%);border-radius:50%;width:240px;height:240px;animation:5s ease-in-out infinite breathe-soft;position:absolute;top:-60%;right:-18%}.streak-hero-content{z-index:1;align-items:center;gap:24px;display:flex;position:relative}.streak-hero-ring{flex-shrink:0;width:104px;height:104px;position:relative}.streak-hero-ring svg{width:100%;height:100%}.streak-hero-num{letter-spacing:-.03em;background:linear-gradient(135deg, var(--orange), var(--red));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.streak-hero-days{text-transform:uppercase;letter-spacing:.14em;color:var(--text-3);margin-top:22px;font-size:8px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.streak-hero-right{flex:1}.streak-hero-label{color:var(--orange);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px;font-size:11px;font-weight:700}.streak-hero-sub{color:var(--text-1);margin-bottom:12px;font-size:14px;font-weight:500}.streak-hero-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:9999px;padding:4px 10px;font-size:10px;font-weight:600}.chip-orange{color:var(--orange);background:var(--orange-soft)}.chip-blue{color:var(--accent);background:var(--accent-soft)}.chip-green{color:var(--green);background:var(--green-soft)}.quick-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.quick-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);transition:all var(--dur-base) var(--ease);animation:fadeInUp .5s var(--ease-out) both;box-shadow:var(--inset);flex-direction:column;align-items:flex-start;gap:10px;padding:16px 14px;display:flex;position:relative}.quick-card:hover{background:var(--surface-hover);border-color:color-mix(in srgb, var(--tint) 40%, var(--border));transform:translateY(-2px)}.quick-card:active{transform:scale(.96)}.quick-icon{background:color-mix(in srgb, var(--tint) 14%, transparent);width:36px;height:36px;color:var(--tint);border-radius:10px;justify-content:center;align-items:center;display:flex}.quick-label{color:var(--text-1);font-size:12px;font-weight:600}.quick-arrow{color:var(--text-3);transition:all var(--dur-base);position:absolute;top:14px;right:12px}.quick-card:hover .quick-arrow{color:var(--tint);transform:translate(2px)}.today-card{animation:fadeInUp .5s var(--ease-out) .12s both}.today-head{justify-content:space-between;align-items:baseline;display:flex}.today-sum{color:var(--accent);font-size:11px;font-weight:700}.today-empty{text-align:center;flex-direction:column;align-items:center;padding:26px 0 18px;display:flex}.today-empty-icon{background:var(--orange-soft);width:46px;height:46px;color:var(--orange);border-radius:14px;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.today-empty-title{color:var(--text-1);font-size:13px;font-weight:600}.today-empty-sub{color:var(--text-3);margin-top:2px;font-size:11px}.today-list{flex-direction:column;gap:2px;display:flex}.today-item{border-radius:var(--r-md);transition:background var(--dur-fast);align-items:center;gap:12px;padding:10px 8px;display:flex}.today-item:hover{background:var(--surface-hover)}.today-item-check{background:var(--green);color:#fff;width:22px;height:22px;box-shadow:0 0 10px var(--green-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.today-item-info{flex-direction:column;flex:1;display:flex}.today-item-name{color:var(--text-1);font-size:13px;font-weight:600}.today-item-cat{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.today-item-val{color:var(--text-2);font-size:12px;font-weight:700}.today-item-time{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.week-card{animation:fadeInUp .5s var(--ease-out) .16s both}.week-dots{justify-content:space-between;display:flex}.week-col{flex-direction:column;align-items:center;gap:8px;display:flex}.week-dot{background:var(--surface-hover);border:1px solid var(--border);width:34px;height:34px;transition:all .3s var(--ease-spring);border-radius:50%}.week-dot-on{background:var(--green);border-color:var(--green);box-shadow:0 0 14px var(--green-glow)}.week-dot-now{border:2px solid var(--accent)}.week-day{color:var(--text-3);font-size:10px;font-weight:600}.month-card{animation:fadeInUp .5s var(--ease-out) .2s both}.month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.month-dot{aspect-ratio:1;background:var(--surface-hover);transition:all .3s var(--ease);border-radius:50%}.month-dot-on{background:var(--green);box-shadow:0 0 8px var(--green-glow)}.month-dot-today{border:2px solid var(--accent)}@media (width<=640px){.streak-hero-content{gap:18px}.streak-hero{padding:22px 18px}.home-date{font-size:1.6rem}.quick-card{padding:13px 12px}}@media (width<=440px){.streak-hero-content{flex-direction:row}.streak-hero-sub{font-size:13px}}.focus{opacity:0;transition:opacity .35s var(--ease-out)}.focus-show{opacity:1}.focus-timer{background:var(--surface);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--inset), 0 8px 32px var(--shadow-color);animation:fadeInUp .5s var(--ease-out) both;flex-direction:column;align-items:center;margin-bottom:12px;padding:24px;display:flex}.focus-modes{background:var(--surface-hover);border:1px solid var(--border);border-radius:9999px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.focus-mode{color:var(--text-2);transition:all var(--dur-base) var(--ease);border-radius:9999px;padding:6px 16px;font-size:12px;font-weight:600}.focus-mode:hover{color:var(--text-1)}.focus-mode-active{background:var(--tint);box-shadow:0 2px 10px color-mix(in srgb, var(--tint) 40%, transparent);color:#fff!important}.focus-ring{width:220px;height:220px;margin-bottom:22px;position:relative}.focus-ring svg{width:100%;height:100%}.focus-time{justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.focus-time-num{letter-spacing:-.02em;color:var(--text-1);font-variant-numeric:tabular-nums;font-size:3.2rem;font-weight:800}.focus-time-sep{color:var(--text-3);font-size:3.2rem;font-weight:800}.focus-start{background:var(--tint,var(--accent));color:#fff;box-shadow:0 0 26px color-mix(in srgb, var(--tint,var(--accent)) 30%, transparent);transition:all var(--dur-base) var(--ease);border-radius:9999px;padding:12px 38px;font-size:14px;font-weight:700}.focus-start:hover{transform:scale(1.03)}.focus-start:active{transform:scale(.96)}.focus-start-running{background:var(--surface-active);color:var(--text-1);border:1px solid var(--border);box-shadow:none}.tasks-card{animation:fadeInUp .5s var(--ease-out) .1s both}.task-add{gap:8px;margin-bottom:14px;display:flex}.task-input{background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-1);transition:border-color var(--dur-base);flex:1;padding:11px 14px;font-size:13px}.task-input::placeholder{color:var(--text-3)}.task-input:focus{border-color:var(--accent);outline:none}.task-add-btn{border-radius:var(--r-md);background:var(--accent);color:#fff;width:42px;height:42px;transition:all var(--dur-base) var(--ease);justify-content:center;align-items:center;display:flex}.task-add-btn:hover{box-shadow:0 0 20px var(--accent-glow)}.task-add-btn:active{transform:scale(.92)}.task-empty{color:var(--text-3);padding:8px 4px;font-size:12px}.task-list{flex-direction:column;gap:2px;display:flex}.task-item{border-radius:var(--r-md);transition:background var(--dur-fast);align-items:center;gap:12px;padding:10px 8px;display:flex}.task-item:hover{background:var(--surface-hover)}.task-check{border:1.5px solid var(--border-hover);color:#fff;width:22px;height:22px;transition:all var(--dur-base) var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-check:hover{border-color:var(--green)}.task-done .task-check{background:var(--green);border-color:var(--green);box-shadow:0 0 10px var(--green-glow)}.task-title{color:var(--text-1);transition:color var(--dur-fast);flex:1;font-size:13px}.task-done .task-title{color:var(--text-3);text-decoration:line-through}.task-remove{color:var(--text-3);opacity:0;transition:all var(--dur-fast);border-radius:50%;padding:6px}.task-item:hover .task-remove{opacity:1}.task-remove:hover{color:var(--red);background:var(--red-soft)}@media (width<=480px){.focus-time-num,.focus-time-sep{font-size:2.6rem}.focus-ring{width:200px;height:200px}}.train{opacity:0;transition:opacity .35s var(--ease-out)}.train-show{opacity:1}.page-head{margin-bottom:24px}.page-title{letter-spacing:-.04em;color:var(--text-1);font-size:2rem;font-weight:800}.page-sub{color:var(--text-2);margin-top:2px;font-size:13px}.cat-pills{scrollbar-width:none;gap:6px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.cat-pills::-webkit-scrollbar{display:none}.cat-pill{color:var(--text-2);background:var(--surface);border:1px solid var(--border);white-space:nowrap;transition:all var(--dur-base) var(--ease);border-radius:9999px;align-items:center;gap:6px;padding:7px 15px;font-size:12px;font-weight:600;display:flex}.cat-pill:hover{background:var(--surface-hover);border-color:var(--border-hover);color:var(--text-1)}.cat-pill-active{background:color-mix(in srgb, var(--cat) 16%, transparent);border-color:color-mix(in srgb, var(--cat) 45%, transparent);color:var(--cat)!important}.ex-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ex-card{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-lg);transition:all var(--dur-base) var(--ease);animation:fadeInUp .4s var(--ease-out) both;box-shadow:var(--inset);flex-direction:column;align-items:center;gap:8px;padding:18px 8px 14px;display:flex}.ex-card:hover{background:var(--surface-hover);border-color:color-mix(in srgb, var(--cat) 40%, var(--border));box-shadow:var(--inset), 0 10px 28px var(--shadow-color);transform:translateY(-3px)}.ex-card:active{transform:scale(.96)}.ex-card-icon{background:color-mix(in srgb, var(--cat) 13%, transparent);width:42px;height:42px;color:var(--cat);border-radius:var(--r-md);transition:all var(--dur-base) var(--ease);justify-content:center;align-items:center;display:flex}.ex-card:hover .ex-card-icon{background:var(--cat);color:#fff;box-shadow:0 0 22px color-mix(in srgb, var(--cat) 35%, transparent)}.ex-card-name{color:var(--text-1);text-align:center;font-size:11px;font-weight:600;line-height:1.3}.ex-card-meta{color:var(--text-3);align-items:center;gap:5px;font-size:9px;font-weight:500;display:flex}.ex-card-dot{border-radius:50%;width:5px;height:5px}.ex-form{background:var(--surface);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:1px solid var(--border);border-radius:var(--r-xl);max-width:400px;box-shadow:var(--inset), 0 8px 32px var(--shadow-color);animation:fadeInScale .3s var(--ease-out);margin:0 auto;padding:28px}.ex-form-head{align-items:center;gap:12px;margin-bottom:28px;display:flex}.ex-form-icon{background:color-mix(in srgb, var(--cat) 13%, transparent);width:40px;height:40px;color:var(--cat);border-radius:var(--r-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ex-form-titles{flex:1}.ex-form-title{font-size:18px;font-weight:700}.ex-form-cat{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.ex-form-close{background:var(--surface-hover);width:28px;height:28px;color:var(--text-2);transition:all var(--dur-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.ex-form-close:hover{background:var(--surface-active);color:var(--text-1)}.ex-stepper-row{justify-content:center;align-items:center;gap:20px;margin-bottom:24px;display:flex}.ex-stepper{background:var(--surface-hover);border:1px solid var(--border);width:46px;height:46px;color:var(--text-2);transition:all var(--dur-base) var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex}.ex-stepper:hover{background:var(--surface-active);color:var(--text-1)}.ex-stepper:active{transform:scale(.88)}.ex-value{flex-direction:column;align-items:center;gap:2px;min-width:110px;display:flex}.ex-input{text-align:center;width:110px;color:var(--text-1);letter-spacing:-.03em;-moz-appearance:textfield;background:0 0;border:none;font-size:2.6rem;font-weight:800}.ex-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ex-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ex-input:focus{outline:none}.ex-unit{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.ex-submit{background:var(--accent);width:100%;color:var(--on-accent);border-radius:var(--r-lg);transition:all var(--dur-base) var(--ease);padding:14px;font-size:14px;font-weight:700}.ex-submit:hover{background:color-mix(in srgb, var(--accent) 85%, white);box-shadow:0 0 24px var(--accent-glow)}.ex-submit:active{transform:scale(.98)}.ex-submit:disabled{opacity:.35;cursor:not-allowed}.success-overlay{z-index:4500;background:color-mix(in srgb, var(--bg) 60%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .15s var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.success-modal{background:var(--surface);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:1px solid var(--border);border-radius:var(--r-2xl);text-align:center;box-shadow:0 20px 70px var(--shadow-color);animation:success-pop .45s var(--ease-spring);padding:40px 56px}.success-check{background:var(--green);color:#fff;width:54px;height:54px;box-shadow:0 0 34px var(--green-glow);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.success-text{color:var(--green);font-size:16px;font-weight:700}@media (width<=768px){.ex-grid{grid-template-columns:repeat(3,1fr)}.page-title{font-size:1.5rem}}@media (width<=480px){.ex-grid{grid-template-columns:repeat(2,1fr)}}.grass{opacity:0;transition:opacity .35s var(--ease-out)}.grass-show{opacity:1}.grass-card{background:var(--surface);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--inset), 0 8px 32px var(--shadow-color);animation:fadeInUp .5s var(--ease-out) both;flex-direction:column;align-items:center;padding:32px 28px;display:flex}.grass-sun{justify-content:center;align-items:center;width:240px;height:240px;display:flex;position:relative}.grass-halo{background:radial-gradient(circle, var(--green-glow) 0%, transparent 70%);border-radius:50%;width:190px;height:190px;animation:6s ease-in-out infinite breathe-soft;position:absolute}.grass-sun-rays{opacity:0;width:240px;height:240px;transition:opacity 1s var(--ease);animation:40s linear infinite spin;position:absolute}.grass-sun:hover .grass-sun-rays{opacity:1}.grass:has(.grass-breath-ring) .grass-sun-rays{opacity:1}.grass-ray{background:var(--green);transform-origin:50%;opacity:.4;border-radius:2px;width:2px;height:18px;margin:-9px;position:absolute;top:50%;left:50%}.grass-breath-ring{z-index:2;width:200px;height:200px;transition:transform 6s cubic-bezier(.45,0,.55,1);position:relative}.grass-breath-ring svg{width:100%;height:100%}.grass-count{color:var(--text-1);justify-content:center;align-items:center;font-size:2rem;font-weight:800;display:flex;position:absolute;inset:0}.grass-phase{text-align:center;margin:20px 0 16px}.grass-phase-label{letter-spacing:-.02em;color:var(--green);font-size:1.4rem;font-weight:800}.grass-phase-hint{color:var(--text-3);margin-top:4px;font-size:12px}.grass-progress{background:var(--surface-hover);border-radius:9999px;width:60%;height:3px;margin-bottom:24px;overflow:hidden}.grass-progress-fill{height:100%;width:var(--p,0%);background:linear-gradient(90deg, var(--green), var(--teal));border-radius:9999px;transition:width 1s linear}.grass-btn{background:var(--green);color:#fff;box-shadow:0 0 26px var(--green-glow);transition:all var(--dur-base) var(--ease);border-radius:9999px;padding:12px 40px;font-size:14px;font-weight:700}.grass-btn:hover{transform:scale(1.03)}.grass-btn:active{transform:scale(.96)}@media (width<=480px){.grass-sun{width:200px;height:200px}.grass-breath-ring{width:170px;height:170px}.grass-sun-rays{width:200px;height:200px}}.sts{opacity:0;transition:opacity .35s var(--ease-out)}.sts-show{opacity:1}.sts-header{margin-bottom:24px}.sts-title{letter-spacing:-.04em;color:var(--text-1);font-size:2rem;font-weight:800}.sts-sub{color:var(--text-2);margin-top:2px;font-size:13px}.sts-hero{background:var(--surface);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--inset), 0 8px 32px var(--shadow-color);animation:fadeInUp .5s var(--ease-out) both;margin-bottom:12px;padding:26px;position:relative;overflow:hidden}.sts-hero-glow{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);border-radius:50%;width:200px;height:200px;animation:5s ease-in-out infinite breathe-soft;position:absolute;top:-50%;right:-15%}.sts-hero-inner{z-index:1;align-items:center;gap:22px;display:flex;position:relative}.sts-hero-ring{flex-shrink:0;width:92px;height:92px;position:relative}.sts-hero-ring svg{width:100%;height:100%}.sts-hero-num{letter-spacing:-.03em;color:var(--text-1);justify-content:center;align-items:center;font-size:1.6rem;font-weight:800;display:flex;position:absolute;inset:0}.sts-hero-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:10px;font-weight:700}.sts-hero-sub{color:var(--text-1);font-size:14px;font-weight:500}.sts-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sts-card{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--inset);animation:fadeInUp .4s var(--ease-out) both;padding:16px}.sts-card-label{color:var(--text-3);margin-bottom:6px;font-size:10px}.sts-card-value{letter-spacing:-.02em;color:var(--text-1);font-size:1.4rem;font-weight:800}.sts-blue .sts-card-value{color:var(--accent)}.sts-green .sts-card-value{color:var(--green)}.sts-orange .sts-card-value{color:var(--orange)}.sts-red .sts-card-value{color:var(--red)}.sts-purple .sts-card-value{color:var(--purple)}.sts-teal .sts-card-value{color:var(--teal)}@media (width<=480px){.sts-grid{grid-template-columns:1fr 1fr}.sts-title{font-size:1.5rem}}.set{opacity:0;max-width:500px;transition:opacity .35s var(--ease-out)}.set-show{opacity:1}.set-header{margin-bottom:28px}.set-title{letter-spacing:-.04em;color:var(--text-1);font-size:2rem;font-weight:800}.set-sub{color:var(--text-2);margin-top:2px;font-size:13px}.set-section{margin-bottom:24px}.set-section-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;padding-left:4px;font-size:10px;font-weight:700}.set-glass-card{background:var(--surface);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--inset);padding:4px}.set-theme-row{grid-template-columns:1fr 1fr;gap:4px;display:grid}.set-theme-btn{border-radius:var(--r-md);color:var(--text-2);transition:all var(--dur-base) var(--ease);flex-direction:column;align-items:center;gap:8px;padding:16px 8px;font-size:12px;font-weight:600;display:flex}.set-theme-btn:hover{background:var(--surface-hover)}.set-theme-active{background:var(--surface-active)!important;color:var(--text-1)!important}.set-theme-preview{border-radius:var(--r-sm);border:1px solid var(--border);justify-content:center;align-items:center;width:40px;height:40px;display:flex}.set-theme-preview[data-theme=dark]{color:#f5f5f7;background:radial-gradient(circle at 30% 30%,#1c1c1e,#000)}.set-theme-preview[data-theme=light]{color:#1d1d1f;background:radial-gradient(circle at 30% 30%,#fff,#e8e8ed)}.set-theme-active .set-theme-preview{box-shadow:0 0 0 2px var(--accent)}.set-lang-row{grid-template-columns:1fr 1fr;gap:4px;display:grid}.set-lang-btn{border-radius:var(--r-md);color:var(--text-2);transition:all var(--dur-base) var(--ease);align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:500;display:flex}.set-lang-btn:hover{background:var(--surface-hover)}.set-lang-active{background:var(--surface-active)!important;color:var(--text-1)!important}.set-lang-flag{background:var(--surface-hover);border-radius:4px;padding:2px 5px;font-size:10px;font-weight:700}.set-about-card{text-align:center;padding:28px 16px!important}.set-about-logo{margin-bottom:12px}.set-about-name{font-size:16px;font-weight:700}.set-about-tagline{color:var(--text-3);margin-top:4px;font-size:12px}.set-account-card{padding:6px!important}.set-account-row{align-items:center;gap:12px;padding:10px 10px 12px;display:flex}.set-account-avatar{background:linear-gradient(135deg, var(--accent), #30d158);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:flex}.set-account-info{min-width:0}.set-account-name{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.set-account-role{color:var(--text-3);margin-top:2px;font-size:12px}.set-logout{border-radius:var(--r-md);width:100%;color:var(--red);background:color-mix(in srgb, var(--red) 10%, transparent);transition:all var(--dur-base) var(--ease);justify-content:center;align-items:center;gap:8px;margin-top:2px;padding:12px;font-size:13px;font-weight:600;display:flex}.set-logout:hover{background:color-mix(in srgb, var(--red) 18%, transparent)}.set-logout:active{transform:scale(.98)}@media (width<=480px){.set{max-width:100%}.set-title{font-size:1.5rem}}.auth{z-index:500;background:var(--bg);opacity:0;transition:opacity .6s var(--ease);justify-content:center;align-items:flex-start;padding:40px 20px 60px;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-show{opacity:1}.auth .ambient{pointer-events:none;position:absolute;inset:0;overflow:hidden}.auth-inner{flex-direction:column;align-items:center;width:100%;max-width:400px;display:flex;position:relative}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:10px;margin:4vh 0 32px;display:flex}.auth-title{letter-spacing:-.03em;color:var(--text-1);font-size:26px;font-weight:800}.auth-tagline{color:var(--text-2);max-width:260px;font-size:14px;line-height:1.5}.auth-card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(30px)saturate(180%);border-radius:24px;width:100%;padding:18px;box-shadow:0 20px 60px #00000059}.auth-tabs{background:var(--surface-hover);border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:22px;padding:5px;display:grid}.auth-tab{color:var(--text-2);transition:all var(--dur-base) var(--ease);border-radius:10px;padding:10px;font-size:14px;font-weight:600}.auth-tab-active{background:var(--bg);color:var(--text-1);box-shadow:0 2px 10px #00000040}.auth-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:14px 2px 7px;font-size:12px;font-weight:600;display:block}.auth-input{background:var(--surface-hover);border:1px solid var(--border);width:100%;color:var(--text-1);transition:border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);border-radius:13px;outline:none;padding:13px 15px;font-size:15px}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.auth-input::placeholder{color:var(--text-3)}.auth-langs{grid-template-columns:1fr 1fr;gap:10px;margin-top:2px;display:grid}.auth-lang{border:1px solid var(--border);background:var(--surface-hover);color:var(--text-2);transition:all var(--dur-base) var(--ease);border-radius:13px;align-items:center;gap:9px;padding:12px 13px;font-size:14px;font-weight:600;display:flex}.auth-lang-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface-hover));color:var(--text-1)}.auth-lang-flag{background:var(--bg);border:1px solid var(--border);color:var(--text-2);letter-spacing:.04em;border-radius:7px;padding:4px 7px;font-size:11px;font-weight:800}.auth-lang-active .auth-lang-flag{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.auth-error{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent);border:1px solid color-mix(in srgb, var(--red) 28%, transparent);border-radius:11px;margin-top:14px;padding:11px 13px;font-size:13px}.auth-submit{background:linear-gradient(135deg, var(--accent), #30d158);color:#fff;letter-spacing:-.01em;width:100%;transition:transform var(--dur-base) var(--ease), opacity var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease);box-shadow:0 10px 30px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:14px;margin-top:20px;padding:15px;font-size:15px;font-weight:700}.auth-submit:hover{transform:translateY(-1px)}.auth-submit:active{transform:translateY(0)}.auth-submit-busy{opacity:.7;pointer-events:none}.auth-hint{text-align:center;color:var(--text-3);margin-top:18px;font-size:13px}.auth-switch{color:var(--accent);margin-left:6px;font-weight:700}@media (width>=768px){.auth-inner{max-width:440px}}.splash{z-index:5000;background:var(--bg);background-image:var(--bg-grad);transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.splash-leaving{opacity:0;transform:scale(1.05)}.splash-logo{animation:2.6s ease-in-out infinite logo-float;position:relative}.splash-ring{border:1px solid var(--accent);animation:splash-ring 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute}.splash-ring.r1{width:120px;height:120px}.splash-ring.r2{width:160px;height:160px;animation-delay:.6s}.splash-name{letter-spacing:-.02em;color:var(--text-1);font-size:20px;font-weight:800}.splash-loadbar{background:var(--surface);border-radius:9999px;width:160px;height:3px;margin-top:6px;overflow:hidden}.splash-loadbar-fill{background:var(--accent);background-image:linear-gradient(90deg, transparent, var(--accent-glow), transparent);background-size:200% 100%;border-radius:9999px;width:40%;height:100%;animation:1.1s linear infinite shimmer}.shell{min-height:100dvh;position:relative;overflow-x:hidden}.noise{z-index:0;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px;position:fixed;inset:0}.ambient{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-blob{filter:blur(100px);border-radius:50%;position:absolute}.ambient-blob.b1{background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:.16;width:420px;height:420px;animation:9s ease-in-out infinite breathe-glow;top:-140px;left:-120px}.ambient-blob.b2{background:radial-gradient(circle, var(--teal) 0%, transparent 70%);opacity:.12;width:380px;height:380px;animation:11s ease-in-out infinite reverse breathe-glow;bottom:-100px;right:-120px}.app-header{z-index:200;position:relative}.app-header-inner{align-items:center;max-width:960px;margin:0 auto;padding:16px 24px 4px;display:flex}.app-brand{transition:background var(--dur-base) var(--ease);border-radius:9999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.app-brand:hover{background:var(--surface-hover)}.app-brand-name{letter-spacing:-.02em;color:var(--text-1);font-size:18px;font-weight:800}.m-logo{border-radius:12px;flex-shrink:0;display:inline-flex}.main{z-index:1;max-width:960px;animation:fadeIn .35s var(--ease-out) forwards;margin:0 auto;padding:26px 24px 170px;position:relative}.dock-wrap{z-index:300;width:max-content;max-width:calc(100vw - 20px);position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.dock{background:var(--dock-bg);-webkit-backdrop-filter:blur(60px)saturate(200%);border:1px solid var(--border);box-shadow:0 12px 40px var(--shadow-color), var(--inset);animation:slideUp .5s var(--ease-out) .2s both;border-radius:26px;padding:7px 8px}.dock-group{align-items:center;gap:2px;display:flex}.dock-sep{background:var(--border);align-self:stretch;width:1px;margin:6px}.dock-item{transition:background var(--dur-base) var(--ease);border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:6px 12px 5px;display:flex;position:relative}.dock-item:hover{background:var(--surface-hover)}.dock-item:active{transform:scale(.9)}.dock-item-active{background:var(--surface-active)}.dock-icon{width:26px;height:26px;color:var(--text-2);transition:color var(--dur-base), transform var(--dur-base) var(--ease-spring);justify-content:center;align-items:center;display:flex}.dock-item:hover .dock-icon{color:var(--text-1);transform:translateY(-2px)scale(1.1)}.dock-item-active .dock-icon{color:var(--accent)}.dock-label{color:var(--text-3);white-space:nowrap;transition:color var(--dur-base);font-size:9px;font-weight:600}.dock-item-active .dock-label{color:var(--accent)}.dock-item-cat .dock-icon,.dock-item-cat:hover .dock-icon{color:var(--cat)}.dock-item-cat:after{content:"";background:var(--cat);opacity:0;width:12px;height:2px;transition:opacity var(--dur-base);border-radius:2px;position:absolute;bottom:3px}.dock-item-cat:hover:after,.dock-cat-active:after{opacity:1}.dock-cat-active{background:var(--surface-active)}.dock-cat-active .dock-icon,.dock-cat-active .dock-label{color:var(--cat)!important}.toast-wrap{z-index:4000;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}.toast{color:var(--text-1);background:var(--glass-solid,#1c1c20e0);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border:1px solid var(--border);box-shadow:0 8px 30px var(--shadow-color);animation:slideUp .3s var(--ease-spring) both;pointer-events:auto;cursor:pointer;border-radius:9999px;align-items:center;gap:8px;padding:9px 16px 9px 12px;font-size:12px;font-weight:600;display:flex}.toast-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.toast-success .toast-dot{background:var(--green);box-shadow:0 0 8px var(--green-glow)}.toast-error .toast-dot{background:var(--red);box-shadow:0 0 8px var(--red-glow)}.toast-info .toast-dot{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}:root[data-theme=light] .toast{background:#ffffffeb}@media (width<=900px){.dock-group{scrollbar-width:none;overflow-x:auto}.dock-group::-webkit-scrollbar{display:none}.dock-wrap{width:calc(100vw - 20px)}.main{padding:20px 16px 160px}}@media (width<=520px){.dock{border-radius:22px;padding:6px}.dock-item{padding:6px 9px 5px}.dock-label{font-size:8px}.app-header-inner{padding:10px 16px}}
