@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Geist:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--ff-display:"Instrument Serif", "Times New Roman", serif;--ff-body:"Geist", -apple-system, BlinkMacSystemFont, sans-serif;--ff-mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background:var(--bg,#f7f2ec);height:100%;overflow:hidden}body{font-family:var(--ff-body);color:var(--ink,#2a2520);background:var(--bg,#f7f2ec);-webkit-font-smoothing:antialiased;height:100%;font-size:15px;overflow:hidden}#root{background:var(--bg);height:100%;overflow:hidden}.mono{font-family:var(--ff-mono);font-feature-settings:"tnum"}.font-display{font-family:var(--ff-display)}.phone-frame{background:var(--bg);flex-direction:column;max-width:430px;height:100dvh;margin:0 auto;display:flex;position:fixed;inset:0;overflow:hidden}.screen-scroll{padding-top:max(env(safe-area-inset-top,0px), 16px);scrollbar-width:none;-webkit-overflow-scrolling:touch;background:var(--bg);flex:1;padding-bottom:110px;overflow:hidden auto}.screen-scroll::-webkit-scrollbar{display:none}.screen-pad{padding-top:max(env(safe-area-inset-top,0px), 16px);padding-bottom:30px}.balance-card{background:var(--bg-elevated);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:28px;margin:12px 18px 26px;padding:24px 22px 22px;position:relative;overflow:hidden}.balance-decor{background:radial-gradient(circle, var(--accent-soft) 0%, transparent 65%);pointer-events:none;width:240px;height:240px;position:absolute;top:-90px;right:-90px}.card-flat{background:var(--bg-elevated);border:1px solid var(--line);border-radius:18px;padding:14px 16px}.row-flat{background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex}.tx-row{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:center;gap:12px;padding:13px 4px;display:flex}.tx-row:last-child{border-bottom:none}.btn-primary{background:var(--ink);width:100%;color:var(--bg-elevated);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;padding:16px;font-family:inherit;font-size:15px;font-weight:500;transition:transform .12s,opacity .15s;display:inline-flex}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.bottom-nav{z-index:40;background:var(--bg-elevated);border-top:1px solid var(--line);max-width:430px;padding:8px 14px calc(22px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:flex-end;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-tab{cursor:pointer;color:var(--ink-muted);letter-spacing:.04em;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;font-family:inherit;font-size:10px;transition:color .15s;display:flex;position:relative}.nav-tab.active{color:var(--ink)}.nav-tab.active:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:2px}.fab-wrap{margin-top:-22px;position:relative}.fab{background:var(--accent);width:54px;height:54px;color:var(--bg-elevated);cursor:pointer;box-shadow:0 6px 20px var(--accent-soft), 0 0 0 4px var(--bg-elevated);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s;display:flex}.fab:active{transform:scale(.94)}.sheet-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-elevated);width:100%;max-width:430px;max-height:88%;padding:12px 22px calc(30px + env(safe-area-inset-bottom,0px));border-radius:28px 28px 0 0;animation:.3s ease-out slideUp;overflow-y:auto;box-shadow:0 -10px 40px #0000002e}.sheet::-webkit-scrollbar{display:none}.sheet-handle{background:var(--line);border-radius:2px;width:40px;height:4px;margin:0 auto 16px}.menu-btn{background:var(--bg-subtle);border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);border-radius:16px;align-items:center;gap:14px;margin-bottom:8px;padding:14px;font-family:inherit;transition:transform .12s;display:flex}.menu-btn:active{transform:scale(.99)}.menu-btn-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.field-input{background:var(--bg-elevated);border:1px solid var(--line);width:100%;color:var(--ink);-webkit-appearance:none;box-sizing:border-box;border-radius:14px;outline:none;padding:15px 18px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.select-input{background:var(--bg-elevated);border:1px solid var(--line);width:100%;color:var(--ink);-webkit-appearance:none;box-sizing:border-box;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239A9A94' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 16px center;background-repeat:no-repeat;border-radius:14px;outline:none;padding:15px 40px 15px 18px;font-family:inherit;font-size:15px}.voice-pulse{background:var(--accent);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:0}.fade-in{animation:.4s backwards fadeUp}.slide-up{animation:.3s ease-out slideUp}.fade-overlay{animation:.2s fadeIn}.route-anim{animation:.32s backwards routeIn}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes routeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pulse{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.phone-frame[data-density=cozy] .balance-card{margin:8px 16px 20px;padding:18px 18px 16px}.phone-frame[data-density=cozy] .tx-row{padding:10px 4px}.phone-frame[data-density=airy] .balance-card{margin:18px 22px 32px;padding:30px 26px 28px}.phone-frame[data-density=airy] .tx-row{padding:16px 4px}
