@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap";
:root,[data-theme=dark]{--bg-base:#060d18;--bg-surface:#0a1628;--bg-elevated:#0f1f38;--bg-card:#111d35;--bg-card-hover:#152340;--bg-nav:#060d18e6;--nav-border:#10b9811a;--primary:#10b981;--primary-light:#34d399;--primary-dark:#059669;--primary-glow:#10b98133;--primary-soft:#10b9811a;--accent:#22d3ee;--accent-glow:#22d3ee26;--normal:#22c55e;--normal-bg:#22c55e1a;--normal-border:#22c55e40;--low:#f59e0b;--low-bg:#f59e0b1a;--low-border:#f59e0b40;--high:#f43f5e;--high-bg:#f43f5e1a;--high-border:#f43f5e40;--borderline:#fb923c;--borderline-bg:#fb923c1a;--borderline-border:#fb923c40;--text-primary:#e8f0fe;--text-secondary:#7fa8c9;--text-muted:#3d5a7a;--border:#ffffff0f;--border-card:#10b9811f;--border-hover:#10b98161;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 8px 32px #0009;--shadow-glow:0 0 40px #10b98124;--shadow-card:0 4px 24px #0006;--grad-primary:linear-gradient(135deg, #059669, #10b981, #34d399);--grad-hero:linear-gradient(160deg, #060d18 0%, #091520 45%, #0a1628 100%);--grad-cta:linear-gradient(135deg, #059669 0%, #10b981 60%, #34d399 100%);--grad-accent:linear-gradient(135deg, #10b981, #22d3ee);--grad-card:linear-gradient(135deg, #10b9810d, #22d3ee05);--hero-grid:#10b9810a;--toggle-bg:#ffffff0f;--toggle-hover:#ffffff1f;--toggle-color:#f59e0b}[data-theme=light]{--bg-base:#f4f6ff;--bg-surface:#eef0fb;--bg-elevated:#fff;--bg-card:#fff;--bg-card-hover:#f8faff;--bg-nav:#ffffffeb;--nav-border:#0000000f;--primary:#059669;--primary-light:#10b981;--primary-dark:#047857;--primary-glow:#0596692e;--primary-soft:#05966914;--accent:#0891b2;--accent-glow:#0891b226;--normal:#16a34a;--normal-bg:#16a34a14;--normal-border:#16a34a38;--low:#d97706;--low-bg:#d9770614;--low-border:#d9770638;--high:#e11d48;--high-bg:#e11d4814;--high-border:#e11d4838;--borderline:#ea580c;--borderline-bg:#ea580c14;--borderline-border:#ea580c38;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#00000012;--border-card:#0000000d;--border-hover:#05966959;--shadow-sm:0 2px 8px #00000012;--shadow-md:0 8px 32px #0000001a;--shadow-glow:0 4px 24px #0596691f;--shadow-card:0 2px 12px #0000000f;--grad-primary:linear-gradient(135deg, #047857, #059669, #10b981);--grad-hero:linear-gradient(160deg, #eef0fb 0%, #f0f4ff 50%, #f4f6ff 100%);--grad-cta:linear-gradient(135deg, #047857 0%, #059669 60%, #10b981 100%);--grad-accent:linear-gradient(135deg, #059669, #0891b2);--grad-card:linear-gradient(135deg, #0596690a, #0891b205);--hero-grid:#6366f10d;--toggle-bg:#0000000d;--toggle-hover:#0000001a;--toggle-color:#6366f1}*,:before,:after{transition:background-color .25s,border-color .25s,color .25s,box-shadow .25s}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-base);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,sans-serif;font-weight:700;line-height:1.2}a{color:var(--primary-light);text-decoration:none}a:hover{color:var(--accent)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--primary-dark);border-radius:9999px}.gradient-text{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-tag{background:var(--primary-soft);color:var(--primary);letter-spacing:.09em;text-transform:uppercase;border:1px solid #05966933;border-radius:9999px;margin-bottom:14px;padding:5px 14px;font-size:.72rem;font-weight:700;display:inline-block}[data-theme=dark] .section-tag{color:var(--primary-light);border-color:#10b98138}.section-header{text-align:center;margin-bottom:52px}.section-header h2{margin-bottom:14px;font-size:clamp(1.8rem,4vw,2.8rem)}.section-header p{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:1rem;line-height:1.75}.nav{z-index:1000;background:var(--bg-nav);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--nav-border);padding:0 18px;position:sticky;top:0}.nav-inner{align-items:center;gap:clamp(18px,2vw,40px);max-width:1380px;height:82px;margin:0 auto;display:flex}.nav-logo{color:var(--text-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;margin-right:clamp(6px,1vw,18px);font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:800;display:flex}.logo-ai{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.nav-links{flex:1;justify-content:center;align-items:center;gap:clamp(18px,1.7vw,36px);margin-left:auto;margin-right:clamp(4px,1vw,12px);list-style:none;display:flex}.nav-links li{align-items:center;display:flex}.nav-links a{color:var(--text-secondary);font-size:.88rem;font-weight:500}.nav-links a:hover{color:var(--text-primary)}.theme-toggle{background:var(--toggle-bg);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--toggle-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--toggle-hover);transform:rotate(20deg)scale(1.1)}.nav-cta{white-space:nowrap;box-shadow:0 4px 20px var(--primary-glow);border-radius:9999px;padding:9px 22px;font-weight:700;background:var(--grad-cta)!important;color:#fff!important;font-size:.85rem!important}.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 30px #05966973;color:#fff!important}.nav-right-mobile{align-items:center;gap:10px;display:none}.nav-mobile-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.mobile-nav-menu{display:none}.btn-primary{background:var(--grad-cta);color:#fff;cursor:pointer;box-shadow:0 4px 28px var(--primary-glow);white-space:nowrap;border:none;border-radius:9999px;align-items:center;gap:10px;padding:14px 32px;font-family:Outfit,sans-serif;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary:hover{color:#fff;transform:translateY(-3px);box-shadow:0 10px 40px #05966973}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:9999px;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--text-primary);transform:translateY(-2px)}.hero{text-align:center;background:var(--grad-hero);padding:110px 24px 90px;position:relative;overflow:hidden}.hero:before{content:"";background-image:linear-gradient(var(--hero-grid) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid) 1px, transparent 1px);pointer-events:none;background-size:60px 60px;position:absolute;inset:0}.hero-orbs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.orb{filter:blur(90px);border-radius:50%;animation:9s ease-in-out infinite orbFloat;position:absolute}[data-theme=dark] .orb{opacity:.13}[data-theme=light] .orb{opacity:.22}.orb-1{background:#10b981;width:600px;height:600px;animation-delay:0s;top:-250px;left:-150px}.orb-2{background:#6366f1;width:450px;height:450px;animation-delay:4s;top:-150px;right:-150px}.orb-3{background:#34d399;width:350px;height:350px;animation-delay:7s;bottom:-150px;left:50%}@keyframes orbFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-28px)scale(1.04)}}.orb-3{animation:9s ease-in-out 7s infinite orbFloat3}@keyframes orbFloat3{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-28px)}}.hero-content{z-index:1;max-width:860px;margin:0 auto;position:relative}.hero-badge{background:var(--primary-soft);color:var(--primary);letter-spacing:.06em;text-transform:uppercase;border:1px solid #05966940;border-radius:9999px;align-items:center;gap:8px;margin-bottom:28px;padding:7px 18px;font-size:.78rem;font-weight:700;display:inline-flex}[data-theme=dark] .hero-badge{color:var(--primary-light)}.badge-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;animation:1.8s infinite pulseDot}[data-theme=dark] .badge-dot{background:var(--primary-light)}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.hero h1{margin-bottom:26px;font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:900;line-height:1.08}.hero-subtitle{color:var(--text-secondary);max-width:640px;margin:0 auto 44px;font-size:clamp(1rem,2vw,1.2rem);line-height:1.8}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:64px;display:flex}.hero-stats{flex-wrap:wrap;justify-content:center;align-items:center;gap:44px;display:flex}.stat-item{text-align:center}.stat-number{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:5px;font-family:Outfit,sans-serif;font-size:2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.hero-divider{background:var(--border);width:1px;height:44px}.upload-section{background:var(--bg-surface);padding:80px 24px}.patient-info-row{grid-template-columns:1fr 1fr;gap:16px;max-width:680px;margin:0 auto 24px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600}.form-group select,.form-group input[type=number]{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);appearance:none;cursor:pointer;border-radius:14px;outline:none;padding:11px 14px;font-family:Inter,sans-serif;font-size:.9rem}.form-group select:focus,.form-group input[type=number]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-group select option{background:var(--bg-card);color:var(--text-primary)}.upload-dropzone{background:var(--bg-card);border:2px dashed var(--border-card);text-align:center;cursor:pointer;border-radius:28px;max-width:680px;margin:0 auto 24px;padding:60px 40px}.upload-dropzone:hover,.upload-dropzone.drag-over{border-color:var(--primary);background:var(--bg-card-hover);box-shadow:0 0 0 1px #0596691f, 0 0 60px var(--primary-glow)}.upload-icon{background:var(--primary-soft);border:1px solid #0596692e;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 22px;font-size:2rem;display:flex}.upload-dropzone:hover .upload-icon{box-shadow:0 16px 40px var(--primary-glow);transform:translateY(-6px)scale(1.08)}.upload-dropzone h3{color:var(--text-primary);margin-bottom:8px;font-size:1.25rem}.upload-dropzone p{color:var(--text-secondary);margin-bottom:26px;font-size:.9rem;line-height:1.6}.upload-formats{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:22px;display:flex}.format-badge{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em;border-radius:9999px;padding:4px 10px;font-size:.7rem;font-weight:600}.upload-btn{background:var(--grad-cta);color:#fff;cursor:pointer;box-shadow:0 4px 20px var(--primary-glow);border:none;border-radius:9999px;align-items:center;gap:8px;padding:12px 30px;font-size:.9rem;font-weight:700;display:inline-flex}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #05966980}.file-preview{background:var(--bg-card);border:1px solid #05966926;border-radius:20px;align-items:center;gap:14px;max-width:680px;margin:0 auto 24px;padding:16px 20px;animation:.3s slideIn;display:flex}.file-preview-icon{background:var(--primary-soft);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;display:flex}.file-preview-info{flex:1;min-width:0}.file-preview-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.file-preview-size{color:var(--text-muted);margin-top:2px;font-size:.78rem}.file-remove-btn{background:var(--high-bg);border:1px solid var(--high-border);color:var(--high);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.file-remove-btn:hover{background:#f43f5e2e}.analyze-wrap{text-align:center;max-width:680px;margin:0 auto}.analyze-btn{background:var(--grad-cta);color:#fff;cursor:pointer;width:100%;max-width:420px;box-shadow:0 8px 40px var(--primary-glow);border:none;border-radius:9999px;justify-content:center;align-items:center;gap:10px;padding:17px 40px;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700;display:inline-flex}.analyze-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 14px 50px #05966980}.analyze-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.error-banner{background:var(--high-bg);border:1px solid var(--high-border);max-width:680px;color:var(--high);border-radius:20px;align-items:flex-start;gap:12px;margin:0 auto 20px;padding:16px 20px;font-size:.875rem;animation:.3s slideIn;display:flex}.loading-section{text-align:center;background:var(--bg-surface);padding:80px 24px}.loading-inner{max-width:500px;margin:0 auto}.dna-spinner{width:80px;height:80px;margin:0 auto 30px;position:relative}.dna-spinner:before,.dna-spinner:after{content:"";border:3px solid #0000;border-radius:50%;position:absolute;inset:0}.dna-spinner:before{border-top-color:var(--primary);border-right-color:var(--primary);animation:1s linear infinite spin}.dna-spinner:after{border-bottom-color:var(--accent);border-left-color:var(--accent);animation:1.5s linear infinite reverse spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:var(--text-primary);margin-bottom:8px;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700}.loading-subtext{color:var(--text-secondary);margin-bottom:30px;font-size:.875rem}.progress-bar-wrap{background:var(--bg-elevated);border-radius:9999px;height:4px;margin-bottom:24px;overflow:hidden}.progress-bar-fill{background:var(--grad-accent);border-radius:9999px;height:100%;animation:12s ease-in-out forwards progressFill}@keyframes progressFill{0%{width:0%}30%{width:42%}60%{width:72%}80%{width:86%}95%{width:95%}}.loading-steps{text-align:left;flex-direction:column;gap:12px;display:flex}.loading-step{color:var(--text-muted);align-items:center;gap:12px;font-size:.85rem;display:flex}.loading-step.active{color:var(--text-primary)}.loading-step.done{color:var(--normal)}.step-dot{background:var(--bg-elevated);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.72rem;display:flex}.loading-step.active .step-dot{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.loading-step.done .step-dot{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal)}.results-section{background:var(--bg-base);padding:60px 24px 80px}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;max-width:1100px;margin-bottom:36px;margin-left:auto;margin-right:auto;display:flex}.results-title-group h2{margin-bottom:6px;font-size:clamp(1.6rem,3vw,2.4rem)}.results-title-group p{color:var(--text-secondary);font-size:.9rem}.results-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-download{background:var(--grad-cta);color:#fff;cursor:pointer;box-shadow:0 4px 20px var(--primary-glow);border:none;border-radius:9999px;align-items:center;gap:8px;padding:11px 24px;font-size:.875rem;font-weight:700;display:inline-flex}.btn-download:hover{transform:translateY(-2px);box-shadow:0 8px 30px #05966980}.btn-reset{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:9999px;align-items:center;gap:8px;padding:11px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.btn-reset:hover{border-color:var(--primary);color:var(--text-primary)}.overall-card{background:var(--bg-card);border:1px solid var(--border-card);max-width:1100px;box-shadow:var(--shadow-card);border-radius:28px;grid-template-columns:1fr auto;align-items:center;gap:24px;margin:0 auto 32px;padding:28px 32px;display:grid}.overall-left h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600}.overall-summary-text{color:var(--text-primary);font-size:1rem;line-height:1.75}.overall-counts{flex-wrap:wrap;gap:24px;display:flex}.count-badge{flex-direction:column;align-items:center;gap:4px;min-width:72px;display:flex}.count-num{font-family:Outfit,sans-serif;font-size:2.4rem;font-weight:800;line-height:1}.count-num.c-normal{color:var(--normal)}.count-num.c-low{color:var(--low)}.count-num.c-high{color:var(--high)}.count-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.7rem;font-weight:600}.results-tabs{background:var(--bg-card);border:1px solid var(--border);width:fit-content;max-width:1100px;box-shadow:var(--shadow-card);border-radius:20px;gap:4px;margin:0 auto 28px;padding:5px;display:flex}.tab-btn{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-radius:14px;align-items:center;gap:7px;padding:9px 22px;font-size:.85rem;font-weight:600;display:flex}.tab-btn.active{background:var(--grad-cta);color:#fff;box-shadow:0 4px 14px var(--primary-glow)}.tab-btn:not(.active):hover{color:var(--text-primary);background:var(--primary-soft)}.tab-count{background:#fff3;border-radius:9999px;padding:1px 7px;font-size:.7rem;font-weight:700}.tab-btn:not(.active) .tab-count{background:var(--border);color:var(--text-muted)}.biomarkers-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;max-width:1100px;margin:0 auto;display:grid}.marker-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:20px;padding:22px;position:relative;overflow:hidden}.marker-card:before{content:"";border-radius:8px 8px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.marker-card.s-normal:before{background:linear-gradient(90deg, var(--normal), #4ade80)}.marker-card.s-low:before{background:linear-gradient(90deg, var(--low), #fbbf24)}.marker-card.s-high:before{background:linear-gradient(90deg, var(--high), #fb923c)}.marker-card.s-borderline:before{background:linear-gradient(90deg, var(--borderline), #fbbf24)}.marker-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.marker-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.marker-name{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:1rem;font-weight:700}.marker-value-wrap{text-align:right;flex-shrink:0}.marker-value{margin-bottom:2px;font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:800;line-height:1}.marker-unit{color:var(--text-muted);font-size:.7rem}.marker-card.s-normal .marker-value{color:var(--normal)}.marker-card.s-low .marker-value{color:var(--low)}.marker-card.s-high .marker-value{color:var(--high)}.marker-card.s-borderline .marker-value{color:var(--borderline)}.status-badge{text-transform:uppercase;letter-spacing:.07em;border-radius:9999px;align-items:center;gap:5px;margin-bottom:10px;padding:4px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.status-badge.s-normal{background:var(--normal-bg);color:var(--normal);border:1px solid var(--normal-border)}.status-badge.s-low{background:var(--low-bg);color:var(--low);border:1px solid var(--low-border)}.status-badge.s-high{background:var(--high-bg);color:var(--high);border:1px solid var(--high-border)}.status-badge.s-borderline{background:var(--borderline-bg);color:var(--borderline);border:1px solid var(--borderline-border)}.marker-range{color:var(--text-muted);margin-bottom:10px;font-size:.75rem}.marker-explanation{color:var(--text-secondary);border-top:1px solid var(--border);padding-top:10px;font-size:.84rem;line-height:1.7}.marker-explanation p{margin:0 0 9px}.marker-explanation p:last-child{margin-bottom:0}.marker-explanation strong{color:var(--text-primary);font-weight:700}.deficiencies-panel{background:var(--bg-card);border:1px solid var(--low-border);max-width:1100px;box-shadow:var(--shadow-card);border-radius:28px;margin:32px auto 0;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:22px 28px;display:flex}.panel-header h3{color:var(--text-primary);margin-bottom:2px;font-size:1.05rem}.panel-header p{color:var(--text-secondary);font-size:.8rem}.panel-header-icon{font-size:1.5rem}.deficiencies-list{flex-wrap:wrap;gap:10px;padding:20px 28px;display:flex}.deficiency-tag{background:var(--low-bg);border:1px solid var(--low-border);color:var(--low);border-radius:9999px;align-items:center;gap:7px;padding:7px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.supplements-wrapper{background:var(--bg-card);border:1px solid var(--border-card);max-width:1100px;box-shadow:var(--shadow-card);border-radius:28px;margin:32px auto 0;overflow:hidden}.supplements-header{background:var(--primary-soft);border-bottom:1px solid #0596691f;align-items:center;gap:14px;padding:22px 28px;display:flex}.supplements-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:20px 28px;display:grid}.supplement-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:20px}.supplement-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.supplement-icon{background:var(--primary-soft);border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:12px;font-size:1.3rem;display:flex}.supplement-name{color:var(--text-primary);margin-bottom:4px;font-family:Outfit,sans-serif;font-size:1rem;font-weight:700}.supplement-dose{background:var(--primary-soft);color:var(--primary);border:1px solid #05966933;border-radius:9999px;margin-bottom:10px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}[data-theme=dark] .supplement-dose{color:var(--primary-light)}.supplement-reason{color:var(--text-secondary);font-size:.83rem;line-height:1.65}.diet-wrapper{background:var(--bg-card);max-width:1100px;box-shadow:var(--shadow-card);border:1px solid #0891b226;border-radius:28px;margin:32px auto 0;overflow:hidden}.diet-header{background:#0891b20f;border-bottom:1px solid #0891b21a;align-items:center;gap:14px;padding:22px 28px;display:flex}.diet-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;padding:20px 28px;display:grid}.diet-item{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:14px;align-items:flex-start;gap:12px;padding:14px;font-size:.85rem;line-height:1.55;display:flex}.diet-item-icon{flex-shrink:0;font-size:1.1rem}.disclaimer-box{background:#0891b20a;border:1px solid #0891b21a;border-radius:20px;align-items:flex-start;gap:14px;max-width:1100px;margin:32px auto 0;padding:18px 24px;display:flex}.disclaimer-text{color:var(--text-muted);font-size:.8rem;line-height:1.75}.disclaimer-text strong{color:var(--text-secondary)}.how-section{background:var(--bg-surface);padding:80px 24px}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;max-width:900px;margin:0 auto;display:grid}.step-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;box-shadow:var(--shadow-card);border-radius:28px;padding:36px 28px;position:relative}.step-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-5px)}.step-number{background:var(--grad-cta);color:#fff;width:28px;height:28px;box-shadow:0 4px 14px var(--primary-glow);border-radius:50%;justify-content:center;align-items:center;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:800;display:flex;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.step-icon{background:var(--primary-soft);border:1px solid #05966926;border-radius:20px;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 20px;font-size:1.7rem;display:flex}.step-card:hover .step-icon{transform:scale(1.1)rotate(-3deg)}.step-card h3{color:var(--text-primary);margin-bottom:10px;font-size:1.05rem}.step-card p{color:var(--text-secondary);font-size:.84rem;line-height:1.7}.features-section{background:var(--bg-base);padding:80px 24px}.features-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-width:1100px;margin:0 auto;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:28px;padding:30px}.feature-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.feature-icon{border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:18px;font-size:1.4rem;display:flex}.fi-1{background:#10b9811f}.fi-2{background:#0891b21f}.fi-3{background:#22c55e1f}.fi-4{background:#f59e0b1f}.fi-5{background:#6366f11f}.fi-6{background:#38bdf81f}.feature-card h3{color:var(--text-primary);margin-bottom:10px;font-size:1rem;font-weight:700}.feature-card p{color:var(--text-secondary);font-size:.84rem;line-height:1.7}.faq-section{background:var(--bg-surface);padding:80px 24px}.faq-list{flex-direction:column;gap:10px;max-width:740px;margin:0 auto;display:flex}.faq-item{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:20px;overflow:hidden}.faq-item.open{border-color:var(--border-hover)}.faq-question{cursor:pointer;text-align:left;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;display:flex}.faq-question:hover{color:var(--primary)}[data-theme=dark] .faq-question:hover{color:var(--primary-light)}.faq-chevron{background:var(--bg-surface);width:24px;height:24px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;display:flex}.faq-item.open .faq-chevron{background:var(--primary-soft);color:var(--primary);transform:rotate(180deg)}[data-theme=dark] .faq-item.open .faq-chevron{color:var(--primary-light)}.faq-answer{max-height:0;transition:max-height .38s cubic-bezier(.4,0,.2,1);overflow:hidden}.faq-item.open .faq-answer{max-height:400px}.faq-answer-inner{color:var(--text-secondary);border-top:1px solid var(--border);padding:16px 24px 22px;font-size:.875rem;line-height:1.8}.seo-section{background:var(--bg-base);border-top:1px solid var(--border);padding:80px 24px}.seo-inner{max-width:900px;margin:0 auto}.seo-inner h2{margin-bottom:16px;font-size:clamp(1.6rem,3vw,2.4rem)}.seo-lead{color:var(--text-secondary);max-width:720px;margin-bottom:44px;font-size:1rem;line-height:1.8}.seo-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-bottom:44px;display:grid}.seo-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:20px;padding:24px}.seo-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.seo-card-icon{margin-bottom:12px;font-size:1.8rem}.seo-card h3{color:var(--text-primary);margin-bottom:8px;font-size:.92rem;font-weight:700}.seo-card p{color:var(--text-secondary);font-size:.82rem;line-height:1.7}.seo-markers-table{border-collapse:collapse;border-radius:20px;width:100%;margin-bottom:44px;font-size:.84rem;overflow:hidden}.seo-markers-table th{background:var(--bg-card);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;text-align:left;border-bottom:1px solid var(--border);padding:12px 16px;font-size:.72rem;font-weight:600}.seo-markers-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);background:var(--bg-surface);padding:12px 16px}.seo-markers-table tr:hover td{background:var(--bg-card)}.seo-markers-table td:first-child{color:var(--text-primary);font-weight:600}.seo-cta-box{background:var(--primary-soft);text-align:center;border:1px solid #05966933;border-radius:28px;padding:40px 36px}.seo-cta-box h3{color:var(--text-primary);margin-bottom:12px;font-size:1.4rem}.seo-cta-box p{color:var(--text-secondary);max-width:500px;margin-bottom:24px;margin-left:auto;margin-right:auto;font-size:.9rem;line-height:1.7}.footer{background:var(--bg-surface);border-top:1px solid var(--border);padding:48px 24px 24px}.footer-inner{border-bottom:1px solid var(--border);grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;max-width:1200px;margin:0 auto 24px;padding-bottom:36px;display:grid}.footer-logo-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.footer-logo-icon{background:var(--grad-cta);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.footer-logo-text{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:800}.footer-logo-accent{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.footer-brand p{color:var(--text-muted);max-width:280px;font-size:.85rem;line-height:1.75}.footer-col h4{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.09em;margin-bottom:16px;font-family:Outfit,sans-serif;font-size:.78rem;font-weight:700}.footer-col a{color:var(--text-muted);margin-bottom:10px;font-size:.85rem;display:block}.footer-col a:hover{color:var(--primary)}[data-theme=dark] .footer-col a:hover{color:var(--primary-light)}.footer-coming{color:var(--text-muted);opacity:.55;cursor:default;margin-bottom:10px;font-size:.85rem;display:block}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.footer-copy{color:var(--text-muted);font-size:.78rem}.footer-badges{flex-wrap:wrap;gap:8px;display:flex}.footer-badge{background:var(--primary-soft);color:var(--text-muted);border:1px solid #05966926;border-radius:9999px;align-items:center;gap:5px;padding:4px 10px;font-size:.7rem;font-weight:600;display:flex}.legal-page{max-width:780px;margin:80px auto;padding:0 24px 80px}.error-page{background:var(--grad-hero);text-align:center;place-items:center;min-height:60vh;padding:80px 24px;display:grid}.error-content{max-width:560px}.error-code{color:var(--primary);opacity:.8;font-family:Outfit,sans-serif;font-size:clamp(4rem,14vw,8rem);font-weight:800;line-height:1;display:block}.error-content h1{margin:20px 0 14px;font-size:clamp(1.8rem,4vw,2.8rem)}.error-content p{color:var(--text-secondary);line-height:1.8}.error-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px;display:flex}.error-actions button{font:inherit}.legal-page h1{margin-bottom:10px;font-size:clamp(1.8rem,4vw,2.6rem)}.legal-date{color:var(--text-muted);margin-bottom:40px;font-size:.82rem;display:block}.legal-page h2{color:var(--text-primary);margin:32px 0 10px;font-size:1.1rem;font-weight:700}.legal-page p{color:var(--text-secondary);margin-bottom:14px;font-size:.9rem;line-height:1.85}.legal-page ul{margin-bottom:14px;padding-left:20px}.legal-page li{color:var(--text-secondary);margin-bottom:6px;font-size:.9rem;line-height:1.8}.legal-page a{color:var(--primary)}[data-theme=dark] .legal-page a{color:var(--primary-light)}.legal-back{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:32px;font-size:.85rem;display:inline-flex}.legal-back:hover{color:var(--primary)}[data-theme=dark] .legal-back:hover{color:var(--primary-light)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.nav-links{display:none}.nav-right-mobile{display:flex}.mobile-nav-menu{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 0 16px;display:none}.mobile-nav-menu.open{display:flex}.mobile-nav-menu a{color:var(--text-primary);border-radius:10px;padding:12px 8px;font-size:.95rem;font-weight:600}.mobile-nav-menu a:hover{background:var(--primary-soft)}.mobile-nav-menu .nav-cta{text-align:center;margin-top:8px}.hero{padding:70px 20px 60px}.hero-divider{display:none}.patient-info-row,.overall-card,.biomarkers-grid,.supplements-grid,.diet-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (max-width:480px){.hero h1{font-size:2.1rem}.footer-inner{grid-template-columns:1fr}.results-tabs{max-width:100%;overflow-x:auto}}@media print{.nav,.upload-section,.how-section,.features-section,.faq-section,.seo-section,.footer{display:none!important}body{color:#000;background:#fff}}.lang-switcher{position:relative}.lang-btn{background:var(--toggle-bg);border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);border-radius:9999px;align-items:center;gap:6px;padding:6px 12px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;display:flex}.lang-btn:hover{background:var(--toggle-hover);color:var(--text-primary)}.lang-flag{font-size:1rem;line-height:1}.lang-code{letter-spacing:.05em;font-size:.72rem;font-weight:700}.lang-chevron{color:var(--text-muted);transition:transform .2s}.lang-chevron.open{transform:rotate(180deg)}.lang-dropdown{background:var(--bg-elevated);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow-md);z-index:9999;border-radius:16px;padding:6px;animation:.15s slideIn;position:absolute;top:calc(100% + 8px);right:0}.lang-option{cursor:pointer;width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-family:Inter,sans-serif;font-size:.85rem;display:flex}.lang-option:hover{background:var(--primary-soft);color:var(--text-primary)}.lang-option.active{background:var(--primary-soft);color:var(--primary);font-weight:600}[data-theme=dark] .lang-option.active{color:var(--primary-light)}.lang-native{flex:1;font-size:.85rem}.lang-check{color:var(--primary);font-size:.75rem;font-weight:700}[data-theme=dark] .lang-check{color:var(--primary-light)}.meal-plan-locked{border-radius:28px;max-width:1100px;margin:32px auto 0;position:relative;overflow:hidden}.meal-plan-locked-bg{background:linear-gradient(135deg,#6366f126,#10b9811f,#f59e0b1a);border:2px solid #6366f14d;border-radius:28px;position:absolute;inset:0}.meal-plan-locked-inner{z-index:1;background:var(--bg-card);text-align:center;border:2px solid #6366f140;border-radius:28px;padding:40px 48px;position:relative;box-shadow:0 8px 48px #6366f126}.meal-plan-locked-badge{color:#818cf8;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#6366f126,#8b5cf61a);border:1px solid #6366f14d;border-radius:9999px;align-items:center;gap:6px;margin-bottom:20px;padding:5px 14px;font-size:.72rem;font-weight:700;display:inline-flex}.meal-plan-locked-icon{filter:drop-shadow(0 4px 12px #6366f14d);margin-bottom:16px;font-size:3rem}.meal-plan-locked-title{color:var(--text-primary);margin-bottom:14px;font-family:Outfit,sans-serif;font-size:clamp(1.4rem,3vw,2rem);font-weight:800}.meal-plan-locked-desc{color:var(--text-secondary);max-width:540px;margin:0 auto 28px;font-size:.95rem;line-height:1.75}.meal-plan-locked-desc strong{color:var(--text-primary)}.meal-plan-locked-features{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;max-width:680px;margin:0 auto 28px;display:grid}.meal-plan-locked-feature{color:var(--text-secondary);text-align:left;background:#6366f10f;border:1px solid #6366f11f;border-radius:12px;padding:10px 14px;font-size:.82rem}.meal-plan-locked-price-row{justify-content:center;align-items:baseline;gap:10px;margin-bottom:28px;display:flex}.meal-plan-locked-price{background:linear-gradient(135deg,#6366f1,#10b981);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Outfit,sans-serif;font-size:3rem;font-weight:900;line-height:1}.meal-plan-locked-price-note{color:var(--text-muted);font-size:.82rem;font-weight:500}.meal-plan-locked-form{flex-direction:column;align-items:center;gap:12px;max-width:420px;margin:0 auto;display:flex}.meal-plan-locked-input{background:var(--bg-surface);border:1px solid var(--border);width:100%;color:var(--text-primary);text-align:center;border-radius:14px;outline:none;padding:14px 20px;font-family:Inter,sans-serif;font-size:.95rem}.meal-plan-locked-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.meal-plan-locked-input::placeholder{color:var(--text-muted)}.input--hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.meal-plan-locked-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5,#6366f1,#10b981);border:none;border-radius:9999px;width:100%;padding:15px 28px;font-family:Outfit,sans-serif;font-size:1rem;font-weight:800;box-shadow:0 6px 28px #6366f166}.meal-plan-locked-btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px #6366f18c}.meal-plan-locked-error{color:var(--high);margin:0;font-size:.8rem}.meal-plan-locked-note{color:var(--text-muted);margin:0;font-size:.78rem}.meal-plan-locked-btn:disabled{opacity:.65;cursor:wait;transform:none}.meal-plan-locked-thanks{background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal);border-radius:16px;padding:16px 24px;font-size:.95rem;font-weight:600}@media (max-width:640px){.meal-plan-locked-inner{padding:28px 20px}.meal-plan-locked-features{grid-template-columns:1fr}}.fsub-card{background:var(--bg-card);border:1px solid var(--border-card);text-align:center;border-radius:20px;margin-top:24px;padding:36px 40px;position:relative;overflow:hidden}.fsub-card:before{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#10b98112 0%,#0000 70%);position:absolute;inset:0}.fsub-badge{background:var(--primary-soft);color:var(--primary);letter-spacing:.06em;text-transform:uppercase;border:1px solid #10b98140;border-radius:20px;margin-bottom:14px;padding:5px 16px;font-size:.75rem;font-weight:700;display:inline-block}.fsub-title{background:var(--grad-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 10px;font-size:1.4rem;font-weight:800;line-height:1.2}.fsub-desc{color:var(--text-secondary);max-width:560px;margin:0 auto 22px;font-size:.88rem;line-height:1.65}.fsub-form{flex-direction:column;align-items:center;gap:8px;display:flex}.fsub-row{border:1.5px solid var(--border);background:var(--bg-elevated);border-radius:14px;gap:0;width:100%;max-width:480px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.fsub-row:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #10b9811f}.fsub-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:13px 16px;font-family:inherit;font-size:.92rem}.fsub-input::placeholder{color:var(--text-muted)}.fsub-btn{background:var(--grad-cta);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;padding:0 22px;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .2s}.fsub-btn:hover:not(:disabled){filter:brightness(1.1)}.fsub-btn:disabled{opacity:.7;cursor:not-allowed}.fsub-error{color:var(--high);background:var(--high-bg);border:1px solid var(--high-border);border-radius:8px;margin:0;padding:6px 12px;font-size:.8rem}.fsub-perks{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.fsub-perk{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:50px;padding:5px 14px;font-size:.78rem;font-weight:500}.fsub-thanks{text-align:center;z-index:1;padding:8px 0;position:relative}.fsub-thanks-icon{margin-bottom:10px;font-size:2.5rem}.fsub-thanks-title{color:var(--primary);margin-bottom:6px;font-size:1.15rem;font-weight:700}.fsub-thanks-text{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}@media (max-width:600px){.fsub-card{padding:28px 20px}.fsub-title{font-size:1.15rem}.fsub-row{border-radius:12px;flex-direction:column;gap:0}.fsub-btn{border-radius:0;padding:13px 20px}.fsub-input{border-radius:0}}.mp-section{background:var(--bg-card);border:1px solid var(--border-card);border-radius:24px;margin-top:24px;padding:32px;position:relative;overflow:hidden}.mp-section:before{content:"";pointer-events:none;background:linear-gradient(135deg,#10b9810a,#22d3ee05);position:absolute;inset:0}.mp-section-header{align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.mp-section-icon{background:var(--primary-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:2rem;display:flex}.mp-section-title{color:var(--text-primary);margin:0 0 4px;font-size:1.4rem;font-weight:700}.mp-section-sub{color:var(--text-secondary);margin:0;font-size:.9rem}.mp-error{background:var(--high-bg);border:1px solid var(--high-border);color:var(--high);border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;font-size:.9rem;display:flex}.mp-error-retry{border:1px solid var(--high-border);color:var(--high);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:4px 12px;font-size:.8rem}.mp-questionnaire{background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:32px}.mp-q-header{text-align:center;margin-bottom:32px}.mp-q-badge{background:var(--primary-soft);color:var(--primary);letter-spacing:.05em;text-transform:uppercase;border:1px solid #10b98140;border-radius:20px;margin-bottom:12px;padding:4px 14px;font-size:.78rem;font-weight:600;display:inline-block}.mp-q-title{color:var(--text-primary);margin:0 0 8px;font-size:1.3rem;font-weight:700}.mp-q-sub{color:var(--text-secondary);margin:0;font-size:.9rem}.mp-q-section{margin-bottom:28px}.mp-q-label{color:var(--text-primary);margin-bottom:14px;font-size:.95rem;font-weight:600;display:block}.mp-diet-pills,.mp-goal-pills{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.mp-diet-pill,.mp-goal-pill{background:var(--bg-card);border:2px solid var(--border);cursor:pointer;text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;transition:all .2s;display:flex}.mp-diet-pill:hover,.mp-goal-pill:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-2px)}.mp-diet-pill.active,.mp-goal-pill.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px #10b98126}.mp-diet-pill-icon,.mp-goal-pill-icon{font-size:1.6rem}.mp-diet-pill-label,.mp-goal-pill-label{color:var(--text-primary);font-size:.9rem;font-weight:600}.mp-diet-pill-desc,.mp-goal-pill-desc{color:var(--text-secondary);font-size:.72rem;line-height:1.3}.mp-generate-btn{background:var(--grad-cta);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:8px;padding:18px 24px;font-size:1.05rem;font-weight:700;transition:all .25s;display:flex;box-shadow:0 4px 24px #10b98159}.mp-generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px #10b98173}.mp-generate-btn:disabled{opacity:.75;cursor:not-allowed}.mp-generate-btn.loading{background:linear-gradient(135deg,#059669,#0891b2)}.mp-btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite mpSpin}@keyframes mpSpin{to{transform:rotate(360deg)}}.mp-loading-tips{text-align:center;flex-direction:column;gap:8px;margin-top:16px;display:flex}.mp-loading-tip{color:var(--text-secondary);font-size:.85rem;animation:1.5s ease-in-out infinite alternate mpFade}.mp-loading-tip:nth-child(2){animation-delay:.5s}.mp-loading-tip:nth-child(3){animation-delay:1s}@keyframes mpFade{0%{opacity:.4}to{opacity:1}}.mp-tabs{background:var(--bg-surface);scrollbar-width:none;border-radius:16px;gap:4px;margin-bottom:24px;padding:6px;display:flex;overflow-x:auto}.mp-tabs::-webkit-scrollbar{display:none}.mp-tab-btn{cursor:pointer;min-width:100px;color:var(--text-secondary);background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;transition:all .2s;display:flex}.mp-tab-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.mp-tab-btn.active{background:var(--primary-soft);color:var(--primary);box-shadow:0 2px 8px #10b98126}.mp-tab-icon{font-size:1.2rem}.mp-tab-label{white-space:nowrap;font-size:.75rem;font-weight:600}.mp-tab-content{animation:.25s mpSlideIn}@keyframes mpSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mp-day-pills{scrollbar-width:none;gap:6px;margin-bottom:20px;padding-bottom:4px;display:flex;overflow-x:auto}.mp-day-pills::-webkit-scrollbar{display:none}.mp-day-pill{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:50px;flex-shrink:0;padding:8px 18px;font-size:.82rem;font-weight:600;transition:all .2s}.mp-day-pill:hover{border-color:var(--primary);color:var(--text-primary)}.mp-day-pill.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 12px #10b98166}.mp-day-heading{color:var(--text-primary);margin-bottom:16px;font-size:1.2rem;font-weight:700}.mp-slots-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.mp-slot-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:16px;transition:border-color .2s}.mp-slot-card:hover{border-color:var(--border-hover)}.mp-slot-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.mp-slot-icon{font-size:1.1rem}.mp-slot-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:.85rem;font-weight:700}.mp-swap-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:all .2s}.mp-swap-btn:hover{border-color:var(--primary);color:var(--primary);transform:scale(1.05)}.mp-swap-btn:active{transform:rotate(15deg)scale(.95)}.mp-option-card{align-items:flex-start;gap:10px;display:flex}.mp-option-label{background:var(--grad-accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:.75rem;font-weight:800;display:flex}.mp-option-body{flex:1;min-width:0}.mp-option-name{color:var(--text-primary);margin-bottom:6px;font-size:.92rem;font-weight:600;line-height:1.3}.mp-option-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.mp-option-cal{color:var(--text-secondary);background:var(--bg-card);border-radius:6px;padding:2px 8px;font-size:.75rem}.mp-nutrient-badge{color:var(--primary);background:var(--primary-soft);border:1px solid #10b98133;border-radius:6px;padding:2px 8px;font-size:.68rem;font-weight:600}.mp-option-why{color:var(--text-secondary);margin-bottom:8px;font-size:.78rem;font-style:italic;line-height:1.4}.mp-recipe-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:5px 12px;font-size:.75rem;font-weight:500;transition:all .2s}.mp-recipe-btn:hover{border-color:var(--primary);color:var(--primary)}.mp-recipe-expand{background:var(--bg-surface);border-radius:10px;margin-top:10px;padding:12px 14px;animation:.2s mpSlideIn}.mp-recipe-title{text-transform:uppercase;letter-spacing:.07em;color:var(--primary);margin-bottom:6px;font-size:.72rem;font-weight:700}.mp-recipe-text{color:var(--text-secondary);white-space:pre-line;margin:0;font-size:.82rem;line-height:1.6}.mp-slot-dots{justify-content:center;gap:6px;margin-top:10px;display:flex}.mp-slot-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .2s}.mp-slot-dot.active{background:var(--primary);transform:scale(1.3)}.mp-rules-intro{text-align:center;margin-bottom:28px}.mp-rules-title{color:var(--text-primary);margin:0 0 6px;font-size:1.25rem;font-weight:700}.mp-rules-sub{color:var(--text-secondary);margin:0;font-size:.88rem}.mp-rules-list{flex-direction:column;gap:12px;display:flex}.mp-commandment-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;align-items:flex-start;gap:14px;padding:18px 20px;transition:all .2s;animation:.3s both mpSlideIn;display:flex}.mp-commandment-card:nth-child(n){animation-delay:calc(var(--i,0) * 50ms)}.mp-commandment-card:hover{border-color:var(--primary);background:linear-gradient(135deg, var(--bg-elevated), var(--primary-soft));transform:translate(4px)}.mp-commandment-num{background:var(--grad-accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:800;display:flex}.mp-commandment-emoji{flex-shrink:0;margin-top:2px;font-size:1.4rem}.mp-commandment-text{color:var(--text-primary);font-size:.92rem;font-weight:500;line-height:1.5}.mp-grocery-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.mp-grocery-title{color:var(--text-primary);margin:0 0 4px;font-size:1.15rem;font-weight:700}.mp-grocery-sub{color:var(--text-secondary);margin:0;font-size:.82rem}.mp-grocery-actions{flex-shrink:0;gap:8px;display:flex}.mp-grocery-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:10px;padding:8px 14px;font-size:.8rem;font-weight:600;transition:all .2s}.mp-grocery-btn:hover{border-color:var(--primary);color:var(--primary)}.mp-grocery-progress{background:var(--bg-surface);border-radius:3px;height:6px;margin-bottom:20px;overflow:hidden}.mp-grocery-progress-fill{background:var(--grad-primary);border-radius:3px;height:100%;transition:width .4s}.mp-grocery-categories{flex-direction:column;gap:16px;display:flex}.mp-grocery-category{background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;overflow:hidden}.mp-grocery-cat-header{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 16px;display:flex}.mp-grocery-cat-icon{font-size:1.1rem}.mp-grocery-cat-label{color:var(--text-primary);flex:1;font-size:.88rem;font-weight:700}.mp-grocery-cat-count{color:var(--text-muted);font-size:.75rem}.mp-grocery-items{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0;display:grid}.mp-grocery-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px;transition:background .15s;display:flex}.mp-grocery-item:hover{background:var(--bg-card)}.mp-grocery-item.checked .mp-grocery-item-text{color:var(--text-muted);text-decoration:line-through}.mp-grocery-checkbox{accent-color:var(--primary);cursor:pointer;flex-shrink:0;width:16px;height:16px}.mp-grocery-item-text{color:var(--text-secondary);font-size:.85rem;transition:color .2s}.mp-track-intro{text-align:center;margin-bottom:28px}.mp-track-title{color:var(--text-primary);margin:0 0 6px;font-size:1.25rem;font-weight:700}.mp-track-sub{color:var(--text-secondary);margin:0;font-size:.88rem}.mp-track-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.mp-track-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;padding:20px;transition:all .2s;animation:.3s both mpSlideIn}.mp-track-card:hover{border-color:var(--primary);box-shadow:var(--shadow-card);transform:translateY(-3px)}.mp-track-icon{margin-bottom:10px;font-size:1.8rem}.mp-track-name{color:var(--text-primary);margin-bottom:8px;font-size:1rem;font-weight:700}.mp-track-why{color:var(--text-secondary);margin-bottom:10px;font-size:.82rem;line-height:1.5}.mp-track-how{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.mp-track-how-label{color:var(--primary);font-weight:600}.mp-regen-row{text-align:center;margin-top:24px}.mp-regen-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:10px 22px;font-size:.85rem;font-weight:600;transition:all .2s}.mp-regen-btn:hover{border-color:var(--primary);color:var(--primary)}@media (max-width:768px){.mp-section,.mp-questionnaire{padding:20px 16px}.mp-diet-pills,.mp-goal-pills{grid-template-columns:1fr;gap:8px}.mp-slots-grid{grid-template-columns:1fr}.mp-tabs{gap:2px}.mp-tab-btn{min-width:70px;padding:10px 4px}.mp-tab-label{font-size:.68rem}.mp-grocery-items,.mp-track-grid{grid-template-columns:1fr}.mp-grocery-header{flex-direction:column}}@media (max-width:480px){.mp-section-header{flex-direction:column}.mp-day-pill{padding:6px 12px;font-size:.78rem}.mp-commandment-card{padding:14px 16px}.mp-commandment-num{width:30px;height:30px;font-size:.8rem}}.mp-result-topbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.mp-result-topbar .mp-tabs{flex:1;margin-bottom:0}.mp-pdf-btn{background:var(--grad-cta);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:.85rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 3px 12px #10b9814d}.mp-pdf-btn:hover{transform:translateY(-1px);box-shadow:0 5px 18px #10b98166}@media (max-width:640px){.mp-result-topbar{flex-direction:column;align-items:stretch}.mp-pdf-btn{justify-content:center}}.pdf-root{display:none}@media print{*{visibility:hidden!important}.pdf-root,.pdf-root *{visibility:visible!important}.pdf-root{color:#111!important;z-index:999999!important;background:#fff!important;width:100%!important;margin:0!important;padding:0!important;font-family:Outfit,Inter,sans-serif!important;font-size:11pt!important;display:block!important;position:absolute!important;top:0!important;left:0!important}html,body{background:#fff!important;margin:0!important;padding:0!important}@page{margin:0;size:A4}.pdf-page{page-break-after:always;break-after:page;box-sizing:border-box;background:#fff;min-height:100vh;padding:32px 44px 56px;position:relative}.pdf-page:last-child{page-break-after:avoid;break-after:avoid}.pdf-cover{-webkit-print-color-adjust:exact;print-color-adjust:exact;text-align:center!important;color:#fff!important;background:linear-gradient(160deg,#030b14 0%,#071525 45%,#0d2137 75%,#091e30 100%)!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:100vh!important;padding:0!important;display:flex!important;position:relative!important;overflow:hidden!important}.pdf-cover-bg-circles{pointer-events:none;position:absolute;inset:0}.pdf-cover-circle{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:50%;position:absolute}.pdf-cover-circle--1{background:radial-gradient(circle,#10b98138 0%,#0000 65%);width:420px;height:420px;top:-120px;right:-100px}.pdf-cover-circle--2{background:radial-gradient(circle,#6366f133 0%,#0000 65%);width:340px;height:340px;bottom:-80px;left:-80px}.pdf-cover-circle--3{background:radial-gradient(circle,#10b9810d 0%,#0000 60%);width:600px;height:600px;top:40%;left:50%;transform:translate(-50%,-50%)}.pdf-cover-accent-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:linear-gradient(90deg,#059669,#10b981,#34d399,#6366f1);height:6px;position:absolute;top:0;left:0;right:0}.pdf-cover-inner{z-index:2;flex-direction:column;align-items:center;padding:64px 56px 48px;display:flex;position:relative}.pdf-cover-brand{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#10b9811f;border:1.5px solid #10b98159;border-radius:40px;align-items:center;gap:10px;margin-bottom:36px;padding:9px 24px;display:inline-flex}.pdf-cover-brand-icon{font-size:15pt}.pdf-cover-brand-text{color:#10b981;letter-spacing:.08em;text-transform:uppercase;font-size:12pt;font-weight:800}.pdf-cover-hero-icon{filter:drop-shadow(0 8px 24px #10b98166);margin-bottom:24px;font-size:52pt}.pdf-cover-title{color:#fff;letter-spacing:-.02em;margin:0 0 10px;font-size:34pt;font-weight:900;line-height:1.1}.pdf-cover-subtitle{color:#ffffff80;letter-spacing:.04em;margin:0 0 32px;font-size:11.5pt;font-weight:400}.pdf-cover-divider{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:linear-gradient(90deg,#059669,#34d399);border-radius:2px;width:72px;height:3px;margin:0 auto 28px}.pdf-cover-meta{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:28px;display:flex}.pdf-cover-meta-pill{color:#ffffffe6;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#ffffff14;border:1px solid #ffffff26;border-radius:24px;align-items:center;gap:6px;padding:6px 18px;font-size:10pt;font-weight:600;display:inline-flex}.pdf-cover-meta-icon{font-size:10pt}.pdf-cover-defs{text-align:center;margin-bottom:28px}.pdf-cover-defs-label{color:#ffffff73;letter-spacing:.06em;margin-bottom:12px;font-size:8.5pt;font-weight:600}.pdf-cover-defs-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pdf-def-chip{color:#fbbf24;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f59e0b26;border:1px solid #f59e0b59;border-radius:20px;padding:5px 14px;font-size:9pt;font-weight:700}.pdf-cover-bottom{flex-direction:column;align-items:center;gap:8px;margin-top:8px;display:flex}.pdf-cover-date{color:#fff6;font-size:9pt;font-weight:500}.pdf-cover-disclaimer{color:#ffffff38;max-width:400px;font-size:7.5pt;line-height:1.6}.pdf-page-header{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-bottom:2px solid #ecfdf5;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;display:flex}.pdf-page-brand{color:#059669;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:6px;font-size:8.5pt;font-weight:800;display:inline-flex}.pdf-brand-dot{font-size:10pt}.pdf-page-tag{color:#9ca3af;font-size:7.5pt;font-style:italic;font-weight:500}.pdf-section-header{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-left:5px solid #10b981;border-radius:0 10px 10px 0;align-items:flex-start;gap:14px;margin-bottom:18px;padding:14px 18px;display:flex}.pdf-section-icon-wrap{flex-shrink:0;margin-top:2px;font-size:20pt}.pdf-section-title{color:#0a1628;letter-spacing:-.01em;margin:0 0 3px;font-size:16pt;font-weight:900}.pdf-section-sub{color:#6b7280;margin:0;font-size:9pt;line-height:1.5}.pdf-day-banner{color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:linear-gradient(135deg,#059669 0%,#10b981 60%,#34d399 100%);border-radius:12px;align-items:center;gap:14px;margin-bottom:16px;padding:12px 20px;display:flex}.pdf-day-num{background:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12pt;font-weight:900;display:flex}.pdf-day-label{letter-spacing:.01em;font-size:14pt;font-weight:800}.pdf-rules-list{flex-direction:column;gap:9px;display:flex}.pdf-rule-row{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f8fffc;border:1px solid #d1fae5;border-left:5px solid #10b981;border-radius:0 10px 10px 0;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.pdf-rule-num{color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:linear-gradient(135deg,#059669,#10b981);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:9pt;font-weight:900;display:flex}.pdf-rule-emoji{flex-shrink:0;margin-top:2px;font-size:13pt}.pdf-rule-text{color:#1a2a3a;font-size:10pt;line-height:1.55}.pdf-meal-block{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;margin-bottom:12px;padding:0;overflow:hidden;box-shadow:0 2px 8px #0000000f}.pdf-meal--breakfast{border-left:5px solid #f59e0b}.pdf-meal--breakfast .pdf-meal-header{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-bottom:1px solid #fde68a}.pdf-meal--breakfast .pdf-meal-label{color:#b45309}.pdf-meal--lunch{border-left:5px solid #10b981}.pdf-meal--lunch .pdf-meal-header{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-bottom:1px solid #a7f3d0}.pdf-meal--lunch .pdf-meal-label{color:#047857}.pdf-meal--snacks{border-left:5px solid #0ea5e9}.pdf-meal--snacks .pdf-meal-header{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #bae6fd}.pdf-meal--snacks .pdf-meal-label{color:#0369a1}.pdf-meal--dinner{border-left:5px solid #6366f1}.pdf-meal--dinner .pdf-meal-header{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-bottom:1px solid #c7d2fe}.pdf-meal--dinner .pdf-meal-label{color:#4338ca}.pdf-meal-header{-webkit-print-color-adjust:exact;print-color-adjust:exact;align-items:center;gap:10px;padding:9px 16px;display:flex}.pdf-meal-icon{font-size:13pt}.pdf-meal-label{text-transform:uppercase;letter-spacing:.09em;color:#059669;flex:1;font-size:8.5pt;font-weight:900}.pdf-meal-option-badge{color:#059669;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#10b98126;border:1px solid #10b9814d;border-radius:12px;padding:2px 10px;font-size:7pt;font-weight:800}.pdf-meal-body{padding:10px 16px 14px}.pdf-meal-name{color:#0f172a;margin-bottom:7px;font-size:12pt;font-weight:800}.pdf-meal-meta{color:#555;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:8pt;display:flex}.pdf-meal-cal{color:#92400e;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;padding:2px 9px;font-weight:800}.pdf-nutrient{color:#047857;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:9px;padding:2px 8px;font-weight:700}.pdf-meal-why{color:#6b7280;margin:0 0 9px;font-size:8.5pt;font-style:italic;line-height:1.55}.pdf-meal-recipe-label{text-transform:uppercase;color:#10b981;letter-spacing:.08em;margin-bottom:4px;font-size:7.5pt;font-weight:900}.pdf-meal-recipe{color:#374151;white-space:pre-line;margin:0;font-size:8.5pt;line-height:1.65}.pdf-grocery-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pdf-grocery-cat{break-inside:avoid}.pdf-grocery-cat-title{color:#fff;letter-spacing:.04em;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:linear-gradient(135deg,#059669,#10b981);border-radius:8px;margin-bottom:8px;padding:6px 14px;font-size:9.5pt;font-weight:900}.pdf-grocery-item{color:#374151;border-bottom:1px dashed #f0f0f0;align-items:center;gap:9px;padding:4px;font-size:8.5pt;display:flex}.pdf-grocery-check{color:#10b981;text-align:center;flex-shrink:0;width:14px;font-size:9pt;font-weight:700}.pdf-track-list{flex-direction:column;gap:11px;display:flex}.pdf-track-row{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f8fffc;border:1px solid #d1fae5;border-left:5px solid #10b981;border-radius:0 12px 12px 0;align-items:flex-start;gap:14px;padding:12px 16px;display:flex}.pdf-track-icon{flex-shrink:0;font-size:20pt}.pdf-track-body{flex:1}.pdf-track-name{color:#0f172a;margin-bottom:4px;font-size:11pt;font-weight:800}.pdf-track-why{color:#555;margin-bottom:5px;font-size:8.5pt;line-height:1.55}.pdf-track-how{color:#374151;font-size:8.5pt;line-height:1.55}.pdf-track-how strong{color:#059669}.pdf-footer{color:#9ca3af;text-align:center;letter-spacing:.02em;border-top:1px solid #f0f0f0;padding-top:8px;font-size:7pt;font-weight:500;position:absolute;bottom:16px;left:44px;right:44px}}.auth-backdrop{z-index:9999;-webkit-backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out authFadeIn;display:flex;position:fixed;inset:0}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-modal{background:var(--bg-elevated);border:1px solid var(--border-card);width:100%;max-width:420px;box-shadow:0 24px 64px #00000080, 0 0 0 1px var(--border);border-radius:24px;max-height:90vh;padding:36px 32px 28px;animation:.3s ease-out authSlideUp;position:relative;overflow-y:auto}.auth-close{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.auth-close:hover{background:var(--high-bg);color:var(--high);border-color:var(--high-border)}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{margin-bottom:8px;font-size:2.2rem}.auth-header h2{color:var(--text-primary);margin:0 0 6px;font-family:Outfit,sans-serif;font-size:1.45rem;font-weight:700}.auth-header p{color:var(--text-secondary);margin:0;font-size:.88rem}.auth-google-btn{cursor:pointer;background:var(--bg-card);border:1.5px solid var(--border-card);width:100%;color:var(--text-primary);border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:13px 16px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.auth-google-btn:hover{border-color:var(--border-hover);background:var(--bg-card-hover);box-shadow:var(--shadow-sm)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{align-items:center;gap:12px;margin:20px 0 16px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:500}.auth-tabs{background:var(--bg-surface);border-radius:10px;gap:4px;margin-bottom:16px;padding:3px;display:flex}.auth-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;flex:1;padding:9px 12px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.auth-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px var(--primary-glow)}.auth-tab:not(.active):hover{color:var(--text-primary);background:var(--bg-elevated)}.auth-error{background:var(--high-bg);border:1px solid var(--high-border);color:var(--high);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:.84rem;line-height:1.5}.auth-success{background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal);border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:.84rem;line-height:1.5}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field label{color:var(--text-secondary);margin-bottom:6px;font-family:Outfit,sans-serif;font-size:.82rem;font-weight:600;display:block}.auth-field input{border:1.5px solid var(--border-card);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:12px 14px;font-size:.92rem;transition:border-color .2s}.auth-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.auth-field input::placeholder{color:var(--text-muted)}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:44px}.auth-toggle-pw{cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.1rem;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-submit-btn{background:var(--grad-cta);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:4px;padding:13px;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:700;transition:all .2s}.auth-submit-btn:hover{box-shadow:0 4px 20px var(--primary-glow);transform:translateY(-1px)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-footer-text{text-align:center;color:var(--text-secondary);margin:16px 0 8px;font-size:.84rem}.auth-link{color:var(--primary);cursor:pointer;font-weight:600;font-size:inherit;text-underline-offset:2px;background:0 0;border:none;text-decoration:underline}.auth-link:hover{color:var(--primary-light)}.auth-disclaimer{text-align:center;color:var(--text-muted);margin:0;font-size:.76rem}.nav-auth-skeleton{background:var(--bg-surface);border-radius:8px;width:70px;height:32px;animation:1.5s ease-in-out infinite authPulse}@keyframes authPulse{0%,to{opacity:.5}50%{opacity:.8}}.nav-signin-btn{cursor:pointer;border:1.5px solid var(--primary);color:var(--primary);background:0 0;border-radius:10px;padding:7px 18px;font-family:Outfit,sans-serif;font-size:.82rem;font-weight:600;transition:all .2s}.nav-signin-btn:hover{background:var(--primary);color:#fff}.nav-signin-btn.mobile{padding:5px 12px;font-size:.78rem}.nav-user-wrap{position:relative}.nav-user-btn{border:1.5px solid var(--border-card);background:var(--bg-card);cursor:pointer;color:var(--text-primary);border-radius:10px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-family:Outfit,sans-serif;transition:all .2s;display:flex}.nav-user-btn:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.nav-user-btn.mobile{background:0 0;border:none;padding:3px}.nav-avatar{object-fit:cover;border-radius:50%;width:28px;height:28px}.nav-avatar-initial{background:var(--grad-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:flex}.nav-avatar-initial.small{width:24px;height:24px;font-size:.72rem}.nav-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:.82rem;font-weight:600;overflow:hidden}.nav-chevron{color:var(--text-muted);font-size:.7rem}.nav-user-dropdown{background:var(--bg-elevated);border:1px solid var(--border-card);width:220px;box-shadow:var(--shadow-md);z-index:1000;border-radius:14px;padding:6px;animation:.15s ease-out authSlideUp;position:absolute;top:calc(100% + 8px);right:0}.nav-user-dropdown.mobile{position:absolute;top:100%;left:auto;right:12px}.nav-dropdown-header{padding:10px 12px}.nav-dropdown-name{color:var(--text-primary);font-family:Outfit,sans-serif;font-size:.88rem;font-weight:700}.nav-dropdown-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.76rem;overflow:hidden}.nav-dropdown-divider{border:none;border-top:1px solid var(--border);margin:2px 8px}.nav-dropdown-item{cursor:pointer;text-align:left;width:100%;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;padding:10px 12px;font-family:Outfit,sans-serif;font-size:.84rem;font-weight:500;transition:all .15s;display:block}.nav-dropdown-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.nav-signout:hover{background:var(--high-bg);color:var(--high)}.mobile-signout-btn{background:var(--high-bg);width:100%;color:var(--high);cursor:pointer;text-align:center;border:none;border-radius:10px;margin-top:4px;padding:12px 16px;font-family:Outfit,sans-serif;font-size:.88rem;font-weight:600;display:block}.usage-banner{background:var(--bg-card);border:1px solid var(--border-card);max-width:520px;box-shadow:var(--shadow-sm);border-radius:14px;margin:0 auto 20px;padding:14px 18px}.usage-banner.limit-reached{border-color:var(--high-border);background:var(--high-bg)}.usage-banner-top{align-items:center;gap:10px;margin-bottom:8px;display:flex}.usage-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--primary-soft);color:var(--primary);border-radius:20px;padding:3px 10px;font-family:Outfit,sans-serif;font-size:.72rem;font-weight:700}.limit-reached .usage-badge{background:var(--high-bg);color:var(--high)}.usage-text{color:var(--text-secondary);font-size:.84rem;font-weight:500}.limit-reached .usage-text{color:var(--high);font-weight:600}.usage-bar-track{background:var(--bg-surface);border-radius:3px;height:6px;overflow:hidden}.usage-banner .usage-bar-fill{background:var(--grad-primary);border-radius:3px;height:100%;transition:width .5s}.limit-reached .usage-bar-fill{background:var(--high)}.usage-limit-msg{color:var(--high);margin:10px 0 0;font-size:.8rem;line-height:1.5}@media (max-width:480px){.auth-modal{border-radius:20px;padding:28px 20px 24px}.auth-header h2{font-size:1.25rem}.nav-user-name,.nav-chevron{display:none}}
