body{font-family:Inter,sans-serif;background-color:#1a202c;color:#e2e8f0;margin:0;overflow-y:auto;padding:1rem 0;display:flex;justify-content:center;align-items:center;min-height:100vh}.page{display:none;width:100%;max-width:900px;box-sizing:border-box;margin:0 auto}.page.active{display:flex;flex-direction:column;align-items:center}.game-container{background-color:#2d3748;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1.5rem;display:flex;flex-direction:column;align-items:center;width:100%;max-width:900px;box-sizing:border-box;margin:0 auto}#canonGameCanvas{background-color:#2d3748;border:2px solid #4a5568;border-radius:.75rem;box-shadow:inset 0 0 10px #00000080;width:100%;max-width:500px;height:400px}.start-button{background-color:#059669;color:#fff;font-weight:700;padding:.75rem 1.5rem;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease-in-out;outline:none}.start-button:hover{background-color:#047857}.start-button:focus{box-shadow:0 0 0 3px #4ade8080}.reset-button{background-color:#2563eb;color:#fff;font-weight:700;padding:.75rem 1.5rem;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease-in-out;outline:none}.reset-button:hover{background-color:#1d4ed8}.reset-button:focus{box-shadow:0 0 0 3px #60a5fa80}.button-group{padding:10px;margin-bottom:1rem;width:100%;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.message-box{background-color:#92400e;color:#fef3c7;padding:.75rem;border-radius:.375rem;text-align:center;font-size:.875rem;margin-top:1rem;min-height:40px;width:100%;max-width:600px;margin-left:auto;margin-right:auto}.next-button{background-color:#2563eb;color:#fff;font-weight:700;padding:.75rem 1.5rem;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease-in-out;outline:none;font-size:1.2rem;margin-top:1.5rem}.next-button:hover{background-color:#1d4ed8}.next-button:focus{box-shadow:0 0 0 3px #60a5fa80}.stock-list{list-style:none;padding:0 10px 0 0;margin-top:1.5rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-height:350px;overflow-y:auto;width:100%}.stock-list li{background-color:#3b4a6b;border:2px solid #4a5568;border-radius:.75rem;padding:.75rem;width:140px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 4px 6px #0000001a;position:relative;top:0;left:0}.stock-list li:hover{transform:translateY(-3px);box-shadow:0 6px 10px #0003;border-color:#63b3ed}.stock-list li.selected-stock{border-color:#fcd34d;background-color:#4299e1;color:#fff;transform:scale(1.03);box-shadow:0 8px 12px #0000004d}.stock-list li.selected-stock .positive,.stock-list li.selected-stock .negative{color:inherit}.stock-logo-placeholder{width:30px;height:30px;background-color:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:.5rem;color:#a0aec0;position:absolute;top:8px;left:8px}.splash-page-content{background-color:#2d3748;padding:2rem;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;text-align:center;max-width:600px;width:100%}.splash-page-content h1{font-size:3rem;font-weight:800;color:#60a5fa;margin-bottom:1.5rem;text-shadow:0 0 10px rgba(96,165,250,.5)}.splash-page-content p{font-size:1.125rem;color:#d1d5db;margin-bottom:2rem}.splash-page-content .start-game-button{background-color:#22c55e;color:#fff;font-weight:700;padding:1rem 2rem;border-radius:9999px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .3s ease-in-out;outline:none;font-size:1.5rem;letter-spacing:.05em}.splash-page-content .start-game-button:hover{background-color:#16a34a}.splash-page-content .start-game-button:focus{box-shadow:0 0 0 4px #4ade80bf}.game-mode-selection{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:2rem}.game-mode-selection label{font-size:1.125rem;font-weight:600;color:#e2e8f0}.game-mode-selection input[type=radio]{height:1.25rem;width:1.25rem;color:#2563eb}.acct-profile-content{background-color:#2d3748;padding:2rem;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:900px;width:100%;display:flex;flex-direction:column;align-items:center}.acct-profile-header{width:100%;text-align:center;margin-bottom:1.5rem}.acct-profile-header h1{font-size:2.25rem;font-weight:800;color:#a78bfa;margin-bottom:.5rem;text-shadow:0 0 8px rgba(167,139,250,.5)}.acct-profile-header p{font-size:1.125rem;color:#d1d5db}.acct-profile-main{display:flex;width:100%;justify-content:space-between;flex-direction:column;align-items:center}@media (min-width: 768px){.acct-profile-main{flex-direction:row;align-items:flex-start}}.acct-profile-left{flex-shrink:0;width:auto;display:flex;flex-direction:column;align-items:flex-start;padding-right:1rem;margin-bottom:.5rem}@media (min-width: 768px){.acct-profile-left{width:200px;margin-bottom:0}}.acct-profile-middle{flex-grow:1;width:100%;max-width:600px;text-align:center}.acct-profile-middle h2{font-size:1.5rem;font-weight:700;color:#e2e8f0;margin-bottom:1rem}.enter-game-link{color:#60a5fa;text-decoration:underline;font-size:1.125rem;font-weight:600;transition:color .2s ease-in-out;margin-bottom:.5rem}.enter-game-link:hover{color:#bfdbfe}.all-stocks-list{list-style:none;padding:0 10px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-height:400px;overflow-y:auto;margin-top:1rem}.all-stocks-list li{background-color:#3b4a6b;border:2px solid #4a5568;border-radius:.75rem;padding:.75rem;width:140px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000001a;position:relative;top:0;left:0;cursor:pointer}.all-stocks-list li:hover{transform:translateY(-3px);box-shadow:0 6px 10px #0003;border-color:#63b3ed}.all-stocks-list li.selected-stock{border-color:#fcd34d;background-color:#4299e1;color:#fff;transform:scale(1.03);box-shadow:0 8px 12px #0000004d}.all-stocks-list li.selected-stock .positive,.all-stocks-list li.selected-stock .negative{color:inherit}.all-stocks-list li .stock-ticker{font-weight:700;font-size:.9rem;margin-top:.5rem}.all-stocks-list li .stock-performance{font-size:.8rem}.positive{color:#48bb78}.negative{color:#fc8181}.back-button{background-color:#4b5563;color:#fff;font-weight:700;padding:.5rem 1rem;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .2s ease-in-out;outline:none;margin-top:1rem;align-self:flex-start;margin-left:1rem}.back-button:hover{background-color:#374151}.back-button:focus{box-shadow:0 0 0 3px #9ca3afbf}.shop-page-content{background-color:#2d3748;padding:2rem;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;text-align:center;max-width:900px;width:100%;height:auto}.shop-page-content h1{font-size:2.25rem;font-weight:800;color:#fcd34d;margin-bottom:1.5rem;text-shadow:0 0 8px rgba(252,211,77,.5)}.shop-page-content p{font-size:1.125rem;color:#d1d5db;margin-bottom:2rem}.shop-page-content .shop-stocks-list{list-style:none;padding:0 10px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;max-height:500px;overflow-y:auto}.shop-stocks-list li{background-color:#3b4a6b;border:2px solid #4a5568;border-radius:.75rem;padding:.75rem;width:140px;height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000001a;position:relative;top:0;left:0}.shop-stocks-list li .stock-price{font-size:1.125rem;font-weight:700;color:#6ee7b7;margin-top:.25rem;cursor:pointer}.shop-stocks-list li .stock-price:hover{text-decoration:underline}.shop-stocks-list li .stock-points{font-size:1rem;font-weight:600;color:#fcd34d;margin-top:.25rem}.home-page-content{background-color:#2d3748;padding:2rem;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:700px;width:100%}.home-page-header{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;gap:1rem}.home-page-header h1{font-size:3.75rem;font-weight:800;color:#4ade80;text-shadow:0 0 15px rgba(74,222,128,.6)}.finimmerse-logo{height:80px;width:auto;border-radius:50%;box-shadow:0 0 10px #4ade8066}.home-page-sections{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}@media (min-width: 640px){.home-page-sections{flex-direction:row;justify-content:space-around}}.login-section,.acct-creation-section{background-color:#4b5563;padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;flex:1;min-width:280px}.modal-overlay{background-color:#000000bf;display:none;justify-content:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000}.modal-content{background-color:#2d3748;padding:2rem;border-radius:1rem;text-align:center;box-shadow:0 10px 20px #00000080;max-width:500px;width:90%}.modal-content h2{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1rem}.modal-content p{color:#d1d5db;margin-bottom:1.5rem}.modal-overlay.visible{display:flex}#canonStockChoiceList{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;max-height:300px;overflow-y:auto;margin-bottom:1.5rem}#canonStockChoiceList li{background-color:#3b4a6b;border:2px solid #4a5568;border-radius:.75rem;padding:.75rem;width:140px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 4px 6px #0000001a;position:relative}#canonStockChoiceList li:hover{transform:translateY(-3px);box-shadow:0 6px 10px #0003;border-color:#63b3ed}#canonStockChoiceList li.selected-stock{border-color:#fcd34d;background-color:#4299e1;color:#fff;transform:scale(1.03)}.canon-stock-choice-modal-content .button-group{flex-direction:row;gap:1rem}#appMessageBox{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:1rem 1.5rem;border-radius:.5rem;color:#fff;z-index:2000;text-align:center;box-shadow:0 4px 6px #0003;opacity:0;transition:opacity .5s ease-in-out;pointer-events:none}#appMessageBox.visible{opacity:1}#appMessageBox.success{background-color:#2f855a}#appMessageBox.error{background-color:#c53030}#appMessageBox.info{background-color:#2b6cb0}
