:root{--color-primary: #5f7a6e;--color-primary-light: #7a9e8a;--color-primary-lighter: #96b8a4;--color-accent-green: #8aad82;--color-text: #3a4540;--color-text-heading: #3a5248;--color-text-light: #8a9e94;--color-text-muted: #7a8e84;--font-heading: "Cormorant Garamond", serif;--font-body: "DM Sans", sans-serif;--glass-bg: rgba(255, 255, 255, .68);--glass-border: rgba(255, 255, 255, .8);--glass-blur: blur(12px);--glass-shadow: 0 8px 32px rgba(90, 110, 100, .1);--radius-card: 20px;--radius-btn: 30px;--radius-input: 14px;--bg-gradient: linear-gradient(160deg, #f0ece4 0%, #f4f1eb 40%, #eee9e2 100%);--header-bg: linear-gradient(180deg, rgba(240,236,228,.95) 70%, rgba(240,236,228,0) 100%);--cloud-bg: rgba(255,255,255,.55);--input-bg: rgba(255,255,255,.7);--card-bg: rgba(255,255,255,.62);--modal-bg: rgba(255,255,255,.98);--modal-overlay: rgba(40,70,100,.45);--logo-color: #1a1a1a;--nav-color: #8a9a90;--nav-hover: #5f7a6e;--nav-active: #3a5a48;--nav-active-border: #5f7a6e;--btn-ghost-color: #5f7a6e;--btn-ghost-border: rgba(95,122,110,.4);--btn-ghost-hover: rgba(95,122,110,.08);--btn-soft-bg: rgba(255,255,255,.7);--input-border: rgba(95,122,110,.2);--icon-btn-bg: rgba(255,255,255,.6);--icon-btn-color: #5a7a6a}[data-theme=dark]{--color-primary: #6a9a82;--color-primary-light: #88b89e;--color-primary-lighter: #a0ccb2;--color-accent-green: #98c08e;--color-text: #e0e4e0;--color-text-heading: #d0dcd4;--color-text-light: #8a9e94;--color-text-muted: #c8d0c8;--glass-bg: rgba(30, 35, 30, .75);--glass-border: rgba(80, 100, 85, .4);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--bg-gradient: linear-gradient(160deg, #1a1f1c 0%, #222822 40%, #1e231f 100%);--header-bg: linear-gradient(180deg, rgba(26,31,28,.95) 70%, rgba(26,31,28,0) 100%);--cloud-bg: rgba(40,50,42,.35);--input-bg: rgba(30,38,32,.8);--card-bg: rgba(30,38,32,.65);--modal-bg: rgba(28,34,30,.98);--modal-overlay: rgba(0,0,0,.55);--logo-color: #d8e0d8;--nav-color: #7a9a88;--nav-hover: #88b89e;--nav-active: #a0ccb2;--nav-active-border: #6a9a82;--btn-ghost-color: #88b89e;--btn-ghost-border: rgba(100,140,115,.45);--btn-ghost-hover: rgba(100,140,115,.15);--btn-soft-bg: rgba(30,38,32,.7);--input-border: rgba(80,110,90,.35);--icon-btn-bg: rgba(30,38,32,.6);--icon-btn-color: #88b89e}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-primary: #6a9a82;--color-primary-light: #88b89e;--color-primary-lighter: #a0ccb2;--color-accent-green: #98c08e;--color-text: #e0e4e0;--color-text-heading: #d0dcd4;--color-text-light: #8a9e94;--color-text-muted: #c8d0c8;--glass-bg: rgba(30, 35, 30, .75);--glass-border: rgba(80, 100, 85, .4);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--bg-gradient: linear-gradient(160deg, #1a1f1c 0%, #222822 40%, #1e231f 100%);--header-bg: linear-gradient(180deg, rgba(26,31,28,.95) 70%, rgba(26,31,28,0) 100%);--cloud-bg: rgba(40,50,42,.35);--input-bg: rgba(30,38,32,.8);--card-bg: rgba(30,38,32,.65);--modal-bg: rgba(28,34,30,.98);--modal-overlay: rgba(0,0,0,.55);--logo-color: #d8e0d8;--nav-color: #7a9a88;--nav-hover: #88b89e;--nav-active: #a0ccb2;--nav-active-border: #6a9a82;--btn-ghost-color: #88b89e;--btn-ghost-border: rgba(100,140,115,.45);--btn-ghost-hover: rgba(100,140,115,.15);--btn-soft-bg: rgba(30,38,32,.7);--input-border: rgba(80,110,90,.35);--icon-btn-bg: rgba(30,38,32,.6);--icon-btn-color: #88b89e}}*:focus-visible{outline:2px solid #72d4a0;outline-offset:2px;border-radius:4px}*:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;text-align:center;animation:fadeUp .4s ease}.empty-state-icon{font-size:2.2rem;opacity:.7;animation:float 3s ease-in-out infinite}.empty-state-text{font-size:.82rem;color:#9aaa98;line-height:1.6;max-width:280px;font-style:italic}.btn-ch-share{background:linear-gradient(135deg,#5fa3a0,#8aad82);color:#fff;border:none;border-radius:18px;padding:8px 18px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;letter-spacing:.03em;box-shadow:0 2px 10px #5fa3a040;transition:all .2s}.btn-ch-share:hover{transform:translateY(-1px);box-shadow:0 4px 14px #5fa3a059}.btn-ch-share:active{transform:scale(.97)}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:var(--modal-overlay, rgba(40,70,100,.45));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:fadeUp .3s ease}.onboarding-card{position:relative;background:var(--modal-bg, rgba(255,255,255,.98));border-radius:24px;padding:40px 30px 28px;max-width:380px;width:90%;text-align:center;box-shadow:0 12px 48px #00000026;overflow:hidden}.onboarding-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.1rem;color:var(--color-text-light);cursor:pointer}.onboarding-slides-track{position:relative;height:200px;overflow:hidden}.onboarding-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .4s ease,opacity .4s ease}.onboarding-icon{font-size:3rem;margin-bottom:16px}.onboarding-title{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--color-text-heading);margin-bottom:10px}.onboarding-text{font-size:.88rem;color:var(--color-text-light);line-height:1.6;max-width:300px}.onboarding-dots{display:flex;justify-content:center;gap:8px;margin:18px 0}.onboarding-dot{width:8px;height:8px;border-radius:50%;background:#8ca0964d;cursor:pointer;transition:all .2s}.onboarding-dot.active{background:var(--color-primary);transform:scale(1.3)}.onboarding-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-accent-green));color:#fff;border:none;border-radius:22px;padding:12px 36px;font-size:.9rem;font-weight:600;cursor:pointer;letter-spacing:.03em;box-shadow:0 4px 16px #5f7a6e4d;transition:all .2s}.onboarding-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #5f7a6e66}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;background:var(--modal-overlay, rgba(40,70,100,.45));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fadeUp .2s ease}.confirm-card{background:var(--modal-bg, rgba(255,255,255,.98));border-radius:20px;padding:28px 24px 20px;max-width:340px;width:88%;box-shadow:0 10px 40px #00000026}.confirm-title{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-text-heading);margin-bottom:8px}.confirm-msg{font-size:.84rem;color:var(--color-text-light);line-height:1.5;margin-bottom:20px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-btn{padding:9px 20px;border-radius:16px;font-size:.82rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;font-family:inherit}.confirm-btn.cancel{background:#8ca0961f;color:var(--color-text-muted)}.confirm-btn.cancel:hover{background:#8ca09638}.confirm-btn:not(.cancel):not(.danger){background:linear-gradient(135deg,var(--color-primary),var(--color-accent-green));color:#fff}.confirm-btn.danger{background:linear-gradient(135deg,#c06060,#d07070);color:#fff}.confirm-btn.danger:hover{box-shadow:0 3px 12px #c060604d}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:998;background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--glass-border);padding:6px 0 env(safe-area-inset-bottom,8px);box-shadow:0 -2px 16px #0000000f}@media (max-width: 768px){.bottom-nav{display:flex;justify-content:space-around;align-items:stretch}#main-nav{display:none!important}.app-wrapper{padding-bottom:72px}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;background:none;border:none;cursor:pointer;color:var(--nav-color);font-family:inherit;font-size:.62rem;transition:all .2s;flex:1}.bottom-nav-item .bottom-nav-icon{font-size:1.3rem;transition:transform .2s}.bottom-nav-item.active{color:var(--nav-active)}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.15)}.bottom-nav-more-wrapper{position:relative;flex:1;display:flex}.bottom-nav-more-popup{position:absolute;bottom:100%;right:0;background:var(--modal-bg, #fff);border-radius:16px;box-shadow:0 6px 24px #0000001f;padding:8px;min-width:160px;margin-bottom:8px;animation:fadeUp .2s ease}.bottom-nav-more-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:none;border:none;cursor:pointer;color:var(--color-text);font-size:.82rem;font-family:inherit;width:100%;transition:background .15s}.bottom-nav-more-item:hover{background:#8ca09614}.bottom-nav-more-item.active{color:var(--nav-active);font-weight:600}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;font-weight:400;background:var(--bg-gradient);min-height:100vh;color:var(--color-text);overflow-x:hidden}.cloud-layer{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.cloud{position:absolute;background:var(--cloud-bg);border-radius:50px;filter:blur(18px);animation:driftCloud linear infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.c1{width:180px;height:60px;top:8%;animation-duration:55s;animation-delay:0s}.c2{width:260px;height:80px;top:18%;animation-duration:70s;animation-delay:8s}.c3{width:140px;height:45px;top:35%;animation-duration:48s;animation-delay:3s}.c4{width:320px;height:90px;top:55%;animation-duration:80s;animation-delay:15s}.c5{width:200px;height:65px;top:72%;animation-duration:62s;animation-delay:22s}.c6{width:150px;height:50px;top:85%;animation-duration:50s;animation-delay:30s}#root{position:relative;z-index:1}.app-wrapper{max-width:900px;margin:0 auto;padding:0 20px 80px}header{text-align:center;padding:52px 20px 24px;position:sticky;top:0;z-index:100;background:var(--header-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:900px;margin:0 auto}.logo{font-family:Bodoni Moda,Cormorant Garamond,serif;font-size:clamp(2.2rem,7vw,3.6rem);font-weight:500;letter-spacing:.06em;color:var(--logo-color);line-height:1.1;text-transform:uppercase}.tagline{font-family:DM Sans,sans-serif;font-weight:400;font-size:.72rem;letter-spacing:.35em;color:var(--logo-color);margin-top:6px;text-transform:uppercase}nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px;margin-top:16px;padding:0 12px 6px}.nav-btn{font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:400;letter-spacing:.03em;text-transform:uppercase;padding:5px 4px;border:none;border-radius:0;background:transparent;color:var(--nav-color);cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.nav-btn:hover{color:var(--nav-hover)}.nav-btn.active{color:var(--nav-active);font-weight:600;border-bottom-color:var(--nav-active-border)}.page{display:none;animation:fadeUp .4s ease}.page.active{display:block}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-card);box-shadow:var(--glass-shadow)}.card{padding:28px 30px;margin-bottom:22px}.section-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.4rem,4vw,2rem);font-weight:500;color:var(--color-text-heading);margin:36px 0 18px;padding-top:12px}.section-title span{color:var(--color-text-light)}.collapsible-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 0}.collapsible-header .section-title{margin-bottom:0}.collapsible-arrow{font-size:1.1rem;color:var(--color-text-light, #8a9e94);transition:transform .25s ease}.btn{display:inline-block;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;padding:10px 22px;border-radius:30px;border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#7a9e8a,#96b8a4);color:#fff;box-shadow:0 4px 14px #7a9e8a61}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7a9e8a7a}.btn-ghost{background:transparent;color:var(--btn-ghost-color);border:1.5px solid var(--btn-ghost-border)}.btn-ghost:hover{background:var(--btn-ghost-hover)}.btn-soft{background:var(--btn-soft-bg);color:var(--btn-ghost-color);border:1.5px solid rgba(255,255,255,.9)}textarea,input[type=text]{width:100%;font-family:DM Sans,sans-serif;font-size:.95rem;border:1.5px solid var(--input-border);border-radius:14px;padding:14px 16px;background:var(--input-bg);color:var(--color-text);resize:vertical;transition:border-color .2s;outline:none}textarea:focus,input[type=text]:focus{border-color:#7a9e8a}textarea{min-height:110px}.toggle-row{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--color-text-muted);margin-bottom:12px}.toggle{position:relative;width:42px;height:24px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#c0ccb8;border-radius:24px;transition:.3s}.slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle input:checked+.slider{background:#7a9e8a}.toggle input:checked+.slider:before{transform:translate(18px)}.greeting-text{font-family:Cormorant Garamond,serif;font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:400;font-style:italic;color:#3a5248;line-height:1.5;text-align:center;margin-bottom:22px}.mood-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.mood-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 20px;border-radius:16px;border:2px solid rgba(95,122,110,.18);background:#ffffffa6;cursor:pointer;transition:all .2s;font-size:.78rem;color:#5a7a6a;font-family:DM Sans,sans-serif;min-width:80px}.mood-btn .emoji{font-size:1.8rem;line-height:1}.mood-btn:hover,.mood-btn.selected{background:#7a9e8a1f;border-color:#7a9e8a;box-shadow:0 4px 14px #7a9e8a33}.mood-response{margin-top:14px;text-align:center;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;color:#5f7a6e;min-height:28px;transition:opacity .3s}.diary-actions{display:flex;gap:10px;margin-top:12px;align-items:center}.diary-entries{margin-top:18px;display:flex;flex-direction:column;gap:12px}.diary-entry{padding:14px 18px;border-radius:14px;background:#ffffff8c;border-left:3px solid #a0c4aa;font-size:.88rem;color:#4a5a4a;line-height:1.6}.diary-entry .entry-meta{font-size:.73rem;color:#94a898;margin-bottom:5px;display:flex;gap:8px;align-items:center}.anon-badge{background:#a0c4aa4d;border:1px solid rgba(160,196,170,.6);border-radius:10px;padding:1px 7px;font-size:.68rem;color:#6a8a78}.friends-list{display:flex;flex-direction:column;gap:12px}.friend-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:#ffffff80;transition:background .2s}.friend-item:hover{background:#ffffffbf}.friend-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.friend-info{flex:1}.friend-name{font-weight:500;font-size:.9rem;color:#3a4a40}.friend-mood{font-size:.78rem;color:#8a9e94}.status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.status-dot.online{background:#8aad82;box-shadow:0 0 6px #8aad8299}.status-dot.offline{background:#c0c8c0}.online-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:#8aad821f;border:1px solid rgba(138,173,130,.3);font-size:.82rem;color:#5a7a5a;margin-bottom:14px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#8aad82;animation:pulse 1.8s ease-in-out infinite}.mood-more-btn{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:8px 20px;border-radius:30px;border:1.5px solid rgba(122,158,138,.35);background:#ffffff8c;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.78rem;color:#5a7a6a;transition:all .2s}.mood-more-btn:hover{background:#7a9e8a1a;border-color:#7a9e8a}.mood-more-btn .chevron-icon{transition:transform .3s;display:inline-block}.mood-more-btn.open .chevron-icon{transform:rotate(180deg)}.mood-drawer{display:none;margin-top:16px;padding-top:16px;border-top:1px solid rgba(160,196,170,.25)}.mood-drawer.open{display:block;animation:fadeUp .3s ease}.mood-category-label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#9aaa98;margin:12px 0 8px}.mood-drawer .mood-grid{justify-content:flex-start}.friend-expand-btn{background:none;border:none;cursor:pointer;font-size:.72rem;color:#9aaa98;padding:4px 0;font-family:DM Sans,sans-serif;transition:color .2s;display:flex;align-items:center;gap:4px}.friend-expand-btn:hover{color:#7a9e8a}.friend-details{display:none;margin-top:10px;padding-top:10px;border-top:1px solid rgba(160,196,170,.2)}.friend-details.open{display:block;animation:fadeUp .25s ease}.friend-diary-entry{padding:10px 13px;border-radius:12px;background:#ffffff8c;border-left:3px solid #a0c8aa;font-size:.82rem;color:#4a5a4a;line-height:1.55;margin-bottom:8px}.friend-diary-meta{font-size:.68rem;color:#94a898;margin-bottom:4px;display:flex;gap:6px;align-items:center}.social-bar{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(160,196,170,.18)}.social-like-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-size:.78rem;color:#a0b8a0;font-family:DM Sans,sans-serif;transition:color .2s;padding:0}.social-like-btn:hover,.social-like-btn.liked{color:#c07060}.social-comment-toggle{font-size:.75rem;color:#9aaa98;cursor:pointer;font-family:DM Sans,sans-serif;background:none;border:none;padding:0;transition:color .2s}.social-comment-toggle:hover{color:#5f7a6e}.social-comments-wrap{margin-top:10px;padding-top:10px;border-top:1px solid rgba(160,196,170,.15)}.social-comment{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}.social-comment-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#c8d8c0,#dcd8c8);display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0}.social-comment-body{flex:1}.social-comment-author{font-size:.72rem;font-weight:500;color:#4a5a4a}.social-comment-text{font-size:.8rem;color:#5a6a58;line-height:1.45}.social-comment-form{display:flex;gap:7px;margin-top:8px}.social-comment-input{flex:1;padding:7px 12px;border-radius:20px;border:1.5px solid var(--input-border);font-family:DM Sans,sans-serif;font-size:.8rem;background:var(--input-bg);outline:none;color:var(--color-text)}.social-comment-input:focus{border-color:#7a9e8a}.social-comment-send{padding:7px 14px;border-radius:20px;border:none;cursor:pointer;background:#7a9e8a;color:#fff;font-size:.75rem;font-family:DM Sans,sans-serif;transition:all .2s;white-space:nowrap}.social-comment-send:hover{background:#5a7a5a}.photo-gallery-section{margin-bottom:32px}.photo-gallery-tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}.gallery-tab{padding:7px 18px;border-radius:22px;border:1.5px solid rgba(160,196,170,.4);background:#fff9;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.78rem;color:#5f7a6e;transition:all .2s}.gallery-tab.active{background:#5f7a6e;color:#fff;border-color:#5f7a6e}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.gallery-card{border-radius:18px;overflow:hidden;background:#ffffffa6;border:1px solid rgba(255,255,255,.88);box-shadow:0 4px 18px #5f7a6e17;transition:transform .2s,box-shadow .2s}.gallery-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #5f7a6e29}.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:linear-gradient(135deg,#e8e4dc,#ece8e0)}.gallery-img-placeholder{width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,#e8e4dc,#ece8e0)}.gallery-body{padding:14px 16px}.gallery-author{display:flex;align-items:center;gap:8px;margin-bottom:8px}.gallery-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.gallery-username{font-size:.82rem;font-weight:500;color:#3a4a40}.friend-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;background:#8aad8233;color:#2a7a4a;border:1px solid rgba(138,173,130,.4);font-weight:500}.public-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;background:#7a9e8a26;color:#4a6a4a;border:1px solid rgba(122,158,138,.3);font-weight:500}.gallery-prompt{font-family:Cormorant Garamond,serif;font-size:.92rem;font-style:italic;color:#4a5a4a;line-height:1.55;margin-bottom:12px}.gallery-actions{display:flex;gap:8px;align-items:center;margin-bottom:10px}.gallery-like-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-size:.78rem;color:#a0b8a0;font-family:DM Sans,sans-serif;transition:color .2s;padding:0}.gallery-like-btn:hover,.gallery-like-btn.liked{color:#c07060}.gallery-comment-count{font-size:.75rem;color:#9aaa98;margin-left:auto;cursor:pointer;transition:color .2s}.gallery-comment-count:hover{color:#5f7a6e}.gallery-comments{border-top:1px solid rgba(160,196,170,.2);padding-top:10px}.gallery-comment{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}.comment-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#c8d8c0,#dcd8c8);display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0}.comment-body{flex:1}.comment-author{font-size:.72rem;font-weight:500;color:#4a5a4a}.comment-text{font-size:.78rem;color:#5a6a58;line-height:1.45}.comment-form{display:flex;gap:8px;margin-top:8px}.comment-input{flex:1;padding:7px 12px;border-radius:20px;border:1.5px solid var(--input-border);font-family:DM Sans,sans-serif;font-size:.8rem;background:var(--input-bg);outline:none;color:var(--color-text)}.comment-input:focus{border-color:#7a9e8a}.comment-send{padding:7px 14px;border-radius:20px;border:none;cursor:pointer;background:#7a9e8a;color:#fff;font-size:.75rem;font-family:DM Sans,sans-serif;transition:all .2s}.comment-send:hover{background:#5a7a5a}.comment-photo-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(122,158,138,.25);background:#fff9;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.comment-photo-btn:hover{background:#7a9e8a1f;border-color:#7a9e8a}.comment-photo-preview{position:relative;display:inline-block;margin-top:8px}.comment-photo-preview img{max-width:140px;max-height:100px;border-radius:10px;border:1.5px solid rgba(122,158,138,.2);object-fit:cover}.comment-photo-preview button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:none;background:#b45050d9;color:#fff;font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.comment-photo-preview button:hover{background:#c83c3ce6}.comment-photo{max-width:220px;max-height:160px;border-radius:10px;margin-top:6px;border:1.5px solid rgba(122,158,138,.15);object-fit:cover;display:block}.gallery-empty{grid-column:1/-1;text-align:center;padding:40px 20px;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;color:#8a9e94}.privacy-selector{display:flex;gap:0;margin-bottom:16px;border-radius:12px;overflow:hidden;border:1.5px solid rgba(95,122,110,.2)}.privacy-opt{flex:1;padding:9px 6px;border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.75rem;background:#ffffff80;color:#5a7a6a;transition:all .2s;text-align:center;font-weight:500;line-height:1.3}.privacy-opt+.privacy-opt{border-left:1px solid rgba(95,122,110,.15)}.privacy-opt.active.pub{background:#7a9e8a;color:#fff}.privacy-opt.active.fr{background:#8aad82;color:#1a5a3a}.privacy-opt.active.prv{background:#7a7ab8;color:#fff}.privacy-opt:hover:not(.active){background:#5f7a6e14}.privacy-badge{font-size:.67rem;padding:2px 8px;border-radius:10px;font-weight:500}.privacy-badge.pub{background:#7a9e8a2e;color:#3a5a48;border:1px solid rgba(122,158,138,.3)}.privacy-badge.fr{background:#8aad822e;color:#2a7a4a;border:1px solid rgba(138,173,130,.3)}.privacy-badge.prv{background:#7878b41f;color:#5a5a8a;border:1px solid rgba(120,120,180,.2)}.ch-status-bar{display:flex;align-items:center;gap:8px;padding:8px 22px;font-size:.78rem;border-top:1px solid rgba(160,196,170,.2)}.ch-status-bar.available{color:#5f7a6e;background:#a0c4aa1f}.ch-status-bar.active{color:#3a8a5a;background:#8aad821a}.ch-status-bar.paused{color:#8a6820;background:#ffdc7826}.ch-status-bar.completed{color:#7040a8;background:#c880e01f}.ch-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.available .ch-dot{background:#a0b8a0}.active .ch-dot{background:#8aad82;animation:pulse 1.8s infinite}.paused .ch-dot{background:#d4a830}.completed .ch-dot{background:#c880e0}.ch-day-pill{margin-left:auto;font-size:.73rem;font-weight:500;padding:2px 10px;border-radius:20px;background:#5f7a6e1f;color:#5f7a6e}.ch-actions{display:flex;gap:8px;flex-wrap:wrap;padding:14px 20px 18px}.btn-ch-start{padding:10px 24px;border-radius:30px;border:none;cursor:pointer;background:linear-gradient(135deg,#7a9e8a,#96b8a4);color:#fff;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;box-shadow:0 4px 14px #7a9e8a59;transition:all .2s}.btn-ch-start:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn-ch-pause{padding:10px 20px;border-radius:30px;cursor:pointer;background:transparent;border:1.5px solid rgba(212,168,48,.5);color:#8a6820;font-family:DM Sans,sans-serif;font-size:.82rem;transition:all .2s}.btn-ch-resume{padding:10px 20px;border-radius:30px;cursor:pointer;background:transparent;border:1.5px solid rgba(138,173,130,.5);color:#3a8a5a;font-family:DM Sans,sans-serif;font-size:.82rem;transition:all .2s}.btn-ch-stop{padding:10px 20px;border-radius:30px;cursor:pointer;background:transparent;border:1.5px solid rgba(200,100,100,.3);color:#9a5050;font-family:DM Sans,sans-serif;font-size:.82rem;transition:all .2s}.btn-ch-pause:hover{background:#d4a8301a}.btn-ch-resume:hover{background:#8aad821a}.btn-ch-stop:hover{background:#c864640f}.ch-start-panel{padding:28px 26px;text-align:center}.ch-start-icon{font-size:3rem;margin-bottom:12px;display:block;animation:float 3s ease-in-out infinite}.ch-start-title{font-family:Cormorant Garamond,serif;font-size:1.6rem;font-weight:500;color:#3a5248;margin-bottom:8px}.ch-start-desc{font-size:.88rem;color:#5a7a6a;line-height:1.65;margin-bottom:20px}.ch-info-pills{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}.ch-info-pill{font-size:.75rem;padding:5px 12px;border-radius:20px;background:#a0c4aa33;border:1px solid rgba(160,196,170,.4);color:#5f7a6e}.day-card.locked{opacity:.5;pointer-events:none;background:#f8fcff66;border:1px dashed rgba(160,196,170,.35)}.day-card.today-card{border:2px solid rgba(122,158,138,.55);box-shadow:0 0 0 4px #7a9e8a17,0 4px 16px #5f7a6e1a}.today-label{display:inline-block;font-size:.65rem;padding:2px 9px;border-radius:10px;background:#7a9e8a33;color:#3a5a48;font-weight:500;margin-left:6px;vertical-align:middle}.day-locked-icon{font-size:1.1rem;color:#b8c8b8;text-align:center;display:block;margin:6px 0}.photo-upload-wrap{position:relative;margin-bottom:10px}.photo-upload-area{border:2px dashed rgba(95,122,110,.25);border-radius:14px;padding:22px;text-align:center;cursor:pointer;transition:all .2s;background:#fff6}.photo-upload-area:hover{border-color:#7a9e8a;background:#7a9e8a0d}.photo-upload-area input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.photo-upload-icon{font-size:1.8rem;margin-bottom:6px;display:block}.photo-upload-text{font-size:.78rem;color:#8a9e94}.photo-preview-img{width:100%;max-height:180px;object-fit:cover;border-radius:12px;margin-bottom:8px;display:block}.day-visibility{display:flex;gap:5px;margin-bottom:10px}.vis-btn{flex:1;padding:5px 3px;border-radius:8px;border:1px solid rgba(95,122,110,.2);background:#ffffff80;font-size:.68rem;color:#5a7a6a;cursor:pointer;text-align:center;transition:all .2s;font-family:DM Sans,sans-serif;font-weight:500}.vis-btn.active{background:#5f7a6e;color:#fff;border-color:#5f7a6e}.vis-btn:hover:not(.active){background:#5f7a6e14}.ch-visibility-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:#ffffff73;border:1px solid rgba(160,196,170,.3);margin-bottom:16px}.ch-visibility-text{flex:1;font-size:.82rem;color:#5a7a6a;line-height:1.4}.friend-ch-progress{font-size:.72rem;color:#8a9e94;margin-top:2px;display:flex;align-items:center;gap:5px}.friend-ch-mini-bar{width:50px;height:4px;border-radius:4px;background:#a0c4aa4d;overflow:hidden;display:inline-block}.friend-ch-mini-fill{height:100%;background:linear-gradient(90deg,#7a9e8a,#a0c4aa);border-radius:4px}.quote-of-day{text-align:center;padding:36px 32px;background:linear-gradient(135deg,#7a9e8a2e,#ba94dc26);border-radius:24px;border:1px solid rgba(255,255,255,.85);margin-bottom:28px;box-shadow:0 8px 32px #7a9e8a1f}.qod-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#8a9e94;margin-bottom:14px}.qod-text{font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,3vw,1.65rem);font-weight:400;font-style:italic;color:#3a5248;line-height:1.7}.qod-theme{margin-top:14px;font-size:.8rem;color:#8a9e94;letter-spacing:.1em}.quotes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:18px}@media (max-width: 500px){.quotes-grid{grid-template-columns:1fr}}.quote-card{padding:28px 26px;border-radius:20px;border:1px solid rgba(255,255,255,.85);box-shadow:0 6px 24px #00000012;position:relative}.quote-card.blue{background:linear-gradient(135deg,#e8e4dc,#d8e0d4)}.quote-card.green{background:linear-gradient(135deg,#d8f0e8,#c2e8d4)}.quote-card.gold{background:linear-gradient(135deg,#fdf2d0,#f5e5a8)}.quote-card.purple{background:linear-gradient(135deg,#eedff8,#e0c8f5)}.quote-theme-tag{display:inline-block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:12px;font-weight:500}.blue .quote-theme-tag{background:#5f7a6e2e;color:#3a5a48}.green .quote-theme-tag{background:#3ca0642e;color:#2a7a4a}.gold .quote-theme-tag{background:#b48c1e38;color:#8a6820}.purple .quote-theme-tag{background:#8c50c82e;color:#7040a8}.quote-body{font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.4vw,1.2rem);font-weight:400;font-style:italic;line-height:1.75;color:var(--color-text);margin-bottom:18px}.quote-actions{display:flex;gap:10px}.icon-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:20px;border:none;font-family:DM Sans,sans-serif;font-size:.78rem;cursor:pointer;transition:all .2s;background:var(--icon-btn-bg);color:var(--icon-btn-color);font-weight:500}.icon-btn:hover{background:#ffffffe6;transform:scale(1.05)}.icon-btn.hearted{color:#c07060}.icon-btn svg{width:15px;height:15px}.challenge-header{display:flex;align-items:center;gap:12px;padding:22px 26px;border-radius:20px;cursor:pointer;transition:all .2s;margin-bottom:4px}.challenge-header:hover{background:#ffffff80}.challenge-icon{font-size:2rem}.challenge-title-wrap{flex:1}.challenge-title{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:500;color:#3a5248}.challenge-sub{font-size:.8rem;color:#8a9e94;margin-top:3px}.chevron{font-size:1.1rem;color:#a0b8a0;transition:transform .3s}.chevron.open{transform:rotate(180deg)}.challenge-body{display:none;padding:0 6px 10px}.challenge-body.open{display:block}.week-label{font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;color:#8a9e94;margin:18px 0 12px}.days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.day-card{padding:18px 20px;border-radius:16px;background:var(--card-bg);border:1px solid rgba(255,255,255,.85);box-shadow:0 3px 12px #5f7a6e14}.day-number{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#9aaa98;margin-bottom:7px}.day-prompt{font-family:Cormorant Garamond,serif;font-size:1.05rem;font-style:italic;color:#3a4a40;line-height:1.6;margin-bottom:12px}.day-textarea{min-height:70px;font-size:.85rem;padding:10px 12px}.day-save-row{display:flex;justify-content:flex-end;margin-top:8px;gap:8px;align-items:center}.challenge-toggle{margin:12px 0 18px}.challenge-progress{margin-top:20px;margin-bottom:6px}.progress-label{display:flex;justify-content:space-between;font-size:.75rem;color:#8a9e94;margin-bottom:6px}.progress-bar{height:6px;border-radius:6px;background:#a0c4aa4d;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#7a9e8a,#a0c4aa);border-radius:6px;transition:width .5s ease}.community-intro{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;color:#5f7a6e;line-height:1.65;text-align:center;margin-bottom:8px}.community-rules{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:22px}.rule-tag{font-size:.75rem;padding:5px 12px;border-radius:20px;background:#7a9e8a1f;border:1px solid rgba(122,158,138,.25);color:#5f7a6e}.demo-switcher{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:20px;padding:10px 16px;border-radius:14px;background:#fff0c873;border:1px dashed rgba(200,160,60,.4);font-size:.75rem;color:#9a7830}.demo-switcher span{font-weight:500}.demo-role-btn{padding:4px 12px;border-radius:20px;border:1px solid rgba(200,160,60,.4);background:#fff9;font-size:.73rem;cursor:pointer;color:#7a5820;font-family:DM Sans,sans-serif;transition:all .2s}.demo-role-btn:hover,.demo-role-btn.active{background:#d4a830;color:#fff;border-color:#d4a830}.join-view{text-align:center;padding:20px 0}.join-cloud-icon{font-size:3.5rem;margin-bottom:16px;display:block;animation:float 3s ease-in-out infinite}.join-title{font-family:Cormorant Garamond,serif;font-size:clamp(1.5rem,4vw,2rem);font-weight:500;color:#3a5248;margin-bottom:10px}.join-sub{font-size:.88rem;color:#6a8a78;line-height:1.65;margin-bottom:24px;max-width:480px;margin-left:auto;margin-right:auto}.join-form{max-width:520px;margin:0 auto}.join-form textarea{min-height:90px;margin-bottom:14px}.join-form input[type=text]{margin-bottom:12px}.pending-view{text-align:center;padding:32px 20px}.pending-icon{font-size:3rem;margin-bottom:14px;display:block;animation:spin-slow 8s linear infinite}.pending-title{font-family:Cormorant Garamond,serif;font-size:1.6rem;font-weight:500;color:#3a5248;margin-bottom:10px}.pending-sub{font-size:.88rem;color:#6a8a78;line-height:1.65}.admin-panel{margin-bottom:24px}.admin-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:14px;background:linear-gradient(135deg,#d4a83026,#c880e01a);border:1px solid rgba(212,168,48,.3);margin-bottom:14px}.admin-title{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:500;color:#8a5820;flex:1}.admin-badge{background:#d4a830;color:#fff;font-size:.68rem;padding:3px 10px;border-radius:20px;font-weight:500;letter-spacing:.08em}.join-requests-list{display:flex;flex-direction:column;gap:10px}.join-request-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:16px;background:#ffffffad;border:1px solid rgba(255,255,255,.9);box-shadow:0 3px 12px #5f7a6e12}.jr-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#c8d8c0,#dcd8c8);font-size:1.1rem;flex-shrink:0}.jr-body{flex:1}.jr-name{font-weight:500;font-size:.9rem;color:#3a4a40;margin-bottom:4px}.jr-message{font-size:.85rem;color:#4a5a4a;line-height:1.55;margin-bottom:10px}.jr-time{font-size:.72rem;color:#9aaa98}.jr-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-approve{padding:6px 16px;border-radius:20px;border:none;cursor:pointer;background:linear-gradient(135deg,#8aad82,#50c888);color:#fff;font-size:.78rem;font-family:DM Sans,sans-serif;font-weight:500;transition:all .2s}.btn-approve:hover{transform:translateY(-1px);box-shadow:0 4px 12px #50c88866}.btn-decline{padding:6px 16px;border-radius:20px;border:1px solid rgba(200,100,100,.35);background:#ffc8c833;cursor:pointer;color:#a05050;font-size:.78rem;font-family:DM Sans,sans-serif;transition:all .2s}.btn-decline:hover{background:#c850501f}.no-requests{text-align:center;padding:20px;font-size:.85rem;color:#8a9e94;font-style:italic}.rooms-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.room-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:22px;border:1.5px solid rgba(160,196,170,.4);background:#fff9;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.8rem;color:#5f7a6e;transition:all .2s;white-space:nowrap}.room-btn:hover{background:#ffffffd9;border-color:#a0c4aa}.room-btn.active{background:#5f7a6e;color:#fff;border-color:#5f7a6e;box-shadow:0 4px 14px #5f7a6e4d}.room-btn .access-icon{font-size:.7rem;opacity:.75}.room-btn.locked-room{opacity:.65;cursor:default}.room-btn.vip-room.active{background:linear-gradient(135deg,#c880e0,#a050b8);border-color:#c880e0}.room-btn.vip-room{border-color:#c880e066;color:#8040b8}.room-panel{display:none}.room-panel.active{display:block;animation:fadeUp .3s ease}.room-welcome{padding:20px 24px;border-radius:18px;margin-bottom:20px;border:1px solid rgba(255,255,255,.9)}.room-welcome.style-open{background:linear-gradient(135deg,#b8e0f540,#d8c8f52e)}.room-welcome.style-closed{background:linear-gradient(135deg,#ffdcc840,#ffc8b426)}.room-welcome.style-vip{background:linear-gradient(135deg,#c880e02e,#ffc8f02e)}.room-welcome.style-silent{background:linear-gradient(135deg,#b4dcf033,#c8dcff26)}.room-welcome-icon{font-size:1.8rem;margin-bottom:8px;display:block}.room-welcome-title{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500;color:#3a5248;margin-bottom:6px}.room-welcome-text{font-size:.88rem;color:#5a7a6a;line-height:1.65}.room-access-badge{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;padding:3px 10px;border-radius:20px;margin-top:10px;font-weight:500}.badge-open{background:#8aad8233;color:#3a9a5a;border:1px solid rgba(138,173,130,.4)}.badge-closed{background:#ffa86433;color:#9a5820;border:1px solid rgba(255,168,100,.4)}.badge-vip{background:#c880e033;color:#8040b8;border:1px solid rgba(200,128,224,.4)}.badge-silent{background:#a0c4aa33;color:#4a6a4a;border:1px solid rgba(160,196,170,.4)}.access-gate{text-align:center;padding:40px 24px;border-radius:20px;border:1.5px dashed rgba(200,128,224,.35);background:#ffffff73}.access-gate-icon{font-size:2.4rem;margin-bottom:12px;display:block}.access-gate-title{font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic;color:#5a3a88;margin-bottom:8px}.access-gate-text{font-size:.85rem;color:#8a70a8;line-height:1.6}.silent-note{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:#a0c4aa26;border:1px solid rgba(160,196,170,.3);font-size:.8rem;color:#4a6a58;margin-bottom:16px}.post-composer{margin-bottom:20px}.posts-feed{display:flex;flex-direction:column;gap:14px}.post-item{padding:18px 22px;border-radius:18px;background:var(--card-bg);border:1px solid rgba(255,255,255,.85);box-shadow:0 3px 12px #5f7a6e12}.post-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.78rem;color:#8a9e94}.post-author-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;background:linear-gradient(135deg,#c8d8c0,#dcd8c8)}.post-text{font-size:.9rem;line-height:1.65;color:#3a4540}.post-heart-btn{margin-top:10px;display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-size:.78rem;color:#a0b8a0;font-family:DM Sans,sans-serif;transition:color .2s}.post-heart-btn:hover,.post-heart-btn.liked{color:#c07060}.locked-overlay{text-align:center;padding:40px 24px;background:#ffffff8c;border-radius:20px;border:1.5px dashed rgba(122,158,138,.35);margin-top:10px}.lock-icon{font-size:2rem;margin-bottom:10px}.locked-overlay p{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;color:#5a7a6a}.offers-intro{font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:400;font-style:italic;color:#3a5248;text-align:center;line-height:1.6;margin-bottom:8px}.offers-sub{text-align:center;font-size:.88rem;color:#8a9e94;margin-bottom:32px}.offers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:860px;margin:0 auto}@media (max-width: 560px){.offers-grid{grid-template-columns:1fr;max-width:420px}}.offer-card{padding:34px 28px;border-radius:24px;text-align:center;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;border:1px solid rgba(255,255,255,.85)}.offer-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #5f7a6e2e}.offer-card.plan-cloud{background:linear-gradient(145deg,#e8e4dc,#ece8e0);box-shadow:0 8px 28px #5f7a6e1f}.offer-card.plan-heart{background:linear-gradient(145deg,#eee8e0,#f0ece4);box-shadow:0 8px 28px #b464c81f}.offer-card.plan-star{background:linear-gradient(145deg,#fff8dc,#fff0e0);box-shadow:0 8px 28px #c896281f}.offer-icon{font-size:2.6rem;margin-bottom:14px;display:block}.offer-name{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:500;color:#3a5248;margin-bottom:6px}.offer-sub{font-size:.8rem;color:#8a9e94;margin-bottom:18px}.offer-price{font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:600;color:#5f7a6e;line-height:1}.offer-price-period{font-size:.8rem;color:#8a9e94;margin-bottom:22px}.offer-features{text-align:left;margin-bottom:26px}.offer-feature{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;color:#4a5a4a;margin-bottom:9px;line-height:1.4}.offer-feature:before{content:"✦";color:#a0b8aa;font-size:.7rem;margin-top:3px;flex-shrink:0}.offer-cta{width:100%;padding:13px 0;border-radius:30px;border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.05em;transition:all .25s}.offer-card.plan-cloud .offer-cta{background:linear-gradient(135deg,#7a9e8a,#96b8a4);color:#fff;box-shadow:0 4px 14px #7a9e8a66}.offer-card.plan-heart .offer-cta{background:linear-gradient(135deg,#c880e0,#e0a0cc);color:#fff;box-shadow:0 4px 14px #c880e066}.offer-card.plan-star .offer-cta{background:linear-gradient(135deg,#d4a830,#e8c860);color:#fff;box-shadow:0 4px 14px #d4a83066}.offer-cta:hover{transform:translateY(-2px);filter:brightness(1.06)}.badge-popular{position:absolute;top:16px;right:16px;background:linear-gradient(135deg,#c880e0,#a050b8);color:#fff;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:20px}.guarantee{text-align:center;margin-top:28px;font-size:.8rem;color:#8a9e94;display:flex;align-items:center;justify-content:center;gap:6px}.free-tier-banner{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:linear-gradient(135deg,#fff8e4f7,#fff0d2f7);border:1px solid rgba(240,168,48,.28);border-radius:14px;padding:12px 18px;margin:8px 0 22px;font-size:.83rem;color:#7a5820;box-shadow:0 4px 18px #f0a8301a}.free-tier-banner-text{flex:1;line-height:1.55}.free-tier-banner-text strong{color:#c07820}.btn-upgrade-banner{background:linear-gradient(135deg,#f0a830,#e8853a);color:#fff;border:none;padding:8px 18px;border-radius:22px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;box-shadow:0 3px 12px #f08c3059;transition:all .2s}.btn-upgrade-banner:hover{transform:translateY(-1px);filter:brightness(1.07)}.membership-demo-row{display:flex;align-items:center;gap:8px;margin-top:10px;justify-content:center;flex-wrap:wrap;font-size:.72rem;color:#9aaa98;letter-spacing:.05em}.membership-demo-btn{font-size:.72rem;padding:4px 13px;border-radius:12px;border:1.5px solid rgba(95,122,110,.28);background:#ffffffa6;color:#5a7a6a;cursor:pointer;transition:all .2s}.membership-demo-btn.active{background:linear-gradient(135deg,#f0a830,#e8853a);color:#fff;border-color:transparent}.paywall-gate-card{background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px dashed rgba(240,168,48,.4);border-radius:20px;padding:30px 26px;text-align:center;margin-bottom:20px}.paywall-gate-icon{font-size:2.2rem;margin-bottom:10px}.paywall-gate-title{font-family:Cormorant Garamond,serif;font-size:1.25rem;color:#3a4a40;margin-bottom:8px}.paywall-gate-text{font-size:.85rem;color:#8a9a8a;line-height:1.65;margin-bottom:18px}.btn-upgrade{background:linear-gradient(135deg,#f0a830,#e8853a);color:#fff;border:none;padding:11px 26px;border-radius:26px;font-size:.88rem;font-weight:500;cursor:pointer;box-shadow:0 4px 16px #f08c3061;transition:all .22s}.btn-upgrade:hover{transform:translateY(-2px);filter:brightness(1.07)}.quote-locked-wrap{position:relative}.quote-locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:#ffffff8c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.quote-locked-overlay .lock-icon{font-size:1.6rem}.quote-locked-overlay .lock-label{font-size:.78rem;color:#8a9a8a}.quote-locked-content{filter:blur(2.5px);pointer-events:none;opacity:.55}.room-btn.locked-room-free{opacity:.55}.privacy-opt.locked-opt{opacity:.42;cursor:not-allowed!important;position:relative}.privacy-opt.locked-opt:after{content:"🔒";font-size:.65rem;margin-left:4px}.public-profiles-intro{font-family:Cormorant Garamond,serif;font-size:1.25rem;color:#3a4a40;margin-bottom:6px;font-style:italic}.public-profiles-sub{font-size:.82rem;color:#8a9e94;margin-bottom:18px;line-height:1.55}.public-profile-card{background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.85);border-radius:20px;padding:22px 24px;margin-bottom:16px;box-shadow:0 6px 24px #5f7a6e14}.public-profile-header{display:flex;align-items:center;gap:14px;margin-bottom:14px}.public-profile-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#c8d8c0,#dcd8c8);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.public-profile-name{font-weight:600;font-size:.95rem;color:#3a4a40}.public-profile-username{font-size:.75rem;color:#9aaa98;margin-top:1px}.public-profile-mood{font-size:.78rem;color:#8a9a8a;background:#7a9e8a1a;border-radius:12px;padding:3px 10px;display:inline-block;margin-top:4px}.public-profile-post{font-size:.87rem;color:#4a5a4a;line-height:1.65;padding:12px 14px;background:#fff9;border-radius:12px;border-left:3px solid rgba(122,158,138,.3);margin-bottom:10px}.public-profile-post-meta{font-size:.72rem;color:#9aaa98;margin-bottom:6px;display:flex;align-items:center;gap:6px}.public-profile-likes{font-size:.78rem;color:#9aaa98;display:flex;align-items:center;gap:5px}.settings-btn{position:absolute;top:18px;right:18px;background:#ffffffa6;border:1.5px solid rgba(95,122,110,.25);border-radius:50%;width:36px;height:36px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-btn:hover{background:#ffffffe6;transform:rotate(20deg)}.reg-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;background:#28466473;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);align-items:center;justify-content:center;padding:16px}.reg-modal-overlay.open{display:flex}.reg-modal{background:#fffffffa;border-radius:26px;padding:36px 34px 32px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 70px #28508233;animation:fadeUp .3s ease;position:relative}.reg-close{position:absolute;top:14px;right:18px;background:none;border:none;font-size:1.2rem;color:#9aaa98;cursor:pointer}.reg-steps-row{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:28px}.reg-step-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600;background:#5f7a6e1a;color:#8a9e94;border:1.5px solid rgba(95,122,110,.2);transition:all .3s}.reg-step-dot.done{background:#8aad8233;color:#4a9a72;border-color:#8aad82}.reg-step-dot.active{background:#7a9e8a;color:#fff;border-color:#7a9e8a}.reg-step-line{height:2px;width:40px;background:#5f7a6e26;flex-shrink:0}.reg-title{font-family:Cormorant Garamond,serif;font-size:1.55rem;color:#3a4a40;margin-bottom:6px}.reg-sub{font-size:.84rem;color:#8a9e94;margin-bottom:22px;line-height:1.55}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.8rem;font-weight:500;color:#5a7a6a;letter-spacing:.05em;margin-bottom:6px}.form-input{width:100%;font-family:DM Sans,sans-serif;font-size:.92rem;border:1.5px solid var(--input-border);border-radius:12px;padding:11px 14px;background:var(--input-bg);color:var(--color-text);outline:none;transition:border-color .2s}.form-input:focus{border-color:#7a9e8a}textarea.form-input{min-height:120px;resize:vertical}.form-hint{font-size:.75rem;color:#9aaa98;margin-top:6px;line-height:1.5}.birthday-row{display:flex;gap:10px}.form-select{flex:1;font-family:DM Sans,sans-serif;font-size:.88rem;border:1.5px solid var(--input-border);border-radius:12px;padding:10px 12px;background:var(--input-bg);color:var(--color-text);outline:none;cursor:pointer}.payment-plan-box{background:linear-gradient(135deg,#7a9e8a1a,#7ec5e01a);border:1px solid rgba(122,158,138,.25);border-radius:14px;padding:16px 18px;margin-bottom:18px;display:flex;align-items:center;gap:14px}.payment-plan-icon{font-size:1.8rem}.payment-plan-name{font-weight:600;font-size:.95rem;color:#3a4a40}.payment-plan-price{font-size:.82rem;color:#8a9a8a}.payment-methods-row{display:flex;gap:10px;margin-bottom:18px}.payment-method-btn{flex:1;padding:10px 14px;border-radius:12px;border:1.5px solid rgba(95,122,110,.25);background:#ffffffb3;color:#5a7a6a;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer;transition:all .2s}.payment-method-btn.active{border-color:#7a9e8a;background:#7a9e8a1f;color:#3a5248;font-weight:500}.card-fields{display:flex;flex-direction:column;gap:10px}.card-row{display:flex;gap:10px}.security-note{display:flex;align-items:center;gap:7px;font-size:.72rem;color:#9aaa98;margin-top:12px}.reg-confirm{text-align:center;padding:10px 0}.reg-confirm-icon{font-size:3rem;margin-bottom:12px}.reg-confirm-title{font-family:Cormorant Garamond,serif;font-size:1.6rem;color:#3a4a40;margin-bottom:10px}.reg-confirm-text{font-size:.88rem;color:#8a9a8a;line-height:1.7}.reg-nav{display:flex;gap:10px;margin-top:22px}.btn-reg-back{background:transparent;color:#8a9a8a;border:1.5px solid rgba(95,122,110,.25);padding:10px 20px;border-radius:24px;font-family:DM Sans,sans-serif;font-size:.85rem;cursor:pointer}.btn-reg-next{flex:1;background:linear-gradient(135deg,#7a9e8a,#96b8a4);color:#fff;border:none;padding:12px 20px;border-radius:24px;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:500;cursor:pointer;box-shadow:0 4px 14px #7a9e8a59;transition:all .2s}.btn-reg-next:hover{transform:translateY(-1px);filter:brightness(1.06)}.btn-reg-submit{flex:1;background:linear-gradient(135deg,#f0a830,#e8853a);color:#fff;border:none;padding:12px 20px;border-radius:24px;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:500;cursor:pointer;box-shadow:0 4px 14px #f08c3059;transition:all .2s}.btn-reg-submit:hover{transform:translateY(-1px);filter:brightness(1.06)}.settings-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;background:var(--modal-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:16px}.settings-modal-overlay.open{display:flex}.settings-modal{background:var(--modal-bg);border-radius:24px;padding:32px 30px;max-width:420px;width:100%;box-shadow:0 20px 60px #2850822b;animation:fadeUp .3s ease;position:relative;max-height:calc(100vh - 40px);overflow-y:auto;color:var(--color-text)}.settings-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.2rem;color:#9aaa98;cursor:pointer}.settings-title{font-family:Cormorant Garamond,serif;font-size:1.45rem;color:#3a4a40;margin-bottom:20px}.settings-section{margin-bottom:22px}.settings-section-title{font-size:.72rem;color:#8a9e94;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.settings-birthday-display{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#7a9e8a14;border:1px solid rgba(122,158,138,.2);border-radius:12px;font-size:.88rem;color:#3a4a40}.settings-birthday-display .bd-icon{font-size:1.3rem}.settings-birthday-display .bd-text{flex:1}.settings-birthday-delete{background:none;border:none;color:#c07878;cursor:pointer;font-size:.75rem;text-decoration:underline}.settings-no-birthday{font-size:.85rem;color:#9aaa98;margin-bottom:12px}.birthday-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9995;background:#1e3c644d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}.birthday-overlay.open{display:flex}.birthday-card{background:linear-gradient(135deg,#fff8ebfc,#fff0d2fc);border:1.5px solid rgba(240,168,48,.3);border-radius:26px;padding:40px 36px;max-width:380px;width:100%;text-align:center;box-shadow:0 20px 60px #f08c3033;animation:fadeUp .4s ease}.birthday-card-icon{font-size:3.5rem;margin-bottom:14px}.birthday-card-title{font-family:Cormorant Garamond,serif;font-size:1.8rem;color:#3a4a40;line-height:1.2;margin-bottom:12px}.birthday-card-msg{font-size:.92rem;color:#7a5820;line-height:1.7;margin-bottom:22px}.birthday-card-close{background:linear-gradient(135deg,#f0a830,#e8853a);color:#fff;border:none;padding:11px 28px;border-radius:24px;font-family:DM Sans,sans-serif;font-weight:500;font-size:.9rem;cursor:pointer;box-shadow:0 4px 16px #f08c3066}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9994;overflow:hidden}.confetti-piece{position:absolute;top:-20px;animation:confettiFall linear forwards}.upgrade-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#28466473;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;justify-content:center}.upgrade-modal-overlay.open{display:flex}.upgrade-modal{background:#fffffff7;border-radius:24px;padding:36px 32px;max-width:420px;width:90%;box-shadow:0 20px 60px #2850822e;animation:fadeUp .3s ease;position:relative;text-align:center}.upgrade-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.2rem;color:#9aaa98;cursor:pointer}.upgrade-modal-icon{font-size:2.8rem;margin-bottom:12px}.upgrade-modal-title{font-family:Cormorant Garamond,serif;font-size:1.6rem;color:#3a4a40;margin-bottom:10px;line-height:1.2}.upgrade-modal-sub{font-size:.88rem;color:#8a9a8a;line-height:1.65;margin-bottom:20px}.upgrade-modal-features{text-align:left;margin-bottom:22px;display:flex;flex-direction:column;gap:8px}.upgrade-modal-feature{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:#4a5a4a;line-height:1.5}.upgrade-modal-feature span:first-child{flex-shrink:0}.forum-gender-tabs{display:flex;gap:0;border-radius:18px;overflow:hidden;border:1.5px solid rgba(122,158,138,.22);background:#ffffff8c;margin:22px 0 28px}.fgt-btn{flex:1;padding:13px 10px;border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.04em;transition:all .22s;background:transparent;color:#6a8a78}.fgt-btn.active{color:#fff}.fgt-btn.frauen.active{background:linear-gradient(135deg,#b89878,#c8a888)}.fgt-btn.maenner.active{background:linear-gradient(135deg,#6a8a78,#8aaa8a)}.fgt-btn.divers.active{background:linear-gradient(135deg,#a058e0,#c880e0)}.forum-panel{display:none}.forum-panel.active{display:block;animation:fadeUp .35s ease}.forum-section-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.fst-btn{padding:7px 15px;border-radius:20px;border:1.5px solid rgba(95,122,110,.22);background:#fff9;color:#5a7a6a;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .2s}.fst-btn.active{background:#7a9e8a26;border-color:#7a9e8a;color:#3a5248;font-weight:600}.forum-sub-panel{display:none}.forum-sub-panel.active{display:block;animation:fadeUp .28s ease}.forum-post-composer{background:#ffffffb3;border-radius:18px;border:1px solid rgba(255,255,255,.85);padding:18px 20px;margin-bottom:18px;box-shadow:0 4px 20px #5f7a6e12}.forum-post-composer .composer-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.forum-post-item{background:#ffffffad;border-radius:16px;border:1px solid rgba(255,255,255,.85);padding:16px 18px;margin-bottom:12px;box-shadow:0 3px 14px #5f7a6e12}.forum-thread-preview{transition:box-shadow .2s,border-color .2s}.forum-thread-preview:hover{box-shadow:0 4px 18px #5f7a6e21;border-color:#7a9e8a59}.forum-post-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.75rem;color:#8a9e94;flex-wrap:wrap}.forum-post-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#c8d8c0,#dcd8c8);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.forum-post-author{font-weight:600;font-size:.83rem;color:#3a4a40}.forum-post-text{font-size:.88rem;color:#3a4540;line-height:1.65;margin-bottom:8px}.forum-like-btn{background:none;border:none;font-size:.78rem;color:#8a9e94;cursor:pointer;padding:3px 8px;border-radius:10px;transition:background .18s}.forum-like-btn:hover{background:#7a9e8a1a}.forum-like-btn.liked{color:#e87878}.forum-comment-toggle-btn{background:none;border:none;font-size:.78rem;color:#8a9e94;cursor:pointer;padding:3px 10px;border-radius:10px;transition:background .18s}.forum-comment-toggle-btn:hover{background:#7a9e8a1a}.forum-comment-toggle-btn.open{color:#5a88c0;font-weight:600}.forum-comment-section{margin-top:10px;padding:10px 0 4px;border-top:1px solid rgba(160,200,230,.2)}.forum-comment-item{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}.forum-comment-avatar{font-size:.95rem;flex-shrink:0;margin-top:1px}.forum-comment-body{flex:1}.forum-comment-author{font-weight:600;font-size:.76rem;color:#3a4a40}.forum-comment-time{font-size:.68rem;color:#a0b8cc;margin-left:4px}.forum-comment-text{font-size:.8rem;color:#4a5c70;line-height:1.55;margin-top:2px}.forum-comment-compose{display:flex;gap:7px;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid rgba(160,200,230,.12)}.forum-topic-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.forum-topic-tag{font-size:.72rem;padding:4px 11px;border-radius:14px;background:#7a9e8a1a;color:#5a7a6a;border:1px solid rgba(122,158,138,.2);cursor:pointer;transition:all .18s}.forum-topic-tag:hover,.forum-topic-tag.active{background:#7a9e8a38;color:#3a5248}.period-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}.period-cycle-info{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}.period-info-pill{background:#e887c01f;border:1px solid rgba(232,135,192,.25);border-radius:12px;padding:8px 14px;font-size:.8rem;color:#c060a0}.period-info-pill strong{display:block;font-size:1.2rem;color:#a04080}.period-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:18px}.period-day-header{text-align:center;font-size:.65rem;color:#9aaa98;font-weight:600;letter-spacing:.06em;padding-bottom:4px}.period-day{aspect-ratio:1;border-radius:10px;border:1.5px solid rgba(95,122,110,.12);background:#ffffff80;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:.72rem;color:#6a8a78;transition:all .18s;position:relative}.period-day:hover{border-color:#e887c080;background:#e887c014}.period-day.period-active{background:#e887c038;border-color:#e887c0;color:#a04080}.period-day.ovulation{background:#ffc83c2e;border-color:#f0c840;color:#8a6a00}.period-day.predicted{background:#e887c014;border-color:#e887c04d}.period-day.today{border-color:#7a9e8a!important;box-shadow:0 0 0 2px #7a9e8a4d}.period-day-num{font-size:.72rem;font-weight:600}.period-day-icon{font-size:.6rem}.period-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.72rem;color:#8a9e94;margin-top:10px}.period-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:4px}.period-log-btn{background:linear-gradient(135deg,#e887c0,#c8a888);color:#fff;border:none;padding:9px 20px;border-radius:20px;font-size:.82rem;font-weight:500;cursor:pointer;box-shadow:0 3px 12px #e887c059;transition:all .2s}.period-symptom-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.period-symptom-btn{font-size:.72rem;padding:5px 12px;border-radius:14px;border:1.5px solid rgba(232,135,192,.25);background:#fff9;color:#9a6080;cursor:pointer;transition:all .18s}.period-symptom-btn.active{background:#e887c033;border-color:#e887c0}.training-week-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.training-day-card{background:#ffffffb3;border-radius:16px;border:1px solid rgba(255,255,255,.85);padding:14px 16px;box-shadow:0 3px 14px #5f7a6e12}.training-day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.training-day-name{font-family:Cormorant Garamond,serif;font-size:1rem;font-weight:600;color:#3a4a40}.training-rest-toggle{font-size:.68rem;color:#9aaa98;cursor:pointer;background:none;border:1px solid rgba(95,122,110,.2);border-radius:10px;padding:3px 8px;transition:all .18s}.training-rest-toggle.rest{background:#5f7a6e14;color:#5a7a6a}.training-exercise-list{list-style:none;margin-bottom:10px;min-height:24px}.training-exercise-item{font-size:.78rem;color:#4a5a4a;padding:4px 0;border-bottom:1px solid rgba(95,122,110,.08);display:flex;justify-content:space-between;align-items:center}.training-exercise-del{background:none;border:none;color:#c09090;cursor:pointer;font-size:.7rem}.training-add-row{display:flex;gap:6px;margin-top:8px}.training-add-input{flex:1;font-size:.75rem;border:1px solid rgba(95,122,110,.2);border-radius:8px;padding:5px 9px;background:#fffc;color:#3a4540;outline:none}.training-add-btn{background:#7a9e8a26;border:1px solid rgba(122,158,138,.3);color:#3a5248;border-radius:8px;padding:5px 10px;font-size:.72rem;cursor:pointer;white-space:nowrap}.training-rest-label{text-align:center;color:#9aaa98;font-size:.82rem;padding:14px 0;font-style:italic}.cp-day-card{background:#ffffffb8;border-radius:16px;border:1px solid rgba(255,255,255,.85);padding:16px;box-shadow:0 3px 14px #5f7a6e12;transition:box-shadow .2s}.cp-day-card:hover{box-shadow:0 5px 22px #5f7a6e21}.cp-day-card.rest-day{background:#5fa3c80f}.cp-day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(95,122,110,.1)}.cp-day-label{font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:600;color:#3a4a40}.cp-rest-btn{font-size:.7rem;color:#8a9e94;cursor:pointer;background:#7a9e8a1a;border:1px solid rgba(122,158,138,.25);border-radius:10px;padding:4px 10px;transition:all .18s}.cp-rest-btn.active{background:#5f7a6e2e;color:#4a8868;border-color:#5f7a6e59}.cp-exercise{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid rgba(95,122,110,.06);font-size:.8rem;color:#3a4a40}.cp-exercise-name{flex:1;font-weight:500}.cp-exercise-detail{color:#8a9e94;font-size:.75rem;max-width:40%;text-align:right}.cp-del-btn{background:none;border:none;color:#c09090;cursor:pointer;font-size:.75rem;padding:2px 4px;border-radius:6px;transition:background .15s}.cp-del-btn:hover{background:#c090901f}.cp-add-form{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.cp-add-input{flex:1;min-width:80px;font-size:.75rem;border:1px solid rgba(95,122,110,.2);border-radius:10px;padding:7px 10px;background:#ffffffd9;color:#3a4540;outline:none;font-family:DM Sans,sans-serif}.cp-add-input:focus{border-color:#7a9e8a80;box-shadow:0 0 0 3px #7a9e8a1a}.cp-add-btn{background:linear-gradient(135deg,#7a9e8a33,#82bedc33);border:1px solid rgba(122,158,138,.3);color:#3a5248;border-radius:10px;padding:7px 14px;font-size:.74rem;cursor:pointer;white-space:nowrap;font-weight:600;font-family:DM Sans,sans-serif;transition:all .18s}.cp-add-btn:hover{background:linear-gradient(135deg,#7a9e8a4d,#82bedc4d)}.cp-rest-msg{text-align:center;color:#88b8a0;font-size:.82rem;padding:18px 0;font-style:italic}.cp-empty-msg{text-align:center;color:#b0c4b0;font-size:.78rem;padding:10px 0;font-style:italic}.macro-daily-goals{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:20px}.macro-goal-card{background:#ffffffb3;border-radius:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.9);box-shadow:0 3px 12px #5f7a6e12}.macro-goal-label{font-size:.68rem;color:#8a9e94;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.macro-goal-value{font-size:1.3rem;font-weight:600}.macro-goal-unit{font-size:.7rem;color:#9aaa98}.macro-bar-wrap{margin-top:6px}.macro-bar-bg{height:6px;background:#5f7a6e1a;border-radius:6px;overflow:hidden}.macro-bar-fill{height:100%;border-radius:6px;transition:width .4s ease}.macro-bar-pct{font-size:.65rem;color:#9aaa98;margin-top:3px}.macro-add-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;margin-bottom:18px;padding:16px;background:#ffffffa6;border-radius:14px;border:1px solid rgba(255,255,255,.85)}.macro-add-row label{font-size:.72rem;color:#8a9a8a;display:block;margin-bottom:4px}.macro-input-group{display:flex;flex-direction:column}.macro-input{font-size:.82rem;border:1px solid rgba(95,122,110,.2);border-radius:10px;padding:7px 11px;background:#ffffffd9;color:#3a4540;outline:none;min-width:0}.macro-search-list{position:absolute;z-index:200;background:#fff;border:1px solid rgba(95,122,110,.18);border-radius:10px;box-shadow:0 8px 28px #5f7a6e24;max-height:180px;overflow-y:auto;width:220px}.macro-search-item{padding:8px 12px;font-size:.8rem;color:#3a4a40;cursor:pointer;border-bottom:1px solid rgba(95,122,110,.07)}.macro-search-item:hover{background:#7a9e8a14}.macro-log-table{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:16px}.macro-log-table th{text-align:left;font-size:.65rem;color:#9aaa98;letter-spacing:.1em;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid rgba(95,122,110,.12)}.macro-log-table td{padding:7px 8px;color:#3a4540;border-bottom:1px solid rgba(95,122,110,.06)}.macro-log-table tr:last-child td{border-bottom:none}.macro-del-btn{background:none;border:none;color:#c09090;cursor:pointer;font-size:.75rem}.macro-totals-row td{font-weight:600;color:#3a5248;border-top:1.5px solid rgba(95,122,110,.2)!important}.identity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:24px}.identity-card{background:#ffffffb3;border-radius:16px;border:2px solid rgba(160,88,224,.15);padding:16px 12px;text-align:center;cursor:pointer;transition:all .22s}.identity-card:hover{border-color:#a058e066;transform:translateY(-2px)}.identity-card.active{border-color:#a058e0;background:#a058e014}.identity-card-icon{font-size:1.8rem;margin-bottom:6px}.identity-card-label{font-size:.82rem;color:#5a3a80;font-weight:500}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(80px);background:#3c6482eb;color:#fff;padding:12px 24px;border-radius:30px;font-size:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .3s ease;z-index:9999;pointer-events:none;white-space:nowrap}.toast.show{transform:translate(-50%) translateY(0)}footer{text-align:center;padding:32px 20px;font-size:.78rem;color:#9aaa98;letter-spacing:.08em}footer .footer-logo{font-family:Cormorant Garamond,serif;font-size:1.1rem;color:#6a8a78;margin-bottom:6px}.divider{border:none;border-top:1px solid rgba(160,196,170,.3);margin:20px 0}.text-center{text-align:center}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.gap-10{gap:10px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7a9e8a4d;border-radius:6px}.spenden-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:32px}.spenden-card{background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;border:1px solid rgba(255,255,255,.88);padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 20px #5a8cb414;transition:transform .2s,box-shadow .2s}.spenden-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #5a8cb424}.spenden-card-header{display:flex;align-items:flex-start;gap:12px}.spenden-emoji{font-size:2rem;line-height:1;flex-shrink:0;margin-top:2px}.spenden-title{font-size:1rem;font-weight:700;color:#2d4a62;line-height:1.3}.spenden-desc{font-size:.82rem;color:#6a8caa;line-height:1.6}.spenden-progress-wrap{margin-top:4px}.spenden-bar-track{height:8px;border-radius:99px;background:#7a9e8a26;overflow:hidden;margin-bottom:6px}.spenden-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#88d4c8,#c8a8e8);transition:width .6s cubic-bezier(.4,0,.2,1)}.spenden-bar-fill.full{background:linear-gradient(90deg,#8aad82,#4fc89a)}.spenden-amounts{display:flex;justify-content:space-between;font-size:.76rem}.spenden-raised{font-weight:700;color:#7a9e8a}.spenden-goal{color:#9ab8cc}.spenden-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.72rem;color:#9aaa98;margin-top:2px}.spenden-badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:.7rem;font-weight:600}.spenden-badge.active{background:#7a9e8a26;color:#7a9e8a}.spenden-badge.done{background:#8aad8233;color:#3aaa7a}.spenden-badge.ended{background:#b4a08c26;color:#a09080}.spenden-delete-btn{align-self:flex-start;background:none;border:none;color:#c8a0a0;font-size:.72rem;cursor:pointer;padding:2px 6px;border-radius:8px;transition:background .15s}.spenden-delete-btn:hover{background:#c864641a}.spenden-empty{text-align:center;padding:60px 24px;color:#9aaa98;font-size:.9rem;line-height:1.8}.cal-section{margin-bottom:32px}.cal-section-toggle{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#d0e8f861,#e8d4f061);border:1px solid rgba(160,196,170,.32);border-radius:16px;padding:15px 20px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.92rem;color:#3a4a40;font-weight:600;width:100%;text-align:left;transition:background .2s,box-shadow .2s;box-shadow:0 2px 8px #5f7a6e0f}.cal-section-toggle:hover{background:linear-gradient(135deg,#d0e8f894,#e8d4f094);box-shadow:0 4px 14px #5f7a6e1f}.cal-section-toggle.open{border-radius:16px 16px 0 0;border-bottom-color:transparent;background:linear-gradient(135deg,#d0e8f88c,#e8d4f08c)}.toggle-chevron{font-size:.72rem;color:#7ab0d0;transition:transform .25s ease;flex-shrink:0;margin-left:8px}.cal-section-toggle.open .toggle-chevron{transform:rotate(180deg)}.cal-section-body{border:1px solid rgba(160,196,170,.28);border-top:none;border-radius:0 0 16px 16px;padding:0;overflow:hidden;margin-bottom:10px}.cal-section-body .cal-card{border-radius:0 0 15px 15px;margin:0}.heute-wrap{background:linear-gradient(135deg,#f0fff8bf,#f8fffcbf);border:1px solid rgba(110,190,150,.28);border-radius:18px;padding:18px 20px;margin-bottom:22px}.heute-wrap-title{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#5a9278;margin-bottom:12px;display:flex;align-items:center;gap:8px}.heute-event-row{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid rgba(110,190,150,.12)}.heute-event-row:last-child{border-bottom:none}.heute-event-icon{font-size:1.05rem;flex-shrink:0;margin-top:1px}.heute-event-name{font-size:.86rem;color:#3a4a40;font-weight:600;line-height:1.3}.heute-event-time{font-size:.73rem;color:#7aaa90;margin-top:2px}.heute-empty{font-size:.82rem;color:#9ab8a8;font-style:italic;padding:2px 0}.cal-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.cal-tab-btn{padding:7px 18px;border-radius:20px;border:1.5px solid rgba(122,158,138,.25);background:#ffffff8c;font-size:.8rem;cursor:pointer;color:#5a8ab0;font-family:DM Sans,sans-serif;transition:all .2s}.cal-tab-btn:hover{background:#7a9e8a1f}.cal-tab-btn.active{background:linear-gradient(135deg,#d0e8f8,#e8d4f0);color:#3a4a40;font-weight:600;border-color:transparent}.cal-tab-btn.disabled{opacity:.45;cursor:default}.cal-card{background:#ffffffb3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px;border:1px solid rgba(255,255,255,.88);padding:20px 20px 16px;box-shadow:0 4px 20px #5a8cb412}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-nav-btn{background:#7a9e8a1f;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1rem;color:#5a8ab0;display:flex;align-items:center;justify-content:center;transition:background .15s}.cal-nav-btn:hover{background:#7a9e8a40}.cal-month-label{font-size:.95rem;font-weight:600;color:#3a4a40}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:14px}.cal-dow{text-align:center;font-size:.65rem;color:#9aaa98;letter-spacing:.06em;text-transform:uppercase;padding-bottom:4px;font-weight:600}.cal-day{min-height:54px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;position:relative;font-size:.8rem;color:#4a5a4a;transition:background .15s;min-width:0;padding:4px 2px 2px;overflow:hidden}.cal-day-events{width:100%;display:flex;flex-direction:column;gap:1px;margin-top:2px}.cal-day-event-label{font-size:.52rem;line-height:1.3;padding:1px 3px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-weight:500}.cal-day-event-label.termin{background:#64a0c826;color:#3a6a8a}.cal-day-event-label.bday{background:#dc78a01f;color:#9a4a6a}.cal-day-event-more{font-size:.5rem;color:#8a9e94;text-align:center;font-weight:500}.cal-day:hover{background:#7a9e8a21}.cal-day.today{background:#7a9e8a2e;font-weight:700;color:#2d5070}.cal-day.selected{background:linear-gradient(135deg,#c8e4f8,#e0ccf4);color:#2d4a62;font-weight:700}.cal-day.other-month{color:#c0d4e4}.cal-day.has-event:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:#88b4d4}.cal-day.has-birthday:after{background:#e88aaa}.cal-day.has-both:after{background:linear-gradient(90deg,#88b4d4 50%,#e88aaa 50%);width:10px}.cal-day.period-day{background:#d2506e2e;color:#b03055}.cal-day.period-range-start{background:#d23c6452!important;color:#8a1840!important;font-weight:700;border-radius:10px 0 0 10px;box-shadow:inset 0 0 0 2px #c83c6473}.cal-day.period-range-end{background:#d23c6452!important;color:#8a1840!important;font-weight:700;border-radius:0 10px 10px 0;box-shadow:inset 0 0 0 2px #c83c6473}.cal-day.period-range-start.period-range-end{border-radius:10px}.cal-day.period-selecting{background:#dc648c61!important;color:#8a1840!important;font-weight:700;animation:pulsePeriod 1.2s ease-in-out infinite;box-shadow:0 0 0 3px #c8507859}.cal-day.period-clicked{background:#fff!important;color:#2a3a30!important;font-weight:700;box-shadow:0 0 0 2.5px #5f7a6e73}.cal-day.fertile-day{background:#82d2a02e}.cal-day.ovulation-day{background:#64be8c4d;font-weight:700}.cal-day.pregnancy-day{background:#c8e6b459}.period-date-picker{background:linear-gradient(135deg,#ffeef6eb,#f8e4f0eb);border:1px solid rgba(210,110,140,.28);border-radius:14px;padding:13px 16px;margin-bottom:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.period-picker-label{font-size:.85rem;font-weight:600;color:#884058;flex:1;min-width:120px}.period-picker-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.period-picker-btn{padding:7px 18px;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;border:1.5px solid rgba(210,100,130,.35);background:#ffffffd9;transition:all .15s}.period-picker-btn.start{color:#c04060}.period-picker-btn.start:hover{background:#dc506e1f}.period-picker-btn.end{color:#8050a8;border-color:#a064c859}.period-picker-btn.end:hover{background:#a064c81a}.period-picker-cancel{background:none;border:none;color:#c0a0b0;cursor:pointer;font-size:.85rem;padding:4px 6px;line-height:1}.period-picker-cancel:hover{color:#a07090}.period-picker-groups{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.period-picker-group{display:flex;flex-direction:column;gap:4px;min-width:110px}.period-picker-group-label{font-size:.66rem;font-weight:700;color:#a080a0;text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px}.period-picker-btn.preg{color:#6050a0;border-color:#6e50b459}.period-picker-btn.preg:hover{background:#6e50b41a}.period-picker-btn.test-pos{color:#3a8060;border-color:#3ca06459}.period-picker-btn.test-pos:hover{background:#3ca0641a}.period-picker-btn.test-neg{color:#707080;border-color:#9696aa59}.period-picker-btn.test-neg:hover{background:#9696aa1a}.period-picker-btn.pill{color:#3070b0;border-color:#3c82c859}.period-picker-btn.pill:hover{background:#3c82c81a}.period-picker-btn.pill-after{color:#8040c0;border-color:#963cd259}.period-picker-btn.pill-after:hover{background:#963cd21a}.period-picker-btn.preg-remove{color:#b07080;border-color:#b4647840;font-size:.72rem}.period-picker-btn.sex-prot{color:#2a7a58;border-color:#28a06e59}.period-picker-btn.sex-prot:hover{background:#28a06e1a}.period-picker-btn.sex-unprot{color:#c06030;border-color:#d26e3259}.period-picker-btn.sex-unprot:hover{background:#d26e321a}.cal-day.predicted-period{background:#dc556e12;box-shadow:inset 0 0 0 1.5px #dc556e66}.cal-day.predicted-period .cal-day-num{color:#c05570}.cal-dot.dot-pill{background:#5098d8}.cal-dot.dot-pill-after{background:#9050d0}.cal-dot.dot-test-pos{background:#44aa70}.cal-dot.dot-test-neg{background:#a0a0b0}.cal-dot.dot-sex-prot{background:#28a06e}.cal-dot.dot-sex-unprot{background:#d07038}.pill-settings-card{background:linear-gradient(135deg,#d2e6ff4d,#dcf5fa4d);border:1px solid rgba(80,140,210,.22);border-radius:14px;padding:13px 16px;margin-bottom:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.preg-info-row{background:#b4e6c833;border:1px solid rgba(100,190,150,.25);border-radius:12px;padding:10px 14px;margin-bottom:10px;font-size:.82rem;color:#3a7060;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.period-select-hint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#dc64821a;border:1px solid rgba(200,80,120,.2);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:.8rem;color:#a03060}.period-select-hint strong{font-weight:600}.period-hint-cancel{margin-left:auto;background:none;border:none;font-size:.75rem;color:#c08090;cursor:pointer;text-decoration:underline;padding:0}.period-ranges-list{margin-top:12px}.period-range-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#ffffffb3;border-radius:10px;margin-bottom:6px;font-size:.8rem;color:#6a3858;border:1px solid rgba(200,130,160,.2)}.period-range-del{margin-left:auto;background:none;border:none;color:#c09090;cursor:pointer;font-size:.75rem;padding:2px 5px;border-radius:6px}.period-range-del:hover{background:#c864641a}.cal-day-num{font-size:.78rem;line-height:1}.cal-day-dots{display:flex;gap:2px;margin-top:1px;flex-wrap:wrap;justify-content:center}.cal-dot{width:4px;height:4px;border-radius:50%;flex-shrink:0}.cycle-wheel-container{margin-top:18px;background:#fff9;border:1px solid rgba(180,160,190,.2);border-radius:16px;padding:18px 14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.cycle-wheel-title{font-size:.88rem;font-weight:700;color:#3a5248;text-align:center;margin-bottom:10px;font-family:Cormorant Garamond,serif}.cycle-wheel-svg-wrap{display:flex;justify-content:center;margin-bottom:14px}.cycle-wheel-svg-wrap svg{max-width:240px;height:auto;filter:drop-shadow(0 2px 8px rgba(100,80,120,.1))}.cycle-wheel-legend{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.cycle-legend-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;font-size:.76rem;color:#5a4a60;background:#fff6;border:1px solid rgba(180,160,190,.12);transition:all .2s}.cycle-legend-item.active{background:#ffffffd9;border-color:#8c78b44d;box-shadow:0 1px 6px #7864a01f;font-weight:600}.cycle-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cycle-legend-label{flex:1}.cycle-legend-days{font-size:.68rem;color:#a098a8;white-space:nowrap}.cycle-progress-bar{margin-top:2px}.cycle-progress-label{display:flex;justify-content:space-between;font-size:.72rem;color:#8a7a90;margin-bottom:4px}.cycle-progress-track{height:8px;background:#b4aabe26;border-radius:4px;overflow:hidden}.cycle-progress-fill{height:100%;border-radius:4px;transition:width .4s ease,background .3s ease}.cal-day-detail{background:#ffffffd1;border-radius:14px;border:1px solid rgba(200,220,240,.6);padding:14px 16px;margin-top:12px}.cal-day-detail-title{font-size:.82rem;font-weight:600;color:#3a4a40;margin-bottom:10px}.cal-event-item{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(180,210,230,.3);font-size:.8rem}.cal-event-item:last-child{border-bottom:none}.cal-event-icon{font-size:.9rem;flex-shrink:0}.cal-event-info{flex:1}.cal-event-title{color:#2d4a62;font-weight:500}.cal-event-time{color:#8a9e94;font-size:.72rem}.cal-event-del{background:none;border:none;color:#c09090;cursor:pointer;font-size:.75rem;padding:2px 5px;border-radius:6px}.cal-event-del:hover{background:#c864641a}.cal-add-form{margin-top:14px;display:grid;gap:10px;padding:14px 16px;background:#f8fcffd9;border-radius:14px;border:1px dashed rgba(122,158,138,.25)}.cal-add-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.cal-input{font-size:.8rem;border:1px solid rgba(95,122,110,.2);border-radius:10px;padding:7px 10px;background:#fffc;color:#3a4a40;font-family:DM Sans,sans-serif;outline:none;transition:border-color .2s}.cal-input:focus{border-color:#7a9e8a80}.period-legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:.72rem}.period-legend-item{display:flex;align-items:center;gap:5px;color:#7a9ab0}.period-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.period-symptom-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.period-chip{padding:4px 12px;border-radius:20px;font-size:.72rem;cursor:pointer;border:1px solid rgba(200,140,180,.3);background:#ffffffb3;color:#9a70a0;transition:all .15s}.period-chip.active{background:#dc8cb433;color:#c060a0;border-color:#dc8cb480;font-weight:600}.period-info-card{background:#fff0f8cc;border-radius:14px;border:1px solid rgba(220,160,190,.2);padding:12px 16px;font-size:.8rem;color:#8a5070;margin-top:10px;display:flex;flex-wrap:wrap;gap:12px}.period-info-item{display:flex;flex-direction:column;gap:2px}.period-info-label{font-size:.68rem;color:#b090a0;text-transform:uppercase;letter-spacing:.08em}.period-info-value{font-weight:600;color:#803060}#reminder-stack{position:fixed;top:80px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:320px;width:100%}.reminder-card{background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;border:1px solid rgba(200,220,240,.7);box-shadow:0 8px 30px #5078b42e;padding:14px 16px;pointer-events:all;animation:slideInRight .3s ease}.reminder-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.reminder-icon{font-size:1.4rem;flex-shrink:0}.reminder-title{font-size:.85rem;font-weight:600;color:#2d4a62;line-height:1.3}.reminder-time{font-size:.72rem;color:#8a9e94;margin-top:1px}.reminder-actions{display:flex;gap:8px}.reminder-btn{flex:1;padding:7px 10px;border-radius:10px;border:none;font-family:DM Sans,sans-serif;font-size:.78rem;cursor:pointer;transition:all .15s}.reminder-btn-snooze{background:#7a9e8a1f;color:#5a90c0}.reminder-btn-snooze:hover{background:#7a9e8a38}.reminder-btn-close{background:#c8dcf040;color:#6a8aa8}.reminder-btn-close:hover{background:#c8dcf066}#auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:linear-gradient(160deg,#e8f4ff,#ece8e0 40%,#ffe8f4);display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.auth-clouds{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.auth-cloud{position:absolute;border-radius:50%;background:#ffffff8c;filter:blur(30px);animation:authCloudDrift 18s ease-in-out infinite alternate}.auth-card{position:relative;z-index:1;background:#ffffffd1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;border:1px solid rgba(255,255,255,.95);box-shadow:0 20px 60px #648cc826;padding:40px 36px 32px;width:100%;max-width:420px;text-align:center}.auth-logo{font-family:Cormorant Garamond,serif;font-size:2rem;color:#2d4a62;margin-bottom:4px;letter-spacing:.08em}.auth-tagline{font-size:.82rem;color:#8ab0cc;margin-bottom:28px;letter-spacing:.12em}.auth-title{font-size:1.05rem;font-weight:700;color:#3a4a40;margin-bottom:6px}.auth-sub{font-size:.8rem;color:#8a9e94;margin-bottom:22px;line-height:1.6}.auth-input{width:100%;padding:12px 16px;font-size:.88rem;border:1.5px solid rgba(122,158,138,.22);border-radius:14px;background:#ffffffd9;color:#3a4a40;font-family:DM Sans,sans-serif;outline:none;box-sizing:border-box;transition:border-color .2s;margin-bottom:12px}.auth-input:focus{border-color:#7a9e8a80}.auth-btn-primary{width:100%;padding:13px;font-size:.92rem;font-weight:600;background:linear-gradient(135deg,#88c8e8,#c8a0e8);color:#fff;border:none;border-radius:14px;cursor:pointer;font-family:DM Sans,sans-serif;transition:opacity .2s;margin-bottom:14px;box-shadow:0 4px 16px #8cb4e64d}.auth-btn-primary:hover{opacity:.9}.auth-btn-secondary{width:100%;padding:12px;font-size:.88rem;font-weight:500;background:#7a9e8a1a;color:#5a88b0;border:1.5px solid rgba(122,158,138,.2);border-radius:14px;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .2s;margin-bottom:10px}.auth-btn-secondary:hover{background:#7a9e8a2e}.auth-btn-ghost{background:none;border:none;font-size:.78rem;color:#9aaa98;cursor:pointer;font-family:DM Sans,sans-serif;transition:color .2s;padding:4px 8px}.auth-btn-ghost:hover{color:#5a88b0}.auth-error{background:#dc64641a;border:1px solid rgba(220,100,100,.2);border-radius:10px;padding:10px 14px;font-size:.8rem;color:#c05060;margin-bottom:14px;display:none}.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:.72rem;color:#b0c4b0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#a0c8e64d}.auth-trial-badge{display:inline-block;background:linear-gradient(135deg,#e8f8e0,#d0f0d8);color:#3a8050;border-radius:20px;padding:5px 14px;font-size:.75rem;font-weight:600;margin-bottom:20px;border:1px solid rgba(100,200,120,.3)}.auth-expired-icon{font-size:3.5rem;margin-bottom:12px}.auth-expired-title{font-size:1.2rem;font-weight:700;color:#2d4a62;margin-bottom:8px}.auth-expired-sub{font-size:.85rem;color:#8a9a8a;line-height:1.7;margin-bottom:22px}.auth-price-tag{background:linear-gradient(135deg,#f0f8ff,#f8f0ff);border:1.5px solid rgba(160,180,220,.3);border-radius:16px;padding:16px 20px;margin-bottom:22px}.auth-price-amount{font-size:2rem;font-weight:700;color:#2d4a62}.auth-price-period{font-size:.82rem;color:#8a9e94}.auth-features{text-align:left;margin-bottom:22px}.auth-feature-row{display:flex;align-items:center;gap:10px;font-size:.82rem;color:#4a5a4a;padding:5px 0}.auth-feature-icon{font-size:1rem;flex-shrink:0}.auth-trial-remaining{font-size:.75rem;color:#72a870;font-weight:500;margin-top:-6px;margin-bottom:10px}.ern-locked{background:linear-gradient(135deg,#f0fcf5b3,#f8fffab3);border:1px solid rgba(80,180,120,.2);border-radius:20px;padding:40px 28px;text-align:center;margin-top:24px}.ern-locked-icon{font-size:3rem;margin-bottom:14px}.ern-locked-title{font-family:Cormorant Garamond,serif;font-size:1.6rem;color:#3a4a40;margin-bottom:10px;font-style:italic}.ern-locked-sub{font-size:.88rem;color:#6a8a78;line-height:1.7;margin-bottom:22px}.ern-preview-cards{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:22px 0;opacity:.45;pointer-events:none;filter:blur(2px)}.ern-preview-card{background:#ffffffb3;border:1px solid rgba(160,196,170,.3);border-radius:14px;padding:14px 18px;font-size:.82rem;color:#5a7a8a;min-width:110px;text-align:center}.ern-header{margin-top:24px;margin-bottom:20px}.ern-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;color:#3a4a40;font-style:italic;margin-bottom:14px;text-align:center}.ern-progress-wrap{margin-bottom:6px}.ern-progress-bar{height:5px;background:#a0c4aa33;border-radius:10px;overflow:hidden}.ern-progress-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#7a9e8a,#a0d0c0);transition:width .4s ease}.ern-step-dots{display:flex;justify-content:center;gap:8px;margin-top:10px;flex-wrap:wrap}.ern-step-dot{width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(160,196,170,.4);background:#fff9;display:flex;align-items:center;justify-content:center;font-size:.68rem;color:#8a9e94;cursor:pointer;transition:all .2s;font-weight:600}.ern-step-dot.done{background:#7a9e8a33;border-color:#7a9e8a;color:#3a5a48}.ern-step-dot.active{background:linear-gradient(135deg,#7a9e8a,#7ec5c0);border-color:transparent;color:#fff;box-shadow:0 2px 8px #7a9e8a59}.ern-step-label{font-size:.72rem;color:#8a9e94;text-align:center;margin-bottom:16px;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.ern-goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px}.ern-goal-card{background:#ffffffa6;border:1.5px solid rgba(160,196,170,.3);border-radius:16px;padding:20px 14px;text-align:center;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.ern-goal-card:hover{border-color:#7a9e8a;background:#f0faffcc}.ern-goal-card.selected{border-color:#7a9e8a;background:linear-gradient(135deg,#d0e8f88c,#d0f0e08c);box-shadow:0 0 0 3px #7a9e8a26}.ern-goal-icon{font-size:2rem;margin-bottom:8px}.ern-goal-name{font-size:.88rem;font-weight:600;color:#3a4a40}.ern-goal-sub{font-size:.72rem;color:#8a9e94;margin-top:4px}.ern-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ern-opt{padding:8px 16px;border-radius:20px;border:1.5px solid rgba(160,196,170,.35);background:#ffffffb3;font-size:.82rem;color:#5a7a6a;cursor:pointer;transition:all .15s;font-family:DM Sans,sans-serif}.ern-opt:hover{border-color:#7a9e8a}.ern-opt.selected{background:linear-gradient(135deg,#d0e8f8,#d8f0e8);border-color:#7a9e8a;color:#3a4a40;font-weight:600}.ern-check-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.ern-check-item{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#ffffffa6;border:1.5px solid rgba(160,196,170,.3);border-radius:12px;cursor:pointer;transition:all .15s;font-size:.84rem;color:#4a5a4a}.ern-check-item.checked{border-color:#7a9e8a;background:#d0e8f873;color:#3a4a40;font-weight:600}.ern-check-item input[type=checkbox]{display:none}.ern-disease-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.ern-disease-card{background:#ffffffa6;border:1.5px solid rgba(160,196,170,.28);border-radius:14px;padding:14px 16px;cursor:pointer;transition:all .18s}.ern-disease-card:hover{border-color:#7a9e8a}.ern-disease-card.selected{border-color:#7a9e8a;background:#d0e8f861}.ern-disease-header{display:flex;align-items:center;gap:10px}.ern-disease-icon{font-size:1.2rem}.ern-disease-name{font-size:.88rem;font-weight:600;color:#3a4a40;flex:1}.ern-disease-detail{margin-top:10px;padding-top:10px;border-top:1px solid rgba(160,196,170,.2);display:none;font-size:.78rem;color:#5a7a90;line-height:1.6}.ern-disease-card.selected .ern-disease-detail{display:block}.ern-detail-row{display:flex;gap:8px;margin-bottom:5px;flex-wrap:wrap}.ern-detail-tag{padding:2px 10px;border-radius:20px;font-size:.72rem;font-weight:600}.ern-detail-tag.good{background:#50b47826;color:#3a7050}.ern-detail-tag.bad{background:#dc50501a;color:#903030}.ern-detail-tag.supp{background:#5f82c826;color:#3050a0}.ern-supp-search{width:100%;padding:10px 16px;border-radius:12px;border:1.5px solid rgba(160,196,170,.35);background:#ffffffbf;font-size:.84rem;color:#3a4a40;font-family:DM Sans,sans-serif;margin-bottom:14px;box-sizing:border-box}.ern-supp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px;margin-bottom:14px}.ern-supp-card{background:#ffffffa6;border:1px solid rgba(160,196,170,.28);border-radius:14px;padding:14px 12px;cursor:pointer;transition:all .15s}.ern-supp-card:hover{border-color:#7a9e8a;box-shadow:0 3px 10px #5f7a6e1a}.ern-supp-card.highlighted{border-color:#7a9e8a;background:#d0e8da59}.ern-supp-card.selected{border-color:#8aad82;background:#8aad821a;box-shadow:0 2px 8px #8aad8226}.ern-supp-icon{font-size:1.5rem;margin-bottom:6px}.ern-supp-name{font-size:.82rem;font-weight:600;color:#3a4a40;margin-bottom:3px}.ern-supp-short{font-size:.72rem;color:#8a9a8a;line-height:1.4}.ern-supp-detail{margin-top:6px;font-size:.72rem;color:#5a8090;line-height:1.5;display:none;padding-top:6px;border-top:1px solid rgba(160,196,170,.2)}.ern-supp-card.open .ern-supp-detail{display:block}.ern-warning{background:#ffe6b466;border:1px solid rgba(220,160,60,.3);border-radius:12px;padding:12px 16px;font-size:.78rem;color:#7a5020;margin-bottom:14px;line-height:1.55}.ern-plan-card{background:linear-gradient(135deg,#f0fcf8b3,#f8fcffb3);border:1px solid rgba(122,158,138,.22);border-radius:18px;padding:22px 20px;margin-bottom:14px}.ern-plan-title{font-family:Cormorant Garamond,serif;font-size:1.2rem;color:#3a4a40;font-style:italic;margin-bottom:14px}.ern-kcal-row{font-size:2rem;font-weight:700;color:#3a5a48;text-align:center;margin:10px 0 4px}.ern-kcal-sub{font-size:.78rem;color:#8a9e94;text-align:center;margin-bottom:16px}.ern-macro-bars{margin-bottom:16px}.ern-macro-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.ern-macro-label{font-size:.78rem;color:#5a7a90;width:80px;flex-shrink:0}.ern-macro-track{flex:1;height:8px;background:#a0c4aa33;border-radius:10px;overflow:hidden}.ern-macro-fill{height:100%;border-radius:10px}.ern-macro-pct{font-size:.75rem;color:#5a7a90;width:34px;text-align:right;flex-shrink:0}.ern-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:16px}.ern-info-item{background:#fff9;border:1px solid rgba(160,196,170,.22);border-radius:12px;padding:12px;text-align:center}.ern-info-val{font-size:1.1rem;font-weight:700;color:#3a4a40}.ern-info-lbl{font-size:.68rem;color:#8a9e94;margin-top:3px}.ern-meal-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.ern-meal-card{background:#fff9;border:1px solid rgba(160,196,170,.22);border-radius:14px;padding:14px 16px}.ern-meal-time{font-size:.72rem;color:#8a9e94;font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}.ern-meal-name{font-size:.88rem;font-weight:600;color:#3a4a40;margin-bottom:4px}.ern-meal-desc{font-size:.78rem;color:#6a8898;line-height:1.5}.ern-food-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ern-food-tag{padding:3px 10px;background:#a0d2b933;border-radius:20px;font-size:.72rem;color:#3a6050;font-weight:500}.ern-food-tag.avoid{background:#dc64641a;color:#903030}.ern-nav{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-bottom:20px}.ern-nav-back{padding:10px 22px;border-radius:12px;border:1.5px solid rgba(160,196,170,.35);background:#ffffffb3;color:#5a7a6a;font-size:.86rem;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s}.ern-nav-back:hover{border-color:#7a9e8a}.ern-nav-next{padding:11px 28px;border-radius:12px;background:linear-gradient(135deg,#7a9e8a,#6fbcb0);color:#fff;border:none;font-size:.88rem;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;box-shadow:0 4px 14px #7a9e8a59;transition:all .15s}.ern-nav-next:hover{box-shadow:0 6px 18px #7a9e8a73;transform:translateY(-1px)}.ern-field-label{font-size:.8rem;color:#8a9a8a;font-weight:600;margin-bottom:5px;display:block}.ern-input{width:100%;padding:10px 14px;border-radius:12px;border:1.5px solid rgba(160,196,170,.35);background:#ffffffbf;font-size:.88rem;color:#3a4a40;font-family:DM Sans,sans-serif;box-sizing:border-box;margin-bottom:14px}.ern-input:focus{outline:none;border-color:#7a9e8a}.ern-chart-wrap{background:#ffffff8c;border:1px solid rgba(160,196,170,.28);border-radius:14px;padding:14px 12px;margin-top:10px}.ern-chart-title{font-size:.75rem;color:#8a9e94;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.07em}.ern-chart-svg{width:100%;height:100px}.ern-weight-row{display:flex;gap:8px;margin-top:8px}.weight-unit-toggle{display:flex;gap:0;margin-bottom:8px;border-radius:10px;overflow:hidden;border:1px solid rgba(140,170,140,.25);width:fit-content}.weight-unit-btn{padding:6px 18px;font-size:.78rem;font-weight:600;border:none;cursor:pointer;background:#ffffff80;color:#7a8e84;transition:all .2s;font-family:inherit}.weight-unit-btn.active{background:linear-gradient(135deg,#5fa3a0,#8aad82);color:#fff;box-shadow:0 2px 8px #5fa3a040}.weight-unit-btn:not(.active):hover{background:#8aad821f}#daily-quote-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1e32468c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px}#daily-quote-modal.open{display:flex}.dq-card{background:linear-gradient(145deg,#fff9f4,#f0f7ff);border-radius:24px;padding:32px 28px 24px;max-width:380px;width:100%;box-shadow:0 20px 60px #2850782e;text-align:center;position:relative;animation:dqIn .4s cubic-bezier(.22,1,.36,1)}.dq-close{position:absolute;top:14px;right:18px;font-size:1.2rem;background:none;border:none;cursor:pointer;color:#9ab8cc}.dq-close:hover{color:#3a4a40}.dq-icon{font-size:2.4rem;margin-bottom:10px}.dq-label{font-size:.72rem;letter-spacing:.12em;color:#a0c0d8;text-transform:uppercase;margin-bottom:8px}.dq-text{font-family:Cormorant Garamond,serif;font-size:1.22rem;color:#2d4a62;line-height:1.65;font-style:italic;margin-bottom:10px}.dq-author{font-size:.76rem;color:#8a9e94;margin-bottom:20px}.dq-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.dq-btn{padding:9px 22px;border-radius:20px;border:none;cursor:pointer;font-size:.82rem;font-weight:600}.dq-btn-primary{background:linear-gradient(135deg,#7a9e8a,#8aad82);color:#fff}.dq-btn-secondary{background:#5fa3c81f;color:#5a88b0}.dq-off-row{font-size:.72rem;color:#b0c4b0;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:6px}.lang-switcher{display:flex;gap:4px;align-items:center}.lang-btn{padding:4px 10px;border-radius:14px;border:1.5px solid rgba(95,163,200,.3);background:transparent;color:#5a88b0;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.04em}.lang-btn.active{background:#5fa3c82e;border-color:#7a9e8a;color:#3a6888}.lang-btn:hover{background:#5fa3c81f}.comment-lang-badge{display:inline-block;font-size:.65rem;padding:1px 6px;border-radius:8px;background:#5fa3c81f;color:#7aaccc;margin-left:6px;vertical-align:middle;cursor:pointer;border:1px solid rgba(95,163,200,.2)}.comment-lang-badge:hover{background:#5fa3c838}@keyframes driftCloud{0%{transform:translate(-120px);opacity:0}5%{opacity:1}95%{opacity:1}to{transform:translate(calc(100vw + 120px));opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 #72d4a080}50%{box-shadow:0 0 0 6px #72d4a000}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}80%{opacity:1}to{transform:translateY(110vh) rotate(820deg);opacity:0}}@keyframes pulsePeriod{0%,to{box-shadow:0 0 0 3px #c8507859}50%{box-shadow:0 0 0 6px #c8507826}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes authCloudDrift{0%{transform:translate(-20px) translateY(0)}to{transform:translate(20px) translateY(-15px)}}@keyframes dqIn{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:none;opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pageSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.skeleton-shimmer{background:linear-gradient(90deg,#c8d7e626 25%,#c8d7e659,#c8d7e626 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.page-transition{animation:pageSlideIn .35s ease-out}
