@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f3eee1;--paper-line:#1f1b141a;--ink:#1f1b14;--ink-soft:#1f1b1494;--ink-faint:#1f1b1457;--card-bg:#fbf8f0;--card-border:#1f1b141f;--accent:#6c4cf7;--accent-ink:#fff;--owe:#b23a2e;--owed:#2e7d4f;--shadow:#1f1b141a;--glass-center:#fbf8f04d;--glass-edge:#fbf8f0eb;--glass-text:#1f1b14a6;--sweep:#1f1b1412;--radius-card:20px;--radius-control:12px;--radius-pill:999px;font-family:Space Grotesk,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--paper:#17140f;--paper-line:#f1ead914;--ink:#f1ead9;--ink-soft:#f1ead999;--ink-faint:#f1ead95c;--card-bg:#201c15;--card-border:#f1ead91f;--accent:#9c87ff;--accent-ink:#14101f;--owe:#e2685c;--owed:#57b585;--shadow:#00000059;--glass-center:#0003;--glass-edge:#000000c7;--glass-text:#f1ead9b8;--sweep:#ffffff40}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#17140f;--paper-line:#f1ead914;--ink:#f1ead9;--ink-soft:#f1ead999;--ink-faint:#f1ead95c;--card-bg:#201c15;--card-border:#f1ead91f;--accent:#9c87ff;--accent-ink:#14101f;--owe:#e2685c;--owed:#57b585;--shadow:#00000059;--glass-center:#0003;--glass-edge:#000000c7;--glass-text:#f1ead9b8;--sweep:#ffffff40}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:repeating-linear-gradient(to bottom, transparent, transparent 35px, var(--paper-line) 35px, var(--paper-line) 36px), var(--paper);color:var(--ink);transition:background-color .2s,color .2s}button,input,textarea,select{font-family:inherit}h1,h2,h3{margin:0;font-family:Space Grotesk,system-ui,sans-serif;font-weight:700}p{margin:0}.mono{font-family:JetBrains Mono,ui-monospace,monospace}a{color:var(--accent)}::selection{background:var(--accent);color:var(--accent-ink)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{flex-direction:column;max-width:720px;min-height:100svh;margin:0 auto;padding:0 20px 48px;display:flex}.app-header{justify-content:space-between;align-items:center;padding:28px 0 20px;display:flex}.wordmark-small{letter-spacing:-.5px;font-size:22px;font-weight:700}.stamp-dot{color:var(--accent)}.header-right{align-items:center;gap:10px;display:flex}.chip{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-pill);color:var(--ink-soft);padding:6px 14px;font-size:13px}.app-main{flex:1;padding-top:8px}.btn{border-radius:var(--radius-control);cursor:pointer;border:none;padding:11px 22px;font-size:14px;font-weight:600;transition:transform .12s,box-shadow .15s,opacity .15s,background-color .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:not(:disabled):hover{box-shadow:0 6px 20px -6px var(--accent);transform:translateY(-1px)}.btn-secondary{color:var(--ink);border:1.5px solid var(--ink);background:0 0}.btn-secondary:not(:disabled):hover{background:var(--ink);color:var(--paper)}.btn-ghost{color:var(--ink-soft);border:1px solid var(--card-border);border-radius:var(--radius-pill);background:0 0;padding:6px 14px;font-size:13px}.btn-ghost:not(:disabled):hover{border-color:var(--ink-soft);color:var(--ink)}.btn-lg{width:100%;padding:16px;font-size:16px}.btn-icon{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1}.connect-screen{justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.connect-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);text-align:center;width:100%;max-width:420px;box-shadow:0 20px 60px -20px var(--shadow);padding:40px 32px;position:relative}.stamp{letter-spacing:.5px;color:var(--stamp-red,var(--owe));border-radius:var(--radius-pill);opacity:.75;border:1.5px solid;padding:3px 10px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;position:absolute;top:24px;right:24px;transform:rotate(6deg)}.wordmark{letter-spacing:-1px;margin-bottom:12px;font-size:40px}.tagline{color:var(--ink-soft);margin-bottom:20px;font-size:16px}.pitch{color:var(--ink-soft);margin-bottom:28px;font-size:14px;line-height:1.5}.network-note{color:var(--ink-faint);margin-top:16px;font-size:12px}.error-text{color:var(--owe);margin:10px 0;font-size:13px}.landing{max-width:1120px;min-height:100svh;margin:0 auto;padding:0 24px 72px;position:relative}.landing:before{content:"";background:color-mix(in srgb, var(--stamp-red,var(--owe)) 40%, transparent);pointer-events:none;width:1px;position:absolute;top:0;bottom:0;left:8px}.landing-header{justify-content:space-between;align-items:center;padding:28px 0;display:flex}.landing-hero{grid-template-columns:1fr 1fr;align-items:center;gap:56px;padding:32px 0 72px;display:grid}@media (width<=860px){.landing-hero{grid-template-columns:1fr;gap:40px;padding:12px 0 48px}}.landing-hero-text{position:relative}.landing-hero-text .stamp{margin-bottom:20px;display:inline-block;position:static;transform:rotate(-4deg)}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.5s ease-out both fade-up}.fade-up.d2{animation-delay:80ms}.fade-up.d3{animation-delay:.16s}.fade-up.d4{animation-delay:.24s}.fade-up.d5{animation-delay:.32s}.status-line{letter-spacing:.5px;color:var(--ink-soft);align-items:center;gap:8px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;display:flex}.status-dot{background:var(--owed);border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.status-dot-ping{background:var(--owed);opacity:.75;border-radius:50%;animation:2s cubic-bezier(0,0,.2,1) infinite status-ping;position:absolute;inset:0}@keyframes status-ping{75%,to{opacity:0;transform:scale(2.4)}}.landing-headline{letter-spacing:-1.2px;text-wrap:balance;margin-bottom:20px;font-size:46px;line-height:1.08}@media (width<=860px){.landing-headline{font-size:34px}}.landing-headline .accent{color:var(--accent)}.landing-hero-text .pitch{max-width:46ch;margin-bottom:28px;font-size:16px}.landing-cta{width:auto;display:inline-block}.landing-hero-preview{animation:.6s cubic-bezier(.2,.8,.2,1) .1s both preview-rise}@keyframes preview-rise{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:none}}.preview-card{text-align:left;width:100%;font:inherit;color:inherit;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);box-shadow:0 30px 80px -30px var(--shadow);cursor:pointer;padding:20px;transition:box-shadow .2s;display:block;position:relative;overflow:hidden}.preview-card:hover{box-shadow:0 34px 90px -28px var(--shadow)}.preview-blur{filter:blur(12px);pointer-events:none;-webkit-user-select:none;user-select:none;transform:scale(1.05)}.preview-card .stat-row,.preview-card .person-groups{filter:saturate(.8)}.preview-card .debt-row{cursor:default}.glass-sweep{pointer-events:none;background:linear-gradient(75deg, transparent 42%, var(--sweep) 50%, transparent 58%);animation:7s ease-in-out infinite glass-sweep;position:absolute;inset:-20%}@keyframes glass-sweep{0%,to{opacity:0;transform:translate(-120%)rotate(8deg)}50%{opacity:.15;transform:translate(120%)rotate(8deg)}}.preview-lock{text-align:center;background:radial-gradient(circle at center, var(--glass-center), var(--glass-edge));color:var(--glass-text);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.preview-lock p{letter-spacing:.4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px}.preview-lock svg{opacity:.7}.preview-fade{background:linear-gradient(to top, var(--card-bg), transparent);pointer-events:none;height:96px;position:absolute;bottom:0;left:0;right:0}.landing-features{border-top:1px dashed var(--card-border);grid-template-columns:repeat(3,1fr);gap:20px;padding-top:40px;display:grid}@media (width<=720px){.landing-features{grid-template-columns:1fr}}.feature-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:24px;transition:transform .15s,box-shadow .15s}.feature-card:hover{box-shadow:0 16px 40px -20px var(--shadow);transform:translateY(-3px)}.feature-icon{background:color-mix(in srgb, var(--accent) 14%, transparent);width:40px;height:40px;color:var(--accent);border-radius:10px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.feature-icon svg{width:20px;height:20px}.feature-card h3{margin-bottom:8px;font-size:16px}.feature-card p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.tab-nav{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-control);margin-bottom:24px;padding:4px;display:flex;position:relative}.tab-indicator{background:var(--accent);border-radius:calc(var(--radius-control) - 4px);z-index:0;width:calc(33.3333% - 2.66667px);transition:transform .28s cubic-bezier(.2,.8,.2,1);position:absolute;top:4px;bottom:4px;left:4px}.tab-btn{z-index:1;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 12px;font-size:14px;font-weight:600;transition:color .2s;position:relative}.tab-btn.active{color:var(--accent-ink)}.stat-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px;display:grid}.stat-tile{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);flex-direction:column;gap:6px;padding:18px;display:flex}.stat-label{color:var(--ink-soft);font-size:13px}.stat-value{font-size:24px;font-weight:700}.stat-value.owe{color:var(--owe)}.stat-value.owed{color:var(--owed)}.empty-state{text-align:center;color:var(--ink-faint);padding:48px 20px}.person-groups{flex-direction:column;gap:20px;display:flex}.person-group{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);transition:box-shadow .2s;overflow:hidden}.person-group:hover{box-shadow:0 12px 32px -18px var(--shadow)}.person-group-header{border-bottom:1px dashed var(--card-border);justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;display:flex}.net-badge{font-size:13px;font-weight:700}.net-badge.owe{color:var(--owe)}.net-badge.owed{color:var(--owed)}.debt-row{border:none;border-bottom:1px solid var(--card-border);cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:background-color .15s,padding-left .15s;display:flex}.debt-row:last-child{border-bottom:none}.debt-row:hover{background:color-mix(in srgb, var(--accent) 6%, transparent);padding-left:20px}.debt-row:active{background:color-mix(in srgb, var(--accent) 11%, transparent)}.debt-row-main{align-items:center;gap:10px;min-width:0;display:flex}.direction-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.direction-dot.owe{background:var(--owe)}.direction-dot.owed{background:var(--owed)}.debt-row-text{flex-direction:column;min-width:0;display:flex}.debt-reason{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.debt-counterparty{color:var(--ink-faint);font-size:12px}.debt-row-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.debt-amount{font-size:14px;font-weight:700}.debt-amount.owe{color:var(--owe)}.debt-amount.owed{color:var(--owed)}.pill{border-radius:var(--radius-pill);padding:2px 8px;font-size:11px;font-weight:600}.pill-open{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.pill-settled{background:color-mix(in srgb, var(--owed) 15%, transparent);color:var(--owed)}.debt-date{color:var(--ink-faint);font-size:11px}.history-list{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);overflow:hidden}.add-debt-form{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);flex-direction:column;gap:16px;padding:24px;display:flex}.form-hint{color:var(--ink-soft);margin-top:-8px;font-size:14px}.field{color:var(--ink-soft);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input{border:1px solid var(--card-border);background:var(--paper);color:var(--ink);border-radius:10px;padding:12px 14px;font-size:15px}.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-end;animation:.2s both backdrop-in;display:flex;position:fixed;inset:0}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@media (width>=640px){.modal-backdrop{align-items:center}}.modal-card{background:var(--card-bg);border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:440px;box-shadow:0 -20px 60px -20px var(--shadow);padding:24px;animation:.28s cubic-bezier(.2,.8,.2,1) both modal-rise}@keyframes modal-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (width>=640px){.modal-card{animation-name:modal-pop}}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:none}}@media (width>=640px){.modal-card{border-radius:var(--radius-card)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stamp-small{color:var(--ink-faint);letter-spacing:.5px;font-size:12px}.detail-amount{margin-bottom:4px;font-size:32px;font-weight:700}.detail-reason{color:var(--ink-soft);margin-bottom:20px}.detail-list{grid-template-columns:auto 1fr;gap:6px 16px;margin-bottom:24px;font-size:13px;display:grid}.detail-list dt{color:var(--ink-faint)}.detail-list dd{text-align:right;margin:0}.toast-stack{z-index:100;flex-direction:column-reverse;gap:8px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-control);box-shadow:0 16px 40px -12px var(--shadow);align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:600;animation:.25s cubic-bezier(.2,.8,.2,1) both toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.toast-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.toast-dot.owed{background:var(--owed)}.toast-dot.owe{background:var(--owe)}.fade-in{animation:.25s both fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.skeleton-wrap{animation:.2s both fade-in}.skeleton,.skeleton-tile{background:linear-gradient(100deg, var(--card-border) 30%, color-mix(in srgb, var(--card-border) 40%, var(--card-bg)) 50%, var(--card-border) 70%);background-size:200% 100%;border:none;border-radius:8px;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:180% 0}to{background-position:-20% 0}}.skeleton-text{border-radius:4px;height:12px;display:inline-block}.skeleton-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.skeleton-row{cursor:default;pointer-events:none}.skeleton-row:hover{background:0 0;padding-left:16px}.network-banner{background:color-mix(in srgb, var(--owe) 12%, var(--card-bg));border:1px solid color-mix(in srgb, var(--owe) 30%, var(--card-border));color:var(--owe);border-radius:var(--radius-control);margin-bottom:20px;padding:12px 16px;font-size:13px}.app-footer{border-top:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:40px;padding:32px 0 12px;display:flex}.footer-wordmark{font-size:16px}.footer-copy{color:var(--ink-faint);flex:1;min-width:200px;font-size:12px}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--ink-soft);font-size:13px;text-decoration:none}.footer-links a:hover{color:var(--accent)}.landing .app-footer{margin-top:56px}
