:root{--bg:#0e0e10;--bg-glow:#ee8b7412;--surface:#151518;--surface-2:#1b1b1f;--surface-3:#25252a;--line:#ffffff12;--line-strong:#ffffff21;--text:#f5f3ef;--text-2:#a9a6a1;--text-3:#8b8883;--accent:#ee8b74;--accent-2:#f6b39b;--accent-strong:#e46d55;--accent-soft:#ee8b7424;--accent-ink:#1d100c;--champagne:#d9c4a5;--success:#8ead9b;--period:#e8687e;--period-soft:#e8687e2e;--fertile:#5cc3a5;--fertile-soft:#5cc3a52e;--ovulation:#9d8cff;--pattern:#a998f5;--scrim:#0505069e;--glass:#18181cb8;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Manrope", "Inter", ui-sans-serif, system-ui, sans-serif;--fs-11:.6875rem;--fs-12:.75rem;--fs-13:.8125rem;--fs-14:.875rem;--fs-15:.9375rem;--fs-16:1rem;--fs-18:1.125rem;--fs-20:1.25rem;--fs-24:1.5rem;--fs-28:1.75rem;--fs-32:2rem;--fs-40:2.5rem;--fs-56:3.5rem;--fs-64:4rem;--tracking-tight:-.025em;--tracking-wide:.12em;--lh-tight:1.15;--lh-body:1.5;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--r-pill:999px;--shadow-1:0 1px 2px #00000059;--shadow-2:0 10px 30px #00000059;--shadow-3:0 24px 70px #0000008c;--glow-accent:0 0 32px #ee8b7459;--dur-micro:.15s;--dur-comp:.25s;--dur-page:.4s;--dur-data:1s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-inout:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.2, .9, .25, 1);--sidebar-w:240px;--rail-w:330px;--content-max:1440px;--tap:44px;--z-base:0;--z-nav:20;--z-fab:30;--z-drawer:40;--z-modal:50;--z-toast:60;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f7f5f1;--bg-glow:#d9654c0f;--surface:#fff;--surface-2:#f3f0eb;--surface-3:#e6e2db;--line:#1c181414;--line-strong:#1c181426;--text:#1c1b19;--text-2:#5e5a55;--text-3:#6b6660;--accent:#c4533b;--accent-2:#df7a60;--accent-strong:#ad4430;--accent-soft:#d9654c1f;--accent-ink:#fff;--champagne:#8f7350;--success:#4f7d63;--period:#c4405d;--period-soft:#cf486424;--fertile:#1f7d64;--fertile-soft:#23866b24;--ovulation:#6a59dc;--pattern:#7a67e6;--scrim:#1e1a1659;--glass:#ffffffc7;--shadow-1:0 1px 2px #281e1414;--shadow-2:0 10px 30px #281e1414;--shadow-3:0 24px 70px #281e1429;--glow-accent:0 0 28px #d9654c40;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-15);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--s-4);z-index:var(--z-toast);background:var(--surface-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-sm);position:absolute;top:-60px}.skip:focus{top:var(--s-4)}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.eyebrow{font-size:var(--fs-11);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-3);font-weight:600}h1,h2,h3{font-family:var(--font-display);letter-spacing:var(--tracking-tight);line-height:var(--lh-tight);text-wrap:balance;margin:0;font-weight:700}.icon{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.icon.sm{width:16px;height:16px}.ambient{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.ambient:before{content:"";background:radial-gradient(closest-side, var(--bg-glow), transparent 70%);width:900px;height:900px;animation:drift 22s var(--ease-inout) infinite alternate;border-radius:50%;position:absolute;top:-320px;left:18%}@keyframes drift{to{transform:translate(120px,80px)scale(1.08)}}.shell{z-index:1;grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;max-width:var(--content-max);margin:0 auto;display:grid;position:relative}.sidebar{gap:var(--s-6);height:100vh;padding:var(--s-6) var(--s-4) var(--s-6);border-right:1px solid var(--line);flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--s-3);padding:var(--s-1) var(--s-3);text-decoration:none;display:flex}.brand svg{width:30px;height:30px}.brand span{font-family:var(--font-display);font-weight:700;font-size:var(--fs-18);letter-spacing:.22em}.nav{flex-direction:column;gap:2px;display:flex}.nav a{align-items:center;gap:var(--s-3);min-height:var(--tap);padding:0 var(--s-3);border-radius:var(--r-md);color:var(--text-2);transition:background var(--dur-micro) var(--ease-out), color var(--dur-micro) var(--ease-out);font-weight:500;text-decoration:none;display:flex;position:relative}.nav a:hover{background:var(--surface);color:var(--text)}.nav a[aria-current=page]{background:var(--surface-2);color:var(--text)}.nav a[aria-current=page]:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:12px;bottom:12px;left:0}.nav a[aria-current=page] .icon{color:var(--accent)}.nav .sep{background:var(--line);height:1px;margin:var(--s-3) var(--s-3)}.side-foot{gap:var(--s-4);flex-direction:column;margin-top:auto;display:flex}.me{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);text-decoration:none;display:flex}.me:hover{background:var(--surface)}.avatar{width:36px;height:36px;font-weight:700;font-size:var(--fs-14);background:linear-gradient(140deg, var(--surface-3), var(--surface-2));border:1px solid var(--line-strong);color:var(--accent-2);border-radius:50%;place-items:center;display:grid}.me b{font-weight:600;font-size:var(--fs-14);display:block}.me small{color:var(--text-3);font-size:var(--fs-12)}.main{min-width:0;padding:var(--s-8) var(--s-8) var(--s-12)}.view{animation:viewIn var(--dur-page) var(--ease-out)}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);padding:0 var(--s-5);border-radius:var(--r-pill);border:1px solid var(--line-strong);font-weight:600;font-size:var(--fs-14);transition:transform var(--dur-micro) var(--ease-out), background var(--dur-micro), border-color var(--dur-micro), box-shadow var(--dur-comp);white-space:nowrap;background:0 0;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--text-3);background:var(--surface-2)}.btn:active{transform:scale(.98)}.btn.primary{color:var(--accent-ink);background:linear-gradient(135deg, var(--accent-2), var(--accent) 55%, var(--accent-strong));box-shadow:var(--glow-accent);border:0}.btn.primary:hover{filter:brightness(1.05)}.btn.block{width:100%}.btn.lg{min-height:52px;font-size:var(--fs-15)}.btn.sm{min-height:34px;padding:0 var(--s-4);font-size:var(--fs-13)}.btn.ghost{border-color:#0000}.btn.danger{color:var(--period);border-color:color-mix(in srgb, var(--period) 45%, transparent)}.btn.danger-solid{background:var(--period);color:#fff;border:0}.iconbtn{width:var(--tap);height:var(--tap);color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;display:grid}.iconbtn:hover{background:var(--surface-2);color:var(--text)}.link{color:var(--text-2);font-size:var(--fs-13);background:0 0;border:0;align-items:center;gap:4px;min-height:32px;padding:0;font-weight:500;text-decoration:none;display:inline-flex}.link:hover{color:var(--text)}.card{background:linear-gradient(180deg, var(--surface), color-mix(in srgb, var(--surface) 82%, var(--bg)));border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s-6);min-width:0;position:relative}.card.hover{transition:transform var(--dur-comp) var(--ease-out), border-color var(--dur-comp), box-shadow var(--dur-comp)}.card.hover:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-2px)}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.card-head h2{font-size:var(--fs-20)}.card-head p{color:var(--text-2);font-size:var(--fs-13);margin:2px 0 0}.ov-head{justify-content:space-between;align-items:flex-start;gap:var(--s-6);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.ov-head h1{font-size:var(--fs-32)}.ov-head .sub{color:var(--text-2);font-size:var(--fs-15);gap:var(--s-2);flex-wrap:wrap;margin-top:6px;display:flex}.ov-head .sub i{color:var(--text-3);font-style:normal}.ov-meta{font-size:var(--fs-13);color:var(--text-2);flex-direction:column;gap:6px;display:flex}.ov-meta span{align-items:center;gap:var(--s-2);display:inline-flex}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb, var(--success) 25%, transparent)}.dot.warn{background:var(--champagne)}.dot.hollow{border:1.5px solid var(--text-3)}.ov-grid{grid-template-columns:minmax(0, 1fr) var(--rail-w);gap:var(--s-6);align-items:start;display:grid}.ov-col{gap:var(--s-6);min-width:0;display:grid}.ov-top{gap:var(--s-6);grid-template-columns:minmax(0,1.9fr) minmax(250px,1fr);display:grid}.ov-bottom{gap:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.hero{padding:var(--s-8) var(--s-8) var(--s-6);gap:var(--s-6);flex-direction:column;min-height:360px;display:flex;overflow:hidden}.hero-waves{pointer-events:none;opacity:.9;position:absolute;inset:0}.hero-waves path{fill:none;stroke-width:1px}.hero-waves .w{animation:wave 14s var(--ease-inout) infinite alternate;transform-origin:50%}.hero-waves .w2{animation-duration:18s;animation-direction:alternate-reverse}@keyframes wave{to{transform:translateY(-10px)scaleY(1.04)}}.hero-main{gap:var(--s-6);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;position:relative}.hero .ring{--ring:clamp(170px, 13vw, 236px)}.hero-copy{min-width:200px}.hero-copy h2{font-size:clamp(var(--fs-24), 2.1vw, var(--fs-32));font-weight:600}.hero-copy p{color:var(--text-2);margin:var(--s-3) 0 var(--s-5);max-width:36ch}.hero-reasons{gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.hero-reasons .r{gap:var(--s-3);font-size:var(--fs-13);color:var(--text-2);align-items:center;min-width:0;display:flex}.hero-reasons .ri{background:var(--surface-2);border:1px solid var(--line);width:36px;height:36px;color:var(--text);border-radius:50%;flex:none;place-items:center;display:grid}.ring{width:var(--ring,240px);aspect-ratio:1;flex:none;position:relative}.ring svg{width:100%;height:100%;overflow:visible}.ring .track{stroke:var(--surface-3)}.ring .glow{filter:blur(10px);opacity:.55}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center .n{font-size:calc(var(--ring,240px) * .3);font-weight:700;line-height:1}.ring-center .l{margin-top:var(--s-2);font-size:var(--fs-12);letter-spacing:.22em;text-transform:uppercase;color:var(--text-2)}.ring-inner{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 70%);border:1px solid var(--line);border-radius:50%;position:absolute;inset:15%}.ring-inner:after{content:"";background:conic-gradient(from 0deg, transparent, color-mix(in srgb, var(--accent) 12%, transparent), transparent 40%);border-radius:50%;animation:18s linear infinite spin;position:absolute;inset:0}@keyframes spin{to{transform:rotate(1turn)}}.pill{border-radius:var(--r-pill);font-size:var(--fs-12);letter-spacing:.12em;text-transform:uppercase;margin-top:var(--s-3);align-items:center;gap:6px;padding:3px 12px;font-weight:700;display:inline-flex}.pill.high{background:linear-gradient(135deg, var(--accent-2), var(--accent-strong));color:var(--accent-ink)}.pill.good{background:var(--accent-soft);color:var(--accent)}.pill.typical{background:var(--surface-3);color:var(--text)}.pill.quiet{background:var(--surface-2);color:var(--text-2);border:1px solid var(--line)}.ring.small{--ring:132px}.ring.small .ring-center .l{display:none}.ring.small .pill{margin-top:0;padding:2px 10px;font-size:10px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.nextbest{gap:var(--s-4);flex-direction:column;display:flex}.nextbest .t{font-size:var(--fs-28);font-weight:600}.nextbest .d{color:var(--text-2);margin-top:-10px}.nextbest .ring{margin:var(--s-2) 0 var(--s-3);align-self:center}.nextbest p{text-align:center;color:var(--text-2);font-size:var(--fs-14);margin:0}.nextbest .btn{align-self:center}.card-kicker{gap:var(--s-3);align-items:center;display:flex}.card-kicker .icon{color:var(--accent)}.chart{width:100%;position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid line{stroke:var(--line)}.chart .ylab{fill:var(--text-3);font-size:11px}.chart .xlab{fill:var(--text-2);font-size:12px}.chart .xsub{fill:var(--text-3);font-size:11px}.chart .val{fill:var(--text);font-size:15px;font-weight:600;font-family:var(--font-display)}.draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw var(--dur-data) var(--ease-out) forwards}.draw.d2{animation-delay:.12s}@keyframes draw{to{stroke-dashoffset:0}}.fade-in{opacity:0;animation:fadeIn var(--dur-comp) var(--ease-out) forwards;animation-delay:.6s}@keyframes fadeIn{to{opacity:1}}.legend{gap:var(--s-2) var(--s-5);font-size:var(--fs-12);color:var(--text-2);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:var(--s-2);display:inline-flex}.legend .ln{border-radius:2px;width:16px;height:3px}.tip{z-index:5;pointer-events:none;min-width:170px;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);font-size:var(--fs-12);color:var(--text-2);opacity:0;transition:opacity var(--dur-micro), transform var(--dur-micro) var(--ease-out);position:absolute;transform:translateY(4px)}.tip.on{opacity:1;transform:none}.tip b{color:var(--text);font-size:var(--fs-13);margin-bottom:4px;display:block}.tip .kv{justify-content:space-between;gap:var(--s-4);display:flex}.tip .kv strong{color:var(--text)}.cycle-wrap{gap:var(--s-6);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.cring{aspect-ratio:1;width:230px;position:relative}.cring svg{width:100%;height:100%;overflow:visible}.cring .center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.cring .center b{font-family:var(--font-display);font-size:var(--fs-24)}.cring .center small{color:var(--text-3);font-size:var(--fs-12)}.keys{gap:var(--s-3);font-size:var(--fs-13);color:var(--text-2);flex-direction:column;display:flex}.keys span{align-items:center;gap:var(--s-3);display:flex}.sw{border-radius:50%;flex:none;width:10px;height:10px}.sw.period{background:var(--period)}.sw.fertile{background:var(--fertile)}.sw.ovulation{background:var(--ovulation)}.sw.sex{background:var(--pattern);width:7px;height:7px;margin:0 1.5px}.sw.today{border:2px solid var(--text);background:0 0}.pattern-wrap{gap:var(--s-5);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:end;display:grid}.pattern-big .range{font-family:var(--font-display);font-size:var(--fs-28);font-weight:600}.pattern-big .x{font-family:var(--font-display);font-size:var(--fs-64);margin:var(--s-2) 0;background:linear-gradient(135deg, var(--accent-2), var(--accent) 60%, var(--accent-strong));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700;line-height:1}.pattern-big p{color:var(--text-2);font-size:var(--fs-15);max-width:16ch;margin:0}.hist svg{width:100%;height:auto;display:block}.hist .bar{fill:var(--surface-3)}.hist .bar.hot{fill:url(#hotGrad)}.hist .ax{fill:var(--text-3);font-size:11px}.basis{color:var(--text-3);font-size:var(--fs-12);margin-top:var(--s-3)}.forming{gap:var(--s-3);flex-direction:column;align-items:flex-start;display:flex}.forming h3{font-size:var(--fs-20)}.forming p{color:var(--text-2);max-width:44ch;margin:0}.meter{background:var(--surface-3);border-radius:3px;width:100%;max-width:320px;height:6px;overflow:hidden}.meter span{background:linear-gradient(90deg, var(--accent-strong), var(--accent-2));height:100%;transition:width var(--dur-data) var(--ease-out);border-radius:3px;display:block}.meter-label{font-size:var(--fs-12);color:var(--text-3)}.rail{gap:var(--s-6);top:var(--s-8);display:grid;position:sticky}.mcal-head{margin-bottom:var(--s-3);justify-content:space-between;align-items:center;display:flex}.mcal-head>span{display:flex}.mcal-head b{font-size:var(--fs-13);letter-spacing:var(--tracking-wide);text-transform:uppercase}.mcal{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mcal .w{letter-spacing:.08em;color:var(--text-3);text-transform:uppercase;padding-bottom:var(--s-2);font-size:10px}.mday{height:36px;font-size:var(--fs-13);color:var(--text-2);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.mday span{width:30px;height:30px;transition:background var(--dur-micro);border-radius:50%;place-items:center;display:grid}.mday:hover span{background:var(--surface-2);color:var(--text)}.mday.period span{background:var(--period);color:#fff;font-weight:600}.mday.pred span{box-shadow:inset 0 0 0 1.5px var(--period);color:var(--text)}.mday.fertile span{background:var(--fertile-soft);color:var(--text)}.mday.ovulation span{box-shadow:inset 0 0 0 2px var(--ovulation);color:var(--text);font-weight:600}.mday.today span{box-shadow:0 0 0 2px var(--accent);color:var(--text);font-weight:700}.mday.sex:after{content:"";background:var(--pattern);border-radius:50%;width:4px;height:4px;position:absolute;bottom:1px}.mday.other{visibility:hidden}.list{flex-direction:column;display:flex}.item{gap:var(--s-3);padding:var(--s-3) var(--s-2);border-radius:var(--r-md);text-align:left;width:100%;color:inherit;transition:background var(--dur-micro);background:0 0;border:0;grid-template-columns:72px 28px minmax(0,1fr) 16px;align-items:center;text-decoration:none;display:grid}.item:hover{background:var(--surface-2)}.item .when{font-size:var(--fs-12);color:var(--text-2);border-left:2px solid var(--accent);padding-left:var(--s-3)}.item .ic{color:var(--accent);place-items:center;display:grid}.item .ic.period{color:var(--period)}.item b{font-weight:600;font-size:var(--fs-14);display:block}.item small{color:var(--text-3);font-size:var(--fs-12)}.item .chev{color:var(--text-3)}.ins-item{gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line);color:inherit;transition:border-color var(--dur-micro), transform var(--dur-comp) var(--ease-out);grid-template-columns:44px minmax(0,1fr) 16px;align-items:center;text-decoration:none;display:grid}.ins-item+.ins-item{margin-top:var(--s-2)}.ins-item:hover{border-color:var(--line-strong);transform:translateY(-1px)}.ins-item .ii{background:var(--surface-3);width:44px;height:44px;color:var(--text);border-radius:50%;place-items:center;display:grid}.ins-item b{font-weight:600;font-size:var(--fs-14);line-height:1.35;display:block}.ins-item small{color:var(--text-2);font-size:var(--fs-12)}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-32)}.page-head p{color:var(--text-2);margin:6px 0 0}.cal-nav{gap:var(--s-2);align-items:center;display:flex}.bigcal{gap:var(--s-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.bigcal .w{font-size:var(--fs-11);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-3);padding:0 var(--s-2) var(--s-2)}.cell{border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);min-height:96px;padding:var(--s-2) var(--s-3);text-align:left;justify-content:space-between;gap:var(--s-1);transition:border-color var(--dur-micro), transform var(--dur-comp) var(--ease-out), background var(--dur-micro);flex-direction:column;display:flex;position:relative}.cell:hover{border-color:var(--line-strong);transform:translateY(-1px)}.cell.other{visibility:hidden}.cell .dn{font-weight:600;font-size:var(--fs-14);justify-content:space-between;align-items:center;gap:var(--s-1);display:flex}.cell .cd{font-size:var(--fs-11);color:var(--text-3);font-weight:500}.cell .sc{font-family:var(--font-display);font-size:var(--fs-20);color:var(--text-2);font-weight:600;line-height:1}.cell.high .sc{color:var(--accent)}.cell.past .sc{opacity:.5}.cell .marks{align-items:center;gap:4px;min-height:8px;display:flex}.cell .bar{left:var(--s-3);right:var(--s-3);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0}.cell.period{background:color-mix(in srgb, var(--period) 10%, var(--surface))}.cell.period .bar{background:var(--period)}.cell.pred .bar{background:repeating-linear-gradient(90deg, var(--period) 0 6px, transparent 6px 10px)}.cell.fertile{background:color-mix(in srgb, var(--fertile) 8%, var(--surface))}.cell.fertile .bar{background:var(--fertile)}.cell.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.cell .ov{border:2px solid var(--ovulation);border-radius:2px;width:9px;height:9px;transform:rotate(45deg)}.cell .sx{background:var(--pattern);border-radius:50%;width:7px;height:7px}.cell .strong{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.cal-legend{margin-top:var(--s-5)}.cal-legend .lg{align-items:center;gap:var(--s-2);display:inline-flex}.lgbar{border-radius:2px;width:16px;height:3px}.cal-swap{animation:calIn var(--dur-comp) var(--ease-out)}@keyframes calIn{0%{opacity:0;transform:translateX(var(--dx,8px))}}.seg{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.seg button{min-height:34px;padding:0 var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-13);color:var(--text-2);transition:background var(--dur-micro), color var(--dur-micro);background:0 0;border:0;font-weight:600}.seg button[aria-pressed=true]{background:var(--surface-3);color:var(--text)}.editbar{align-items:center;gap:var(--s-4);margin-bottom:var(--s-4);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.two{gap:var(--s-6);margin-top:var(--s-6);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.row{justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;border-top:1px solid var(--line);align-items:center;display:flex}.row:first-child{border-top:0}.row b{font-weight:600}.row small{color:var(--text-3);font-size:var(--fs-12);display:block}.row .r{text-align:right;color:var(--text-2);font-size:var(--fs-13);font-variant-numeric:tabular-nums;white-space:nowrap}.ins-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.icard{gap:var(--s-2);flex-direction:column;min-height:220px;display:flex}.icard .k{color:var(--text-2);font-size:var(--fs-13);font-weight:500}.icard .v{font-family:var(--font-display);font-size:var(--fs-28);letter-spacing:var(--tracking-tight);font-weight:600}.icard .m{font-family:var(--font-display);font-size:var(--fs-40);color:var(--accent);font-weight:700;line-height:1}.icard .ml{color:var(--text-2);font-size:var(--fs-13)}.icard .ex{color:var(--text-2);font-size:var(--fs-13);margin:var(--s-2) 0 0;flex:1}.conf{align-items:center;gap:var(--s-2);font-size:var(--fs-12);color:var(--text-3);padding-top:var(--s-3);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.bars3{align-items:flex-end;gap:2px;display:inline-flex}.bars3 i{background:var(--surface-3);border-radius:1px;width:4px}.bars3 i:first-child{height:6px}.bars3 i:nth-child(2){height:9px}.bars3 i:nth-child(3){height:12px}.bars3 i.on{background:var(--accent)}.sig{gap:var(--s-8);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.radial{aspect-ratio:1;width:100%;max-width:380px;margin:0 auto;position:relative}.radial svg{width:100%;height:100%;overflow:visible}.radial .center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.radial .center b{font-family:var(--font-display);font-size:var(--fs-20)}.radial .center small{color:var(--text-3);font-size:var(--fs-12)}.radial .lab{fill:var(--text-3);font-size:10px}.radial .seg-h{transition:opacity var(--dur-micro)}.radial .seg-h:hover{opacity:.85}.stats{gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.stat .n{font-family:var(--font-display);font-size:var(--fs-40);letter-spacing:var(--tracking-tight);font-weight:700;line-height:1.05}.stat .n small{font-size:var(--fs-18);color:var(--text-2);margin-left:4px;font-weight:600}.stat .l{color:var(--text-2);font-size:var(--fs-13);margin-top:4px}.compare{gap:var(--s-8);padding:var(--s-5) 0 0;margin-top:var(--s-5);border-top:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;display:flex}.delta{font-family:var(--font-display);font-size:var(--fs-32);font-weight:700}.delta.up{color:var(--success)}.delta.down{color:var(--text-2)}.spark svg{width:100%;height:70px;display:block}.hbar{background:var(--surface-3);border-radius:5px;height:10px;overflow:hidden}.hbar span{background:linear-gradient(90deg, var(--accent-strong), var(--accent-2));border-radius:5px;height:100%;display:block}.fr{gap:var(--s-4);font-size:var(--fs-14);grid-template-columns:120px minmax(0,1fr) 48px;align-items:center;display:grid}.fr+.fr{margin-top:var(--s-3)}.fr b{text-align:right;font-family:var(--font-display)}.tl-month{margin:var(--s-6) 0 var(--s-2);font-size:var(--fs-13);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-3);font-weight:600}.tl{padding-left:var(--s-6);position:relative}.tl:before{content:"";background:var(--line-strong);width:1px;position:absolute;top:6px;bottom:6px;left:7px}.tl-item{gap:var(--s-4);padding:var(--s-3) 0;grid-template-columns:110px minmax(0,1fr);display:grid;position:relative}.tl-item:before{content:"";left:calc(-1 * var(--s-6) + 3px);background:var(--surface-3);border:2px solid var(--bg);border-radius:50%;width:9px;height:9px;position:absolute;top:18px}.tl-item.sex:before{background:var(--pattern)}.tl-item.periodStart:before,.tl-item.periodEnd:before{background:var(--period);border-radius:2px}.tl-item.ovulation:before{border:2px solid var(--ovulation);background:0 0;border-radius:2px;transform:rotate(45deg)}.tl-item.fertileStart:before{background:var(--fertile)}.tl-item.experimentStart:before,.tl-item.experimentEnd:before{background:var(--champagne)}.tl-item .d b{font-weight:600;display:block}.tl-item .d small,.tl-item .e small{color:var(--text-3);font-size:var(--fs-12)}.tl-item .e b{font-weight:500}.tl-item{text-align:left;width:100%;color:inherit;font:inherit;border-radius:var(--r-sm);background:0 0;border:0}.tl-item:hover .e b{color:var(--accent)}.exp{gap:var(--s-4);flex-direction:column;display:flex}.exp .status{font-size:var(--fs-11);letter-spacing:var(--tracking-wide);text-transform:uppercase;border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);align-items:center;gap:6px;padding:3px 10px;font-weight:700;display:inline-flex}.exp .status.active{background:var(--accent-soft);color:var(--accent)}.exp h3{font-size:var(--fs-24)}.exp .hyp{color:var(--text-2);margin:0}.kvs{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.kvs div small{color:var(--text-3);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:var(--tracking-wide);display:block}.kvs div b{font-weight:600}.result{gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.result .n{font-family:var(--font-display);font-size:var(--fs-24);font-weight:700}.disclaimer{font-size:var(--fs-12);color:var(--text-3);margin:0}.tpls{gap:var(--s-2);flex-wrap:wrap;display:flex}.stack{gap:var(--s-6);max-width:760px;display:grid}.field{gap:var(--s-2);flex-direction:column;display:flex}.field>label,.lbl{font-size:var(--fs-12);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:600}.field small{color:var(--text-3);font-size:var(--fs-12)}.input,select.input,textarea.input{min-height:var(--tap);width:100%;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface-2);transition:border-color var(--dur-micro)}textarea.input{padding:var(--s-3) var(--s-4);resize:vertical;min-height:80px}.input:focus{border-color:var(--accent);outline:none}.setrow{gap:var(--s-4);padding:var(--s-4) 0;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(160px,260px);align-items:center;display:grid}.setrow:first-of-type{border-top:0}.setrow b{font-weight:600;display:block}.setrow small{color:var(--text-3);font-size:var(--fs-12)}.choices{gap:var(--s-2);display:grid}.choice{gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:border-color var(--dur-micro);text-align:left;align-items:flex-start;width:100%;display:flex}.choice:hover{border-color:var(--line-strong)}.choice[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface-2))}.choice .radio{border:2px solid var(--text-3);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-top:2px;display:grid}.choice[aria-checked=true] .radio{border-color:var(--accent)}.choice[aria-checked=true] .radio:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.choice b{font-weight:600;display:block}.choice small{color:var(--text-2);font-size:var(--fs-13)}.chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.chip{min-height:36px;padding:0 var(--s-4);border-radius:var(--r-pill);border:1px solid var(--line-strong);font-size:var(--fs-13);color:var(--text-2);transition:all var(--dur-micro) var(--ease-out);background:0 0;align-items:center;gap:6px;font-weight:500;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--text-3)}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.points{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.points li{gap:var(--s-3);color:var(--text-2);display:flex}.points li .icon{color:var(--success);margin-top:2px}.toggle{align-items:center;gap:var(--s-3);cursor:pointer;display:inline-flex}.toggle input{appearance:none;background:var(--surface-3);width:42px;height:24px;transition:background var(--dur-comp);border-radius:12px;flex:none;position:relative}.toggle input:after{content:"";background:var(--text);width:18px;height:18px;transition:transform var(--dur-comp) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked{background:var(--accent)}.toggle input:checked:after{background:var(--accent-ink);transform:translate(18px)}.scrim{z-index:var(--z-drawer);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn var(--dur-comp) var(--ease-out) forwards;opacity:0;animation-delay:0s;position:fixed;inset:0}.drawer{z-index:calc(var(--z-drawer) + 1);background:var(--surface);border-left:1px solid var(--line-strong);width:min(440px,100vw);height:100vh;box-shadow:var(--shadow-3);padding:var(--s-6);gap:var(--s-5);animation:drawerIn var(--dur-page) var(--ease-spring);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow-y:auto}@keyframes drawerIn{0%{opacity:0;transform:translate(40px)}}.modal{z-index:var(--z-modal);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-xl);width:min(520px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-3);padding:var(--s-6);gap:var(--s-5);animation:modalIn var(--dur-comp) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@keyframes modalIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}}.ov-x{justify-content:space-between;align-items:flex-start;gap:var(--s-4);display:flex}.ov-x h2{font-size:var(--fs-24)}.dsec{gap:var(--s-2);padding-top:var(--s-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.dsec .big{font-family:var(--font-display);font-size:var(--fs-40);font-weight:700;line-height:1}.dsec .big small{font-size:var(--fs-16);color:var(--text-3);font-weight:600}.why{gap:var(--s-3);margin:0;padding:0;list-style:none;display:grid}.why li{gap:var(--s-3);grid-template-columns:8px minmax(0,1fr);display:grid}.why li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;margin-top:8px}.why b{font-weight:600;display:block}.why small{color:var(--text-3);font-size:var(--fs-12)}details.more summary{cursor:pointer;color:var(--text-2);font-weight:600;font-size:var(--fs-14);min-height:var(--tap);align-items:center;list-style:none;display:flex}details.more summary::-webkit-details-marker{display:none}details.more summary:after{content:"+";color:var(--text-3);font-size:var(--fs-18);margin-left:auto}details.more[open] summary:after{content:"–"}.enc{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--surface-2);text-align:left;border:0;width:100%;display:flex}.enc+.enc{margin-top:var(--s-2)}.success{align-items:center;gap:var(--s-4);padding:var(--s-8) 0;flex-direction:column;display:flex}.success .orb{background:radial-gradient(circle, var(--accent-soft), transparent 70%);width:88px;height:88px;box-shadow:var(--glow-accent);animation:orb .7s var(--ease-out);border-radius:50%;place-items:center;display:grid}.success svg{width:44px;height:44px;stroke:var(--accent);stroke-width:2.5px;fill:none;stroke-linecap:round;stroke-linejoin:round}.success path{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .5s .15s var(--ease-out) forwards}@keyframes orb{0%{opacity:0;transform:scale(.6)}}.toast{left:50%;bottom:calc(var(--s-8) + env(safe-area-inset-bottom,0px));z-index:var(--z-toast);background:var(--text);color:var(--bg);padding:var(--s-3) var(--s-5);border-radius:var(--r-pill);font-size:var(--fs-14);box-shadow:var(--shadow-2);animation:modalIn var(--dur-comp) var(--ease-out);font-weight:500;position:fixed;transform:translate(-50%)}.solo{z-index:1;min-height:100vh;padding:var(--s-6) var(--s-4);place-items:center;display:grid;position:relative}.solo-card{gap:var(--s-5);flex-direction:column;width:min(460px,100%);display:flex}.solo-card h1{font-size:var(--fs-40)}.solo-card .lead{color:var(--text-2);font-size:var(--fs-16);margin:0}.onb-lines{gap:var(--s-2);font-family:var(--font-display);font-size:var(--fs-24);letter-spacing:var(--tracking-tight);margin:0;padding:0;font-weight:600;list-style:none;display:grid}.onb-lines li:nth-child(2){color:var(--text-2)}.onb-lines li:nth-child(3){color:var(--text-3)}.steps{gap:6px;display:flex}.steps i{background:var(--surface-3);height:4px;transition:background var(--dur-comp);border-radius:2px;flex:1}.steps i.on{background:var(--accent)}.big-logo{width:56px;height:56px}.err{color:var(--period);font-size:var(--fs-13)}.ok-msg{color:var(--success);font-size:var(--fs-13)}.or{align-items:center;gap:var(--s-3);color:var(--text-3);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:.08em;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.checkline{gap:var(--s-3);color:var(--text-2);font-size:var(--fs-13);cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:start;display:grid}.checkline input{width:18px;height:18px;accent-color:var(--accent);margin:2px 0 0}.gbtn svg{width:18px;height:18px}.login-links{justify-content:space-between;gap:var(--s-2);font-size:var(--fs-13);flex-wrap:wrap;display:flex}.topbar,.tabbar,.fab{display:none}@media (width<=1279px){.ov-grid{grid-template-columns:minmax(0,1fr)}.rail{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));position:static}}@media (width<=1023px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.main{padding:var(--s-4) var(--s-4) calc(150px + env(safe-area-inset-bottom,0px))}.topbar{padding:var(--s-2) 0 var(--s-4);justify-content:space-between;align-items:center;display:flex}.topbar .brand span{font-size:var(--fs-16)}.tabbar{z-index:var(--z-nav);background:var(--surface);border-top:1px solid var(--line);padding:var(--s-2) var(--s-2) calc(var(--s-2) + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{min-height:50px;font-size:var(--fs-11);color:var(--text-3);border-radius:var(--r-md);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;text-decoration:none;display:flex}.tabbar a[aria-current=page]{color:var(--text)}.tabbar a[aria-current=page] .icon{color:var(--accent)}.fab{right:var(--s-4);bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:var(--z-fab);display:inline-flex;position:fixed}.toast{bottom:calc(140px + env(safe-area-inset-bottom,0px))}.ov-top,.ov-bottom,.two,.sig{grid-template-columns:minmax(0,1fr)}.drawer{border-left:0;border-top:1px solid var(--line-strong);border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;height:auto;max-height:90vh;animation:sheetUp var(--dur-page) var(--ease-spring);padding-bottom:calc(var(--s-6) + env(safe-area-inset-bottom,0px));top:auto;bottom:0;left:0}.modal{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-height:92vh;animation:sheetUp var(--dur-page) var(--ease-spring);padding-bottom:calc(var(--s-6) + env(safe-area-inset-bottom,0px));top:auto;bottom:0;left:0;transform:none}@keyframes sheetUp{0%{opacity:0;transform:translateY(40px)}}}@media (width<=767px){.ov-head h1,.page-head h1{font-size:var(--fs-28)}.ov-meta{display:none}.hero{padding:var(--s-6) var(--s-5) var(--s-5);min-height:0}.hero-main{text-align:center;justify-items:center;gap:var(--s-5);grid-template-columns:minmax(0,1fr)}.hero-copy p{margin-inline:auto}.ring{--ring:210px}.hero-reasons{grid-template-columns:minmax(0,1fr)}.cycle-wrap,.pattern-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}.keys{flex-flow:wrap;justify-content:center}.pattern-wrap{justify-items:stretch}.card{padding:var(--s-5);border-radius:var(--r-lg)}.bigcal{gap:3px}.cell{border-radius:var(--r-sm);min-height:64px;padding:6px}.cell .cd,.cell .strong{display:none}.cell .sc{font-size:var(--fs-14)}.week-scroll{margin:0 calc(-1 * var(--s-5));padding:0 var(--s-5);overflow-x:auto}.week-scroll .chart{min-width:560px}.result,.setrow{grid-template-columns:minmax(0,1fr)}.tl-item{grid-template-columns:84px minmax(0,1fr)}.item{grid-template-columns:76px 24px minmax(0,1fr) 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}.draw{stroke-dashoffset:0}.fade-in{opacity:1}.ambient:before,.ring-inner:after,.hero-waves .w{animation:none!important}}.tl-item .d,.tl-item .e{min-width:0;display:block}.tl-item .d small{display:block}.hero,.cq{container-type:inline-size}.hero-reasons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@container (width<=500px){.hero-main{text-align:center;justify-items:center;gap:var(--s-5);grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}.hero-copy p{margin-inline:auto}}@container (width<=520px){.cycle-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}.cycle-wrap .keys{justify-content:center;gap:var(--s-2) var(--s-4);flex-flow:wrap}.pattern-wrap{grid-template-columns:minmax(0,1fr);align-items:start}.pattern-big .range{white-space:nowrap}}.nextbest .d{margin-top:2px}.item{padding:var(--s-2)}#main:focus{outline:none}.spark svg{max-width:420px}.plus-badge{border-radius:var(--r-pill);font-size:var(--fs-11);letter-spacing:.08em;color:var(--accent-ink);background:linear-gradient(120deg, var(--champagne), var(--accent-2) 45%, var(--accent));align-items:center;gap:6px;padding:3px 10px;font-weight:700;display:inline-flex;box-shadow:0 0 18px #ee8b7440}.plus-badge .icon{width:13px;height:13px}.plus-badge.big{font-size:var(--fs-12);padding:5px 14px}.shimmer{isolation:isolate;position:relative;overflow:hidden}.shimmer:after{content:"";z-index:-1;pointer-events:none;animation:shimmer 3.2s var(--ease-inout) infinite 1s;background:linear-gradient(100deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}@keyframes shimmer{0%{transform:translate(-120%)}45%,to{transform:translate(120%)}}.lk{border-radius:var(--r-xl);min-width:0;position:relative}.lk>[inert]{filter:blur(7px)saturate(.75);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(.985)}.lk-over{padding:var(--s-4);z-index:2;place-items:center;display:grid;position:absolute;inset:0}.lk.tall .lk-over{align-items:start;padding-top:min(18vh,140px)}.lk.tall .lk-box{position:sticky;top:30vh}.lk-box{justify-items:center;gap:var(--s-2);text-align:center;max-width:320px;padding:var(--s-5) var(--s-6);border-radius:var(--r-xl);background:var(--glass);border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-2);animation:lkIn var(--dur-page) var(--ease-spring) both;display:grid}.lk-box b{font-family:var(--font-display);font-size:var(--fs-18);letter-spacing:var(--tracking-tight);font-weight:700}.lk-box small{color:var(--text-2);font-size:var(--fs-13);margin-bottom:var(--s-2)}@keyframes lkIn{0%{opacity:0;transform:translateY(10px)scale(.97)}}.plus-link{position:relative}.nav a.plus-link .icon{color:var(--champagne)}.nav a.plus-link span{background:linear-gradient(120deg, var(--champagne), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:700}.plus-btn .icon{color:var(--champagne);filter:drop-shadow(0 0 6px #d9c4a573)}.plan-chip{border-radius:var(--r-pill);border:1px solid var(--line-strong);color:var(--text-2);font-size:var(--fs-13);justify-self:start;align-items:center;gap:6px;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-flex}.plan-chip.on{color:var(--accent-ink);background:linear-gradient(120deg, var(--champagne), var(--accent-2) 45%, var(--accent));border:0}.upsell-row{color:inherit;cursor:pointer;text-decoration:none}.upsell-row b{align-items:center;gap:6px;display:inline-flex!important}a.dsec.upsell-row{gap:var(--s-2);flex-direction:column;display:flex}.plus-note{gap:var(--s-2);font-size:var(--fs-13);align-items:flex-start;margin:0;display:flex}.plus-note .plus-badge{flex:none}.pw{gap:var(--s-6);max-width:620px;padding-bottom:var(--s-8);margin:0 auto;display:grid}.pw-hero{text-align:center;justify-items:center;gap:var(--s-3);padding-top:var(--s-6);display:grid}.pw-hero h1{font-size:clamp(var(--fs-28), 6vw, var(--fs-40));line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);max-width:15ch}.pw-hero .lead{color:var(--text-2);max-width:42ch;margin:0}.pw-mark{place-items:center;width:52px;height:52px;display:grid}.pw-mark svg{width:48px;height:48px;display:block}.pw-price{padding:var(--s-6);border-radius:var(--r-xl);background:radial-gradient(120% 140% at 50% 0%, color-mix(in srgb, var(--accent) 18%, var(--surface)), var(--surface) 70%);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));justify-items:center;gap:4px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 60px #ee8b741f}.pw-amount{align-items:baseline;gap:6px;display:flex}.pw-amount .num{font-family:var(--font-display);font-size:var(--fs-56);letter-spacing:-.04em;background:linear-gradient(120deg, var(--text), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:800;line-height:1}.pw-amount small{color:var(--text-2);font-size:var(--fs-18);font-weight:600}.pw-month{color:var(--accent-2);font-weight:600;font-size:var(--fs-14)}.pw-yearly{color:var(--text-3);font-size:var(--fs-12);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-top:var(--s-2)}.pw-feats{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.pw-feats li{gap:var(--s-4);padding:var(--s-4);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);animation:featIn .52s var(--ease-spring) both;animation-delay:calc(80ms * var(--n) + .12s);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;display:grid}.pw-feats b{font-weight:650;display:block}.pw-feats small{color:var(--text-2);font-size:var(--fs-13)}.pw-ic{width:44px;height:44px;color:var(--accent);background:var(--accent-soft);border-radius:14px;place-items:center;display:grid}.pw-ok{color:var(--success)}@keyframes featIn{0%{opacity:0;transform:translateY(14px)}}.pw-table h2{font-size:var(--fs-18);margin-bottom:var(--s-3)}.pw-row{gap:var(--s-2);border-top:1px solid var(--line);font-size:var(--fs-14);grid-template-columns:minmax(0,1fr) 64px 64px;align-items:center;padding:10px 0;display:grid}.pw-row.head{font-size:var(--fs-12);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;border-top:0;font-weight:700}.pw-row>span:not(:first-child){text-align:center;justify-self:center}.pw-row .y{color:var(--success)}.pw-row .y.plus{color:var(--accent)}.pw-row .n{color:var(--text-3)}.pw-buy{gap:var(--s-3);justify-items:center;display:grid}.pw-cta{font-size:var(--fs-16);min-height:56px;box-shadow:0 12px 34px #ee8b7459}.pw-restore{font-size:var(--fs-13);color:var(--text-2)}.pw-web{text-align:center;padding:var(--s-5);border-radius:var(--r-lg);border:1px dashed var(--line-strong)}.pw-web p{color:var(--text-2);margin:var(--s-2) 0 0;font-size:var(--fs-14)}.pw-legal{color:var(--text-3);font-size:var(--fs-11);text-align:center;margin:0}.pw-active{gap:var(--s-4);align-items:center;display:flex}.pw-active b{display:block}.pw-active small{color:var(--text-2)}.pw-check{width:44px;height:44px;color:var(--accent-ink);background:linear-gradient(120deg, var(--champagne), var(--accent));border-radius:50%;flex:none;place-items:center;display:grid}@media (width<=1023px){html.native .pw-buy{bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:5;padding:var(--s-3) 0;background:linear-gradient(transparent, var(--bg) 35%);position:sticky}#app[data-route=premium] .fab{display:none}}.confetti{pointer-events:none;z-index:var(--z-toast);position:fixed;inset:0;overflow:hidden}.confetti i{width:8px;height:14px;animation:fall var(--d) var(--ease-out) forwards;border-radius:2px;position:absolute;top:-12px}@keyframes fall{to{transform:translate(calc(var(--x) * 160px), 105vh) rotate(var(--r));opacity:.2}}.vt #view{view-transition-name:view}.vt .tabbar{view-transition-name:tabbar}.vt .topbar{view-transition-name:topbar}.vt .view{animation:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(view){animation-duration:.34s;animation-timing-function:var(--ease-out)}::view-transition-new(view){animation-duration:.34s;animation-timing-function:var(--ease-out)}::view-transition-old(view){animation-name:vtFadeOut}::view-transition-new(view){animation-name:vtFadeIn}html[data-nav=fwd]::view-transition-old(view){animation-name:vtOutLeft}html[data-nav=fwd]::view-transition-new(view){animation-name:vtInRight}html[data-nav=back]::view-transition-old(view){animation-name:vtOutRight}html[data-nav=back]::view-transition-new(view){animation-name:vtInLeft}@keyframes vtFadeOut{to{opacity:0}}@keyframes vtFadeIn{0%{opacity:0}}@keyframes vtOutLeft{to{opacity:0;transform:translate(-14%)}}@keyframes vtInRight{0%{opacity:0;transform:translate(22%)}}@keyframes vtOutRight{to{opacity:0;transform:translate(14%)}}@keyframes vtInLeft{0%{opacity:0;transform:translate(-22%)}}html:not(.vt)[data-nav=fwd] .view{animation:vtInRight .34s var(--ease-out)}html:not(.vt)[data-nav=back] .view{animation:vtInLeft .34s var(--ease-out)}.tab-pill{display:none}@media (width<=1023px){.tabbar{--tab:0;--on:1}.tab-pill{top:var(--s-2);left:var(--s-2);height:50px;width:calc((100% - 2 * var(--s-2)) / 4);border-radius:var(--r-md);background:var(--accent-soft);opacity:var(--on);transform:translateX(calc(var(--tab) * 100%));transition:transform .38s var(--ease-spring), opacity var(--dur-comp);pointer-events:none;display:block;position:absolute}.tabbar a{transition:color var(--dur-comp);position:relative}.tabbar a .icon{transition:transform .3s var(--ease-spring)}.tabbar a[aria-current=page] .icon{transform:translateY(-1px)scale(1.08)}.fab{transition:transform var(--dur-comp) var(--ease-spring), box-shadow var(--dur-comp)}}.btn,.iconbtn,.chip,.choice,.tabbar a,.nav a,.item,.ins-item,.cell,.mday,.enc,.pw-feats li{-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled),.iconbtn:active,.chip:active,.choice:active,.item:active,.ins-item:active,.enc:active{transition-duration:80ms;transform:scale(.97)}.tabbar a:active .icon{transform:scale(.88)}.cell:active,.mday:active{transform:scale(.94)}.card.hover:active{transform:scale(.99)}.fab:active{transform:scale(.94)}.grab{display:none}@media (width<=1023px){.grab{background:var(--line-strong);touch-action:none;cursor:grab;border-radius:3px;flex:none;width:40px;height:5px;margin:-10px auto 2px;display:block}.grab:before{content:"";height:28px;margin-top:-12px;display:block}.drawer,.modal{touch-action:pan-y;transition:transform .26s var(--ease-spring)}#overlay.closing .drawer,#overlay.closing .modal{animation:sheetDown .22s var(--ease-inout) forwards}}#overlay.closing .scrim{animation:.22s forwards scrimOut}@media (width>=1024px){#overlay.closing .drawer{animation:drawerOut .2s var(--ease-inout) forwards}#overlay.closing .modal{animation:modalOut .18s var(--ease-inout) forwards}}@keyframes sheetDown{to{transform:translateY(100%)}}@keyframes scrimOut{0%{opacity:1}to{opacity:0}}@keyframes drawerOut{to{opacity:0;transform:translate(40px)}}@keyframes modalOut{to{opacity:0;transform:translate(-50%,-48%)scale(.97)}}html.native{-webkit-user-select:none;user-select:none;overscroll-behavior:none}html.native input,html.native textarea,html.native [contenteditable]{-webkit-user-select:text;user-select:text}html.native body{overscroll-behavior-y:none}html.native .skip{display:none}@media (width<=1023px){html.native .main{padding-top:calc(var(--s-2) + max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px)))}html.native .solo{padding-top:calc(var(--s-6) + max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px)))}html.native .topbar{z-index:var(--z-nav);margin:0 calc(-1 * var(--s-4));padding:var(--s-2) var(--s-4) var(--s-3);background:var(--glass);-webkit-backdrop-filter:blur(18px);position:sticky;top:0}html.native .tabbar{padding-bottom:calc(var(--s-2) + max(env(safe-area-inset-bottom,0px), var(--safe-area-inset-bottom,0px)))}html.native .fab{bottom:calc(76px + max(env(safe-area-inset-bottom,0px), var(--safe-area-inset-bottom,0px)))}html.native.kb .tabbar,html.native.kb .fab{display:none}}
