*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0}:root{--font-family:"Fredoka", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-toy:#8b5cf6;--color-choco:#f97316;--color-bike:#10b981;--color-gold:#f59e0b;--color-dark:#1e1b4b;--color-text:#1e293b;--color-muted:#64748b;--color-card-bg:#fff;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}html,body{overscroll-behavior:none;touch-action:manipulation;width:100%;height:100dvh;min-height:100vh;font-family:var(--font-family);color:var(--color-text);-webkit-font-smoothing:antialiased;background-color:#0f172a;overflow:hidden}#app{background:#f0fdf4;flex-direction:column;width:100%;max-width:440px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #0006}#landscape-overlay{z-index:9999;color:#fff;text-align:center;background:#3b82f6;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}#landscape-overlay .phone-rotate-icon{margin-bottom:16px;font-size:52px;animation:2s ease-in-out infinite rotatePhone}#landscape-overlay h2{max-width:280px;font-size:24px;font-weight:700;line-height:1.3}@keyframes rotatePhone{0%,to{transform:rotate(90deg)}50%{transform:rotate(0)}}@media (orientation:landscape) and (height<=500px){#landscape-overlay{display:flex!important}}.screen{will-change:transform, opacity;flex-direction:column;width:100%;height:100%;transition:opacity .25s,transform .25s;display:flex;position:absolute;inset:0}.screen.hidden{opacity:0;pointer-events:none;transform:scale(.98)}#screen-start{padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 24px);text-align:center;background:linear-gradient(#60a5fa 0%,#93c5fd 40%,#fed7aa 80%,#fef08a 100%);justify-content:space-between;align-items:center}.start-header{flex-direction:column;align-items:center;gap:8px;display:flex}.game-title-badge{background:#fff;border:3px solid #3b82f6;border-radius:999px;padding:10px 20px;box-shadow:0 6px 16px #0000001f}.game-title{color:#1e3a8a;letter-spacing:-.02em;align-items:center;gap:8px;font-size:26px;font-weight:700;display:flex}.hero-prompt-text{color:#1e3a8a;margin-top:4px;font-size:20px;font-weight:600}.hero-selection-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:340px;display:grid}.hero-card{cursor:pointer;background:#fff;border:4px solid #fff;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:16px 12px 14px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 10px 25px #00000026,0 4px #cbd5e1}.hero-card:active{transform:translateY(4px);box-shadow:0 4px 10px #00000026,0 0 #cbd5e1}.hero-card.boy-card{border-color:#93c5fd}.hero-card.girl-card{border-color:#fbcfe8}.hero-avatar-wrapper{background:#f1f5f9;border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;margin-bottom:10px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #0000001a}.hero-img{object-fit:cover;width:100%;height:100%;display:block}.hero-fallback{font-size:58px;line-height:1}.hero-name{color:#0f172a;font-size:20px;font-weight:700}.hero-btn-pill{color:#fff;background:#3b82f6;border-radius:999px;margin-top:6px;padding:6px 14px;font-size:15px;font-weight:600;box-shadow:0 2px #1d4ed8}.girl-card .hero-btn-pill{background:#ec4899;box-shadow:0 2px #be185d}.start-footer-hint{color:#1e3a8a;background:#ffffffb3;border-radius:999px;padding:8px 18px;font-size:16px;font-weight:600}#screen-street{background:linear-gradient(#7dd3fc 0%,#bae6fd 35%,#e0f2fe 55%,#f1f5f9 100%);flex-direction:column;display:flex}.street-top-bar{padding:calc(var(--safe-top) + 12px) 16px 8px;z-index:10;justify-content:space-between;align-items:center;display:flex;position:relative}.cash-pill{background:#fff;border:3px solid #f59e0b;border-radius:999px;align-items:center;gap:8px;padding:6px 18px;display:flex;box-shadow:0 4px 10px #f59e0b40}.cash-icon{font-size:22px}.cash-amount{color:#b45309;font-size:24px;font-weight:700;line-height:1}.hero-switch-btn{color:#475569;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:999px;align-items:center;gap:4px;min-height:44px;padding:6px 12px;font-size:14px;font-weight:600;display:flex}.hero-switch-btn:active{transform:scale(.95)}.sky-cloud{pointer-events:none;opacity:.85;position:absolute}.sky-cloud.cloud-1{width:70px;top:55px;left:12px}.sky-cloud.cloud-2{width:55px;top:75px;right:18px}.shops-container{z-index:5;flex:1;justify-content:space-around;align-items:flex-end;padding:0 8px 12px;display:flex;position:relative}.shop-building{cursor:pointer;touch-action:manipulation;outline:none;flex-direction:column;flex:1;align-items:center;max-width:130px;transition:transform .15s;display:flex;position:relative}.shop-building:active{transform:scale(.96)}.shop-roof{justify-content:center;align-items:center;width:100%;height:38px;display:flex;position:relative}.awning-svg{filter:drop-shadow(0 3px 2px #00000026);width:100%;height:100%}.shop-sign{white-space:nowrap;background:#fff;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:4px;max-width:110px;padding:4px 8px;display:flex;position:absolute;top:-12px;box-shadow:0 4px 8px #00000026}.shop-sign-emoji{font-size:18px;line-height:1}.shop-sign-name{text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.1;overflow:hidden}.shop-facade{border-left:2px solid #fff9;border-right:2px solid #00000014;border-radius:6px 6px 0 0;flex-direction:column;align-items:center;width:92%;height:155px;padding:24px 6px 0;display:flex;position:relative;box-shadow:0 6px 12px #0000001f}.shop-toy .shop-facade{background:linear-gradient(#ede9fe 0%,#ddd6fe 100%);border-color:#8b5cf6}.shop-toy .shop-sign{color:#6d28d9;border-color:#8b5cf6}.shop-choco .shop-facade{background:linear-gradient(#fce7f3 0%,#fbcfe8 100%);border-color:#ec4899}.shop-choco .shop-sign{color:#9d174d;border-color:#ec4899}.shop-bike .shop-facade{background:linear-gradient(#d1fae5 0%,#a7f3d0 100%);border-color:#10b981}.shop-bike .shop-sign{color:#047857;border-color:#10b981}.shop-window{background:#fff;border:3px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;width:82%;height:60px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.shop-window-scene{filter:drop-shadow(0 2px 2px #0000001a);font-size:28px}.shop-door{background:#fff;border:2px solid #cbd5e1;border-bottom:none;border-radius:6px 6px 0 0;justify-content:flex-end;align-items:center;width:48%;height:52px;margin-top:auto;padding-right:6px;display:flex;position:relative}.door-knob{background:#f59e0b;border-radius:50%;width:6px;height:6px}.shop-visited-badge{color:#fff;opacity:0;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;transition:opacity .2s,transform .2s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:8px;right:6px;transform:scale(.5);box-shadow:0 2px 4px #0003}.shop-visited-badge.show{opacity:1;transform:scale(1)}.street-ground-area{flex-direction:column;height:180px;display:flex;position:relative}.sidewalk{background:#e2e8f0;border-top:3px solid #cbd5e1;border-bottom:4px solid #94a3b8;height:48px;position:relative;box-shadow:inset 0 2px 4px #fffc}.roadway{padding-bottom:calc(var(--safe-bottom) + 8px);background:#334155;flex:1;justify-content:space-around;align-items:center;display:flex;position:relative}.road-dash{opacity:.8;background:#f1f5f9;border-radius:3px;width:32px;height:6px}.hero-lane{pointer-events:none;z-index:20;height:100px;position:absolute;top:-85px;left:0;right:0}.hero-sprite{width:72px;height:90px;transform:translate3d(var(--hero-x,140px), var(--hero-y,0px), 0);will-change:transform;flex-direction:column;justify-content:flex-end;align-items:center;transition:transform .45s cubic-bezier(.25,1,.5,1);display:flex;position:absolute;bottom:0;left:0}.hero-sprite-img-wrap{background:#fff;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;display:flex;overflow:hidden;box-shadow:0 4px 10px #00000040}.hero-sprite-img{object-fit:cover;width:100%;height:100%;display:block}.hero-sprite-fallback{font-size:38px;line-height:1}.hero-shadow{background:#0f172a47;border-radius:50%;width:44px;height:8px;margin-top:2px;transition:transform .45s cubic-bezier(.25,1,.5,1),opacity .45s}.hero-sprite.hopping{transition:transform .45s cubic-bezier(.18,.89,.32,1.28)}.hero-sprite.hopping .hero-shadow{opacity:.15;transform:scale(.65)}.hero-hint-bubble-container{pointer-events:none;width:max-content;max-width:260px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.hero-hint-bubble{background:#fff;border:3px solid #3b82f6;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;display:flex;position:relative;box-shadow:0 6px 16px #00000026}.hero-hint-bubble:after{content:"";border:8px solid #0000;border-top-color:#3b82f6;border-bottom-width:0;width:0;display:block;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.hero-hint-bubble:before{content:"";z-index:1;border:6px solid #0000;border-top-color:#fff;border-bottom-width:0;width:0;display:block;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)}.hero-hint-text{color:#1e3a8a;text-align:center;font-size:16px;font-weight:700;line-height:1.2}.progress-dots-row{align-items:center;gap:8px;margin-top:2px;display:flex}.progress-dot-item{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:13px;font-weight:600;display:flex}.progress-dot-item.visited{color:#15803d;background:#dcfce7;border-color:#86efac}#card-sheet-scrim{-webkit-backdrop-filter:blur(2px);opacity:0;pointer-events:none;z-index:90;background:#0f172a80;transition:opacity .25s;position:absolute;inset:0}#card-sheet-scrim.open{opacity:1;pointer-events:auto}#company-sheet{z-index:100;height:60%;min-height:380px;max-height:420px;padding:12px 18px calc(var(--safe-bottom) + 16px);will-change:transform;background:#fff;border-radius:28px 28px 0 0;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -10px 30px #00000040}#company-sheet.open{transform:translateY(0%)}.sheet-handle{background:#cbd5e1;border-radius:999px;align-self:center;width:44px;height:5px;margin-bottom:8px}.sheet-header-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.sheet-nav-btn{color:#334155;cursor:pointer;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:18px;font-weight:700;transition:transform .1s,background .1s;display:flex}.sheet-nav-btn:active{background:#e2e8f0;transform:scale(.92)}.sheet-title-center{flex:1;align-items:center;gap:10px;display:flex;overflow:hidden}.sheet-company-emoji{font-size:32px;line-height:1}.sheet-company-meta{flex-direction:column;display:flex}.sheet-company-name{color:#0f172a;font-size:20px;font-weight:700;line-height:1.1}.sheet-company-activity{color:var(--color-muted);font-size:14px;font-weight:500}.sheet-close-btn{color:#b91c1c;cursor:pointer;background:#fee2e2;border:2px solid #fecaca;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:18px;font-weight:700;display:flex}.sheet-close-btn:active{transform:scale(.92)}.sheet-concept-line{color:#334155;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;margin-bottom:12px;padding:6px 12px;font-size:14px;font-weight:600}.stat-tiles-row{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.stat-tile{text-align:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:18px;flex-direction:column;align-items:center;padding:10px 8px;display:flex;position:relative;overflow:hidden}.stat-tile-header{color:#64748b;align-items:center;gap:4px;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.stat-tile-emoji{font-size:15px}.stat-tile-value{color:#0f172a;font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:26px;font-weight:700;line-height:1.1}.stat-meter-track{background:#e2e8f0;border-radius:999px;width:100%;height:8px;margin-bottom:6px;overflow:hidden}.stat-meter-fill{background:#3b82f6;border-radius:999px;width:50%;height:100%;transition:width .35s cubic-bezier(.16,1,.3,1)}.stat-tile.tile-price .stat-meter-fill{background:#3b82f6}.stat-tile.tile-profit .stat-meter-fill{background:#10b981}.stat-tile.tile-pe .stat-meter-fill{background:#8b5cf6}.stat-tile-caption{color:#64748b;font-size:11px;font-weight:600;line-height:1.2}.sheet-placeholder-box{color:#475569;text-align:center;background:#f1f5f9;border:2px dashed #cbd5e1;border-radius:16px;justify-content:center;align-items:center;min-height:48px;margin-top:auto;padding:10px 14px;font-size:15px;font-weight:700;display:flex}.shares-stepper-box{background:#f8fafc;border:2px solid #e2e8f0;border-radius:20px;flex-direction:column;gap:6px;margin-top:auto;padding:8px 12px;display:flex;position:relative}.unlocked-pop-banner{color:#fff;pointer-events:none;opacity:0;z-index:5;background:#10b981;border-radius:999px;padding:4px 14px;font-size:14px;font-weight:700;transition:opacity .2s,transform .25s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:-16px;left:50%;transform:translate(-50%)scale(.8);box-shadow:0 4px 10px #10b98159}.unlocked-pop-banner.show{opacity:1;transform:translate(-50%)scale(1)}.stepper-row{justify-content:space-between;align-items:center;width:100%;display:flex}.stepper-label{color:#1e293b;font-size:16px;font-weight:700}.stepper-controls{align-items:center;gap:12px;display:flex}.stepper-btn{color:#1d4ed8;cursor:pointer;touch-action:manipulation;background:#fff;border:3px solid #3b82f6;border-radius:50%;justify-content:center;align-items:center;width:48px;min-width:48px;height:48px;min-height:48px;font-size:26px;font-weight:700;transition:transform .1s,box-shadow .1s,opacity .15s;display:flex;box-shadow:0 4px #93c5fd}.stepper-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #93c5fd}.stepper-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none;color:#94a3b8;border-color:#cbd5e1}.stepper-btn.shake-error{color:#ef4444;border-color:#ef4444;animation:.4s shakeError;box-shadow:0 4px #fca5a5}@keyframes shakeError{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.stepper-count{color:#0f172a;text-align:center;font-variant-numeric:tabular-nums;min-width:32px;font-size:28px;font-weight:700}.stepper-sub-row{color:#64748b;justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;font-weight:600;display:flex}.stepper-sub-val{color:#0f172a;font-weight:700}.stepper-toast-error{color:#dc2626;text-align:center;opacity:0;min-height:16px;font-size:12px;font-weight:700;transition:opacity .15s}.stepper-toast-error.show{opacity:1}.portfolio-bar{padding:8px 12px calc(var(--safe-bottom) + 8px);z-index:30;background:#fff;border-top:3px solid #e2e8f0;flex-direction:column;gap:6px;display:flex;box-shadow:0 -4px 12px #00000014}.portfolio-chips-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.portfolio-chip{color:#1e293b;cursor:pointer;touch-action:manipulation;background:#f1f5f9;border:2px solid #cbd5e1;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:6px 10px;font-size:14px;font-weight:700;transition:transform .15s,background .15s;display:flex}.portfolio-chip:active{transform:scale(.94)}.portfolio-chip.chip-toy{background:#f5f3ff;border-color:#c4b5fd}.portfolio-chip.chip-choco{background:#fdf2f8;border-color:#fbcfe8}.portfolio-chip.chip-bike{background:#ecfdf5;border-color:#a7f3d0}.portfolio-chip.pop-anim{animation:.35s cubic-bezier(.175,.885,.32,1.275) chipPopAnim}@keyframes chipPopAnim{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}.portfolio-summary-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.portfolio-metrics{align-items:center;gap:12px;font-size:14px;font-weight:700;display:flex}.metric-cash{color:#b45309}.metric-invested{color:#0f172a}.btn-finish{color:#fff;cursor:pointer;touch-action:manipulation;background:#10b981;border:none;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:8px 18px;font-size:15px;font-weight:700;transition:transform .1s,opacity .2s,box-shadow .1s;display:flex;box-shadow:0 3px #047857}.btn-finish:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #047857}.btn-finish:disabled{color:#94a3b8;box-shadow:none;cursor:not-allowed;opacity:.65;background:#cbd5e1}.shop-holding-badge{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:6;background:#1e293b;border:2px solid #fff;border-radius:999px;padding:3px 8px;font-size:13px;font-weight:700;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),opacity .2s;position:absolute;top:48px;left:50%;transform:translate(-50%)scale(.6);box-shadow:0 3px 8px #00000040}.shop-holding-badge.show{opacity:1;transform:translate(-50%)scale(1)}.btn-compare-top{color:#6d28d9;cursor:pointer;background:#fff;border:2px solid #8b5cf6;border-radius:999px;align-items:center;gap:4px;min-height:44px;padding:6px 12px;font-size:14px;font-weight:700;transition:transform .1s,opacity .2s;display:flex;box-shadow:0 2px 6px #8b5cf626}.btn-compare-top:active{transform:scale(.95)}.btn-compare-top.hidden{display:none!important}#compare-sheet{z-index:110;height:65%;min-height:380px;max-height:450px;padding:12px 18px calc(var(--safe-bottom) + 16px);will-change:transform;background:#fff;border-radius:28px 28px 0 0;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -10px 30px #00000040}#compare-sheet.open{transform:translateY(0%)}.compare-header-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.compare-title{color:#0f172a;font-size:20px;font-weight:700}.compare-body{flex-direction:column;flex:1;gap:14px;display:flex}.compare-metric-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.compare-metric-title{color:#475569;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.compare-bars-grid{flex-direction:column;gap:6px;display:flex}.compare-bar-item{align-items:center;gap:8px;display:flex}.compare-bar-label{min-width:32px;font-size:14px;font-weight:700}.compare-bar-track{background:#e2e8f0;border-radius:999px;flex:1;height:18px;position:relative;overflow:hidden}.compare-bar-fill{color:#fff;border-radius:999px;justify-content:flex-end;align-items:center;min-width:38px;height:100%;padding-right:8px;font-size:11px;font-weight:700;transition:width .35s;display:flex}.compare-bar-fill.bar-toy{background:#8b5cf6}.compare-bar-fill.bar-choco{background:#ec4899}.compare-bar-fill.bar-bike{background:#10b981}.compare-hint-footer{text-align:center;color:#6d28d9;background:#ede9fe;border-radius:12px;margin-top:auto;padding:8px 12px;font-size:14px;font-weight:700}#screen-summary{padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 16px);background:linear-gradient(#ecfdf5 0%,#f0fdf4 40%,#e0e7ff 100%);flex-direction:column;justify-content:space-between;display:flex}.summary-header{flex-direction:column;align-items:center;gap:4px;margin-bottom:12px;display:flex}.summary-title{color:#0f172a;font-size:26px;font-weight:700}.summary-hero-greeting{color:#475569;font-size:15px;font-weight:600}.summary-companies-list{flex-direction:column;gap:10px;display:flex}.summary-company-card{background:#fff;border:2px solid #e2e8f0;border-radius:18px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;box-shadow:0 4px 10px #0000000d}.summary-comp-left{align-items:center;gap:10px;display:flex}.summary-comp-emoji{font-size:28px;line-height:1}.summary-comp-name{color:#0f172a;font-size:18px;font-weight:700}.summary-comp-right{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.summary-comp-shares{color:#2563eb;font-size:16px;font-weight:700}.summary-comp-spent{color:#64748b;font-size:13px;font-weight:600}.summary-comp-empty{color:#94a3b8;font-size:14px;font-style:italic;font-weight:600}.summary-totals-card{background:#fff;border:3px solid #10b981;border-radius:20px;justify-content:space-around;align-items:center;padding:14px 18px;display:flex;box-shadow:0 6px 16px #10b98126}.summary-stat-group{flex-direction:column;align-items:center;display:flex}.summary-stat-label{color:#64748b;font-size:13px;font-weight:600}.summary-stat-val{color:#0f172a;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.summary-actions-row{align-items:center;gap:12px;margin-top:8px;display:flex}.btn-summary-edit{color:#334155;cursor:pointer;background:#fff;border:2px solid #cbd5e1;border-radius:999px;flex:1;justify-content:center;align-items:center;min-height:52px;padding:12px 18px;font-size:16px;font-weight:700;display:flex;box-shadow:0 3px #cbd5e1}.btn-summary-edit:active{transform:translateY(2px);box-shadow:0 1px #cbd5e1}.btn-summary-future{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:999px;flex:1.4;justify-content:center;align-items:center;min-height:52px;padding:12px 18px;font-size:16px;font-weight:700;display:flex;box-shadow:0 3px #1d4ed8}.btn-summary-future:active{transform:translateY(2px);box-shadow:0 1px #1d4ed8}.toast-msg{color:#fff;pointer-events:none;opacity:0;z-index:99999;text-align:center;background:#1e293b;border-radius:999px;max-width:90%;padding:10px 18px;font-size:14px;font-weight:700;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),opacity .2s;position:fixed;top:24px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 6px 20px #0000004d}.toast-msg.show{opacity:1;transform:translate(-50%)translateY(0)}.btn-screen-next{color:#fff;cursor:pointer;touch-action:manipulation;background:#3b82f6;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:52px;margin-top:auto;padding:14px 24px;font-size:18px;font-weight:700;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:0 4px #1d4ed8}.btn-screen-next:active{transform:translateY(2px);box-shadow:0 2px #1d4ed8}.btn-play-again{color:#fff;cursor:pointer;touch-action:manipulation;background:#10b981;border:none;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:54px;margin-top:auto;padding:14px 24px;font-size:18px;font-weight:700;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:0 4px #047857}.btn-play-again:active{transform:translateY(2px);box-shadow:0 2px #047857}#screen-year-transition{padding:calc(var(--safe-top) + 24px) 20px calc(var(--safe-bottom) + 32px);text-align:center;background:linear-gradient(#3b82f6 0%,#60a5fa 50%,#93c5fd 100%);flex-direction:column;justify-content:space-between;align-items:center;display:flex}.transition-header{color:#fff;text-shadow:0 2px 4px #00000026;font-size:24px;font-weight:700}.calendar-card{background:#fff;border:4px solid #fff;border-radius:28px;flex-direction:column;width:220px;height:200px;animation:2s ease-in-out infinite calendarFloat;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px #0003}@keyframes calendarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.calendar-top{color:#fff;background:#ef4444;justify-content:space-between;align-items:center;padding:10px 14px;font-size:16px;font-weight:700;display:flex}.calendar-spiral-holes{gap:12px;display:flex}.spiral-hole{background:#fff;border-radius:50%;width:8px;height:8px}.calendar-body{background:#fffbeb;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.calendar-month-text{color:#1e293b;font-size:42px;font-weight:700;line-height:1;transition:transform .1s}.calendar-year-label{color:#b45309;font-size:15px;font-weight:600}.transition-progress-container{flex-direction:column;align-items:center;gap:8px;width:100%;max-width:280px;display:flex}.transition-progress-bar{background:#ffffff59;border:2px solid #fff9;border-radius:999px;width:100%;height:12px;overflow:hidden}.transition-progress-fill{background:#10b981;border-radius:999px;width:0%;height:100%;transition:width 2.4s linear}.transition-hero-sprite-wrap{flex-direction:column;align-items:center;gap:6px;display:flex}.transition-hero-img-wrap{background:#fff;border:4px solid #fff;border-radius:50%;width:76px;height:76px;overflow:hidden;box-shadow:0 6px 14px #0003}.transition-hero-caption{color:#fff;font-size:15px;font-weight:600}#screen-results-companies{padding:calc(var(--safe-top) + 14px) 14px calc(var(--safe-bottom) + 14px);background:linear-gradient(#f0fdf4 0%,#ecfdf5 40%,#e0e7ff 100%);flex-direction:column;justify-content:space-between;display:flex}.results-header-title{color:#0f172a;text-align:center;margin-bottom:8px;font-size:24px;font-weight:700}.results-cards-container{flex-direction:column;flex:1;justify-content:space-around;gap:8px;display:flex}.result-card{background:#fff;border:2px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:6px;padding:10px 12px;display:flex;box-shadow:0 3px 8px #0000000d}.result-card-top{justify-content:space-between;align-items:center;display:flex}.result-card-brand{align-items:center;gap:6px;display:flex}.result-emoji{font-size:22px;line-height:1}.result-name{color:#0f172a;font-size:16px;font-weight:700}.result-price-flow{align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.change-badge{border-radius:999px;padding:2px 7px;font-size:12px;font-weight:700}.change-badge.up{color:#15803d;background:#dcfce7}.change-badge.down{color:#b91c1c;background:#fee2e2}.change-badge.neutral{color:#64748b;background:#f1f5f9}.result-card-mid{background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.result-eps-flow{color:#475569;font-size:12px;font-weight:600}.sparkline-svg{width:90px;height:24px}.sparkline-path{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset 1.5s ease-out}.sparkline-path.up{stroke:#10b981}.sparkline-path.down{stroke:#ef4444}.sparkline-path.neutral{stroke:#64748b}.result-card-bottom{justify-content:space-between;align-items:center;font-size:12px;display:flex}.result-news{color:#475569;max-width:60%;font-style:italic;font-weight:600;line-height:1.15}.result-holding-val{color:#2563eb;text-align:right;font-weight:700}.result-holding-val.none{color:#94a3b8;font-weight:600}#screen-results-portfolio{padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 16px);text-align:center;background:linear-gradient(#ecfdf5 0%,#f0fdf4 35%,#e0e7ff 100%);flex-direction:column;justify-content:space-between;display:flex}.portfolio-result-header{flex-direction:column;align-items:center;gap:8px;display:flex}.investor-title-badge{color:#1d4ed8;background:#fff;border:3px solid #3b82f6;border-radius:999px;padding:8px 20px;font-size:20px;font-weight:700;box-shadow:0 4px 12px #3b82f633}.result-hero-avatar-wrap{background:#fff;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin:6px auto;display:flex;overflow:hidden;box-shadow:0 6px 16px #00000026}.result-hero-avatar-wrap.happy{border-color:#86efac;animation:1.5s ease-in-out infinite heroHappyBounce}.result-hero-avatar-wrap.sad{border-color:#fca5a5}@keyframes heroHappyBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.04)}}.final-cash-comparison-box{background:#fff;border:2px solid #e2e8f0;border-radius:20px;flex-direction:column;gap:6px;padding:14px 16px;display:flex;box-shadow:0 6px 16px #0000000f}.final-flow-text{color:#64748b;font-size:16px;font-weight:700}.big-gain-loss{font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1.1}.big-gain-loss.up{color:#15803d}.big-gain-loss.down{color:#b91c1c}.big-gain-loss.neutral{color:#475569}.best-deal-callout{color:#1e293b;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:16px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:15px;font-weight:700;display:flex}.best-deal-callout.highlight{color:#92400e;background:#fef3c7;border-color:#fcd34d}#screen-results-lesson{padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 16px);background:linear-gradient(#fef3c7 0%,#fef9c3 40%,#ecfdf5 100%);flex-direction:column;justify-content:space-between;display:flex}.lesson-screen-header{text-align:center;color:#78350f;margin-bottom:6px;font-size:24px;font-weight:700}.learning-badges-grid{flex-direction:column;gap:8px;display:flex}.learning-badge-item{color:#1e293b;opacity:0;background:#fff;border:2px solid #e2e8f0;border-radius:16px;align-items:center;gap:10px;padding:10px 14px;font-size:15px;font-weight:700;transition:opacity .35s,transform .35s cubic-bezier(.175,.885,.32,1.275),background .3s,border-color .3s;display:flex;transform:translateY(12px)}.learning-badge-item.lit{opacity:1;background:#fff;border-color:#10b981;transform:translateY(0);box-shadow:0 4px 10px #10b98126}.learning-badge-emoji{font-size:24px;line-height:1}.lesson-takeaways-card{text-align:center;background:#fff;border:3px solid #f59e0b;border-radius:18px;flex-direction:column;gap:6px;padding:12px 16px;display:flex;box-shadow:0 4px 12px #f59e0b26}.lesson-main-rule{color:#b45309;font-size:16px;font-weight:700}.lesson-scenario-line{color:#475569;font-size:14px;font-weight:600}.sound-toggle-btn{cursor:pointer;touch-action:manipulation;background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:18px;transition:transform .1s,background .1s;display:flex;box-shadow:0 2px 5px #0000001a}.sound-toggle-btn:active{background:#f1f5f9;transform:scale(.92)}.sky-sun{pointer-events:none;z-index:4;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:48px;right:28px}.sun-emoji{z-index:2;font-size:32px;line-height:1;animation:18s linear infinite sunSpinSlow;position:relative}.sun-glow{z-index:1;background:#fef08a80;border-radius:50%;width:48px;height:48px;animation:2.5s ease-in-out infinite sunGlowPulse;position:absolute}@keyframes sunSpinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sunGlowPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.75;transform:scale(1.35)}}.cloud-1{animation:20s ease-in-out infinite alternate cloudDrift1}.cloud-2{animation:26s ease-in-out infinite alternate cloudDrift2}@keyframes cloudDrift1{0%{transform:translate(0)}to{transform:translate(28px)}}@keyframes cloudDrift2{0%{transform:translate(0)}to{transform:translate(-24px)}}.shop-toy{animation:3.4s ease-in-out infinite shopIdleBob}.shop-choco{animation:3.4s ease-in-out 1.1s infinite shopIdleBob}.shop-bike{animation:3.4s ease-in-out 2.2s infinite shopIdleBob}@keyframes shopIdleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.shop-sign{transform-origin:top;animation:3s ease-in-out infinite alternate signSway}.shop-toy .shop-sign{animation-delay:0s}.shop-choco .shop-sign{animation-delay:.9s}.shop-bike .shop-sign{animation-delay:1.8s}@keyframes signSway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.hero-sprite:not(.hopping) .hero-sprite-img-wrap{animation:2s ease-in-out infinite heroIdleBob}@keyframes heroIdleBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3.5px)}}.hero-sprite.squash .hero-sprite-img-wrap{animation:.28s ease-out heroLandingSquash}@keyframes heroLandingSquash{0%{transform:scale(1.18,.82)}50%{transform:scale(.94,1.06)}to{transform:scale(1)}}#company-sheet{transition:transform .3s cubic-bezier(.175,.885,.32,1.15)!important}#company-sheet.open .stat-tile:first-child{animation:.35s cubic-bezier(.175,.885,.32,1.25) backwards tileStaggerPop}#company-sheet.open .stat-tile:nth-child(2){animation:.35s cubic-bezier(.175,.885,.32,1.25) 80ms backwards tileStaggerPop}#company-sheet.open .stat-tile:nth-child(3){animation:.35s cubic-bezier(.175,.885,.32,1.25) .16s backwards tileStaggerPop}@keyframes tileStaggerPop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.stat-meter-fill{transition:width .6s cubic-bezier(.16,1,.3,1)!important}.calendar-card.flipping{animation:.22s ease-in-out calendarCardFlip}@keyframes calendarCardFlip{0%{transform:rotateX(0)scale(1)}50%{transform:rotateX(28deg)scale(1.08)}to{transform:rotateX(0)scale(1)}}#screen-year-transition.sunset-bg{background:linear-gradient(#f97316 0%,#ec4899 45%,#7c3aed 100%);transition:background 2.2s ease-in-out}.change-badge.up{animation:1.2s ease-in-out infinite badgeBounceUp}.change-badge.down{animation:1.2s ease-in-out infinite badgeBounceDown}@keyframes badgeBounceUp{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes badgeBounceDown{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.result-card.card-gain{background:#f0fdf4;border-color:#86efac}.result-card.card-loss{background:#fef2f2;border-color:#fca5a5}.investor-title-badge.glow{animation:.7s cubic-bezier(.175,.885,.32,1.25) titleGlowAnimation}@keyframes titleGlowAnimation{0%{transform:scale(.75);box-shadow:0 0 #3b82f600}50%{transform:scale(1.12);box-shadow:0 0 24px #f59e0bcc}to{transform:scale(1);box-shadow:0 4px 12px #3b82f633}}.flying-fx-item{pointer-events:none;z-index:9999;will-change:transform, opacity;font-size:24px;line-height:1;animation-fill-mode:forwards;position:fixed}@keyframes flyCoinArc{0%{opacity:1;transform:translate(0)scale(1)}50%{transform:translate(calc(var(--fly-x) * .5), calc(var(--fly-y) * .5 - 40px)) scale(1.25);opacity:1}to{transform:translate(var(--fly-x), var(--fly-y)) scale(.85);opacity:0}}@keyframes flyPuzzleArc{0%{opacity:1;transform:translate(0)scale(1.1)}50%{transform:translate(calc(var(--fly-x) * .5), calc(var(--fly-y) * .5 - 35px)) scale(1.2);opacity:1}to{transform:translate(var(--fly-x), var(--fly-y)) scale(.8);opacity:0}}.sparkle-burst-item{pointer-events:none;z-index:10;font-size:18px;animation:.65s ease-out forwards sparklePop;position:absolute}@keyframes sparklePop{0%{opacity:1;transform:translate(0)scale(.4)}to{transform:translate(var(--sp-x), var(--sp-y)) scale(1.2);opacity:0}}.confetti-particle{pointer-events:none;z-index:9999;border-radius:2px;width:10px;height:10px;animation:1.8s ease-out forwards confettiDrop;position:fixed}@keyframes confettiDrop{0%{transform:translate(var(--c-x), -20px) rotate(0deg);opacity:1}to{transform:translate(calc(var(--c-x) + var(--c-drift)), 105vh) rotate(var(--c-rot));opacity:0}}.coin-rain-item{pointer-events:none;z-index:9998;font-size:24px;animation:1.6s cubic-bezier(.25,.46,.45,.94) forwards coinDropFall;position:fixed}@keyframes coinDropFall{0%{transform:translate(var(--cr-x), -30px) scale(.8);opacity:1}85%{transform:translate(var(--cr-x), calc(100vh - 120px)) scale(1.1);opacity:1}to{transform:translate(var(--cr-x), calc(100vh - 110px)) scale(.9);opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.flying-fx-item,.sparkle-burst-item,.confetti-particle,.coin-rain-item{display:none!important}}
