*{margin:0;padding:0;box-sizing:border-box}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-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.button{background-color:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:16px}.button:hover{background-color:#0056b3}.button:disabled{background-color:#ccc;cursor:not-allowed}.input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:10px}.textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;min-height:100px;margin-bottom:10px;font-family:inherit}.stage{background-color:#f8f9fa;border-left:4px solid #007bff;padding:15px;margin-bottom:10px;border-radius:4px}.stage h4{color:#007bff;margin-bottom:5px}.stage p{color:#666;font-size:14px;margin-bottom:5px}.stage code{background-color:#e9ecef;padding:2px 6px;border-radius:3px;font-size:13px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.gallery-item{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s,box-shadow .2s}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 4px 8px #0003}.gallery-item img{width:100%;height:300px;object-fit:cover}.gallery-item-content{padding:15px}.gallery-item-content p{color:#666;font-size:14px;margin-top:10px}.chat-message{background-color:#e7f3ff;padding:15px;border-radius:8px;margin-bottom:10px}.chat-message.user{background-color:#d4edda;margin-left:20%}.chat-message.assistant{background-color:#e7f3ff;margin-right:20%}.generation-info{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:15px;margin-top:10px}.generation-info h5{margin-bottom:10px;color:#495057}.generation-info-item{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid #e9ecef}.generation-info-item:last-child{border-bottom:none}.generation-steps{margin-top:15px}.generation-step{padding:8px;margin-bottom:5px;background-color:#fff;border-left:3px solid #007bff;border-radius:3px}.markdown-content{line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:1em;margin-bottom:.5em;font-weight:700}.markdown-content h1{font-size:1.5em}.markdown-content h2{font-size:1.3em}.markdown-content h3{font-size:1.1em}.markdown-content p{margin:.5em 0}.markdown-content ul,.markdown-content ol{margin:.5em 0;padding-left:2em}.markdown-content li{margin:.25em 0}.markdown-content code{background-color:#f4f4f4;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.markdown-content pre{background-color:#f4f4f4;padding:1em;border-radius:4px;overflow-x:auto;margin:1em 0}.markdown-content pre code{background-color:transparent;padding:0}.markdown-content blockquote{border-left:4px solid #ddd;padding-left:1em;margin:1em 0;color:#666}.markdown-content table{border-collapse:collapse;width:100%;margin:1em 0}.markdown-content table th,.markdown-content table td{border:1px solid #ddd;padding:8px;text-align:left}.markdown-content table th{background-color:#f4f4f4;font-weight:700}.markdown-content a{color:#007bff;text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content strong{font-weight:700}.markdown-content em{font-style:italic}.streaming-cursor{display:inline-block;animation:blink 1s infinite;color:#007bff;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.nav{background-color:#007bff;color:#fff;padding:15px;margin-bottom:20px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.nav a{color:#fff;text-decoration:none;margin:0 10px;padding:5px 10px;border-radius:4px}.nav a:hover{background-color:#fff3}.nav a.active{background-color:#ffffff4d}.login-container{max-width:400px;margin:100px auto}.login-container h1{text-align:center;margin-bottom:30px;color:#333}.error{color:#dc3545;background-color:#f8d7da;padding:10px;border-radius:4px;margin-bottom:10px}.success{color:#155724;background-color:#d4edda;padding:10px;border-radius:4px;margin-bottom:10px}.loading{text-align:center;padding:20px;color:#666}
