:root{color:#2f2229;color:lab(15.0205% 7.1087 -2.08361);font-synthesis:none;text-rendering:optimizelegibility;--bg:#fff7fa;--surface:#fffcfd;--surface-strong:#feeff4;--text:#2f2229;--muted:#786a71;--muted-light:#a69ba0;--rose:#cf7f9f;--rose-dark:#873f5e;--rose-soft:#fee3ed;--sage:#cde1cd;--mist:#cae7f3;--mist-dark:#356577;--missed:#f0cac9;--missed-dark:#7e4e4e;--border:#dbccd499;--shadow:0 16px 45px #6d566217;--ease-out:cubic-bezier(.22, 1, .36, 1);background:#fff7fa;background:lab(97.8975% 3.36352 -.365067);font-family:Manrope,Segoe UI,system-ui,sans-serif}@supports (color:lab(0% 0 0)){:root{--bg:lab(97.8975% 3.36352 -.365067);--surface:lab(99.2257% 2.01973 -.219119);--surface-strong:lab(95.7051% 6.04454 -.656688);--text:lab(15.0205% 7.1087 -2.08361);--muted:lab(46.369% 6.51333 -1.90094);--muted-light:lab(64.997% 4.89908 -1.42756);--rose:lab(62.6738% 34.5125 -3.09691);--rose-dark:lab(37.1518% 34.1487 -3.0761);--rose-soft:lab(92.6222% 10.7145 -1.16607);--sage:lab(87.6985% -9.78026 7.61699);--mist:lab(89.7284% -8.04323 -9.36649);--mist-dark:lab(39.9229% -12.7622 -15.6661);--missed:lab(84.4863% 13.6563 5.80683);--missed-dark:lab(39.0136% 20.7232 9.02462);--border:lab(83.4893% 6.52993 -1.90314/.6);--shadow:0 16px 45px lab(39.204% 11.3259 -3.31706/.09)}}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{background:var(--bg);overscroll-behavior-y:none;min-width:320px;min-height:100dvh;margin:0}button,input,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #d28da77a;outline:3px solid lab(66.3496% 29.7103 -2.66134/.48)}h1,h2,p{margin:0}.icon{width:1.35rem;height:1.35rem;display:block}.app-shell{background:var(--bg);width:min(100%,480px);min-height:100dvh;margin:0 auto;position:relative;box-shadow:0 0 60px #5a47510f;box-shadow:0 0 60px lab(32.312% 9.71045 -2.84354/.06)}.app-main{min-height:100dvh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.view{padding:max(26px, env(safe-area-inset-top)) 22px 30px}.bottom-nav{z-index:30;width:min(100%,480px);padding:9px 14px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffcfdf7;background:lab(99.2257% 2.01973 -.219119/.97);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 35px #54414b0f;box-shadow:0 -10px 35px lab(29.9919% 9.70446 -2.84273/.06)}.nav-item{min-height:58px;color:var(--muted);transition:color .2s var(--ease-out), transform .2s var(--ease-out), background .2s var(--ease-out);border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.72rem;font-weight:650;text-decoration:none;display:flex}.nav-item:active{transform:scale(.96)}.nav-item.router-link-active{color:var(--rose-dark);background:var(--rose-soft)}.nav-icon{transition:transform .2s var(--ease-out)}.router-link-active .nav-icon{transform:translateY(-1px)}.page-enter-active,.page-leave-active{transition:opacity .16s var(--ease-out), transform .16s var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0;transform:translateY(-3px)}.primary-button,.secondary-button,.take-button{width:100%;min-height:56px;transition:transform .18s var(--ease-out), background .18s, opacity .18s;border:0;border-radius:19px;font-weight:750}.primary-button,.take-button{background:var(--rose-dark);color:#fff8fa;color:lab(98.1556% 2.69195 -.29211);box-shadow:0 12px 28px #8d456338;box-shadow:0 12px 28px lab(39.4721% 34.1932 -3.07876/.22)}.primary-button:active,.take-button:active,.secondary-button:active{transform:scale(.98)}.secondary-button{background:var(--rose-soft);color:var(--rose-dark);border:1px solid #ddb9c5;border:1px solid lab(78.5356% 15.0337 -1.33947)}.text-button,.back-button{min-height:44px;color:var(--rose-dark);background:0 0;border:0;font-weight:700}.back-button{align-self:flex-start;padding:0}.inline-error,.field-error{background:var(--missed);color:var(--missed-dark);border-radius:14px;padding:12px 14px;font-size:.84rem;font-weight:650;line-height:1.45}.skeleton{background:linear-gradient(90deg, var(--surface-strong), #fffafc, var(--surface-strong));background-size:200% 100%;animation:1.3s linear infinite shimmer;display:block}@supports (color:lab(0% 0 0)){.skeleton{background:linear-gradient(90deg, var(--surface-strong), lab(98.7356% 2.69192 -.29211), var(--surface-strong))}}@keyframes shimmer{to{background-position:-200% 0}}.setup-page{width:min(100%,480px);min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));background:radial-gradient(circle at 90% 2%, #f8d7e2a6, transparent 35%), var(--bg);flex-direction:column;margin:auto;display:flex;position:relative;overflow:hidden}@supports (color:lab(0% 0 0)){.setup-page{background:radial-gradient(circle at 90% 2%, lab(89.0406% 13.3897 -1.19183/.65), transparent 35%), var(--bg)}}.setup-page:before{content:"";pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cg fill='none' stroke='%239d5570' stroke-width='1.4'%3E%3Cpath d='M18 22c6-10 13 4 4 7 10 4 2 15-4 6-7 9-14-2-5-7-10-4-2-16 5-6Z'/%3E%3Cpath d='M74 76c5-7 10 3 3 5 7 3 2 11-3 5-5 6-10-2-3-6-7-3-1-11 3-4Z'/%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.setup-progress{z-index:2;background:#e4d2d8;background:lab(85.7929% 7.37876 -.802195);border-radius:999px;width:100%;height:4px;position:relative;overflow:hidden}.setup-progress span{transform-origin:0;background:var(--rose);width:100%;height:100%;transition:transform .35s var(--ease-out);display:block}.setup-panel{z-index:1;flex-direction:column;flex:1;justify-content:center;gap:24px;padding:28px 0 8px;display:flex;position:relative}.setup-panel h1{letter-spacing:-.045em;margin-top:7px;font-size:clamp(1.9rem,9vw,2.55rem);line-height:1.12}.setup-panel h2{font-size:1rem;line-height:1.35}.setup-kicker{color:var(--rose-dark);text-transform:uppercase;letter-spacing:.16em;font-size:.69rem;font-weight:800}.setup-copy{color:var(--muted);max-width:34ch;margin-top:14px;font-size:.96rem;line-height:1.65}.heart{color:var(--rose)}.welcome-panel{justify-content:space-between;padding-top:8vh}.welcome-art{align-self:center;place-items:center;width:200px;height:200px;display:grid;position:relative}.welcome-art:before,.welcome-art:after,.art-ring{content:"";border:1px solid #cc96aa4d;border:1px solid lab(67.7702% 23.2195 -2.07559/.3);border-radius:50%;position:absolute}.welcome-art:before{inset:4px}.welcome-art:after{inset:28px}.art-ring{background:var(--surface);box-shadow:var(--shadow);inset:50px}.welcome-art .flower-mark{z-index:2;width:90px;color:var(--rose);animation:7s ease-in-out infinite float;position:relative}.choice-grid{gap:10px;display:grid}.choice-card{text-align:left;border:1px solid var(--border);background:var(--surface);min-height:84px;transition:transform .18s var(--ease-out), border .18s, background .18s;border-radius:20px;grid-template-columns:22px 1fr;align-content:center;column-gap:12px;padding:16px;display:grid}.choice-card:active{transform:scale(.985)}.choice-card.selected{border-color:var(--rose);background:var(--rose-soft)}.choice-card strong{font-size:.95rem}.choice-card small{color:var(--muted);grid-column:2;margin-top:3px;line-height:1.4}.choice-dot{border:2px solid var(--muted-light);border-radius:50%;width:20px;height:20px;position:relative}.selected .choice-dot{border-color:var(--rose-dark)}.selected .choice-dot:after{content:"";background:var(--rose-dark);border-radius:50%;position:absolute;inset:4px}.position-picker{gap:14px;display:grid}.position-picker>p{text-align:center;color:var(--muted);font-size:.86rem}.position-picker>p strong{color:var(--text)}.number-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.number-grid.compact{grid-template-columns:repeat(7,1fr)}.number-grid button{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--muted);transition:.16s var(--ease-out);border-radius:14px;font-size:.75rem;font-weight:700}.number-grid button.selected{background:var(--rose-dark);color:#fff8fa;color:lab(98.1556% 2.69195 -.29211);border-color:#0000;transform:scale(1.05);box-shadow:0 7px 16px #8d456338;box-shadow:0 7px 16px lab(39.4721% 34.1932 -3.07876/.22)}.centered-panel{text-align:center;align-items:center}.centered-panel .back-button{position:absolute;top:24px;left:0}.centered-panel .setup-copy{margin-inline:auto}.question-mark{background:var(--sage);width:88px;height:88px;color:var(--rose-dark);border-radius:30px;place-items:center;display:grid;transform:rotate(-4deg)}.question-mark .icon{width:40px;height:40px}.question-mark.bell{background:var(--rose-soft);color:var(--rose-dark);transform:rotate(3deg)}.stacked-actions{gap:9px;width:100%;display:grid}.reminder-preview{color:var(--rose-dark);align-items:center;gap:8px;font-size:.82rem;font-weight:750;display:flex}.reminder-preview i{background:var(--border);width:24px;height:1px}.phone-preview{border:3px solid var(--text);background:var(--surface);width:138px;height:210px;box-shadow:var(--shadow);border-radius:30px;flex-direction:column;align-items:center;gap:20px;padding:30px 18px;display:flex}.app-preview-icon{background:var(--rose-soft);width:66px;height:66px;color:var(--rose);border-radius:20px;place-items:center;display:grid}.app-preview-icon .flower-mark{width:37px}.phone-bar{background:var(--surface-strong);border-radius:999px;width:78px;height:8px}.phone-bar.short{width:48px;margin-top:-12px}.done-flower{background:var(--rose-soft);width:120px;height:120px;color:var(--rose);border-radius:50%;place-items:center;display:grid}.done-flower .flower-mark{width:58px;animation:bloom .6s var(--ease-out) both}.today-view{min-height:calc(100dvh - 92px - env(safe-area-inset-bottom));grid-template-rows:auto minmax(238px,1fr) auto auto;align-content:stretch;gap:clamp(12px,2.2dvh,20px);display:grid}.today-view>.today-skeleton,.today-view>.error-state{grid-row:1/-1}.today-header{justify-content:space-between;align-items:center;min-height:64px;display:flex}.today-header p,.page-header p{color:var(--rose-dark);font-size:.82rem;font-weight:750}.today-header h1{letter-spacing:-.025em;margin-top:5px;font-size:1.35rem}.secret-flower{width:54px;height:62px;color:var(--rose);background:0 0;border:0;padding:4px}.secret-flower .flower-mark{width:100%;transition:transform .2s var(--ease-out)}.secret-flower:active .flower-mark{transform:rotate(4deg)scale(.94)}.pill-card{background:var(--surface);min-height:238px;box-shadow:var(--shadow);transition:background .45s var(--ease-out);border:1px solid #e3d2d8b8;border:1px solid lab(85.819% 6.71089 -.729442/.72);border-radius:30px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pill-card.complete{background:#ebf5eb;background:lab(95.5979% -5.0301 3.89768)}.pill-status{color:var(--muted);font-size:.85rem}.card-label{color:var(--rose-dark);font-size:.88rem;font-weight:750}.pill-number{color:var(--text);letter-spacing:-.07em;margin:5px 0 10px;font-size:4.65rem;line-height:1}.card-bloom{color:var(--rose);opacity:.17;position:absolute;bottom:-25px;right:-12px;transform:rotate(-15deg)}.card-bloom .flower-mark{width:105px}.complete .card-bloom{color:var(--rose-dark)}.complete-copy{align-items:center;gap:8px;font-weight:750;display:flex;color:var(--rose-dark)!important}.complete-check{background:var(--rose-dark);width:27px;height:27px;color:var(--surface);border-radius:50%;place-items:center;display:grid}.complete-check .icon{width:16px}.pill-reminder{min-height:28px;color:var(--muted);background:var(--surface-strong);border-radius:999px;align-items:center;gap:5px;margin-top:16px;padding:5px 10px;font-size:.71rem;font-weight:700;line-height:1;display:inline-flex}.pill-reminder .icon{width:13px;height:13px;color:var(--rose-dark)}.pill-reminder span{color:var(--text)}.pill-reminder small{font-size:inherit;font-weight:600}.take-button{justify-content:center;align-items:center;gap:9px;min-height:62px;font-size:1rem;display:flex}.button-check{border:1.5px solid;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.button-check .icon{width:15px}.take-button.saving .button-check{animation:.8s ease-in-out infinite pulse}.taken-meta{min-height:44px;color:var(--muted);justify-content:center;align-items:center;gap:7px;font-size:.82rem;display:flex}.taken-meta button{color:var(--rose-dark);text-underline-offset:3px;background:0 0;border:0;min-height:44px;font-weight:750;text-decoration:underline}.cycle-section{padding-top:2px}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.section-heading h2{font-size:.95rem}.section-heading span{color:var(--muted);font-size:.72rem;font-weight:650}.cycle-strip{grid-template-columns:repeat(14,1fr);gap:9px 6px;display:grid}.cycle-dot{aspect-ratio:1;width:100%;max-width:19px;color:var(--surface);border:1.5px solid #c5b6bd;border:1.5px solid lab(75.3693% 6.52742 -1.90282);border-radius:50%;justify-self:center;place-items:center;display:grid}.cycle-dot .icon{stroke-width:2.5px;width:11px;height:11px}.cycle-dot>i{color:var(--missed-dark);font-size:.72rem;font-style:normal;font-weight:800;line-height:1}.cycle-dot.is-taken{border-color:var(--rose-dark);background:var(--rose-dark)}.cycle-dot.is-missed{border-color:var(--missed-dark);background:var(--missed)}.cycle-dot.is-current{border:3px solid var(--rose);box-shadow:0 0 0 4px var(--rose-soft)}.cycle-dot.is-taken.is-current-day{box-shadow:0 0 0 4px var(--rose-soft)}.cycle-dot.is-break,.cycle-dot.is-break-past,.cycle-dot.is-break-current{background:var(--mist);max-width:20px;color:var(--mist-dark);border-color:#0000}.cycle-dot.is-break-past{background:var(--mist-dark);color:var(--surface)}.cycle-dot.is-break-current{border:2px solid var(--rose-dark);background:var(--mist);color:var(--rose-dark);box-shadow:0 0 0 4px var(--rose-soft)}.cycle-dot.is-future{background:var(--surface)}.break-card{background:var(--mist);min-height:340px;box-shadow:var(--shadow);border-radius:30px;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;overflow:hidden}.break-card>p{color:var(--mist-dark);font-weight:750}.break-card>strong{letter-spacing:-.04em;margin:6px 0 5px;font-size:2rem}.break-card>span:not(.cloud-art){color:var(--muted);font-size:.85rem}.break-card small{color:var(--mist-dark);margin-top:22px;font-weight:700}.break-progress{gap:8px;margin-top:24px;display:flex}.break-progress i{background:#f3fafdc7;background:lab(97.7205% -1.88163 -2.16434/.78);border-radius:9px;width:25px;height:6px}.break-progress i.active{background:var(--mist-dark)}.cloud-art{width:100px;height:56px;margin-bottom:20px;position:relative}.cloud-art i{background:#f4fafce0;background:lab(97.7155% -1.64774 -1.89453/.88);border-radius:50%;width:60px;height:34px;position:absolute;bottom:0}.cloud-art i:nth-child(2){width:67px;height:47px;left:33px}.cloud-art i:nth-child(3){width:45px;height:38px;bottom:18px;left:22px}.today-skeleton{gap:18px;display:grid}.skeleton-line{border-radius:8px;height:22px}.skeleton-line.short{width:35%;height:13px}.skeleton-card{border-radius:30px;height:278px}.skeleton-button{border-radius:19px;height:62px}.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:70dvh;display:flex}.error-state .flower-mark{width:68px;color:var(--rose)}.error-state h1{font-size:1.4rem}.error-state p{color:var(--muted);line-height:1.5}.error-state button{margin-top:10px}.celebration{z-index:60;text-align:center;color:var(--text);background:#fff1f6f7;background:lab(96.2198% 7.71606 -.838745/.97);flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.celebration>.flower-mark{width:95px;color:var(--rose)}.celebration h2{margin-top:18px;font-size:2rem}.celebration p{color:var(--muted);margin-top:8px;line-height:1.55}.celebrate-enter-active,.celebrate-leave-active{transition:opacity .35s var(--ease-out), transform .35s var(--ease-out)}.celebrate-enter-from,.celebrate-leave-to{opacity:0;transform:scale(.96)}.petal-field{pointer-events:none;position:absolute;inset:0;overflow:hidden}.petal-field i{--angle:calc(var(--i) * 30deg);left:calc(10% + (var(--i) * 6.5%));background:color-mix(in oklch, var(--rose) 65%, var(--surface));width:12px;height:24px;animation:petal 2s var(--ease-out) both;animation-delay:calc(var(--i) * 40ms);border-radius:80% 20% 70% 30%;position:absolute;top:-10%}.secret-sheet{text-align:center;gap:16px;display:grid}.secret-sheet .flower-mark{width:62px;color:var(--rose);justify-self:center}.secret-progress{gap:9px;display:grid}.secret-progress>span{color:var(--muted);font-size:.7rem;font-weight:700}.secret-progress>div{justify-content:center;gap:5px;display:flex}.secret-progress i{background:var(--border);width:14px;height:4px;transition:background .2s var(--ease-out), transform .2s var(--ease-out);border-radius:999px}.secret-progress i.active{background:var(--rose);transform:scaleX(1.12)}.secret-story{min-height:92px;color:var(--text);text-wrap:balance;place-items:center;font-size:1rem;font-weight:620;line-height:1.65;display:grid}.story-enter-active,.story-leave-active{transition:opacity .18s var(--ease-out), transform .18s var(--ease-out)}.story-enter-from{opacity:0;transform:translate(8px)}.story-leave-to{opacity:0;transform:translate(-8px)}.page-header{align-items:center;min-height:67px;display:flex}.page-header h1{letter-spacing:-.04em;margin-top:3px;font-size:1.65rem}.calendar-view{gap:18px;display:grid}.cycle-summary{background:var(--rose-soft);border-radius:24px;padding:19px}.summary-top{justify-content:space-between;display:flex}.summary-top>div:last-child{text-align:right}.summary-top span{color:var(--muted);margin-bottom:3px;font-size:.71rem;display:block}.summary-top strong{font-size:.9rem}.summary-track{background:#dec2cc;background:lab(80.983% 11.7024 -1.27463);border-radius:999px;height:7px;margin:18px 0 10px;overflow:hidden}.summary-track span{transform-origin:0;background:var(--rose-dark);width:100%;height:100%;transition:transform .45s var(--ease-out);display:block}.cycle-summary>p{color:var(--rose-dark);font-size:.74rem;font-weight:650}.calendar-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #e3d2d8a6;border:1px solid lab(85.819% 6.71089 -.729442/.65);border-radius:26px;padding:14px 10px 18px}.month-header{grid-template-columns:48px 1fr 48px;align-items:center;height:52px;display:grid}.month-header h2{text-align:center;font-size:.98rem}.icon-button{background:0 0;border:0;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.icon-button:active{background:var(--rose-soft);transform:scale(.95)}.weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.weekdays{margin:5px 0 7px}.weekdays span{text-align:center;color:var(--muted-light);font-size:.62rem;font-weight:750}.calendar-grid{gap:3px}.calendar-day{aspect-ratio:1;min-width:0;transition:transform .16s var(--ease-out), background .16s;background:0 0;border:1px solid #0000;border-radius:13px;place-items:center;font-size:.74rem;font-weight:700;display:grid;position:relative}.calendar-day:active{transform:scale(.91)}.calendar-day .icon,.calendar-day>i{width:9px;height:9px;font-size:.65rem;font-style:normal;position:absolute;bottom:3px;right:4px}.calendar-day.is-taken{background:var(--sage);color:var(--rose-dark)}.calendar-day.is-pending{border:2px solid var(--rose);color:var(--rose-dark)}.calendar-day.is-missed{background:var(--missed);color:var(--missed-dark)}.calendar-day.is-upcoming{color:var(--muted);border-color:#e4d6dd;border-color:lab(86.9965% 5.8803 -1.71323)}.calendar-day.is-break{background:var(--mist);color:var(--mist-dark)}.calendar-day.is-hidden{color:var(--muted-light);opacity:.7;background:0 0;border-color:#0000}.calendar-day.is-hidden:disabled{opacity:.7}.calendar-day.today{box-shadow:0 0 0 3px var(--rose-soft)}.rest-dot{background:var(--mist-dark);border-radius:50%}.calendar-loading{gap:5px}.calendar-loading .skeleton{aspect-ratio:1;border-radius:13px}.calendar-error{text-align:center;min-height:280px;color:var(--muted);place-content:center;gap:12px;display:grid}.calendar-key{color:var(--muted);grid-template-columns:repeat(2,1fr);gap:9px 14px;font-size:.68rem;display:grid}.calendar-key span{align-items:center;gap:7px;display:flex}.calendar-key i{border-radius:4px;width:10px;height:10px}.calendar-key .taken{background:var(--sage)}.calendar-key .pending{border:2px solid var(--rose)}.calendar-key .missed{background:var(--missed)}.calendar-key .break{background:var(--mist)}.day-detail{gap:18px;display:grid}.detail-state{border-radius:12px;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;padding:9px 12px;font-size:.85rem;font-weight:750;display:inline-flex}.detail-state.is-taken{background:var(--sage);color:var(--rose-dark)}.detail-state.is-break{background:var(--mist);color:var(--mist-dark)}.detail-state.is-missed{background:var(--missed);color:var(--missed-dark)}.detail-state.is-pending{background:var(--rose-soft);color:var(--rose-dark)}.detail-state.is-upcoming{background:var(--surface-strong);color:var(--muted)}.detail-state .icon{width:15px}.day-detail p{color:var(--muted);line-height:1.5}.settings-view{gap:18px;display:grid}.settings-list{gap:22px;display:grid}.setting-group h2{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px 4px;font-size:.69rem}.setting-group{display:grid}.setting-row{text-align:left;border:0;border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:43px 1fr auto;align-items:center;gap:11px;width:100%;min-height:72px;padding:10px 14px;display:grid}.setting-row:first-of-type{border-radius:20px 20px 0 0}.setting-row:last-child{border-bottom:0;border-radius:0 0 20px 20px}.setting-row:only-of-type{border-radius:20px}.setting-row:active:not(.static){background:var(--rose-soft)}.setting-row>span:nth-child(2),.setting-row.static>span{flex-direction:column;gap:4px;display:flex}.setting-row strong{font-size:.88rem}.setting-row small{color:var(--muted);font-size:.73rem}.setting-row>.icon{width:18px;color:var(--muted-light)}.setting-icon{background:var(--rose-soft);width:42px;height:42px;color:var(--rose-dark);border-radius:14px;place-items:center;display:grid}.flower-mini{font-size:1.25rem}.row-action{color:var(--rose-dark);font-size:.72rem;font-weight:750}.setting-row.static{grid-template-columns:1fr}.info-group .setting-row{min-height:62px}.settings-skeleton{gap:10px;display:grid}.settings-skeleton .skeleton{border-radius:20px;height:74px}.settings-footer{min-height:54px;color:var(--muted-light);letter-spacing:.01em;justify-content:center;align-items:center;gap:5px;font-size:.72rem;font-weight:650;display:flex}.settings-footer .icon{width:12px;height:12px;color:var(--rose)}.toast{z-index:80;left:50%;bottom:calc(95px + env(safe-area-inset-bottom));white-space:nowrap;color:var(--surface);background:var(--text);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:7px;padding:11px 16px;font-size:.8rem;font-weight:700;display:flex;position:fixed;transform:translate(-50%)}.toast .icon{width:15px}.toast-enter-active,.toast-leave-active{transition:opacity .2s var(--ease-out), transform .2s var(--ease-out)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}.sheet-layer{z-index:70;background:#261c2157;background:lab(11.5677% 6.46042 -1.89392/.34);justify-content:center;align-items:flex-end;padding-top:50px;display:flex;position:fixed;inset:0}.sheet{width:min(100%,480px);max-height:calc(100dvh - 50px);padding:10px 22px calc(24px + env(safe-area-inset-bottom));background:var(--surface);border-radius:28px 28px 0 0;overflow-y:auto;box-shadow:0 -20px 55px #39283129;box-shadow:0 -20px 55px lab(18.3909% 9.66361 -2.83729/.16)}.sheet-handle{background:var(--border);border-radius:999px;width:38px;height:4px;margin:0 auto 6px}.sheet-header{justify-content:space-between;align-items:center;min-height:60px;display:flex}.sheet-header h2{font-size:1.12rem}.sheet-header .icon-button{color:var(--muted);font-size:1.5rem}.sheet-enter-active,.sheet-leave-active{transition:opacity .24s var(--ease-out)}.sheet-enter-active .sheet,.sheet-leave-active .sheet{transition:transform .24s var(--ease-out)}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet,.sheet-leave-to .sheet{transform:translateY(100%)}.sheet-form{gap:14px;padding-top:8px;display:grid}.sheet-form label{font-size:.8rem;font-weight:750}.sheet-form input,.sheet-form textarea{width:100%;min-height:54px;color:var(--text);background:var(--bg);border:1px solid #c4b1bb;border:1px solid lab(74.1414% 8.14912 -2.37714);border-radius:16px;padding:13px 15px}.sheet-form textarea{resize:vertical;line-height:1.5}.sheet-form>p{color:var(--muted);font-size:.76rem;line-height:1.5}.sheet-form .field-error{color:var(--missed-dark)}.segmented{background:var(--surface-strong);border-radius:16px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:13px;font-size:.8rem;font-weight:700}.segmented button.active{background:var(--surface);color:var(--rose-dark);box-shadow:0 3px 10px #54414b14;box-shadow:0 3px 10px lab(29.9919% 9.70446 -2.84273/.08)}.number-grid.small{gap:6px}.number-grid.small button{font-size:.72rem}@keyframes float{0%,to{transform:translateY(-2px)rotate(-2deg)}50%{transform:translateY(3px)rotate(2deg)}}@keyframes bloom{0%{opacity:0;transform:scale(.65)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes pulse{50%{opacity:.65;transform:scale(.8)}}@keyframes petal{0%{opacity:0;transform:translateY(0)rotate(0)}20%{opacity:1}to{opacity:0;transform:translateY(110dvh)rotate(280deg)}}@media (min-width:600px){body{padding:24px 0}.app-shell,.setup-page{border:1px solid var(--border);border-radius:34px;min-height:calc(100dvh - 48px);overflow:hidden}.app-main{min-height:calc(100dvh - 48px)}.bottom-nav{border-radius:0 0 34px 34px;bottom:24px}.sheet-layer{align-items:center}.sheet{border-radius:28px;max-height:82dvh;padding-bottom:24px}.sheet-enter-from .sheet,.sheet-leave-to .sheet{transform:translateY(16px)scale(.98)}}@media (max-width:340px){.calendar-view{padding-inline:0}.calendar-view>:not(.calendar-card){margin-inline:22px}.calendar-card{border-radius:0;padding-inline:0}.calendar-grid{gap:1px}.calendar-day{border-radius:12px;min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
