: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}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}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}}:root{--primary-color: #4a6fa5;--secondary-color: #166d89;--accent-color: #48cae4;--text-color: #333;--background-color: #f8f9fa;--card-background: #ffffff;--success-color: #4caf50;--error-color: #f44336;--border-radius: 8px;--box-shadow: 0 4px 6px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color)}.app-container{min-height:100vh;padding:2rem}header{text-align:center;margin-bottom:3rem}header h1{color:var(--primary-color);margin:0 auto}main{display:flex;justify-content:center;align-items:center;min-height:50vh}footer{text-align:center;margin-top:3rem;padding-top:1rem;color:#666;border-top:1px solid #eee}button{cursor:pointer;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;transition:background-color .3s}button:hover{background-color:var(--secondary-color)}.theme-input-container{background-color:var(--card-background);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);text-align:center;max-width:500px;width:100%;margin:0 auto}.theme-input-container h2{color:var(--primary-color);margin-bottom:1rem}.theme-input-container p,.input-group{margin-bottom:1.5rem}.input-group input{width:100%;padding:.75rem;font-size:1rem;border:1px solid #ddd;border-radius:var(--border-radius)}.input-group input.error{border-color:var(--error-color)}.error-text{color:var(--error-color);font-size:.875rem;margin-top:.5rem;text-align:left}.generate-btn{background-color:var(--accent-color);padding:.75rem 1.5rem;font-size:1rem;font-weight:700}.generate-btn:hover{background-color:var(--secondary-color)}.examples{margin-top:2rem;text-align:left}.examples h3{font-size:1rem;margin-bottom:.5rem;color:#666}.examples ul{list-style-type:none}.examples li{display:inline-block;background-color:#f0f0f0;padding:.25rem .5rem;margin:.25rem;border-radius:4px;font-size:.875rem}.loading-container{background-color:var(--card-background);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);text-align:center;min-height:300px;display:flex;flex-direction:column;justify-content:center;max-width:500px;width:100%;margin:0 auto}.loading-container h2{color:var(--primary-color);margin-bottom:1.5rem}.loading-animation{margin:2rem auto}.spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-top-color:var(--accent-color);border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-info{margin-top:1rem;color:#666}.story-container{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;max-width:800px;margin:0 auto}.story-actions{display:flex;gap:1rem;padding:1rem 2rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;justify-content:flex-end}.share-btn,.view-btn{background-color:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);font-size:.9rem;cursor:pointer;transition:background-color .3s}.share-btn:hover,.view-btn:hover{background-color:var(--secondary-color)}.story-loader{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;max-width:800px;margin:0 auto}.story-nav{padding:1rem 2rem;background-color:#f8f9fa;border-bottom:1px solid #e9ecef}.home-btn{background-color:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius);font-size:.9rem;cursor:pointer;transition:background-color .3s}.home-btn:hover{background-color:#5a6268}.story-game{background-color:var(--card-background);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);max-width:800px;margin:0 auto}.story-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #eee}.story-header h2{color:var(--primary-color)}.story-content{margin-bottom:2rem}.story-node p{font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem}.story-options h3{margin-bottom:1rem;color:var(--secondary-color)}.options-list{display:flex;flex-direction:column;gap:1rem}.option-btn{text-align:left;padding:1rem;background-color:#f0f7ff;color:var(--text-color);border:1px solid #d0e0f7;transition:all .3s}.option-btn:hover{background-color:#e0f0ff;transform:translateY(-2px)}.story-ending{text-align:center;margin-top:2rem}.story-ending h3{color:var(--primary-color);margin-bottom:1rem}.restart-btn{background-color:var(--accent-color);padding:.75rem 1.5rem}.restart-btn:hover{background-color:var(--secondary-color)}.winning-message{color:var(--success-color);font-weight:700;margin-bottom:1.5rem}.ending-message{color:#666;margin-bottom:1.5rem}.new-story-btn{background-color:var(--accent-color);padding:.75rem 1.5rem}.story-controls{display:flex;justify-content:center;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid #eee}.reset-btn{background-color:#f0f0f0;color:#666}.reset-btn:hover{background-color:#e0e0e0}.error-message{background-color:#ffebee;color:var(--error-color);padding:1.5rem;border-radius:var(--border-radius);text-align:center;margin-bottom:2rem}.error-message p{margin-bottom:1rem}.error-message button{background-color:var(--error-color)}.error-message button:hover{background-color:#d32f2f}.app-container{min-height:100vh;padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center}html,body,#root{margin:0;padding:0;width:100%;height:100%}#root{display:flex;justify-content:center;align-items:center}
