.phone-screen{overflow:hidden}
.app-preview{height:100%;position:relative;padding-bottom:72px;overflow:hidden;user-select:none}
.app-header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:4px 3px 7px}
.app-logo{font-family:'Instrument Serif',Georgia,serif;font-size:24px;letter-spacing:-.3px}
.brand .app-logo{font-size:30px}
.app-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--moss-tint);color:var(--moss);font-size:10.5px;font-weight:700}
.screen-viewport{position:relative;width:100%;height:calc(100% - 54px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-y;cursor:grab}
.screen-viewport::-webkit-scrollbar{display:none}
.screen-viewport.dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.screen-track{width:100%;min-width:0;height:100%;display:flex}
.app-page{flex:0 0 100%;width:100%;min-width:100%;height:100%;box-sizing:border-box;overflow:hidden;padding:0;scroll-snap-align:start;scroll-snap-stop:always}
.app-stack{display:grid;gap:9px}
.app-net-card{background:var(--surface);border-radius:28px;padding:18px 18px 15px}
.app-eyebrow{font-size:9.5px;letter-spacing:.04em;color:var(--muted);font-weight:600}
.app-net-worth{font-family:'Instrument Serif',Georgia,serif;font-size:43px;line-height:1;letter-spacing:-1px;margin-top:5px}
.app-delta-row{display:flex;align-items:center;gap:8px;margin-top:8px}
.app-pill{background:var(--moss-tint);color:var(--moss);font-size:9px;font-weight:700;border-radius:999px;padding:5px 8px}
.app-count{font-size:9px;color:var(--muted);font-weight:500}
.app-snapshot{display:flex;gap:30px;margin-top:13px;padding-top:11px;border-top:1px solid var(--hairline)}
.app-snapshot-label{font-size:8.5px;color:var(--muted);font-weight:500}
.app-snapshot-value{font-size:10.5px;color:var(--ink);font-weight:700;margin-top:2px}
.app-snapshot-value.owed{color:var(--terracotta)}
.app-sync{font-size:8.3px;color:var(--muted);font-weight:500;margin-top:11px}
.app-instruction{font-size:9px;color:var(--muted);font-weight:600;padding:4px 3px 0}
.app-group{border-radius:25px;padding:14px 16px 13px}
.app-group.cash{background:var(--surface)}
.app-group.invested{background:var(--moss-tint);color:var(--moss-deep)}
.app-group.owed{background:var(--ink);color:var(--ink-inverse)}
.app-group-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.app-group-name{font-size:10.5px;font-weight:700}
.app-group-count{font-size:8.5px;font-weight:600;color:var(--muted)}
.app-group.invested .app-group-count{color:var(--moss-mid)}
.app-group.owed .app-group-count{color:var(--muted-on-ink)}
.app-group-total{font-family:'Instrument Serif',Georgia,serif;font-size:26px;line-height:1;letter-spacing:-.5px;margin-top:5px}
.app-segments{height:5px;display:flex;gap:4px;margin-top:10px}
.app-segments span{display:block;border-radius:999px;background:var(--moss)}
.app-group.owed .app-segments span{background:var(--terracotta)}
.app-tabs{position:absolute;left:0;right:0;bottom:0;height:58px;border-radius:999px;padding:6px;background:var(--ink);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;box-shadow:0 10px 30px rgba(23,21,15,.16);z-index:5}
.app-tab{border:0;background:transparent;height:46px;border-radius:999px;display:grid;place-items:center;color:var(--muted-on-ink);font-family:'Archivo',sans-serif;font-size:9px;font-weight:700;cursor:pointer}
.app-tab.active{background:rgba(247,244,238,.96);border:1px solid rgba(255,255,255,.72);color:var(--ink);box-shadow:inset 0 8px 13px rgba(255,255,255,.13)}
.drag-hint{position:absolute;z-index:4;right:-18px;top:54px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid var(--border);box-shadow:0 8px 24px rgba(23,21,15,.08);font-size:8.5px;font-weight:700;color:var(--muted);letter-spacing:.02em;pointer-events:none;transition:opacity 180ms ease}
.drag-hint.hidden{opacity:0}
.money-pills{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.money-pill{padding:7px 10px;border-radius:999px;background:var(--sand);font-size:8.5px;font-weight:700;color:var(--body)}
.money-pill.active{background:var(--ink);color:var(--ink-inverse)}
.page-title{font-family:'Instrument Serif',Georgia,serif;font-size:30px;line-height:1;margin:2px 0 10px}
.mini-card{border-radius:24px;background:var(--surface);padding:15px}
.mini-dark{background:var(--ink);color:var(--ink-inverse)}
.mini-sand{background:var(--sand)}
.mini-moss{background:var(--moss-tint)}
.mini-label{font-size:8.5px;font-weight:700;letter-spacing:.08em;color:var(--muted)}
.mini-dark .mini-label{color:var(--muted-on-ink)}
.mini-title{font-size:11px;font-weight:700;margin-top:5px}
.mini-copy{font-size:8.7px;line-height:1.45;color:var(--body);margin-top:5px}
.mini-dark .mini-copy{color:#C9C3B7}
.mini-amount{font-family:'Instrument Serif',Georgia,serif;font-size:30px;line-height:1;margin-top:5px}
.mini-dark .mini-amount{color:var(--ink-inverse)}
.money-row,.feed-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--hairline)}
.money-row:first-of-type,.feed-row:first-of-type{border-top:0}
.row-name{font-size:9.5px;font-weight:700}
.row-meta{font-size:8px;color:var(--muted);margin-top:2px}
.row-amount{font-size:9.5px;font-weight:700}
.row-amount.negative{color:var(--terracotta)}
.target-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
.target-ring{width:62px;height:62px;border-radius:50%;border:6px solid var(--moss-mid);display:grid;place-items:center}
.target-ring strong{font-family:'Instrument Serif',Georgia,serif;font-size:19px}
.target-ring span{font-size:6.5px;color:#C9C3B7}
.target-ring-center{text-align:center}
.goal-card{background:var(--surface);border-radius:22px;padding:13px}
.goal-top{display:flex;justify-content:space-between;gap:10px}
.goal-name{font-size:10px;font-weight:700}
.goal-pct{font-size:9px;font-weight:700;color:var(--moss)}
.goal-pct.terracotta{color:var(--terracotta)}
.goal-bar{height:9px;border-radius:999px;background:var(--hairline);overflow:hidden;margin-top:10px}
.goal-bar span{display:block;height:100%;background:var(--moss);border-radius:inherit}
.goal-progress-64{width:64%}
.goal-progress-38{width:38%;background:var(--terracotta)!important}
.goal-progress-21{width:21%}
.goal-meta{font-size:8px;color:var(--muted);margin-top:7px}
.feed-score{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.feed-score .score{font-family:'Instrument Serif',Georgia,serif;font-size:36px}
.feed-score .status{font-size:8px;font-weight:700;color:var(--moss);background:var(--moss-tint);padding:6px 8px;border-radius:999px}
.progress-card{background:var(--moss-deep);border-radius:24px;padding:15px;color:var(--ink-inverse)}
.progress-card .mini-label{color:#8bbca5}
.progress-card .mini-copy{color:#c7d7cf}
.progress-stat{display:flex;justify-content:space-between;align-items:center;margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:8.5px}
.segment-flex-145{flex:1.45}
.segment-flex-055{flex:.55}
.segment-flex-170{flex:1.7}
.segment-flex-030{flex:.3}
.segment-flex-120{flex:1.2}
.segment-flex-080{flex:.8}
.privacy-policy-link{color:#F7F4EE;font-weight:700}
.cta-eyebrow{margin-bottom:14px}
.support-contact-eyebrow{color:#A79F92;margin-bottom:0}
