:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;color-scheme:light dark;color:#1e293b;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2.5rem;line-height:1.2}h2{font-size:1.8rem;line-height:1.3}h3{font-size:1.3rem;line-height:1.4}@media(prefers-color-scheme:dark){:root{color:#f8f9fa;background-color:#1a1a2e}button{background-color:#3f72af}button:hover{background-color:#1a6fb0}}:root{--primary-color: #2563eb;--primary-dark: #1d4ed8;--secondary-color: #64748b;--accent-color: #0ea5e9;--accent-light: #f1f5f9;--text-color: #1e293b;--text-light: #64748b;--text-muted: #94a3b8;--background-color: #f8fafc;--card-background: #ffffff;--border-color: #e2e8f0;--border-color-light: #f1f5f9;--success-color: #059669;--error-color: #dc2626;--warning-color: #d97706;--border-radius: 8px;--border-radius-sm: 6px;--box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--box-shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--transition: all .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color);min-height:100vh;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{max-width:800px;margin:0 auto;padding:2rem 1rem;min-height:100vh}header{text-align:center;margin-bottom:2rem;padding:1rem 0;border-bottom:1px solid var(--border-color)}header h1{color:var(--text-color);margin-bottom:.5rem;font-size:2.5rem;font-weight:600;letter-spacing:-.02em;text-transform:capitalize}footer{text-align:center;margin-top:3rem;padding-top:1rem;color:#666;border-top:1px solid #eee}button{cursor:pointer;padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:.9rem;font-weight:500;transition:var(--transition);box-shadow:var(--box-shadow)}button:hover{background-color:var(--primary-dark)}button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.theme-input-container{background:var(--card-background);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);text-align:center;border:1px solid var(--border-color)}.theme-input-container h2{color:var(--text-color);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.theme-input-container p{margin-bottom:1.5rem;color:var(--text-light);font-size:1rem}.input-group{margin-bottom:1.5rem}.input-group input{width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--card-background);transition:var(--transition);font-family:inherit;color:var(--text-color)}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.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(--primary-color);padding:.875rem 1.75rem;font-size:1rem;font-weight:500;margin-top:1rem}.generate-btn:hover{background-color:var(--primary-dark)}.examples{margin-top:2rem;text-align:left;background:var(--accent-light);padding:1.5rem;border-radius:var(--border-radius);border:1px solid var(--border-color-light)}.examples h3{font-size:.875rem;margin-bottom:.75rem;color:var(--text-light);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.examples ul{list-style-type:none;display:flex;flex-wrap:wrap;gap:.5rem}.examples li{background:var(--card-background);padding:.375rem .75rem;border-radius:var(--border-radius-sm);font-size:.875rem;color:var(--text-color);border:1px solid var(--border-color);transition:var(--transition);cursor:pointer}.examples li:hover{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.loading-container{background: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;border:1px solid var(--border-color)}.loading-container h2{color:var(--text-color);margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.loading-animation{margin:1.5rem auto}.spinner{width:40px;height:40px;border:3px solid var(--border-color-light);border-top:3px solid var(--primary-color);border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-info{margin-top:1rem;color:var(--text-light);font-size:.9rem}.story-container{background:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;border:1px solid var(--border-color)}.story-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;background:var(--accent-light);border-bottom:1px solid var(--border-color);justify-content:flex-end}.share-btn,.view-btn{background-color:var(--secondary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--border-radius-sm);font-size:.875rem;cursor:pointer;transition:var(--transition);font-weight:500}.share-btn:hover,.view-btn:hover{background-color:var(--primary-color)}.story-loader{background-color:var(--card-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden}.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:var(--card-background);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:1px solid var(--border-color)}.story-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.story-header h2{color:var(--text-color);font-size:1.5rem;font-weight:600}.story-content{margin-bottom:2rem}.story-node p{font-size:1.1rem;line-height:1.6;margin-bottom:1rem;color:var(--text-color)}.story-options h3{margin-bottom:1rem;color:var(--text-color);font-size:1.125rem;font-weight:500}.options-list{display:flex;flex-direction:column;gap:.75rem}.option-btn{text-align:left;padding:1rem;background:var(--card-background);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);transition:var(--transition);font-size:1rem;line-height:1.5}.option-btn:hover{background-color:var(--accent-light);border-color:var(--primary-color)}.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}@media(max-width:768px){.app-container{padding:1rem}header h1{font-size:2rem}.theme-input-container,.loading-container,.story-game{padding:1.5rem}.story-actions{padding:1rem;flex-direction:column;gap:.5rem}}@media(max-width:480px){.app-container{padding:.75rem}.theme-input-container,.loading-container,.story-game{padding:1rem}}@media(prefers-color-scheme:dark){:root{--text-color: #f1f5f9;--text-light: #94a3b8;--text-muted: #64748b;--background-color: #0f172a;--card-background: #1e293b;--border-color: #334155;--border-color-light: #475569;--accent-light: #1e293b}}
