.landing{--brown: #7B5E80;--brown-light: #9B9ED2;--brown-dark: #5A3D60;--cream: #F6F4F9;--warm-white: #FDFCFF;--text-primary: #2D2843;--text-secondary: #6E6788;--text-tertiary: #A09AB2;--border: #E2DCE8;--border-light: #EEEAF2;color:var(--text-primary);background:var(--warm-white);line-height:1.6;overflow-x:clip}.landing:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.landing html,.landing body{scroll-behavior:smooth}.landing .reveal{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.landing .reveal.visible{opacity:1;transform:translateY(0)}.landing .reveal-delay-1{transition-delay:.1s}.landing .reveal-delay-2{transition-delay:.2s}.landing .reveal-delay-3{transition-delay:.3s}.landing .reveal-delay-4{transition-delay:.4s}.landing .reveal-delay-5{transition-delay:.5s}.landing nav.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 2rem;transition:background .4s,backdrop-filter .4s,box-shadow .4s}.landing nav.site-nav.scrolled{background:#fcfafed9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--border-light)}.landing .nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.landing .nav-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text-primary)}.landing .nav-logo{width:64px;height:64px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .3s}.landing .nav-brand:hover .nav-logo{opacity:.8}.landing .nav-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.landing .nav-wordmark{font-family:Fraunces,serif;font-size:1.25rem;font-weight:400;letter-spacing:-.01em}.landing .nav-links{display:flex;align-items:center;gap:2.5rem}.landing .nav-links a{font-size:.9rem;color:var(--text-secondary);text-decoration:none;font-weight:400;transition:color .2s;letter-spacing:.01em}.landing .nav-links a:hover{color:var(--text-primary)}.landing .nav-cta{font-size:.875rem!important;color:var(--warm-white)!important;background:var(--brown);padding:.6rem 1.4rem;border-radius:8px;transition:background .2s,transform .2s!important}.landing .nav-cta:hover{background:var(--brown-dark)!important;transform:translateY(-1px)}.landing .nav-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.landing .nav-mobile-toggle span{display:block;width:20px;height:1.5px;background:var(--text-primary);margin:5px 0;transition:transform .3s,opacity .3s}.landing .hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:4rem 2rem 3rem;overflow:hidden}.landing .hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.landing .hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:orbFloat 20s ease-in-out infinite}.landing .hero-orb-1{width:600px;height:600px;background:radial-gradient(circle,#D4A0C8 0%,transparent 70%);top:-10%;right:-5%;animation-delay:0s}.landing .hero-orb-2{width:500px;height:500px;background:radial-gradient(circle,#9B9ED2 0%,transparent 70%);bottom:-15%;left:-10%;animation-delay:-7s}.landing .hero-orb-3{width:300px;height:300px;background:radial-gradient(circle,#DCD4DC 0%,transparent 70%);top:30%;left:40%;animation-delay:-14s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}}.landing .hero-content{position:relative;z-index:1;text-align:center;max-width:800px}.landing .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}.landing .hero-logomark{display:flex;justify-content:center;align-items:center;margin:0 auto .75rem;width:100%;max-width:540px;transform-origin:center;will-change:transform,opacity,filter;filter:drop-shadow(0 22px 40px rgba(123,94,128,.18))}.landing .hero-logomark img{width:100%;height:auto;max-height:min(420px,42vh);-o-object-fit:contain;object-fit:contain;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.landing .hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1rem;background:#7b5e8014;border:1px solid rgba(123,94,128,.15);border-radius:100px;font-size:.8rem;color:var(--brown);font-weight:500;letter-spacing:.03em;margin-bottom:2rem}.landing .hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--brown);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.landing .hero h1{font-family:Fraunces,serif;font-size:clamp(2.75rem,6vw,4.5rem);font-weight:400;line-height:1.1;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:1.5rem}.landing .hero h1 em{font-style:italic;font-weight:300;color:var(--brown)}.landing .hero-sub{font-size:clamp(1.05rem,2vw,1.2rem);color:var(--text-secondary);max-width:540px;margin:0 auto 1.75rem;line-height:1.6;font-weight:300}.landing .hero-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.landing .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;background:var(--brown);color:var(--warm-white);border:none;border-radius:10px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .25s,transform .25s,box-shadow .25s}.landing .btn-primary:hover{background:var(--brown-dark);transform:translateY(-2px);box-shadow:0 8px 30px #7b5e8033}.landing .btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;background:transparent;color:var(--text-primary);border:1.5px solid var(--border);border-radius:10px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .25s,transform .25s,background .25s}.landing .btn-secondary:hover{border-color:var(--brown-light);background:#7b5e800a;transform:translateY(-2px)}.landing .btn-arrow{transition:transform .2s}.landing .btn-primary:hover .btn-arrow,.landing .btn-secondary:hover .btn-arrow{transform:translate(3px)}.landing .hero-login-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.5rem;padding:.5rem .85rem;font-size:.9rem;color:var(--text-secondary);text-decoration:none;font-weight:400;border-radius:8px;transition:color .2s,background .2s}.landing .hero-login-link span{color:var(--brown);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}.landing .hero-login-link:hover{color:var(--text-primary);background:#7b5e800f}.landing .hero-trust{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin-top:1.5rem;flex-wrap:wrap}.landing .hero-trust-item{font-size:.8rem;color:var(--text-tertiary);font-weight:400;letter-spacing:.02em}.landing .hero-trust-divider{width:3px;height:3px;border-radius:50%;background:var(--border)}.landing section{padding:7rem 2rem}.landing .section-container{max-width:1100px;margin:0 auto}.landing .section-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);margin-bottom:1rem}.landing .section-title{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1rem}.landing .section-title em{font-style:italic;font-weight:300}.landing .section-desc{font-size:1.05rem;color:var(--text-secondary);max-width:520px;line-height:1.7;font-weight:300}.landing .privacy-strip{background:var(--cream);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:2.5rem 2rem}.landing .privacy-strip-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:2rem 3rem}.landing .privacy-strip-item{display:flex;align-items:flex-start;gap:.85rem;flex:0 1 auto;max-width:280px}.landing .privacy-strip-item svg{flex-shrink:0;color:var(--brown);margin-top:3px}.landing .privacy-strip-item strong{display:block;font-size:.9rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem;line-height:1.3}.landing .privacy-strip-item span{display:block;font-size:.82rem;color:var(--text-secondary);line-height:1.6}.landing .features{background:var(--warm-white);border-top:1px solid var(--border-light)}.landing .features-header{text-align:center;margin-bottom:4rem}.landing .features-header .section-desc{margin:0 auto;max-width:600px}.landing .features-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.landing .feature-column{background:var(--cream);border:1px solid var(--border-light);border-radius:20px;padding:2.5rem;transition:transform .3s,box-shadow .3s}.landing .feature-column:hover{transform:translateY(-4px);box-shadow:0 20px 60px #2c2a270f}.landing .feature-column-label{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);padding:.35rem .85rem;background:#7b5e8014;border-radius:100px;margin-bottom:1.5rem}.landing .feature-column h3{font-family:Fraunces,serif;font-size:1.6rem;font-weight:400;letter-spacing:-.02em;margin-bottom:.6rem}.landing .feature-column>p{color:var(--text-secondary);font-size:.95rem;margin-bottom:2rem;line-height:1.6;font-weight:300}.landing .feature-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.landing .feature-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.92rem;color:var(--text-primary);line-height:1.5}.landing .feature-check{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#7b5e801a;display:flex;align-items:center;justify-content:center;margin-top:1px}.landing .feature-check svg{width:11px;height:11px}.landing .how-it-works{background:var(--cream);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.landing .how-header{text-align:center;margin-bottom:4rem}.landing .how-header .section-desc{margin:0 auto}.landing .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}.landing .steps-grid:before{content:"";position:absolute;top:28px;left:calc(16.66% + 1rem);right:calc(16.66% + 1rem);height:1px;background:var(--border)}.landing .step{text-align:center}.landing .step-number{width:56px;height:56px;border-radius:50%;background:var(--warm-white);border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:1.1rem;font-weight:500;color:var(--brown);margin-bottom:1.5rem;position:relative;z-index:1;transition:border-color .3s,background .3s}.landing .step:hover .step-number{border-color:var(--brown);background:#7b5e800d}.landing .step h4{font-family:Fraunces,serif;font-size:1.2rem;font-weight:500;margin-bottom:.6rem;letter-spacing:-.01em}.landing .step p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;max-width:300px;margin:0 auto;font-weight:300}.landing .evidence{background:var(--warm-white)}.landing .evidence .section-container{max-width:960px}.landing .evidence .section-label,.landing .evidence .section-title{margin-bottom:1rem}.landing .evidence-subhead{font-size:clamp(.95rem,1.6vw,1.1rem);color:var(--text-secondary);line-height:1.7;max-width:640px;margin-bottom:3rem}.landing .evidence-subhead u{text-decoration:none;border-bottom:1px solid var(--brown);padding-bottom:1px;color:var(--text-primary)}.landing .evidence-stat-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem}.landing .evidence-stat-block{padding:2rem 1.75rem;background:var(--cream);border:1px solid var(--border-light);border-radius:14px;transition:transform .3s}.landing .evidence-stat-block:hover{transform:translateY(-2px)}.landing .evidence-stat-number{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:400;font-style:italic;color:var(--brown);line-height:1;margin-bottom:.75rem;display:block;letter-spacing:-.02em}.landing .evidence-stat-body{font-size:.88rem;color:var(--text-secondary);line-height:1.7}.landing .evidence-stat-body strong{color:var(--text-primary);font-weight:500}.landing .evidence-stat-note{display:block;margin-top:.6rem;font-size:.75rem;color:var(--brown);opacity:.7;font-style:italic}.landing .evidence-stat-source{display:block;margin-top:.75rem;font-size:.68rem;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--brown);opacity:.7}.landing .evidence-stat-source a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,opacity .2s}.landing .evidence-stat-source a:hover{border-color:var(--brown);opacity:1}.landing .evidence-transition{font-family:Fraunces,serif;font-size:clamp(1.1rem,2vw,1.35rem);font-style:italic;font-weight:300;color:var(--text-primary);line-height:1.5;text-align:center;max-width:560px;margin:0 auto;padding-top:1rem}.landing .evidence-transition em{color:var(--brown)}.landing .narrative-interlude{background:var(--cream);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.landing .narrative-interlude .section-container{max-width:720px;text-align:center}.landing .narrative-interlude p{font-size:clamp(1rem,1.6vw,1.1rem);color:var(--text-secondary);line-height:1.85;font-weight:300}.landing .narrative-interlude p+p{margin-top:1.25rem}.landing .narrative-interlude .narrative-highlight{margin-top:2.5rem;padding:2rem;background:var(--warm-white);border:1px solid var(--border-light);border-radius:14px;font-family:Fraunces,serif;font-size:clamp(1.1rem,2vw,1.3rem);font-style:italic;font-weight:300;color:var(--text-primary);line-height:1.55;text-align:center}.landing .narrative-highlight em{color:var(--brown);font-style:italic}.landing .narrative-highlight-label{display:block;font-family:DM Sans,sans-serif;font-size:.7rem;font-style:normal;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--brown);opacity:.75;margin-bottom:.75rem}.landing .founder{background:var(--warm-white);position:relative}.landing .founder-inner{max-width:720px;margin:0 auto}.landing .founder-header{text-align:center;margin-bottom:3rem}.landing .founder-header .section-title{margin-bottom:0}.landing .founder-photo{display:block;width:120px;height:120px;border-radius:50%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 15%;object-position:center 15%;border:3px solid var(--border-light);box-shadow:0 8px 32px #7b5e801f;margin:0 auto 1.5rem}.landing .founder-letter{font-size:clamp(.95rem,1.4vw,1.05rem);color:var(--text-secondary);line-height:1.85;font-weight:300}.landing .founder-letter p{margin-bottom:1.25rem}.landing .founder-letter p:last-child{margin-bottom:0}.landing .founder-letter strong{color:var(--text-primary);font-weight:500}.landing .founder-letter-expanded{display:none}.landing .founder-letter-expanded.open{display:block}.landing .founder-read-more{display:inline-block;background:none;border:none;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;color:var(--brown);cursor:pointer;padding:.5rem 0;margin-top:.5rem;transition:opacity .2s}.landing .founder-read-more:hover{opacity:.7}.landing .founder-signoff{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border-light)}.landing .founder-signoff-promise{font-family:Fraunces,serif;font-size:clamp(1.3rem,2.5vw,1.6rem);font-weight:400;font-style:italic;color:var(--brown);margin-bottom:1.5rem;letter-spacing:-.01em}.landing .founder-signoff-name{font-family:Fraunces,serif;font-size:1.1rem;font-weight:500;color:var(--text-primary);margin-bottom:.15rem}.landing .founder-signoff-title{font-size:.85rem;color:var(--text-tertiary);font-weight:400}.landing .founder-signoff-role{font-size:.8rem;color:var(--brown);font-weight:500;letter-spacing:.02em;margin-top:.5rem}.landing .app-waitlist{background:var(--cream);position:relative;overflow:hidden}.landing .app-waitlist:before{content:"";position:absolute;top:-30%;left:-15%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(155,158,210,.12) 0%,transparent 70%);pointer-events:none}.landing .app-waitlist:after{content:"";position:absolute;bottom:-20%;right:-10%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(212,160,200,.1) 0%,transparent 70%);pointer-events:none}.landing .app-waitlist-inner{max-width:680px;margin:0 auto;text-align:center;position:relative;z-index:1}.landing .app-waitlist-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;background:#7b5e8014;border:1px solid rgba(123,94,128,.15);border-radius:100px;font-size:.78rem;color:var(--brown);font-weight:500;letter-spacing:.03em;margin-bottom:1.5rem}.landing .app-waitlist-badge-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;animation:pulse 2s ease-in-out infinite}.landing .app-waitlist-desc{font-size:1.05rem;color:var(--text-secondary);max-width:520px;margin:0 auto 2rem;line-height:1.7;font-weight:300}.landing .app-waitlist-form{max-width:480px;margin:0 auto}.landing .app-waitlist-input-group{display:flex;gap:.5rem;align-items:stretch}.landing .app-waitlist-form input[name=email]{flex:1;padding:.85rem 1.2rem;border:1.5px solid var(--border);border-radius:10px;font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--text-primary);background:var(--warm-white);outline:none;transition:border-color .25s,box-shadow .25s}.landing .app-waitlist-form input[name=email]:focus{border-color:var(--brown);box-shadow:0 0 0 3px #7b5e801a}.landing .app-waitlist-form input[name=email]::-moz-placeholder{color:var(--text-tertiary)}.landing .app-waitlist-form input[name=email]::placeholder{color:var(--text-tertiary)}.landing .app-waitlist-form button[type=submit]{padding:.85rem 1.8rem;background:var(--brown);color:var(--warm-white);border:none;border-radius:10px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .25s,transform .25s,box-shadow .25s}.landing .app-waitlist-form button[type=submit]:hover{background:var(--brown-dark);transform:translateY(-2px);box-shadow:0 8px 30px #7b5e8033}.landing .app-waitlist-note{font-size:.8rem;color:var(--text-tertiary);margin-top:.75rem;font-weight:400}.landing .app-waitlist-features{display:flex;justify-content:center;gap:2rem;margin-top:2.5rem;flex-wrap:wrap}.landing .app-waitlist-feature{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.landing .app-waitlist-feature svg{color:var(--brown);flex-shrink:0}.landing .final-cta{background:var(--text-primary);position:relative;overflow:hidden}.landing .final-cta:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(123,94,128,.15) 0%,transparent 70%);pointer-events:none}.landing .final-cta-inner{max-width:700px;margin:0 auto;text-align:center;position:relative;z-index:1}.landing .final-cta .section-label{color:var(--brown-light);margin-bottom:1.25rem}.landing .final-cta h2{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;color:var(--warm-white);line-height:1.15;letter-spacing:-.02em;margin-bottom:1rem}.landing .final-cta h2 em{font-style:italic;font-weight:300;color:var(--brown-light)}.landing .final-cta p{color:#fdfcfa8c;font-size:1.05rem;max-width:480px;margin:0 auto 2.5rem;line-height:1.7;font-weight:300}.landing .final-cta .btn-primary{background:var(--warm-white);color:var(--text-primary)}.landing .final-cta .btn-primary:hover{background:var(--cream);box-shadow:0 8px 30px #0000004d}.landing .final-cta-privacy{font-size:.8rem!important;color:#fdfcff66!important;margin-top:1.25rem!important;letter-spacing:.01em}.landing .testimonials{background:var(--cream);border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.landing .testimonials-header{text-align:center;margin-bottom:3rem}.landing .testimonials-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:640px;margin:0 auto}.landing .testimonial-card{padding:2rem 2.25rem;background:var(--warm-white);border:1px solid var(--border-light);border-radius:16px;position:relative}.landing .testimonial-quote{font-family:Fraunces,serif;font-size:1.1rem;font-style:italic;font-weight:300;color:var(--text-primary);line-height:1.65;margin-bottom:1.25rem}.landing .testimonial-quote:before{content:"“";font-family:Fraunces,serif;font-size:3rem;color:var(--brown);opacity:.25;position:absolute;top:.75rem;left:1.25rem;line-height:1}.landing .testimonial-attr{display:flex;align-items:center;gap:.75rem}.landing .testimonial-avatar{width:36px;height:36px;border-radius:50%;background:#7b5e801a;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:.85rem;font-weight:500;color:var(--brown);flex-shrink:0}.landing .testimonial-name{font-size:.85rem;font-weight:500;color:var(--text-primary)}.landing .testimonial-detail{font-size:.78rem;color:var(--text-tertiary);margin-top:.1rem}.landing footer.landing-footer{background:var(--text-primary);border-top:1px solid rgba(255,255,255,.06);padding:2.5rem 2rem}.landing .footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.landing .footer-left{display:flex;align-items:center;gap:.5rem}.landing .footer-logo{width:28px;height:28px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center}.landing .footer-logo img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;opacity:.5}.landing .footer-text{font-size:.82rem;color:#fdfcfa59}.landing .footer-links{display:flex;gap:2rem}.landing .footer-links a{font-size:.82rem;color:#fdfcfa59;text-decoration:none;transition:color .2s}.landing .footer-links a:hover{color:#fdfcfab3}.landing .dot-nav{position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:1.25rem;opacity:0;transition:opacity .4s ease;pointer-events:none}.landing .dot-nav.visible{opacity:1;pointer-events:auto}.landing .dot-nav-item{position:relative;display:flex;align-items:center;justify-content:flex-end}.landing .dot-nav-dot{width:10px;height:10px;border-radius:50%;background:var(--border);border:none;padding:0;cursor:pointer;transition:background .3s,transform .3s,box-shadow .3s;flex-shrink:0}.landing .dot-nav-dot:hover{background:var(--text-tertiary);transform:scale(1.3)}.landing .dot-nav-item.active .dot-nav-dot{background:var(--brown);transform:scale(1.3);box-shadow:0 0 0 3px #7b5e8033}.landing .dot-nav-label{position:absolute;right:calc(100% + .5rem);white-space:nowrap;font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--warm-white);padding:.3rem .65rem;border-radius:6px;border:1px solid var(--border-light);box-shadow:0 2px 8px #0000000f;opacity:0;transform:translate(4px);transition:opacity .2s,transform .2s;pointer-events:none}.landing .dot-nav-item:hover .dot-nav-label{opacity:1;transform:translate(0)}.landing .dot-nav.on-dark .dot-nav-dot{background:#fdfcfa4d}.landing .dot-nav.on-dark .dot-nav-dot:hover{background:#fdfcfa99}.landing .dot-nav.on-dark .dot-nav-item.active .dot-nav-dot{background:var(--warm-white);box-shadow:0 0 0 3px #fdfcfa33}@media (max-width: 900px){.landing .features-grid{grid-template-columns:1fr}}@media (max-width: 768px){.landing section{padding:4rem 1.5rem}.landing .privacy-strip-inner{flex-direction:column;align-items:flex-start;gap:1.25rem}.landing .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;height:100vh;height:100dvh;background-color:#fdfcff;background:#fdfcff;flex-direction:column;align-items:center;justify-content:center;gap:2rem;z-index:200}.landing .nav-links.open{display:flex}.landing nav.site-nav:has(.nav-links.open){backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;box-shadow:none}.landing .nav-links a{font-size:1.2rem}.landing .nav-mobile-toggle{display:block;z-index:300;position:relative}.landing .nav-mobile-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}.landing .nav-mobile-toggle.open span:nth-child(2){opacity:0}.landing .nav-mobile-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}.landing .steps-grid{grid-template-columns:1fr;gap:2.5rem}.landing .steps-grid:before{display:none}.landing .hero{min-height:100vh;min-height:100dvh;padding:3.5rem 1.5rem 2.5rem}.landing .hero-logomark{max-width:420px;margin-top:2rem;margin-bottom:1.25rem}.landing .hero-logomark img{max-height:360px}.landing .hero-trust{gap:.5rem .75rem}.landing .hero-trust-divider{display:none}.landing .hero-trust-item{font-size:.75rem}.landing .evidence-stat-blocks{grid-template-columns:1fr;gap:1rem}.landing .evidence-stat-block{padding:1.5rem 1.25rem}.landing .feature-column h3{font-size:1.35rem}.landing .how-header{margin-bottom:2.5rem}.landing .footer-inner{flex-direction:column;text-align:center}.landing .dot-nav{right:.75rem;gap:1rem}.landing .dot-nav-dot{width:8px;height:8px}.landing .dot-nav-label{display:none}.landing .founder-photo{width:100px;height:100px}}@media (max-width: 600px){.landing .app-waitlist-input-group{flex-direction:column}.landing .app-waitlist-form button[type=submit]{width:100%}.landing .app-waitlist-features{flex-direction:column;align-items:center;gap:.75rem}}@media (max-width: 480px){.landing section{padding:3rem 1.25rem}.landing nav.site-nav{padding:1rem 1.25rem}.landing .hero{min-height:100vh;min-height:100dvh;padding:3rem 1.25rem 2rem}.landing .hero h1{margin-bottom:1rem}.landing .hero-logomark{max-width:320px;margin-top:1.5rem;margin-bottom:1rem}.landing .hero-logomark img{max-height:280px}.landing .hero-sub{font-size:1rem;margin-bottom:2rem}.landing .hero-actions{flex-direction:column;gap:.75rem}.landing .hero-actions .btn-primary,.landing .hero-actions .btn-secondary{width:100%;justify-content:center}.landing .hero-login-link{display:flex;width:100%;margin-top:.75rem;padding:.85rem 1rem;font-size:.95rem;border:1px dashed rgba(123,94,128,.3);border-radius:10px}.landing .hero-trust{gap:.4rem .6rem;margin-top:1.75rem}.landing .hero-trust-item{font-size:.7rem}.landing .hero-badge{font-size:.68rem;padding:.4rem .85rem;gap:.35rem;text-align:center;line-height:1.4}.landing .feature-column{padding:1.75rem 1.25rem}.landing .feature-column h3{font-size:1.2rem}.landing .feature-column>p{font-size:.88rem}.landing .privacy-strip{padding:2rem 1.25rem}.landing .section-title{font-size:clamp(1.6rem,5vw,2rem)}.landing .final-cta p{font-size:.95rem}}.patient-shell{--bg: #F6F4F9;--surface: #FFFFFF;--surface-hover: #FDFCFF;--surface2: #F0ECF5;--surface3: #E8E3F0;--accent: #7B5E80;--accent-light: #A8A0D0;--accent2: #D4A0C8;--border: #E2DCE8;--border-light: #EEEAF2;--text-primary: #2D2843;--text-secondary: #6E6788;--text-muted: #A9A3BA;--success: #4CAF50;--warning: #F59E0B;--danger: #EF4444;--pain-0: #4CAF50;--pain-1: #66BB6A;--pain-2: #8BC34A;--pain-3: #CDDC39;--pain-4: #FFEB3B;--pain-5: #FFC107;--pain-6: #FF9800;--pain-7: #FF5722;--pain-8: #F44336;--pain-9: #D32F2F;--pain-10: #B71C1C;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.patient-shell h1,.patient-shell h2,.patient-shell h3,.patient-shell h4{font-family:Fraunces,Georgia,serif;font-weight:500}.patient-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;font-family:DM Sans,sans-serif;color:#6e6788}.patient-loading-label{font-size:.875rem;letter-spacing:.02em;color:#8a8299;animation:patient-loading-fade 2s ease-in-out infinite}@keyframes patient-loading-fade{0%,to{opacity:.4}50%{opacity:1}}.patient-shell .app-topbar{position:fixed;top:0;left:0;right:0;height:56px;background:var(--surface);border-bottom:1px solid var(--border);z-index:100;display:flex;align-items:center;padding:0 1.25rem;gap:.75rem}.patient-shell .app-topbar-brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--text-primary);padding:.35rem .55rem;margin-left:-.55rem;border-radius:8px;transition:background .15s}.patient-shell .app-topbar-brand:hover{background:var(--surface2)}.patient-shell .app-topbar-brand img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.patient-shell .app-topbar-brand span{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:500}.patient-shell .app-topbar-left{display:inline-flex;align-items:center;min-width:0}.patient-shell .app-topbar-back-wrap{display:inline-flex;align-items:center;overflow:hidden;white-space:nowrap}.patient-shell .app-topbar-divider{display:inline-block;width:1px;height:20px;background:var(--border);margin:0 .5rem;flex:0 0 auto}.patient-shell .app-topbar-back{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:background .15s,color .15s}.patient-shell .app-topbar-back:hover{background:var(--surface2);color:var(--text-primary)}.patient-shell .app-topbar-spacer{flex:1}@media (max-width: 480px){.patient-shell .app-topbar-back{font-size:0;gap:0;padding:.45rem}.patient-shell .app-topbar-back svg{width:18px;height:18px}.patient-shell .app-topbar-divider{margin:0 .35rem}}.patient-shell .app-topbar-avatar-wrap{position:relative}.patient-shell .app-topbar-avatar{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,transform .1s}.patient-shell .app-topbar-avatar:hover{background:var(--accent-light)}.patient-shell .app-topbar-avatar:active{transform:scale(.95)}.patient-shell .app-topbar-avatar[aria-expanded=true]{background:var(--accent-light)}.patient-shell .app-topbar-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #2d28431f;padding:.4rem 0;z-index:110;animation:topbar-menu-in .15s ease}@keyframes topbar-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.patient-shell .app-topbar-menu-header{padding:.6rem .9rem .7rem;border-bottom:1px solid var(--border-light);margin-bottom:.35rem}.patient-shell .app-topbar-menu-name{font-size:.88rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-shell .app-topbar-menu-streak{font-size:.75rem;color:var(--accent2);margin-top:.15rem;font-weight:500}.patient-shell .app-topbar-menu-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;width:100%;background:none;border:none;text-align:left;font-family:inherit;font-size:.88rem;color:var(--text-primary);text-decoration:none;cursor:pointer;transition:background .12s}.patient-shell .app-topbar-menu-item:hover{background:var(--surface2)}.patient-shell .app-topbar-menu-item svg{flex-shrink:0;color:var(--text-secondary)}.patient-shell .app-topbar-menu-item-danger{color:var(--danger)}.patient-shell .app-topbar-menu-item-danger svg{color:var(--danger)}.patient-shell .app-topbar-menu-item-danger:hover{background:#ef44440f}.patient-shell .main-content{flex:1;padding-top:56px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;width:100%}.patient-shell .content-area{flex:1;padding:2rem 2.5rem;width:100%;overflow-x:hidden}.patient-shell .content-area.content-area-flush{padding-bottom:0}@media (max-width: 768px){.patient-shell .content-area.content-area-flush{padding:0}}.patient-shell .card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem;margin-bottom:1rem;overflow-wrap:break-word;min-width:0}.patient-shell .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.patient-shell .card-title{font-size:1rem;font-weight:600;color:var(--text-primary);font-family:DM Sans,sans-serif}.patient-shell .hero-greeting{margin-bottom:1.5rem}.patient-shell .hero-greeting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.patient-shell .hero-greeting h1{font-size:1.75rem;font-weight:500;margin-bottom:.25rem}.patient-shell .hero-greeting h1 em{font-style:italic}.patient-shell .hero-subtitle{font-size:.95rem;color:var(--text-secondary);line-height:1.6;min-height:1.6em}.patient-shell .card-link{font-size:.78rem;color:var(--accent);text-decoration:none;font-weight:500}.patient-shell .card-link:hover{color:var(--accent-light)}.patient-shell .today-card-cta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.patient-shell .today-cta-copy{flex:1;min-width:200px}.patient-shell .today-cta-copy strong{display:block;font-size:1rem;margin-bottom:.15rem}.patient-shell .today-cta-copy p{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.patient-shell .today-cta-btn{flex-shrink:0}.patient-shell .today-card-done{padding:1.1rem 1.25rem}.patient-shell .today-done-row{display:flex;align-items:center;gap:1rem}.patient-shell .today-done-score{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,Georgia,serif;font-size:1.3rem;font-weight:500;flex-shrink:0}.patient-shell .today-done-body{flex:1;min-width:0}.patient-shell .today-done-body strong{display:block;font-size:.95rem}.patient-shell .today-done-sub{font-size:.82rem;color:var(--text-secondary);margin-top:.1rem}.patient-shell .today-done-edit{font-size:.8rem;color:var(--accent);text-decoration:none;font-weight:500;padding:.3rem .7rem;border-radius:8px;border:1px solid var(--border)}.patient-shell .today-done-edit:hover{background:var(--bg);border-color:var(--accent2)}.patient-shell .cycle-strip{display:flex;align-items:center;gap:.9rem;padding:1rem 1.25rem;color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s}.patient-shell .cycle-strip:hover{background:var(--surface-hover);border-color:var(--accent2)}.patient-shell .cycle-strip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #0000000a}.patient-shell .cycle-strip-body{flex:1;min-width:0}.patient-shell .cycle-strip-title{font-size:.92rem;font-weight:500}.patient-shell .cycle-strip-title strong{font-weight:600}.patient-shell .cycle-strip-sub{font-size:.8rem;color:var(--text-secondary);margin-top:.1rem}.patient-shell .cycle-strip-chevron{color:var(--text-muted);font-size:1.1rem;flex-shrink:0}.patient-shell .patterns-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.patient-shell .pattern-item{--pattern-accent: var(--accent);--pattern-tint: rgba(110, 59, 255, .06);position:relative;padding:.9rem 1rem .9rem .85rem;border-radius:14px;background:linear-gradient(135deg,var(--pattern-tint) 0%,transparent 55%),var(--surface);border:1px solid var(--border);display:flex;gap:.7rem;align-items:stretch;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;opacity:0;transform:translateY(14px) scale(.985)}.patient-shell .patterns-list.is-revealed .pattern-item{animation:pattern-item-pop .62s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--pattern-delay, 0ms)}@keyframes pattern-item-pop{0%{opacity:0;transform:translateY(14px) scale(.985)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}.patient-shell .pattern-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--pattern-accent) 35%,var(--border));box-shadow:0 6px 18px -8px color-mix(in srgb,var(--pattern-accent) 40%,transparent)}.patient-shell .pattern-item-stripe{flex:0 0 3px;border-radius:4px;background:linear-gradient(180deg,var(--pattern-accent),color-mix(in srgb,var(--pattern-accent) 35%,transparent))}.patient-shell .pattern-item-body-wrap{flex:1;min-width:0}.patient-shell .pattern-item.pattern-alert{--pattern-accent: var(--danger);--pattern-tint: rgba(239, 68, 68, .07)}.patient-shell .pattern-item.pattern-warn{--pattern-accent: var(--warning);--pattern-tint: rgba(245, 158, 11, .07)}.patient-shell .pattern-item-title{font-size:.92rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.patient-shell .pattern-item-body{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.patient-shell .patterns-more-link{display:inline-block;margin-top:.75rem;font-size:.82rem;font-weight:500;color:var(--accent, #6e3bff);text-decoration:none;transition:transform .16s ease}.patient-shell .patterns-more-link:hover{text-decoration:underline;transform:translate(2px)}@media (prefers-reduced-motion: reduce){.patient-shell .patterns-list.is-revealed .pattern-item{animation:none;opacity:1;transform:none}}.patient-shell .patterns-empty{font-size:.85rem;color:var(--text-secondary);line-height:1.5;margin:0}.patient-shell .patterns-card-locked .patterns-locked-copy{font-size:.85rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.5}.patient-shell .patterns-progress{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.patient-shell .patterns-progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.patient-shell .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.2rem;border:none;border-radius:10px;font-size:.875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background .2s,transform .1s;text-decoration:none}.patient-shell .btn:active{transform:scale(.98)}.patient-shell .btn-primary{background:var(--accent);color:#fff}.patient-shell .btn-primary:hover{background:var(--accent-light)}.patient-shell .btn-secondary{background:var(--bg);color:var(--text-primary);border:1px solid var(--border)}.patient-shell .btn-secondary:hover{background:var(--surface-hover)}.patient-shell .btn-sm{padding:.4rem .8rem;font-size:.8rem}.patient-shell .streak-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:20px;font-size:.8rem;font-weight:600;background:#d4a0c826;color:var(--accent2)}.patient-shell .week-chart{display:flex;flex-direction:column;gap:6px;padding-top:.5rem}.patient-shell .week-chart-svg{width:100%;display:block;overflow:visible}@media (max-width: 480px){.patient-shell .week-chart-svg{height:110px}}.patient-shell .week-chart-line{stroke-dasharray:600;stroke-dashoffset:600;animation:week-chart-draw .9s cubic-bezier(.4,0,.2,1) forwards}.patient-shell .week-chart-dot{opacity:0;transform-box:fill-box;transform-origin:center;animation:week-chart-dot-in .22s ease-out forwards}.patient-shell .week-chart-dot-label{font-size:.5px;font-weight:700;fill:#fff;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@keyframes week-chart-draw{to{stroke-dashoffset:0}}@keyframes week-chart-dot-in{0%{opacity:0;transform:scale(.6)}to{opacity:var(--dot-opacity, 1);transform:scale(1)}}.patient-shell .week-chart-labels{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px}.patient-shell .week-bar-label{font-size:.7rem;color:var(--text-muted);font-weight:500;text-align:center}.patient-shell .form-field{margin-bottom:1rem}.patient-shell .form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.patient-shell .form-hint{font-weight:400;color:var(--text-muted);font-size:.8rem}.patient-shell .form-input,.patient-shell .form-select,.patient-shell .form-textarea{width:100%;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:10px;font-size:.9rem;font-family:inherit;background:var(--surface);color:var(--text-primary);transition:border-color .2s;outline:none}.patient-shell .form-input:focus,.patient-shell .form-select:focus,.patient-shell .form-textarea:focus{border-color:var(--accent)}.patient-shell .measure-input{display:flex;flex-direction:column;gap:.55rem;min-width:0}.patient-shell .unit-toggle{position:relative;display:inline-flex;padding:3px;border-radius:999px;background:var(--bg, #f3f0ea);border:1px solid var(--border);align-self:flex-start;gap:2px}.patient-shell .unit-toggle-opt{position:relative;border:0;background:transparent;padding:.35rem .85rem;border-radius:999px;font-family:inherit;font-size:.78rem;font-weight:600;color:var(--text-muted);cursor:pointer;letter-spacing:.01em;transition:color .2s;z-index:1;white-space:nowrap;line-height:1.2}.patient-shell .unit-toggle-opt:hover{color:var(--text-secondary)}.patient-shell .unit-toggle-opt.selected{color:#fff}.patient-shell .unit-toggle-indicator{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--accent);z-index:-1;box-shadow:0 1px 4px #00000014}.patient-shell .unit-toggle-label{position:relative;z-index:1}.patient-shell .measure-fields{display:flex;gap:.55rem}.patient-shell .measure-field{position:relative;flex:1;max-width:120px}.patient-shell .measure-field .measure-number{padding-right:2.25rem;font-variant-numeric:tabular-nums;transition:border-color .2s,box-shadow .2s}.patient-shell .measure-field .measure-number:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.patient-shell .measure-suffix{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);font-size:.78rem;font-weight:600;color:var(--text-muted);pointer-events:none;letter-spacing:.02em}.patient-shell .weight-dial{display:flex;flex-direction:column;gap:.4rem;padding:.75rem .9rem .6rem;border:1.5px solid var(--border);border-radius:14px;background:var(--surface);outline:none;transition:border-color .2s,box-shadow .2s;width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.patient-shell .weight-dial:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.patient-shell .weight-readout{display:flex;align-items:baseline;justify-content:center;gap:.35rem}.patient-shell .weight-readout-number{font-size:2rem;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.patient-shell .weight-readout-unit{font-size:.85rem;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.patient-shell .weight-dial-track{position:relative;height:48px;overflow:hidden;cursor:grab;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;min-width:0}.patient-shell .weight-dial-track:active{cursor:grabbing}.patient-shell .weight-dial-strip{position:relative;height:100%;will-change:transform}.patient-shell .weight-tick{position:absolute;top:0;width:1px;height:14px;background:color-mix(in srgb,var(--text-muted) 45%,transparent)}.patient-shell .weight-tick.mid{height:18px;background:color-mix(in srgb,var(--text-muted) 65%,transparent)}.patient-shell .weight-tick.major{height:22px;background:var(--text-secondary);width:1.5px}.patient-shell .weight-tick-label{position:absolute;top:26px;left:50%;transform:translate(-50%);font-size:.72rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.patient-shell .weight-dial-pointer{position:absolute;left:50%;top:0;transform:translate(-50%);width:2px;height:30px;background:var(--accent);border-radius:2px;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);pointer-events:none}.patient-shell .weight-dial-pointer:after{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--accent)}.patient-shell .weight-dial-fade{position:absolute;top:0;bottom:0;width:28px;pointer-events:none}.patient-shell .weight-dial-fade-left{left:0;background:linear-gradient(to right,var(--surface),transparent)}.patient-shell .weight-dial-fade-right{right:0;background:linear-gradient(to left,var(--surface),transparent)}.patient-shell .form-textarea{min-height:90px;resize:vertical}.patient-shell .notes-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;margin-bottom:.4rem}.patient-shell .voice-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.patient-shell .voice-btn:hover:not(:disabled){border-color:var(--accent2);color:var(--accent)}.patient-shell .voice-btn:disabled{opacity:.7;cursor:wait}.patient-shell .voice-btn.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:voice-pulse 1.2s ease-in-out infinite}.patient-shell .notes-textarea-wrap{position:relative}.patient-shell .notes-textarea-wrap .form-textarea{padding-right:3.25rem;padding-bottom:3.25rem}.patient-shell .voice-btn-inline{position:absolute;right:.75rem;bottom:.75rem;width:34px;height:34px;padding:7px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s}.patient-shell .voice-btn-inline svg{width:100%;height:100%}.patient-shell .voice-btn-inline:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.patient-shell .voice-btn-inline:disabled{opacity:.6;cursor:wait}.patient-shell .voice-btn-inline.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{0%,to{box-shadow:0 0 #ef444459}50%{box-shadow:0 0 0 6px #ef444400}}.patient-shell .pain-scale{display:flex;gap:6px;margin:1rem 0 .25rem}.patient-shell .pain-btn{flex:1;aspect-ratio:1;max-width:48px;border:2px solid var(--border);border-radius:10px;background:var(--surface);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,border-color .15s;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.patient-shell .pain-btn:hover{transform:scale(1.08)}.patient-shell .pain-btn.selected{color:#fff;border-color:transparent;transform:scale(1.1);box-shadow:0 2px 8px #00000026}.patient-shell .pain-btn[data-score="0"].selected{background:var(--pain-0)}.patient-shell .pain-btn[data-score="1"].selected{background:var(--pain-1)}.patient-shell .pain-btn[data-score="2"].selected{background:var(--pain-2)}.patient-shell .pain-btn[data-score="3"].selected{background:var(--pain-3);color:var(--text-primary)}.patient-shell .pain-btn[data-score="4"].selected{background:var(--pain-4);color:var(--text-primary)}.patient-shell .pain-btn[data-score="5"].selected{background:var(--pain-5);color:var(--text-primary)}.patient-shell .pain-btn[data-score="6"].selected{background:var(--pain-6)}.patient-shell .pain-btn[data-score="7"].selected{background:var(--pain-7)}.patient-shell .pain-btn[data-score="8"].selected{background:var(--pain-8)}.patient-shell .pain-btn[data-score="9"].selected{background:var(--pain-9)}.patient-shell .pain-btn[data-score="10"].selected{background:var(--pain-10)}.patient-shell .pain-scale-labels{display:flex;justify-content:space-between}.patient-shell .mankoski-caption{margin-top:.85rem;padding:10px 14px;border-radius:10px;background:var(--surface2);color:var(--text-primary);font-size:.88rem;font-weight:500;text-align:center;line-height:1.3;min-height:40px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.patient-shell .mankoski-caption[data-empty=true]{color:var(--text-muted);font-weight:400;font-style:italic}.patient-shell .pain-label{font-size:.8rem;color:var(--text-muted)}.patient-shell .chip-group{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.patient-shell .chip{display:inline-flex;align-items:center;padding:.4rem .85rem;border-radius:20px;font-size:.8rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:inherit;transition:background .15s,border-color .15s,color .15s}.patient-shell .chip:hover{border-color:var(--accent2)}.patient-shell .chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.patient-shell .btn-expand-symptoms{display:inline-flex;align-items:center;background:none;border:1px dashed var(--border);border-radius:20px;padding:.35rem .9rem;font-size:.8rem;font-weight:500;color:var(--text-secondary);cursor:pointer;margin-top:.5rem;font-family:inherit;transition:border-color .2s,color .2s}.patient-shell .btn-expand-symptoms:hover{border-color:var(--accent2);color:var(--accent2)}.patient-shell .btn-expand-symptoms.expanded{border-style:solid;color:var(--accent);border-color:var(--accent)}.patient-shell .symptom-cat-label{margin-top:.75rem;font-size:.75rem;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase}.patient-shell .expanded-symptoms{margin-top:.5rem}.patient-shell .stepper{display:flex;align-items:stretch;justify-content:center;gap:.75rem;margin:.35rem 0 .4rem}.patient-shell .stepper-btn{width:56px;height:56px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-primary);font-size:1.6rem;font-weight:500;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;transition:background .12s,border-color .12s,transform .08s}.patient-shell .stepper-btn:hover:not(:disabled){border-color:var(--accent2);color:var(--accent)}.patient-shell .stepper-btn:active:not(:disabled){transform:scale(.95)}.patient-shell .stepper-btn:disabled{opacity:.35;cursor:not-allowed}.patient-shell .stepper-value{flex:1;max-width:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.4rem .8rem;border-radius:14px;background:var(--surface2)}.patient-shell .stepper-num{font-family:Fraunces,Georgia,serif;font-size:2rem;font-weight:500;line-height:1;color:var(--text-primary)}.patient-shell .stepper-unit{font-size:.75rem;color:var(--text-secondary);margin-top:.2rem;letter-spacing:.02em}.patient-shell .stepper-caption{text-align:center;font-size:.82rem;color:var(--text-secondary);margin-bottom:.75rem}.patient-shell .sleep-presets{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}.patient-shell .sleep-preset{min-width:52px;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.patient-shell .sleep-preset:hover{border-color:var(--accent2)}.patient-shell .sleep-preset.selected{background:var(--accent);border-color:var(--accent);color:#fff}.patient-shell .energy-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:.35rem 0 .25rem}.patient-shell .energy-option{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.7rem .3rem;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s,transform .1s}.patient-shell .energy-option:hover{border-color:var(--accent2)}.patient-shell .energy-option:active{transform:scale(.97)}.patient-shell .energy-option.selected{border-color:var(--accent);background:#7b5e8014;color:var(--accent)}.patient-shell .energy-emoji{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;line-height:1}.patient-shell .energy-emoji svg{overflow:visible}.patient-shell .energy-label{font-size:.72rem;font-weight:500;text-align:center;line-height:1.1}.patient-shell .checkin-page{max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;height:calc(100vh - 56px - 4rem);height:calc(100dvh - 56px - 4rem);max-height:calc(100dvh - 56px - 4rem);min-height:420px}.patient-shell .checkin-header-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.9rem 1.25rem;border-bottom:1px solid var(--border-light)}.patient-shell .checkin-cancel-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:background .15s}.patient-shell .checkin-cancel-btn:hover{background:var(--surface2);color:var(--text-primary)}.patient-shell .checkin-progress{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.patient-shell .checkin-progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.patient-shell .checkin-step-label{font-size:.75rem;color:var(--text-muted);font-weight:500;white-space:nowrap}.patient-shell .checkin-body{flex:1;padding:1.5rem 1.5rem 1rem;overflow-y:auto}.patient-shell .checkin-step-content{animation:checkin-fade-in .2s ease}@keyframes checkin-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.patient-shell .checkin-title{font-size:1.25rem;margin-bottom:.35rem}.patient-shell .checkin-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.patient-shell .checkin-footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-light);background:var(--surface-hover)}.patient-shell .checkin-error{margin-top:.75rem;padding:.6rem .8rem;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--danger);font-size:.82rem}.patient-shell .checkin-meds-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.patient-shell .checkin-med-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;background:var(--surface);border:1px solid var(--border-light);border-radius:10px}.patient-shell .checkin-med-info{min-width:0;flex:1}.patient-shell .checkin-med-name{font-weight:600;font-size:.95rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-shell .checkin-med-dosage{font-size:.8rem;color:var(--text-secondary);margin-top:.1rem}.patient-shell .checkin-med-actions{display:flex;gap:.4rem;flex-shrink:0}.patient-shell .checkin-med-btn{min-width:56px;padding:.5rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-weight:600;font-size:.88rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.patient-shell .checkin-med-btn:hover{border-color:var(--primary);color:var(--text-primary)}.patient-shell .checkin-med-btn-yes.selected{background:#2ea05f1f;border-color:#2ea05f8c;color:#2ea05f}.patient-shell .checkin-med-btn-no.selected{background:#ef44441a;border-color:#ef444480;color:var(--danger)}.patient-shell .checkin-meds-hint{margin-top:.75rem;font-size:.8rem;color:var(--text-muted)}.patient-shell .btn:disabled{opacity:.6;cursor:not-allowed}.patient-shell .coach-fab{position:fixed;right:1.5rem;bottom:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.1rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:999px;font-weight:600;font-size:.88rem;box-shadow:0 6px 20px #7b5e8059;transition:background .15s,transform .1s,box-shadow .15s;z-index:90}.patient-shell .coach-fab:hover{background:var(--accent-light);box-shadow:0 8px 24px #7b5e8066}.patient-shell .coach-fab:active{transform:scale(.97)}.patient-shell .coach-fab-hidden{transform:translateY(140%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .2s ease}.patient-shell .coach-fab svg{width:18px;height:18px}.patient-shell .coach-page{max-width:860px;margin:0 auto;display:flex;flex-direction:column;height:calc(100vh - 56px - 3rem);height:calc(100dvh - 56px - 3rem);min-height:520px}.patient-shell .coach-page-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.9rem;margin-bottom:.5rem;border-bottom:1px solid var(--border-light)}.patient-shell .coach-avatar-badge{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.patient-shell .coach-avatar-badge svg{width:22px;height:22px}.patient-shell .coach-header-text h2{margin:0;font-size:1.15rem;font-weight:500}.patient-shell .coach-header-text p{margin:.15rem 0 0;font-size:.82rem;color:var(--text-secondary)}.patient-shell .coach-scroll{flex:1;overflow-y:auto;padding:.75rem .25rem 1rem;display:flex;flex-direction:column;gap:.85rem;scroll-behavior:smooth}.patient-shell .coach-disclaimer{align-self:center;max-width:600px;text-align:center;font-size:.78rem;color:var(--text-muted);padding:.5rem .9rem;border-radius:999px;background:var(--surface2);line-height:1.4}.patient-shell .coach-msg{display:flex;align-items:flex-end;gap:.5rem;max-width:100%}.patient-shell .coach-msg-user{justify-content:flex-end}.patient-shell .coach-msg-assistant{justify-content:flex-start}.patient-shell .coach-msg-avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.78rem;font-weight:600}.patient-shell .coach-msg-avatar-assistant{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.patient-shell .coach-msg-avatar-assistant svg{width:15px;height:15px}.patient-shell .coach-msg-avatar-user{background:var(--surface2);color:var(--text-primary);border:1px solid var(--border)}.patient-shell .coach-msg-bubble{max-width:calc(100% - 40px);padding:.7rem 1rem;border-radius:16px;font-size:.92rem;line-height:1.55;overflow-wrap:break-word;word-break:break-word}.patient-shell .coach-msg-user .coach-msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.patient-shell .coach-msg-assistant .coach-msg-bubble{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:4px}.patient-shell .coach-msg-error .coach-msg-bubble{background:#ef44440f;border-color:#ef44444d;color:var(--danger)}.patient-shell .coach-typing{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary)}.patient-shell .coach-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-light);animation:coach-typing-bounce 1.2s ease-in-out infinite}.patient-shell .coach-typing-dot:nth-child(2){animation-delay:.15s}.patient-shell .coach-typing-dot:nth-child(3){animation-delay:.3s}.patient-shell .coach-typing-label{margin-left:.25rem;font-size:.78rem;font-style:italic}@keyframes coach-typing-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.patient-shell .coach-starters{margin-top:.5rem;padding:.25rem .15rem}.patient-shell .coach-starters-label{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.55rem;padding-left:.15rem}.patient-shell .coach-starters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}.patient-shell .coach-starter-chip{text-align:left;padding:.7rem .9rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:.85rem;font-weight:500;cursor:pointer;line-height:1.4;transition:background .15s,border-color .15s,transform .1s}.patient-shell .coach-starter-chip:hover:not(:disabled){background:var(--surface-hover);border-color:var(--accent2)}.patient-shell .coach-starter-chip:active:not(:disabled){transform:scale(.98)}.patient-shell .coach-starter-chip:disabled{opacity:.6;cursor:not-allowed}.patient-shell .coach-composer{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem .5rem .9rem;margin-top:.5rem;background:var(--surface);border:1.5px solid var(--border);border-radius:22px;transition:border-color .15s,box-shadow .15s}.patient-shell .coach-composer.has-multiline{align-items:flex-end}.patient-shell .coach-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #7b5e801a}.patient-shell .coach-composer-input{flex:1;min-height:24px;max-height:140px;border:none;outline:none;background:transparent;font-family:inherit;font-size:.92rem;line-height:1.5;color:var(--text-primary);resize:none}.patient-shell .coach-composer-input::-moz-placeholder{color:var(--text-muted)}.patient-shell .coach-composer-input::placeholder{color:var(--text-muted)}.patient-shell .coach-composer-send{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,transform .1s;flex-shrink:0}.patient-shell .coach-composer-send:hover:not(:disabled){background:var(--accent-light)}.patient-shell .coach-composer-send:active:not(:disabled){transform:scale(.95)}.patient-shell .coach-composer-send:disabled{background:var(--surface3);color:var(--text-muted);cursor:not-allowed}.patient-shell .coach-composer-send svg{width:16px;height:16px}.patient-shell .coach-composer-mic{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .1s;flex-shrink:0}.patient-shell .coach-composer-mic:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.patient-shell .coach-composer-mic:disabled{opacity:.6;cursor:not-allowed}.patient-shell .coach-composer-mic.recording{background:var(--accent);border-color:var(--accent);color:#fff;animation:voice-pulse 1.2s ease-in-out infinite}.patient-shell .coach-composer-mic svg{width:16px;height:16px}.patient-shell .coach-voice-error{margin-top:.35rem;font-size:.8rem;color:var(--danger, #c0392b);text-align:center}.patient-shell .loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.patient-shell .app-topbar{padding:0 1rem}.patient-shell .content-area{padding:1.25rem;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.patient-shell .coach-fab{right:1rem;bottom:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));padding:.7rem 1rem;font-size:.82rem}.patient-shell .coach-page{height:calc(100vh - 56px);height:calc(100dvh - 56px);padding:.75rem .9rem max(.75rem,env(safe-area-inset-bottom,0px))}.patient-shell .coach-msg-bubble{font-size:.88rem}.patient-shell .coach-starters-grid{grid-template-columns:1fr}.patient-shell .checkin-page{height:calc(100vh - 56px);height:calc(100dvh - 56px);max-height:calc(100dvh - 56px);min-height:0;border-radius:0;border-left:none;border-right:none}.patient-shell .checkin-body{padding:1.25rem 1.1rem .75rem}.patient-shell .checkin-footer{padding:.85rem 1.1rem}.patient-shell .pain-scale{gap:4px}.patient-shell .pain-btn{max-width:36px;font-size:.85rem}.patient-shell .stepper-btn{width:52px;height:52px;font-size:1.5rem}.patient-shell .stepper-num{font-size:1.75rem}.patient-shell .energy-scale{gap:.3rem}.patient-shell .energy-option{padding:.55rem .15rem}.patient-shell .energy-emoji{width:30px;height:30px}.patient-shell .energy-emoji svg{width:30px;height:30px}.patient-shell .energy-label{font-size:.66rem}}.patient-shell .cal-header-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem}.patient-shell .cal-title{font-family:Fraunces,Georgia,serif;font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.patient-shell .cal-pdf-btn{font-size:.78rem;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s}.patient-shell .cal-pdf-btn:hover{background:var(--surface2);border-color:var(--accent)}.patient-shell .cal-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.patient-shell .cal-row{display:grid;gap:2px;align-items:center;margin-bottom:2px}.patient-shell .cal-label{font-size:.72rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:4px;padding-right:6px;min-width:0}.patient-shell .cal-label-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.15;word-break:break-word;min-width:0}.patient-shell .cal-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.patient-shell .cal-cell{height:20px;border-radius:3px;cursor:pointer;border:1px solid transparent;transition:transform .1s,opacity .1s}.patient-shell .cal-cell.taken{opacity:.85}.patient-shell .cal-cell.missed{background:var(--surface2)!important;border-color:var(--border)}.patient-shell .cal-cell:hover{transform:scale(1.12);opacity:.7}.patient-shell .cal-cell.selected,.patient-shell .cal-pain-cell.selected{box-shadow:inset 0 0 0 2px var(--text-primary)}.patient-shell .cal-pain-cell{height:20px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;cursor:pointer;transition:transform .1s}.patient-shell .cal-pain-cell:hover{transform:scale(1.12)}.patient-shell .cal-cycle-cell{height:5px;border-radius:2px}.patient-shell .cal-hcell{font-size:.6rem;color:var(--text-muted);text-align:center;padding:2px 0;font-weight:500}.patient-shell .cal-legend{display:flex;gap:14px;flex-wrap:wrap;padding-top:.85rem;margin-top:.75rem;border-top:1px solid var(--border-light)}.patient-shell .cal-legend-item{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--text-secondary)}.patient-shell .cal-legend-sq{width:10px;height:10px;border-radius:2px;display:inline-block}.patient-shell .cal-day-detail{position:relative}.patient-shell .cal-day-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.patient-shell .cal-day-title{font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.patient-shell .cal-day-phase{font-size:.72rem;color:var(--text-muted);margin-top:2px;text-transform:capitalize}.patient-shell .cal-day-score{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:600;padding:4px 14px;border-radius:999px;margin-left:auto}.patient-shell .cal-day-score-soft{font-size:.78rem;font-weight:500;padding:4px 12px;border-radius:999px;background:var(--surface2);color:var(--text-secondary);margin-left:auto}.patient-shell .cal-day-close{background:none;border:none;color:var(--text-muted);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 4px}.patient-shell .cal-day-close:hover{color:var(--text-primary)}.patient-shell .cal-entries{margin-bottom:.75rem}.patient-shell .cal-entry-row{display:flex;align-items:center;gap:10px;padding:6px 0}.patient-shell .cal-entry-row+.cal-entry-row{border-top:1px solid var(--border-light)}.patient-shell .cal-entry-score{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;flex-shrink:0}.patient-shell .cal-entry-body{flex:1;min-width:0}.patient-shell .cal-entry-line{font-size:.8rem;font-weight:500;color:var(--text-primary)}.patient-shell .cal-entry-time{color:var(--text-muted);font-weight:400}.patient-shell .cal-entry-meta{font-size:.72rem;color:var(--text-secondary)}.patient-shell .cal-entry-notes{font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-shell .cal-entry-delete{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:.85rem;line-height:1}.patient-shell .cal-detail-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.patient-shell .cal-detail-label{font-size:.76rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.patient-shell .cal-med-chips{display:flex;flex-wrap:wrap;gap:6px}.patient-shell .cal-med-chip{font-size:.75rem;padding:4px 12px;border-radius:999px;background:var(--surface2);color:var(--text-muted);border:1px solid var(--border);text-decoration:line-through;cursor:pointer;transition:transform .1s}.patient-shell .cal-med-chip.taken{text-decoration:none;border-color:transparent}.patient-shell .cal-med-chip:hover{transform:translateY(-1px)}.patient-shell .cal-med-chip:disabled{cursor:default;opacity:.7}.patient-shell .cal-detail-meta{font-size:.78rem;color:var(--text-secondary);margin-top:.5rem}.patient-shell .cal-detail-empty{font-size:.82rem;color:var(--text-muted);font-style:italic}.patient-shell .cal-pain-picker{display:flex;gap:4px;flex-wrap:wrap}.patient-shell .cal-pain-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--surface2);color:var(--text-primary);font-size:.75rem;font-weight:600;cursor:pointer;transition:transform .1s}.patient-shell .cal-pain-btn:hover{transform:scale(1.1)}.patient-shell .cal-detail-notes{width:100%;font-size:.85rem;border:1px solid var(--border);border-radius:8px;padding:8px 10px;resize:vertical;font-family:inherit;background:var(--surface2);color:var(--text-primary)}.patient-shell .cal-notes-save{margin-top:6px;font-size:.78rem;padding:6px 16px;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}.patient-shell .cal-notes-save:disabled{opacity:.6;cursor:default}.patient-shell .adh-row{display:flex;align-items:center;gap:10px;margin-bottom:.65rem}.patient-shell .adh-row:last-child{margin-bottom:0}.patient-shell .adh-label{font-size:.85rem;font-weight:500;color:var(--text-primary);width:110px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-shell .adh-track{flex:1;height:10px;background:var(--surface2);border-radius:5px;overflow:hidden}.patient-shell .adh-fill{height:100%;border-radius:5px}.patient-shell .adh-pct{font-size:.85rem;font-weight:600;color:var(--text-primary);min-width:52px;text-align:right}.patient-shell .pp-card-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.55;margin:0 0 .85rem}.patient-shell .pp-card-title{margin:0 0 .25rem}.patient-shell .pp-metrics-card{padding:.75rem}.patient-shell .pp-metrics-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}@media (min-width: 720px){.patient-shell .pp-metrics-row{grid-template-columns:repeat(4,minmax(0,1fr))}}.patient-shell .pp-metric{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .85rem;border-radius:12px;background:var(--surface2);border:1px solid var(--border-light);min-height:88px;animation:pp-metric-rise .45s cubic-bezier(.22,1,.36,1) both}.patient-shell .pp-metric:nth-child(1){animation-delay:0ms}.patient-shell .pp-metric:nth-child(2){animation-delay:70ms}.patient-shell .pp-metric:nth-child(3){animation-delay:.14s}.patient-shell .pp-metric:nth-child(4){animation-delay:.21s}@keyframes pp-metric-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.patient-shell .pp-metric-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;line-height:1.2}.patient-shell .pp-metric-val{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:1.1;font-variant-numeric:tabular-nums}.patient-shell .pp-metric-val-tinted{font-weight:700;-webkit-text-stroke:.6px color-mix(in srgb,currentColor 55%,var(--text-primary) 45%);paint-order:stroke fill}.patient-shell .pp-metric-sub{font-size:.7rem;color:var(--text-muted)}.patient-shell .pp-metric-fade{opacity:0;transition:opacity .35s ease}.patient-shell .pp-metric-fade.is-shown{opacity:1}.patient-shell .pp-metric-up{color:var(--danger)}.patient-shell .pp-metric-down{color:var(--success)}.patient-shell .pp-metric-neutral{color:var(--text-muted)}.patient-shell .pp-alert{background:linear-gradient(135deg,#ef44440f,#f59e0b14);border:1px solid rgba(239,68,68,.18)}.patient-shell .pp-alert-badge{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:600;color:var(--danger);margin-bottom:.4rem}.patient-shell .pp-alert-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:pulse-danger 2s infinite}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.5}}.patient-shell .pp-alert-title{font-family:Fraunces,Georgia,serif;font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.patient-shell .pp-alert-title em{font-style:normal;color:var(--danger);font-weight:700}.patient-shell .pp-alert-body{font-size:.85rem;color:var(--text-secondary);padding-left:1.1rem;margin:.25rem 0;line-height:1.55}.patient-shell .pp-alert-actions{font-size:.78rem;color:var(--text-primary);background:var(--surface2);border-radius:8px;padding:8px 12px;margin-top:.5rem}.patient-shell .pp-trend-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:.25rem}.patient-shell .pp-trend-nav{display:flex;gap:6px;flex-shrink:0}.patient-shell .pp-trend-nav-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease}.patient-shell .pp-trend-nav-btn:hover:not(:disabled){background:var(--surface2);border-color:var(--text-muted);transform:translateY(-1px)}.patient-shell .pp-trend-nav-btn:active:not(:disabled){transform:scale(.94)}.patient-shell .pp-trend-nav-btn:disabled{opacity:.35;cursor:not-allowed}.patient-shell .pp-trend-chart{display:flex;align-items:flex-end;gap:6px;min-height:160px;padding:6px 0;margin-bottom:.75rem;overflow:hidden}.patient-shell .pp-trend-slide-left{animation:pp-trend-slide-from-right .32s cubic-bezier(.22,1,.36,1)}.patient-shell .pp-trend-slide-right{animation:pp-trend-slide-from-left .32s cubic-bezier(.22,1,.36,1)}@keyframes pp-trend-slide-from-right{0%{transform:translate(22px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pp-trend-slide-from-left{0%{transform:translate(-22px);opacity:0}to{transform:translate(0);opacity:1}}.patient-shell .pp-trend-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.patient-shell .pp-trend-bar{width:100%;max-width:36px;border-radius:6px 6px 0 0;min-height:2px;height:var(--pp-bar-height, 2px);transform-origin:bottom center;animation:pp-trend-bar-grow .52s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--pp-bar-delay, 0ms)}@keyframes pp-trend-bar-grow{0%{transform:scaleY(0);opacity:0}60%{opacity:1}to{transform:scaleY(1);opacity:1}}@media (prefers-reduced-motion: reduce){.patient-shell .pp-trend-slide-left,.patient-shell .pp-trend-slide-right,.patient-shell .pp-trend-bar{animation:none}}.patient-shell .pp-trend-bar-val{font-size:.68rem;font-weight:600;color:var(--text-secondary)}.patient-shell .pp-trend-label{font-size:.66rem;color:var(--text-muted);text-align:center;white-space:nowrap}.patient-shell .pp-trend-insight{font-size:.85rem;font-weight:500;padding:8px 14px;border-radius:8px;margin-top:.25rem}.patient-shell .pp-trend-insight.improving{background:#eef8f2;color:#27500a}.patient-shell .pp-trend-insight.worsening{background:#fef0f4;color:#791f1f}.patient-shell .pp-trend-insight.stable{background:#eef2fc;color:#0c447c}.patient-shell .pp-patterns-list{display:flex;flex-direction:column;gap:.6rem}.patient-shell .pp-pattern-card{padding:.75rem .9rem;border-radius:12px;border:1px solid var(--border);background:var(--surface2);position:relative}.patient-shell .pp-pattern-alert{background:#fef2f2;border-color:#fecaca}.patient-shell .pp-pattern-warn{background:#fffbeb;border-color:#fde68a}.patient-shell .pp-pattern-info{background:#f0f9ff;border-color:#bae6fd}.patient-shell .pp-pattern-title{font-weight:600;font-size:.9rem;color:var(--text-primary);margin-bottom:.3rem}.patient-shell .pp-pattern-body{font-size:.82rem;color:var(--text-secondary);line-height:1.55}.patient-shell .pp-phase-chart,.patient-shell .pp-sleep-chart{display:flex;align-items:flex-end;gap:14px;min-height:160px;padding:8px 4px 4px}.patient-shell .pp-sleep-chart{gap:22px}.patient-shell .pp-phase-col,.patient-shell .pp-sleep-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.patient-shell .pp-phase-bar,.patient-shell .pp-sleep-bar{width:100%;max-width:44px;border-radius:6px 6px 0 0;min-height:2px;transition:height .5s cubic-bezier(.22,1,.36,1)}.patient-shell .pp-phase-val,.patient-shell .pp-sleep-val{font-size:.7rem;font-weight:600;color:var(--text-secondary)}.patient-shell .pp-phase-label,.patient-shell .pp-sleep-label{font-size:.68rem;color:var(--text-muted);text-align:center;white-space:nowrap}.patient-shell .pp-symptom-row{display:flex;align-items:center;gap:10px;margin-bottom:.5rem}.patient-shell .pp-symptom-row:last-child{margin-bottom:0}.patient-shell .pp-symptom-label{font-size:.82rem;color:var(--text-primary);width:130px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-shell .pp-symptom-track{flex:1;height:8px;background:var(--surface2);border-radius:4px;overflow:hidden}.patient-shell .pp-symptom-fill{height:100%;background:var(--accent);border-radius:4px}.patient-shell .pp-symptom-count{font-size:.82rem;font-weight:600;color:var(--text-primary);min-width:36px;text-align:right}.patient-shell .pp-trigger-row{display:flex;align-items:center;gap:10px;margin-bottom:.5rem}.patient-shell .pp-trigger-name{font-size:.82rem;color:var(--text-primary);width:130px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-shell .pp-trigger-bar-wrap{flex:1;height:8px;background:var(--surface2);border-radius:4px;overflow:hidden}.patient-shell .pp-trigger-bar{height:100%;border-radius:4px}.patient-shell .pp-report-cta{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#7b5e8014,#a8a0d00f);border:1px solid var(--border-light)}.patient-shell .pp-report-text{flex:1;min-width:0}.patient-shell .pp-report-text strong{display:block;font-family:Fraunces,Georgia,serif;font-size:1rem;color:var(--text-primary);margin-bottom:.25rem}.patient-shell .pp-report-text p{font-size:.82rem;color:var(--text-secondary);margin:0;line-height:1.5}.patient-shell .pp-report-btn{padding:10px 20px;border-radius:999px;border:none;background:var(--accent);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .15s}.patient-shell .pp-report-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #7b5e8040}.patient-shell .pp-report-btn:disabled{opacity:.75;cursor:progress;transform:none;box-shadow:none}@media (max-width: 480px){.patient-shell .pp-report-cta{flex-direction:column;align-items:stretch;text-align:left}.patient-shell .pp-report-btn{width:100%}}.patient-shell .report-gen-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:1.25rem;background:radial-gradient(ellipse at top,#7b5e8038,#0f0c1aad 65%,#090712d9);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}.patient-shell .report-gen-card{width:min(100%,420px);padding:1.75rem 1.5rem 1.4rem;border-radius:20px;background:linear-gradient(180deg,#fffffff5,#f8f4fceb);border:1px solid rgba(123,94,128,.16);box-shadow:0 24px 60px #120a2359,0 1px #ffffffb3 inset;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.patient-shell .report-gen-orb{position:relative;width:104px;height:104px;display:grid;place-items:center}.patient-shell .report-gen-orb-core,.patient-shell .report-gen-orb-ring,.patient-shell .report-gen-orb-halo{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;border-radius:999px;display:block}.patient-shell .report-gen-orb-core{width:44px;height:44px;background:radial-gradient(circle at 30% 30%,#fff,#d8c9f5 40%,#7b5e80);box-shadow:0 0 24px #7b5e808c,0 0 4px #ffffffe6 inset}.patient-shell .report-gen-orb-halo{width:104px;height:104px;background:radial-gradient(circle,#a8a0d073,#a8a0d000 65%);filter:blur(4px)}.patient-shell .report-gen-orb-ring{border:1.5px dashed rgba(123,94,128,.45);background:transparent}.patient-shell .report-gen-orb-ring-1{width:82px;height:82px}.patient-shell .report-gen-orb-ring-2{width:104px;height:104px;border-style:dotted;border-color:#a8a0d08c}.patient-shell .report-gen-stage{min-height:52px;display:flex;align-items:center;justify-content:center}.patient-shell .report-gen-title{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;background:linear-gradient(90deg,#3b2447,#7b5e80 45%,#a8a0d0 70%,#7b5e80);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:reportGenShimmer 3.2s linear infinite}@keyframes reportGenShimmer{0%{background-position:0% 0%}to{background-position:200% 0%}}.patient-shell .report-gen-sub{font-size:.78rem;color:var(--text-muted);margin-top:4px;max-width:320px;line-height:1.4}.patient-shell .report-gen-steps{display:flex;gap:6px;margin-top:2px}.patient-shell .report-gen-step{width:22px;height:3px;border-radius:2px;background:#7b5e802e;transition:background .3s ease,transform .3s ease}.patient-shell .report-gen-step.is-active{background:#7b5e80bf}.patient-shell .report-gen-step.is-current{transform:scaleY(1.8);background:var(--accent, #7b5e80)}.patient-shell .report-gen-progress{width:100%;height:4px;border-radius:4px;background:#7b5e801f;overflow:hidden;margin-top:4px}.patient-shell .report-gen-progress-fill{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#7b5e80,#a8a0d0,#7b5e80);background-size:200% 100%;animation:reportGenFillShift 2.2s linear infinite}@keyframes reportGenFillShift{0%{background-position:0% 0%}to{background-position:200% 0%}}@media (prefers-reduced-motion: reduce){.patient-shell .report-gen-title,.patient-shell .report-gen-progress-fill{animation:none}}.patient-shell .report-gen-eta{margin-top:10px;font-size:12px;color:#50465fc7;text-align:center;letter-spacing:.01em}.patient-shell .report-gen-eta strong{color:#4a3d59;font-weight:600}.patient-shell.intake-shell{min-height:100vh;min-height:100dvh;background:var(--bg)}.patient-shell .intake-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c2a2799;z-index:200;display:none;align-items:center;justify-content:center}.patient-shell .intake-overlay.active{display:flex}.patient-shell .intake-modal{background:var(--surface);border-radius:18px;width:90%;max-width:560px;max-height:85vh;overflow:hidden;padding:2rem;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column}@supports (max-height: 85dvh){.patient-shell .intake-modal{max-height:85dvh}}.patient-shell .intake-progress{display:flex;gap:6px;margin-bottom:2rem;flex-shrink:0}.patient-shell .intake-dot{flex:1;height:4px;border-radius:2px;background:var(--border);transition:background .3s}.patient-shell .intake-dot.completed{background:var(--accent)}.patient-shell .intake-dot.current{background:var(--accent2)}.patient-shell .intake-step{display:flex;flex-direction:column;flex:1;overflow-y:auto;min-height:0}.patient-shell .intake-title{font-family:Fraunces,Georgia,serif;font-size:1.3rem;margin-bottom:.5rem}.patient-shell .intake-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.patient-shell .intake-nav{display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem;gap:.75rem;flex-shrink:0}.patient-shell .intake-skip-btn{opacity:.7;font-size:.85rem!important}.patient-shell .intake-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:1rem 0}.patient-shell .intake-welcome-icon{width:64px;height:64px;border-radius:50%;background:#7b5e8014;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.patient-shell .intake-welcome-features{display:flex;gap:2rem;margin-top:.5rem}.patient-shell .intake-welcome-feature{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.82rem;color:var(--text-secondary)}.patient-shell .intake-welcome-num{font-family:Fraunces,Georgia,serif;font-size:1.6rem;font-weight:500;color:var(--accent);line-height:1}.patient-shell .chip-group-single{flex-wrap:wrap}.patient-shell .lmp-calendar{border:1px solid var(--border);border-radius:12px;padding:1rem;background:var(--surface);margin-top:.25rem}.patient-shell .lmp-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.patient-shell .lmp-cal-nav{background:none;border:none;cursor:pointer;padding:.25rem .6rem;color:var(--text-secondary);font-size:1.2rem;border-radius:6px}.patient-shell .lmp-cal-nav:hover:not(:disabled){background:var(--bg)}.patient-shell .lmp-cal-nav:disabled{opacity:.35;cursor:default}.patient-shell .lmp-cal-month{font-size:.95rem;font-weight:600;color:var(--text-primary)}.patient-shell .lmp-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.patient-shell .lmp-cal-weekday{text-align:center;font-size:.7rem;color:var(--text-tertiary);font-weight:600;padding:.25rem 0}.patient-shell .lmp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.patient-shell .lmp-cal-day{text-align:center;font-size:.85rem;padding:.5rem 0;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background .15s,color .15s;color:var(--text-primary)}.patient-shell .lmp-cal-day:hover:not(:disabled){background:var(--bg)}.patient-shell .lmp-cal-day.selected{background:var(--accent);color:#fff}.patient-shell .lmp-cal-day.pending{background:var(--accent2);color:#fff;animation:lmp-pulse 1.2s infinite}.patient-shell .lmp-cal-day.future{color:var(--text-tertiary);opacity:.35;cursor:default}.patient-shell .lmp-cal-day.detected{background:#d4607a2e;color:var(--text-primary);border:1px dashed rgba(212,96,122,.6)}.patient-shell .lmp-cal-day.detected:hover:not(:disabled){background:#d4607a4d}.patient-shell .lmp-cal-day.predicted{background:#7b5e800f;color:var(--text-tertiary);border:1px dashed rgba(123,94,128,.4);cursor:default}.patient-shell .lmp-cal-legend{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.6rem;font-size:.72rem;color:var(--text-muted)}.patient-shell .lmp-legend-item{display:inline-flex;align-items:center;gap:.3rem}.patient-shell .lmp-legend-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.patient-shell .lmp-legend-logged{background:var(--accent)}.patient-shell .lmp-legend-detected{background:#d4607a33;border:1px dashed rgba(212,96,122,.7)}.patient-shell .lmp-legend-predicted{background:#7b5e8014;border:1px dashed rgba(123,94,128,.5)}.patient-shell .lmp-range-item.lmp-range-detected{background:#d4607a1f;color:var(--text-primary);border:1px dashed rgba(212,96,122,.55)}.patient-shell .lmp-range-item.lmp-range-detected button{color:var(--accent);font-size:.85rem;font-weight:700}.patient-shell .lmp-range-item.lmp-range-detected button:hover{color:#c94066}.patient-shell .lmp-range-flag{font-style:normal;color:var(--text-tertiary);font-size:.7rem;margin-left:.25rem}@keyframes lmp-pulse{0%,to{box-shadow:0 0 #7b5e8059}50%{box-shadow:0 0 0 4px #7b5e8000}}.patient-shell .lmp-range-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem;align-items:center}.patient-shell .lmp-range-label{font-size:.78rem;color:var(--text-tertiary);margin-right:.25rem}.patient-shell .lmp-range-item{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:16px;font-size:.78rem;font-weight:500;background:#7b5e801a;color:var(--accent);border:1px solid rgba(123,94,128,.2)}.patient-shell .lmp-range-item button{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;padding:0}.patient-shell .lmp-range-item button:hover{color:var(--danger)}.patient-shell .lmp-hint{margin-top:.75rem;padding:.6rem .85rem;background:#7b5e800f;border-left:3px solid var(--accent);border-radius:8px;font-size:.82rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.patient-shell .lmp-hint-clear{background:none;border:none;cursor:pointer;color:var(--accent2);font-size:.8rem;text-decoration:underline;padding:0}.patient-shell .celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c2a27b3;z-index:250;display:none;align-items:center;justify-content:center}.patient-shell .celebration-overlay.active{display:flex}.patient-shell .celebration-content{text-align:center;position:relative}.patient-shell .celebration-check{width:80px;height:80px;margin:0 auto 1.5rem}.patient-shell .celebration-svg{width:80px;height:80px}.patient-shell .celebration-title{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:500;color:#fff;margin-bottom:.5rem;opacity:0;transform:translateY(10px);animation:celebration-fade-up .4s ease-out .3s forwards}.patient-shell .celebration-subtitle{font-size:.95rem;color:#fffc;opacity:0;transform:translateY(10px);animation:celebration-fade-up .4s ease-out .5s forwards}@keyframes celebration-fade-up{to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.patient-shell .intake-overlay{height:100vh;height:100dvh}.patient-shell .intake-modal{width:100%;max-width:100%;border-radius:0;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 1.25rem) 1.25rem calc(env(safe-area-inset-bottom,0px) + 1.25rem)}.patient-shell .intake-progress{margin-bottom:1rem}.patient-shell .intake-nav{padding-top:.75rem;padding-bottom:.5rem;border-top:1px solid var(--border)}}.patient-shell .btn-danger{background:#ef4444;color:#fff;border:1px solid #ef4444}.patient-shell .btn-danger:hover{background:#dc2626;border-color:#dc2626}.patient-shell .btn-danger:disabled{background:#fca5a5;border-color:#fca5a5;cursor:not-allowed}.patient-shell .card.card-danger{border-color:#ef444447;background:linear-gradient(to bottom,var(--surface),rgba(239,68,68,.02))}.patient-shell .inline-error{margin:.75rem 0;padding:.6rem .85rem;border-radius:10px;background:#ef444414;border:1px solid rgba(239,68,68,.22);color:#b91c1c;font-size:.85rem}.patient-shell .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d284373;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.patient-shell .modal-panel{width:100%;max-width:440px;background:var(--surface);border-radius:16px;padding:1.5rem;box-shadow:0 24px 60px #2d284338}.patient-shell .modal-panel h3{margin:0 0 .5rem;font-family:Fraunces,Georgia,serif;font-size:1.25rem}.patient-shell .modal-panel p{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.patient-shell .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.patient-shell .card-header-sub{margin-left:auto;font-size:.78rem;color:var(--text-secondary);font-weight:400}.patient-shell .profile-page,.patient-shell .settings-page{max-width:780px;margin:0 auto;padding-bottom:6rem}.patient-shell .profile-header,.patient-shell .settings-page .profile-header{margin-bottom:1.5rem}.patient-shell .profile-header h1{font-family:Fraunces,Georgia,serif;font-size:1.8rem;margin:0 0 .35rem}.patient-shell .profile-header p{margin:0;color:var(--text-secondary);font-size:.9rem}.patient-shell .profile-header a{color:var(--accent);text-decoration:none}.patient-shell .profile-header a:hover{text-decoration:underline}.patient-shell .profile-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.patient-shell .profile-grid-2>*{min-width:0}@media (max-width: 520px){.patient-shell .profile-grid-2{grid-template-columns:1fr}}.patient-shell .profile-history-heading{margin:2rem 0 .75rem;font-family:Fraunces,Georgia,serif;font-size:1.1rem;color:var(--text-primary)}.patient-shell .profile-save-bar{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem .65rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;box-shadow:0 18px 40px #2d284329;z-index:140;max-width:calc(100vw - 2rem)}.patient-shell .profile-save-label{font-size:.85rem;color:var(--text-secondary)}.patient-shell .card.accordion{padding:0}.patient-shell .accordion-head{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:1rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:500;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:14px;transition:background .15s}.patient-shell .accordion-head:hover{background:var(--surface2)}.patient-shell .accordion-title{display:inline-flex;align-items:center;gap:.5rem}.patient-shell .accordion-chev{width:18px;height:18px;color:var(--text-secondary);flex:0 0 auto}.patient-shell .accordion-body{overflow:hidden}.patient-shell .accordion-inner{padding:1rem 1.25rem 1.25rem;border-top:1px solid var(--border-light)}.patient-shell .accordion-hint{margin:0 0 .85rem;color:var(--text-secondary);font-size:.85rem;line-height:1.45}.patient-shell .profile-meds-card .card-header{justify-content:space-between}.patient-shell .med-add-form{padding:1rem;border-radius:12px;background:var(--surface2);border:1px solid var(--border-light)}.patient-shell .med-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.patient-shell .med-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem .9rem;background:var(--surface2);border-radius:10px;border:1px solid var(--border-light)}.patient-shell .med-row-body{flex:1;min-width:0}.patient-shell .med-row-name{font-weight:500;color:var(--text-primary);font-size:.92rem}.patient-shell .med-row-detail{margin-top:.15rem;font-size:.8rem;color:var(--text-secondary)}.patient-shell .med-row-pill{display:inline-block;margin-top:.35rem;font-size:.7rem;padding:.15rem .5rem;border-radius:999px;background:var(--accent-light);color:var(--accent);font-weight:500}.patient-shell .med-row-delete{border:none;background:transparent;font-size:1.35rem;line-height:1;color:var(--text-secondary);width:28px;height:28px;border-radius:6px;cursor:pointer;flex:0 0 auto;transition:background .15s,color .15s}.patient-shell .med-row-delete:hover{background:#ef44441a;color:#dc2626}.patient-shell .med-empty{margin:.75rem 0 0;color:var(--text-secondary);font-size:.88rem;text-align:center;padding:1rem .5rem}.patient-shell .med-form-grid{display:flex;flex-direction:column;gap:.35rem}.patient-shell .med-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 480px){.patient-shell .med-form-row{grid-template-columns:1fr}}.patient-shell .med-form-checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-secondary);cursor:pointer;margin:.25rem 0}.patient-shell .med-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.patient-shell .med-suggestions{margin-bottom:.75rem}.patient-shell .med-suggestions-label{font-size:.78rem;color:var(--text-secondary);margin-bottom:.4rem}.patient-shell .med-suggestions-label .form-hint{font-size:.72rem;opacity:.7}.patient-shell .med-suggestions-row{display:flex;flex-wrap:wrap;gap:.4rem}.patient-shell .med-suggestion{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.4rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s}.patient-shell .med-suggestion:hover{border-color:var(--accent2)}.patient-shell .med-suggestion.active{border-color:var(--accent);background:var(--accent-light)}.patient-shell .med-suggestion-name{font-size:.82rem;font-weight:500;color:var(--text-primary)}.patient-shell .med-suggestion-dose{font-size:.7rem;color:var(--text-secondary)}.patient-shell .settings-inline-input{display:flex;gap:.5rem;align-items:stretch}.patient-shell .settings-inline-input .form-input{flex:1}.patient-shell .theme-row{display:flex;gap:.5rem;margin-top:.25rem}.patient-shell .theme-pill{flex:1;padding:.55rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-family:inherit;font-size:.88rem;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.patient-shell .theme-pill:hover{border-color:var(--accent2)}.patient-shell .theme-pill.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent);font-weight:500}.patient-shell .toggle-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.patient-shell .toggle-row:last-child{border-bottom:none}.patient-shell .toggle-body{flex:1}.patient-shell .toggle-label{font-size:.92rem;color:var(--text-primary);font-weight:500}.patient-shell .toggle-hint{margin-top:.15rem;font-size:.8rem;color:var(--text-secondary)}.patient-shell .toggle-switch{width:44px;height:24px;border-radius:999px;background:var(--border);border:none;position:relative;cursor:pointer;padding:2px;flex:0 0 auto;transition:background .2s}.patient-shell .toggle-switch.on{background:var(--accent)}.patient-shell .toggle-knob{display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0000001f}.patient-shell .settings-action{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.patient-shell .settings-action:last-child{border-bottom:none}.patient-shell .settings-action>div:first-child{flex:1}.patient-shell .settings-action-label{font-size:.92rem;color:var(--text-primary);font-weight:500}.patient-shell .settings-action-hint{margin-top:.15rem;font-size:.8rem;color:var(--text-secondary)}.patient-shell .wearable-status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:500;letter-spacing:.01em;vertical-align:middle;border:1px solid transparent}.patient-shell .wearable-status-pill.tone-ok{background:color-mix(in srgb,var(--success, #2e7d32) 12%,transparent);color:var(--success, #2e7d32);border-color:color-mix(in srgb,var(--success, #2e7d32) 25%,transparent)}.patient-shell .wearable-status-pill.tone-warn{background:color-mix(in srgb,var(--warn, #b26a00) 12%,transparent);color:var(--warn, #b26a00);border-color:color-mix(in srgb,var(--warn, #b26a00) 25%,transparent)}.patient-shell .wearable-status-pill.tone-err{background:color-mix(in srgb,var(--danger, #b3261e) 12%,transparent);color:var(--danger, #b3261e);border-color:color-mix(in srgb,var(--danger, #b3261e) 25%,transparent)}.patient-shell .wearable-status-pill.tone-neutral{background:var(--bg);color:var(--text-secondary);border-color:var(--border-light)}.custom-select{position:relative;width:100%;font-family:inherit}.custom-select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.6rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:border-color .15s,box-shadow .15s}.custom-select-trigger:hover:not(:disabled){border-color:var(--accent2)}.custom-select-trigger:focus-visible,.custom-select.open .custom-select-trigger{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.custom-select.disabled .custom-select-trigger{opacity:.55;cursor:not-allowed}.custom-select-value{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-value.is-placeholder{color:var(--text-secondary)}.custom-select-caret{flex-shrink:0;color:var(--text-secondary);transition:transform .18s ease}.custom-select.open .custom-select-caret{transform:rotate(180deg)}.custom-select-list{position:absolute;top:calc(100% + 6px);left:0;right:0;margin:0;padding:.3rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 30px -10px #24143638;overflow-y:auto;z-index:50;transform-origin:top center}.custom-select-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border-radius:8px;font-size:.9rem;color:var(--text-primary);cursor:pointer;transition:background .1s}.custom-select-option.active{background:var(--surface2)}.custom-select-option.selected{color:var(--accent);font-weight:500}.custom-select-option svg{flex-shrink:0;color:var(--accent)}.patient-shell .recent-date{position:relative}.patient-shell .recent-date-trigger{display:inline-flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:border-color .15s,color .15s}.patient-shell .recent-date-trigger:hover{border-color:var(--accent2)}.patient-shell .recent-date-trigger.has-value{color:var(--text-primary)}.patient-shell .recent-date-trigger svg{color:var(--accent);flex:0 0 auto}.patient-shell .recent-date-trigger span:not(.recent-date-clear){flex:1;text-align:left}.patient-shell .recent-date-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:1rem;line-height:1;color:var(--text-secondary);background:var(--surface2);transition:background .15s,color .15s}.patient-shell .recent-date-clear:hover{background:#ef44441f;color:#dc2626}.patient-shell .recent-date-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:150;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 40px #2d28432e;padding:.85rem;transform-origin:top center}.patient-shell .recent-date-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.patient-shell .recent-date-title{font-weight:500;font-size:.92rem;color:var(--text-primary);font-family:Fraunces,Georgia,serif}.patient-shell .recent-date-navbtn{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}.patient-shell .recent-date-navbtn:hover{background:var(--surface2);color:var(--text-primary)}.patient-shell .recent-date-dow{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.25rem}.patient-shell .recent-date-dow span{text-align:center;font-size:.7rem;font-weight:500;color:var(--text-secondary);letter-spacing:.04em}.patient-shell .recent-date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.patient-shell .recent-date-cell{aspect-ratio:1;min-height:32px;border:none;background:transparent;border-radius:8px;font-family:inherit;font-size:.82rem;color:var(--text-primary);cursor:pointer;transition:background .15s,color .15s}.patient-shell .recent-date-cell:hover:not(:disabled):not(.selected){background:var(--surface2)}.patient-shell .recent-date-cell:disabled{color:var(--text-muted, #cfcad9);cursor:not-allowed;opacity:.55}.patient-shell .recent-date-cell.today{color:var(--accent);font-weight:600}.patient-shell .recent-date-cell.selected{background:var(--accent);color:#fff;font-weight:600}.patient-shell .recent-date-empty{cursor:default;pointer-events:none}.patient-shell .recent-date-footer{display:flex;justify-content:flex-end;margin-top:.5rem;border-top:1px solid var(--border-light);padding-top:.5rem}.patient-shell .recent-date-today{border:none;background:transparent;font-family:inherit;font-size:.82rem;color:var(--accent);cursor:pointer;padding:.3rem .6rem;border-radius:6px;transition:background .15s}.patient-shell .recent-date-today:hover{background:var(--accent-light)}.patient-shell .integrations-page{padding:1.5rem;max-width:960px;margin:0 auto}.patient-shell .patient-page-header{margin-bottom:1.25rem}.patient-shell .patient-page-header h1{font-family:Fraunces,serif;font-size:2rem;margin:0 0 .35rem;color:var(--text-primary)}.patient-shell .patient-page-sub{color:var(--text-secondary, var(--text-muted));margin:0;max-width:56ch;line-height:1.45}.patient-shell .integrations-toast{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;background:var(--accent-light, rgba(138,90,255,.12));color:var(--accent);border-radius:10px;margin:0 0 1rem}.patient-shell .integrations-toast button{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;font-size:1.2rem;line-height:1}.patient-shell .integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.patient-shell .integration-card{background:var(--surface, #fff);border:1px solid var(--border, #e7e4ef);border-radius:14px;padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.9rem}.patient-shell .integration-card.is-disabled{background:var(--surface2, #faf9fc);border-style:dashed}.patient-shell .integration-card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.patient-shell .integration-card-head h2{font-family:Fraunces,serif;font-size:1.2rem;margin:0}.patient-shell .integration-status{font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.patient-shell .integration-status-ok{background:#e5f5ec;color:#136d3f}.patient-shell .integration-status-warn{background:#fff4d6;color:#8a5a00}.patient-shell .integration-status-err{background:#fde4e1;color:#991b1b}.patient-shell .integration-status-neutral{background:var(--surface2, #f1eff6);color:var(--text-muted, #6b6480)}.patient-shell .integration-meta{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1rem;margin:0}.patient-shell .integration-meta dt{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.patient-shell .integration-meta dd{margin:0;font-size:.9rem;color:var(--text-primary)}.patient-shell .integration-error{margin:0;color:#991b1b;background:#fde4e1;border-radius:8px;padding:.5rem .65rem;font-size:.85rem}.patient-shell .integration-note{margin:0;color:var(--text-muted);font-size:.88rem}.patient-shell .integration-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto}.patient-shell .integration-actions .btn-ghost{background:transparent;color:var(--text-muted);border:none}.patient-shell .integration-actions .btn-ghost:hover{color:var(--text-primary)}.prefill-pill{display:inline-flex;align-items:center;margin-left:.5rem;padding:.12rem .5rem;font-size:.7rem;font-weight:600;letter-spacing:.03em;border-radius:999px;background:var(--accent-light, rgba(138,90,255,.14));color:var(--accent, #6e3bff);vertical-align:middle}.wearable-choice-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.5rem}.wearable-choice{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:14px;border:1px solid var(--border, rgba(0,0,0,.08));background:var(--surface, #fff);transition:border-color .12s ease,background .12s ease}.wearable-choice.primary{border-color:var(--accent, #6e3bff);background:var(--accent-light, rgba(138,90,255,.06))}.wearable-choice.connected{border-color:#4caf50;background:#4caf500f}.wearable-choice.coming-soon{opacity:.55}.wearable-choice-logo{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--surface-2, rgba(0,0,0,.04));color:var(--text-primary);flex:0 0 auto}.wearable-choice.primary .wearable-choice-logo{color:var(--accent, #6e3bff)}.wearable-choice.connected .wearable-choice-logo{color:#4caf50}.wearable-choice-body{flex:1 1 auto;min-width:0}.wearable-choice-name{font-weight:600;font-size:.95rem}.wearable-choice-sub{font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.wearable-choice-soon{font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:.15rem .55rem;border-radius:999px;background:var(--surface-2, rgba(0,0,0,.06));color:var(--text-muted)}.wearable-choice-check{color:#4caf50;font-weight:700;font-size:1.1rem}.patient-shell .backfill-days{display:flex;gap:.4rem;flex-wrap:wrap;margin:.75rem 0 .25rem}.patient-shell .modal-footnote{margin-top:.75rem;font-size:.75rem;color:var(--text-muted)}.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.5rem;font-size:.78rem;color:var(--text-secondary)}.chart-legend-item{display:inline-flex;align-items:center;gap:.4rem}.chart-legend-swatch{display:inline-block;width:20px;height:0;border-top:2px solid var(--accent, #6e3bff)}.chart-legend-dashed{border-top-style:dashed;opacity:.6}.chart-legend-toggle{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-legend-toggle input{accent-color:var(--accent, #6e3bff)}.chart-legend-info{background:transparent;border:1px solid var(--border, rgba(0,0,0,.16));color:var(--text-muted);width:20px;height:20px;border-radius:50%;font-size:.75rem;line-height:1;font-weight:600;cursor:pointer}.chart-legend-info:hover{color:var(--accent, #6e3bff);border-color:var(--accent, #6e3bff)}.wearable-banner{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;padding:.7rem .9rem;border-radius:12px;background:var(--accent-light, rgba(138,90,255,.08));border:1px solid var(--accent, #6e3bff);font-size:.88rem;color:var(--text-primary)}.wearable-banner-icon{color:var(--accent, #6e3bff);flex:0 0 auto}.wearable-banner-text{flex:1 1 auto}.wearable-banner-cta{background:var(--accent, #6e3bff);color:#fff;border:none;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;cursor:pointer}.wearable-banner-dismiss{background:transparent;border:none;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:.25rem .4rem}.wearable-banner-dismiss:hover{color:var(--text-primary)}.patient-shell .condition-flags-list{display:flex;flex-direction:column;gap:.5rem}.patient-shell .condition-flag-card{border-radius:12px;padding:.75rem .9rem;position:relative}.patient-shell .condition-flag-card.confidence-confirmed,.patient-shell .condition-flag-card.confidence-high{background:#fef2f2;border:1px solid #FECACA}.patient-shell .condition-flag-card.confidence-moderate{background:#fffbeb;border:1px solid #FDE68A}.patient-shell .condition-flag-card.confidence-low{background:#f0f9ff;border:1px solid #BAE6FD}.patient-shell .condition-flag-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.3rem}.patient-shell .condition-flag-name{font-weight:600;font-size:.95rem;color:var(--text-primary)}.patient-shell .condition-flag-badge{font-size:.68rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.patient-shell .confidence-confirmed .condition-flag-badge,.patient-shell .confidence-high .condition-flag-badge{background:#fee2e2;color:#b91c1c}.patient-shell .confidence-moderate .condition-flag-badge{background:#fef3c7;color:#b45309}.patient-shell .confidence-low .condition-flag-badge{background:#e0f2fe;color:#0369a1}.patient-shell .condition-flag-tier{font-size:.7rem;color:var(--text-muted);margin-left:auto}.patient-shell .condition-flag-message{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.patient-shell .condition-flag-toggle{background:none;border:none;font-size:.78rem;color:var(--accent, #6e3bff);cursor:pointer;padding:0;margin-top:.45rem;font-weight:500}.patient-shell .condition-flag-details{margin-top:.5rem}.patient-shell .condition-flag-criteria{display:flex;flex-wrap:wrap;gap:.3rem}.patient-shell .condition-flag-chip{font-size:.72rem;padding:.2rem .55rem;border-radius:6px;background:#0000000d;color:var(--text-secondary)}.patient-shell .condition-flag-disclaimer{font-size:.72rem;color:var(--text-muted);font-style:italic;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.patient-shell .condition-flag-card.is-clickable,.patient-shell .pp-pattern-card.is-clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.patient-shell .condition-flag-card.is-clickable:hover,.patient-shell .pp-pattern-card.is-clickable:hover{transform:translateY(-1px);box-shadow:0 6px 18px -10px #0000002e}.patient-shell .condition-flag-card.is-clickable:focus-visible,.patient-shell .pp-pattern-card.is-clickable:focus-visible,.patient-shell .pattern-item.is-clickable:focus-visible{outline:2px solid var(--accent, #6e3bff);outline-offset:2px}.patient-shell .pattern-item.is-clickable{cursor:pointer}.patient-shell .condition-flag-cta,.patient-shell .pp-pattern-cta{font-size:.78rem;font-weight:500;color:var(--accent, #6e3bff);margin-top:.5rem}.patient-shell .pattern-item-chevron{align-self:center;font-size:1.4rem;line-height:1;color:var(--text-muted);padding:0 .15rem 0 .25rem;transition:transform .18s ease,color .18s ease}.patient-shell .pattern-item.is-clickable:hover .pattern-item-chevron{color:var(--pattern-accent, var(--accent));transform:translate(2px)}.patient-shell .cycle-predictor-card{--phase-period: #c94040;--phase-follicular: #e8a44a;--phase-ovulation: #4a8c5c;--phase-luteal: #6b5ea8}.patient-shell .cycle-phase-pill{display:inline-flex;padding:.2rem .6rem;border-radius:20px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.patient-shell .cycle-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}@media (max-width: 640px){.patient-shell .cycle-metrics{grid-template-columns:repeat(2,1fr)}}.patient-shell .cycle-metric-card{background:var(--surface2);border-radius:10px;padding:.75rem .6rem;text-align:center}.patient-shell .cycle-metric-card.cycle-metric-accent{background:#f4dde2;box-shadow:inset 0 0 0 1px #e8b0bc}.patient-shell .cycle-metric-card.cycle-metric-accent .cycle-metric-label{color:#c94060}.patient-shell .cycle-metric-label{font-size:.68rem;color:var(--text-muted);font-weight:500;margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.03em}.patient-shell .cycle-metric-value{font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.2}.patient-shell .cycle-metric-sub{font-size:.68rem;color:var(--text-secondary);margin-top:.15rem}.patient-shell .cycle-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.patient-shell .cycle-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-muted)}.patient-shell .cycle-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.patient-shell .cycle-chart-wrap{display:flex;gap:4px;margin-bottom:.5rem}.patient-shell .cycle-y-axis{display:flex;flex-direction:column;justify-content:space-between;font-size:.62rem;color:var(--text-muted);padding:0 2px 0 0;min-width:16px;text-align:right}.patient-shell .cycle-chart-col{display:flex;flex-direction:column;flex:1;min-width:0}.patient-shell .cycle-chart{display:flex;align-items:flex-end;gap:1px;flex:1;border-bottom:1px solid var(--border)}.patient-shell .cycle-x-axis{display:flex;gap:1px;margin-top:4px}.patient-shell .cycle-x-label{flex:1;min-width:0;font-size:.6rem;color:var(--text-muted);text-align:center;white-space:nowrap;overflow:visible;line-height:1}.patient-shell .cycle-x-label-today{color:var(--text-primary);font-weight:600}.patient-shell .cycle-bar-col{flex:1;position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-width:0}.patient-shell .cycle-bar-fill{width:100%;border-radius:2px 2px 0 0;min-height:1px;transition:height .25s ease}.patient-shell .cycle-bar-range{position:absolute;left:0;right:0;border-radius:2px;pointer-events:none}.patient-shell .cycle-bar-today .cycle-bar-fill{box-shadow:0 -2px 0 0 var(--text-primary)}.patient-shell .cycle-insights{margin-top:.75rem;border-top:1px solid var(--border);padding-top:.85rem}.patient-shell .cycle-insights-title{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.patient-shell .cycle-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem}.patient-shell .cycle-insight-card{--insight-color: var(--accent);position:relative;padding:.8rem .9rem;border-radius:14px;background:radial-gradient(120% 100% at 0% 0%,color-mix(in srgb,var(--insight-color) 14%,transparent) 0%,transparent 55%),var(--surface);border:1px solid var(--border);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;opacity:0;transform:translateY(12px) scale(.985)}.patient-shell .cycle-insight-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--insight-color),color-mix(in srgb,var(--insight-color) 25%,transparent));opacity:0;transform:translate(-3px);transition:opacity .22s ease,transform .22s ease}.patient-shell .cycle-insight-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--insight-color) 40%,var(--border));box-shadow:0 8px 20px -10px color-mix(in srgb,var(--insight-color) 45%,transparent)}.patient-shell .cycle-insight-card:hover:before{opacity:1;transform:translate(0)}.patient-shell .cycle-insights-grid.is-revealed .cycle-insight-card{animation:cycle-insight-pop .62s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--insight-delay, 0ms)}@keyframes cycle-insight-pop{0%{opacity:0;transform:translateY(12px) scale(.985)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}.patient-shell .cycle-insight-phase-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.patient-shell .cycle-insight-dot{width:8px;height:8px;border-radius:50%;background:var(--insight-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--insight-color) 18%,transparent);flex-shrink:0}.patient-shell .cycle-insight-phase{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--insight-color)}.patient-shell .cycle-insight-body{font-size:.78rem;color:var(--text-secondary);line-height:1.5}@media (prefers-reduced-motion: reduce){.patient-shell .cycle-insights-grid.is-revealed .cycle-insight-card{animation:none;opacity:1;transform:none}}.patient-shell .cycle-card-link{display:inline-block;margin-top:.75rem;font-size:.82rem;color:var(--accent, #6e3bff);text-decoration:none;font-weight:500}.patient-shell .cycle-card-link:hover{text-decoration:underline}.patient-shell .forecast-card{opacity:0;transform:translateY(14px);transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1)}.patient-shell .forecast-card.is-revealed{opacity:1;transform:translateY(0)}.patient-shell .forecast-pill{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;color:var(--accent, #6e3bff);background:color-mix(in srgb,var(--accent, #6e3bff) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent, #6e3bff) 25%,transparent)}.patient-shell .forecast-summary{display:flex;gap:1.25rem;margin:.25rem 0 .6rem}.patient-shell .forecast-summary-item{display:flex;flex-direction:column;gap:2px}.patient-shell .forecast-summary-label{font-size:.68rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.patient-shell .forecast-summary-value{font-size:.95rem;font-weight:600}.patient-shell .forecast-chart{position:relative;margin:.25rem auto .5rem}.patient-shell .forecast-svg{display:block;width:100%;height:auto}.patient-shell .forecast-card.is-revealed .forecast-area{animation:forecast-fade .62s cubic-bezier(.22,1,.36,1) both}.patient-shell .forecast-card.is-revealed .forecast-line{stroke-dasharray:5 4;animation:forecast-line-draw .9s cubic-bezier(.22,1,.36,1) .12s both}@keyframes forecast-fade{0%{opacity:0}to{opacity:1}}@keyframes forecast-line-draw{0%{opacity:0;transform:translateY(6px)}60%{opacity:1}to{opacity:1;transform:translateY(0)}}.patient-shell .forecast-dot{opacity:0;animation:forecast-dot-pop .52s cubic-bezier(.22,1,.36,1) forwards;transform-origin:center}@keyframes forecast-dot-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.patient-shell .forecast-dot-label{fill:var(--text-primary);font-size:5.5px;font-weight:600;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface);stroke-width:2.5px;stroke-linejoin:round}.patient-shell .forecast-labels{display:flex;justify-content:space-between;padding:0 10px;margin-top:2px}.patient-shell .forecast-label{font-size:.68rem;color:var(--text-muted)}.patient-shell .forecast-rationale-list{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-direction:column;gap:.35rem}.patient-shell .forecast-card.is-revealed .forecast-rationale-item{animation:forecast-rationale-slide .52s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.42s + var(--forecast-rationale-delay, 0ms))}.patient-shell .forecast-rationale-item{display:flex;align-items:center;gap:.55rem;font-size:.8rem;color:var(--text-secondary);opacity:0}@keyframes forecast-rationale-slide{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.patient-shell .forecast-rationale-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.patient-shell .forecast-rationale-day{font-weight:600;color:var(--text-primary);flex-shrink:0}.patient-shell .forecast-rationale-body{line-height:1.4}.patient-shell .forecast-disclaimer{margin-top:.6rem;font-size:.7rem;color:var(--text-muted);line-height:1.4}@media (prefers-reduced-motion: reduce){.patient-shell .forecast-card,.patient-shell .forecast-card.is-revealed .forecast-area,.patient-shell .forecast-card.is-revealed .forecast-line,.patient-shell .forecast-dot,.patient-shell .forecast-card.is-revealed .forecast-rationale-item{animation:none;transition:none;opacity:1;transform:none}}.patient-shell .skeleton-block{display:block;background:linear-gradient(90deg,color-mix(in srgb,var(--text-muted) 12%,transparent),color-mix(in srgb,var(--text-muted) 22%,transparent),color-mix(in srgb,var(--text-muted) 12%,transparent));background-size:200% 100%;border-radius:6px;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.patient-shell .forecast-card-skeleton,.patient-shell .cycle-card-skeleton{opacity:1;transform:none}.patient-shell .forecast-card-skeleton .skeleton-title,.patient-shell .cycle-card-skeleton .skeleton-title{width:140px;height:16px}.patient-shell .cycle-card-skeleton .skeleton-pill{width:72px;height:18px;border-radius:20px}.patient-shell .forecast-card-skeleton .skeleton-label{width:52px;height:9px;margin-bottom:6px}.patient-shell .forecast-card-skeleton .skeleton-value{width:64px;height:14px}.patient-shell .forecast-skeleton-chart{width:100%;height:100px;border-radius:10px;margin:.25rem 0 .5rem;background:linear-gradient(90deg,color-mix(in srgb,var(--text-muted) 10%,transparent),color-mix(in srgb,var(--text-muted) 18%,transparent),color-mix(in srgb,var(--text-muted) 10%,transparent));background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.patient-shell .forecast-card-skeleton .skeleton-daylabel{width:36px;height:10px}.patient-shell .cycle-card-skeleton .skeleton-metric-label{width:70%;height:9px;margin:0 auto 8px}.patient-shell .cycle-card-skeleton .skeleton-metric-value{width:55%;height:16px;margin:0 auto 6px}.patient-shell .cycle-card-skeleton .skeleton-metric-sub{width:65%;height:9px;margin:0 auto}.patient-shell .cycle-card-skeleton .skeleton-legend{width:58px;height:10px}.patient-shell .cycle-skeleton-chart{width:100%;height:120px;border-radius:10px;margin-bottom:.5rem;background:linear-gradient(90deg,color-mix(in srgb,var(--text-muted) 10%,transparent),color-mix(in srgb,var(--text-muted) 18%,transparent),color-mix(in srgb,var(--text-muted) 10%,transparent));background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.patient-shell .skeleton-block,.patient-shell .forecast-skeleton-chart,.patient-shell .cycle-skeleton-chart{animation:none}}.patient-shell .wearable-card{position:relative;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--accent, #6e3bff) 8%,transparent) 0%,transparent 55%),var(--surface);border:1px solid color-mix(in srgb,var(--accent, #6e3bff) 18%,var(--border));opacity:0;transform:translateY(14px);transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1);overflow:hidden}.patient-shell .wearable-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(140% 90% at 100% 0%,color-mix(in srgb,var(--accent, #6e3bff) 14%,transparent) 0%,transparent 60%);pointer-events:none;opacity:0;transition:opacity .7s ease}.patient-shell .wearable-card.is-revealed{opacity:1;transform:translateY(0)}.patient-shell .wearable-card.is-revealed:before{opacity:1}.patient-shell .wearable-header{margin-bottom:.4rem}.patient-shell .wearable-live-pill{display:inline-flex;align-items:center;gap:.4rem;padding:3px 10px 3px 8px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.03em;color:var(--accent, #6e3bff);background:color-mix(in srgb,var(--accent, #6e3bff) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent, #6e3bff) 30%,transparent)}.patient-shell .wearable-live-dot{width:8px;height:8px;border-radius:50%;background:#2fbf71;box-shadow:0 0 #2fbf7199;animation:wearable-live-pulse 1.6s ease-out infinite;flex-shrink:0}@keyframes wearable-live-pulse{0%{box-shadow:0 0 #2fbf718c}70%{box-shadow:0 0 0 8px #2fbf7100}to{box-shadow:0 0 #2fbf7100}}.patient-shell .wearable-sync-row{display:flex;align-items:center;gap:.5rem;font-size:.72rem;color:var(--text-muted);margin-bottom:.75rem}.patient-shell .wearable-sync-label{text-transform:uppercase;letter-spacing:.05em;font-weight:500}.patient-shell .wearable-sync-value{color:var(--text-secondary);font-weight:600}.patient-shell .wearable-sync-chip{margin-left:auto;padding:2px 8px;border-radius:999px;background:var(--surface2);color:var(--text-secondary);font-weight:600;font-size:.68rem}.patient-shell .wearable-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.85rem}@media (max-width: 640px){.patient-shell .wearable-tiles{grid-template-columns:repeat(2,1fr)}}.patient-shell .wearable-tile{background:var(--surface2);border-radius:12px;padding:.7rem .65rem;text-align:left;opacity:0;transform:translateY(8px);transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s cubic-bezier(.22,1,.36,1);position:relative}.patient-shell .wearable-card.is-revealed .wearable-tile{opacity:1;transform:translateY(0);transition-delay:var(--wearable-tile-delay, 0ms)}.patient-shell .wearable-tile-accent{background:color-mix(in srgb,var(--accent, #6e3bff) 10%,var(--surface2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent, #6e3bff) 22%,transparent)}.patient-shell .wearable-tile-label{font-size:.64rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.3rem}.patient-shell .wearable-tile-value-row{display:flex;align-items:baseline;gap:.2rem}.patient-shell .wearable-tile-value{font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.patient-shell .wearable-tile-unit{font-size:.72rem;color:var(--text-muted);font-weight:500}.patient-shell .wearable-tile-delta{margin-top:.35rem;font-size:.64rem;font-weight:600;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;letter-spacing:.02em}.patient-shell .wearable-delta-up{background:color-mix(in srgb,#2fbf71 16%,transparent);color:#1f8a50}.patient-shell .wearable-delta-down{background:color-mix(in srgb,#c94060 16%,transparent);color:#a33550}.patient-shell .wearable-delta-flat{background:var(--surface);color:var(--text-muted)}.patient-shell .wearable-delta-arrow{font-size:.55rem;line-height:1}.patient-shell .wearable-sparklines{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:.5rem}@media (max-width: 480px){.patient-shell .wearable-sparklines{grid-template-columns:1fr}}.patient-shell .wearable-spark{background:var(--surface2);border-radius:10px;padding:.55rem .7rem .4rem}.patient-shell .wearable-spark-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.2rem}.patient-shell .wearable-spark-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:500}.patient-shell .wearable-spark-now{font-family:Fraunces,Georgia,serif;font-size:.9rem;font-weight:600;font-variant-numeric:tabular-nums}.patient-shell .wearable-spark-empty{font-size:.72rem;color:var(--text-muted);padding:.4rem 0 .2rem}.patient-shell .wearable-spark-svg{display:block;width:100%;height:44px}.patient-shell .wearable-spark-line{stroke-dasharray:260;stroke-dashoffset:260;transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1);transition-delay:var(--spark-delay, 0ms)}.patient-shell .wearable-spark-svg.is-revealed .wearable-spark-line{stroke-dashoffset:0}.patient-shell .wearable-spark-area{opacity:0;transition:opacity .7s ease;transition-delay:calc(var(--spark-delay, 0ms) + .3s)}.patient-shell .wearable-spark-svg.is-revealed .wearable-spark-area{opacity:1}.patient-shell .wearable-spark-dot{opacity:0;transform-origin:center;transition:opacity .4s ease,transform .4s ease;transition-delay:calc(var(--spark-delay, 0ms) + .8s)}.patient-shell .wearable-spark-svg.is-revealed .wearable-spark-dot{opacity:1;animation:wearable-spark-dot-pulse 2.6s ease-in-out infinite;animation-delay:calc(var(--spark-delay, 0ms) + 1.1s)}@keyframes wearable-spark-dot-pulse{0%,to{r:2.6}50%{r:3.4}}.patient-shell .wearable-signal{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;border-radius:10px;background:color-mix(in srgb,var(--accent, #6e3bff) 7%,var(--surface2));border:1px solid color-mix(in srgb,var(--accent, #6e3bff) 18%,transparent);font-size:.8rem;color:var(--text-primary);line-height:1.4;opacity:0;transform:translateY(6px);transition:opacity .6s ease .65s,transform .6s ease .65s}.patient-shell .wearable-card.is-revealed .wearable-signal{opacity:1;transform:translateY(0)}.patient-shell .wearable-signal-icon{color:var(--accent, #6e3bff);font-size:.9rem;line-height:1.2;flex-shrink:0}@media (prefers-reduced-motion: reduce){.patient-shell .wearable-card,.patient-shell .wearable-live-dot,.patient-shell .wearable-tile,.patient-shell .wearable-spark-line,.patient-shell .wearable-spark-area,.patient-shell .wearable-spark-dot,.patient-shell .wearable-signal{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;color:#2d2843;background:#fdfcff;line-height:1.6;min-height:100vh;min-height:100dvh}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-.01em}.legal-content h2{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:1.4rem;letter-spacing:-.01em;margin-top:2.5rem;margin-bottom:1rem;color:#2d2843}.legal-content h3{font-family:DM Sans,sans-serif;font-weight:600;font-size:1.1rem;margin-top:1.5rem;margin-bottom:.75rem;color:#2d2843}.legal-content p{margin-bottom:1rem;line-height:1.8}.legal-content ul,.legal-content ol{margin-left:2rem;margin-bottom:1rem}.legal-content li{margin-bottom:.5rem;line-height:1.7}.legal-content strong{color:#2d2843;font-weight:600}.legal-content a{color:#7b5e80;text-decoration:none;border-bottom:1px solid rgba(123,94,128,.25);transition:border-color .2s}.legal-content a:hover{border-color:#7b5e80}.legal-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.88rem}.legal-content table thead{background-color:#f6f4f9}.legal-content table th{padding:.9rem 1rem;text-align:left;font-weight:600;color:#2d2843;border:1px solid #EEEAF2}.legal-content table td{padding:.9rem 1rem;border:1px solid #EEEAF2;vertical-align:top}.legal-content table tbody tr:hover{background-color:#f6f4f9}.legal-content .toc{background-color:#f6f4f9;border-left:3px solid #7B5E80;padding:1.5rem;margin:2rem 0;border-radius:8px}.legal-content .toc h3{font-family:Fraunces,Georgia,serif;font-weight:400;margin-top:0}.legal-content .toc ul{margin-left:1.5rem}.legal-content .notice-box{background-color:#7b5e800f;border-left:3px solid #9B9ED2;padding:1.25rem 1.5rem;margin:2rem 0;border-radius:8px;font-size:.9rem}.legal-content .notice-box.critical{background-color:#b43c320d;border-left-color:#c0392b}.legal-content .notice-box strong{display:block;margin-bottom:.4rem;font-size:.95rem;color:#2d2843}.legal-content .contact-info{background-color:#f6f4f9;padding:1.25rem 1.5rem;border-radius:10px;border:1px solid #EEEAF2;margin:1.5rem 0}.legal-content .contact-info p:last-child{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.z-\[999\]{z-index:999}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.mt-7{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.min-h-\[120px\]{min-height:120px}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-full{width:100%}.min-w-\[240px\]{min-width:240px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[480px\]{max-width:480px}.max-w-\[780px\]{max-width:780px}.max-w-\[960px\]{max-width:960px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-24{--tw-translate-y: 6rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-0{border-width:0px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#555\]{--tw-border-opacity: 1;border-color:rgb(85 85 85 / var(--tw-border-opacity, 1))}.border-border{--tw-border-opacity: 1;border-color:rgb(226 220 232 / var(--tw-border-opacity, 1))}.border-border-light{--tw-border-opacity: 1;border-color:rgb(238 234 242 / var(--tw-border-opacity, 1))}.border-brown\/25{border-color:#7b5e8040}.border-white\/10{border-color:#ffffff1a}.border-white\/\[0\.06\]{border-color:#ffffff0f}.bg-\[\#2c2c2c\]{--tw-bg-opacity: 1;background-color:rgb(44 44 44 / var(--tw-bg-opacity, 1))}.bg-\[\#3D3558\]{--tw-bg-opacity: 1;background-color:rgb(61 53 88 / var(--tw-bg-opacity, 1))}.bg-\[\#7B5E80\]{--tw-bg-opacity: 1;background-color:rgb(123 94 128 / var(--tw-bg-opacity, 1))}.bg-\[\#dc3545\]{--tw-bg-opacity: 1;background-color:rgb(220 53 69 / var(--tw-bg-opacity, 1))}.bg-bg{--tw-bg-opacity: 1;background-color:rgb(246 244 249 / var(--tw-bg-opacity, 1))}.bg-brown{--tw-bg-opacity: 1;background-color:rgb(123 94 128 / var(--tw-bg-opacity, 1))}.bg-ink-primary{--tw-bg-opacity: 1;background-color:rgb(45 40 67 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-warm-white{--tw-bg-opacity: 1;background-color:rgb(253 252 255 / var(--tw-bg-opacity, 1))}.bg-white\/\[0\.08\]{background-color:#ffffff14}.p-0{padding:0}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-4{padding-bottom:1rem}.pt-12{padding-top:3rem}.text-center{text-align:center}.font-sans{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.font-serif{font-family:Fraunces,Georgia,serif}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[1\.6rem\]{font-size:1.6rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-tight{letter-spacing:-.025em}.text-\[\#ccc\]{--tw-text-opacity: 1;color:rgb(204 204 204 / var(--tw-text-opacity, 1))}.text-\[\#d4b8a0\]{--tw-text-opacity: 1;color:rgb(212 184 160 / var(--tw-text-opacity, 1))}.text-\[\#eee\]{--tw-text-opacity: 1;color:rgb(238 238 238 / var(--tw-text-opacity, 1))}.text-brown{--tw-text-opacity: 1;color:rgb(123 94 128 / var(--tw-text-opacity, 1))}.text-ink-muted{--tw-text-opacity: 1;color:rgb(169 163 186 / var(--tw-text-opacity, 1))}.text-ink-primary{--tw-text-opacity: 1;color:rgb(45 40 67 / var(--tw-text-opacity, 1))}.text-ink-secondary{--tw-text-opacity: 1;color:rgb(110 103 136 / var(--tw-text-opacity, 1))}.text-ink-tertiary{--tw-text-opacity: 1;color:rgb(160 154 178 / var(--tw-text-opacity, 1))}.text-warm-white{--tw-text-opacity: 1;color:rgb(253 252 255 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/35{color:#ffffff59}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-\[0_1px_0_\#EEEAF2\]{--tw-shadow: 0 1px 0 #EEEAF2;--tw-shadow-colored: 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background\,transform\]{transition-property:background,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.placeholder\:text-ink-tertiary::-moz-placeholder{--tw-text-opacity: 1;color:rgb(160 154 178 / var(--tw-text-opacity, 1))}.placeholder\:text-ink-tertiary::placeholder{--tw-text-opacity: 1;color:rgb(160 154 178 / var(--tw-text-opacity, 1))}.hover\:border-brown:hover{--tw-border-opacity: 1;border-color:rgb(123 94 128 / var(--tw-border-opacity, 1))}.hover\:bg-brown-dark:hover{--tw-bg-opacity: 1;background-color:rgb(90 61 96 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/\[0\.14\]:hover{background-color:#ffffff24}.hover\:text-ink-primary:hover{--tw-text-opacity: 1;color:rgb(45 40 67 / var(--tw-text-opacity, 1))}.hover\:text-warm-white:hover{--tw-text-opacity: 1;color:rgb(253 252 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/70:hover{color:#ffffffb3}.focus\:border-brown-light:focus{--tw-border-opacity: 1;border-color:rgb(155 158 210 / var(--tw-border-opacity, 1))}.active\:scale-\[0\.99\]:active{--tw-scale-x: .99;--tw-scale-y: .99;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width: 640px){.sm\:inline{display:inline}.sm\:flex-row{flex-direction:row}.sm\:gap-10{gap:2.5rem}.sm\:gap-8{gap:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:text-\[2rem\]{font-size:2rem}}
