@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5f10e9e72d35c52-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3dc379dc9b5dec12-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sora Fallback;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_af938a{font-family:Sora,Sora Fallback;font-style:normal}.__variable_af938a{--font-sora:"Sora","Sora Fallback"}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_2aad3c{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_2aad3c{--font-archivo:"Archivo","Archivo Fallback"}:root{color-scheme:light;--brand-50:#F5F0FB;--brand-100:#EADDF8;--brand-200:#D4BCF0;--brand-300:#B592E3;--brand-400:#986DD5;--brand-500:#7F4FC6;--brand-600:#693CA9;--brand-700:#552F8A;--brand-800:#3D2163;--brand-900:#26143E;--ink-0:#FFFFFF;--ink-50:#FAF6F1;--ink-100:#F3ECE4;--ink-200:#E9DFD3;--ink-300:#D8CABB;--ink-400:#B3A190;--ink-500:#8A7866;--ink-600:#695A4B;--ink-700:#4A3E33;--ink-800:#332A21;--ink-900:#221B14;--green-500:#3E9E5C;--green-600:#2F8049;--green-700:#256B3C;--green-100:#DDF2E4;--gold-500:#E3A81C;--gold-600:#C08A10;--gold-100:#FBF0D2;--red-500:#D64550;--red-600:#B23440;--red-700:#942B35;--red-100:#FADEE0;--blue-500:#4E86CF;--blue-600:#3B6DAF;--blue-100:#DDE9F8;--fase-menstruacao:#D64550;--fase-menstruacao-bg:#FADEE0;--fase-folicular:#3E9E5C;--fase-folicular-bg:#DDF2E4;--fase-ovulacao:#E3A81C;--fase-ovulacao-bg:#FBF0D2;--fase-lutea:#4E86CF;--fase-lutea-bg:#DDE9F8;--fase-tpm:#B0509B;--fase-tpm-bg:#F5DFF1;--ling-palavras:#4E86CF;--ling-tempo:#3E9E5C;--ling-presentes:#E3A81C;--ling-servico:#7F4FC6;--ling-toque:#C75577;--flame-hot:#F49A1C;--flame-core:#FFCE3F;--bg-app:var(--ink-50);--surface-card:var(--ink-0);--surface-raised:var(--ink-0);--surface-sunken:var(--ink-100);--surface-brand:var(--brand-500);--surface-brand-soft:var(--brand-50);--text-title:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-on-brand:#FFFFFF;--text-brand:var(--brand-600);--text-link:var(--brand-600);--border-default:var(--ink-200);--border-strong:var(--ink-300);--success:var(--green-600);--success-bg:var(--green-100);--warning:var(--gold-600);--warning-bg:var(--gold-100);--danger:var(--red-500);--danger-bg:var(--red-100);--info:var(--blue-600);--info-bg:var(--blue-100);--accent:var(--gold-500);--muted:var(--text-muted);--font-display:var(--font-sora),"Sora",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:var(--font-archivo),"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-hero:800 32px/1.15 var(--font-display);--text-h1:800 24px/1.2 var(--font-display);--text-h2:700 19px/1.25 var(--font-display);--text-h3:700 16px/1.3 var(--font-display);--text-body-md:400 16px/1.5 var(--font-body);--text-body-strong:600 16px/1.5 var(--font-body);--text-small:400 14px/1.45 var(--font-body);--text-small-strong:600 14px/1.45 var(--font-body);--text-caption:500 12px/1.4 var(--font-body);--text-overline:700 11px/1.3 var(--font-display);--letter-overline:0.08em;--text-stat:800 40px/1 var(--font-display);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:10px;--radius-md:16px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--page-max:480px;--page-pad:16px;--tap-min:48px;--shadow-card:0 1px 2px rgba(34,27,20,0.06),0 4px 12px rgba(34,27,20,0.07);--shadow-raised:0 4px 8px rgba(34,27,20,0.10),0 12px 28px rgba(34,27,20,0.12);--edge-size:4px;--edge-brand:0 4px 0 var(--brand-700);--edge-success:0 4px 0 var(--green-700);--edge-danger:0 4px 0 var(--red-700);--edge-neutral:0 4px 0 var(--ink-300);--ease-pop:cubic-bezier(0.34,1.56,0.64,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--dur-fast:120ms;--dur-base:220ms;--dur-celebrate:600ms;--focus-ring:0 0 0 3px color-mix(in oklab,var(--brand-500) 35%,transparent)}:root[data-theme=dark]{color-scheme:dark;--bg-app:#1B1511;--surface-card:#291F18;--surface-raised:#332820;--surface-sunken:#211913;--surface-brand:var(--brand-500);--surface-brand-soft:#2C2044;--text-title:#F7F0E8;--text-body:#DCCFC2;--text-muted:#A08D7B;--text-on-brand:#FFFFFF;--text-brand:var(--brand-300);--text-link:var(--brand-300);--border-default:#3D3025;--border-strong:#4E3E30;--success:#56B876;--success-bg:#1E3527;--warning:#E9B84A;--warning-bg:#3A2E12;--danger:#E4626C;--danger-bg:#3E1D20;--info:#74A5E0;--info-bg:#1D2B3D;--fase-menstruacao-bg:#3E1D20;--fase-folicular-bg:#1E3527;--fase-ovulacao-bg:#3A2E12;--fase-lutea-bg:#1D2B3D;--fase-tpm-bg:#382033;--shadow-card:0 1px 2px rgba(0,0,0,0.3),0 4px 12px rgba(0,0,0,0.35);--shadow-raised:0 4px 8px rgba(0,0,0,0.4),0 12px 28px rgba(0,0,0,0.45);--edge-neutral:0 4px 0 #14100C}@media (prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--bg-app:#1B1511;--surface-card:#291F18;--surface-raised:#332820;--surface-sunken:#211913;--surface-brand:var(--brand-500);--surface-brand-soft:#2C2044;--text-title:#F7F0E8;--text-body:#DCCFC2;--text-muted:#A08D7B;--text-on-brand:#FFFFFF;--text-brand:var(--brand-300);--text-link:var(--brand-300);--border-default:#3D3025;--border-strong:#4E3E30;--success:#56B876;--success-bg:#1E3527;--warning:#E9B84A;--warning-bg:#3A2E12;--danger:#E4626C;--danger-bg:#3E1D20;--info:#74A5E0;--info-bg:#1D2B3D;--fase-menstruacao-bg:#3E1D20;--fase-folicular-bg:#1E3527;--fase-ovulacao-bg:#3A2E12;--fase-lutea-bg:#1D2B3D;--fase-tpm-bg:#382033;--shadow-card:0 1px 2px rgba(0,0,0,0.3),0 4px 12px rgba(0,0,0,0.35);--shadow-raised:0 4px 8px rgba(0,0,0,0.4),0 12px 28px rgba(0,0,0,0.45);--edge-neutral:0 4px 0 #14100C}}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font:var(--text-body-md);color:var(--text-body);background:var(--bg-app);-webkit-font-smoothing:antialiased}#app{max-width:var(--page-max);margin:0 auto;padding:var(--page-pad) var(--page-pad) 96px;min-height:100%}#app.app-bare{padding:0}h1{font:var(--text-h1);margin-bottom:var(--space-1)}h1,h2{color:var(--text-title)}h2{font:var(--text-h2);margin:var(--space-1) 0 var(--space-3)}h3{font:var(--text-h3);color:var(--text-title);margin-bottom:var(--space-2)}.muted{color:var(--text-muted);font-size:14px}.small{font-size:12px}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px;margin-bottom:14px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.card-header h3{margin-bottom:0}.card-link{font:var(--text-small-strong);color:var(--text-link);text-decoration:none;white-space:nowrap}.bm-slot{margin-bottom:14px;text-align:center;overflow:hidden}.bm-slot-label{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.bm-slot-demo{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:14px;text-align:center;color:var(--muted)}.bm-slot-demo strong{display:block;color:var(--text-title);margin-bottom:4px}.bm-slot-demo small{display:block;font-size:12px}.bm-slot-apoio{background:var(--surface-sunken);border-radius:var(--radius-lg);padding:14px;text-align:center;color:var(--muted)}.bm-slot-apoio strong{display:block;color:var(--text-title);margin-bottom:4px}.bm-slot-apoio small{display:block;font-size:12px}.bm-slot-aviso{display:block;width:100%;border:1px dashed var(--danger);border-radius:var(--radius-lg);padding:14px;text-align:center;background:transparent;font:inherit;cursor:pointer}.bm-slot-aviso strong{display:block;color:var(--danger);margin-bottom:4px}.bm-slot-aviso small{display:block;font-size:12px;color:var(--muted)}button{font:600 15px/1 var(--font-body);cursor:pointer;border:none;border-radius:var(--radius-md);padding:13px 20px;min-height:48px;background:var(--brand-500);color:var(--text-on-brand);box-shadow:var(--edge-brand);display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--dur-fast),box-shadow var(--dur-fast),background var(--dur-fast)}button:enabled:hover{background:var(--brand-600)}button:enabled:active{transform:translateY(4px);box-shadow:none}button:focus-visible{outline:none;box-shadow:var(--edge-brand),var(--focus-ring)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button svg{vertical-align:-3px;flex-shrink:0}.btn-secondary{background:var(--surface-card);color:var(--text-brand);border:2px solid var(--border-strong);box-shadow:var(--edge-neutral)}.btn-secondary:enabled:hover{background:var(--surface-sunken)}.btn-secondary:focus-visible{box-shadow:var(--edge-neutral),var(--focus-ring)}.btn-danger{background:var(--red-500);color:#fff;box-shadow:var(--edge-danger)}.btn-danger:hover{background:var(--red-600)}.btn-danger:focus-visible{box-shadow:var(--edge-danger),var(--focus-ring)}.btn-ghost{background:transparent;color:var(--text-brand);box-shadow:none}.btn-ghost:hover{background:var(--surface-sunken)}.btn-ghost:active{transform:none}.btn-ghost:focus-visible{box-shadow:var(--focus-ring)}.btn-small{padding:8px 14px;min-height:40px;font-size:14px}.btn-block{width:100%}.btn-lg{font:700 17px/1 var(--font-display);padding:18px 28px;min-height:56px}label{display:block;font:var(--text-small-strong);color:var(--text-title);margin:12px 0 6px}input,select,textarea{font:var(--text-body-md);width:100%;padding:11px 14px;min-height:48px;border:2px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-title);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:var(--focus-ring)}nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface-card);border-top:1px solid var(--border-default);box-shadow:0 -4px 16px rgba(34,27,20,.06);display:flex;justify-content:center;z-index:10;padding-bottom:env(safe-area-inset-bottom)}nav .nav-inner{display:flex;width:100%;max-width:var(--page-max);padding:6px 8px}nav a{flex:1 1;background:none;color:var(--text-muted);border-radius:0;padding:6px 0;min-height:52px;font:var(--text-caption);flex-direction:column;gap:2px;text-decoration:none}nav a,nav a .nav-icon{display:flex;align-items:center}nav a .nav-icon{justify-content:center;padding:5px 16px;border-radius:var(--radius-pill);transition:background var(--dur-fast),color var(--dur-fast)}nav a.active{color:var(--text-brand);font-weight:700}nav a.active .nav-icon{background:var(--surface-brand-soft);color:var(--text-brand)}.streak-card{display:flex;align-items:center;gap:16px;position:relative}.streak-flame{font-size:34px;line-height:1;filter:grayscale(1) opacity(.45)}.streak-flame.lit{filter:none}.streak-flame-box{display:flex;flex-direction:column;align-items:center;gap:2px}.streak-num{font:var(--text-stat);font-size:26px;color:var(--flame-hot)}.streak-lbl{font:var(--text-small-strong);color:var(--text-muted)}.streak-record{position:absolute;top:12px;right:14px;font:var(--text-caption);color:var(--text-muted)}.week-dots{display:flex;gap:8px;margin-top:8px}.week-dot{width:26px;height:26px;border-radius:var(--radius-pill);background:var(--surface-sunken);border:2px solid var(--border-default);color:var(--text-muted);font:var(--text-caption);font-weight:700;display:flex;align-items:center;justify-content:center}.week-dot.done{background:var(--flame-hot);border-color:transparent;color:#fff}.week-dot.today{box-shadow:0 0 0 2px var(--brand-500)}.phase-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:14px}.phase-banner .phase-emoji{font-size:26px;line-height:1.2}.phase-banner h3{margin:0;color:var(--text-title)}.phase-banner .muted{color:var(--text-muted)}.phase-body{flex:1 1;min-width:0;display:flex;flex-direction:column}.phase-heading{display:flex;gap:8px;align-items:baseline}.phase-heading strong{font:var(--text-h3)}.phase-day{font:var(--text-caption);color:var(--text-muted)}.phase-summary{margin-top:2px}.phase-summary,.phase-tip{font:var(--text-small);color:var(--text-body)}.phase-tip{margin-top:6px}.phase-banner>svg{flex-shrink:0;margin-top:4px}.cycle-bar{display:flex;height:14px;border-radius:var(--radius-pill);overflow:hidden;margin:12px 0 4px;position:relative}.cycle-bar .seg{height:100%;padding:0;min-height:0;border-radius:0;color:inherit;box-shadow:none;transition:opacity var(--dur-fast)}.cycle-bar button.seg{cursor:pointer}.cycle-bar button.seg:active{transform:none;box-shadow:none}.cycle-bar .seg.seg-active{box-shadow:inset 0 0 0 2px var(--text-title)}.bar-tooltip{margin-top:10px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:10px 12px}.bar-tooltip b{display:block;margin-bottom:6px;color:var(--text-title)}.bar-tooltip-item{font-size:14px;color:var(--text-muted);margin-bottom:4px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px}.stat-box{background:var(--surface-sunken);border-radius:var(--radius-md);padding:12px;text-align:center}.stat-num{font:var(--text-stat);font-size:26px;color:var(--text-brand)}.stat-lbl{font:var(--text-caption);color:var(--text-muted);margin-top:2px}.history-list{list-style:none;margin-top:6px}.history-list li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-default)}.history-list li:last-child{border-bottom:none}.history-date{font-weight:700;font-size:14px;color:var(--text-title)}.cycle-marker{position:absolute;top:-4px;width:4px;height:22px;background:var(--text-title);border-radius:2px;transform:translateX(-2px)}.cycle-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}.cycle-legend span{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border-radius:var(--radius-pill);display:inline-block}ul.tips{padding-left:18px}ul.tips li{margin-bottom:6px;font-size:14px}.alert,ul.tips li{color:var(--text-body)}.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-lg);margin-bottom:10px;font:var(--text-small)}.alert-info{background:var(--info-bg)}.alert-success{background:var(--success-bg)}.alert-warning{background:var(--warning-bg)}.alert-danger{background:var(--danger-bg)}.mission{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-default)}.mission:last-child{border-bottom:none}.mission input[type=checkbox]{width:22px;height:22px;min-height:0;flex-shrink:0;margin-top:2px;accent-color:var(--brand-500)}.mission.done .mission-text{text-decoration:line-through;color:var(--text-muted)}.mission-text{font-size:15px;color:var(--text-body)}.mission-tag{display:inline-block;font:var(--text-caption);font-weight:700;padding:2px 10px;background:var(--surface-brand-soft);color:var(--text-brand);margin-bottom:4px}.mission-tag,.quiz-progress{border-radius:var(--radius-pill)}.quiz-progress{height:12px;background:var(--surface-sunken);overflow:hidden;margin:10px 0 18px}.quiz-progress .fill{height:100%;background:var(--brand-500);border-radius:var(--radius-pill);transition:width var(--dur-celebrate) var(--ease-out)}.quiz-option{display:block;width:100%;text-align:left;background:var(--surface-card);color:var(--text-title);border:2px solid var(--border-default);border-radius:var(--radius-md);padding:14px;margin-bottom:10px;font:var(--text-body-strong);box-shadow:none;transition:border-color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast)}.quiz-option:hover{border-color:var(--brand-500);background:var(--surface-brand-soft)}.quiz-option:active{transform:scale(.98);box-shadow:none}.dialect-option{display:flex;gap:10px;align-items:flex-start;background:var(--surface-card);border:2px solid var(--border-default);border-radius:var(--radius-md);padding:12px;margin-bottom:10px;cursor:pointer}.dialect-option.selected{border-color:var(--brand-500);background:var(--surface-brand-soft)}.dialect-option input{width:20px;height:20px;min-height:0;margin-top:2px;accent-color:var(--brand-500)}.lang-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.lang-bar-label{width:92px;font-size:13px;font-weight:600;color:var(--text-body);flex-shrink:0}.lang-bar-track{flex:1 1;height:12px;background:var(--surface-sunken);overflow:hidden}.lang-bar-fill,.lang-bar-track{border-radius:var(--radius-pill)}.lang-bar-fill{height:100%;background:var(--brand-500)}.lang-bar-score{width:20px;text-align:right;font-size:13px}.badge,.lang-bar-score{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:var(--radius-pill);font:var(--text-caption);font-weight:700;background:var(--surface-sunken);margin:0 6px 6px 0;white-space:nowrap}.badge-gold{background:var(--gold-100);color:var(--gold-600)}.badge-palavras{background:color-mix(in oklab,var(--ling-palavras) 14%,var(--surface-card));color:var(--ling-palavras)}.badge-tempo{background:color-mix(in oklab,var(--ling-tempo) 14%,var(--surface-card));color:var(--ling-tempo)}.badge-presentes{background:color-mix(in oklab,var(--ling-presentes) 16%,var(--surface-card));color:var(--ling-presentes)}.badge-servico{background:color-mix(in oklab,var(--ling-servico) 14%,var(--surface-card));color:var(--ling-servico)}.badge-toque{background:color-mix(in oklab,var(--ling-toque) 14%,var(--surface-card));color:var(--ling-toque)}.love-badges{display:flex;gap:6px;flex-wrap:wrap}.love-badges .badge{margin:0}.health-gauge{display:flex;align-items:center;gap:14px}.health-ring{width:74px;height:74px;flex-shrink:0}.health-ring,.health-ring .inner{border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center}.health-ring .inner{width:58px;height:58px;background:var(--surface-card);font:var(--text-h3);color:var(--text-title)}.rating-row{display:flex;gap:6px;margin:8px 0}.rating-row button{background:none;color:var(--gold-500);min-height:0;font-size:24px;padding:2px;box-shadow:none;filter:grayscale(1) opacity(.45);transition:transform var(--dur-fast) var(--ease-pop),filter var(--dur-fast)}.rating-row button:hover{background:none;transform:scale(1.15)}.rating-row button:active{transform:scale(1.15);box-shadow:none}.rating-row button.on{filter:none}.log-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-default);font-size:14px;color:var(--text-body)}.log-item:last-child{border-bottom:none}.log-del{background:none;color:var(--text-muted);min-height:0;font-size:16px;padding:6px;box-shadow:none}.log-del:hover{background:var(--surface-sunken);color:var(--danger)}.log-del:active{transform:scale(.9);box-shadow:none}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-nav{background:var(--surface-brand-soft);color:var(--text-brand);min-height:40px;padding:8px 14px;box-shadow:none}.cal-nav:hover{background:var(--brand-100)}.cal-nav:active{transform:none;box-shadow:none}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-dow{text-align:center;font:var(--text-caption);font-weight:700;color:var(--text-muted);padding:2px 0}.cal-cell{aspect-ratio:1;border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13px;font-weight:400;position:relative;padding:0;background:transparent;color:var(--text-body);box-shadow:none}.cal-cell,button.cal-cell{min-height:40px}button.cal-cell:hover{background:var(--surface-sunken)}button.cal-cell:active{transform:none;box-shadow:none}.cal-cell.selected{outline:2px solid var(--gold-500);outline-offset:1px;z-index:2}.cal-ov-icon{position:absolute;top:1px;right:3px;font-size:12px;line-height:1;color:var(--fase-ovulacao)}.cal-tooltip{margin-top:10px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);padding:10px 12px}.cal-tooltip-list{margin:6px 0 0;padding-left:18px}.cal-tooltip-list li{font-size:14px;margin-bottom:2px;color:var(--text-body)}.legend-dot-today{background:transparent;box-shadow:0 0 0 2px var(--brand-500)}.cal-cell.fertile{background:var(--fase-folicular-bg)}.cal-cell.ov{background:var(--fase-ovulacao-bg);font-weight:800;box-shadow:inset 0 0 0 1.5px var(--fase-ovulacao)}.cal-cell.period{background:var(--fase-menstruacao-bg);color:var(--fase-menstruacao);font-weight:700}.cal-cell.predicted{box-shadow:inset 0 0 0 1.5px var(--fase-menstruacao);color:var(--fase-menstruacao)}.cal-cell.today{outline:2px solid var(--brand-500);outline-offset:1px;z-index:1}.cal-dot{position:absolute;bottom:3px;width:6px;height:6px;border-radius:var(--radius-pill);background:var(--brand-500)}.preg-row{display:flex;align-items:center;gap:14px}.preg-pct{font:var(--text-stat);font-size:34px}details.secret{border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px;margin-bottom:8px;background:var(--surface-card)}details.secret summary{cursor:pointer;font:var(--text-body-strong);color:var(--text-title)}details.secret p{margin-top:8px;font-size:14px;color:var(--text-muted)}.msg-box{background:var(--surface-sunken);border-radius:var(--radius-lg);padding:12px 14px;font-size:15px;font-style:italic;color:var(--text-body);margin-bottom:10px}.action-log{max-height:320px;overflow-y:auto}.action-log .log-item{align-items:flex-start;gap:8px}.action-log .log-when{color:var(--text-muted);font-size:12px;white-space:nowrap;padding-top:2px}.toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);background:var(--ink-900);color:#fff;padding:12px 20px;border-radius:var(--radius-pill);font:var(--text-small-strong);z-index:60;box-shadow:var(--shadow-raised);white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis;animation:toast-in var(--dur-base) var(--ease-pop),toast-out var(--dur-base) var(--ease-out) 2s forwards;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px) scale(.95)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,12px) scale(.95)}}.modal-overlay{position:fixed;inset:0;background:rgba(23,17,12,.55);display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in var(--dur-base) var(--ease-out)}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--surface-card);border-radius:var(--radius-xl);padding:30px 26px 24px;text-align:center;max-width:340px;margin:16px;position:relative;overflow:hidden;box-shadow:var(--shadow-raised);animation:pop-in var(--dur-celebrate) var(--ease-pop)}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}}.modal .trophy{font-size:64px;display:inline-block;animation:trophy-bounce .9s ease-in-out infinite alternate}@keyframes trophy-bounce{0%{transform:translateY(0) rotate(-4deg)}to{transform:translateY(-10px) rotate(4deg)}}.modal .confetti span{position:absolute;top:-12%;font-size:20px;animation:confetti-fall 2.4s linear infinite}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(340px) rotate(320deg);opacity:0}}.modal h2{margin:10px 0 6px;font:var(--text-h1);color:var(--text-title)}.modal .streak-line{font:var(--text-body-strong);color:var(--flame-hot);margin-bottom:14px}.fab-feedback{position:fixed;bottom:calc(78px + env(safe-area-inset-bottom));right:max(var(--page-pad),calc(50vw - var(--page-max) / 2 + var(--page-pad)));width:52px;height:52px;min-height:52px;padding:0;border-radius:var(--radius-pill);background:var(--brand-500);color:var(--text-on-brand);box-shadow:var(--shadow-raised);z-index:40;animation:fab-in var(--dur-celebrate) var(--ease-pop)}.fab-feedback:enabled:hover{background:var(--brand-600)}.fab-feedback:enabled:active{transform:scale(.94)}.fab-feedback:focus-visible{outline:none;box-shadow:var(--shadow-raised),var(--focus-ring)}@keyframes fab-in{0%{opacity:0;transform:scale(.4)}}.fb-modal{text-align:left;max-width:400px;width:calc(100% - 32px);padding:22px 22px 20px;overflow:visible}.fb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.fb-head h3{margin:0;font:var(--text-h2);color:var(--text-title)}.fb-close{min-height:36px;padding:6px;margin:-6px -6px 0 0}.fb-field{margin-top:16px}.fb-label{display:block;font:var(--text-small-strong);color:var(--text-title);margin:0 0 8px}.fb-stars{display:flex;gap:6px}.fb-star{background:none;color:var(--border-strong);box-shadow:none;padding:4px;min-height:0;border-radius:var(--radius-sm);transition:color var(--dur-fast),transform var(--dur-fast)}.fb-star.is-on{color:var(--gold-500)}.fb-star:enabled:hover{transform:scale(1.12)}.fb-star:enabled:active{transform:scale(.92)}.fb-star:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fb-stars-hint{display:inline-block;margin-top:6px;font:var(--text-caption);color:var(--text-muted)}.fb-chips{display:flex;flex-wrap:wrap;gap:8px}.fb-chip{background:var(--surface-sunken);color:var(--text-body);box-shadow:none;border:2px solid var(--border-default);border-radius:var(--radius-pill);padding:8px 14px;min-height:40px;font:var(--text-small-strong)}.fb-chip:enabled:hover{background:var(--surface-card)}.fb-chip:enabled:active{transform:none}.fb-chip.is-on{background:var(--surface-brand-soft);color:var(--text-brand);border-color:var(--brand-400)}.fb-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.fb-textarea{resize:vertical;min-height:84px}.fb-error{margin-top:12px;font:var(--text-small);color:var(--danger)}.fb-modal .btn-block{margin-top:20px}.fb-thanks{text-align:center;padding:6px 4px}.fb-thanks h2{margin:14px 0 6px;font:var(--text-h1);color:var(--text-title)}.fb-thanks .btn-block{margin-top:18px}.fb-check{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success);animation:fb-check-pop var(--dur-celebrate) var(--ease-pop)}.fb-check svg{animation:fb-check-draw .5s var(--ease-out) .1s both}@keyframes fb-check-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}@keyframes fb-check-draw{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.fab-feedback,.fb-check,.fb-check svg{animation:none}}.row-menu{position:relative;display:inline-flex}.row-menu-pop{position:absolute;right:0;top:calc(100% + 2px);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);z-index:50;min-width:140px;overflow:hidden;padding:4px}.row-menu-pop button{display:flex;align-items:center;gap:8px;width:100%;background:none;box-shadow:none;min-height:0;padding:10px 12px;color:var(--text-body);font:var(--text-small-strong);border-radius:var(--radius-sm);text-align:left}.row-menu-pop button:active,.row-menu-pop button:hover{background:var(--surface-sunken);box-shadow:none}.row-menu-pop button.danger{color:var(--danger)}.dialog-card{text-align:left;width:min(92vw,380px)}.dialog-card h3{margin-bottom:10px}.row{display:flex;gap:10px}.row>*{flex:1 1}.center{text-align:center}.mt{margin-top:14px}.mb{margin-bottom:14px}.spacer{height:8px}.app-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.app-header .logo{font:var(--text-h2);color:var(--text-title)}.app-header .logo span{color:var(--text-brand)}.splash-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:50vh;animation:fade-in var(--dur-base) var(--ease-out)}.splash-spinner{width:36px;height:36px;border-radius:var(--radius-pill);border:3px solid var(--border-default);border-top-color:var(--brand-500);animation:splash-spin .8s linear infinite}.splash-loading-label{font:var(--text-body-md);color:var(--text-muted)}@keyframes splash-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.splash-spinner{animation-duration:1.6s}}.home-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.home-date{font:700 10px/1.3 var(--font-display);letter-spacing:var(--letter-overline);text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.home-greeting{font:var(--text-h1);color:var(--text-title);margin:0}.home-header .logo{font:var(--text-h3);color:var(--text-title);padding-top:2px}.home-header .logo span{color:var(--text-brand)}details.section{margin-bottom:10px}details.section summary{cursor:pointer;font:var(--text-body-strong);color:var(--text-title);padding:8px 0}.hero-mission{background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-title);border-radius:var(--radius-xl);padding:20px;margin-bottom:14px;box-shadow:var(--shadow-raised);display:flex;flex-direction:column;gap:14px}.hero-mission .hero-label{font:var(--text-overline);letter-spacing:var(--letter-overline);text-transform:uppercase;color:var(--text-brand)}.hero-mission .hero-text{font:var(--text-h2);color:var(--text-title);margin:0;text-wrap:pretty}.hero-badges{display:flex;gap:6px;flex-wrap:wrap}.hero-badges .badge{margin:0}.hero-partner{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:10px 12px}.hero-partner-row{display:flex;align-items:flex-start;gap:8px}.hero-partner-body{flex:1 1;min-width:0}.hero-partner-title{font:var(--text-small);font-weight:600;color:var(--text-title);margin-bottom:2px}.hero-partner-text{font:var(--text-small);color:var(--text-muted);margin:0 0 4px;text-wrap:pretty}.hero-partner-link{display:inline-block;font:var(--text-small);font-weight:600;color:var(--text-brand);text-decoration:none}.hero-partner-link:hover{text-decoration:underline}.hero-partner-meta{margin-top:4px;font-size:10px;color:var(--text-muted);opacity:.75}.banner-carousel{margin-bottom:var(--space-4)}.banner-carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:var(--radius-lg);scrollbar-width:none;-ms-overflow-style:none}.banner-carousel-track::-webkit-scrollbar{display:none}.banner-carousel-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface-sunken);box-shadow:var(--shadow-card)}.banner-carousel-img{display:block;width:100%;aspect-ratio:3/1;object-fit:cover}.banner-carousel-badge{position:absolute;left:var(--space-2);bottom:var(--space-2);padding:3px 8px;border-radius:var(--radius-pill);background:color-mix(in oklab,var(--ink-900) 55%,transparent);color:var(--text-on-brand);font:var(--text-caption);font-size:10px;letter-spacing:.02em}.banner-carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:var(--space-2)}.banner-carousel-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--border-strong);transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}.banner-carousel-dot-active{background:var(--brand-500);transform:scale(1.3)}.banner-carousel-progress{width:100%;height:3px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.banner-carousel-progress-fill{width:100%;height:100%;border-radius:inherit;background:var(--brand-500);transform:scaleX(0);transform-origin:left;animation-name:banner-progress-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes banner-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.banner-carousel-progress-fill{animation:none;transform:scaleX(0)}}.hero-actions{display:flex;gap:10px}.hero-actions button{font-size:14px;padding:12px 10px;min-height:48px}.hero-actions .hero-done{flex:1.6 1}.hero-actions .hero-swap{flex:1 1;background:var(--surface-card);color:var(--text-brand);border:2px solid var(--border-strong);box-shadow:var(--edge-neutral)}.hero-actions .hero-swap:enabled:hover{background:var(--surface-sunken)}.hero-actions .hero-swap:focus-visible{box-shadow:var(--edge-neutral),var(--focus-ring)}.subtabs{display:flex;gap:4px;margin-bottom:14px;padding:4px;background:var(--surface-sunken);border-radius:var(--radius-md);overflow-x:auto}.subtabs button{flex-shrink:0;color:var(--text-muted);min-height:40px;border-radius:12px;padding:10px 14px;font:var(--text-small);box-shadow:none}.subtabs button,.subtabs button:hover{background:transparent}.subtabs button:active{transform:none;box-shadow:none}.subtabs button.active{background:var(--surface-card);color:var(--text-title);font-weight:600;box-shadow:var(--shadow-card)}.theme-picker{display:flex;gap:4px;padding:4px;background:var(--surface-sunken);border-radius:var(--radius-md)}.theme-picker button{flex:1 1;color:var(--text-muted);min-height:40px;border-radius:12px;padding:10px 6px;font:var(--text-small);box-shadow:none}.theme-picker button,.theme-picker button:hover{background:transparent}.theme-picker button:active{transform:none;box-shadow:none}.theme-picker button.active{background:var(--surface-card);color:var(--text-title);font-weight:600;box-shadow:var(--shadow-card)}.effort-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border-default)}.effort-row:last-child{border-bottom:none}.effort-day{width:34px;flex-shrink:0;font-size:13px;font-weight:700;color:var(--text-muted)}.effort-picker{display:flex;gap:4px;flex:1 1;padding:4px;background:var(--surface-sunken);border-radius:var(--radius-md)}.effort-picker button{flex:1 1;color:var(--text-muted);min-height:40px;border-radius:12px;padding:8px 4px;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:none}.effort-picker button,.effort-picker button:hover{background:transparent}.effort-picker button:active{transform:none;box-shadow:none}.effort-picker button.active{background:var(--surface-card);color:var(--text-title);box-shadow:var(--shadow-card)}.ob-wrap{display:flex;flex-direction:column;gap:20px;padding:28px 20px;min-height:100%}.ob-dots{display:flex;gap:6px;justify-content:center}.ob-dot{width:10px;height:10px;border-radius:999px;background:var(--ink-300);transition:all var(--dur-base) var(--ease-pop)}.ob-dot.is-active{background:var(--brand-500)}.ob-dot.is-current{width:28px}.ob-logo{font:800 26px/1 var(--font-display);color:var(--text-title);text-align:center}.ob-logo span{color:var(--brand-500)}.ob-title{font:var(--text-h1);color:var(--text-title);text-wrap:balance}.ob-lead,.ob-title{margin:0;text-align:center}.ob-lead{font:var(--text-body-md)}.ob-field{display:flex;flex-direction:column;gap:6px;margin:0}.ob-label{font:var(--text-small-strong);color:var(--text-title)}.ob-alert{display:flex;gap:12px;align-items:flex-start;background:var(--info-bg);border-radius:var(--radius-lg);padding:14px 16px}.ob-alert-icon{width:26px;height:26px;border-radius:999px;flex-shrink:0;background:var(--info);color:#fff;display:flex;align-items:center;justify-content:center;font:800 14px/1 var(--font-display)}.ob-alert-body{display:flex;flex-direction:column;gap:2px;min-width:0}.ob-alert-body strong{font:var(--text-small-strong);color:var(--info)}.ob-alert-body span{font:var(--text-small);color:var(--text-body)}.ob-emoji{font-size:52px;text-align:center}.ob-phase{display:flex;align-items:center;gap:12px;border-radius:var(--radius-lg);padding:12px 16px}.ob-phase-emoji{font-size:26px}.ob-phase-body{flex:1 1;min-width:0;display:flex;flex-direction:column}.ob-phase-heading{display:flex;gap:8px;align-items:baseline}.ob-phase-heading strong{font:var(--text-h3)}.ob-phase-day{font:var(--text-caption);color:var(--text-muted)}.ob-phase-summary{display:block;font:var(--text-small);color:var(--text-body);margin-top:2px}.ob-mission{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-raised);padding:20px;display:flex;flex-direction:column;gap:14px}.ob-mission-overline{font:var(--text-overline);letter-spacing:var(--letter-overline);color:var(--text-brand)}.ob-mission-text{margin:0;font:var(--text-h2);color:var(--text-title);text-wrap:pretty}.ob-badges{display:flex;gap:6px;flex-wrap:wrap}.ob-badge{font:var(--text-caption);font-weight:700;border-radius:var(--radius-pill);padding:5px 12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.ob-badge-neutral{background:var(--surface-sunken);color:var(--text-muted)}.ob-badge-lang-palavras{background:color-mix(in oklab,var(--ling-palavras) 14%,var(--surface-card));color:var(--ling-palavras)}.ob-badge-lang-tempo{background:color-mix(in oklab,var(--ling-tempo) 14%,var(--surface-card));color:var(--ling-tempo)}.ob-badge-lang-presentes{background:color-mix(in oklab,var(--ling-presentes) 16%,var(--surface-card));color:var(--ling-presentes)}.ob-badge-lang-servico{background:color-mix(in oklab,var(--ling-servico) 14%,var(--surface-card));color:var(--ling-servico)}.ob-badge-lang-toque{background:color-mix(in oklab,var(--ling-toque) 14%,var(--surface-card));color:var(--ling-toque)}.retro-card{width:100%;display:flex;align-items:center;gap:12px;background:var(--brand-500);color:#fff;border-radius:var(--radius-lg);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-card);text-align:left}.retro-card:enabled:hover{background:var(--brand-600)}.retro-card:enabled:active{transform:scale(.99);box-shadow:var(--shadow-card)}.retro-card:focus-visible{box-shadow:var(--shadow-card),var(--focus-ring)}.retro-icon{font-size:24px;flex-shrink:0}.retro-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.retro-body strong{font:var(--text-h3);color:#fff}.retro-body span{font:var(--text-small);opacity:.85}.retro-card>svg{flex-shrink:0;opacity:.8}.special-date-card{width:100%;display:flex;align-items:center;gap:12px;background:var(--warning-bg);color:var(--warning);border-radius:var(--radius-lg);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-card);text-align:left;text-decoration:none}.special-date-card:hover{filter:brightness(.97)}.special-date-card:focus-visible{box-shadow:var(--shadow-card),var(--focus-ring)}.special-date-icon{font-size:24px;flex-shrink:0}.special-date-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.special-date-body strong{font:var(--text-h3);color:inherit}.special-date-body span{font:var(--text-small);opacity:.85}.special-date-plan{display:inline-flex;align-items:center;gap:2px;font:var(--text-small);font-weight:700;flex-shrink:0}.install-banner{display:flex;align-items:center;gap:12px;background:var(--surface-brand-soft);border-radius:var(--radius-lg);padding:12px 14px;margin-bottom:14px}.install-banner .txt{flex:1 1;font-size:14px;color:var(--text-body)}.week-celebration{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--brand-500) 45%,var(--brand-900)),var(--brand-900) 75%);animation:fade-in var(--dur-base) var(--ease-out);overflow:hidden}.wc-burst{position:absolute;top:34%;left:50%;pointer-events:none}.wc-burst i{position:absolute;width:9px;height:15px;border-radius:3px;opacity:0;transform:rotate(var(--a)) translateY(0);animation:wc-burst 1.5s cubic-bezier(.15,.75,.35,1) forwards}.wc-burst i:nth-child(5n+1){background:var(--flame-hot)}.wc-burst i:nth-child(5n+2){background:var(--flame-core)}.wc-burst i:nth-child(5n+3){background:#fff}.wc-burst i:nth-child(5n+4){background:var(--success)}.wc-burst i:nth-child(5n+5){background:var(--danger)}@keyframes wc-burst{0%{transform:rotate(var(--a)) translateY(0) scale(1);opacity:0}12%{opacity:1}to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(.35) rotate(160deg);opacity:0}}.wc-rays{position:absolute;top:34%;left:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:var(--radius-pill);background:repeating-conic-gradient(rgba(255,255,255,.14) 0 9deg,transparent 9deg 24deg);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%);animation:wc-ray-spin 16s linear infinite,wc-pop .7s var(--ease-pop) .15s backwards;pointer-events:none}@keyframes wc-ray-spin{to{transform:rotate(1turn)}}.wc-badge{position:relative;animation:wc-pop .7s var(--ease-pop) .25s backwards}@keyframes wc-pop{0%{opacity:0;transform:scale(.2)}}.wc-flame{font-size:100px;line-height:1;display:inline-block;filter:drop-shadow(0 6px 22px rgba(244,154,28,.55));animation:wc-float 1.6s ease-in-out infinite alternate}@keyframes wc-float{0%{transform:translateY(0) scale(1)}to{transform:translateY(-8px) scale(1.05)}}.wc-badge-num{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);min-width:44px;padding:2px 10px;border-radius:var(--radius-pill);background:#fff;color:var(--flame-hot);font:900 21px/1 var(--font-display);box-shadow:0 4px 14px rgba(0,0,0,.4)}.wc-days{display:flex;gap:10px;margin-top:26px}.wc-day{flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:rgba(255,255,255,.75);opacity:0;animation:wc-day-in .45s var(--ease-pop) forwards}.wc-day,.wc-day b{display:flex;align-items:center}.wc-day b{width:32px;height:32px;border-radius:var(--radius-pill);background:var(--flame-hot);color:#fff;justify-content:center;font:700 15px/1 var(--font-display);box-shadow:0 3px 10px rgba(0,0,0,.35)}@keyframes wc-day-in{0%{opacity:0;transform:scale(0) translateY(12px)}60%{opacity:1;transform:scale(1.3) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}.wc-title{margin-top:22px;font:900 30px/1.1 var(--font-display);background:linear-gradient(100deg,var(--flame-core) 20%,#fff 50%,var(--flame-core) 80%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:wc-pop .5s var(--ease-pop) 2s backwards,wc-shimmer 2.6s linear 2.5s infinite}@keyframes wc-shimmer{to{background-position:-200%}}.wc-streak{font:var(--text-body-strong);font-weight:800;color:var(--flame-core);animation:wc-rise .5s ease-out 2.2s backwards}.wc-phrase{max-width:300px;font-size:14px;color:rgba(255,255,255,.82);margin-top:6px;animation:wc-rise .5s ease-out 2.4s backwards}@keyframes wc-rise{0%{opacity:0;transform:translateY(16px)}}.wc-button{margin-top:26px;width:min(320px,100%);padding:13px 16px;color:var(--brand-600);font-weight:800;font-size:16px;box-shadow:var(--shadow-raised);animation:wc-rise .5s ease-out 2.6s backwards}.wc-button,.wc-button:hover{background:#fff}.wc-button:active{transform:scale(.97);box-shadow:var(--shadow-card)}@media (prefers-reduced-motion:reduce){.week-celebration,.week-celebration *{animation:none!important}.wc-burst i,.wc-day{opacity:1}.wc-burst{display:none}}.ob-wrap form{display:flex;flex-direction:column;gap:20px}.auth-alert-error{background:var(--danger-bg)}.auth-alert-error .ob-alert-icon{background:var(--danger)}.auth-alert-error .ob-alert-body span{color:var(--danger)}.auth-pass{position:relative}.auth-pass input{padding-right:44px}.auth-pass-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);background:none;color:var(--text-muted);min-height:0;padding:8px;box-shadow:none}.auth-pass-toggle:hover{background:none;color:var(--text-body)}.auth-pass-toggle:active{transform:translateY(-50%);box-shadow:none}.auth-pass-toggle:focus-visible{box-shadow:var(--focus-ring)}.auth-footer{text-align:center;font:var(--text-small);color:var(--text-muted)}.auth-link{display:inline;background:none;color:var(--text-link);min-height:0;padding:0;font:var(--text-small-strong);box-shadow:none;vertical-align:baseline}.auth-link:hover{background:none;text-decoration:underline}.auth-link:active{transform:none;box-shadow:none}.auth-link:focus-visible{box-shadow:var(--focus-ring)}.legal-page{min-height:100%;background:var(--bg-app)}.legal-wrap{max-width:640px;margin:0 auto;padding:28px 20px 64px}.legal-back{display:inline-block;color:var(--text-link);font:var(--text-small-strong);text-decoration:none;margin-bottom:var(--space-5)}.legal-back:hover{text-decoration:underline}.legal-wrap .card h2{margin-top:0}.legal-wrap .card h3{margin-top:var(--space-3)}.legal-wrap .card p{margin-bottom:var(--space-2)}.legal-wrap .card p:last-child{margin-bottom:0}