: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}
