:root{--background-color: #0a0a1a;--primary-color: #00f2ff;--secondary-color: #8a2be2;--text-color: #e0e0e0;--container-bg: rgba(20, 20, 40, .8);--border-color: rgba(0, 242, 255, .3);--button-hover-bg: rgba(0, 242, 255, .2);--input-bg: rgba(0, 0, 0, .3);--error-color: #ff4757}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Roboto Mono,monospace;background-color:var(--background-color);color:var(--text-color);overflow:hidden;display:flex;justify-content:center;align-items:center;min-height:100vh}#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}#root{width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:2rem}.app-container{width:100%;max-width:1200px;height:90vh;max-height:800px;background:var(--container-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 0 20px #00f2ff33,0 0 40px #8a2be233;display:flex;flex-direction:column;overflow:hidden;position:relative}header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:center;gap:1.5rem}.tab-button{font-family:Roboto Mono,monospace;background:none;border:none;color:var(--text-color);font-size:1.1rem;padding:.5rem 1rem;cursor:pointer;position:relative;transition:color .3s ease;opacity:.7}.tab-button:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background-color:var(--primary-color);transition:width .3s ease}.tab-button:hover{color:var(--primary-color);opacity:1}.tab-button.active{color:var(--primary-color);opacity:1;font-weight:700}.tab-button.active:after{width:100%}main{flex-grow:1;padding:1.5rem;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.controls-panel,.preview-panel{display:flex;flex-direction:column;gap:1rem}.control-group{display:flex;flex-direction:column;gap:.5rem}label{font-weight:700;text-transform:uppercase;font-size:.9rem;color:var(--primary-color)}textarea,select{width:100%;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;color:var(--text-color);font-family:Roboto Mono,monospace;font-size:1rem;resize:vertical;transition:border-color .3s,box-shadow .3s}textarea:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 10px #00f2ff66}textarea{min-height:120px}.quick-prompts{display:flex;flex-wrap:wrap;gap:.5rem}.prompt-chip{background:none;border:1px solid var(--border-color);color:var(--text-color);padding:.4rem .8rem;border-radius:20px;cursor:pointer;transition:background-color .3s,color .3s;font-size:.85rem}.prompt-chip:hover{background-color:var(--button-hover-bg);color:var(--primary-color)}.main-action-btn{background-image:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border:none;border-radius:8px;color:#0a0a1a;font-weight:700;font-size:1.1rem;padding:.9rem;cursor:pointer;transition:transform .2s,box-shadow .3s;margin-top:auto}.main-action-btn:disabled{opacity:.5;cursor:not-allowed}.main-action-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 15px #00f2ff4d}.preview-panel .image-container{flex-grow:1;display:flex;justify-content:center;align-items:center;background:var(--input-bg);border:1px dashed var(--border-color);border-radius:8px;min-height:200px;position:relative;overflow:hidden}.image-container img{max-width:100%;max-height:100%;object-fit:contain}.placeholder-text{text-align:center;color:#e0e0e080;padding:1rem}.loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid var(--border-color);border-left-color:var(--primary-color);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.image-actions{display:flex;gap:1rem}.save-controls{display:flex;flex-grow:1;gap:.5rem}.format-select{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;padding:0 .75rem;color:var(--text-color);font-family:Roboto Mono,monospace;font-size:1rem;transition:border-color .3s,box-shadow .3s;cursor:pointer}.format-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 10px #00f2ff66}.secondary-action-btn{flex-grow:1;background:none;border:1px solid var(--primary-color);color:var(--primary-color);border-radius:8px;padding:.75rem;cursor:pointer;transition:background-color .3s;font-family:Roboto Mono,monospace;font-size:1rem;font-weight:700}.secondary-action-btn:hover{background-color:var(--button-hover-bg)}.upload-label{cursor:pointer;padding:2rem;text-align:center;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:background-color .3s}.upload-label:hover{background-color:var(--button-hover-bg)}#file-upload{display:none}.error-toast{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background-color:var(--error-color);color:#fff;padding:.75rem 1.5rem;border-radius:8px;box-shadow:0 4px 10px #0000004d;z-index:1000;font-size:.9rem;animation:fadeInOut 5s forwards}@keyframes fadeInOut{0%,to{opacity:0;transform:translate(-50%,10px)}10%,90%{opacity:1;transform:translate(-50%)}}.history-list-panel{display:flex;flex-direction:column;border-right:1px solid var(--border-color);padding-right:1.5rem;height:100%;overflow:hidden}.history-items-container{overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;padding-top:1rem}.history-item{aspect-ratio:1 / 1;border:2px solid var(--border-color);background:none;padding:0;border-radius:8px;cursor:pointer;overflow:hidden;transition:border-color .3s,transform .3s}.history-item:hover{border-color:var(--primary-color);transform:scale(1.05)}.history-item.selected{border-color:var(--primary-color);box-shadow:0 0 15px #00f2ff80}.history-item img{width:100%;height:100%;object-fit:cover}.history-preview-panel{display:flex;flex-direction:column;gap:1rem}.history-details{background:var(--input-bg);border-radius:8px;padding:1rem;border:1px solid var(--border-color)}.history-prompt{word-break:break-word}.history-details p{margin-bottom:.5rem}.history-details p:last-child{margin-bottom:0}@media (max-width: 768px){main{grid-template-columns:1fr;max-height:calc(100% - 60px)}.app-container{height:95vh;max-height:none}.history-list-panel{border-right:none;padding-right:0;max-height:200px;border-bottom:1px solid var(--border-color);padding-bottom:1rem}}
