:root{--navy:#0b2e4f;--green:#2e7d4f;--green-2:#3d9a63;--gold:#f2b32e;--cream:#fff6e5;--paper:#fbf6ea;--ink:#12213a;--sky:#bfe3f2;--star:#e0473a;--oops:#e0473a;--purple:#7b4fbf;--blue:#2b7de9;--font:"Fredoka", "Nunito", system-ui, sans-serif;--body:"Nunito", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--navy);height:100%;color:var(--ink);font-family:var(--body);margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:none}button{font-family:var(--font);cursor:pointer;border:0}input,textarea{font-family:var(--body)}.app{position:fixed;inset:0}.scene{position:absolute;inset:0}.ui{pointer-events:none;z-index:1;position:absolute;inset:0}.ui>*{pointer-events:auto}.rotate{display:none}@media (orientation:portrait){.rotate{z-index:100;background:var(--navy);color:var(--cream);font-family:var(--font);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.rotate .icon{border:5px solid var(--gold);border-radius:14px;width:84px;height:130px;animation:1.6s ease-in-out infinite spin}@keyframes spin{0%,20%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}}.screen{color:var(--cream);background:radial-gradient(1100px 700px at 30% 40%, #1b4e80 0%, var(--navy) 62%);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:3vh 4vw;display:flex;position:absolute;inset:0;overflow:auto}.screen h2{font:700 clamp(26px, 4.6vh, 42px) var(--font);color:var(--gold);margin:0}.screen .tag{opacity:.85;text-align:center;max-width:70ch;margin:0;font-size:clamp(14px,2.2vh,19px)}.screen .meta{font:600 13px var(--body);opacity:.55}.hero{grid-template-columns:auto 1fr;align-items:center;gap:clamp(20px,5vw,70px);width:100%;max-width:1100px;padding:0 4vw;display:grid}.hero-foo{aspect-ratio:420/569;filter:drop-shadow(0 30px 40px #00000080);height:min(62vh,520px)}.hero-text{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.eyebrow{font:700 13px var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.8}.logo{font:700 clamp(56px, 12vh, 120px) var(--font);color:var(--gold);text-shadow:0 6px #9a6b0c,0 14px 30px #00000059;line-height:.95}.sub{font:600 clamp(14px, 2.4vh, 22px) var(--font);letter-spacing:.14em;text-transform:uppercase;opacity:.85}.btn{font:700 clamp(17px, 2.8vh, 24px) var(--font);background:var(--gold);color:var(--navy);border-radius:999px;padding:.55em 1.4em;transition:transform 80ms;box-shadow:0 5px #b8841a,0 14px 28px #00000059}.btn:active{transform:translateY(4px);box-shadow:0 1px #b8841a}.btn.big{margin-top:10px;padding:.5em 2em;font-size:clamp(22px,4vh,36px)}.btn.ghost{color:var(--cream);background:#ffffff1f;box-shadow:inset 0 0 0 2px #fff6e559}.btn[disabled]{opacity:.45}.grid{gap:10px;width:min(1100px,94vw);display:grid}.grid.two{grid-template-columns:repeat(2,1fr);max-width:760px}.grid.five{grid-template-columns:repeat(5,1fr)}.grid.six{grid-template-columns:repeat(6,1fr)}.card{text-align:left;color:var(--cream);background:#ffffff14;border:2px solid #ffffff1a;border-radius:16px;flex-direction:column;gap:4px;padding:12px 14px;transition:transform .1s,border-color .15s;display:flex}.card:active{transform:scale(.98)}.card.on{border-color:var(--gold);background:#f2b32e29;box-shadow:0 0 0 3px #f2b32e40}.card[disabled]{opacity:.4}.card .t{font:700 clamp(14px, 2.2vh, 18px) var(--font)}.card .s{font:600 12px var(--body);opacity:.8;line-height:1.3}.card .num{background:var(--gold);width:26px;height:26px;color:var(--navy);font:700 14px var(--font);border-radius:50%;place-items:center;display:grid}.card .risk{font:700 11px var(--font);letter-spacing:.1em;background:#ffffff1f;border-radius:999px;align-self:flex-start;margin-top:4px;padding:3px 8px}.card.risk-low .risk{background:#2e9e5b}.card.risk-medium .risk{background:#c9862b}.card.risk-high .risk{background:#e0473a}.card.risk-very-high .risk{background:#8b1e1e}.card.small{padding:10px}.band{flex-direction:column;gap:6px;width:min(1100px,94vw);display:flex}.lab{font:700 12px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);opacity:.9}.rail-static{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.preview{font:600 14px var(--body);background:#ffffff14;border-radius:12px;max-width:60ch;padding:10px 14px}.join{gap:10px;display:flex}.join input{font:700 18px var(--font);color:var(--cream);background:#00000040;border:0;border-radius:10px;outline:none;width:220px;padding:10px 12px}.join input.code{letter-spacing:.2em;text-transform:uppercase;width:300px}.topbar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fbf6eaeb;border-radius:18px;align-items:center;gap:12px;padding:8px 12px;display:flex;position:absolute;top:10px;left:12px;right:12px;box-shadow:0 8px 24px #0000002e}.topbar .who{flex-direction:column;min-width:150px;display:flex}.topbar .who b{font:700 17px var(--font)}.topbar .who span{font:600 11px var(--body);opacity:.65}.stats{flex:1;justify-content:center;gap:8px;display:flex}.stat{cursor:pointer;background:#fff;border:1.5px solid #0000000f;border-radius:12px;flex-direction:column;align-items:center;min-width:96px;padding:4px 10px;display:flex}.stat b{font:700 16px var(--font)}.stat span{font:600 10px var(--body);opacity:.6;text-transform:uppercase;letter-spacing:.08em}.stat img{width:18px;height:18px}.stat.stars b{color:var(--star)}.stat .bar{background:#e6dfd0;border-radius:999px;width:80px;height:6px;margin-bottom:3px;display:block;overflow:hidden}.stat .bar em{background:var(--green-2);height:100%;display:block}.pill{font:700 13px var(--font);background:var(--navy);color:var(--gold);border-radius:999px;padding:8px 14px}.rail{gap:10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.placing{background:var(--gold);color:var(--navy);font:700 14px var(--font);border-radius:999px;padding:8px 14px;position:absolute;top:84px;left:50%;transform:translate(-50%)}.placing button{background:var(--navy);color:var(--gold);border-radius:999px;margin-left:6px;padding:4px 10px;font-size:12px}.toast{background:var(--navy);color:var(--cream);font:700 14px var(--font);border-radius:999px;padding:10px 16px;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.flyer{pointer-events:none;z-index:40;place-items:center;width:30px;height:30px;display:grid;position:absolute}.flyer img{filter:drop-shadow(0 4px 6px #0006);width:30px;height:30px}.flyer .star{color:var(--star);text-shadow:0 4px 6px #0006;font-size:32px;line-height:1}.dim{z-index:20;background:#040e1c59;position:absolute;inset:0}.sheet{z-index:21;background:var(--paper);border-radius:24px 24px 0 0;flex-direction:column;gap:10px;width:min(620px,92vw);max-height:86vh;margin:0 auto;padding:18px 22px 22px;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -20px 60px #00000059}.sheet.wide{width:min(960px,96vw)}.sheet h2{font:700 clamp(22px, 3.8vh, 32px) var(--font);color:var(--ink);margin:0}.sheet p{font:600 15px var(--body);margin:0;line-height:1.45}.sheet .note{opacity:.7;font-size:13px}.sheet .effect{font:700 18px var(--font)}.sheet .go{font:700 18px var(--font);background:var(--gold);color:var(--navy);border-radius:14px;padding:12px 18px;box-shadow:0 4px #b8841a}.sheet .go.ghost{color:var(--ink);background:0 0;box-shadow:inset 0 0 0 2px #00000026}.sheet .go.danger{color:var(--oops)}.sheet .go[disabled]{opacity:.45}.ledger{background:#fff;border-radius:14px;padding:6px 12px}.lrow{font:600 14px var(--body);border-bottom:1px solid #0000000f;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.lrow:last-child{border-bottom:0}.lrow .v{font-family:var(--font);white-space:nowrap;font-weight:700}.lrow.plus .v{color:var(--green)}.lrow.minus .v{color:var(--oops)}.lrow.tot{font-size:16px}.lrow.tot .v{color:var(--navy)}.quote{border-left:4px solid var(--oops);font:600 14px var(--body);background:#e0473a1a;border-radius:8px;padding:8px 12px}.quote.big{border-left-color:var(--gold);font:700 18px var(--font);background:#f2b32e2e;line-height:1.35}.need{flex-direction:column;gap:6px;display:flex}.need-name{font:700 14px var(--font)}.need-name small{font:600 12px var(--body);opacity:.6;display:block}.tiers{flex-wrap:wrap;gap:8px;display:flex}.tier{text-align:left;min-width:120px;color:var(--ink);background:#fff;border:2px solid #00000014;border-radius:12px;flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex}.tier b{font:700 13px var(--font)}.tier span{font:600 12px var(--body);opacity:.75}.tier i{color:var(--star);font-size:12px;font-style:normal}.tier.on{border-color:var(--green-2);background:#eaf6ee}.tier[disabled]{opacity:.45}.choice{flex-wrap:wrap;gap:10px;display:flex}.choice .go{flex:1}.fund{background:#e6dfd0;border-radius:999px;height:34px;position:relative;overflow:hidden}.fundfill{background:var(--green-2);position:absolute;inset:0 auto 0 0}.fund span{font:700 13px var(--font);place-items:center;display:grid;position:absolute;inset:0}.amount{gap:8px;display:flex}.code{font:700 28px var(--font);letter-spacing:.24em;text-align:center;text-transform:uppercase;border:1.5px solid #00000026;border-radius:13px;width:100%;padding:14px}.note-in{border:1.5px solid #00000026;border-radius:12px;width:100%;padding:10px;font-size:15px}.table{border-collapse:collapse;font:600 13px var(--body);width:100%}.table th,.table td{text-align:center;border-bottom:1px solid #0000000f;padding:6px 8px}.table th{letter-spacing:.08em;text-transform:uppercase;opacity:.6;font-size:11px}.table td.left{text-align:left}.sheet .grid{grid-template-columns:repeat(2,1fr);width:100%}.sheet .card{color:var(--ink);background:#fff;border-color:#00000014}.sheet .card .s{opacity:.75}.foofoo{aspect-ratio:420/569;pointer-events:none;z-index:5;transform-origin:50% 100%;height:clamp(120px,24vh,210px);animation:2.6s ease-in-out infinite breathe;position:absolute;bottom:6px;left:6px}.foofoo img{width:100%;height:100%;position:absolute;inset:0}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,1.02)}}.foofoo.talking{animation:.55s ease-in-out infinite talk}@keyframes talk{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.2deg)translateY(-3px)}}.bubble{z-index:6;color:var(--ink);font:700 15px var(--body);background:#fff;border-radius:16px;max-width:min(420px,40vw);padding:10px 14px;line-height:1.35;position:absolute;bottom:clamp(120px,22vh,190px);left:clamp(130px,20vh,200px);box-shadow:0 10px 30px #0000004d}.bubble:after{content:"";border:8px solid #0000;border-right-color:#fff;position:absolute;bottom:14px;left:-10px}.pills{gap:8px;display:flex}.dreamscreen{z-index:22;background:var(--paper);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.dream-top{background:#fff;align-items:center;gap:14px;padding:8px 14px;display:flex;box-shadow:0 2px #0000000f}.dream-top .have{font:700 12px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);opacity:.7;margin-left:auto}.dream-top .x{font:700 26px var(--font);background:var(--navy);color:var(--gold);border-radius:999px;width:36px;height:36px;line-height:1}.tabs{gap:6px;display:flex}.tabs button{font:700 13px var(--font);color:var(--ink);background:#fff;border-radius:999px;padding:8px 12px;box-shadow:inset 0 0 0 2px #0000001f}.tabs button.on{background:var(--navy);color:var(--gold);box-shadow:none}.dream{flex-direction:column;flex:1;min-height:0;display:flex}.dream-hero{background:#f4f1ea;flex:1;min-height:0;position:relative;overflow:hidden}.dream-hero img.sketch,.dream-hero img.real{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dream-hero img.real{transition:clip-path 1s cubic-bezier(.2,.8,.2,1)}.dream-hero .wipe{border-left:2px solid #fff;width:0;transition:left 1s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;box-shadow:0 0 12px #00000059}.dream-hero .wipe span{width:40px;height:40px;color:var(--navy);font:700 26px var(--font);background:#fff;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);box-shadow:0 4px 12px #0000004d}.brush{background:#fbf6eaf0;border-radius:6px 22px 8px 26px/20px 8px 24px 6px;flex-direction:column;gap:2px;max-width:46%;padding:10px 18px;display:flex;position:absolute;box-shadow:0 6px 18px #0000002e}.brush b{font:700 clamp(20px, 3.6vh, 34px) var(--font);color:var(--ink);line-height:1.05}.brush small{font:700 clamp(11px, 1.7vh, 14px) var(--body);color:var(--ink);opacity:.85}.brush.title{top:4%;left:3%}.brush.total{text-align:right;background:#fff6e5f5;align-items:flex-end;top:4%;right:3%}.brush.total b{color:var(--navy)}.pin{background:#fffffff5;border-radius:12px;align-items:center;gap:8px;max-width:190px;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 4px 12px #0003}.pin:not(.on) b,.pin:not(.on) span{color:#7a8194}.pin:not(.on) .ic{filter:grayscale();opacity:.7}.pin.next{opacity:1;box-shadow:0 0 0 3px var(--gold), 0 4px 12px #0003}.pin .ic{object-fit:contain;width:38px;height:38px}.pin div{flex-direction:column;display:flex}.pin b{font:700 12px var(--body);color:var(--ink);line-height:1.15}.pin span{font:800 14px var(--font);color:var(--navy)}.dream-cards{background:#ece9f5;flex:none;gap:8px;padding:10px 12px;display:flex;overflow-x:auto}.dcard{text-align:center;opacity:.75;background:#f6f5fb;border-radius:12px;flex-direction:column;flex:0 0 150px;align-items:center;gap:6px;padding:10px 8px 8px;display:flex}.dcard.on{opacity:1;background:#eaf6e4}.dcard.next{opacity:1;box-shadow:inset 0 0 0 2px var(--gold)}.dcard .n{font:700 12px var(--body);color:var(--ink);min-height:30px;line-height:1.2}.dcard .ic{object-fit:contain;width:84px;height:64px}.dcard .p{font:800 15px var(--font);color:var(--navy)}.dcard .dot{background:#fff;border:3px solid #5b6ab8;border-radius:999px;width:18px;height:18px}.dcard.on .dot{background:#5b6ab8;box-shadow:inset 0 0 0 3px #fff}.dream-foot{background:#fff;flex:none;align-items:center;gap:16px;height:96px;padding:8px 14px;display:flex}.dream-foot .foo{align-items:center;gap:8px;height:100%;display:flex}.dream-foot .foo>div:first-child{width:80px;height:100%}.dream-foot .say{font:700 13px var(--body);color:var(--ink);border:2px solid var(--ink);background:#fff;border-radius:16px;max-width:260px;padding:8px 12px}.dream-foot .prog{font:700 14px var(--font);color:var(--ink);flex:1;align-items:center;gap:10px;display:flex}.dream-foot .prog i{background:#d9dbe8;border-radius:999px;flex:1;height:16px;overflow:hidden}.dream-foot .prog em{background:linear-gradient(90deg, #5b6ab8, var(--gold));height:100%;transition:width 1s;display:block}.dream-foot .prog b{min-width:40px}.dream-foot .cta{font:700 17px var(--font);color:#fff;background:#6b6fd6;border-radius:14px;padding:14px 22px;box-shadow:0 4px #4a4ea6}@media (max-width:900px){.brush{max-width:60%}.brush b{font-size:18px}.pin,.dream-foot .say{display:none}}:root{--tour:340px}.app.touring>:not(.tour){left:var(--tour);width:auto;position:absolute;top:0;bottom:0;right:0}.app.touring canvas{width:100%!important}.app.touring .ui,.app.touring .screen,.app.touring .dim,.app.touring .dreamscreen{left:var(--tour)}.app.touring .foofoo{left:calc(var(--tour) + 6px)}.app.touring .sheet{margin-left:calc(var(--tour) + (100vw - var(--tour) - min(620px, 92vw)) / 2 - (100vw - min(620px, 92vw)) / 2)}.tour{width:var(--tour);z-index:40;background:var(--navy);color:var(--cream);box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:8px 0 30px #00000059}.tour.cover{background:radial-gradient(1100px 700px at 30% 40%, #1b4e80 0%, var(--navy) 62%);justify-content:center;align-items:center;width:100%}.tour-cover{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:560px;display:flex}.tour-cover h2{font:700 clamp(28px, 5vh, 44px) var(--font);color:var(--gold);margin:0}.tour-cover p{font:600 16px var(--body);opacity:.85;margin:0;line-height:1.5}.tour-head{justify-content:space-between;align-items:center;display:flex}.tour-head .x{font:700 24px var(--font);color:var(--cream);background:#ffffff1a;border-radius:999px;width:32px;height:32px;line-height:1}.tour-list{flex-direction:column;flex:1;gap:4px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.tour-list li{cursor:pointer;font:600 13px var(--body);opacity:.6;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}.tour-list li .n{width:22px;height:22px;font:700 11px var(--font);background:#ffffff1f;border-radius:999px;flex:none;place-items:center;display:grid}.tour-list li.done{opacity:.8}.tour-list li.done .n{background:var(--green-2);color:#fff}.tour-list li.on{opacity:1;background:#f2b32e29}.tour-list li.on .n{background:var(--gold);color:var(--navy)}.tour-now{background:#ffffff0f;border-radius:12px;padding:12px}.tour-now b{font:700 16px var(--font);color:var(--gold)}.tour-now p{font:600 13px var(--body);opacity:.9;margin:6px 0 0;line-height:1.45}.tour-nav{gap:8px;display:flex}.tour-nav .btn{flex:1;padding:12px 8px;font-size:15px}.tour-nav .btn.ghost.on{box-shadow:inset 0 0 0 2px var(--gold);color:var(--gold)}@media (max-width:900px){:root{--tour:260px}}
