:root{--radius:24px;--radius-sm:16px;--radius-lg:30px;--shell:480px;--nav-h:84px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:var(--font-sans);--iri:linear-gradient(115deg, #c9e6cb 0%, #e8e6b0 20%, #bfe0d4 38%, #e1e5e8 54%, #d0cde6 70%, #ecd9c4 86%, #e6e6e8 100%);--iri-text:#16161a;--ease-out:cubic-bezier(.16, .84, .44, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);font-family:var(--font-sans)}html[data-theme=dark]{--bg:#0a0a0b;--aurora-1:#e8e6b024;--aurora-2:#cdcae824;--aurora-3:#bfe0d41a;--card:#161618;--card-2:#202023;--card-3:#2c2c30;--text:#f4f4f3;--text-soft:#84848b;--border:#29292c;--hairline:#1f1f22;--accent:#e3e3ad;--violet:#aa9cff;--positive:#8fd0a4;--negative:#e89a8a;--ink:#161618;--ink-text:#f4f4f3;--shadow:0 18px 44px #0009;--shadow-soft:0 8px 24px #0006;--nav-bg:#0e0e10d1;--field-bg:#202023;--pill-active-bg:#f4f4f3;--pill-active-text:#16161a;--grain-blend:overlay;--grain-opacity:.05}html[data-theme=light]{--bg:#eeeef0;--aurora-1:#d6d49680;--aurora-2:#c7c4e680;--aurora-3:#b4dccd6b;--card:#fff;--card-2:#f3f3f4;--card-3:#e7e7ea;--text:#0c0c0e;--text-soft:#76767c;--border:#e4e4e7;--hairline:#ebebed;--accent:#16161a;--violet:#6b4fd8;--positive:#2f8f5b;--negative:#c75f4a;--ink:#16161a;--ink-text:#f4f4f3;--shadow:0 18px 40px #1414191f;--shadow-soft:0 6px 20px #14141912;--nav-bg:#ffffffd6;--field-bg:#f3f3f4;--pill-active-bg:#16161a;--pill-active-text:#f4f4f3;--grain-blend:multiply;--grain-opacity:.04}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);letter-spacing:-.011em;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}body:after{content:"";z-index:9998;pointer-events:none;mix-blend-mode:var(--grain-blend);opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}@keyframes iri-drift{0%{background-position:0%}to{background-position:100%}}@keyframes sheen{0%,58%{transform:translate(-180%)rotate(8deg)}80%,to{transform:translate(180%)rotate(8deg)}}@keyframes aurora{0%{background-position:80% 0,12% 1%,50% 0}50%{background-position:62% 8%,30% 10%,70% 4%}to{background-position:80% 0,12% 1%,50% 0}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-grow{0%{transform:scaleX(0)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes add-glow{0%,to{box-shadow:0 8px 22px #0006}50%{box-shadow:0 8px 30px #dcdcb466}}@keyframes spin{to{transform:rotate(360deg)}}.shell{max-width:var(--shell);background:radial-gradient(46% 26% at 80% 0%, var(--aurora-1), transparent), radial-gradient(42% 24% at 12% 2%, var(--aurora-2), transparent), radial-gradient(40% 22% at 55% 0%, var(--aurora-3), transparent), var(--bg);background-size:180% 180%,180% 180%,180% 180%,100% 100%;min-height:100%;margin:0 auto;animation:26s ease-in-out infinite aurora;position:relative}.page{padding:22px 18px calc(var(--nav-h) + 28px)}.page>*{animation:rise .55s var(--ease-out) backwards}.page>:first-child{animation-delay:20ms}.page>:nth-child(2){animation-delay:80ms}.page>:nth-child(3){animation-delay:.14s}.page>:nth-child(4){animation-delay:.2s}.page>:nth-child(5){animation-delay:.26s}.page>:nth-child(6){animation-delay:.32s}.page>:nth-child(7){animation-delay:.38s}.page>:nth-child(8){animation-delay:.44s}.page>:nth-child(9){animation-delay:.5s}.page>:nth-child(n+10){animation-delay:.56s}.page-flush{padding:0}.page-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.page-title{letter-spacing:-.03em;font-size:28px;font-weight:800;line-height:1.15}.page-sub{color:var(--text-soft);font-size:14px;font-weight:500}.muted{color:var(--text-soft)}.section-title{letter-spacing:-.01em;color:var(--text-soft);margin:24px 4px 12px;font-size:12px;font-weight:700}.card{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px}.card+.card{margin-top:14px}.card-flat{background:var(--card-2);border-radius:var(--radius-sm);padding:16px}.row{align-items:center;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hero-card{background:var(--iri);border-radius:var(--radius-lg);color:var(--iri-text);box-shadow:var(--shadow);background-size:280% 280%;padding:24px;animation:16s ease-in-out infinite alternate iri-drift;position:relative;overflow:hidden}.hero-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffa6,#0000);width:45%;height:180%;animation:7s ease-in-out infinite sheen;position:absolute;top:-40%;left:0}.hero-card:after{content:"";pointer-events:none;background:radial-gradient(80% 50% at 88% 8%,#ffffff73,#0000);position:absolute;inset:0}.hero-card>*{z-index:1;position:relative}.hero-label{color:#16161a9e;font-size:13px;font-weight:600}.hero-amount{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:8px 0 14px;font-size:40px;font-weight:800}.hero-rule{background:#16161a29;height:1px;margin:0 0 12px}.hero-foot{color:#16161a9e;font-size:13px;font-weight:600}.big-number{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:33px;font-weight:800}.serif{font-family:var(--font-sans)}.amount-pos{color:var(--positive);font-weight:700}.amount-neg{color:var(--negative);font-weight:700}.chip-icon{background:var(--card-2);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;display:flex}.btn{letter-spacing:-.01em;cursor:pointer;transition:transform .22s var(--ease-spring), opacity .15s ease, filter .15s ease;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:16px 18px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--iri);color:var(--iri-text);width:100%;box-shadow:var(--shadow-soft);background-size:220% 220%;animation:14s ease-in-out infinite alternate iri-drift}.btn-block{width:100%}.btn-ghost{background:var(--card-2);color:var(--text)}.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}.btn-danger{background:var(--negative);color:#fff}.btn-sm{border-radius:12px;padding:11px 15px;font-size:13px;font-weight:700}.btn-gold{color:#16161a;background:#f4f4f3}.field{margin-bottom:14px}.field label{color:var(--text-soft);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.input,.select,textarea.input{background:var(--field-bg);border:1px solid var(--border);border-radius:14px;outline:none;width:100%;padding:15px 16px;font-weight:500;transition:border-color .18s,box-shadow .18s}.input:focus,.select:focus,textarea.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.form-error{color:var(--negative);margin-top:6px;font-size:13px}.pills{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.pills::-webkit-scrollbar{display:none}.pill{white-space:nowrap;background:var(--card-2);cursor:pointer;color:var(--text-soft);transition:background .2s ease, color .2s ease, transform .2s var(--ease-spring);border:1px solid #0000;border-radius:999px;padding:10px 17px;font-size:13px;font-weight:700}.pill:active{transform:scale(.94)}.pill.active{background:var(--pill-active-bg);color:var(--pill-active-text)}.tile{text-align:left;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:border-color .18s ease, transform .22s var(--ease-spring), box-shadow .18s ease;align-items:center;gap:13px;padding:16px;display:flex}.tile:active{transform:scale(.98)}.tile.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.tile-title{letter-spacing:-.01em;font-weight:700}.tile-desc{color:var(--text-soft);font-size:13px}.bar{background:var(--card-3);border-radius:999px;height:9px;overflow:hidden}.bar>span{background:var(--iri);transform-origin:0;height:100%;animation:bar-grow 1s var(--ease-out) backwards, iri-drift 12s ease-in-out infinite alternate;background-size:220% 220%;border-radius:999px;display:block}.bottom-nav{width:100%;max-width:var(--shell);height:var(--nav-h);background:var(--nav-bg);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);border-top:1px solid var(--hairline);padding-bottom:env(safe-area-inset-bottom);z-index:50;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{cursor:pointer;color:var(--text-soft);letter-spacing:-.01em;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:5px;font-size:11px;font-weight:700;transition:color .2s;display:flex}.nav-item svg{width:24px;height:24px;transition:transform .3s var(--ease-spring)}.nav-item.active{color:var(--violet)}.nav-item.active svg{transform:translateY(-2px)scale(1.08)}.nav-add{background:var(--iri);width:58px;height:58px;color:var(--iri-text);border:4px solid var(--bg);cursor:pointer;transition:transform .3s var(--ease-spring);background-size:220% 220%;border-radius:50%;justify-content:center;align-items:center;margin-top:-30px;font-size:30px;font-weight:300;line-height:1;animation:14s ease-in-out infinite alternate iri-drift,4s ease-in-out infinite add-glow;display:flex}.nav-add:active{transform:scale(.88)rotate(90deg)}.topbar{z-index:40;background:var(--nav-bg);-webkit-backdrop-filter:blur(20px)saturate(1.6);backdrop-filter:blur(20px)saturate(1.6);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.topbar strong{letter-spacing:-.02em;font-size:17px;font-weight:800}.icon-btn{background:var(--card-2);cursor:pointer;width:44px;height:44px;color:var(--text);transition:background .15s ease, transform .22s var(--ease-spring);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:17px;display:flex}.icon-btn:active{background:var(--card-3);transform:scale(.9)}.insight{color:#f4f4f3;border-radius:var(--radius);background:linear-gradient(165deg,#232327 0%,#0f0f11 100%);border:1px solid #ffffff0f;padding:20px;position:relative;overflow:hidden}.insight:before{content:"";background:var(--iri);background-size:220% 220%;height:3px;animation:10s ease-in-out infinite alternate iri-drift;position:absolute;top:0;left:0;right:0}.insight .tag{letter-spacing:.02em;color:#c9c7d8;font-size:11px;font-weight:700}.banner{border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;font-weight:600}.banner-warn{background:color-mix(in srgb, var(--accent) 16%, var(--card));color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent)}.auth{flex-direction:column;justify-content:center;min-height:100%;padding:30px 22px;display:flex}.brand-mark{letter-spacing:-.02em;align-items:center;gap:12px;margin-bottom:28px;font-size:20px;font-weight:800;display:flex}.brand-logo{background:var(--iri);width:46px;height:46px;color:var(--iri-text);background-size:220% 220%;border-radius:15px;justify-content:center;align-items:center;font-size:22px;font-weight:800;animation:12s ease-in-out infinite alternate iri-drift;display:flex}.list-item{border-bottom:1px solid var(--hairline);align-items:center;gap:13px;padding:13px 0;display:flex}.list-item:last-child{border-bottom:none}.skel{background:linear-gradient(100deg, var(--card-2) 30%, var(--card-3) 50%, var(--card-2) 70%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s linear infinite shimmer}.spinner{border:2.5px solid var(--card-3);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;margin:48px auto;animation:.7s linear infinite spin}.fade-in{animation:fade .4s var(--ease-out)}.page.fade-in{animation:none}.empty{text-align:center;color:var(--text-soft);padding:44px 20px}.empty .emoji{opacity:.8;font-size:38px}.divider{background:var(--hairline);height:1px;margin:15px 0}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.key{background:var(--card-2);letter-spacing:-.02em;cursor:pointer;color:var(--text);transition:background .12s ease, transform .2s var(--ease-spring);border:none;border-radius:16px;padding:18px;font-size:22px;font-weight:700}.key:active{background:var(--accent);color:var(--iri-text);transform:scale(.93)}.tag-soft{background:var(--card-2);color:var(--text-soft);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.step-dots{justify-content:center;gap:6px;margin:8px 0 24px;display:flex}.step-dots span{background:var(--border);width:6px;height:6px;transition:width .35s var(--ease-spring), background .35s ease;border-radius:50%}.step-dots span.on{background:var(--iri);background-size:220% 220%;border-radius:999px;width:24px;animation:10s ease-in-out infinite alternate iri-drift}.scroll-x{scrollbar-width:none;gap:12px;padding-bottom:4px;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}@keyframes pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.home-head{justify-content:space-between;align-items:center;margin:26px 4px 12px;display:flex}.home-head .section-title{margin:0}.link-more{cursor:pointer;letter-spacing:-.01em;color:var(--violet);background:0 0;border:none;align-items:center;gap:2px;font-size:13px;font-weight:700;display:inline-flex}.pockets{scrollbar-width:none;gap:10px;margin:0 -4px;padding:3px 4px 8px;display:flex;overflow-x:auto}.pockets::-webkit-scrollbar{display:none}.pocket{background:var(--card);border:1.5px solid var(--hairline);cursor:pointer;transition:transform .22s var(--ease-spring);border-radius:18px;flex-shrink:0;align-items:center;gap:10px;padding:9px 15px 9px 9px;display:flex}.pocket:active{transform:scale(.95)}.pocket.active{background:linear-gradient(var(--card), var(--card)) padding-box, var(--iri) border-box;box-shadow:0 10px 26px -12px color-mix(in srgb, var(--violet) 80%, transparent);background-size:auto,240% 240%;border-color:#0000;animation:9s ease-in-out infinite alternate iri-drift}.pocket-ico{width:40px;height:40px;color:var(--text);background:color-mix(in srgb, var(--c,#8a8a92) 26%, var(--card-2));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pocket-meta{flex-direction:column;line-height:1.25;display:flex}.pocket-name{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:4px;font-size:14px;font-weight:700;display:flex}.pocket-name .star{color:var(--accent)}.pocket-bal{color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.pocket-bal.neg{color:var(--negative)}.tasca-card{border-radius:var(--radius-lg);color:#f4f4f3;touch-action:pan-y;cursor:grab;background:linear-gradient(165deg,#232327 0%,#0f0f11 100%);border:1px solid #ffffff0f;padding:22px;position:relative;overflow:hidden}.tasca-card:active{cursor:grabbing}.tasca-glow{background:radial-gradient(closest-side, var(--c,#8a7dff), transparent);opacity:.5;pointer-events:none;width:78%;height:155%;position:absolute;top:-45%;right:-28%}.tasca-stage{animation:pop .4s var(--ease-spring);position:relative}.tasca-top{padding-right:108px}.tasca-name{letter-spacing:-.02em;align-items:center;gap:5px;font-size:17px;font-weight:800;display:flex}.tasca-name .star{color:var(--accent)}.tasca-label{color:#9c9ca6;margin-top:16px;font-size:13px;font-weight:600}.tasca-amount{letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:10px;margin-top:3px;font-size:37px;font-weight:800;display:flex}.tasca-eye{color:#f4f4f3;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.mini-card{background:linear-gradient(150deg, color-mix(in srgb, var(--c,#8a7dff) 62%, #1b1b20), #15151a 76%);width:122px;height:76px;box-shadow:0 16px 30px -12px color-mix(in srgb, var(--c,#8a7dff) 85%, transparent);border:1px solid #ffffff24;border-radius:14px;position:absolute;top:0;right:0;overflow:hidden}.mini-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff52,#0000);width:45%;height:220%;position:absolute;top:-60%;left:-15%;transform:rotate(13deg)}.mini-card-chip{background:linear-gradient(135deg,#e8d9a8,#b79a52);border-radius:4px;width:26px;height:19px;position:absolute;top:15px;left:15px}.mini-card-svg{color:#ffffffeb;position:absolute;top:13px;right:13px}.mini-card-type{letter-spacing:.09em;text-transform:uppercase;color:#ffffffd1;font-size:11px;font-weight:800;position:absolute;bottom:12px;right:14px}.tasca-rule{background:#ffffff1a;height:1px;margin:20px 0 14px}.tasca-stats{display:flex}.tasca-stat{flex:1;align-items:center;gap:9px;display:flex}.tasca-stat+.tasca-stat{border-left:1px solid #ffffff17;padding-left:13px}.stat-ico{border:1px solid #ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.stat-label{color:#9a9aa2;white-space:nowrap;font-size:11px;font-weight:600}.stat-value{letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:800}.stat-value.pos{color:var(--positive)}.stat-value.neg{color:var(--negative)}.coach-note{text-align:left;border-radius:var(--radius);background:var(--card);border:1px solid var(--hairline);cursor:pointer;width:100%;transition:transform .22s var(--ease-spring);align-items:center;gap:13px;padding:15px 16px;display:flex}.coach-note:active{transform:scale(.98)}.coach-ring{width:46px;height:46px;color:var(--text);background:linear-gradient(var(--card), var(--card)) padding-box, var(--iri) border-box;background-size:auto,240% 240%;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;animation:9s ease-in-out infinite alternate iri-drift;display:flex}.coach-text{flex-direction:column;flex:1;min-width:0;display:flex}.coach-title{letter-spacing:-.01em;font-size:14px;font-weight:800}.coach-body{color:var(--text-soft);margin-top:1px;font-size:13px;font-weight:500}.coach-cta{color:var(--violet);flex-shrink:0;align-items:center;gap:2px;font-size:13px;font-weight:700;display:inline-flex}.mv-list{flex-direction:column;display:flex}.mv-row{border:none;border-bottom:1px solid var(--hairline);cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;align-items:center;gap:11px;padding:12px 0;display:flex}.mv-list .mv-row:last-child{border-bottom:none}.mv-ico{background:var(--card-2);width:44px;height:44px;color:var(--text);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mv-meta{min-width:0}.mv-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.mv-sub{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.mv-tag{white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.mv-tag.good{color:var(--positive)}.mv-tag.rec{color:var(--violet)}.mv-tag.extra{color:var(--text-soft)}.mv-amount{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:14px;font-weight:800}.mv-chev{color:var(--text-soft);flex-shrink:0}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0009;justify-content:center;align-items:flex-end;animation:.25s backdrop-in;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--card);width:100%;max-width:var(--shell);padding:20px 18px calc(24px + env(safe-area-inset-bottom));max-height:88vh;animation:sheet-up .4s var(--ease-out);border-radius:26px 26px 0 0;overflow-y:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
