:root{color-scheme:light;font-family:DM Sans,Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(76,139,245,.18),transparent 32%),radial-gradient(circle at bottom right,rgba(47,163,107,.16),transparent 28%),#f7faf8;color:#142b22}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex;justify-content:center;padding:20px 12px 32px}.phone-frame{--page-title-size: clamp(1.9rem, 6.6vw, 2.35rem);--home-title-size: clamp(1.82rem, 6vw, 2.2rem);position:relative;display:flex;flex-direction:column;width:min(100%,402px);height:min(874px,calc(100vh - 40px));border-radius:36px;overflow:hidden;background:linear-gradient(180deg,#ffffffc7,#fffffff0),#f7faf8;box-shadow:0 24px 60px #183b561f,inset 0 1px #ffffffb3;border:1px solid rgba(227,236,231,.92)}.phone-frame[data-locale=zh-CN]{--page-title-size: clamp(1.56rem, 5.4vw, 1.96rem);--home-title-size: clamp(1.42rem, 4.7vw, 1.8rem)}.status-bar{height:50px;padding:0 20px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#5f746b}.screen-content{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.app-background{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(47,163,107,.12),transparent 26%),radial-gradient(circle at bottom left,rgba(76,139,245,.12),transparent 24%);pointer-events:none}.page-stack{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 20px 124px;scrollbar-width:none}.page-stack>.page{width:100%}.page-stack::-webkit-scrollbar{display:none}.page-stack.with-tabs{padding-bottom:148px}.page-stack.chat-stack{padding-bottom:92px}.page{display:flex;flex-direction:column;gap:18px}.page-chat{flex:1 1 auto;height:100%;min-height:100%;max-height:100%;gap:0;overflow:hidden;padding:10px;border:1px solid rgba(210,223,216,.92);border-radius:24px;background:#ffffff57}.conversation-panel{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.conversation-panel-body{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.page-timeline,.page-home{gap:12px}.page-home .screen-section{gap:10px}.page-home .screen-section-head h2{font-size:17px}.page-home .card-grid{gap:12px}.page-home .page-header{gap:6px 10px}.page-home .page-header-main{gap:10px}.page-home .page-header-title{font-size:var(--home-title-size)}.page-home .page-header p{margin-top:1px;font-size:12px}.page-home .page-header-action .button{min-height:36px;padding:0 12px;font-size:12px}.page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:start}.page-header-main{display:flex;gap:12px;align-items:flex-start;min-width:0}.page-header-main>div,.hero-summary-top>div,.card-head>div,.timeline-head>div,.conversation-card-top>div,.supervisor-card>div{min-width:0}.page-header-title,.surface-card h2,.surface-card h3,.screen-section-head h2,.boot-screen h1,.hero-card h1{margin:0;font-family:Bricolage Grotesque,Avenir Next Condensed,Trebuchet MS,sans-serif;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere}.page-header-title{font-size:var(--page-title-size);line-height:.96}.page-header p,.surface-card p,.hero-card p,.muted-text,.helper-text,.hint{margin:0;color:#5f746b;line-height:1.5;overflow-wrap:anywhere}.page-header p{margin-top:4px;font-size:13px}.page-header-action{flex-shrink:0}.page-header-action .button{min-height:38px;padding:0 13px;font-size:13px}.icon-button{width:42px;height:42px;border:none;border-radius:21px;background:#ffffffe0;box-shadow:0 10px 24px #183b5614}.surface-card{background:#ffffffeb;border:1px solid rgba(227,236,231,.92);border-radius:20px;padding:18px;box-shadow:0 18px 32px #183b560f;display:flex;flex-direction:column;gap:14px}.cover-card{color:#fff}.cover-card p,.cover-card .eyebrow{color:#ffffffeb}.hero-card,.hero-summary-card,.celebration-card{padding:20px;border-radius:24px;background:linear-gradient(135deg,#2fa36beb,#4c8bf5db),#2fa36b;color:#fff;box-shadow:0 22px 40px #2fa36b3d}.hero-card p,.hero-summary-card h2,.hero-summary-card .eyebrow,.hero-summary-card p,.celebration-card p{color:#ffffffeb}.hero-card h1,.hero-summary-card h2,.celebration-card h2{font-size:clamp(1.7rem,5.9vw,2.35rem);line-height:1.08}.hero-eyebrow,.eyebrow,.section-caption{display:inline-flex;align-items:center;width:fit-content;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#5f746b}.hero-summary-card{padding:18px;gap:14px}.home-overview-card{padding:12px 14px;gap:8px;background:#ffffffe6}.home-overview-card .eyebrow{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;color:#183b56}.home-overview-card .avatar-md{width:40px;height:40px}.home-overview-main{min-width:0}.home-overview-main .eyebrow{font-size:14px}.home-overview-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-overview-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:10px;flex-shrink:0;padding-top:2px}.home-overview-copy{margin-top:2px;font-size:15px;line-height:1.46;color:#5f746b}.home-overview-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-overview-bottom .pill-row{min-width:0;flex:1}.home-overview-dashboard{min-height:26px;padding:0 6px;font-size:10px;font-weight:700;flex-shrink:0;border-radius:16px}.hero-summary-card h2{max-width:11ch}.hero-summary-card .status-badge{background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.16)}.hero-summary-card .avatar-lg{width:48px;height:48px}.hero-summary-top,.supervisor-card,.timeline-head,.conversation-card-top,.card-head,.screen-section-head,.field-label-row,.composer-row,.inline-row,.button-row,.button-group.dual,.identity-row,.settings-row,.metric-card,.category-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.screen-section{display:flex;flex-direction:column;gap:12px}.screen-section-head h2{font-size:18px}.button{border:none;border-radius:999px;min-height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,box-shadow .12s ease;white-space:nowrap;flex-shrink:0}.button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,#2fa36b,#4c8bf5);color:#fff;box-shadow:0 12px 20px #2fa36b38}.button-secondary{background:#eaf7f0;color:#1f7a54}.button-ghost{background:#f2f6f4;color:#183b56}.button-danger{background:#ef44441f;color:#dc2626}.button-block{width:100%}.field{display:flex;flex-direction:column;gap:8px}.habit-form-inline-row{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:10px;align-items:end}.field-label{font-size:14px;font-weight:700;color:#183b56}.field-hint,.helper-text{font-size:13px}.text-input,.text-area,.file-input{width:100%;border:1px solid #d8e6de;border-radius:16px;padding:13px 15px;background:#f8fbf9;color:#142b22}.text-area{resize:vertical}.segment{display:grid;grid-template-columns:repeat(2,1fr);background:#e1e9e5fa;border:1px solid rgba(211,223,217,.96);border-radius:999px;padding:5px;gap:5px}.page-home .segment{margin-top:-1px}.segment-item{border:none;min-height:38px;border-radius:999px;background:transparent;color:#5f746b;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;font-size:14px;font-weight:600;white-space:nowrap}.segment-item.active{background:linear-gradient(135deg,#2fa36b,#4c8bf5);color:#fff;box-shadow:0 10px 18px #2fa36b33}.checkbox-row{display:flex;gap:10px;align-items:flex-start;color:#5f746b;font-size:14px}.login-page{padding:22px 20px 28px;display:flex;flex-direction:column;gap:18px}.boot-screen,.centered-page{min-height:calc(100vh - 180px);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px 24px;text-align:center;gap:18px}.boot-logo,.empty-illustration,.celebration-icon{width:72px;height:72px;border-radius:24px;background:linear-gradient(135deg,#2fa36b,#4c8bf5);box-shadow:0 18px 28px #2fa36b3d}.celebration-icon{display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:32px}.pill-row,.calendar-chips,.quick-reply-row,.filter-chip-row{display:flex;flex-wrap:wrap;gap:8px}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;border-radius:999px;font-size:11px;background:#f2f6f4;color:#5f746b;line-height:1}.status-badge.tone-success{background:#22c55e24;color:#15803d}.status-badge.tone-blue{background:#3b82f624;color:#2563eb}.status-badge.tone-amber{background:#f59e0b24;color:#d97706}.status-badge.tone-danger{background:#ef444424;color:#dc2626}.button-group{display:flex;gap:10px}.button-group.vertical{flex-direction:column}.button-row,.button-group.dual{flex-wrap:wrap}.sticky-button-row{display:flex;justify-content:flex-end}.home-inline-action-row{display:flex;justify-content:flex-start}.home-inline-action{min-height:31px;padding:0 11px;font-size:12px;font-weight:700;box-shadow:none;border-radius:16px}.page-actions{margin-top:2px}.page-actions .button-group.vertical,.page-actions .button-group.dual{width:100%}.page-actions .button-group.dual .button{flex:1;min-width:0}.send-code-button{margin-top:auto}.card-grid,.timeline-list,.settings-list,.message-stream{display:flex;flex-direction:column;gap:14px}.template-card{overflow:hidden;padding:12px;gap:9px}.template-card-hero{min-height:94px;border-radius:16px;padding:13px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:#fff;box-shadow:inset 0 1px #ffffff2e}.template-card-hero-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.template-card-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb8}.template-card-hero h3{font-size:20px;line-height:1.04;color:#fff}.template-card-hero>.status-badge{background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.14);padding:5px 9px;font-size:10px}.template-card-body{display:flex;flex-direction:column;gap:7px}.template-card-desc{font-size:14px;line-height:1.45}.template-card-tags{gap:6px}.template-card-tags .status-badge{padding-inline:14px}.template-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.template-card-frequency{font-size:13px;font-weight:600}.template-card-action{min-height:36px;padding:0 15px;font-size:13px;box-shadow:0 8px 16px #2fa36b2e}.habit-list-card{padding:12px;gap:8px}.habit-list-card-hero{min-height:88px;padding:12px 13px}.habit-list-hero-meta{display:flex;min-width:max-content;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px}.habit-list-hero-meta>.status-badge{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.16)}.habit-list-frequency-badge{align-self:flex-end}.habit-list-frequency-badge>.status-badge{padding:4px 10px;font-size:11px;font-weight:700}.habit-list-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.habit-list-streak-badge{flex-shrink:0}.habit-list-actions{flex:1;justify-content:flex-end;gap:8px;flex-wrap:wrap}.habit-list-action{min-height:34px;padding:0 14px;font-size:13px}.habit-list-action-primary{box-shadow:0 8px 16px #2fa36b2e}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{padding:16px;border-radius:18px;background:#ffffffdb;border:1px solid rgba(227,236,231,.9);box-shadow:0 12px 20px #183b560d;flex-direction:column;align-items:flex-start}.metric-card span{color:#5f746b;font-size:13px}.metric-card strong{font-size:22px;line-height:1.2}.trend-chart{height:180px;display:grid;grid-template-columns:repeat(10,1fr);align-items:end;gap:8px}.trend-bar-group{display:flex;flex-direction:column;align-items:center;gap:8px}.trend-bar{width:100%;max-width:22px;border-radius:999px;background:linear-gradient(180deg,#4c8bf5,#2fa36b)}.trend-bar-group span,.category-row span,.identity-row span,.identity-row strong,.settings-row span{font-size:12px}.category-list{display:flex;flex-direction:column;gap:14px}.category-bar-track,.progress-track{flex:1;height:10px;border-radius:999px;background:#e3ece7;overflow:hidden}.category-bar-fill,.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(135deg,#2fa36b,#4c8bf5)}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-grid img,.media-choice img,.poster-preview{width:100%;display:block;border-radius:16px}.media-choice{border:2px solid transparent;border-radius:18px;background:transparent;padding:0}.media-choice.active{border-color:#2fa36b}.conversation-card{padding:14px 14px 0;border-radius:20px;background:#ffffffeb;border:1px solid rgba(227,236,231,.92);box-shadow:0 18px 32px #183b560f;display:flex;flex-direction:column;gap:8px}.checkin-fold-summary,.completed-task-group{background:#ffffffeb;border:1px solid rgba(227,236,231,.92);border-radius:20px;box-shadow:0 18px 32px #183b560f}.checkin-fold-summary{padding:16px;gap:6px}.completed-task-group{padding:14px}.completed-task-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.completed-task-group summary::-webkit-details-marker{display:none}.completed-task-group summary strong{display:block;font-size:16px;color:#183b56}.completed-task-group summary p{margin-top:2px;font-size:12px;color:#7b8d84}.completed-task-caret{font-size:20px;line-height:1;color:#7b8d84;transition:transform .18s ease}.completed-task-group[open] .completed-task-caret{transform:rotate(180deg)}.completed-task-grid{margin-top:12px;gap:8px}.checkin-task-list{display:flex;flex-direction:column;gap:8px}.checkin-task-card{padding:12px 13px;gap:0}.checkin-task-card.is-completed{background:#f8fbf9f2}.checkin-task-row{display:flex;align-items:flex-start;gap:12px}.checkin-task-toggle{flex:0 0 auto;width:28px;height:28px;margin-top:2px;border-radius:999px;border:1.5px solid rgba(171,193,183,.96);background:#f8fbf9f5;display:grid;place-items:center;box-shadow:inset 0 1px #ffffffb8}.checkin-task-toggle span{width:10px;height:10px;border-radius:999px;background:transparent}.checkin-task-toggle.checked,.checkin-task-toggle:not(:disabled):hover{border-color:transparent;background:linear-gradient(135deg,#2fa36b,#4c8bf5)}.checkin-task-toggle.checked span,.checkin-task-toggle:not(:disabled):hover span{background:#fff}.checkin-task-toggle:disabled{opacity:.82;cursor:default}.checkin-task-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.checkin-task-headline{display:flex;align-items:center;justify-content:space-between;gap:10px}.checkin-task-main h3{font-size:17px;line-height:1.14}.checkin-task-main .muted-text{font-size:13px}.checkin-task-main .hint{margin-top:2px}.checkin-task-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.checkin-task-actions .button{min-height:32px;padding:0 13px;font-size:12px}.message-list-grid{gap:12px}.conversation-card-top{align-items:flex-start;justify-content:flex-start;gap:12px}.conversation-card-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.conversation-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.conversation-card-meta strong{font-size:14px;font-weight:700;color:#234235}.conversation-card-meta span,.conversation-card-read{font-size:11px;line-height:1;color:#8ea198}.conversation-card h3{font-size:17px;line-height:1.08}.conversation-card-preview{margin:0;font-size:13px;line-height:1.35;color:#5f746b;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.conversation-card-roles{margin-top:8px;padding:0;font-size:11px;line-height:1.45;color:#8ea198;text-align:right}.conversation-role-label{color:#2b6a52;font-weight:700}.conversation-role-separator{color:#8ea198}.conversation-card-state{margin-left:auto;align-self:flex-start}.conversation-thread-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.conversation-thread-row::-webkit-scrollbar{display:none}.conversation-thread-chip{min-width:112px;padding:8px 10px;border-radius:16px;border:1px solid rgba(214,226,220,.94);background:#fffffff5;display:flex;flex-direction:column;align-items:flex-start;gap:2px;box-shadow:0 10px 18px #183b560d}.conversation-thread-chip span{font-size:13px;font-weight:700;color:#183b56;white-space:nowrap}.conversation-thread-chip small{font-size:10px;line-height:1.2;color:#7b8d84;white-space:nowrap}.conversation-thread-chip.active{border-color:transparent;background:linear-gradient(135deg,#2fa36b,#4c8bf5);box-shadow:0 14px 22px #2fa36b29}.page-chat-coach .conversation-thread-chip.active{background:linear-gradient(135deg,#ef9b49,#f2c14e);box-shadow:0 14px 22px #ef9b492e}.conversation-thread-chip.active span,.conversation-thread-chip.active small{color:#fff}.message-stream{min-height:0;overflow-y:auto;padding:10px;border:1px solid rgba(220,231,225,.92);border-radius:18px;scrollbar-width:none}.message-stream::-webkit-scrollbar{display:none}.conversation-stream{gap:8px}.message-bubble{max-width:79%;padding:9px 11px;border:1px solid transparent;border-radius:16px;position:relative;display:flex;flex-direction:column;gap:4px;box-shadow:0 10px 18px #183b560d}.message-bubble.system{margin:0 auto;max-width:84%;background:#eaf2ffeb}.message-bubble.mine{margin-left:auto;background:linear-gradient(135deg,#2fa36b,#4c8bf5);color:#fff}.message-bubble.mine:after,.message-bubble.theirs:after{content:"";position:absolute;bottom:9px;width:12px;height:12px;background:inherit}.message-bubble.mine:after{right:-7px;clip-path:polygon(0 0,100% 50%,0 100%)}.message-bubble.mine span{align-self:flex-end;text-align:right;color:#ffffffe0}.message-bubble.theirs{background:#fffffff5;border-color:#b9c7c0fa;box-shadow:0 10px 18px #183b560a}.message-bubble.theirs:after{left:-7px;clip-path:polygon(100% 0,0 50%,100% 100%);filter:drop-shadow(-1px 0 0 rgba(185,199,192,.98)) drop-shadow(0 -1px 0 rgba(185,199,192,.98))}.message-bubble p{margin:0;line-height:1.55}.message-bubble span{font-size:10px;color:#98a79f}.conversation-footer{padding:10px;gap:8px;border:none;background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 14px 26px #183b5614}.page-chat-coach .conversation-footer{background:#fffaf4f0}.conversation-context-bar{display:flex;align-items:center;gap:8px;min-width:0;padding:2px 2px 0}.conversation-context-label{flex:0 0 auto;font-size:11px;font-weight:700;color:#2b6a52}.page-chat-coach .conversation-context-label{color:#b8671b}.conversation-context-bar strong{min-width:0;flex:1;font-size:12px;color:#183b56;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-context-bar small{flex:0 0 auto;font-size:10px;line-height:1.2;color:#7b8d84}.conversation-footer-caption{font-size:11px;font-weight:700;color:#6a7f75}.page-chat-coach .conversation-footer-caption{color:#a56a2b}.conversation-footer .button-group.dual{gap:8px}.conversation-footer .button-group.dual .button{flex:1;min-width:0;min-height:34px;padding:0 12px;font-size:12px}.conversation-footer .quick-reply-row{gap:6px}.quick-reply-chip,.filter-chip{border:none;border-radius:999px;padding:8px 14px;background:#f2f6f4;color:#183b56}.filter-chip.active{background:linear-gradient(135deg,#2fa36b,#4c8bf5);color:#fff}.composer-row{align-items:stretch;gap:7px}.composer-row .text-input{flex:1;min-height:38px}.composer-row .button{min-height:38px;padding:0 15px}.page-chat .page-header-action .avatar-md{width:38px;height:38px}.conversation-header-peer{display:inline-flex;align-items:center;gap:8px}.conversation-header-peer span{font-size:13px;font-weight:600;color:#5f746b}.timeline-card{padding:12px;gap:8px}.timeline-card .timeline-head{align-items:flex-start;gap:10px}.timeline-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.timeline-card h3{font-size:17px;line-height:1.18}.timeline-encouragement{font-size:13px;line-height:1.5;color:#3d5e51}.timeline-pill-row{gap:6px}.timeline-card .status-badge{padding:5px 10px}.timeline-card .photo-grid{gap:8px}.timeline-calendar-card{padding:12px;gap:10px}.timeline-calendar-card .screen-section-head{align-items:baseline}.timeline-calendar-card .screen-section-head strong{font-size:13px;color:#5f746b}.timeline-calendar-summary{gap:6px}.month-calendar-weekdays,.month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.month-calendar-weekdays span{text-align:center;font-size:11px;font-weight:700;color:#8fa29a}.month-calendar-cell{min-height:38px;border-radius:14px;background:#f2f6f4eb;border:1px solid rgba(223,232,227,.9);display:flex;align-items:center;justify-content:center;color:#8fa29a;font-size:12px;font-weight:700;position:relative;overflow:hidden}.month-calendar-cell.completed{background:linear-gradient(180deg,#7ddf73,#58c86a);border-color:#43ab54;color:#fff;box-shadow:inset 0 -4px #268442bf,0 8px 16px #43ab5438}.month-calendar-cell.completed:before{content:"";position:absolute;inset:3px 4px auto;height:34%;border-radius:999px;background:#ffffff3d}.month-calendar-cell.completed span{position:relative;z-index:1;text-shadow:0 1px 0 rgba(32,109,52,.3)}.month-calendar-cell.empty{border-color:transparent;background:transparent}.week-status-grid{display:flex;flex-direction:column;gap:8px}.week-status-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:18px;border:1px solid rgba(223,232,227,.92);background:#f8faf9eb}.week-status-card.completed{background:linear-gradient(135deg,#2fa36b1a,#4c8bf51f)}.week-status-card.incomplete{background:#faf6f0e0;border-color:#e8d9c1eb}.week-status-card strong{font-size:14px;line-height:1.2}.week-status-card p{margin-top:2px;font-size:12px;color:#5f746b}.page-timeline .timeline-list{gap:10px}.page-timeline .page-header-action .button{min-height:34px;padding:0 12px;font-size:12px}.bottom-tabs{position:absolute;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));z-index:20;padding:7px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-radius:999px;background:#ffffffd1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(227,236,231,.92);box-shadow:0 18px 32px #183b561a}.bottom-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;border-radius:999px;color:#98a79f;font-size:11px;font-weight:600}.bottom-tab.active{background:linear-gradient(135deg,#2fa36b,#4c8bf5);color:#fff;box-shadow:0 10px 18px #2fa36b38}.bottom-tab-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}.bottom-tab-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.avatar{border-radius:999px;object-fit:cover}.avatar-button{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;border-radius:999px;cursor:pointer;line-height:0;transition:transform .16s ease,box-shadow .16s ease}.avatar-button:hover,.avatar-button:focus-visible{transform:translateY(-1px)}.avatar-button:focus-visible{outline:2px solid rgba(76,139,245,.32);outline-offset:3px}.avatar-sm{width:32px;height:32px}.avatar-md{width:40px;height:40px}.avatar-lg{width:56px;height:56px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fixed-bottom-bar{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:5;margin-top:auto;padding-top:2px}.empty-state{padding:28px 18px;border-radius:24px;border:1px dashed #d8e6de;background:#ffffffc7;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}.empty-action{width:100%}.identity-list{display:flex;flex-direction:column;gap:12px}.account-avatar-section{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:16px}.account-avatar-preview{width:72px;height:72px;border-radius:999px;object-fit:cover;box-shadow:0 10px 20px #183b561f}.account-avatar-copy{display:flex;flex-direction:column;gap:4px}.account-avatar-copy strong{font-size:15px;line-height:1.3;color:#183b56}.avatar-crop-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#0e1b236b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.avatar-crop-dialog{width:min(100%,420px);gap:12px}.avatar-crop-title{font-size:15px;font-weight:700;color:#183b56}.avatar-crop-preview-shell{display:flex;justify-content:center}.avatar-crop-preview{position:relative;width:248px;height:248px;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#2fa36b1f,#4c8bf524),#f3f8f5;border:1px solid rgba(214,227,220,.96)}.avatar-crop-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform-origin:center}.avatar-crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 2px #fffffff2,inset 0 0 0 999px #183b561f}.avatar-crop-controls{display:flex;flex-direction:column;gap:12px}.range-input{width:100%;accent-color:#2fa36b}.identity-row,.settings-row{padding:14px 16px;border-radius:16px;background:#f8fbf9}.toggle-row{width:100%;border:none;background:#f8fbf9;border-radius:18px;padding:16px;display:flex;justify-content:space-between;align-items:center;color:#142b22}.toggle-pill{width:52px;height:30px;border-radius:999px;padding:3px;background:#d8e6de;display:inline-flex;justify-content:flex-start;transition:background .12s ease}.toggle-pill span{width:24px;height:24px;border-radius:999px;background:#fff;box-shadow:0 4px 10px #183b561f}.toggle-pill.active{justify-content:flex-end;background:linear-gradient(135deg,#2fa36b,#4c8bf5)}.progress-row{display:flex;align-items:center;gap:12px}.page-achievements{position:relative;gap:12px;padding:4px 6px 18px;border-radius:28px;background:radial-gradient(circle at top right,rgba(96,165,250,.16),transparent 28%),radial-gradient(circle at bottom left,rgba(134,239,172,.16),transparent 30%),linear-gradient(180deg,#f4fafffa,#eef6f3f2)}.identity-profile-card{gap:14px;padding:16px;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.28),transparent 20%),radial-gradient(circle at 74% 74%,rgba(255,255,255,.14),transparent 22%),linear-gradient(135deg,#3ca98a,#60a5fa);color:#fff}.identity-profile-card.tone-mover{background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.28),transparent 20%),radial-gradient(circle at 74% 74%,rgba(255,255,255,.14),transparent 22%),linear-gradient(135deg,#10b981,#60a5fa)}.identity-profile-card.tone-learner{background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.24),transparent 20%),linear-gradient(135deg,#1d4ed8,#0f766e)}.identity-profile-card.tone-early-bird{background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.26),transparent 20%),linear-gradient(135deg,#f59e0b,#fb7185)}.identity-profile-card.tone-mindful{background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.26),transparent 20%),linear-gradient(135deg,#14b8a6,#4f46e5)}.identity-profile-card.tone-healthy-eater{background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.26),transparent 20%),linear-gradient(135deg,#22c55e,#84cc16)}.identity-profile-card.tone-neutral{background:radial-gradient(circle at 82% 24%,rgba(255,255,255,.26),transparent 20%),linear-gradient(135deg,#3ca98a,#60a5fa)}.identity-profile-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}.identity-profile-copy{display:flex;flex-direction:column;gap:6px}.identity-profile-copy>span{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#ffffffb8}.identity-profile-copy h2{margin:0;font-size:30px;line-height:1.02;color:#fffef9}.identity-profile-copy p{margin:0;font-size:14px;line-height:1.5;color:#ffffffe6}.identity-profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.identity-profile-metric{min-width:0;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:18px;background:#ffffff29;border:1px solid rgba(255,255,255,.16)}.identity-profile-metric span{font-size:11px;line-height:1.35;color:#ffffffb8}.identity-profile-metric strong{font-size:24px;line-height:1;color:#fffef8}.identity-progress-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(238px,1fr);gap:12px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.identity-progress-card{display:flex;flex-direction:column;gap:8px;min-height:172px;padding:14px;border-radius:22px;background:radial-gradient(circle at 80% 18%,rgba(255,255,255,.34),transparent 18%),linear-gradient(180deg,#fffffff5,#f6faf8f0);border:1px solid rgba(214,227,220,.92);box-shadow:0 14px 30px #183b5614;scroll-snap-align:start}.identity-progress-card.primary{border-color:#4c8bf557;box-shadow:0 18px 36px #183b561f,0 0 0 2px #60a5fa29;transform:translateY(-1px)}.identity-progress-card.tone-mover{background:radial-gradient(circle at 82% 16%,rgba(16,185,129,.18),transparent 20%),linear-gradient(180deg,#f7fffcfa,#f0f9f6f0)}.identity-progress-card.tone-learner{background:radial-gradient(circle at 82% 16%,rgba(29,78,216,.16),transparent 20%),linear-gradient(180deg,#f5fafffa,#f0f6fcf0)}.identity-progress-card.tone-early-bird{background:radial-gradient(circle at 82% 16%,rgba(245,158,11,.16),transparent 20%),linear-gradient(180deg,#fffaf3fa,#fcf5eff0)}.identity-progress-card.tone-mindful{background:radial-gradient(circle at 82% 16%,rgba(20,184,166,.14),transparent 20%),linear-gradient(180deg,#f4fdfbfa,#f0f8fbf0)}.identity-progress-card.tone-healthy-eater{background:radial-gradient(circle at 82% 16%,rgba(132,204,22,.16),transparent 20%),linear-gradient(180deg,#f8fdf0fa,#f3f9ebf0)}.identity-progress-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.identity-progress-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6a8177}.identity-progress-top h3{margin:4px 0 0;font-size:22px;line-height:1.06;color:#183b56}.identity-progress-level{flex-shrink:0;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.05em;color:#183b56;background:#ffffffb8;border:1px solid rgba(210,223,216,.92)}.identity-progress-card p{margin:0;font-size:13px;line-height:1.45;color:#5f746b}.identity-progress-label{font-size:13px;line-height:1.3;color:#183b56}.identity-progress-hint{font-size:12px;line-height:1.4;color:#6b8178}.achievement-section-subtitle{margin:-6px 0 8px;font-size:13px;line-height:1.45;color:#6a8177}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;align-items:start}.achievement-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-height:120px;padding:0;border-radius:20px;color:#183b56;text-align:center;transition:transform .18s ease,opacity .18s ease}.achievement-tile:hover{transform:translateY(-1px)}.achievement-tile.locked{opacity:.76}.achievement-fresh-tag{position:absolute;top:0;right:4px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;color:#fffef7;background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 8px 18px #ef44442e}.achievement-badge-shell{position:relative;display:flex;justify-content:center;padding:2px 0 0}.achievement-badge-shell.large{padding:6px 0 2px}.achievement-badge-ribbon{position:absolute;top:45px;width:16px;height:28px;border-radius:12px 12px 9px 9px;background:linear-gradient(180deg,#6dd0a4,#2b8f74);box-shadow:inset 0 1px #ffffff47}.achievement-badge-ribbon.left{left:calc(50% - 27px);transform:rotate(-8deg)}.achievement-badge-ribbon.right{right:calc(50% - 27px);transform:rotate(8deg)}.achievement-badge-medal{width:72px;height:72px;border-radius:999px;padding:7px;position:relative;z-index:1;display:grid;place-items:center;box-shadow:inset 0 2px #ffffff57,0 14px 24px #183b561f}.achievement-badge-shell.large .achievement-badge-ribbon{top:58px;width:20px;height:38px}.achievement-badge-shell.large .achievement-badge-ribbon.left{left:calc(50% - 34px)}.achievement-badge-shell.large .achievement-badge-ribbon.right{right:calc(50% - 34px)}.achievement-badge-shell.large .achievement-badge-medal{width:92px;height:92px;padding:8px}.achievement-badge-shell.locked .achievement-badge-ribbon,.achievement-detail-card.locked .achievement-badge-ribbon{background:linear-gradient(180deg,#d4ddd8,#b6c4be)}.achievement-badge-shell.locked .achievement-badge-medal,.achievement-detail-card.locked .achievement-badge-medal{background:linear-gradient(180deg,#ebf0ed,#cfd8d4);box-shadow:inset 0 2px #ffffff6b,0 10px 20px #183b560f}.achievement-badge-inner{width:100%;height:100%;border-radius:inherit;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.34),transparent 40%),#ffffff2e;border:2px solid rgba(255,255,255,.26);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.achievement-badge-glyph{font-family:Bricolage Grotesque,Avenir Next Condensed,Trebuchet MS,sans-serif;font-size:22px;line-height:1;font-weight:800;color:#fff}.achievement-badge-shell.large .achievement-badge-glyph{font-size:26px}.achievement-badge-code{font-size:9px;font-weight:700;letter-spacing:.08em;color:#ffffffdb}.achievement-badge-shell.large .achievement-badge-code{font-size:10px}.achievement-badge-shell.locked .achievement-badge-glyph,.achievement-badge-shell.locked .achievement-badge-code,.achievement-detail-card.locked .achievement-badge-glyph,.achievement-detail-card.locked .achievement-badge-code{color:#7b8d84}.achievement-badge-shell.achievement-family-mover .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-mover .achievement-badge-medal{background:linear-gradient(180deg,#34d399,#3b82f6)}.achievement-badge-shell.achievement-family-learner .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-learner .achievement-badge-medal{background:linear-gradient(180deg,#60a5fa,#1d4ed8)}.achievement-badge-shell.achievement-family-early-bird .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-early-bird .achievement-badge-medal{background:linear-gradient(180deg,#fbbf24,#fb7185)}.achievement-badge-shell.achievement-family-mindful .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-mindful .achievement-badge-medal{background:linear-gradient(180deg,#2dd4bf,#4f46e5)}.achievement-badge-shell.achievement-family-healthy-eater .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-healthy-eater .achievement-badge-medal{background:linear-gradient(180deg,#84cc16,#22c55e)}.achievement-badge-shell.achievement-family-grit-bronze .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-grit-bronze .achievement-badge-medal{background:linear-gradient(180deg,#f59e0b,#d97706)}.achievement-badge-shell.achievement-family-grit-silver .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-grit-silver .achievement-badge-medal{background:linear-gradient(180deg,#cbd5e1,#64748b)}.achievement-badge-shell.achievement-family-grit-gold .achievement-badge-ribbon,.achievement-badge-shell.achievement-family-grit-gold .achievement-badge-medal{background:linear-gradient(180deg,#fde68a,#f59e0b)}.achievement-card-title{margin:0;min-height:0;display:flex;align-items:flex-start;justify-content:center;font-size:13px;line-height:1.12;color:#183b56}.achievement-level-count{font-size:12px;font-weight:800;letter-spacing:.03em;color:#6e8179}.page-achievement-detail{gap:12px}.achievement-detail-card{align-items:center;text-align:center;padding:18px 16px;gap:12px}.achievement-detail-card.locked{background:linear-gradient(180deg,#f6f8f7fa,#f0f4f2f0)}.achievement-detail-copy{display:flex;flex-direction:column;align-items:center;gap:8px}.achievement-detail-topline{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.achievement-level-meter{font-size:12px;font-weight:700;color:#6c8178}.achievement-detail-copy h2{margin:0;font-size:26px;line-height:1.04}.achievement-detail-copy p{margin:0;font-size:14px;line-height:1.55;color:#5f746b}.achievement-detail-mantra{font-size:15px;line-height:1.45;color:#183b56}.achievement-detail-proof{font-size:12px;line-height:1.4;color:#70857b}.achievement-detail-actions{width:100%;display:flex;gap:10px}.achievement-detail-actions>.button{flex:1 1 0}.achievement-detail-next-hint{margin:-2px 0 0;font-size:12px;line-height:1.45;text-align:center;color:#6d8178}.achievement-level-list{width:100%;display:flex;flex-direction:column;gap:10px}.achievement-level-row{width:100%;padding:12px 14px;border-radius:18px;background:#f7fbf8f2;border:1px solid rgba(212,225,218,.92);display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:left}.achievement-level-row.claimable{background:linear-gradient(180deg,#fffaebfa,#fff6dbf0);border-color:#f59e0b42}.achievement-level-row.locked{background:linear-gradient(180deg,#f4f7f5fa,#eff3f1f0)}.achievement-level-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.achievement-level-copy strong{font-size:14px;line-height:1.3;color:#183b56}.achievement-level-mantra{font-weight:700}.achievement-level-copy span{font-size:12px;line-height:1.45;color:#697d74}.achievement-level-meta{min-width:96px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.achievement-level-meta small{font-size:11px;line-height:1.35;text-align:right;color:#8ea198}.achievement-progress-row{width:100%;gap:0}.achievement-progress-row .progress-track{height:8px}.achievement-progress-row .progress-fill{background:linear-gradient(90deg,#1f9f68,#4c8bf5)}.achievement-progress-row.detail{flex-direction:column;align-items:stretch;gap:8px}.achievement-progress-row.detail strong{font-size:13px;color:#183b56}.poster-card{padding:12px;gap:10px}.page-poster{gap:12px}.poster-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.poster-card-head>div{min-width:0}.poster-card-head .eyebrow{margin-bottom:2px;letter-spacing:.04em;text-transform:none}.poster-card-head h3{font-size:18px;line-height:1.18}.poster-card-head p{margin-top:2px;font-size:13px;line-height:1.45;color:#5f746b}.poster-preview-shell{padding:10px;border-radius:24px;background:radial-gradient(circle at top right,rgba(47,163,107,.12),transparent 36%),linear-gradient(180deg,#f3f7f5fa,#e9f0ecf5);border:1px solid rgba(220,231,226,.94)}.poster-preview{border-radius:24px;box-shadow:0 18px 32px #183b561f}.poster-actions{gap:8px}.poster-actions .button{min-height:38px;padding:0 14px}.poster-toolbar-card{padding:12px;gap:12px}.poster-toolbar-section{display:flex;flex-direction:column;gap:8px}.poster-toolbar-card .field-label-row{align-items:baseline;gap:8px}.poster-style-row{gap:6px}.poster-style-chip{padding:7px 12px;font-size:12px;font-weight:700}.poster-media-grid{gap:8px}.poster-media-grid .media-choice{border-width:1.5px;border-radius:16px}.poster-media-grid .media-choice img{aspect-ratio:1 / 1;object-fit:cover;border-radius:14px}.poster-empty-media{font-size:13px;line-height:1.45}.invite-page,.invite-accept-page{gap:14px}.invite-accept-page{min-height:calc(100vh - 120px);justify-content:flex-start;padding-top:8px}.invite-sheet,.invite-share-card,.invite-accept-card{gap:14px}.invite-accept-card{padding:12px;overflow:hidden}.invite-sheet-head,.invite-share-layout,.invite-accept-grid,.invite-cover-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.invite-brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.invite-brand-logo{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2fa36b,#4c8bf5);box-shadow:0 14px 24px #2fa36b2e;color:#fff;font-family:Bricolage Grotesque,Avenir Next Condensed,Trebuchet MS,sans-serif;font-size:24px;font-weight:800;letter-spacing:-.04em}.invite-brand-copy{min-width:0}.invite-brand-copy strong{display:block;color:#183b56;font-size:15px;line-height:1.15}.invite-brand-copy p{margin-top:2px;font-size:12px;line-height:1.35}.invite-sheet-cover,.invite-accept-cover{border-radius:22px;padding:18px;background:linear-gradient(135deg,#2fa36beb,#4c8bf5db);color:#fff;display:flex;flex-direction:column;gap:10px}.invite-sheet-cover .eyebrow,.invite-accept-cover .eyebrow,.invite-sheet-cover p,.invite-accept-cover p{color:#ffffffe6}.invite-sheet-cover h2,.invite-accept-cover h2{color:#fff;font-size:clamp(1.6rem,5vw,2.1rem);line-height:1.04}.invite-sheet-meta{display:flex;flex-direction:column;gap:10px}.invite-owner-chip{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:8px 12px;border-radius:999px;background:#f2f6f4;color:#183b56;font-size:13px;font-weight:600}.invite-owner-chip.on-cover{background:#ffffff24;color:#fff}.invite-owner-chip .avatar-sm{width:28px;height:28px}.invite-share-copy,.invite-action-panel{min-width:0;flex:1;display:flex;flex-direction:column;gap:10px}.invite-link-input{min-height:88px}.invite-accept-content{display:flex;flex-direction:column;gap:14px;padding:4px 2px 2px}.invite-card-note{font-size:14px;line-height:1.55}.invite-qr-panel{width:148px;flex-shrink:0;padding:12px;border-radius:20px;border:1px solid #d8e6de;background:#f8fbf9;text-align:center;display:flex;flex-direction:column;gap:8px}.invite-qr-panel img{width:100%;display:block;border-radius:16px}.invite-qr-panel strong{color:#183b56;font-size:13px}.invite-qr-panel p{font-size:12px;line-height:1.4}.invite-accept-brand{padding-inline:2px}.toast-stack{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;gap:10px;width:min(calc(100vw - 32px),360px);z-index:50}.toast-card{padding:14px 16px;border-radius:16px;color:#fff;background:#183b56eb;box-shadow:0 18px 28px #183b5629}.toast-success{background:#1f7a54f5}.toast-error{background:#dc2626f0}.busy-indicator{position:absolute;top:70px;left:24px;right:24px;height:4px;border-radius:999px;overflow:hidden;background:#e3ece7eb}.busy-indicator:after{content:"";display:block;width:35%;height:100%;border-radius:inherit;background:linear-gradient(135deg,#2fa36b,#4c8bf5);animation:loading-slide 1.1s ease-in-out infinite}.hint.danger{color:#dc2626}@keyframes loading-slide{0%{transform:translate(-100%)}50%{transform:translate(120%)}to{transform:translate(240%)}}@media(max-width:540px){.app-shell{padding:0}.phone-frame{width:100%;height:100vh;border-radius:0;border:none}.page-stack{padding:4px 16px 146px}.page-stack.chat-stack{padding-bottom:90px}.status-bar{padding:0 16px}.bottom-tabs{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom))}.invite-sheet-head,.invite-share-layout,.invite-accept-grid,.invite-cover-top{flex-direction:column;align-items:stretch}.invite-qr-panel{width:100%}}:root{--app-max-width: 390px;--app-bg: #f3f5f2;--app-surface: #ffffff;--app-surface-muted: #f6f7f5;--app-border: #e4e8e3;--app-border-strong: #d8dfd9;--app-text: #14281f;--app-text-muted: #617069;--app-text-faint: #8b9790;--app-accent: #1f9366;--app-accent-strong: #3579d9;--app-radius: 14px;--app-gap-xs: 4px;--app-gap-sm: 8px;--app-gap-md: 12px;--app-gap-lg: 16px;--app-title: 18px;--app-section-title: 16px;--app-body: 14px;--app-meta: 12px}html,body,#root{min-height:100%}body{min-height:100vh;background:linear-gradient(180deg,#eef2ee,#f7f8f6 24%,#f2f4f1);color:var(--app-text)}.app-shell{min-height:100vh;padding:0;background:transparent}.phone-frame{width:100%;max-width:var(--app-max-width);min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;margin:0 auto;border:0;border-radius:0;box-shadow:none;background:var(--app-bg);overflow-x:hidden}.status-bar{height:28px;padding:0 12px;font-size:11px;color:var(--app-text-faint);border-bottom:1px solid rgba(228,232,227,.8);background:#f3f5f2eb}.screen-content{background:linear-gradient(180deg,#ffffff80,#fff0),var(--app-bg)}.app-background{inset:0 0 auto;height:160px;background:radial-gradient(circle at top right,rgba(53,121,217,.08),transparent 44%),radial-gradient(circle at top left,rgba(31,147,102,.08),transparent 42%)}.page-stack{padding:8px 10px 88px;gap:0}.page-stack.with-tabs{padding-bottom:88px}.page-stack.chat-stack{padding-bottom:72px}.page,.page-home,.page-timeline,.page-achievements,.page-achievement-detail,.page-poster,.invite-page,.invite-accept-page{gap:var(--app-gap-md)}.page-chat{padding:0;border:0;border-radius:0;background:transparent}.conversation-panel,.conversation-panel-body,.screen-section,.card-grid,.timeline-list,.settings-list,.message-stream,.identity-list,.button-group,.button-row,.button-group.dual,.button-group.vertical,.page-home .screen-section,.metrics-grid,.checkin-task-list,.week-status-grid,.poster-toolbar-section,.avatar-crop-controls,.achievement-level-list{gap:var(--app-gap-sm)}.page-header,.page-header-main{gap:var(--app-gap-sm);align-items:center}.page-header-title{font-size:var(--app-title);line-height:1.12;font-weight:700;letter-spacing:-.02em}.page-header p,.surface-card p,.hero-card p,.muted-text,.helper-text,.hint,.field-hint{font-size:var(--app-meta);line-height:1.45;color:var(--app-text-faint)}.page-header p{margin-top:2px}.page-header-action .button,.page-home .page-header-action .button,.page-timeline .page-header-action .button{min-height:40px;padding:0 12px;font-size:13px}.icon-button{width:40px;height:40px;border:1px solid var(--app-border);border-radius:12px;background:#ffffffeb;box-shadow:none;color:var(--app-text)}.surface-card,.conversation-card,.checkin-fold-summary,.completed-task-group,.identity-progress-card,.achievement-level-row,.week-status-card,.empty-state,.avatar-crop-dialog{padding:10px 12px;border-radius:var(--app-radius);border:1px solid var(--app-border);background:var(--app-surface);box-shadow:none}.cover-card,.hero-card,.hero-summary-card,.celebration-card,.identity-profile-card{padding:12px;border-radius:16px;box-shadow:none}.hero-card,.hero-summary-card,.celebration-card{gap:8px}.hero-card h1,.hero-summary-card h2,.celebration-card h2,.cover-card h2,.identity-profile-copy h2,.achievement-detail-copy h2{font-size:18px;line-height:1.12}.hero-eyebrow,.eyebrow,.section-caption,.template-card-kicker,.identity-profile-copy>span,.identity-progress-kicker{font-size:11px;letter-spacing:.05em}.screen-section-head,.hero-summary-top,.supervisor-card,.timeline-head,.conversation-card-top,.card-head,.field-label-row,.composer-row,.inline-row,.button-row,.button-group.dual,.identity-row,.settings-row,.metric-card,.category-row,.conversation-card-meta,.habit-list-footer,.habit-list-actions,.poster-card-head,.progress-row{gap:var(--app-gap-sm)}.screen-section-head h2,.surface-card h2,.surface-card h3,.timeline-card h3,.checkin-task-main h3,.conversation-card h3,.poster-card-head h3{font-size:var(--app-section-title);line-height:1.2}.button{min-height:40px;padding:0 12px;border-radius:12px;gap:6px;font-size:14px;font-weight:600;transition:background-color .12s ease,color .12s ease,border-color .12s ease,transform .1s ease;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.button:hover{transform:none}.button:active{transform:scale(.97)}.button:disabled{opacity:.5;transform:none}.button-primary{background:linear-gradient(90deg,var(--app-accent),var(--app-accent-strong));box-shadow:none}.button-secondary{background:#edf6f1;color:#1e7554}.button-ghost{background:var(--app-surface-muted);color:#213d32}.button-danger{background:#fff0f0;color:#c33131}.habit-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:6px}.habit-quick-actions .button{flex:0 0 auto;min-height:34px;padding:0 10px;border-radius:10px;font-size:12px}.field{gap:6px}.field-label{font-size:13px;font-weight:700;color:#20362c}.text-input,.text-area,.file-input{min-height:40px;padding:10px 12px;border-radius:12px;border:1px solid var(--app-border);background:var(--app-surface-muted);color:var(--app-text)}.text-area{min-height:96px}.segment{padding:3px;gap:4px;border-radius:12px;background:#eaeeea;border-color:var(--app-border)}.segment-item{min-height:36px;padding:0 10px;border-radius:10px;font-size:13px}.segment-item.active{box-shadow:none;background:linear-gradient(90deg,var(--app-accent),var(--app-accent-strong))}.status-badge{padding:4px 8px;border:1px solid rgba(216,223,217,.8);background:#f4f7f4;color:var(--app-text-muted);font-size:11px}.checkbox-row,.template-card-desc,.timeline-encouragement,.identity-progress-card p,.achievement-detail-copy p,.achievement-level-copy span,.poster-card-head p,.poster-empty-media,.home-overview-copy,.conversation-card-preview,.checkin-task-main .muted-text,.conversation-header-peer span{font-size:var(--app-body);line-height:1.4}.checkbox-row{gap:8px}.pill-row,.calendar-chips,.quick-reply-row,.filter-chip-row,.timeline-pill-row,.template-card-tags{gap:6px}.quick-reply-chip,.filter-chip{padding:6px 10px;border-radius:999px;background:#edf1ed;font-size:12px}.quick-reply-chip{padding:5px 10px;font-size:11px}.filter-chip.active,.conversation-thread-chip.active,.bottom-tab.active{box-shadow:none}.login-page{padding:8px 10px 18px;gap:10px}.login-page .inline-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:end}.send-code-button{width:100%;margin-top:0}.home-overview-card,.timeline-card,.template-card,.habit-list-card,.poster-card,.poster-toolbar-card,.invite-sheet,.invite-share-card,.invite-accept-card{padding:10px 12px;gap:8px}.home-overview-top,.home-overview-bottom,.home-overview-side{gap:8px}.home-overview-card .eyebrow,.home-overview-main .eyebrow,.home-overview-copy,.template-card-frequency,.achievement-section-subtitle{font-size:12px}.home-overview-dashboard,.home-inline-action,.habit-list-action,.template-card-action,.conversation-footer .button-group.dual .button,.composer-row .button,.poster-actions .button{min-height:40px;padding:0 12px;font-size:13px}.template-card-hero,.habit-list-card-hero{min-height:76px;padding:10px;border-radius:12px;box-shadow:none}.template-card-hero h3{font-size:16px;line-height:1.18}.template-card-tags .status-badge,.detail-tag-row .status-badge,.timeline-card .status-badge,.habit-list-frequency-badge>.status-badge{padding:4px 8px}.habit-list-actions{flex-wrap:wrap;justify-content:flex-end}.metrics-grid{gap:8px}.metric-card{padding:10px;border-radius:12px;border:1px solid var(--app-border);background:#ffffffeb;box-shadow:none}.metric-card span,.trend-bar-group span,.category-row span,.identity-row span,.settings-row span,.week-status-card p,.conversation-card-meta span,.conversation-card-read,.message-bubble span{font-size:12px}.metric-card strong,.identity-profile-metric strong{font-size:18px;line-height:1.15}.trend-chart{height:120px;gap:6px}.trend-bar-group{gap:4px}.trend-bar{max-width:18px}.category-list,.message-list-grid{gap:10px}.category-bar-track,.progress-track,.achievement-progress-row .progress-track{height:6px}.photo-grid,.poster-media-grid,.timeline-card .photo-grid{gap:6px}.photo-grid img,.media-choice img,.poster-preview{border-radius:10px}.media-choice{border-width:1px;border-radius:12px}.conversation-card{padding:10px 12px}.conversation-card-roles{margin-top:4px;font-size:11px}.conversation-thread-row{gap:6px}.conversation-thread-chip{min-width:96px;padding:7px 9px;border-radius:12px;border-color:var(--app-border);box-shadow:none}.message-stream{padding:8px;border:1px solid var(--app-border);border-radius:12px;background:#f6f7f5}.message-bubble{max-width:82%;padding:8px 10px;border-radius:12px;gap:4px;box-shadow:none}.message-bubble p{line-height:1.45}.message-bubble.mine:after,.message-bubble.theirs:after{bottom:8px}.conversation-footer{padding:8px;border:1px solid var(--app-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.composer-row .text-input{min-height:40px}.completed-task-group summary,.checkin-task-row,.checkin-task-headline{gap:8px}.checkin-fold-summary,.completed-task-group,.checkin-task-card{border-radius:12px}.checkin-task-card{padding:10px}.checkin-task-toggle{width:24px;height:24px;margin-top:0}.checkin-task-toggle span{width:8px;height:8px}.checkin-task-actions{gap:6px}.month-calendar-weekdays,.month-calendar-grid{gap:4px}.month-calendar-cell{min-height:34px;border-radius:10px}.month-calendar-cell.completed{box-shadow:none}.week-status-card{padding:8px 10px;border-radius:12px}.bottom-tabs{left:0;right:0;bottom:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-radius:0;border:0;border-top:1px solid rgba(216,223,217,.92);background:#f9faf8f5;box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-tab{min-height:48px;gap:3px;border-radius:12px;font-size:10px;color:#85928b;transition:background-color .15s ease,color .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.bottom-tab:active{transform:scale(.92)}.bottom-tab.active{background:#007aff1f;color:var(--app-accent);font-weight:600}.bottom-tab-icon,.bottom-tab-icon svg{width:18px;height:18px}.fixed-bottom-bar{bottom:calc(64px + env(safe-area-inset-bottom));padding-top:4px}.empty-state{padding:16px 12px;text-align:center}.boot-logo,.empty-illustration,.celebration-icon{width:56px;height:56px;border-radius:16px;box-shadow:none}.account-avatar-section{gap:10px;margin-bottom:12px}.account-avatar-preview{width:56px;height:56px;box-shadow:none}.identity-row,.settings-row,.toggle-row{padding:10px 12px;border-radius:12px;background:var(--app-surface-muted)}.toggle-pill{width:48px;height:28px}.toggle-pill span{width:22px;height:22px}.page-achievements{padding:0;border-radius:0;background:transparent}.identity-profile-card,.identity-profile-head{gap:10px}.identity-profile-copy p,.achievement-level-count,.achievement-level-meter,.identity-progress-label,.identity-progress-hint,.achievement-detail-proof,.invite-qr-panel p{font-size:12px}.identity-profile-metrics{gap:6px}.identity-profile-metric{padding:8px 10px;border-radius:12px}.identity-progress-strip{grid-auto-columns:minmax(220px,1fr);gap:8px}.identity-progress-card{min-height:0;border-radius:14px}.achievement-grid{gap:10px 8px}.achievement-tile{min-height:102px;gap:4px}.achievement-fresh-tag{padding:3px 7px;box-shadow:none}.achievement-badge-ribbon{top:38px;width:14px;height:22px}.achievement-badge-ribbon.left{left:calc(50% - 22px)}.achievement-badge-ribbon.right{right:calc(50% - 22px)}.achievement-badge-medal{width:58px;height:58px;padding:6px;box-shadow:none}.achievement-badge-shell.large .achievement-badge-ribbon{top:48px;width:16px;height:28px}.achievement-badge-shell.large .achievement-badge-ribbon.left{left:calc(50% - 26px)}.achievement-badge-shell.large .achievement-badge-ribbon.right{right:calc(50% - 26px)}.achievement-badge-shell.large .achievement-badge-medal{width:76px;height:76px}.achievement-badge-glyph{font-size:18px}.achievement-badge-shell.large .achievement-badge-glyph{font-size:22px}.achievement-card-title{font-size:12px}.achievement-detail-card{padding:12px;gap:10px}.achievement-detail-mantra,.achievement-level-copy strong,.invite-code-pill{font-size:14px}.achievement-detail-actions{gap:8px}.achievement-level-row{padding:10px 12px;border-radius:12px}.poster-preview-shell{padding:8px;border-radius:12px}.poster-preview{box-shadow:none}.invite-page,.invite-accept-page{gap:12px}.toast-stack{bottom:calc(72px + env(safe-area-inset-bottom));gap:8px;width:min(calc(100vw - 20px),360px)}.toast-card{padding:10px 12px;border-radius:12px;box-shadow:none;font-size:13px}.busy-indicator{top:28px;left:10px;right:10px;height:3px}@media(min-width:420px){.phone-frame{border-left:1px solid rgba(216,223,217,.9);border-right:1px solid rgba(216,223,217,.9)}}@media(max-width:540px){.phone-frame{max-width:100%;border-left:0;border-right:0}.page-stack{padding:8px 10px 88px}.page-stack.chat-stack{padding-bottom:72px}.status-bar{padding:0 12px}}:root{--app-bg: #f2f2f7;--app-surface: rgba(255, 255, 255, .96);--app-surface-muted: #f5f5f7;--app-border: rgba(60, 60, 67, .12);--app-border-strong: rgba(60, 60, 67, .18);--app-text: #1c1c1e;--app-text-muted: #3a3a3c;--app-text-faint: #6e6e73;--app-accent: #007aff;--app-accent-strong: #2f80ff}body,button,input,textarea,select{font-family:SF Pro Display,SF Pro Text,Helvetica Neue,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,sans-serif}body{background:linear-gradient(180deg,#fafafc,#f2f2f7 28%,#efeff4)}.status-bar{color:var(--app-text-faint);background:#fafafceb;border-bottom-color:#3c3c4314}.screen-content{background:linear-gradient(180deg,#ffffff9e,#fff0),var(--app-bg)}.app-background{background:radial-gradient(circle at top right,rgba(0,122,255,.08),transparent 40%),radial-gradient(circle at top left,rgba(52,199,89,.06),transparent 38%)}.page-header-title,.surface-card h2,.surface-card h3,.screen-section-head h2,.boot-screen h1,.hero-card h1,.hero-summary-card h2,.celebration-card h2,.template-card-hero h3,.timeline-card h3,.checkin-task-main h3,.conversation-card h3,.identity-profile-copy h2,.identity-progress-top h3,.achievement-detail-copy h2{font-family:SF Pro Display,SF Pro Text,Helvetica Neue,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,sans-serif;letter-spacing:-.025em}.surface-card,.conversation-card,.checkin-fold-summary,.completed-task-group,.identity-progress-card,.achievement-level-row,.week-status-card,.empty-state,.avatar-crop-dialog,.metric-card,.toggle-row,.identity-row,.settings-row{border-color:#3c3c431a;background:#ffffffeb}.surface-card,.template-card,.habit-list-card,.conversation-card,.achievement-tile,.identity-progress-card,.settings-row,.toggle-row{transition:transform .15s ease,box-shadow .15s ease}.surface-card:active,.template-card:active,.habit-list-card:active,.conversation-card:active,.achievement-tile:active,.identity-progress-card:active{transform:scale(.995)}.hero-card,.hero-summary-card,.celebration-card{background:linear-gradient(180deg,#fffffffa,#f2f7fff5);border:1px solid rgba(0,122,255,.1);color:var(--app-text)}.hero-card p,.hero-summary-card .eyebrow,.hero-summary-card p,.celebration-card p{color:var(--app-text-faint)}.hero-summary-card h2{color:var(--app-text)}.hero-summary-card .status-badge{background:#007aff1a;border-color:#007aff1f;color:var(--app-accent)}.cover-card,.template-card-hero,.habit-list-card-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--app-text)}.cover-card:before,.template-card-hero:before,.habit-list-card-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:linear-gradient(180deg,#fffc,#ffffffa3)}.cover-card>*,.template-card-hero>*,.habit-list-card-hero>*{position:relative;z-index:1}.cover-card p,.cover-card .eyebrow,.template-card-kicker,.template-card-desc,.template-card-frequency,.conversation-card-preview,.conversation-card-roles,.achievement-section-subtitle,.identity-progress-card p,.achievement-detail-copy p,.achievement-detail-proof,.achievement-level-copy span{color:var(--app-text-faint)}.template-card-hero h3,.cover-card h2,.habit-list-card-hero h3{color:var(--app-text)}.template-card-hero>.status-badge,.habit-list-hero-meta>.status-badge,.habit-list-frequency-badge>.status-badge{background:#ffffffd1;border-color:#3c3c431a;color:var(--app-text-muted)}.button-primary{background:var(--app-accent);color:#fff}.button-secondary{background:#007aff1f;color:var(--app-accent)}.button-ghost{background:#eff0f4;color:var(--app-text)}.segment{background:#ececf1;border-color:#3c3c4314}.segment-item{color:var(--app-text-faint)}.segment-item.active{background:#fffffffa;color:var(--app-accent);border:1px solid rgba(60,60,67,.06)}.icon-button,.text-input,.text-area,.file-input,.filter-chip,.quick-reply-chip,.month-calendar-cell,.media-choice{border-color:#3c3c431a}.text-input,.text-area,.file-input,.icon-button,.toggle-row,.identity-row,.settings-row{background:#f8f8faeb}.status-badge{background:#f2f2f7f5;border-color:#3c3c4314;color:var(--app-text-muted)}.status-badge.tone-success{background:#34c7591f;color:#23843d}.status-badge.tone-blue{background:#007aff1f;color:#0066d6}.status-badge.tone-amber{background:#ff9f0a24;color:#bf6a00}.status-badge.tone-danger{background:#ff3b301f;color:#d93025}.filter-chip,.quick-reply-chip{background:#eff0f4;color:var(--app-text-muted)}.filter-chip.active{background:#007aff1f;color:var(--app-accent)}.metric-card{background:linear-gradient(180deg,#fffffff5,#f7f8fcf0)}.metric-card span,.trend-bar-group span,.category-row span,.identity-row span,.settings-row span,.week-status-card p,.conversation-card-meta span,.conversation-card-read,.message-bubble span,.field-hint,.helper-text,.hint,.page-header p,.surface-card p,.muted-text{color:var(--app-text-faint)}.conversation-thread-chip{background:#fffffff5;border-color:#3c3c4314}.conversation-thread-chip span,.conversation-thread-chip small{color:var(--app-text-muted)}.conversation-thread-chip.active{background:#007aff1f}.conversation-thread-chip.active span,.conversation-thread-chip.active small{color:var(--app-accent)}.message-stream{background:#f5f5f7}.message-bubble.mine{background:var(--app-accent);color:#fff}.message-bubble.mine span{color:#ffffffe0}.message-bubble.system{background:#e9eef8;color:var(--app-text)}.message-bubble.theirs{background:#fffffffa;border-color:#3c3c431a}.conversation-footer{background:#fafafcf0}.page-chat-coach .conversation-footer{background:#fff8f1f0}.bottom-tabs{background:#f8f8fae6;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);border-top-color:#3c3c431f}.bottom-tab{color:#8e8e93}.bottom-tab.active{background:#007aff1f;color:var(--app-accent)}.identity-profile-card,.identity-profile-card.tone-mover,.identity-profile-card.tone-learner,.identity-profile-card.tone-early-bird,.identity-profile-card.tone-mindful,.identity-profile-card.tone-healthy-eater,.identity-profile-card.tone-neutral{background:linear-gradient(180deg,#fffffffa,#f4f8fff5);border:1px solid rgba(0,122,255,.1);color:var(--app-text)}.identity-profile-copy>span,.identity-profile-metric span,.identity-progress-kicker{color:var(--app-text-faint)}.identity-profile-copy h2,.identity-profile-copy p,.identity-profile-metric strong,.identity-progress-top h3,.identity-progress-label,.achievement-card-title,.achievement-detail-mantra,.achievement-level-copy strong,.invite-code-pill{color:var(--app-text)}.identity-profile-metric{background:#f5f7fbeb;border-color:#007aff14}.identity-progress-card.primary{border-color:#007aff2e;box-shadow:none}.poster-preview-shell{background:linear-gradient(180deg,#f8f9fcfa,#f1f3f9f5);border-color:#3c3c4314}.toast-card{background:#f8f8faf5;color:var(--app-text);border:1px solid rgba(60,60,67,.08)}.toast-success{background:#ecf8effa;color:#1d6f34}.toast-error{background:#fff2f2fa;color:#b3261e}.touch-feedback{transition:transform .1s ease,opacity .1s ease}.touch-feedback:active{transform:scale(.97);opacity:.9}.touch-feedback-subtle:active{opacity:.7}.no-select{user-select:none;-webkit-user-select:none}.page-header{position:sticky;top:-8px;z-index:12;margin:-8px -10px 4px;padding:8px 10px 10px;background:#f2f2f7d1;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid rgba(60,60,67,.1)}.page-header-root .page-header-title{font-size:22px;line-height:1.08;font-weight:700}.page-header-back{min-height:48px}.page-header-back .page-header-main{align-items:center}.page-header-back .page-header-title{font-size:17px;line-height:1.2;font-weight:700}.page-header-back .page-header-main>div{display:flex;flex-direction:column;gap:2px}.page-header-back .icon-button{width:auto;min-width:22px;height:32px;padding:0 4px 0 0;border:0;background:transparent;color:var(--app-accent);font-size:30px;line-height:1}.page-header-back .page-header-action .button,.page-header-root .page-header-action .button{min-height:32px;padding:0 10px;border-radius:10px}.page-header-back .page-header-action .button{background:transparent;color:var(--app-accent)}.surface-card,.settings-list{overflow:hidden}.surface-card>.field+.field,.surface-card>.field+.habit-form-inline-row,.surface-card>.habit-form-inline-row+.field,.surface-card>.account-avatar-section+.field,.surface-card>.supervisor-card+.field,.surface-card>.toggle-row+.toggle-row,.surface-card>.screen-section-head+.identity-list,.surface-card>.screen-section-head+.button-group,.surface-card>.screen-section-head+.card-grid,.surface-card>.screen-section-head+.message-list-grid,.surface-card>.screen-section-head+.timeline-list,.surface-card>.screen-section-head+.achievement-level-list,.surface-card>.screen-section-head+.category-list,.surface-card>.screen-section-head+.progress-row,.surface-card>.screen-section-head+.week-status-grid,.surface-card>.screen-section-head+.photo-grid,.surface-card>.screen-section-head+.calendar-chips,.surface-card>.screen-section-head+.muted-text{margin-top:2px;padding-top:10px;border-top:1px solid rgba(60,60,67,.1)}.surface-card>.field{gap:5px}.surface-card>.field .field-label-row{align-items:baseline}.surface-card>.field .field-label{font-size:12px;font-weight:600;color:var(--app-text-faint)}.surface-card>.field .text-input,.surface-card>.field .text-area,.surface-card>.field select.text-input,.surface-card>.habit-form-inline-row .text-input,.surface-card>.habit-form-inline-row .text-area{background:#fff;border-color:#3c3c431f}.surface-card>.toggle-row{padding:10px 0;border-radius:0;background:transparent}.surface-card>.toggle-row:first-child{padding-top:0}.surface-card>.toggle-row:last-child{padding-bottom:0}.toggle-row span:first-child{font-size:15px;color:var(--app-text);text-align:left}.toggle-pill{background:#d1d1d6}.toggle-pill span{box-shadow:none}.toggle-pill.active{background:#34c759}.settings-list{gap:0;border:1px solid rgba(60,60,67,.1);border-radius:14px;background:#fffffff0}.settings-row{min-height:48px;padding:12px;border-radius:0;border-bottom:1px solid rgba(60,60,67,.1);background:transparent}.settings-row:last-child{border-bottom:0}.settings-row span{color:var(--app-text);font-size:15px}.settings-row strong{color:#c7c7cc;font-size:22px;font-weight:500;line-height:1}.identity-list{gap:0}.identity-list .identity-row{padding:10px 0;border-radius:0;background:transparent}.identity-list .identity-row+.identity-row{border-top:1px solid rgba(60,60,67,.1)}.account-avatar-section{padding-bottom:2px}.account-avatar-copy strong{font-size:16px;color:var(--app-text)}.habit-form-inline-row{gap:8px}.habit-form-inline-row .field{gap:5px}.habit-form-inline-row .field-label{font-size:12px;font-weight:600;color:var(--app-text-faint)}.range-input{accent-color:var(--app-accent)}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.page{animation:page-enter .28s cubic-bezier(.22,.61,.36,1)}.card-grid>*:nth-child(1){animation:slide-up .3s cubic-bezier(.22,.61,.36,1) 0ms both}.card-grid>*:nth-child(2){animation:slide-up .3s cubic-bezier(.22,.61,.36,1) 40ms both}.card-grid>*:nth-child(3){animation:slide-up .3s cubic-bezier(.22,.61,.36,1) 80ms both}.card-grid>*:nth-child(4){animation:slide-up .3s cubic-bezier(.22,.61,.36,1) .12s both}.card-grid>*:nth-child(5){animation:slide-up .3s cubic-bezier(.22,.61,.36,1) .16s both}.card-grid>*:nth-child(6){animation:slide-up .3s cubic-bezier(.22,.61,.36,1) .2s both}.checkin-task-list>*:nth-child(1){animation:slide-up .28s cubic-bezier(.22,.61,.36,1) 0ms both}.checkin-task-list>*:nth-child(2){animation:slide-up .28s cubic-bezier(.22,.61,.36,1) 50ms both}.checkin-task-list>*:nth-child(3){animation:slide-up .28s cubic-bezier(.22,.61,.36,1) .1s both}.checkin-task-list>*:nth-child(4){animation:slide-up .28s cubic-bezier(.22,.61,.36,1) .15s both}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,#3c3c4314,#3c3c431f,#3c3c4314);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.toast-card{animation:toast-enter .3s cubic-bezier(.22,.61,.36,1)}@keyframes toast-enter{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.achievement-tile{transition:transform .18s ease,opacity .18s ease}.achievement-tile:active{transform:scale(.95)}@keyframes badge-unlock{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.achievement-badge-shell.animate-unlock{animation:badge-unlock .5s cubic-bezier(.22,.61,.36,1)}.checkin-task-toggle{transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.checkin-task-toggle:active{transform:scale(.9)}.checkin-task-toggle.checked{animation:toggle-check .3s cubic-bezier(.22,.61,.36,1)}@keyframes toggle-check{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.message-bubble{animation:message-enter .25s cubic-bezier(.22,.61,.36,1)}@keyframes message-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble.mine{animation:message-enter-mine .25s cubic-bezier(.22,.61,.36,1)}@keyframes message-enter-mine{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-fill{transition:width .6s cubic-bezier(.22,.61,.36,1)}.month-calendar-cell{transition:background-color .2s ease,transform .15s ease}.month-calendar-cell.completed{animation:cell-complete .4s cubic-bezier(.22,.61,.36,1)}@keyframes cell-complete{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.identity-progress-card{animation:scale-in .3s cubic-bezier(.22,.61,.36,1)}.status-badge{transition:background-color .2s ease,color .2s ease}.photo-grid img{animation:fade-in .3s ease}.invite-qr-panel{animation:scale-in .35s cubic-bezier(.22,.61,.36,1) .1s both}.avatar-crop-modal{animation:fade-in .2s ease}.avatar-crop-dialog{animation:scale-in .3s cubic-bezier(.22,.61,.36,1)}@keyframes pull-hint{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.pull-hint{animation:pull-hint 1.5s ease-in-out infinite}@supports (padding-bottom: env(safe-area-inset-bottom)){.page-stack,.page-stack.with-tabs{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.page-stack.chat-stack{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.fixed-bottom-bar{bottom:calc(64px + env(safe-area-inset-bottom))}.toast-stack{bottom:calc(72px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.page,.card-grid>*,.checkin-task-list>*,.message-bubble,.achievement-badge-shell,.identity-progress-card,.avatar-crop-dialog{animation:none!important}}.button:focus-visible,.icon-button:focus-visible,.bottom-tab:focus-visible,.achievement-tile:focus-visible,.settings-row:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.empty-state{animation:fade-in .4s ease}.empty-illustration{animation:scale-in .5s cubic-bezier(.22,.61,.36,1) .1s both}.trend-bar{animation:trend-grow .8s cubic-bezier(.22,.61,.36,1) both;transform-origin:bottom}@keyframes trend-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.trend-bar-group:nth-child(1) .trend-bar{animation-delay:0ms}.trend-bar-group:nth-child(2) .trend-bar{animation-delay:50ms}.trend-bar-group:nth-child(3) .trend-bar{animation-delay:.1s}.trend-bar-group:nth-child(4) .trend-bar{animation-delay:.15s}.trend-bar-group:nth-child(5) .trend-bar{animation-delay:.2s}.trend-bar-group:nth-child(6) .trend-bar{animation-delay:.25s}.trend-bar-group:nth-child(7) .trend-bar{animation-delay:.3s}.trend-bar-group:nth-child(8) .trend-bar{animation-delay:.35s}.trend-bar-group:nth-child(9) .trend-bar{animation-delay:.4s}.trend-bar-group:nth-child(10) .trend-bar{animation-delay:.45s}.home-inline-action{transition:transform .15s ease,box-shadow .15s ease}.home-inline-action:active{transform:scale(.95)}.category-bar-fill{transition:width .8s cubic-bezier(.22,.61,.36,1)}.conversation-thread-chip{transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.conversation-thread-chip:active{transform:scale(.95)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{display:flex;justify-content:center;align-items:center}.loading-spinner{animation:spin .8s linear infinite}.pull-refresh-hint{display:flex;justify-content:center;align-items:center;padding:12px;color:var(--app-text-faint);font-size:13px}::-webkit-scrollbar{width:0;height:0}.text-input:focus,.text-area:focus{outline:none;border-color:var(--app-accent);background:#fff}.icon-button{transition:background-color .15s ease,transform .1s ease}.icon-button:active{transform:scale(.92);background:#007aff1a}.avatar{transition:transform .15s ease}.avatar-button:active .avatar{transform:scale(.95)}.inline-link{color:var(--app-accent);text-decoration:none;transition:opacity .15s ease}.inline-link:active{opacity:.6}.filter-chip{transition:background-color .15s ease,color .15s ease,transform .1s ease}.filter-chip:active{transform:scale(.95)}.quick-reply-chip{transition:background-color .15s ease,transform .1s ease}.quick-reply-chip:active{transform:scale(.95)}.conversation-card{cursor:pointer;transition:background-color .15s ease,transform .15s ease}.conversation-card:hover{background:#fffffffa}.template-card{transition:transform .15s ease,box-shadow .15s ease}.habit-list-card{transition:transform .15s ease}.achievement-tile{cursor:pointer;-webkit-tap-highlight-color:transparent}.identity-row,.settings-row{transition:background-color .15s ease}.identity-row:active,.settings-row:active{background:#007aff0d}.toggle-row{cursor:pointer;-webkit-tap-highlight-color:transparent}.toggle-row:active{background:#007aff0d}.toggle-pill{transition:background-color .2s ease}.toggle-pill span{transition:transform .2s ease}.toggle-pill.active span{transform:translate(22px)}.media-choice{transition:border-color .15s ease,transform .15s ease;cursor:pointer}.media-choice:active{transform:scale(.97)}.media-choice.active{border-color:var(--app-accent);border-width:2px}.poster-preview{transition:transform .2s ease}.poster-preview-shell:active .poster-preview{transform:scale(.98)}.week-status-card{transition:background-color .15s ease,transform .15s ease}.week-status-card:active{transform:scale(.995)}.timeline-card{transition:transform .15s ease}.timeline-card:active{transform:scale(.995)}.achievement-level-row{transition:background-color .15s ease,transform .15s ease}.achievement-level-row:active{transform:scale(.995)}.metric-card{transition:background-color .15s ease,transform .15s ease}.metric-card:active{transform:scale(.98)}.category-row{transition:opacity .15s ease}.month-calendar-cell:not(.empty):active{background:#007aff1a;transform:scale(.95)}.segment-item{transition:background-color .15s ease,color .15s ease}.status-bar,.bottom-tabs{user-select:none;-webkit-user-select:none}.page-stack{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.photo-grid img{transition:transform .2s ease}.photo-grid img:active{transform:scale(.97)}
