:root{--bg-color: #211a18;--surface-color: #2c2522;--primary-color: #d4af37;--text-color: #f5f5f5;--text-secondary-color: #a0a0a0;--border-color: #443a37;--error-color: #ff5252}*,*:before,*:after{box-sizing:border-box}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}body{background-color:var(--bg-color);color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;display:flex;flex-direction:column;min-height:100vh}.main-banner{background-color:var(--bg-color);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;color:var(--primary-color);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.banner-title{display:flex;align-items:center;gap:1rem}.main-banner h1{margin:0;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.main-banner .clock-icon{width:32px;height:32px}.api-key-section{display:flex;align-items:center;gap:.5rem}#api-key-input{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);padding:.5rem;font-family:inherit;min-width:280px}.api-key-btn{background-color:var(--primary-color);color:var(--bg-color);border:none;padding:.5rem .8rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:700;box-shadow:none;transition:background-color .2s;width:auto;white-space:nowrap}.api-key-btn:hover{background-color:#ffd54f;transform:none;box-shadow:none}#clear-api-key-btn{background-color:var(--surface-color);color:var(--text-secondary-color)}#clear-api-key-btn:hover{background-color:var(--border-color);color:var(--text-color)}.tab-nav{display:flex;justify-content:center;gap:.5rem;padding:1rem 1.5rem 0;border-bottom:1px solid var(--border-color);background-color:var(--bg-color)}.tab-btn{padding:.75rem 1.5rem;border:none;background-color:transparent;color:var(--text-secondary-color);font-size:1.1rem;font-weight:600;cursor:pointer;border-radius:8px 8px 0 0;border-bottom:3px solid transparent;transition:all .2s ease-in-out;width:auto;box-shadow:none}.tab-btn:hover{background-color:var(--surface-color);color:var(--text-color);transform:none}.tab-btn.active{color:var(--primary-color);background-color:var(--surface-color);border-bottom:3px solid var(--primary-color)}.tab-content{display:none}.tab-content.active{display:block}.app-header{padding:0 0 1rem;text-align:left;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.app-header h2{margin:0;font-weight:600;font-size:1.5rem;color:var(--primary-color)}.container{display:flex;flex-direction:column;flex-grow:1;gap:1.5rem;padding:1.5rem}@media(min-width:900px){.container{flex-direction:row}}.controls{background-color:transparent;padding:0;border-radius:0;width:100%;border:none;display:flex;flex-direction:column;gap:2rem}@media(min-width:900px){.controls{width:380px;flex-shrink:0;overflow-y:auto}}.control-group{margin-bottom:1rem;background-color:var(--surface-color);border:1px dotted var(--primary-color);border-radius:12px;padding:1rem 1.25rem}.control-group:last-child{margin-bottom:0}.control-group label{display:block;margin-bottom:.75rem;color:var(--text-color);font-weight:500;font-size:1rem}.preset-selector-group{display:flex;flex-direction:column;gap:.75rem}select{width:100%;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);padding:.6rem;font-family:inherit;font-size:.95rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23d4af37' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .7rem center;background-size:1em}select:disabled{cursor:not-allowed;background-color:var(--border-color);color:var(--text-secondary-color)}.image-input-wrapper{position:relative}.image-input-wrapper input[type=file]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10;border-radius:8px}.image-preview-single,.image-preview-multi{background-color:transparent;border:none;border-radius:0;position:relative;min-height:38px}.image-preview-multi{display:grid;grid-template-columns:repeat(auto-fill,minmax(65px,1fr));gap:8px}.image-preview-single{display:flex;flex-wrap:wrap;gap:8px}.file-placeholder{display:flex;align-items:center;gap:1rem;width:100%}.file-btn-lookalike{background-color:var(--primary-color);color:var(--bg-color);padding:.5rem 1rem;border-radius:6px;font-weight:700;cursor:pointer;white-space:nowrap;font-size:.9rem}.file-name-lookalike{color:var(--text-secondary-color);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-img-container{position:relative;width:65px;height:65px}.preview-img{width:100%;height:100%;object-fit:cover;border-radius:4px}.remove-img-btn{position:absolute;top:2px;right:2px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:20px;height:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1;z-index:10}textarea{width:100%;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);padding:.5rem;font-family:inherit;resize:vertical}textarea::placeholder{color:var(--text-secondary-color)}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.aspect-btn{flex-grow:1}button{background-color:var(--border-color);color:var(--text-secondary-color);border:1px solid transparent;padding:.6rem 1rem;border-radius:8px;cursor:pointer;font-size:1rem;font-family:inherit;font-weight:700;box-shadow:0 2px 4px #0003;transition:all .2s ease-in-out;width:100%}button:hover{background-color:#6d4c41;color:var(--text-color);transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}button:active{transform:translateY(0);box-shadow:0 2px 4px #0003}#generate-btn,#download-btn,#download-cropped-btn,#final-download-btn,#analyze-btn{background-color:var(--primary-color);color:var(--bg-color);padding:.8rem}#generate-btn{width:100%;margin-top:1rem}#generate-btn:hover,#download-btn:hover,#download-cropped-btn:hover,#final-download-btn:hover,#analyze-btn:hover{background-color:#ffd54f}button:disabled{background-color:var(--border-color);color:var(--text-secondary-color);cursor:not-allowed;transform:none;box-shadow:none}button.active{background-color:var(--primary-color);color:var(--bg-color)}.output-area{flex-grow:1;display:flex;flex-direction:column;gap:1.5rem;min-width:0}.image-container{background-color:var(--surface-color);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-grow:1;position:relative;overflow:hidden;border:1px solid var(--border-color);min-height:300px}.placeholder{text-align:center;color:var(--text-secondary-color)}#result-image,#cropped-image{max-width:100%;max-height:100%;object-fit:contain;transition:filter .3s ease}.loader{position:absolute;top:0;left:0;width:100%;height:100%;background:#211a18d9;display:grid;align-content:center;justify-items:center;gap:1rem;z-index:20;border:none;animation:none;border-radius:inherit}.loader p{margin:0;color:var(--primary-color);font-weight:500;letter-spacing:.05em}.loader .spinner{border:5px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}#preset-library{display:flex;flex-direction:column;gap:.5rem}#preset-library details{border:1px solid var(--border-color);border-radius:4px;padding:.5rem;background-color:#0000001a}#preset-library summary{cursor:pointer;font-weight:700;color:var(--text-secondary-color)}#preset-library summary:hover{color:var(--text-color)}.preset-btn-container{padding-top:.75rem;padding-left:.5rem;padding-right:.5rem;display:flex;flex-wrap:wrap;gap:.5rem;max-height:200px;overflow-y:auto}.preset-btn,.button-group button{background-color:var(--bg-color);border:1px solid var(--border-color);font-size:.9rem;padding:.4rem .8rem;width:auto}.preset-btn.active,.button-group button.active{background-color:var(--primary-color);color:var(--bg-color);border-color:var(--primary-color)}.step-2-actions{display:flex;gap:1rem}.step-2-actions button{margin-top:1rem;width:auto;flex-grow:1;padding:.8rem}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.action-buttons button{width:auto;flex-grow:1;margin-top:0}#final-download-btn{background-color:var(--primary-color);color:var(--bg-color)}#crop-result-area{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}#crop-result-area h4{text-align:center;color:var(--primary-color);margin:0 0 1rem;font-size:1.2rem}#undo-crop-btn,#redo-preset-btn{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color)}#undo-crop-btn:hover,#redo-preset-btn:hover{background-color:var(--border-color)}.dna-controls{width:100%}@media(min-width:900px){.dna-controls{width:450px;flex-shrink:0}}.drop-zone{border:2px dashed var(--border-color);border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center}.drop-zone.dragover{border-color:var(--primary-color);background-color:#d4af371a}.drop-zone p{margin:0 0 1rem;color:var(--text-secondary-color)}#dna-preview{margin-top:1rem;width:100%}#dna-preview:empty{margin-top:0}.dna-options{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--border-color);padding-top:1rem}.checkbox-wrapper{display:flex;align-items:center;gap:.75rem;cursor:pointer}.checkbox-wrapper input[type=checkbox]{width:1.2em;height:1.2em;accent-color:var(--primary-color);cursor:pointer}.checkbox-wrapper label{font-size:.95rem;color:var(--text-secondary-color);margin-bottom:0;cursor:pointer}#analyze-btn{width:100%;margin-top:1rem}.dna-output-area{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;position:relative;display:flex;flex-direction:column}#dna-output-container{display:flex;flex-direction:column;gap:1.5rem;overflow-y:auto;flex-grow:1}.output-group{background-color:var(--surface-color);border-radius:8px;padding:1rem;border:1px solid var(--border-color);display:flex;flex-direction:column}.output-group:first-child{flex-grow:1;display:flex;flex-direction:column}.output-group:first-child textarea{flex-grow:1}.output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.output-header h3{margin:0;font-size:1.1rem;color:var(--primary-color)}.copy-btn{background-color:var(--bg-color);color:var(--text-secondary-color);border:1px solid var(--border-color);padding:.4rem .8rem;font-size:.9rem;width:auto}.copy-btn:hover{background-color:var(--border-color);color:var(--text-color)}.output-group textarea,.output-group pre{width:100%;background-color:transparent;border:none;color:var(--text-color);font-family:Courier New,Courier,monospace;font-size:.9rem;padding:0;margin:0}.output-group textarea{resize:vertical;min-height:60px}.input-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem}.input-row label{margin-bottom:0;flex-shrink:0;width:150px;text-align:left}.input-row input[type=number],.input-row input[type=text]{flex-grow:1;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-color);padding:.4rem .8rem;font-family:inherit;font-size:.9rem;width:auto}.small-btn{padding:.4rem .8rem;font-size:.85rem;flex-shrink:0;width:auto}.app-footer{background-color:var(--surface-color);color:var(--text-secondary-color);padding:1.5rem;text-align:center;border-top:1px solid var(--border-color);font-size:.9rem}.app-footer p{margin:.5rem 0}.footer-links{margin-top:1rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.footer-links p{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.footer-btn{display:inline-block;background-color:var(--primary-color);color:var(--bg-color)!important;padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-weight:700;transition:background-color .2s ease-in-out}.footer-btn:hover{background-color:#ffd54f}@media(min-width:900px){.footer-links{flex-direction:row;justify-content:center;gap:2rem}}
