@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--paper: #FCFCF9;--paper-deep: #F4F4EE;--paper-edge: #E2E2D6;--paper-shadow: #C8C8BA;--ink: #2E3B25;--ink-soft: #4A6741;--ink-fade: #6B7B5C;--ink-whisper: #97A088;--gild: #B8864A;--gild-deep: #8E642E;--wild-rose: #D26478;--wild-rose-deep: #B04556;--moss: #7A9869;--moss-deep: #5E7A4E;--rust: #B15A2E;--slate: #5A6170;--display: "Manrope", -apple-system, "Segoe UI", Roboto, sans-serif;--body: "Manrope", -apple-system, "Segoe UI", Roboto, sans-serif;--display-settings: normal;--body-settings: normal;--tap: 56px;--rule-weight: 1px;--rule-double-gap: 3px;--shadow-ink: 0 1px 0 rgba(46, 59, 37, .06), 0 4px 12px -6px rgba(46, 59, 37, .18);--shadow-pressed: 0 1px 0 rgba(46, 59, 37, .04) inset;--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--safe-right: env(safe-area-inset-right);color-scheme:light;font-family:var(--body);font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%;overscroll-behavior:none}body{background:var(--paper)}#root{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative;background:var(--paper);box-shadow:0 0 0 1px var(--paper-edge);padding-top:var(--safe-top);padding-left:var(--safe-left);padding-right:var(--safe-right)}h1,h2,h3,h4{font-family:var(--display);font-feature-settings:"liga" 1,"calt" 1;font-variation-settings:var(--display-settings);color:var(--ink);line-height:1.08;letter-spacing:-.025em}h1{font-weight:600;font-size:38px}h2{font-weight:600;font-size:30px}h3{font-weight:600;font-size:22px}h4{font-weight:600;font-size:18px}p{color:var(--ink)}.smallcaps{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--ink-fade)}.smallcaps-lg{font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--ink-fade)}.figures{font-feature-settings:"tnum" 1,"liga" 1;font-variant-numeric:tabular-nums}.italic{font-family:var(--body);font-weight:400;color:var(--ink-fade);font-size:15px;line-height:1.55}.rule{border:none;border-top:var(--rule-weight) solid var(--paper-edge);margin:0}.rule-double{border:none;border-top:1px solid var(--paper-edge);height:0}.rule-thin{border:none;border-top:1px solid var(--paper-edge)}button{font-family:var(--body);font-size:15px;font-weight:500;color:var(--ink);background:var(--paper-deep);border:1px solid var(--paper-edge);border-radius:6px;padding:14px 18px;min-height:var(--tap);cursor:pointer;touch-action:manipulation;transition:transform .12s ease,box-shadow .16s ease,background .14s ease;-webkit-tap-highlight-color:transparent}button:active{transform:translateY(1px);background:var(--paper-edge);box-shadow:var(--shadow-pressed)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--wild-rose);border:1px solid var(--wild-rose-deep);color:var(--paper);font-weight:600;letter-spacing:.01em;box-shadow:var(--shadow-ink)}button.primary:active{background:var(--wild-rose-deep)}button.primary:disabled{background:var(--paper-edge);border-color:var(--paper-shadow);color:var(--ink-whisper);box-shadow:none}button.ghost{background:transparent;border:1px solid var(--paper-edge);color:var(--ink-soft)}button.ghost:active{background:var(--paper-deep)}button.link-btn{background:transparent;border:none;color:var(--ink-soft);font-family:var(--body);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:8px 4px;min-height:auto;min-width:auto;text-decoration:underline;text-decoration-color:var(--paper-edge);text-underline-offset:4px}button.link-btn:active{color:var(--gild-deep);background:transparent}input[type=text],input[type=email],input[type=password],input[type=number]{font-family:var(--body);font-size:16px;color:var(--ink);background:var(--paper);border:none;border-bottom:1px solid var(--paper-edge);border-radius:0;padding:12px 4px 10px;width:100%;transition:border-color .18s ease}input:focus{outline:none;border-bottom-color:var(--ink-soft)}input::placeholder{color:var(--ink-whisper);font-family:var(--body);font-weight:400}.chip{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:var(--paper);border:1px solid var(--paper-edge);border-radius:6px;color:var(--ink);font-size:14px;font-weight:500;min-height:44px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .14s ease,border-color .14s ease,color .14s ease}.chip:active{background:var(--paper-deep)}.chip.selected{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--paper)}.chip.inferred{border:1px dashed var(--moss);color:var(--moss-deep)}.card{background:var(--paper);border:1px solid var(--paper-edge);border-radius:6px;padding:20px 18px;margin:12px 18px;box-shadow:var(--shadow-ink)}.card-inline{background:var(--paper-deep);border:1px solid var(--paper-edge);border-radius:6px;padding:14px 16px}.ledger-row{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;min-height:72px;background:var(--paper);border:none;border-bottom:1px solid var(--paper-edge);border-radius:0;text-align:left;cursor:pointer;transition:background .14s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:var(--body)}.ledger-row:first-of-type{border-top:1px solid var(--paper-edge)}.ledger-row:active{background:var(--paper-deep)}.ledger-row-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.ledger-row-icon img{width:100%;height:100%;object-fit:contain}.ledger-row-label{flex:1;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.2}.ledger-row-meta{font-family:var(--body);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-whisper);margin-top:3px}.ledger-row-chevron{color:var(--paper-shadow);font-size:18px;flex-shrink:0}.app{display:flex;flex-direction:column;min-height:100dvh;background:transparent}.app-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;gap:16px;border-bottom:1px solid var(--paper-edge)}.app-header-wordmark{height:32px;width:auto;display:block;opacity:.92}.session-active{font-family:var(--body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--wild-rose-deep);display:inline-flex;align-items:center;gap:6px}.session-active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--wild-rose);box-shadow:0 0 0 2px #d2647840;animation:pulse 2s ease-in-out infinite}.app-main{flex:1;overflow-y:auto;padding-bottom:24px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.tab-bar{display:flex;background:var(--paper);position:sticky;bottom:0;padding-bottom:max(var(--safe-bottom),4px);border-top:1px solid var(--paper-edge)}.tab-bar button{flex:1;background:transparent;border:none;border-radius:0;padding:18px 8px;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink-fade);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;position:relative}.tab-bar button img{width:26px;height:26px;object-fit:contain;opacity:.65;transition:opacity .16s ease,transform .18s ease}.tab-bar button.active{color:var(--ink-soft)}.tab-bar button.active img{opacity:1;transform:scale(1.08)}.tab-bar button.active:after{content:"";position:absolute;bottom:10px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--gild)}.tab-bar button:active{background:transparent}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:64px 24px;min-height:60vh;text-align:center}.start-screen-tagline{font-family:var(--body);font-weight:400;font-size:16px;line-height:1.55;color:var(--ink-fade);max-width:300px}.start-screen-number{font-family:var(--display);font-weight:700;font-size:96px;color:var(--ink-soft);font-variant-numeric:tabular-nums;line-height:.9;letter-spacing:-.04em;margin-bottom:-4px}.end-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:56px 24px;text-align:center;min-height:60vh}.end-screen h2{font-size:34px;color:var(--ink-soft)}.end-screen .stat{font-family:var(--display);font-size:32px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.login-screen{display:flex;flex-direction:column;align-items:center;padding:56px 28px 32px;gap:36px;min-height:100dvh;position:relative}.login-screen:before{content:"";position:absolute;inset:0;background-image:url(/icons/wordmark.png);background-repeat:no-repeat;background-position:center 60%;background-size:720px auto;opacity:.04;pointer-events:none;z-index:0}.login-screen>*{position:relative;z-index:1}.login-brand{text-align:center;animation:fade-rise .48s ease-out both}.login-wordmark{width:240px;max-width:80vw;height:auto;display:block;margin:0 auto}.login-tagline{font-family:var(--body);font-weight:500;font-size:14px;color:var(--ink-fade);margin-top:10px;letter-spacing:.01em}.login-form{display:flex;flex-direction:column;gap:18px;width:100%;max-width:340px;animation:fade-rise .56s .12s ease-out both}.login-form-title{font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:-.025em;color:var(--ink-soft);text-align:center;margin-bottom:4px}.login-help{font-size:14px;color:var(--ink-fade);text-align:center;line-height:1.5;font-family:var(--body)}.login-error{color:var(--rust);font-size:13px;text-align:center;font-family:var(--body);padding:6px 10px;border:1px solid rgba(177,90,46,.3);background:#b15a2e0f;border-radius:6px}.login-links{display:flex;gap:24px;animation:fade-rise .6s .18s ease-out both}@keyframes fade-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.screen-title{font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.025em;color:var(--ink-soft);padding:20px 20px 4px}.screen-subtitle{padding:0 20px 16px;font-family:var(--body);font-weight:400;font-size:14px;color:var(--ink-fade)}.setup-field{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px dotted var(--paper-edge);gap:16px}.setup-field:last-child{border-bottom:none}.setup-field .label{font-family:var(--body);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-fade);flex-shrink:0}.setup-field .value{font-family:var(--body);font-size:15px;font-weight:600;color:var(--ink);text-align:right}.setup-field .empty{font-family:var(--body);font-size:14px;font-weight:400;color:var(--ink-whisper);text-align:right}.event-item{padding:14px 20px;border-bottom:1px solid var(--paper-edge)}.event-type{font-family:var(--body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.event-type.catch{color:var(--moss-deep)}.event-type.blank{color:var(--slate)}.event-type.lost{color:var(--rust)}.event-type.change{color:var(--gild-deep)}.fly-list{list-style:none;max-height:56vh;overflow-y:auto;background:var(--paper);border:1px solid var(--paper-edge);border-radius:6px}.fly-list li{padding:14px 16px;border-bottom:1px solid var(--paper-edge);display:flex;justify-content:space-between;align-items:center;cursor:pointer;gap:12px}.fly-list li:last-child{border-bottom:none}.fly-list li:active{background:var(--paper-deep)}.fly-list .fly-name{font-family:var(--body);font-size:15px;font-weight:600;color:var(--ink)}.fly-list .fly-meta{font-family:var(--body);font-size:12px;font-weight:500;color:var(--ink-fade)}.fly-list .section-header{padding:8px 16px;font-family:var(--body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-fade);background:var(--paper-deep);border-bottom:1px solid var(--paper-edge);position:sticky;top:0;cursor:default}.category-tabs{display:flex;gap:6px;padding:10px 12px;overflow-x:auto;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{padding:8px 14px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;min-height:36px;background:var(--paper);border:1px solid var(--paper-edge);color:var(--ink-fade)}.category-tabs button.active{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--paper)}.outreach-prompt{display:flex;flex-direction:column;align-items:center;gap:18px;padding:48px 24px;min-height:60vh;justify-content:center;text-align:center}.outreach-prompt h3{font-size:26px;color:var(--ink-soft)}.outreach-prompt p{color:var(--ink-fade);max-width:320px;line-height:1.55;font-size:14px}.outreach-email-display{padding:12px 18px;background:var(--paper-deep);border:1px solid var(--paper-edge);border-radius:4px;color:var(--ink);font-family:var(--body);font-weight:600;font-size:15px}.outreach-email-input{padding:12px 16px;background:var(--paper);border:1px solid var(--paper-edge);border-radius:6px;color:var(--ink);font-size:16px;width:280px;text-align:center}.outreach-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:8px;width:100%;max-width:280px}.install-hint{position:fixed;bottom:calc(88px + var(--safe-bottom));left:20px;right:20px;max-width:440px;margin:0 auto;background:var(--ink);color:var(--paper);padding:14px 16px;border-radius:6px;display:flex;align-items:center;gap:12px;font-size:13px;font-family:var(--body);box-shadow:0 8px 24px -8px #2e3b2566;z-index:50;animation:fade-rise .4s ease-out both}.install-hint strong{color:var(--gild);font-weight:700}.install-hint button.link-btn{color:var(--gild);margin-left:auto}
