@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&display=swap";.home-screen{height:100%;min-height:0;padding:calc(var(--safe-top) + 14px) 18px calc(var(--safe-bottom) + 30px);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden auto}.home-screen:before{content:"";background:radial-gradient(circle at 18% 16%, #e65c5c14, transparent 24%), radial-gradient(circle at 92% 28%, #ff9f431a, transparent 22%), linear-gradient(180deg, #fdfbf700, var(--bg-app) 62%);z-index:0;pointer-events:none;position:absolute;inset:0}.home-topbar,.home-hero,.personalize-prompt,.value-cards,.product-thesis,.home-flow-note,.home-footer{z-index:1;flex-shrink:0;position:relative}.home-topbar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.home-wordmark{color:var(--text-primary);letter-spacing:0;font-size:1.05rem;font-weight:950}.home-topbar-note{color:var(--brand-primary);letter-spacing:0;font-size:.74rem;font-weight:900}.home-tabs{z-index:1;color:var(--text-tertiary);grid-template-columns:repeat(4,1fr);align-items:end;gap:4px;margin-bottom:8px;font-size:.86rem;font-weight:900;display:grid;position:relative}.home-tabs span{justify-content:center;align-items:center;min-height:34px;display:inline-flex;position:relative}.home-tabs span.active{color:#111416}.home-tabs span.active:after{content:"";background:var(--brand-primary);border-radius:999px;height:4px;position:absolute;bottom:0;left:12%;right:12%}.home-hero{padding-bottom:18px}.home-hero-media{aspect-ratio:4/3;background:#fff;border-radius:24px;width:100%;max-height:300px;margin:0 0 14px;position:relative;overflow:hidden}.home-hero-media img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.home-header{flex-direction:column;align-items:flex-start;margin-bottom:14px;display:flex}.app-title{color:#111416;letter-spacing:0;margin-bottom:10px;font-family:Nunito,sans-serif;font-size:clamp(1.96rem,7.5vw,2.7rem);font-weight:950;line-height:1.02}.app-subtitle{display:none}.app-description{max-width:350px;color:var(--text-secondary);font-size:1rem;font-weight:650;line-height:1.58}.ai-boundary{color:var(--brand-primary);margin-top:12px;font-size:.86rem;font-weight:800;line-height:1.5}.home-main-cta{background:linear-gradient(135deg, #ff4f5e 0%, var(--brand-primary) 58%, #ff7a59 100%);color:#fff;border-radius:999px;width:100%;min-height:54px;margin-top:16px;font-size:1rem;font-weight:950;box-shadow:0 16px 34px #e65c5c47}.home-match-preview{background:#fffffff0;border:1px solid #2d343612;border-radius:22px;margin-bottom:14px;padding:18px 16px;box-shadow:0 16px 42px #2d343617}.preview-users{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.preview-users div{min-width:0}.preview-users span,.preview-reasons span{color:var(--text-secondary);font-size:.72rem;font-weight:800;line-height:1.35}.preview-users strong{color:var(--text-primary);margin-top:4px;font-size:.88rem;font-weight:950;line-height:1.25;display:block}.preview-score{background:linear-gradient(135deg,#e65c5c1f,#ff9f4314);border:1px solid #e65c5c2e;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;min-width:98px;min-height:70px;padding:12px 14px;display:flex}.preview-score strong{color:var(--brand-primary);white-space:nowrap;font-size:1rem}.preview-reasons{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.preview-reasons span{min-height:28px;color:var(--brand-primary);background:#e65c5c14;border-radius:999px;align-items:center;padding:0 10px;display:inline-flex}.home-match-panel{color:var(--text-primary);box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #e65c5c1a;border-radius:20px;margin:0;padding:16px;position:relative;overflow:hidden}.home-match-panel:before{display:none}.match-panel-top{z-index:1;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:relative}.match-panel-top h2{margin-bottom:6px;font-size:1.16rem;font-weight:900;line-height:1.25}.match-panel-top p{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.match-readiness{text-align:center;-webkit-backdrop-filter:blur(10px);background:#e65c5c14;border:1px solid #e65c5c24;border-radius:16px;min-width:70px;padding:10px}.match-readiness strong,.match-readiness span{display:block}.match-readiness strong{color:var(--brand-primary);font-size:.96rem;font-weight:950}.match-readiness span{color:var(--text-secondary);margin-top:2px;font-size:.64rem;font-weight:800}.home-primary-cta{width:100%;min-height:52px;color:var(--brand-primary);z-index:1;background:#fff;border-radius:16px;margin-top:18px;font-size:1rem;font-weight:900;position:relative;overflow:hidden;box-shadow:0 12px 28px #2d343629}.home-primary-cta:after{content:"";transition:transform .56s var(--ease-smooth);background:linear-gradient(110deg,#0000 0%,#e65c5c14 45%,#0000 70%);position:absolute;inset:0;transform:translate(-100%)}.home-primary-cta:active:after{transform:translate(100%)}.personalize-prompt{box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #2d343612;border-radius:18px;margin-bottom:16px;padding:14px 16px}.prompt-icon{display:none}.prompt-title{color:var(--text-primary);margin-bottom:2px;font-size:.95rem;font-weight:800}.prompt-text{color:var(--text-secondary);font-size:.8rem;line-height:1.45}.value-cards{grid-template-columns:1fr;gap:10px;margin-bottom:20px;display:grid}.value-card{box-shadow:var(--shadow-sm);color:var(--text-primary);transition:transform var(--motion-fast), box-shadow var(--motion-fast);background:#ffffffdb;border:1px solid #2d34360e;border-radius:16px;flex-direction:column;gap:4px;padding:13px 14px;display:flex;position:relative;overflow:hidden}.value-card:before{content:"";background:linear-gradient(180deg, var(--brand-primary), var(--brand-accent));opacity:.72;border-radius:999px;width:3px;position:absolute;top:12px;bottom:12px;left:0}.value-card:active{box-shadow:var(--shadow-card);transform:translateY(1px)scale(.99)}.value-card strong{color:var(--text-primary);font-size:.9rem;font-weight:900}.value-card span{color:var(--text-secondary);font-size:.78rem;font-weight:650;line-height:1.45}.product-thesis{grid-template-columns:1fr;gap:8px;margin:0 0 14px;display:grid}.thesis-step{background:#ffffffb8;border:1px solid #2d34360f;border-radius:16px;align-items:center;gap:10px;padding:10px 12px;display:flex}.thesis-step span{background:var(--brand-primary);min-width:72px;height:24px;color:var(--text-on-primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:.68rem;font-weight:900;display:inline-flex}.thesis-step.muted span{color:var(--brand-primary);background:#e65c5c1f}.thesis-step p{color:var(--text-primary);font-size:.8rem;font-weight:800}.home-flow-note{grid-template-columns:1fr;gap:8px;margin-top:14px;display:grid}.flow-note-item{border:1px solid var(--border-subtle);background:#ffffffad;border-radius:14px;align-items:center;gap:10px;padding:9px 10px;display:flex;box-shadow:0 8px 22px #2d343609}.flow-note-item span{width:22px;height:22px;color:var(--brand-primary);background:#e65c5c1a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:900;display:inline-flex}.flow-note-item p{color:var(--text-secondary);font-size:.78rem;font-weight:800}.home-footer{text-align:center;margin-top:30px}.footer-text{color:var(--text-tertiary);letter-spacing:1px;text-transform:uppercase;font-size:.8rem;font-weight:500}@media (width<=380px),(height<=700px){.home-screen{padding:calc(var(--safe-top) + 12px) 14px calc(var(--safe-bottom) + 24px)}.home-hero-media{aspect-ratio:4/3;max-height:238px}.app-title{font-size:2rem}.app-description{max-width:none;font-size:.92rem;line-height:1.55}.home-match-panel{border-radius:20px;padding:16px}.match-panel-top{gap:12px}.match-panel-top h2{font-size:1rem}.match-panel-top p{font-size:.76rem;line-height:1.42}.match-readiness{border-radius:14px;min-width:58px;padding:8px 7px}.home-primary-cta{border-radius:14px;min-height:48px;margin-top:14px;font-size:.92rem}}.discover-preview{background:linear-gradient(180deg, #ffffff7a, #fdfbf700 36%), var(--bg-app);min-height:0;padding:20px 16px 100px;overflow-x:hidden}.discover-hero{background:linear-gradient(#fffffff5,#ffffffc7),radial-gradient(circle at 90% 14%,#e65c5c2e,#0000 30%);border-color:#2d343612;grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.discover-hero:after,.discover-status{display:none}.discover-people-preview{height:172px;margin:0 -4px;position:relative}.discover-person-card{background:#fff;border:3px solid #fff;border-radius:24px;position:absolute;overflow:hidden;box-shadow:0 16px 38px #2d343624}.discover-person-card img{object-fit:cover;width:100%;height:100%;display:block}.discover-person-card span{color:#fff;background:#111416c2;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 8px;font-size:.68rem;font-weight:900;display:inline-flex;position:absolute;bottom:10px;left:10px;right:10px}.discover-person-card.main{width:48%;height:148px;top:4px;left:8px;transform:rotate(-3deg)}.discover-person-card.pair{width:44%;height:132px;top:24px;right:12px;transform:rotate(4deg)}.compatibility-thread{border-top:2px dashed #e65c5c7a;width:82px;height:48px;position:absolute;top:66px;left:44%;transform:rotate(10deg)}.discover-hero h1{color:#111416;font-size:1.82rem;font-weight:950}.primary-discover-btn{background:#111416;box-shadow:0 12px 28px #11141629}.secondary-discover-btn{color:#111416;border-color:#2d343617}.discover-hero,.dating-profile-card,.preview-section,.engine-flow{max-width:500px;margin:0 auto 18px}.discover-hero{box-shadow:var(--shadow-card);background:linear-gradient(135deg,#ffffffe0,#ffffff9e),linear-gradient(135deg,#e65c5c24,#ff8c521c);border:1px solid #e65c5c24;border-radius:24px;padding:26px 22px;position:relative;overflow:hidden}.discover-hero:after{content:"";background:linear-gradient(90deg, var(--brand-primary), var(--brand-accent));opacity:.86;border-radius:999px 999px 0 0;height:3px;position:absolute;inset:auto 18px 0}.discover-status{color:var(--brand-primary);background:#ffffffc2;border-radius:999px;margin-bottom:12px;padding:6px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.discover-hero h1,.preview-section h2,.dating-profile-card h2{color:var(--text-primary);letter-spacing:0;line-height:1.25}.discover-hero h1{margin-bottom:12px;font-size:1.72rem;font-weight:850}.discover-hero p{color:var(--text-secondary);font-size:.92rem;line-height:1.7}.discover-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.primary-discover-btn,.secondary-discover-btn{border-radius:16px;min-height:48px;font-size:.95rem;font-weight:800;position:relative;overflow:hidden}.primary-discover-btn{color:#fff;background:linear-gradient(135deg, var(--brand-primary-dark), var(--brand-primary) 52%, var(--brand-accent));box-shadow:var(--shadow-button)}.secondary-discover-btn{color:var(--brand-primary);box-shadow:var(--shadow-sm);background:#fff;border:1px solid #e65c5c40}.dating-profile-card,.matching-locked-card,.candidate-card,.criteria-item,.engine-step{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);background:#ffffffdb;border:1px solid #2d34360e}.engine-flow{flex-direction:column;gap:10px;display:flex}.engine-step{transition:transform var(--motion-fast), box-shadow var(--motion-fast);border-radius:18px;align-items:flex-start;gap:12px;padding:14px;display:flex}.engine-step:active,.candidate-card:active,.criteria-item:active{box-shadow:var(--shadow-card);transform:translateY(1px)scale(.995)}.engine-step>span{background:linear-gradient(135deg, var(--brand-primary), var(--brand-accent));width:30px;height:30px;color:var(--text-on-primary);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:900;display:inline-flex}.engine-step h3{color:var(--text-primary);margin-bottom:3px;font-size:.9rem;font-weight:900}.engine-step p{color:var(--text-secondary);font-size:.8rem;line-height:1.45}.dating-profile-card{border-radius:22px;padding:18px;position:relative;overflow:hidden}.dating-profile-card:before{content:"";background:linear-gradient(180deg, var(--brand-primary), var(--brand-accent));opacity:.82;width:4px;position:absolute;inset:0 auto 0 0}.profile-card-top{align-items:center;gap:14px;display:flex}.dating-avatar{background:var(--bg-surface);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;font-size:2rem;display:flex}.dating-profile-card h2,.preview-section h2{margin-bottom:6px;font-size:1rem;font-weight:800}.dating-profile-card p{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.readiness-row{color:var(--text-secondary);justify-content:space-between;margin-top:16px;font-size:.8rem;font-weight:800;display:flex}.readiness-row strong{color:var(--brand-primary)}.readiness-track{background:#e65c5c14;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.readiness-track div{border-radius:inherit;background:linear-gradient(90deg, var(--brand-primary), var(--brand-accent));height:100%}.visible-traits,.candidate-reasons{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.visible-traits span,.candidate-reasons span{max-width:100%;color:var(--brand-primary);white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;filter:none;background:#e65c5c14;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:800;line-height:1.35;overflow:visible}.section-heading-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-heading-row h2{margin-bottom:0}.section-heading-row span{color:var(--text-tertiary);font-size:.75rem;font-weight:800}.recommendation-heading-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.recommendation-heading-actions button{min-height:28px;color:var(--brand-primary);background:#e65c5c14;border-radius:999px;padding:0 10px;font-size:.72rem;font-weight:900}.recommendation-heading-actions button:disabled{opacity:.58}.candidate-list{flex-direction:column;gap:12px;display:flex}.match-recommendations-section{margin-top:0}.candidate-card{border-radius:20px;padding:16px;position:relative;overflow:hidden}.candidate-card.is-waiting{background:linear-gradient(135deg,#ffffffe6,#f8f7f4c7),#ffffffb8;border-color:#636fa42e}.candidate-card.is-matched{background:linear-gradient(135deg,#fffffff0,#effaf4c7),#ffffffb8;border-color:#4a9a783d}.candidate-main{gap:0;display:flex}.candidate-info{flex:1;min-width:0}.candidate-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.candidate-title-row h3{color:var(--text-primary);font-size:.96rem;font-weight:850}.candidate-title-row strong{color:var(--brand-primary);font-size:.9rem}.candidate-score-row{flex-shrink:0;align-items:center;gap:7px;display:inline-flex}.candidate-status-badge{color:#636fa4;white-space:nowrap;background:#636fa41a;border-radius:999px;align-items:center;min-height:24px;padding:4px 8px;font-size:.7rem;font-weight:900;display:inline-flex}.candidate-card.is-matched .candidate-status-badge{color:#3f8f6b;background:#4a9a781f}.candidate-info p,.candidate-info span,.candidate-caution{color:var(--text-secondary);font-size:.8rem;line-height:1.45}.candidate-info span{margin-top:4px;display:block}.candidate-caution{margin-top:10px}.candidate-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.candidate-actions button{border-radius:14px;min-height:42px;font-size:.84rem;font-weight:850}.candidate-pass-btn{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#f4f1eaeb}.candidate-like-btn{background:var(--brand-primary);color:var(--text-on-primary);box-shadow:var(--shadow-sm)}.candidate-state-card{background:#636fa414;border:1px solid #636fa421;border-radius:16px;margin-top:14px;padding:12px}.candidate-state-card.matched{background:#4a9a781a;border-color:#4a9a7829}.candidate-state-card strong,.candidate-state-card span{display:block}.candidate-state-card strong{color:var(--text-primary);font-size:.86rem;font-weight:900}.candidate-state-card span{color:var(--text-secondary);margin-top:4px;font-size:.78rem;line-height:1.45}.candidate-state-card button{color:#fff;background:#3f8f6b;border-radius:13px;width:100%;min-height:40px;margin-top:10px;font-weight:900}.match-success-overlay{z-index:220;-webkit-backdrop-filter:blur(18px);background:#11141657;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.match-success-card{background:linear-gradient(180deg, #fffffffa, #ffffffeb), var(--bg-card);text-align:center;width:min(100%,360px);animation:matchSuccessIn .26s var(--ease-smooth);border:1px solid #ffffffb8;border-radius:28px;padding:24px;box-shadow:0 26px 70px #11141638}.success-orbit{background:radial-gradient(circle at 30% 25%,#ffffffe6,#0000 34%),linear-gradient(135deg,#4a9a782e,#e65c5c29);border-radius:32px;place-items:center;width:92px;height:92px;margin:0 auto 16px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #4a9a781f}.success-orbit span{background:#fff;border-radius:12px;width:30px;height:30px;position:absolute;box-shadow:0 10px 24px #2d34361f}.success-orbit span:first-child{top:31px;left:13px}.success-orbit span:nth-child(2){top:31px;right:13px}.success-orbit strong{z-index:1;color:#357a5a;font-size:1.18rem;font-weight:950;position:relative}.match-success-card h2{color:var(--text-primary);font-size:1.24rem;font-weight:950;line-height:1.25}.match-success-card p{color:var(--text-secondary);margin-top:9px;font-size:.88rem;line-height:1.6}.success-match-details{background:#4a9a7817;border:1px solid #4a9a781f;border-radius:17px;margin-top:15px;padding:12px}.success-match-details span,.success-match-details small{display:block}.success-match-details span{color:var(--text-primary);font-size:.94rem;font-weight:900}.success-match-details small{color:var(--text-secondary);margin-top:3px;font-size:.76rem;font-weight:760}.match-success-actions{grid-template-columns:1fr;gap:9px;margin-top:16px;display:grid}.match-success-actions button{min-height:45px;color:var(--text-primary);background:#f4f1eaeb;border-radius:15px;font-size:.86rem;font-weight:900}.match-success-actions button.primary{color:#fff;background:#111416;box-shadow:0 12px 28px #11141629}@keyframes matchSuccessIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.discover-success-note{color:#357a5a;background:#4a9a781a;border:1px solid #4a9a7824;border-radius:15px;margin:-2px 0 12px;padding:11px 12px;font-size:.8rem;font-weight:850;line-height:1.45}.discover-error-note{color:var(--brand-primary);margin-top:10px;font-size:.8rem;font-weight:800;line-height:1.45}.criteria-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.criteria-item{min-height:52px;color:var(--text-secondary);transition:transform var(--motion-fast), color var(--motion-fast), background var(--motion-fast);border-radius:16px;align-items:center;padding:12px;font-size:.82rem;font-weight:700;display:flex}.criteria-item:hover{color:var(--text-primary);background:#fff}.matching-locked-card{border-radius:20px;padding:18px}.matching-locked-card h3{color:var(--text-primary);margin-bottom:8px;font-size:.98rem;font-weight:850}.matching-locked-card p,.privacy-note{color:var(--text-secondary);font-size:.82rem;line-height:1.55}.matching-locked-card .strict-match-note{color:var(--brand-primary);margin-top:10px;font-weight:800}.matching-locked-card .primary-discover-btn{width:100%;margin-top:14px}.privacy-note{color:var(--text-tertiary);margin-top:12px}.trust-section{box-shadow:var(--shadow-sm);background:#ffffffb8;border:1px solid #2d34360e;border-radius:22px;padding:18px}.trust-list{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.trust-list span{min-height:44px;color:var(--text-primary);background:#e65c5c12;border-radius:14px;align-items:center;padding:10px;font-size:.78rem;font-weight:800;line-height:1.35;display:flex}@media (width<=380px),(height<=700px){.discover-preview{padding:14px 12px 84px}.discover-hero,.dating-profile-card,.preview-section,.engine-flow{margin-bottom:14px}.discover-hero{border-radius:20px;padding:20px 16px}.discover-status{margin-bottom:10px;font-size:.68rem}.discover-hero h1{font-size:1.38rem;line-height:1.22}.discover-hero p{font-size:.84rem;line-height:1.58}.discover-actions{margin-top:16px}.primary-discover-btn,.secondary-discover-btn{border-radius:14px;min-height:46px;font-size:.86rem}.section-heading-row{align-items:flex-start;gap:10px}.section-heading-row span{text-align:right;line-height:1.25}.recommendation-heading-actions{flex-direction:column;align-items:flex-end;gap:5px}.profile-card-top,.candidate-main{gap:10px}.dating-avatar{border-radius:15px;width:48px;height:48px;font-size:1.65rem}.candidate-title-row{align-items:flex-start}.candidate-actions,.criteria-grid,.trust-list{grid-template-columns:1fr}}.challenge-dashboard{background:var(--bg-app);flex-shrink:0;min-height:0;padding:20px 16px 100px;overflow:hidden visible}.dashboard-header{text-align:center;margin-bottom:24px;position:relative}.dashboard-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:clamp(1.35rem,4vw,1.5rem);font-weight:800;line-height:1.25}.dashboard-subtitle{color:var(--text-secondary);max-width:320px;margin:0 auto;font-size:.875rem;font-weight:500}.dashboard-progress-pill{background:var(--bg-surface);color:var(--text-secondary);border-radius:20px;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.dashboard-progress-pill .progress-count{color:var(--brand-primary)}.calibration-control-panel{background:linear-gradient(135deg, #e65c5c17, #ff9f4314), var(--bg-card);max-width:500px;box-shadow:var(--shadow-sm);border:1px solid #e65c5c24;border-radius:22px;margin:0 auto 20px;padding:18px}.deep-calibration-panel{max-width:500px;box-shadow:var(--shadow-sm);background:#ffffffe0;border:1px solid #2d34360f;border-radius:22px;margin:0 auto 24px;padding:18px}.deep-calibration-panel h2{color:var(--text-primary);margin-bottom:6px;font-size:1rem;font-weight:900}.deep-calibration-panel p{color:var(--text-secondary);font-size:.82rem;line-height:1.55}.deep-calibration-panel span{color:var(--brand-primary);margin-top:10px;font-size:.76rem;font-weight:850;display:inline-flex}.deep-calibration-panel button{background:var(--brand-primary);width:100%;min-height:44px;color:var(--text-on-primary);box-shadow:var(--shadow-sm);border-radius:15px;margin-top:14px;font-size:.86rem;font-weight:900}.deep-calibration-panel button:disabled{opacity:.45;box-shadow:none}.deep-calibration-current{margin-top:10px;font-weight:800;color:var(--brand-primary)!important}.calibration-control-panel h2{color:var(--text-primary);margin-bottom:6px;font-size:1rem;font-weight:850}.calibration-control-panel p{color:var(--text-secondary);font-size:.82rem;line-height:1.55}.lab-coach-entry{max-width:500px;box-shadow:var(--shadow-sm);background:#ffffffd6;border:1px solid #2d34360f;border-radius:20px;margin:0 auto 20px;padding:16px}.lab-coach-entry h2{color:var(--text-primary);margin-bottom:5px;font-size:.98rem;font-weight:900}.lab-coach-entry p{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.lab-coach-entry button{background:var(--text-primary);color:#fff;border-radius:14px;width:100%;min-height:42px;margin-top:13px;font-size:.84rem;font-weight:900}.calibration-control-meta{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.calibration-control-meta span{color:var(--brand-primary);font-size:.78rem;font-weight:850}.recalibrate-button{background:var(--brand-primary);min-height:42px;color:var(--text-on-primary);box-shadow:var(--shadow-sm);border-radius:14px;padding:0 16px;font-size:.86rem;font-weight:850}.recalibrate-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.lab-conversations{max-width:500px;margin:0 auto 22px}.lab-conversations h2{color:var(--text-primary);margin-bottom:10px;font-size:1rem;font-weight:800}.lab-conversation-list{flex-direction:column;gap:10px;display:flex}.lab-conversation-item{background:var(--bg-card);border:1px solid var(--border-subtle);width:100%;box-shadow:var(--shadow-sm);text-align:left;border-radius:16px;align-items:center;gap:12px;padding:12px;display:flex}.lab-conversation-avatar{background:var(--bg-surface);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.5rem;display:flex}.lab-conversation-text{flex-direction:column;gap:3px;min-width:0;display:flex}.lab-conversation-text strong{color:var(--text-primary);font-size:.9rem}.lab-conversation-text span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.roadmap{flex-direction:column;gap:0;max-width:500px;margin:0 auto 24px;display:flex;position:relative}.roadmap:before{content:"";background:var(--bg-surface);pointer-events:none;z-index:0;border-radius:1px;width:2px;position:absolute;top:28px;bottom:28px;left:19px}.day-card{background:var(--bg-card);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth), border-color .2s;z-index:1;border:2px solid #0000;border-radius:20px;align-items:flex-start;margin-bottom:12px;margin-left:0;padding:16px 16px 16px 56px;display:flex;position:relative}.day-card:last-of-type{margin-bottom:0}.day-card:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.day-card:not(.locked):hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.day-card.locked{opacity:.65;cursor:not-allowed;filter:grayscale(.85)}.day-card.active{border-color:var(--brand-primary);box-shadow:var(--shadow-floating)}.day-card.completed{background:linear-gradient(135deg, #48bb780f 0%, var(--bg-card) 100%)}.day-number{background:var(--bg-surface);border:2px solid var(--bg-card);width:40px;height:40px;box-shadow:var(--shadow-sm);transition:background .2s, color .2s, transform .2s var(--ease-spring);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9375rem;font-weight:700;display:flex;position:absolute;top:18px;left:12px}.day-card.active .day-number{background:var(--brand-primary);color:var(--text-on-primary);border-color:var(--brand-primary);transform:scale(1.05)}.day-card.completed .day-number{color:var(--text-on-primary);background:#48bb78;border-color:#48bb78}.day-info{flex-grow:1;min-width:0}.day-title{color:var(--text-primary);margin-bottom:4px;font-size:1rem;font-weight:700;line-height:1.3}.day-goal{color:var(--text-secondary);margin-bottom:6px;font-size:.75rem;font-weight:500}.day-description{color:var(--text-secondary);margin-top:4px;margin-bottom:6px;font-size:.75rem;line-height:1.45}.day-description.muted{color:var(--text-tertiary)}.assessment-focus{background:#e65c5c12;border:1px solid #e65c5c1f;border-radius:14px;margin:10px 0;padding:12px}.assessment-focus span{color:var(--brand-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.68rem;font-weight:900;display:block}.assessment-focus p{color:var(--text-primary);font-size:.78rem;font-weight:650;line-height:1.5}.day-instructions{background:var(--bg-surface);border-left:4px solid var(--brand-primary);border-radius:12px;margin-top:12px;padding:12px 14px}.milestone-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.milestone-header span{color:var(--text-tertiary);margin-top:2px;font-size:.7rem;font-weight:700;display:block}.milestone-header strong{color:var(--brand-primary);font-size:1.05rem;font-weight:950}.step-progress-track,.mini-progress-track{background:#e65c5c1a;border-radius:999px;overflow:hidden}.step-progress-track{height:8px;margin-bottom:12px}.step-progress-track div,.mini-progress-track div{border-radius:inherit;background:linear-gradient(90deg, var(--brand-primary), var(--brand-accent));height:100%}.milestone-grid{grid-template-columns:1fr;gap:8px;margin:12px 0 14px;display:grid}.milestone-row{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:10px}.milestone-row.done{background:#48bb7812;border-color:#48bb7859}.milestone-row-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.milestone-row-top span{color:var(--text-primary);font-size:.78rem;font-weight:850}.milestone-row-top strong{color:var(--brand-primary);font-size:.78rem;font-weight:900}.milestone-row.done .milestone-row-top strong{color:#2f855a}.mini-progress-track{height:5px}.milestone-row p{color:var(--text-tertiary);margin-top:6px;font-size:.68rem;line-height:1.35}.instructions-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.6875rem;font-weight:700}.instructions-list{margin:0;padding-left:18px;list-style:none}.instructions-list li{color:var(--text-secondary);margin-bottom:4px;font-size:.8125rem;line-height:1.5;position:relative}.instructions-list li:before{content:"•";color:var(--brand-primary);font-weight:700;position:absolute;left:-14px}.day-progress-hint{color:var(--brand-primary);margin-top:8px;font-size:.6875rem;font-weight:600}.day-start-button{background:linear-gradient(135deg, #ff4f5e 0%, var(--brand-primary) 58%, #ff7a59 100%);color:#fff;border-radius:14px;width:100%;min-height:44px;margin-top:12px;font-size:.86rem;font-weight:950;box-shadow:0 12px 24px #e65c5c33}.task-progress{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;margin-top:12px;padding:12px;font-size:.8125rem}.progress-note{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);margin-bottom:10px;padding-bottom:8px;font-size:.75rem;font-style:italic;font-weight:500}.progress-item{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.progress-item:last-child{margin-bottom:0}.progress-label{color:var(--text-secondary);font-weight:500}.progress-value{color:var(--text-primary);font-weight:700}.status-indicator{flex-shrink:0;align-self:flex-start;margin-left:12px}.status-badge{background:var(--bg-surface);color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;border-radius:12px;padding:5px 10px;font-size:.6875rem;font-weight:600}.day-card.active .status-badge{color:var(--brand-primary);background:#e65c5c1f}.day-card.completed .status-badge{color:#2f855a;background:#48bb7826}.locked-icon{opacity:.8;font-size:1.25rem}.report-unlock-card{background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);color:var(--text-on-primary);text-align:center;box-shadow:var(--shadow-floating);border-radius:24px;max-width:500px;margin:28px auto 0;padding:28px 24px;position:relative;overflow:hidden}.report-unlock-card.pinned{margin-top:0;margin-bottom:20px}.report-unlock-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1f 0%,#0000 70%);width:80%;height:160%;position:absolute;top:-50%;right:-30%}.unlock-icon{opacity:.95;margin-bottom:8px;font-size:2rem}.unlock-title{letter-spacing:-.02em;margin-bottom:10px;font-size:1.25rem;font-weight:800;position:relative}.unlock-desc{opacity:.95;margin-bottom:20px;font-size:.8125rem;line-height:1.5;position:relative}.unlock-button{background:var(--bg-card);color:var(--brand-primary);cursor:pointer;transition:transform .2s var(--ease-smooth), box-shadow .2s;box-shadow:var(--shadow-sm);border:none;border-radius:14px;padding:14px 28px;font-size:.9375rem;font-weight:700;position:relative}.unlock-button:hover:not(.disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (width<=380px),(height<=700px){.challenge-dashboard{padding:14px 12px 84px}.dashboard-header{margin-bottom:18px}.dashboard-title{font-size:1.22rem;line-height:1.22}.dashboard-subtitle{font-size:.8rem;line-height:1.45}.calibration-control-panel{border-radius:18px;margin-bottom:16px;padding:15px}.calibration-control-meta{flex-direction:column;align-items:stretch;gap:10px}.recalibrate-button{width:100%}.roadmap:before{left:15px}.day-card{border-radius:17px;padding:14px 12px 14px 46px}.day-number{width:32px;height:32px;font-size:.82rem;top:16px;left:9px}.day-title{font-size:.92rem}.day-goal,.day-description{font-size:.72rem}.status-indicator{margin-left:8px}.status-badge{letter-spacing:0;padding:4px 7px;font-size:.62rem}.assessment-focus,.day-instructions,.task-progress{padding:10px}.milestone-header{gap:8px}.milestone-row-top{align-items:flex-start}.report-unlock-card{border-radius:20px;padding:22px 16px}}.unlock-button:focus-visible{outline:2px solid var(--bg-card);outline-offset:2px}.unlock-button.disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=480px){.challenge-dashboard{padding:16px 12px 100px}.roadmap:before{top:24px;left:15px}.day-card{border-radius:16px;margin-bottom:10px;padding:14px 14px 14px 50px}.day-number{width:34px;height:34px;font-size:.8125rem;top:16px;left:10px}.day-title{font-size:.9375rem}.day-instructions{margin-top:10px;padding:10px 12px}.instructions-list li{font-size:.75rem}.task-progress{padding:10px;font-size:.75rem}.status-badge{padding:4px 8px;font-size:.625rem}.report-unlock-card{border-radius:20px;padding:24px 20px}.unlock-title{font-size:1.125rem}.unlock-desc{font-size:.75rem}.unlock-button{padding:12px 24px;font-size:.875rem}}.auth-screen{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;background:radial-gradient(circle at 20% 8%,#e65c5c21,#0000 26%),#fff;justify-content:center;align-items:flex-start;min-height:100dvh;padding:max(20px,5vh) 20px;display:flex;overflow:hidden auto}.auth-card{background:#fffffff0;border:1px solid #2d343612;border-radius:24px;flex-shrink:0;width:100%;max-width:400px;margin:auto;padding:36px 32px;box-shadow:0 18px 54px #2d34361a}.auth-back-button{min-height:34px;color:var(--text-secondary);background:0 0;border-radius:999px;align-items:center;margin:-18px 0 18px -10px;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.auth-header{text-align:center;margin-bottom:30px}.auth-logo{color:var(--brand-primary);margin-bottom:20px;font-size:24px;font-weight:800}.auth-header h2{color:#1a1a1a;margin-bottom:8px;font-size:20px}.auth-header p{color:#666;font-size:14px}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-form .input-group{flex-direction:column;gap:8px;margin-bottom:0;display:flex}.auth-form .input-group label{color:#333;text-transform:none;margin-bottom:0;font-size:13px;font-weight:600}.auth-form .input-group input{background:0 0;border:0;border-bottom:1px solid #2d34362e;border-radius:0;min-height:48px;padding:12px 2px;font-size:16px;transition:border-color .2s}.auth-form .input-group input:focus{border-bottom-color:var(--brand-primary);outline:none}.auth-button{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:10px;padding:14px;font-size:16px;font-weight:700;transition:opacity .2s}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-message{text-align:center;border-radius:10px;padding:12px;font-size:13px}.auth-message.success{color:#2f855a;background:#f0fff4;border:1px solid #c6f6d5}.auth-message.error{color:#c53030;background:#fff5f5;border:1px solid #fed7d7}.auth-footer{text-align:center;color:#666;margin-top:25px;font-size:14px}.auth-footer span{color:var(--brand-primary);cursor:pointer;font-weight:600}.forgot-password-link{text-align:right;margin-top:-10px;margin-bottom:-5px}.forgot-password-link span{color:var(--brand-primary);cursor:pointer;font-size:13px;font-weight:600;transition:opacity .2s}.forgot-password-link span:hover{opacity:.8}@media (width<=380px),(height<=700px){.auth-screen{padding:14px;padding-top:max(14px, env(safe-area-inset-top));padding-bottom:max(14px, env(safe-area-inset-bottom))}.auth-card{border-radius:22px;padding:28px 22px}.auth-back-button{margin:-10px 0 16px -8px}.auth-header{margin-bottom:24px}.auth-logo{margin-bottom:14px}.auth-form{gap:16px}.auth-form .input-group{gap:7px}.auth-form .input-group input{min-height:48px}.auth-footer{margin-top:20px}}.onboarding-screen{padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));z-index:9999;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;box-sizing:border-box;background:radial-gradient(circle at 18% 8%,#e65c5c29,#0000 28%),radial-gradient(circle at 84% 16%,#ff9f4324,#0000 26%),#fff;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden auto}.onboarding-container{box-sizing:border-box;background:#fffffff0;border:1px solid #2d343614;border-radius:26px;flex-direction:column;width:100%;max-width:480px;min-height:0;max-height:min(92dvh,92vh);padding:24px 20px 20px;animation:.4s ease-out slideUp;display:flex;overflow:hidden;box-shadow:0 20px 60px #2d34361f}@media (height>=700px){.onboarding-container{min-height:420px}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.onboarding-progress{flex-shrink:0;justify-content:center;gap:6px;margin-bottom:20px;display:flex}.progress-dot{background:#e0e0e0;border-radius:50%;width:8px;height:8px;transition:all .3s}.progress-dot.active{background:#e65c5c;border-radius:4px;width:24px}.progress-dot.completed{background:#e65c5c}.onboarding-content{text-align:center;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;flex:1;align-items:center;min-height:0;margin-bottom:20px;display:flex;overflow-y:auto}.onboarding-icon{margin-bottom:20px;font-size:2.4rem;animation:none}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.onboarding-title{color:#2d3436;letter-spacing:-.5px;margin-bottom:8px;font-size:1.75rem;font-weight:800;line-height:1.3}.onboarding-subtitle{color:#e65c5c;text-transform:none;letter-spacing:0;margin-bottom:20px;font-size:.95rem;font-weight:600}.onboarding-description{color:#636e72;max-width:400px;margin-bottom:20px;font-size:1rem;line-height:1.7}.onboarding-highlight{color:#fff;background:#111416;border-radius:12px;max-width:380px;margin-bottom:24px;padding:16px 24px;font-size:.95rem;font-weight:600;line-height:1.5;box-shadow:0 4px 12px #e65c5c4d}.onboarding-features{flex-direction:column;gap:12px;width:100%;max-width:360px;margin-top:20px;display:flex}.feature-item{color:#2d3436;text-align:left;background:#fff;border-bottom:1px solid #e65c5c2e;border-left:0;border-radius:10px;padding:12px 16px;font-size:.9rem;font-weight:500}.onboarding-option-list{flex-direction:column;gap:10px;width:100%;max-width:380px;margin-top:8px;display:flex}.onboarding-option{color:#2d3436;text-align:left;background:#fff;border:1px solid #2d343614;border-radius:14px;width:100%;min-height:48px;padding:12px 14px;font-size:.92rem;font-weight:800;line-height:1.35;box-shadow:0 6px 18px #2d34360b}.onboarding-option.selected{color:#e65c5c;background:#fff;border-color:#e65c5c7a;box-shadow:inset 0 -3px #e65c5c38,0 8px 22px #2d34360f}.onboarding-basics-form,.onboarding-username-form{flex-direction:column;gap:14px;width:100%;max-width:380px;margin-top:8px;display:flex}.onboarding-field-note{color:#8a6f68;text-align:left;margin:-4px 0 0;font-size:.78rem;font-weight:700;line-height:1.5}.username-suggestion-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.username-suggestion-grid button{color:#2d3436;background:#fff;border:1px solid #2d343614;border-radius:14px;min-height:40px;padding:9px 10px;font-size:.86rem;font-weight:850;box-shadow:0 6px 18px #2d34360b}.username-suggestion-grid button.selected{color:#e65c5c;background:#fff;border-color:#e65c5c7a;box-shadow:inset 0 -3px #e65c5c38}.onboarding-field{text-align:left;flex-direction:column;gap:8px;display:flex}.onboarding-field span{color:#2d3436;font-size:.82rem;font-weight:800}.onboarding-field input{color:#2d3436;width:100%;min-height:48px;box-shadow:none;box-sizing:border-box;background:0 0;border:0;border-bottom:1px solid #2d34362e;border-radius:0;padding:12px 2px;font-size:.95rem;font-weight:700}.onboarding-field input:focus{border-bottom-color:#e65c5cbf;outline:none}.onboarding-segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.onboarding-segmented button{color:#2d3436;background:#fff;border:1px solid #2d343614;border-radius:14px;min-height:46px;font-size:.95rem;font-weight:850;box-shadow:0 6px 18px #2d34360b}.onboarding-segmented button.selected{color:#e65c5c;background:#fff;border-color:#e65c5c7a;box-shadow:inset 0 -3px #e65c5c38}.onboarding-cta-badge{color:#2d3436;background:linear-gradient(135deg,#ff9f43 0%,#ffb84d 100%);border-radius:20px;margin-top:20px;padding:12px 24px;font-size:1rem;font-weight:700;animation:2s ease-in-out infinite pulse;box-shadow:0 4px 12px #ff9f434d}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.onboarding-actions{width:100%;padding-bottom:env(safe-area-inset-bottom,0);flex-shrink:0;gap:12px;min-height:48px;display:flex}.onboarding-skip{color:#636e72;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:2px solid #e0e0e0;border-radius:12px;flex:1;min-height:48px;padding:14px 16px;font-size:1rem;font-weight:600;transition:all .2s}.onboarding-skip:hover{color:#e65c5c;border-color:#e65c5c}.onboarding-skip:active{transform:scale(.98)}.onboarding-next{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#e65c5c 0%,#ff9f43 100%);border:none;border-radius:12px;flex:2;min-height:48px;padding:14px 16px;font-size:1rem;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #e65c5c4d}.onboarding-next:hover{transform:translateY(-2px);box-shadow:0 6px 16px #e65c5c66}.onboarding-next:active{transform:translateY(0);box-shadow:0 2px 8px #e65c5c4d}.onboarding-next:disabled{opacity:.5;cursor:not-allowed;transform:none}.onboarding-input-section{width:100%;max-width:400px;margin-top:24px}.onboarding-input-group{flex-direction:column;gap:8px;display:flex}.onboarding-input,.onboarding-textarea{color:#2d3436;box-sizing:border-box;appearance:none;background:#fff;border:2px solid #e0e0e0;border-radius:12px;width:100%;min-height:48px;padding:14px 16px;font-family:inherit;font-size:16px;transition:all .2s}.onboarding-input:focus,.onboarding-textarea:focus{border-color:#e65c5c;outline:none;box-shadow:0 0 0 3px #e65c5c26}.onboarding-textarea{resize:vertical;min-height:120px;line-height:1.6}.onboarding-input-hint{color:#636e72;text-align:right;margin-top:4px;font-size:.85rem}@media (width<=480px),(height<=700px){.onboarding-screen{padding:max(8px, env(safe-area-inset-top)) 12px max(8px, env(safe-area-inset-bottom)) 12px;padding-top:max(20px, env(safe-area-inset-top));align-items:flex-start}.onboarding-container{border-radius:20px;max-height:min(88dvh,88vh);padding:20px 16px 16px}.onboarding-progress{gap:5px;margin-bottom:16px}.progress-dot{width:6px;height:6px}.progress-dot.active{width:18px}.onboarding-content{margin-bottom:16px}.onboarding-icon{margin-bottom:12px;font-size:2.75rem}.onboarding-title{margin-bottom:6px;font-size:1.35rem;line-height:1.25}.onboarding-subtitle{margin-bottom:12px;font-size:.8rem}.onboarding-description{margin-bottom:14px;font-size:.9rem;line-height:1.6}.onboarding-description p{margin:0}.onboarding-highlight{border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:.875rem}.onboarding-features{gap:8px;margin-top:12px}.feature-item{padding:10px 12px;font-size:.8rem}.onboarding-input-section{width:100%;margin-top:16px}.onboarding-input,.onboarding-textarea{min-height:48px;padding:12px 14px}.onboarding-textarea{min-height:100px}.onboarding-input-hint{font-size:.75rem}.onboarding-actions{padding-bottom:max(8px, env(safe-area-inset-bottom));gap:10px}.onboarding-skip,.onboarding-next{min-height:48px;padding:12px 14px;font-size:.95rem}}@media (height<=600px){.onboarding-screen{align-items:flex-start;padding-top:12px}.onboarding-container{max-height:min(96dvh,96vh);padding:16px 20px 12px}.onboarding-progress{margin-bottom:12px}.onboarding-icon{margin-bottom:8px;font-size:2.25rem}.onboarding-title{margin-bottom:4px;font-size:1.2rem}.onboarding-subtitle{margin-bottom:8px;font-size:.75rem}.onboarding-description{margin-bottom:8px;font-size:.85rem}.onboarding-highlight{margin-bottom:10px;padding:10px 14px;font-size:.8rem}.onboarding-features{gap:6px;margin-top:8px}.feature-item{padding:6px 10px;font-size:.75rem}.onboarding-input-section{margin-top:10px}.onboarding-input,.onboarding-textarea{min-height:44px;padding:10px 12px}.onboarding-textarea{min-height:80px}.onboarding-input-hint{font-size:.7rem}.onboarding-content{margin-bottom:12px}.onboarding-actions{padding-bottom:max(4px, env(safe-area-inset-bottom))}.onboarding-skip,.onboarding-next{min-height:44px;padding:10px 12px;font-size:.9rem}}.tinder-mode{background-color:var(--bg-app);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden auto}.match-header{z-index:10;align-items:center;gap:15px;padding:20px;display:flex}.back-icon{cursor:pointer;color:#333;background:0 0;border:none;font-size:24px}.header-info{flex-direction:column;display:flex}.match-title{font-size:18px;font-weight:700}.match-subtitle{color:#888;font-size:12px}.swipe-container{margin-top:calc(var(--safe-top) + 10px);flex:1;justify-content:center;align-items:center;max-height:70vh;display:flex;position:relative}.character-card{background:var(--bg-card);width:min(100% - 40px,400px);height:90%;max-height:560px;box-shadow:var(--shadow-lg);-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform, opacity;border:1px solid #00000005;border-radius:32px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.card-image-area{background:var(--bg-surface);flex:1.2;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.character-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.character-avatar-placeholder{background:linear-gradient(135deg, var(--brand-primary) 0%, #ff8e8e 100%);color:#fff;width:100%;height:100%;transition:transform .3s var(--ease-spring);justify-content:center;align-items:center;font-size:4rem;font-weight:800;display:flex}.character-card:active .character-avatar-placeholder{transform:scale(1.02)}.card-content-area{background:#fff;flex-direction:column;flex:1;min-height:0;padding:20px;display:flex;overflow:visible}.character-name{color:var(--text-primary);letter-spacing:-.5px;margin-bottom:4px;font-size:clamp(1.4rem,6vw,2rem);font-weight:800}.character-meta{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;font-size:.95rem;font-weight:600}.character-bio{color:var(--text-secondary);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin-bottom:20px;font-size:1rem;line-height:1.6;display:-webkit-box;overflow:hidden}.tags-container{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.tag{background:var(--bg-surface);color:var(--text-primary);border-radius:12px;padding:6px 12px;font-size:.8rem;font-weight:600}.swipe-actions{height:120px;padding-bottom:calc(var(--safe-bottom) + 25px);justify-content:center;align-items:center;gap:40px;display:flex}.swipe-button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #00000008;border-radius:50%;outline:none;justify-content:center;align-items:center;width:70px;height:70px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 10px 25px #00000012}.swipe-button span{transition:transform .2s}.swipe-button:active{transform:scale(.9);box-shadow:0 4px 10px #0000000d}.swipe-button:active span{transform:scale(.8)}.swipe-button.reject{color:#ff5252;font-size:1.6rem}.swipe-button.reject:hover{background:#fff5f5;transform:translateY(-2px);box-shadow:0 15px 30px #ff52521a}.swipe-button.like{color:#00b894;font-size:1.8rem}.swipe-button.like:hover{background:#f0fff4;transform:translateY(-2px);box-shadow:0 15px 30px #00b8941a}.no-more-characters{text-align:center;height:100%;animation:fadeIn .6s var(--ease-smooth);flex-direction:column;justify-content:center;align-items:center;padding:40px 30px;display:flex}.no-more-icon{filter:drop-shadow(0 10px 15px #e65c5c33);margin-bottom:24px;font-size:4rem;animation:3s ease-in-out infinite float}.no-more-title{color:var(--text-primary);margin-bottom:16px;font-size:1.5rem;font-weight:800}.no-more-desc{color:var(--text-secondary);margin-bottom:32px;font-size:.95rem;line-height:1.8}.back-btn{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 24px;font-weight:700}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.calibrator-intro,.selected-calibrator-card,.calibrator-list{width:min(100% - 32px,500px);margin-left:auto;margin-right:auto}.calibrator-intro{background:#e65c5c14;border:1px solid #e65c5c24;border-radius:20px;padding:18px}.calibrator-intro h2{color:var(--text-primary);margin-bottom:8px;font-size:1.1rem;font-weight:850}.calibrator-intro p,.selected-calibrator-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.calibrator-list{padding:16px 0 calc(var(--safe-bottom) + 24px);flex-direction:column;gap:12px;display:flex}.calibrator-option{background:var(--bg-card);border:1px solid var(--border-subtle);width:100%;box-shadow:var(--shadow-sm);text-align:left;border-radius:18px;align-items:flex-start;gap:12px;padding:14px;display:flex}.calibrator-option-avatar,.selected-calibrator-avatar{color:var(--brand-primary);background:linear-gradient(135deg,#e65c5c29,#ff9f4329);flex-shrink:0;justify-content:center;align-items:center;font-weight:900;display:flex;overflow:hidden}.calibrator-option-avatar{border-radius:16px;width:52px;height:52px;font-size:1.2rem}.calibrator-option-avatar img,.selected-calibrator-avatar img{object-fit:cover;width:100%;height:100%}.calibrator-option-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.calibrator-option-copy strong{color:var(--text-primary);font-size:.95rem;font-weight:850}.calibrator-option-copy span,.calibrator-option-copy em{color:var(--text-secondary);font-size:.8rem;font-style:normal;line-height:1.45}.calibrator-option-copy small{color:var(--brand-primary);font-size:.72rem;font-weight:850;line-height:1.35}.selected-calibrator-card{text-align:center;background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:24px;flex-direction:column;align-items:center;gap:12px;padding:24px 18px;display:flex}.selected-calibrator-avatar{border-radius:26px;width:88px;height:88px;font-size:2rem}.selected-calibrator-card h2{color:var(--text-primary);font-size:1.35rem;font-weight:850}.calibrator-primary-btn,.calibrator-secondary-btn{border-radius:14px;width:100%;min-height:46px;font-size:.92rem;font-weight:850}.calibrator-primary-btn{color:#fff;background:var(--brand-primary);margin-top:8px}.calibrator-secondary-btn{color:var(--brand-primary);background:#fff;border:1px solid #e65c5c3d}@media (width<=380px),(height<=700px){.match-header{gap:10px;padding:14px 14px 8px}.match-title{font-size:1rem}.swipe-container{max-height:64vh;margin-top:4px}.character-card{border-radius:24px;width:calc(100% - 28px);max-height:470px}.card-content-area{padding:16px}.character-name{font-size:1.28rem}.character-meta{margin-bottom:10px;font-size:.82rem}.character-bio{margin-bottom:14px;font-size:.88rem;line-height:1.45}.tag{padding:5px 9px;font-size:.72rem}.swipe-actions{height:92px;padding-bottom:calc(var(--safe-bottom) + 14px);gap:26px}.swipe-button{width:58px;height:58px}.calibrator-option-card{border-radius:16px;padding:12px}.calibrator-option-avatar{border-radius:14px;width:44px;height:44px}.selected-calibrator-card{border-radius:20px;padding:20px 14px}}.judgment-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0006;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:absolute;inset:0}.judgment-modal{background:var(--bg-card);width:100%;max-width:500px;padding:24px;padding-bottom:calc(var(--safe-bottom) + 20px);border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;gap:20px;margin:0 auto;animation:.3s cubic-bezier(.2,.8,.2,1) slideUp;display:flex;box-shadow:0 -10px 40px #0000001a}@media (width>=600px){.judgment-overlay{align-items:center}.judgment-modal{border-radius:24px;max-height:90vh;margin:20px;padding-bottom:24px;overflow-y:auto}}.judgment-header{justify-content:space-between;align-items:center;display:flex}.judgment-header h3{color:var(--text-primary);font-size:1.2rem;font-weight:800}.close-button{background:var(--bg-surface);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.judgment-content{flex-direction:column;gap:16px;display:flex}.judgment-question{color:var(--text-primary);font-size:1.1rem;font-weight:600;line-height:1.4}.emotion-buttons{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.emotion-button{background:var(--bg-surface);border:2px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:12px;transition:all .2s;display:flex}.emotion-button.selected{border-color:var(--brand-primary);color:var(--brand-primary);background:#fff0f0}.emotion-emoji{font-size:1.5rem}.emotion-label-text{font-size:.75rem;font-weight:700}.judgment-input-section label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.8rem;font-weight:700;display:block}.judgment-input{background:0 0;border:0;border-bottom:1px solid #2d34362e;border-radius:0;width:100%;padding:12px 2px;font-size:16px;transition:all .2s}.judgment-input:focus{border-bottom-color:var(--brand-primary);box-shadow:none;background:0 0}.judgment-actions{gap:12px;margin-top:10px;display:flex}.judgment-button{border-radius:16px;flex:1;padding:16px;font-size:1rem;font-weight:700;transition:transform .1s}.judgment-button:active{transform:scale(.98)}.judgment-button.skip{background:var(--bg-surface);color:var(--text-secondary)}.judgment-button.save{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-md)}.chat-interface{background-color:var(--bg-surface);flex-direction:column;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.chat-header{-webkit-backdrop-filter:saturate(180%)blur(20px);padding:calc(max(var(--safe-top), 20px) + 8px) 16px 12px;z-index:100;background:#ffffffd9;border-bottom:1px solid #0000000f;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;top:0}.chat-header .back-button{width:40px;height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;transition:all .2s;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.chat-header .header-action-btn{width:36px;height:36px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.chat-header .header-action-btn:hover,.chat-header .back-button:hover{background:#0000000a}.chat-header .back-button:active{background:#00000014;transform:scale(.95)}.chat-user-profile{flex-direction:column;justify-content:center;align-items:center;display:flex}.chat-name{color:var(--text-primary);font-size:1.05rem;font-weight:700;line-height:1.2}.chat-status{align-items:center;gap:5px;margin-top:2px;font-size:.72rem;font-weight:600;transition:color .3s;display:flex}.chat-status:before{content:"";background-color:currentColor;border-radius:50%;width:6px;height:6px;transition:background-color .3s;display:block}.chat-status.status-online{color:#00b894}.chat-status.status-online:before{animation:2s infinite pulse}.chat-status.status-typing{color:#00b894}.chat-status.status-typing:before{animation:1s infinite pulse}.chat-status.status-away{color:#b2bec3}.chat-status.status-away:before{opacity:.6;animation:none}.chat-status.status-talking{color:#6c5ce7}.chat-status.status-talking:before{background:#6c5ce7;animation:.8s infinite pulse}.chat-messages{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:20px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;gap:16px;display:flex;overflow:hidden auto}.date-divider{text-align:center;color:var(--text-tertiary);text-transform:capitalize;letter-spacing:.5px;margin:20px 0 12px;padding:0 16px;font-size:.75rem;font-weight:600;position:relative}.date-divider:before,.date-divider:after{content:"";background:var(--border-subtle);width:30%;height:1px;position:absolute;top:50%}.date-divider:before{left:0}.date-divider:after{right:0}.message{flex-direction:column;max-width:80%;display:flex;position:relative}.message-content{box-shadow:var(--shadow-sm);word-wrap:break-word;border-radius:20px;padding:12px 18px;font-size:1rem;line-height:1.5;position:relative}.character-message{align-self:flex-start}.character-message .message-content{color:var(--text-primary);background:#fff;border-bottom-left-radius:4px;box-shadow:0 1px 2px #0000000f}.user-message{align-self:flex-end}.user-message .message-content{background:var(--brand-primary);color:var(--text-on-primary);box-shadow:var(--shadow-md);border-bottom-right-radius:4px}.message-meta{align-items:center;gap:4px;margin-top:4px;padding:0 4px;display:flex}.message-meta.justify-end{justify-content:flex-end}.message-time{color:var(--text-tertiary);font-size:.7rem}.read-receipt{color:var(--text-tertiary);font-size:.7rem;font-weight:600}.read-receipt.read{color:var(--brand-primary)}.narrative-message{max-width:88%;animation:narrativeSlideIn .4s var(--ease-smooth);align-self:center;margin:10px auto}@keyframes narrativeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.narrative-content{background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;gap:6px;padding:10px 14px 8px;display:flex}.narrative-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:2px;font-size:.65rem;font-weight:700;display:block}.narrative-text{color:var(--text-secondary);font-size:.875rem;font-style:italic;font-weight:500;line-height:1.5}.narrative-time{color:var(--text-tertiary);align-self:flex-end;font-size:.65rem;font-style:normal}.system-message{align-self:center;max-width:85%;margin:12px auto}.system-content{color:var(--text-secondary);text-align:center;background:#0000000a;border-radius:16px;padding:10px 16px;font-size:.85rem;line-height:1.4}.typing-bubble{background:var(--bg-card);width:fit-content;box-shadow:var(--shadow-sm);border-radius:20px 20px 20px 4px;gap:4px;padding:14px 18px;display:inline-flex}.typing-dot{background:#b2bec3;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both typingBounce}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.chat-input-area{background:var(--bg-card);padding:12px 16px calc(var(--safe-bottom) + 12px);border-top:1px solid var(--border-subtle);flex-shrink:0;align-items:flex-end;gap:12px;display:flex;box-shadow:0 -4px 20px #00000005}.input-wrapper{background:var(--bg-surface);border:1px solid #0000;border-radius:24px;flex:1;align-items:center;min-height:48px;padding:8px 16px;transition:all .2s;display:flex}.input-wrapper:focus-within{border-color:var(--brand-primary);background:#fff;box-shadow:0 0 0 3px #e65c5c1a}.chat-input{resize:none;background:0 0;border:none;outline:none;width:100%;max-height:100px;padding:4px 0;font-size:1rem;line-height:1.4}.action-button{width:48px;height:48px;transition:all .2s var(--ease-spring);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.thought-btn{color:#636e72;background:#f0f3f4}.topic-btn{color:#4caf50;background:#e8f5e9}.send-btn{background:var(--brand-primary);color:#fff;opacity:.5;transform:scale(.9)}.send-btn.active{opacity:1;box-shadow:var(--shadow-sm);transform:scale(1)}.character-profile-modal{border:1px solid #e9ecef;flex-direction:column;max-height:88vh;display:flex;position:relative;overflow:hidden;background:#fff!important;border-radius:20px!important;width:90%!important;max-width:400px!important;padding:0!important;box-shadow:0 10px 30px #00000026!important}.character-profile-modal .close-modal{color:#2d3436;cursor:pointer;z-index:10;background:#f8f9fa;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:16px;right:16px;box-shadow:0 2px 8px #00000014}.character-profile-modal .close-modal:hover{background:#e9ecef;transform:scale(1.1)}.character-profile-modal .close-modal:active{transform:scale(.95)}.character-full-profile{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.profile-header-visual{display:none}.profile-main-info{text-align:center;z-index:2;padding:32px 24px 20px;position:relative}.profile-avatar-large{color:#2d3436;background:#f8f9fa;border:3px solid #e9ecef;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 14px;font-size:3rem;font-weight:800;display:flex;box-shadow:0 4px 12px #00000014}.profile-name{color:#2d3436;letter-spacing:-.3px;margin-bottom:6px;font-size:1.5rem;font-weight:700}.profile-occ{color:#6c757d;text-transform:uppercase;letter-spacing:.8px;background:#f8f9fa;border-radius:16px;padding:5px 14px;font-size:.8rem;font-weight:600;display:inline-block}.profile-details-section{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex}.detail-item{flex-direction:column;display:flex}.detail-item label{color:#6c757d;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:10px;font-size:.7rem;font-weight:700}.profile-bio-text{color:#2d3436;background:#f8f9fa;border-left:3px solid #2d3436;border-radius:12px;margin:0;padding:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-style:normal;line-height:1.65}.profile-tags{flex-wrap:wrap;gap:8px;display:flex}.profile-tag{color:#495057;background:#e9ecef;border-radius:10px;padding:7px 14px;font-size:.85rem;font-weight:600}.profile-meta-row{gap:12px;display:flex}.post-calibration-panel{background:linear-gradient(135deg,#fffffff5,#f5f7fff5);border:1px solid #6c5ce72e;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:10px 14px 0;padding:14px;display:flex;box-shadow:0 8px 24px #2d343614}.post-calibration-panel strong{color:var(--text-primary);margin-bottom:4px;font-size:.95rem;display:block}.post-calibration-panel p{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.45}.post-calibration-panel.explore{background:linear-gradient(135deg,#fffffff5,#effffaf5);border-color:#00b89438}.post-calibration-panel.ended{background:#fff;border-color:#b2bec359}.post-calibration-actions{flex-shrink:0;gap:8px;display:flex}.post-calibration-panel button{border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;padding:9px 12px;font-size:.82rem;font-weight:700}.post-calibration-panel button.primary{background:var(--brand-primary);color:#fff;border-color:#0000}.chat-input:disabled,.action-button:disabled{opacity:.55;cursor:not-allowed}@media (width<=520px){.post-calibration-panel{flex-direction:column;align-items:stretch}.post-calibration-actions{width:100%}.post-calibration-panel button{flex:1}}.meta-pill{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:14px;display:flex}.meta-pill .meta-val{color:#2d3436;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1rem;font-weight:700;overflow:hidden}.meta-pill .meta-label{color:#6c757d;text-transform:uppercase;font-size:.65rem;font-weight:600}.modal-actions{background:#fff;border-top:1px solid #0000000a;flex-shrink:0;padding:16px 24px 20px}.modal-btn.save{color:#fff;cursor:pointer;background:#2d3436;border:none;border-radius:12px;width:100%;padding:14px;font-size:.95rem;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #0000001f}.modal-btn.save:active{transform:scale(.97);box-shadow:0 1px 4px #0000001a}.progress-hint-banner{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:16px;animation:.3s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hint-content{flex-direction:column;gap:8px;display:flex}.hint-label{text-transform:uppercase;letter-spacing:1px;opacity:.9;font-size:.75rem;font-weight:600}.hint-bars{flex-direction:column;gap:6px;display:flex}.hint-bar{align-items:center;gap:8px;display:flex}.bar-label{min-width:32px;font-size:.8rem;font-weight:600}.bar-track{background:#fff3;border-radius:4px;flex:1;height:8px;overflow:hidden}.bar-fill{background:#fff;border-radius:4px;height:100%;transition:width .5s}.hint-tip{opacity:.95;margin:4px 0 0;font-size:.85rem;font-weight:500}.topic-suggestions-panel{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:#fff;animation:.3s ease-out slideUp}.suggestions-header{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;font-weight:600;display:flex}.suggestions-header button{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex}.suggestions-header button:hover{background:#0000000d}.suggestions-list{flex-direction:column;gap:8px;max-height:200px;padding:12px;display:flex;overflow-y:auto}.suggestion-item{color:var(--text-primary);cursor:pointer;text-align:left;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:10px 14px;font-size:.9rem;font-weight:500;transition:all .2s}.suggestion-item:hover{border-color:var(--brand-primary);background:#e9ecef;transform:translate(4px)}.suggestion-item:active{transform:scale(.98)translate(4px)}@media (width<=380px),(height<=700px){.chat-header{padding:calc(max(var(--safe-top), 16px) + 6px) 12px 10px}.chat-name{text-overflow:ellipsis;white-space:nowrap;max-width:170px;font-size:.96rem;overflow:hidden}.chat-status{font-size:.66rem}.chat-messages{gap:12px;padding:14px 12px}.message{max-width:88%}.message-content{border-radius:18px;padding:10px 14px;font-size:.94rem}.chat-input-area{padding:10px 10px calc(var(--safe-bottom) + 10px);gap:8px}.input-wrapper{border-radius:20px;min-height:44px;padding:7px 12px}.chat-input{font-size:16px}.profile-name{font-size:1.4rem}.profile-details-section{gap:20px;padding:20px}.action-button{width:40px;height:40px;font-size:1rem}.suggestions-panel{left:10px;right:10px;bottom:calc(74px + var(--safe-bottom))}}.analysis-screen{background:var(--bg-app);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-height:0;display:block;overflow:hidden auto}.analysis-header{color:#fff;padding:calc(max(var(--safe-top), 24px) + 20px) 1.5rem 2.5rem;background:linear-gradient(135deg,#e65c5c 0%,#ff9f43 100%);position:relative;overflow:hidden}.analysis-title{margin-top:40px;margin-bottom:.5rem;font-size:clamp(1.4rem,6vw,1.8rem);font-weight:800}.analysis-subtitle{opacity:.9;font-size:.9rem}.analysis-content{padding:clamp(1rem,4vw,1.5rem);padding-bottom:calc(var(--safe-bottom) + 60px)}.analysis-card{background:var(--bg-card);box-shadow:var(--shadow-sm);border-radius:24px;margin-bottom:20px;padding:24px}.card-header{align-items:center;gap:10px;margin-bottom:20px;display:flex}.card-title{font-size:1.1rem;font-weight:700}.user-traits-hook{text-align:center}.trait-summary{color:#666;margin-bottom:15px;font-size:14px}.keyword-tags{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:15px;display:flex}.keyword-tag.highlight{max-width:100%;color:var(--brand-primary);border:1px solid var(--brand-primary);white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;filter:none;background:#e65c5c1a;border-radius:20px;padding:8px 16px;font-weight:700;line-height:1.35;overflow:visible}.keyword-tag.placeholder{background:var(--bg-surface);color:var(--text-muted,#888);border:1px dashed #00000026;border-radius:20px;padding:8px 16px;font-weight:500}.ai-insights-section.locked-section{min-height:300px;position:relative}.insight-lock-overlay{text-align:center;padding:40px 20px}.lock-content{background:var(--bg-card);box-shadow:var(--shadow-md);border-radius:24px;margin-bottom:20px;padding:30px}.payment-note{color:#ff6b6b;margin-top:12px;margin-bottom:0;font-size:.85rem;font-weight:500}.demo-badge{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:12px;margin-top:12px;margin-bottom:0;padding:8px 16px;font-size:.9rem;font-weight:600;display:inline-block}.unlock-now-button{background:var(--brand-primary);color:#fff;cursor:pointer;border:none;border-radius:30px;margin-top:15px;padding:14px 28px;font-weight:700}.report-full p{color:#333;text-align:justify;margin-bottom:1.5em;line-height:1.8}.report-note{background:#f8f9fa;border-left:4px solid #e65c5c;border-radius:8px;align-items:flex-start;gap:12px;margin-top:30px;padding:16px 20px;display:flex}.note-icon{flex-shrink:0;font-size:1.3rem}.note-text{color:#555;margin:0;font-size:.9rem;line-height:1.6}.report-feedback{text-align:center;border-top:1px solid #eee;margin-top:28px;padding-top:20px}.report-feedback-label{color:#555;margin:0 0 14px;font-size:.95rem}.report-feedback-buttons{justify-content:center;gap:20px;display:flex}.report-feedback-btn{cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:50%;width:52px;height:52px;padding:0;font-size:1.6rem;transition:border-color .2s,background .2s,transform .15s}.report-feedback-btn:hover{border-color:var(--brand-primary);background:#e65c5c0f}.report-feedback-btn:active{transform:scale(.95)}.report-feedback-up:hover,.report-feedback-up:focus-visible{background:#38a16914;border-color:#38a169}.report-feedback-down:hover,.report-feedback-down:focus-visible{background:#e53e3e14;border-color:#e53e3e}.report-feedback-thanks{color:var(--brand-primary);margin:0;font-size:.95rem;font-weight:600}.loading-dots{justify-content:center;gap:5px;margin-bottom:10px;display:flex}.loading-dots span{background:#e65c5c;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}.access-status-card{border:2px solid var(--brand-primary);background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)}.access-status-content{flex-direction:column;gap:20px;display:flex}.views-status{flex-direction:column;gap:12px;display:flex}.status-item{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:12px;display:flex}.status-item.highlight{border:1px solid var(--brand-primary);background:#e65c5c1a}.status-label{color:var(--text-secondary);font-size:14px;font-weight:600}.status-value{color:var(--brand-primary);font-size:16px;font-weight:800}.report-header-info{border-bottom:1px solid var(--bg-surface);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.views-badge{color:var(--brand-primary);background:#e65c5c1a;border-radius:12px;padding:6px 12px;font-size:12px;font-weight:700}.profile-screen{background:linear-gradient(180deg, #ffffff75, #fdfbf700 34%), var(--bg-app);flex-direction:column;height:auto;min-height:0;display:flex;position:relative;overflow:hidden}.profile-scroll-container{padding:calc(max(var(--safe-top), 24px) + 20px) 20px calc(var(--safe-bottom) + 30px);flex:none;overflow:visible}.profile-header-card{text-align:center;box-shadow:var(--shadow-card);background:linear-gradient(#ffffffeb,#ffffffb8),linear-gradient(135deg,#e65c5c17,#ff9f430f);border:1px solid #e65c5c1a;border-radius:32px;flex-direction:column;align-items:center;margin-bottom:24px;padding:32px 24px;display:flex;position:relative;overflow:hidden}.profile-header-card:after{content:"";background:linear-gradient(90deg, var(--brand-primary), var(--brand-accent));opacity:.78;border-radius:999px 999px 0 0;height:3px;position:absolute;inset:auto 28px 0}.profile-avatar-wrapper{margin-bottom:20px;position:relative}.profile-avatar-large{background:linear-gradient(135deg, #ffffff9e, #ffffff2e), var(--bg-surface);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;font-size:3.5rem;display:flex;box-shadow:0 14px 32px #2d34361f}.edit-avatar-btn{background:linear-gradient(135deg, var(--brand-primary), var(--brand-accent));color:#fff;width:32px;height:32px;box-shadow:var(--shadow-button);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex;position:absolute;bottom:0;right:0}.profile-display-name{color:var(--text-primary);letter-spacing:0;margin-bottom:6px;font-size:1.6rem;font-weight:800}.profile-display-bio{color:var(--text-secondary);max-width:80%;font-size:.95rem;font-weight:500;line-height:1.5}.profile-match-basics{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;margin-top:16px;display:flex}.profile-match-basics span{max-width:100%;color:var(--brand-primary);white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;filter:none;background:#e65c5c1a;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:800;line-height:1.35;overflow:visible}.profile-stats-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px;display:grid}.stat-card{box-shadow:var(--shadow-sm);transition:transform var(--motion-fast), box-shadow var(--motion-fast);background:#ffffffd6;border:1px solid #2d34360e;border-radius:24px;flex-direction:column;align-items:center;padding:20px;display:flex}.stat-card:active{box-shadow:var(--shadow-card);transform:translateY(1px)scale(.99)}.stat-value{color:var(--brand-primary);margin-bottom:4px;font-size:1.4rem;font-weight:800}.stat-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:700}.settings-section{margin-bottom:32px}.section-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;margin-left:12px;font-size:.85rem;font-weight:800}.settings-list{box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);background:#ffffffdb;border:1px solid #2d34360e;border-radius:24px;overflow:hidden}.setting-item{border-bottom:1px solid var(--border-subtle);transition:background var(--motion-fast), transform var(--motion-fast);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}button.setting-item{text-align:left;background:0 0;border-top:0;border-left:0;border-right:0;width:100%;font-family:inherit}.setting-item:last-child{border-bottom:none}.setting-item:active{background:var(--bg-surface);transform:scale(.995)}.setting-info{align-items:center;gap:14px;display:flex}.setting-icon{background:linear-gradient(135deg,#e65c5c1a,#ff9f4314);border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;display:flex}.setting-label{color:var(--text-primary);font-size:1rem;font-weight:600}.setting-label strong,.setting-label small{display:block}.setting-label small{color:var(--text-secondary);text-transform:none;letter-spacing:0;margin-top:3px;font-size:.76rem;font-weight:650;line-height:1.35}.matching-pool-setting{gap:14px}.profile-setting-note{color:var(--brand-primary);margin:10px 12px 0;font-size:.78rem;font-weight:750;line-height:1.45}.privacy-info-card{box-shadow:var(--shadow-sm);background:#ffffffdb;border:1px solid #2d34360e;border-radius:24px;padding:4px 16px}.privacy-info-row{border-bottom:1px solid var(--border-subtle);padding:14px 0}.privacy-info-row:last-child{border-bottom:0}.privacy-info-row span{color:var(--text-primary);margin-bottom:4px;font-size:.88rem;font-weight:900;line-height:1.3;display:block}.privacy-info-row p{color:var(--text-secondary);font-size:.78rem;font-weight:650;line-height:1.48}.profile-post-space{flex-direction:column;gap:14px;display:flex}.profile-post-panel{background:linear-gradient(180deg, #ffffffe6, #ffffffc2), var(--bg-card);box-shadow:var(--shadow-sm);border:1px solid #2d34360e;border-radius:24px;padding:18px;position:relative;overflow:hidden}.profile-post-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.profile-post-heading strong,.profile-post-heading span,.profile-post-heading small{display:block}.profile-post-heading strong{color:var(--text-primary);font-size:.96rem;font-weight:900;line-height:1.25}.profile-post-heading span{color:var(--text-secondary);margin-top:4px;font-size:.78rem;font-weight:650;line-height:1.45}.profile-post-heading small{color:var(--brand-primary);white-space:nowrap;background:linear-gradient(135deg,#e65c5c1c,#ff9f4314);border-radius:999px;flex-shrink:0;padding:5px 8px;font-size:.7rem;font-weight:850}.profile-post-composer{flex-direction:column;gap:9px;display:flex}.profile-post-composer textarea{resize:vertical;width:100%;min-height:84px;color:var(--text-primary);background:0 0;border:0;border-bottom:1px solid #2d34362e;border-radius:0;padding:10px 2px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.5}.profile-post-composer button{background:linear-gradient(135deg, var(--brand-primary-dark), var(--brand-primary) 58%, var(--brand-accent));min-height:44px;color:var(--text-on-primary);box-shadow:var(--shadow-button);border-radius:15px;font-size:.86rem;font-weight:850}.profile-post-message{color:var(--brand-primary);margin-top:10px;font-size:.78rem;font-weight:800;line-height:1.45}.profile-post-list{background:#f4f1eab8;border-radius:16px;flex-direction:column;gap:8px;max-height:260px;margin-top:12px;padding:10px;display:flex;overflow-y:auto}.profile-post-card{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle);white-space:pre-wrap;transition:transform var(--motion-fast), box-shadow var(--motion-fast);border-radius:14px;padding:11px 12px;font-size:.84rem;font-weight:650;line-height:1.55;box-shadow:0 6px 18px #2d34360b}.profile-post-card:active{box-shadow:var(--shadow-card);transform:translateY(1px)scale(.995)}.profile-post-empty{color:var(--text-tertiary);font-size:.8rem;line-height:1.45}.profile-post-tabs{scrollbar-width:none;gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.profile-post-tabs::-webkit-scrollbar{display:none}.profile-post-tabs button{background:var(--bg-surface);min-height:40px;color:var(--text-secondary);border:1px solid var(--border-subtle);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:.78rem;font-weight:850;display:inline-flex}.profile-post-tabs button.active{color:var(--brand-primary);background:linear-gradient(135deg,#e65c5c1c,#ff9f4314);border-color:#e65c5c5c}.profile-post-tabs button span{width:24px;height:24px;color:var(--brand-primary);background:linear-gradient(135deg,#e65c5c29,#ff9f4329);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.setting-arrow{color:var(--text-tertiary);font-weight:700}.toggle-switch{background:#dfe6e9;border-radius:12px;width:44px;height:24px;transition:all .3s;position:relative}.toggle-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000001a}.toggle-switch.active{background:linear-gradient(135deg,#00b894,#55efc4);box-shadow:0 8px 18px #00b89438}.toggle-switch.active:after{left:22px}.logout-area{text-align:center;margin-top:10px}.logout-btn{color:#ff7675;background:#fff;border:1px solid #fab1a0;border-radius:20px;width:100%;margin-bottom:16px;padding:18px;font-size:1rem;font-weight:700}.version-text{color:var(--text-tertiary);font-size:.75rem;font-weight:500}.edit-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.edit-modal{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;width:100%;max-width:500px;max-height:85vh;padding:32px 24px calc(var(--safe-bottom) + 24px);background:#fff;border-top-left-radius:32px;border-top-right-radius:32px;margin:0 auto;animation:.3s cubic-bezier(.2,.8,.2,1) slideUp;overflow-y:auto}@media (width>=600px){.edit-modal-overlay{align-items:center}.edit-modal{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;border-radius:32px;max-height:90vh;margin:20px;padding-bottom:32px;overflow-y:auto}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h3{font-size:1.3rem;font-weight:800}.close-modal{background:var(--bg-surface);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar-selection{margin-bottom:24px}.avatar-selection label{color:var(--text-tertiary);text-transform:uppercase;margin-bottom:12px;font-size:.85rem;font-weight:800;display:block}.avatar-grid{scrollbar-width:none;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.avatar-grid::-webkit-scrollbar{display:none}.avatar-option{background:var(--bg-surface);border:2px solid #0000;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.8rem;transition:all .2s;display:flex}.avatar-option.selected{border-color:var(--brand-primary);box-shadow:var(--shadow-sm);background:#fff;transform:scale(1.1)}.input-group{margin-bottom:24px}.input-group label{color:var(--text-tertiary);text-transform:uppercase;margin-bottom:8px;font-size:.85rem;font-weight:800;display:block}.input-group input,.input-group textarea{width:100%;color:var(--text-primary);background:0 0;border:0;border-bottom:1px solid #2d34362e;border-radius:0;padding:12px 2px;font-family:inherit;font-size:16px;font-weight:600}.input-group input:focus,.input-group textarea:focus{border-bottom-color:var(--brand-primary);background:0 0}.profile-segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.profile-segmented button{min-height:46px;color:var(--text-primary);background:#fff;border:1px solid #2d343614;border-radius:14px;font-size:.95rem;font-weight:800}.profile-segmented button.selected{color:var(--brand-primary);background:#fff;border-color:#e65c5c73;box-shadow:inset 0 -3px #e65c5c38}.modal-actions{gap:12px;margin-top:8px;display:flex}.modal-btn{border-radius:18px;flex:1;padding:16px;font-size:1rem;font-weight:700}.modal-btn.cancel{background:var(--bg-surface);color:var(--text-secondary)}.modal-btn.save{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-floating)}.test-modal{flex-direction:column;min-height:400px;display:flex}.test-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.test-question{color:var(--text-primary);margin-bottom:32px;font-size:1.2rem;font-weight:700;line-height:1.6}.test-options{flex-direction:column;gap:12px;width:100%;display:flex}.test-option-btn{background:var(--bg-surface);width:100%;color:var(--text-primary);border:1px solid #0000;border-radius:16px;padding:16px;font-size:1rem;font-weight:600;transition:all .2s}.test-option-btn:active{border-color:var(--brand-primary);color:var(--brand-primary);background:#fff;transform:scale(.98)}@media (width<=380px),(height<=700px){.profile-scroll-container{padding:calc(max(var(--safe-top), 18px) + 10px) 14px calc(var(--safe-bottom) + 22px)}.profile-header-card{border-radius:24px;margin-bottom:18px;padding:24px 18px}.profile-avatar-large{width:82px;height:82px;font-size:2.85rem}.profile-display-name{font-size:1.35rem}.profile-display-bio{max-width:100%;font-size:.86rem}.profile-stats-grid{gap:10px;margin-bottom:24px}.stat-card{border-radius:18px;padding:16px 12px}.stat-value{text-align:center;font-size:1.05rem;line-height:1.25}.settings-section{margin-bottom:24px}.settings-list,.profile-post-panel{border-radius:18px}.setting-item{gap:10px;padding:15px 14px}.setting-info{gap:10px;min-width:0}.setting-label{min-width:0;font-size:.9rem}.setting-label small{font-size:.72rem}.profile-post-panel{padding:15px}.profile-post-heading{flex-direction:column;gap:8px}.profile-post-heading small{align-self:flex-start}.profile-post-tabs{margin-right:-4px}.profile-post-composer textarea{min-height:78px;font-size:.84rem}.edit-modal{padding:24px 18px calc(var(--safe-bottom) + 18px);border-top-left-radius:24px;border-top-right-radius:24px}.avatar-option{border-radius:14px;width:50px;height:50px;font-size:1.55rem}.modal-actions{flex-direction:column-reverse}}.post-space-screen{min-height:100%;padding:calc(var(--safe-top) + 12px) 16px calc(var(--safe-bottom) + 28px);background:linear-gradient(180deg, #ffffffb3, #fdfbf700 34%), var(--bg-app);-webkit-overflow-scrolling:touch;overflow:hidden auto}.post-space-header{align-items:center;gap:10px;max-width:520px;margin:0 auto 10px;display:flex}.post-space-back{width:34px;height:34px;color:var(--text-primary);box-shadow:var(--shadow-sm);background:#ffffffe6;border:1px solid #2d343612;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:inline-flex}.post-space-header h1{color:var(--text-primary);font-size:1.28rem;font-weight:950;line-height:1.2}.post-space-header p,.post-space-heading span,.post-empty-state,.post-feed-card p,.post-feed-card time{color:var(--text-secondary);font-size:.82rem;line-height:1.55}.post-space-panel{max-width:520px;margin:0 auto 14px}.post-privacy-strip{scrollbar-width:none;gap:7px;max-width:520px;margin:0 auto 12px;display:flex;overflow-x:auto}.post-privacy-strip::-webkit-scrollbar{display:none}.post-privacy-strip span{min-height:28px;color:var(--text-secondary);background:#ffffffb8;border:1px solid #2d34360f;border-radius:999px;flex-shrink:0;align-items:center;padding:0 10px;font-size:.72rem;font-weight:850;display:inline-flex}.post-space-panel{box-shadow:var(--shadow-sm);background:#ffffffe6;border:1px solid #2d34360f;border-radius:20px;padding:16px}.post-space-panel:not(.composer-panel){background:#ffffffb8}.post-space-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.post-space-heading strong,.post-space-heading span,.post-space-heading small{display:block}.post-space-heading strong{color:var(--text-primary);font-size:.96rem;font-weight:950;line-height:1.28}.post-space-heading small{color:var(--brand-primary);flex-shrink:0;font-size:.72rem;font-weight:850}.composer-panel textarea{resize:vertical;width:100%;min-height:96px;color:var(--text-primary);background:0 0;border:0;border-bottom:1px solid #2d34362e;border-radius:0;padding:10px 0;font-family:inherit;font-size:16px;font-weight:700;line-height:1.55}.composer-panel textarea:focus{border-bottom-color:var(--brand-primary)}.post-submit-btn{background:linear-gradient(135deg, #ff4f5e 0%, var(--brand-primary) 58%, #ff7a59 100%);color:#fff;width:100%;min-height:46px;box-shadow:var(--shadow-button);border-radius:16px;margin-top:12px;font-size:.92rem;font-weight:900}.post-submit-btn:disabled{opacity:.45;box-shadow:none}.post-space-message{color:var(--brand-primary);margin-top:10px;font-size:.78rem;font-weight:800;line-height:1.45}.post-feed-list{flex-direction:column;display:flex}.post-feed-card{border-bottom:1px solid #2d343614;padding:14px 0;display:block}.post-feed-card:last-child{border-bottom:0;padding-bottom:0}.own-post-card{padding:15px 0;display:block}.post-feed-card strong{color:var(--text-primary);font-size:.88rem;font-weight:900}.post-feed-card p{color:var(--text-primary);white-space:pre-wrap;margin-top:4px;font-size:.94rem;font-weight:650;line-height:1.68}.own-post-card p{margin-top:0}.post-feed-card time{color:#2d34367a;margin-top:8px;font-size:.74rem;font-weight:750;display:block}.post-meta-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.post-meta-row time{flex-shrink:0;margin-top:0}.post-match-tabs{flex-direction:column;gap:4px;display:flex}.post-match-tabs button{text-align:left;border-bottom:1px solid #2d343614;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:54px;padding:12px 0;display:flex}.post-match-tabs button:last-child{border-bottom:0}.post-match-name{color:var(--text-primary);font-size:.92rem;font-weight:900}.post-match-tabs button small{color:var(--text-secondary);font-size:.76rem;font-weight:760}.matched-space-detail{margin-top:12px}.matched-post-card p{margin-top:8px}.post-empty-state{padding:12px 0;display:block}@media (width<=380px),(height<=700px){.post-space-screen{padding-left:12px;padding-right:12px}.post-space-panel,.composer-panel{border-radius:18px;padding:15px}}.analysis-screen .input-group select{width:100%;color:var(--text-primary,#1f1f1f);background:#fff;border:1px solid #0000001f;border-radius:12px;padding:12px 14px;font-size:14px}.analysis-screen .conversation-item .item-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.analysis-screen .conversation-item .item-status-indicator{font-size:14px}.coach-header{color:#fff;box-shadow:var(--shadow-card);background:linear-gradient(135deg,#b83f56f5 0%,#e65c5cf5 54%,#ff8c52f5 100%);position:relative;overflow:hidden}.coach-header:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff2e,#0000);height:42%;position:absolute;inset:1px 1px auto}.coach-header .analysis-title,.coach-header .analysis-subtitle{color:#fff}.coach-header .analysis-subtitle{opacity:.92}.coach-locked-card{text-align:center;background:linear-gradient(180deg, #ffffffeb, #ffffffc7), var(--bg-card);box-shadow:var(--shadow-card);border:1px solid #2d34360e;padding:30px 22px}.coach-orb{background:linear-gradient(135deg, var(--brand-primary-dark), var(--brand-primary), var(--brand-accent));width:64px;height:64px;color:var(--text-on-primary);box-shadow:var(--shadow-floating);border-radius:22px;justify-content:center;align-items:center;margin-bottom:16px;font-size:1.4rem;font-weight:950;display:inline-flex}.coach-locked-card h3{color:var(--text-primary);margin-bottom:8px;font-size:1.08rem;font-weight:900}.coach-locked-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.65}.coach-feedback-purpose{color:var(--text-secondary);background:linear-gradient(135deg,#e65c5c14,#ff9f430f);border:1px solid #e65c5c14;border-radius:14px;margin-bottom:18px;padding:12px 14px;font-size:.82rem;font-weight:650;line-height:1.55}.real-match-chat{background:linear-gradient(180deg, #fffffff5, #f8f7f4eb), var(--bg-surface)}.real-match-chat .chat-header{border-bottom-color:#2d343612}.real-match-context{color:var(--text-primary);background:#4a9a781a;border:1px solid #4a9a7824;border-radius:18px;flex-shrink:0;margin:12px 16px 0;padding:12px 14px}.real-match-context strong,.real-match-context span{display:block}.real-match-context strong{font-size:.86rem;font-weight:900}.real-match-context span{color:var(--text-secondary);margin-top:4px;font-size:.78rem;line-height:1.45}.real-match-messages{padding-top:14px}.real-empty-chat{text-align:center;width:min(100%,320px);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #2d34360f;border-radius:22px;align-self:center;margin:auto 0;padding:18px}.real-empty-chat strong,.real-empty-chat span{display:block}.real-empty-chat strong{color:var(--text-primary);font-size:.98rem;font-weight:900}.real-empty-chat span{color:var(--text-secondary);margin-top:8px;font-size:.84rem;line-height:1.55}.real-match-chat .system-content.error{color:var(--brand-primary);background:#e65c5c14}.real-match-input-area{background:#ffffffeb}.real-match-chat .input-wrapper:focus-within{background:#fff;border-color:#11141629;box-shadow:0 0 0 3px #1114160f}.real-chats-screen{background:var(--bg-app);min-height:100%;padding:18px 16px 96px}.real-chats-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.real-chats-header h1{color:var(--text-primary);font-size:1.78rem;font-weight:950;line-height:1.08}.real-chats-header p{color:var(--text-secondary);margin-top:6px;font-size:.84rem;line-height:1.45}.real-chats-header button,.real-chats-empty button{background:var(--text-primary);color:#fff;border-radius:13px;flex-shrink:0;min-height:38px;padding:0 13px;font-size:.78rem;font-weight:900}.real-chats-header button:disabled{opacity:.55}.real-chats-error{color:var(--brand-primary);background:#e65c5c14;border-radius:15px;margin-bottom:12px;padding:11px 12px;font-size:.8rem;font-weight:850;line-height:1.45}.real-chat-list{flex-direction:column;gap:4px;display:flex}.real-chat-row{text-align:left;width:100%;transition:background var(--motion-fast), transform var(--motion-fast);border-radius:16px;align-items:center;padding:13px 2px;display:flex}.real-chat-row:active{background:#ffffffa3;transform:scale(.995)}.real-chat-content{border-bottom:1px solid #2d343612;flex:1;min-width:0;padding-bottom:12px;display:block}.real-chat-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.real-chat-top strong{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:900;overflow:hidden}.real-chat-top small{color:var(--text-tertiary);flex-shrink:0;font-size:.72rem;font-weight:750}.real-chat-preview,.real-chat-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-top:4px;display:block;overflow:hidden}.real-chat-preview{color:var(--text-secondary);font-size:.86rem;line-height:1.35}.real-chat-meta{color:var(--text-tertiary);font-size:.72rem;font-weight:780}.real-chats-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:58vh;padding:24px;display:flex}.real-chats-empty strong,.real-chats-empty span{display:block}.real-chats-empty strong{color:var(--text-primary);font-size:1rem;font-weight:950}.real-chats-empty span{max-width:290px;color:var(--text-secondary);margin-top:8px;font-size:.84rem;line-height:1.55}.empty-chat-steps{gap:7px;width:min(100%,310px);margin-top:16px;display:grid}.empty-chat-steps small{color:var(--text-secondary);background:#ffffffb8;border:1px solid #2d34360e;border-radius:13px;padding:9px 11px;font-size:.76rem;font-weight:820;line-height:1.35;display:block}.real-chats-empty button{margin-top:16px}@media (width<=380px),(height<=700px){.real-chats-screen{padding:14px 12px 88px}.real-chats-header h1{font-size:1.52rem}.real-chat-row{padding:11px 2px}}.match-recommendations-page{background:linear-gradient(180deg, #ffffffb8, #fdfbf700 34%), var(--bg-app);min-height:100vh;padding:18px 16px 34px;overflow-x:hidden}.recommendations-header,.recommendations-summary-panel,.recommendations-list-section{max-width:500px;margin:0 auto 16px}.recommendations-header{padding-top:max(2px, env(safe-area-inset-top));align-items:center;gap:12px;display:flex}.recommendations-back{width:42px;height:42px;color:var(--text-primary);box-shadow:var(--shadow-sm);background:#ffffffd6;border:1px solid #2d343614;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:900;display:inline-flex}.recommendations-header span{color:var(--brand-primary);font-size:.74rem;font-weight:900}.recommendations-header h1{color:var(--text-primary);margin-top:2px;font-size:1.26rem;font-weight:950;line-height:1.2}.recommendations-summary-panel{box-shadow:var(--shadow-card);background:linear-gradient(145deg,#fffffff0,#ffffffb8),radial-gradient(circle at 90% 0,#4a9a781f,#0000 32%);border:1px solid #2d34360f;border-radius:24px;padding:18px}.recommendations-summary-copy h2{color:var(--text-primary);font-size:1.02rem;font-weight:950}.recommendations-summary-copy p{color:var(--text-secondary);margin-top:8px;font-size:.84rem;line-height:1.58}.recommendations-stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.recommendations-stats div{background:#f4f1eabd;border:1px solid #2d34360b;border-radius:18px;min-height:72px;padding:12px}.recommendations-stats strong,.recommendations-stats span{display:block}.recommendations-stats strong{color:var(--text-primary);font-size:1.34rem;font-weight:950;line-height:1}.recommendations-stats span{color:var(--text-tertiary);margin-top:8px;font-size:.74rem;font-weight:850}.recommendations-controls{margin-top:14px}.recommendations-controls .primary-discover-btn{width:100%}.recommendations-list-section{padding-bottom:18px}@media (width<=380px),(height<=700px){.match-recommendations-page{padding:14px 12px 26px}.recommendations-header,.recommendations-summary-panel,.recommendations-list-section{margin-bottom:14px}.recommendations-summary-panel{border-radius:21px;padding:15px}.recommendations-header h1{font-size:1.1rem}}.bottom-nav{height:calc(60px + var(--safe-bottom));-webkit-backdrop-filter:var(--glass-blur);z-index:50;background:linear-gradient(#ffffffeb,#ffffffd6),#ffffffdb;border-top:1px solid #e65c5c1a;flex-shrink:0;justify-content:space-around;align-items:flex-start;width:100%;padding-top:8px;display:flex;position:relative;box-shadow:0 -12px 32px #2d34360f}.nav-item{color:var(--text-tertiary);transition:all var(--motion-fast);border-radius:18px;flex-direction:column;align-items:center;gap:4px;width:60px;display:flex}.nav-item.active{color:var(--brand-primary);transform:translateY(-3px)}.nav-icon{filter:saturate(.88);font-size:1.25rem;line-height:1}.icon-wrapper{width:36px;height:30px;transition:background var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);border-radius:14px;justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-item.active .icon-wrapper{background:linear-gradient(135deg,#e65c5c2e,#ff9f4324);box-shadow:inset 0 0 0 1px #e65c5c24}.nav-item:active .icon-wrapper{transform:scale(.92)}.nav-label{font-size:.7rem;font-weight:850;line-height:1}.badge{background:var(--brand-primary);color:#fff;border:2px solid #fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;font-size:.6rem;font-weight:700;display:flex;position:absolute;top:-2px;right:-6px}@media (width<=380px),(height<=700px){.bottom-nav{height:calc(56px + var(--safe-bottom));padding-top:6px}.nav-item{gap:3px;width:54px}.nav-icon{font-size:1.28rem}.nav-label{font-size:.64rem}}.invitation-gate{z-index:9999;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.gate-content{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:400px;padding:40px;box-shadow:0 20px 40px #0003}.gate-logo{color:#764ba2;margin-bottom:20px;font-size:24px;font-weight:700}.gate-content h1{color:#1a1a1a;margin:0 0 15px;font-size:24px}.gate-content p{color:#666;margin-bottom:30px;font-size:14px;line-height:1.6}.gate-content form{flex-direction:column;gap:15px;display:flex}.gate-content input{text-align:center;letter-spacing:2px;border:2px solid #eee;border-radius:12px;padding:15px;font-size:16px;transition:all .3s}.gate-content input:focus{border-color:#764ba2;outline:none;box-shadow:0 0 0 4px #764ba21a}.gate-content input.input-error{border-color:#ff4d4f;animation:.5s shake}.gate-content button{color:#fff;cursor:pointer;background:#764ba2;border:none;border-radius:12px;padding:15px;font-size:16px;font-weight:700;transition:transform .2s}.gate-content button:active{transform:scale(.98)}.error-message{color:#ff4d4f;margin-top:-5px;font-size:12px}.gate-footer{color:#999;margin-top:30px;font-size:12px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.app{background-color:var(--bg-app);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.back-button{top:calc(var(--safe-top) + 12px);z-index:50;background:var(--glass-bg);width:44px;height:44px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);color:var(--text-primary);transition:transform .2s var(--ease-smooth);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;left:20px}.back-button:active{transform:scale(.92)}.app-top-bar{padding:calc(var(--safe-top) + 12px) 16px 10px;-webkit-backdrop-filter:var(--glass-blur);z-index:60;background:linear-gradient(#fffffff0,#ffffffb8),linear-gradient(135deg,#e65c5c14,#ff9f430a);border-bottom:1px solid #e65c5c1a;flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;display:flex;box-shadow:0 8px 24px #2d343609}.app-home-button{background:var(--bg-card);min-height:42px;color:var(--text-primary);box-shadow:var(--shadow-sm);border:1px solid #e65c5c1f;border-radius:16px;align-items:center;gap:9px;padding:6px 12px 6px 7px;font-size:.95rem;font-weight:900;display:inline-flex;position:relative;overflow:hidden}.app-home-button:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff57,#0000 55%);position:absolute;inset:1px}.app-home-button:active{transform:translateY(1px)scale(.98)}.app-home-mark{background:linear-gradient(135deg, var(--brand-primary), var(--brand-accent));width:30px;height:30px;color:var(--text-on-primary);border-radius:11px;justify-content:center;align-items:center;font-size:.9rem;font-weight:950;display:inline-flex}.app-top-copy{flex-direction:column;align-items:flex-end;min-width:0;display:flex}.app-top-copy strong{color:var(--text-primary);font-size:.86rem;font-weight:900;line-height:1.2}.app-top-copy span{color:var(--text-tertiary);font-size:.72rem;font-weight:750}.page-transition{animation:fadeIn .4s var(--ease-smooth)}.page-transition.scroll-area-phone{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;flex:1;align-items:flex-start;min-height:0;display:flex;overflow:hidden auto}.page-transition.scroll-area-phone>*{flex-shrink:0;width:100%}body[data-profile-modal-open] .page-transition.scroll-area-phone{overflow:hidden}.fullscreen-view{z-index:100;background-color:var(--bg-app);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:absolute;top:0;left:0;overflow:hidden}@media (width<=380px),(height<=700px){.app-top-bar{padding:calc(var(--safe-top) + 8px) 12px 8px;gap:10px}.app-home-button{border-radius:14px;gap:7px;min-height:38px;padding:5px 10px 5px 6px;font-size:.84rem}.app-home-mark{border-radius:10px;width:27px;height:27px;font-size:.78rem}.app-top-copy strong{font-size:.78rem}.app-top-copy span{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:.66rem;overflow:hidden}}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}:root{--brand-primary:#e65c5c;--brand-primary-dark:#b83f56;--brand-secondary:#2d3436;--brand-accent:#ff9f43;--brand-lilac:#7c6ce8;--bg-app:#fdfbf7;--bg-card:#fff;--bg-elevated:#ffffffd1;--bg-surface:#f4f1ea;--bg-chat-bubble-user:#e65c5c;--bg-chat-bubble-other:#f2f2f2;--text-primary:#2d3436;--text-secondary:#636e72;--text-tertiary:#b2bec3;--text-on-primary:#fff;--border-subtle:#0000000a;--border-strong:#2d34361a;--border-focus:#e65c5c;--shadow-sm:0 2px 8px #2d34360a;--shadow-md:0 8px 24px #2d343614;--shadow-lg:0 16px 48px #2d34361f;--shadow-floating:0 20px 60px #e65c5c40;--shadow-card:0 12px 34px #2d343617;--shadow-button:0 10px 24px #e65c5c38;--glass-bg:#ffffffd9;--glass-border:#ffffff80;--glass-blur:blur(12px);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--motion-fast:.16s var(--ease-smooth);--motion-medium:.26s var(--ease-smooth);--safe-top:env(safe-area-inset-top,20px);--safe-bottom:env(safe-area-inset-bottom,20px)}html{background-color:var(--bg-app);-webkit-text-size-adjust:100%;width:100%;height:100%;min-height:100dvh;overflow:hidden}body{background-color:var(--bg-app);width:100%;height:100%;min-height:100dvh;min-height:-webkit-fill-available;color:var(--text-primary);justify-content:center;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;display:flex;overflow:hidden}#root{background-color:var(--bg-app);width:100%;height:100%;position:relative;overflow:hidden}::selection{color:var(--text-primary);background:#e65c5c2e}@media (width>=768px){body{background-color:#f0f2f5;align-items:center;min-height:100vh}#root{background-color:var(--bg-app);border-radius:24px;max-width:480px;height:90vh;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000001a}}@media (width<=767px){html,body{height:100dvh;min-height:100dvh;position:fixed;inset:0;overflow:hidden}#root{width:100%;height:100%;min-height:100dvh;overflow:hidden}}.scroll-area-phone{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overflow-x:hidden}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast), opacity var(--motion-fast);background:0 0;border:none;font-family:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #e65c5c80}button:active{transform:scale(.98)}input,textarea{-webkit-appearance:none;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);outline:none;font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}::-webkit-scrollbar-track{background:0 0}
