:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}body{display:flex;justify-content:center}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.modal-close-x{position:absolute;top:8px;right:8px;background:url(/img/close-x.png) no-repeat center/contain;border:none;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;z-index:10;padding:0;font-size:0;transition:opacity .2s}.achievements-panel{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:12px;padding:20px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.achievements-header{margin-bottom:15px}.achievements-header h3{color:#78350f;margin:0;font-size:1.2em}.achievements-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.achievement-item{background:#fffffff2;border-radius:8px;padding:15px;display:flex;gap:12px;animation:slideInUp .5s ease}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.achievement-badge{font-size:2em;line-height:1}.achievement-content{flex:1}.achievement-name{margin:0 0 5px;font-weight:600;color:#78350f;font-size:.95em}.achievement-desc{margin:0 0 8px;color:#92400e;font-size:.85em;line-height:1.4}.achievement-unlocks{margin:0;color:#dc2626;font-size:.8em;font-weight:600}@media(max-width:600px){.achievements-panel{padding:15px}.achievements-list{grid-template-columns:1fr}}@font-face{font-family:Pacifico;src:url(/PacificoRegular.ttf) format("truetype")}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{width:100%;min-height:100%;overflow-x:hidden;overflow-y:auto}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0f5a2a,#f4b942);min-height:100vh;width:100%;color:#333;overflow-x:hidden;overflow-y:auto}body.game-page{background:linear-gradient(135deg,#a0a0a0,silver)}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.app{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow:visible}.screen{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;padding:12px;overflow:visible;box-sizing:border-box}.screen-content{background:#fff;border-radius:16px;padding:30px 20px;width:100%;max-width:100%;box-shadow:0 20px 60px #0000004d;text-align:center;height:auto;max-height:calc(100vh - 24px);overflow-y:auto;overflow-x:hidden}.screen-logo{max-width:60%;width:100%;height:auto;display:block;margin:0 auto;object-fit:contain}.jay-intro-image{max-height:300px;height:auto;width:auto;display:block;margin:20px auto}.main-title{font-size:2.5em;font-weight:700;margin-bottom:12px;color:#0f5a2a;font-family:Pacifico,cursive;font-style:italic;line-height:1.1}.tagline{font-size:1.05em;color:#666;margin-bottom:18px;line-height:1.4}.opening-description{text-align:left;margin:18px 0;line-height:1.5;color:#555;font-size:.95em}.opening-description p{margin-bottom:12px}.opening-content-wrapper{display:flex;gap:20px;align-items:center;justify-content:center;margin:0;height:auto;flex-wrap:wrap}.opening-content-wrapper .opening-description{flex:1;margin:0}.opening-content-wrapper .opening-description p{color:#0f5a2a;font-weight:700}.opening-content-wrapper .jay-intro-image{max-height:200px;max-width:250px;height:auto;width:auto;flex-shrink:0;margin:0;object-fit:contain}.rules-list,.tips-list{text-align:left;margin:18px 0;line-height:1.5;color:#555;font-size:.95em}.rules-list p,.tips-list p{margin-bottom:10px;padding-left:18px}.rules-list p:before,.tips-list p:before{content:"• ";color:#0f5a2a;font-weight:700;margin-right:10px}.button-group{display:flex;flex-direction:column;gap:10px;justify-content:center;margin-top:20px}.start-button,.primary-button,.secondary-button{padding:14px 25px;font-size:1.05em;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;width:100%}.start-button{background:linear-gradient(135deg,#0f5a2a,#16a34a);color:#fff;padding:15px 30px;font-size:1.1em;margin:0}.start-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0f5a2a66}.primary-button{background:linear-gradient(135deg,#0f5a2a,#16a34a);color:#fff}.primary-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0f5a2a66}.secondary-button{background:#fff;color:#0f5a2a;border:2px solid #0f5a2a}.secondary-button:hover{background:#0f5a2a;color:#fff}@media(min-width:480px){.screen-content{padding:25px 20px;max-width:100%}.screen-logo{max-width:45%}.main-title{font-size:2.2em}.tagline{font-size:1em;margin-bottom:16px}.opening-description,.rules-list,.tips-list{font-size:.95em}.button-group{flex-direction:row;margin-top:16px;gap:10px}.start-button,.primary-button,.secondary-button{width:auto;flex:1;min-height:44px}}@media(min-width:768px){.screen{height:100vh}.screen-content{padding:40px 35px;max-width:550px;max-height:calc(100vh - 24px);overflow:visible}.screen-logo{max-width:50%}.main-title{font-size:2.7em}.tagline{font-size:1.15em}.opening-description,.rules-list,.tips-list{font-size:1.05em}}.mode-selection-screen .screen-content{max-width:500px;width:100%}.mode-subtitle{text-align:center;font-size:1.1em;color:#666;margin-bottom:30px;font-weight:500}.mode-selection-buttons{display:flex;flex-direction:column;gap:20px;margin-top:30px}.mode-button{background:linear-gradient(135deg,#0f5a2a,#f4b942);color:#fff;border:none;border-radius:12px;padding:25px 20px;cursor:pointer;transition:all .3s ease;text-align:left;font-size:1em;box-shadow:0 4px 12px #0f5a2a33;display:flex;flex-direction:column;gap:10px}.mode-button:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0f5a2a66}.mode-button:active{transform:translateY(-2px);box-shadow:0 4px 12px #0f5a2a33}.mode-name{font-size:1.5em;font-weight:700;font-family:Georgia,serif}.mode-description{font-size:.95em;opacity:.95;line-height:1.4}.sequential-mode{background:linear-gradient(135deg,#0f5a2a,#16a34a)}.chaotic-mode{background:linear-gradient(135deg,#f4b942,#f59e0b)}.chaotic-mode:hover{box-shadow:0 8px 20px #f4b94266}@media(max-width:600px){.mode-selection-screen .screen-content{padding:25px 15px}.mode-button{padding:20px 15px}.mode-name{font-size:1.3em}.mode-description{font-size:.9em}}.progress-indicator{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0;padding-top:5px;border:none}.progress-text{font-size:.85em;color:#999;font-weight:500;letter-spacing:.5px}.legal-disclaimer{font-size:.75em;color:#666;line-height:1.4;margin-top:20px;margin-bottom:20px;padding:0 10px;text-align:center}.progress-dots{display:flex;gap:8px;justify-content:center}.dot{width:8px;height:8px;border-radius:50%;background-color:#f4b942;transition:background-color .3s ease}.dot.active{background-color:#0f5a2a}.tax-toggle{display:flex;align-items:center;gap:10px}.tax-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none;white-space:nowrap}.tax-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.stock-card{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #667eea;border-radius:6px;cursor:pointer;transition:all .3s ease;position:relative;width:70px;height:65px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;overflow:hidden;padding:6px 6px 6px 8px}.stock-card:hover:not(.locked){border-color:#fff;box-shadow:0 6px 12px #667eea66;transform:translateY(-2px)}.stock-card.locked{opacity:.5;cursor:not-allowed}.stock-card.disabled{cursor:not-allowed;opacity:1}.stock-card.disabled-locked{background:linear-gradient(135deg,#9ca3af,#6b7280)!important;border-color:#4b5563!important}.stock-card.disabled-locked:hover{transform:none;box-shadow:0 2px 8px #6b72804d}.stock-card.disabled-future-ipo{background:linear-gradient(135deg,#fde68a,#fcd34d)!important;border-color:#f9a825!important}.stock-card.disabled-future-ipo:hover{transform:none;box-shadow:0 2px 8px #f59e0b4d}.stock-card.disabled-future-ipo .symbol,.stock-card.disabled-future-ipo .stock-name{color:#333;text-shadow:0 1px 2px rgba(255,255,255,.8)}.stock-card.disabled:hover:not(.locked){transform:none}.stock-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.symbol{font-size:1em;font-weight:700;color:#fff}.stock-name{font-size:.7em;color:#ffffffe6;margin:0;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;max-height:2.4em}.lock-badge{background:#ffc107;color:#333;padding:1px 3px;border-radius:3px;font-size:.5em;font-weight:600;position:absolute;top:2px;right:2px}.stock-card-body{flex:1}.name,.type,.click-hint{display:none}@media(max-width:600px){.stock-card{padding:5px;min-height:60px}.symbol{font-size:.95em}.stock-name{font-size:.7em}.tax-toggle label{font-size:.8em}.tax-toggle input[type=checkbox]{width:16px;height:16px}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%;animation:slideIn .3s ease;position:relative}.modal-content.trade-modal{max-width:480px;padding:0;display:flex;flex-direction:column}.modal-content.trade-modal.flash{animation:flash .5s ease}@keyframes flash{0%,to{background-color:#fff}50%{background-color:#e8f5e9}}.portfolio-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px;background:#f5f5f5;border-bottom:1px solid #ddd}.stat-box{text-align:center;padding:10px;background:#fff;border-radius:6px}.stat-label{font-size:.8em;color:#999;text-transform:uppercase;font-weight:600;letter-spacing:.5px;margin-bottom:4px}.stat-value{font-size:1.3em;font-weight:700;color:#667eea}.stock-tile{padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;border-bottom:1px solid #ddd}.stock-symbol{font-size:1.8em;font-weight:700;margin-bottom:4px}.stock-name{font-size:.7em;opacity:.9;margin:0}.stock-price{font-size:.95em;font-weight:600}.price-chart-container{padding:15px;background:#fafafa;border-bottom:1px solid #ddd;overflow-x:hidden;width:100%;max-width:100%}.chart-title{font-size:.85em;color:#999;font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.price-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:2px;height:120px;background:#fff;border:1px solid #ddd;border-radius:4px;padding:8px;width:100%;max-width:100%;overflow-x:auto}.chart-bar-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1 1 0;min-width:4px;height:100%;gap:2px}.chart-bar{width:100%;min-height:2px;background:linear-gradient(to top,#667eea,#764ba2);border-radius:2px;transition:all .2s;cursor:pointer}.chart-bar:hover{opacity:.8}.chart-bar.positive{background:linear-gradient(to top,#10b981,#059669)}.chart-bar.negative{background:linear-gradient(to top,#f59e0b,#d97706)}.chart-year{font-size:.5em;color:#999;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;line-height:1}.trading-buttons-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:15px;background:#fff}.button-column{display:flex;flex-direction:column;gap:8px}.trade-button{padding:12px 8px;border:none;border-radius:6px;font-weight:700;cursor:pointer;font-size:.85em;line-height:1.2;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.trade-button:disabled{opacity:.5;cursor:not-allowed}.trade-button:active:not(:disabled){transform:scale(.98)}.buy-column .trade-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 4px #3b82f633}.buy-column .trade-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.sell-column .trade-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef444433}.sell-column .trade-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.modal-footer-trade{padding:12px 15px 15px;background:#fff;border-top:1px solid #eee}.return-home-button{width:100%;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.95em;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.return-home-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0f5a2a66}.return-home-button:active{transform:translateY(0)}.close-button{position:absolute;top:8px;right:8px;background:none;border:none;font-size:1.2em;cursor:pointer;color:#999;width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:10;padding:0;flex-shrink:0}.close-button:hover{color:#333}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px;border-bottom:1px solid #eee}.modal-header h2{margin:0;color:#333;font-size:1.5em}.modal-body{padding:25px}.price-info,.holdings-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px;background:#f9f9f9;border-radius:6px}.price-info .label,.holdings-summary .label{font-weight:600;color:#666}.price-info .value,.holdings-summary .value{font-weight:700;color:#667eea;font-size:1.1em}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.input-group input{width:100%;padding:12px;border:2px solid #ddd;border-radius:6px;font-size:1em;transition:border-color .2s;font-family:monospace}.input-group input:focus{outline:none;border-color:#667eea}.calculation{background:#f9f9f9;border-radius:6px;padding:15px;margin-bottom:20px;font-size:.95em}.calc-row{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee}.calc-row:last-child{margin-bottom:0;border-bottom:none}.calc-row.highlight{background:#e8eef7;padding:10px;margin:10px -15px -10px;border:none;font-weight:600;color:#667eea}.calc-row.warning{color:#f59e0b;font-weight:600}.calc-row span:first-child{color:#666}.calc-row span:last-child{font-weight:600;color:#333}.insufficient{color:#dc2626!important}.sufficient{color:#16a34a!important}.error-message{color:#dc2626;background:#fee2e2;padding:10px;border-radius:4px;font-size:.9em;margin-top:10px}.modal-footer{display:flex;gap:10px;padding:0 25px 25px}.cancel-button{flex:1;padding:12px;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:.95em;transition:all .2s;background:#f0f0f0;color:#333}.cancel-button:hover{background:#e0e0e0}@media(max-width:600px){.modal-content{max-width:90vw}.modal-header{padding:20px}.modal-header h2{font-size:1.3em}.modal-body,.modal-footer{padding-left:20px;padding-right:20px}.portfolio-stats{padding:12px;gap:10px}.stat-box{padding:8px}.stat-label{font-size:.75em}.stat-value{font-size:1.1em}.stock-tile{padding:12px}.stock-symbol{font-size:1.5em}.stock-price{font-size:.9em}.price-chart-container{padding:12px}.price-chart{height:100px}.trading-buttons-grid{gap:6px;padding:12px}.trade-button{padding:10px 6px;font-size:.8em}.modal-footer-trade{padding:10px 12px 12px}.return-home-button{padding:10px 12px;font-size:.9em}}.modal-close-x{position:absolute;top:8px;right:8px;background:url(/img/close-x.png) no-repeat center/contain;border:none;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;z-index:10;padding:0;font-size:0;transition:opacity .2s}.modal-close-x:hover{opacity:.7}.modal-close-x:active{opacity:.5}.achievement-toaster{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 20px;border-radius:8px;box-shadow:0 4px 20px #667eea66;z-index:2000;animation:toasterSlideIn .4s ease,toasterSlideOut .4s ease 4.6s forwards;max-width:90%;width:320px}@keyframes toasterSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-30px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toasterSlideOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-30px)}}.toaster-content{display:flex;gap:12px;align-items:center}.toaster-emoji{font-size:1.8em;flex-shrink:0}.toaster-text{display:flex;flex-direction:column;gap:2px}.toaster-name{font-size:1em;font-weight:700;letter-spacing:.5px}.toaster-desc{font-size:.85em;opacity:.9}@media(max-width:600px){.achievement-toaster{width:calc(100% - 40px);max-width:none}}.achievements-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:450px;width:90%;max-height:600px;display:flex;flex-direction:column;animation:slideIn .3s ease;position:relative}.achievements-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;flex-shrink:0}.achievements-modal .modal-header h2{margin:0;color:#333;font-size:1.4em}.achievements-list{overflow-y:auto;flex:1;padding:12px;display:flex;flex-direction:column;gap:8px}.achievement-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;background:#f9f9f9;border:1px solid #eee;transition:all .2s}.achievement-item.unlocked{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-color:#10b981}.achievement-item.locked{opacity:.6}.achievement-emoji{font-size:1.8em;flex-shrink:0}.achievement-info{flex:1;display:flex;flex-direction:column;gap:2px}.achievement-name{font-weight:700;color:#333;font-size:.95em}.achievement-desc{font-size:.85em;color:#999}.achievement-status{font-size:1.2em;flex-shrink:0;color:#667eea}.achievement-item.locked .achievement-status{color:#999}@media(max-width:600px){.achievements-modal{max-height:70vh;max-width:95%}.achievements-modal .modal-header{padding:16px}.achievements-modal .modal-header h2{font-size:1.2em}.achievements-list{padding:10px;gap:6px}.achievement-item{padding:10px}}.investments-modal{background:#fff;border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:70vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d;animation:slideIn .3s ease-out;position:relative}.investments-modal h2{margin:0 0 20px;color:#333;font-size:1.4em;text-align:center;font-family:Georgia,serif}.portfolio-summary{background:#f9f9f9;border-radius:8px;padding:12px;margin-bottom:16px;border:1px solid #eee}.summary-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.95em}.no-investments{text-align:center;color:#999;padding:20px;font-style:italic}.status-indicator{margin-bottom:20px;padding:20px 15px;background:#f9f9f9;border-radius:8px}.status-list{display:flex;flex-direction:column;gap:0px;line-height:1.2}.status-item{display:flex;align-items:center;gap:12px;padding:0 10px;border-radius:6px;color:#999;font-size:.95em;transition:all .2s ease;white-space:nowrap;min-width:100%}.status-item.active{font-weight:700;color:#333;background:#fff}.status-radio{font-size:1.2em;min-width:20px;color:#667eea;font-weight:700}.status-item:not(.active) .status-radio{color:#ccc}.status-name{font-weight:600;min-width:100px}.status-range{color:inherit;font-size:.9em}.investments-list{margin-bottom:20px}.investments-header{display:grid;grid-template-columns:.8fr .7fr 1.2fr 1.2fr;gap:12px;font-weight:700;padding:12px;background:#f5f5f5;border-radius:8px;border-bottom:2px solid #667eea;margin-bottom:8px}.investment-row{display:grid;grid-template-columns:.8fr .7fr 1.2fr 1.2fr;gap:12px;padding:12px;border-bottom:1px solid #eee;align-items:center;transition:opacity .2s ease,background-color .2s ease}.investment-row.unavailable{opacity:.5;background-color:#f5f5f5;color:#999}.column{padding:4px 0;font-size:.95em}.column.symbol{font-weight:600;color:#667eea}.column.quantity{text-align:right;color:#555}.column.purchasePrice{text-align:right;color:#666;font-size:.9em}.column.currentValue{text-align:right;color:#10b981;font-weight:600}.investment-row.unavailable .column.purchasePrice,.investment-row.unavailable .column.currentValue{color:#999}.tips-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.tips-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:400px;width:100%;padding:24px;animation:slideIn .3s ease;text-align:center;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.tips-modal-title{margin:0;padding:0 0 16px;color:#333;font-size:1.3em;font-weight:700;border-bottom:2px solid #e0e0e0;text-align:left}.tips-modal-body{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px;margin-top:20px}.tips-modal-image{width:auto;height:auto;max-width:200px;max-height:200px;border-radius:8px;object-fit:contain;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.tips-modal-text-section{flex:1}.tips-modal-text{color:#555;line-height:1.2;margin:0 0 20px;font-family:Georgia,serif;font-style:italic;font-weight:700}.tips-text-large{font-size:1.2em}.tips-text-medium{font-size:.95em}.tips-text-small{font-size:.85em}.tips-quote-attribution{display:block;text-align:right;font-style:italic;margin-top:8px;font-weight:600}.tips-modal-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d}.tips-modal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea80}.tips-modal-button:active{transform:scale(.98)}.tips-modal-footer{display:flex;align-items:center;gap:12px;justify-content:center}.tips-next-button{background:#fff;color:#0f5a2a;border:2px solid #0f5a2a;width:40px;height:40px;border-radius:8px;font-size:1.2em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:600;flex-shrink:0}.tips-next-button:hover{background:#0f5a2a;color:#fff;transform:translate(2px)}.tips-next-button:active{transform:scale(.95)}.tips-toggle-container{display:flex;align-items:center;gap:8px;padding:8px 12px}.tips-toggle-label{font-size:.85em;font-weight:600;color:#333;white-space:nowrap}.tips-toggle{position:relative;width:50px;height:28px;background:#ccc;border:none;border-radius:14px;cursor:pointer;transition:background-color .3s ease;padding:0;outline:none}.tips-toggle.enabled{background:#667eea}.tips-toggle.disabled{background:#ccc}.toggle-slider{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:left .3s ease;box-shadow:0 2px 4px #0003}.tips-toggle.enabled .toggle-slider{left:24px}.tips-toggle:hover{opacity:.9}.tips-toggle:active{transform:scale(.98)}.unavailable-stock-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.unavailable-stock-modal{background:#fff;padding:24px;border-radius:12px;max-width:400px;box-shadow:0 4px 12px #00000026;text-align:center;position:relative}.unavailable-stock-modal h2{margin:0 0 16px;color:#667eea;font-size:1.3em}.unavailable-stock-modal p{color:#666;font-size:.95em;line-height:1.5;margin:0 0 24px}.game-over-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-over-modal{background:#fff;border-radius:16px;padding:40px 30px;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;text-align:center;animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.game-over-content{display:flex;flex-direction:column;gap:20px}.game-over-title{font-size:2.2em;font-weight:700;margin:0;line-height:1.2}.game-over-modal--struggling .game-over-title{color:#d32f2f}.game-over-modal--goat .game-over-title{color:#0f5a2a}.game-over-message{font-size:1em;line-height:1.6;color:#333;margin:0}.game-over-portfolio-summary{background:#f9f9f9;border-radius:8px;padding:12px;margin:0;border:1px solid #eee}.portfolio-summary-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.95em}.portfolio-summary-item.year-display{border-bottom:1px solid #ddd;padding-bottom:8px;margin-bottom:8px;font-weight:700;color:#667eea}.portfolio-summary-item.total{border-top:1px solid #ddd;margin-top:6px;padding-top:8px;font-weight:700}.summary-label{color:#666;font-weight:600}.summary-value{color:#333;font-weight:700}.summary-value.warning{color:#f59e0b}.game-over-image{max-width:100%;height:auto;max-height:300px;object-fit:contain}.game-over-button{background:linear-gradient(135deg,#0f5a2a,#16a34a);color:#fff;border:none;border-radius:8px;padding:14px 30px;font-size:1.05em;font-weight:600;cursor:pointer;transition:all .3s ease}.game-over-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0f5a2a66}.game-over-button:active{transform:translateY(0)}@media(max-width:600px){.game-over-modal{padding:30px 20px;max-width:90vw}.game-over-title{font-size:1.8em}.game-over-message{font-size:.95em}}.dashboard{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:0 12px 20px;display:flex;flex-direction:column;align-items:stretch;overflow:visible;margin:0;max-width:100vw;box-sizing:border-box;border-radius:16px}.dashboard-header{background:#fff;border-radius:8px;padding:12px 15px;margin-bottom:12px;margin-top:10px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.portfolio-info{display:flex;flex-direction:column;gap:12px;font-size:.85em;flex:1}.portfolio-grid{display:flex;flex-direction:column;border:1px solid #ddd;border-radius:4px;overflow:hidden;background:#fff}.grid-row{display:grid;grid-template-columns:repeat(5,1fr);min-width:0}.header-row{background-color:#f0f0f0;border-bottom:2px solid #999}.value-row{border-bottom:1px solid #ddd}.grid-cell{border-right:1px solid #ddd;padding:6px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid-cell:last-child{border-right:none}.header-cell{font-weight:700;text-align:center;color:#333;background-color:#f0f0f0;font-size:.9em;white-space:normal;word-break:break-word}.value-cell{text-align:center;color:#667eea;font-weight:700;font-size:.95em}.value-cell.positive{color:#16a34a}.value-cell.negative{color:#dc2626}.value-cell.warning{color:#f59e0b}.portfolio-info-extra{display:flex;gap:15px;flex-wrap:wrap}.notification-toaster{position:fixed;top:120px;right:20px;border-radius:8px;padding:14px 16px;box-shadow:0 8px 16px #0003;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:500px;z-index:1000;animation:slideInRight .3s ease-out}.notification-toaster.notification-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:2px solid #f59e0b}.notification-toaster.notification-info{background:linear-gradient(135deg,#60a5fa,#3b82f6);border:2px solid #3b82f6}.notification-toaster.notification-success{background:linear-gradient(135deg,#4ade80,#22c55e);border:2px solid #22c55e}.notification-content{color:inherit;font-size:.95em;font-weight:500;flex:1}.notification-toaster.notification-warning .notification-content{color:#78350f}.notification-toaster.notification-info .notification-content{color:#1e3a8a}.notification-toaster.notification-success .notification-content{color:#1b4332}.notification-close{background:none;border:none;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1.2em;flex-shrink:0}.notification-toaster.notification-warning .notification-close{color:#78350f}.notification-toaster.notification-info .notification-close{color:#1e3a8a}.notification-toaster.notification-success .notification-close{color:#1b4332}.notification-close:hover{transform:scale(1.1);opacity:.8}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-wrap:nowrap}.trophy-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:1.4em;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #667eea33}.trophy-button:hover{transform:scale(1.1);box-shadow:0 4px 12px #667eea66}.trophy-button:active{transform:scale(.95)}.investments-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:1.4em;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #667eea33}.investments-button:hover{transform:scale(1.1);box-shadow:0 4px 12px #667eea66}.investments-button:active{transform:scale(.95)}.stat{display:flex;flex-direction:column;gap:4px}.stat label{font-size:.65em;color:#999;font-weight:600;text-transform:uppercase;letter-spacing:.2px}.stat span{font-size:1em;font-weight:700;color:#667eea}.stat span.positive{color:#16a34a}.stat span.negative{color:#dc2626}.stat span.warning{color:#f59e0b}.stat.highlight span{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.headline-box{background:transparent;border:none;padding:0;margin:0;box-shadow:none;animation:slideDown .5s ease;display:flex;flex-direction:row;gap:0;align-items:center;justify-content:flex-start;width:100%;align-self:stretch}.headline-nav-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;color:#fff;font-size:1.2em;width:24px;height:100px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #667eea4d;position:absolute;top:50%;transform:translateY(-50%);z-index:10;padding:0}.headline-nav-btn:hover:not(:disabled){transform:translateY(-50%) scale(1.1);box-shadow:0 4px 12px #667eea80}.headline-nav-btn:disabled{opacity:.3;cursor:not-allowed}.headline-nav-prev{left:0}.headline-nav-next{left:278px}.newspaper-container{position:relative;width:300px;height:250px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.newspaper-img{width:300px;height:300px;object-fit:contain;display:block}.headline-content{position:absolute;top:20px;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px 0 0;box-sizing:border-box;z-index:5}.headline-refresh-btn{position:absolute;bottom:40px;right:18px;background:none;border:none;cursor:pointer;font-size:1.2em;opacity:.6;transition:opacity .2s ease;padding:5px}.headline-refresh-btn:hover:not(:disabled){opacity:1}.headline-refresh-btn:disabled{cursor:not-allowed}.headline-text{color:#1a1a1a;font-size:1em;line-height:1.3;margin:0;font-weight:700;font-family:Georgia,serif;word-wrap:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;padding-left:18px;padding-top:20px;padding-right:18px;text-align:center;max-width:calc(85% - 10px)}.year-controls{display:flex;flex-direction:column;gap:8px;align-items:center;padding-top:2px;margin-left:0}.current-year-display{display:flex;flex-direction:column;gap:1px;text-align:center}.current-year-label{font-size:.7em;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.current-year-value{font-size:2.4em;font-weight:700;color:#fbbf24;font-family:Georgia,serif}.time-travel-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:10px 6px;font-size:.75em;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:normal;box-shadow:0 2px 8px #667eea4d;text-transform:uppercase;letter-spacing:.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:70px;height:auto;line-height:1.2}.time-travel-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea80}.time-travel-button:active{transform:scale(.98)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.stocks-grid{background:#fff;border-radius:8px;padding:8px;margin-bottom:6px;box-shadow:0 2px 4px #0000001a;overflow:visible;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.stocks-grid h2{margin-bottom:6px;color:#333;font-size:.95em}.stocks-section{display:flex;flex-direction:column;gap:6px;align-items:center}.section-title{margin:0;color:#333;font-size:.85em;font-weight:600;text-transform:uppercase;letter-spacing:.5px;text-align:center}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;overflow-x:hidden;width:auto;max-width:360px;margin:0 auto}.grid.premium-grid{grid-template-columns:repeat(4,1fr);max-width:360px}@media(max-width:768px){.dashboard{padding:0 12px 12px}.dashboard-header{padding:10px 12px;gap:10px;margin-bottom:0}.portfolio-info{gap:10px;width:100%;order:2}.tax-toggle{order:1;justify-self:flex-end}.stat span{font-size:.9em}.stocks-grid{padding:10px;margin-bottom:8px;flex:1}.stocks-grid h2{font-size:.9em;margin-bottom:8px}.grid{grid-template-columns:repeat(4,1fr);gap:6px}.grid.premium-grid{grid-template-columns:repeat(4,1fr)}.headline-box{flex-direction:row;gap:12px;margin:0}.newspaper-container{width:300px;height:250px}.headline-content{padding-top:12%;padding-bottom:20%}.headline-text{font-size:1em;line-height:1.3;-webkit-line-clamp:5;padding-left:18px;padding-top:45px;padding-right:18px;max-width:calc(85% - 10px)}.year-controls{gap:8px;padding-top:2px}.current-year-label{font-size:.7em}.current-year-value{font-size:1.3em}.time-travel-button{padding:8px 10px;font-size:.75em}}@media(min-width:769px){.dashboard{max-width:520px;margin:0 auto;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}.dashboard-header{padding:12px 15px}.stocks-grid{padding:12px}}@media(min-width:1024px){.dashboard{max-width:540px}}.game-menu{position:relative;display:flex;justify-content:center;align-items:center;padding:0;z-index:100;gap:20px}.game-mode-display{font-size:1em;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);display:none}.menu-buttons{display:flex;justify-content:center;gap:12px}.menu-button{background:#fff;color:#667eea;border:2px solid #667eea;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.menu-button:hover{background:#667eea;color:#fff;transform:scale(1.05)}.test-tips{background:#fff3cd;border-color:#ffc107;color:#856404}.test-tips:hover{background:#ffc107;color:#fff}@media(max-width:600px){.game-menu{padding:0}.menu-button{padding:8px 12px;font-size:.85em}}.app-footer{padding:12px 20px;text-align:center;font-size:.95em;color:#333;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-footer p{margin:0;line-height:1.4}.app-footer a{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s ease}.app-footer a:hover{color:#764ba2;text-decoration:underline}
