:root{--color-bg:#f5f1ea;--color-surface:#fff;--color-surface-alt:#f1e9dc;--color-border:#e4d9c8;--color-border-soft:#ece3d3;--color-text:#241a15;--color-text-muted:#7c6f5f;--color-text-faint:#b0a390;--color-primary:#5c1429;--color-accent:#7a1d38;--color-accent-dark:#5c1429;--color-accent-soft:#f1e0e3;--color-success:#2f6f4e;--color-success-soft:#e4efe7;--color-danger:#a3392c;--color-danger-soft:#f5e6e2;--radius-lg:18px;--radius-md:12px;--radius-sm:9px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--shadow-card:0 1px 2px rgba(34,29,22,.04),0 10px 28px rgba(34,29,22,.06);--shadow-card-hover:0 2px 4px rgba(34,29,22,.05),0 16px 36px rgba(34,29,22,.1);--font-display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"URW Palladio L",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body,html{overflow-x:hidden;width:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}.shell{max-width:460px;margin:0 auto;min-height:100vh;background:var(--color-bg);padding-bottom:88px;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.cover,.shell{position:relative}.cover{min-height:240px;background:radial-gradient(120% 140% at 15% 0,hsla(0,0%,100%,.1),transparent 55%),linear-gradient(150deg,#2c0e18,#45101f 48%,#5c1429);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-6) var(--space-5) var(--space-5);color:#fdfaf4}.cover:after{content:"";position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.05) 1px,transparent 0);background-size:100% 3px;opacity:.5;pointer-events:none}.cover .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;opacity:.72;font-weight:600}.cover .name{font-family:var(--font-display);font-size:28px;font-weight:500;margin-top:6px;letter-spacing:.01em;line-height:1.2}.content{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);margin-top:-28px}.panel{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-card)}a.panel{text-decoration:none;color:inherit;display:block;transition:box-shadow .15s ease,transform .15s ease}a.panel:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.panel-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600;margin-bottom:var(--space-2)}.page-title{font-family:var(--font-display);font-size:21px;font-weight:500;margin:var(--space-5) 0 var(--space-3)}.row-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}.metric .label{font-size:12px;color:var(--color-text-muted)}.metric .value{font-family:var(--font-display);font-size:22px;font-weight:500;margin-top:2px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-dark);font-size:12px;font-weight:700;letter-spacing:.02em}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.muted-note{color:var(--color-text-muted);font-size:13px;line-height:1.55}.divider{height:1px;background:var(--color-border-soft);margin:var(--space-4) 0;border:none}.placeholder-row{display:flex;align-items:center;gap:var(--space-4)}.placeholder-ring{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:2.5px dashed var(--color-border)}.nav-bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:460px;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border-soft);display:flex;padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.nav-bottom .item{flex:1 1;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:var(--space-2) 2px;font-size:10.5px;font-weight:600;letter-spacing:.01em;color:var(--color-text-faint);text-decoration:none}.nav-bottom .item svg{width:20px;height:20px}.nav-bottom .item.active{color:var(--color-accent-dark)}.nav-bottom .item.disabled{color:var(--color-text-faint);opacity:.55}.btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:15px 20px;font-weight:700;font-size:14px;width:100%;cursor:pointer;transition:opacity .15s ease}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);padding:14px 20px;font-weight:600;cursor:pointer}.btn-secondary,.input{border-radius:var(--radius-md);font-size:14px;width:100%}.input{padding:13px 14px;border:1px solid var(--color-border);font-family:inherit;background:var(--color-surface);color:var(--color-text)}.input:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-4)}.field label{font-size:12px;color:var(--color-text-muted);font-weight:600}.center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--color-bg)}.brand-mark{font-family:var(--font-display);font-size:24px;letter-spacing:.03em;font-weight:500;text-align:center}.sub-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-5) 0;padding-top:max(var(--space-5),env(safe-area-inset-top));background:var(--color-bg);position:-webkit-sticky;position:sticky;top:0;z-index:5}.sub-header h1{font-family:var(--font-display);font-size:20px;font-weight:500;margin:0}.back-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);font-size:20px;line-height:1;color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.back-btn:hover{background:var(--color-surface-alt)}.room-card{gap:var(--space-4)}.room-card,.room-card .thumb{display:flex;align-items:center}.room-card .thumb{width:64px;height:64px;border-radius:var(--radius-md);flex-shrink:0;background:linear-gradient(135deg,var(--color-accent-soft),var(--color-surface-alt));justify-content:center;color:var(--color-accent);font-weight:700;font-size:12px}.room-card .body{flex:1 1;min-width:0}.room-card .title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-card .name{font-weight:600;font-size:15px}.tab-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);overflow-x:auto}.tab-pill{padding:7px 16px;border-radius:var(--radius-pill);font-size:12.5px;font-weight:600;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.tab-pill.active{background:var(--color-text);color:#fff;border-color:var(--color-text)}.timeline-item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-soft)}.timeline-item:last-child{border-bottom:none}.timeline-item .dot{width:8px;height:8px;border-radius:50%;background:var(--color-accent);margin-top:6px;flex-shrink:0}.timeline-item .date{font-size:11px;color:var(--color-text-faint)}.modal-overlay{position:fixed;inset:0;background:rgba(34,29,22,.55);display:flex;align-items:center;justify-content:center;padding:var(--space-5);z-index:100}.modal-panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);max-width:420px;width:100%;box-shadow:var(--shadow-card-hover);max-height:85vh;overflow-y:auto}.modal-panel h2{font-family:var(--font-display);font-size:19px;font-weight:500;margin:0}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-4)}.modal-header button{background:none;color:var(--color-text-muted)}.lightbox-nav,.modal-header button{border:none;font-size:20px;cursor:pointer;line-height:1}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(34,29,22,.6);color:#fff;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center}.lightbox-nav-prev{left:4px}.lightbox-nav-next{right:4px}.option-select-card{border:2px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:8px;cursor:pointer;background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.option-select-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.option-select-thumb{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);background:var(--color-surface-alt)}.option-select-thumb-row{display:flex;gap:6px;overflow-x:auto}.option-select-thumb-row .option-select-thumb{width:84px;height:84px;aspect-ratio:auto;flex-shrink:0}.option-selected-tag{font-size:11px;color:#fff;background:var(--color-accent-dark)}.option-selected-tag,.recommended-tag{display:inline-flex;align-items:center;gap:4px;font-weight:700;border-radius:var(--radius-pill);padding:3px 10px;align-self:flex-start}.recommended-tag{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent-dark);background:var(--color-accent-soft)}.notification-bell-btn{position:relative;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.notification-bell-btn.on-dark{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.25);color:#fdfaf4}.notification-bell-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-hover);z-index:150;text-align:left}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-soft);font-weight:600;font-size:13px;position:-webkit-sticky;position:sticky;top:0;background:var(--color-surface)}.notification-mark-all{background:none;border:none;color:var(--color-accent-dark);font-size:12px;font-weight:600;cursor:pointer}.notification-group-label{padding:var(--space-2) var(--space-4);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.notification-item{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;gap:8px;width:100%;padding:var(--space-2) var(--space-4);cursor:pointer}.notification-item:hover{background:var(--color-surface-alt)}.notification-item-dot{width:6px;height:6px;border-radius:50%;margin-top:5px;flex-shrink:0;background:transparent}.notification-item.unread .notification-item-dot{background:var(--color-accent)}.push-opt-in-panel{background:linear-gradient(150deg,#2c0e18,#5c1429);color:#fdfaf4;border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:10px}.push-opt-in-panel .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.75;font-weight:600}.push-opt-in-panel .headline{font-family:var(--font-display);font-size:19px;font-weight:500}.push-opt-in-panel p{font-size:13px;opacity:.85;line-height:1.5;margin:0}.push-opt-in-actions{display:flex;gap:10px;margin-top:4px}.push-opt-in-actions .btn-primary{flex:1 1;background:#fdfaf4;color:var(--color-text)}.push-opt-in-actions .btn-secondary{flex:1 1;border-color:hsla(0,0%,100%,.3);color:hsla(0,0%,100%,.8)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.section-header .panel-title{margin-bottom:0}.section-header .section-header-sub{font-size:12px;color:var(--color-text-muted);margin-top:2px}.alert-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface);text-decoration:none;color:inherit}.alert-card .alert-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;flex-shrink:0}.alert-card.sev-critical .alert-dot{background:var(--color-danger)}.alert-card.sev-warning .alert-dot{background:var(--color-accent-dark)}.alert-card.sev-info .alert-dot{background:#5b7ba8}.alert-card .alert-title{font-weight:600;font-size:14px}.alert-card .alert-desc{font-size:12.5px;color:var(--color-text-muted);margin-top:2px}.alert-card .alert-due{font-size:11px;color:var(--color-text-muted);margin-top:4px}.alert-list{display:flex;flex-direction:column;gap:var(--space-3)}.progress-bar{position:relative;height:7px;border-radius:var(--radius-pill);background:var(--color-surface-alt);overflow:hidden}.progress-bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--color-accent);transition:width .2s ease}.progress-bar-fill.complete{background:var(--color-success)}@keyframes skeleton-pulse{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.skeleton{background:var(--color-surface-alt);border-radius:var(--radius-sm);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-line{height:12px;border-radius:4px;margin-bottom:8px}.skeleton-line:last-child{margin-bottom:0}.skeleton-panel{height:84px;border-radius:var(--radius-lg)}.confirm-message{font-size:13.5px;color:var(--color-text-muted);margin:0 0 var(--space-5);line-height:1.55}.confirm-actions{display:flex;gap:10px}.photo-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.photo-strip .photo-strip-item{width:88px;height:88px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;background:var(--color-surface-alt)}.login-shell{max-width:460px;margin:0 auto;min-height:100vh}.login-hero,.login-shell{display:flex;flex-direction:column}.login-hero{position:relative;min-height:min(42vh,360px);flex-shrink:0;justify-content:space-between;padding:var(--space-6) var(--space-5) calc(var(--space-7) + var(--space-4));padding-top:max(var(--space-6),env(safe-area-inset-top));color:#fdf8f0;background-image:linear-gradient(180deg,rgba(15,6,10,.34),rgba(15,6,10,.16) 38%,rgba(20,8,14,.86)),url(/branding/login-hero.png),linear-gradient(165deg,#2c0e18,#430e1e 45%,#5c1429);background-size:cover,cover,cover;background-position:50%,50%,50%;background-repeat:no-repeat,no-repeat,no-repeat;overflow:hidden}.login-hero-motif{position:absolute;inset:0;opacity:.4;pointer-events:none}.login-hero-brand{font-family:var(--font-display);font-size:20px;font-weight:500;letter-spacing:.04em;position:relative}.login-hero-brand .sub{display:block;font-family:var(--font-sans);font-size:9.5px;letter-spacing:.28em;color:hsla(40,69%,97%,.55);font-weight:700;margin-top:3px}.login-hero-greeting{position:relative}.login-hero-greeting .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:hsla(40,69%,97%,.6);font-weight:700;margin-bottom:8px}.login-hero-greeting h1{font-family:var(--font-display);font-size:26px;font-weight:500;line-height:1.3;margin:0}.login-panel-wrap{flex:1 1;margin-top:calc(-1 * var(--space-7));padding:0 var(--space-5) var(--space-6);position:relative}.login-panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);box-shadow:var(--shadow-card-hover);border:1px solid var(--color-border-soft)}.login-panel .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);font-weight:700;margin-bottom:4px}.login-panel h2{font-family:var(--font-display);font-size:21px;font-weight:500;margin:0 0 var(--space-5)}.login-dev-hint{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-md);font-size:11.5px;color:var(--color-text-muted);line-height:1.6}@media (min-width:860px){.login-shell{max-width:none;flex-direction:row}.login-hero{flex:1 1 50%;min-height:100vh;padding:var(--space-7)}.login-panel-wrap{flex:1 1 50%;margin-top:0;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.login-panel{width:100%;max-width:400px}}.home-hero{position:relative;min-height:min(48vh,400px);display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-5) var(--space-5) calc(var(--space-7) + var(--space-3));padding-top:max(var(--space-5),env(safe-area-inset-top));color:#fdf8f0;overflow:hidden}.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0}.home-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,10,10,.28),rgba(20,10,10,.04) 28%,rgba(32,11,18,.22) 58%,rgba(44,14,24,.88))}.home-hero.no-image{background:radial-gradient(120% 90% at 20% 0,hsla(0,0%,100%,.08),transparent 55%),linear-gradient(165deg,#2c0e18,#430e1e 45%,#5c1429)}.home-hero-top{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between}.home-hero-brand{font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:.04em}.home-hero-greeting{position:relative;z-index:2}.home-hero-greeting .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:hsla(40,69%,97%,.65);font-weight:700;margin-bottom:6px}.home-hero-greeting h1{font-family:var(--font-display);font-size:24px;font-weight:500;margin:0;line-height:1.25}.home-summary-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5) var(--space-5);box-shadow:var(--shadow-card-hover);border:1px solid var(--color-border-soft);margin-top:-56px;position:relative;z-index:2;text-decoration:none;color:inherit;display:block}.home-summary-title{font-family:var(--font-display);font-size:20px;font-weight:500;margin-top:0}.home-summary-location{font-size:12.5px;color:var(--color-text-muted);margin-top:2px}.home-summary-block{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-soft)}.home-summary-block-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:700;margin-bottom:4px}.home-summary-block-value{font-size:13px;font-weight:600}.home-summary-progress-row{display:flex;align-items:center;gap:10px}.home-summary-progress-row .pct{font-family:var(--font-display);font-size:19px;font-weight:500;flex-shrink:0;width:46px}.home-summary-dates{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.home-summary-address,.home-summary-dates{margin-top:var(--space-4)}.home-summary-address .lines{font-size:13px;line-height:1.5;color:var(--color-text)}.home-summary-milestone{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-soft)}.home-summary-milestone .label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:700}.home-summary-milestone .title{font-size:13px;font-weight:600;margin-top:2px}.home-summary-milestone .date{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.room-hero-image{object-fit:cover;background:var(--color-surface-alt)}.room-hero-image,.room-hero-image-empty{width:100%;height:220px;border-radius:var(--radius-lg)}.room-hero-image-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--color-text-muted);background:linear-gradient(150deg,var(--color-surface-alt) 0,#ece0d0 100%);border:1px dashed var(--color-border)}.room-hero-image-empty span{font-size:12px;font-weight:600}.room-progress-block{margin-top:var(--space-4)}.room-progress-block .value-row{display:flex;align-items:center;gap:12px}.room-progress-block .pct{font-family:var(--font-display);font-size:28px;font-weight:500}.room-progress-block .bar-wrap{flex:1 1}.home-room-card{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-soft);text-decoration:none;color:inherit}.home-room-card:last-child{border-bottom:none}.home-room-card .thumb{width:52px;height:52px;border-radius:var(--radius-sm);flex-shrink:0;object-fit:cover;background:var(--color-surface-alt)}.home-room-card .body{flex:1 1;min-width:0}.home-room-card .name{font-weight:600;font-size:13.5px}.home-room-card .meta{font-size:12px;color:var(--color-text-muted);margin-top:1px}.home-room-card .pct{font-family:var(--font-display);font-size:15px;font-weight:500;flex-shrink:0}.onboarding-overlay{position:fixed;inset:0;z-index:300;background:var(--color-bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:flex;overflow-y:auto}.onboarding-inner{max-width:460px;width:100%;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:var(--space-5)}.onboarding-topbar{display:flex;align-items:center;justify-content:space-between;min-height:32px}.onboarding-progress-dots{display:flex;gap:6px}.onboarding-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--color-border);transition:background .15s ease,width .15s ease}.onboarding-dot.done{background:var(--color-accent-soft)}.onboarding-dot.active{width:18px;background:var(--color-accent-dark)}.onboarding-skip{background:none;border:none;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;padding:var(--space-2)}.onboarding-body{flex:1 1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-3);padding:var(--space-6) 0}.onboarding-hero-icon{width:56px;height:56px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-dark);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.onboarding-hero-icon-lg{width:64px;height:64px}.onboarding-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent-dark);font-weight:700}.onboarding-title{font-family:var(--font-display);font-size:25px;font-weight:500;line-height:1.28;margin:4px 0 2px}.onboarding-copy{font-size:13.5px;color:var(--color-text-muted);line-height:1.6}.onboarding-actions{display:flex;gap:10px;padding-top:var(--space-4)}.onboarding-actions .btn-secondary{width:auto;flex:0 0 auto;padding-left:22px;padding-right:22px}.onboarding-actions .btn-primary{flex:1 1}.onboarding-cover{width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);object-fit:cover;background:var(--color-surface-alt);margin-bottom:var(--space-4)}.onboarding-cover-fallback{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 20% 0,hsla(0,0%,100%,.08),transparent 55%),linear-gradient(165deg,#2c0e18,#430e1e 45%,#5c1429);color:#fdf8f0;font-family:var(--font-display);font-size:22px;letter-spacing:.04em;font-weight:500}.onboarding-install-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--space-3)}.onboarding-install-card .onboarding-copy{margin:0}.onboarding-install-done{flex-direction:row;align-items:center;gap:var(--space-3);color:var(--color-success)}.onboarding-install-card-title{font-weight:700;font-size:14px;color:var(--color-text)}.onboarding-install-card-sub{font-size:12.5px;color:var(--color-text-muted);margin-top:2px}.onboarding-ios-steps{display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.onboarding-ios-step{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5}.onboarding-ios-step .num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-dark);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.onboarding-replay-link{background:none;border:none;color:var(--color-text-muted);font-size:13px;text-decoration:underline;cursor:pointer;padding:0}