:root{color:#f5f7f6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#00d08424,#0000 32%),linear-gradient(#161816 0%,#0f1110 100%);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-weight:400;line-height:1.5}html,body,#root{min-height:100%}body{margin:0}button,input{font:inherit}*{box-sizing:border-box}body{color:#fff;background:#111;margin:0;font-family:Arial,sans-serif}.app{max-width:1200px;margin:0 auto;padding:28px}h1{color:#fff;margin-top:0;font-size:36px}h2{margin-top:0}.top-nav{gap:10px;margin-bottom:18px;display:flex}.top-nav button{color:#fff;background:#222;border:1px solid #555;border-radius:8px;padding:10px 16px;font-size:15px}.top-nav .nav-active{background:#004b2c;border-color:#0f8}.form{grid-template-columns:1fr 140px;gap:12px;margin-bottom:14px;display:grid}.form input{color:#fff;background:#111;border:1px solid #555;border-radius:8px;width:100%;padding:14px;font-size:16px}.dropzone{text-align:center;cursor:pointer;color:#ddd;background:#181818;border:2px dashed #777;border-radius:12px;margin:18px 0 22px;padding:40px;font-size:18px}.dropzone:hover{border-color:#0f8}.grid{flex-wrap:wrap;gap:14px;margin-bottom:22px;display:flex}.card{color:#fff;background:#181818;border:2px solid #333;border-radius:12px;width:160px;padding:8px}.card.selected{background:#00ff881a;border-color:#0f8}.card.invalid{border-color:#f33}.card img{object-fit:cover;background:#333;border-radius:8px;width:100%;height:105px;display:block}.card div{word-break:break-word;margin-top:6px;font-size:12px}.card button{color:#fff;cursor:pointer;background:#333;border:none;border-radius:7px;width:100%;margin-top:8px;padding:8px}.card button:hover{background:#555}.validation{color:#fc0;margin-top:6px;font-size:11px;line-height:1.35}button{cursor:pointer}.app>button{color:#fff;background:#600;border:none;border-radius:10px;margin-bottom:18px;padding:14px 18px;font-size:16px}.app>button:disabled{cursor:not-allowed;background:#555}.error{color:#ffdede;background:#4b1111;border:1px solid #b33;border-radius:8px;margin:12px 0;padding:12px}.notice{color:#fc0;margin:12px 0}.results{margin-top:18px;line-height:1.5}.keyword-suggestions{color:#d8ffd8;background:#102018;border:1px solid #0f8;border-radius:10px;margin:12px 0;padding:12px;line-height:1.4}.keyword-suggestions button{color:#fff;background:#004b2c;border:1px solid #0f8;border-radius:8px;margin-left:12px;padding:8px 12px}.modal-backdrop{z-index:1000;background:#000000c7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{z-index:1001;background:#1b1b1b;border:1px solid #555;border-radius:18px;width:min(1000px,94vw);max-height:92vh;padding:36px;position:relative;overflow-y:auto}.modal-close{border-radius:6px;width:36px;height:36px;font-size:22px;position:absolute;top:14px;left:18px}.modal label{color:#d8ffd8;margin-top:16px;margin-bottom:6px;font-weight:700;display:block}.modal textarea,.modal input,.modal select{color:#fff;background:#111;border:1px solid #666;border-radius:10px;width:100%;padding:14px;font-size:16px}.modal textarea{resize:vertical;min-height:120px;line-height:1.45}.guided-box{background:#101010;border:1px solid #444;border-radius:14px;margin-bottom:24px;padding:18px}.guided-box h3{color:#0f8;margin-top:0}.assistant-button{color:#fff;background:#004b2c;border:1px solid #0f8;border-radius:8px;margin-top:18px;padding:10px 14px}.final-caption-preview{color:#d8ffd8;white-space:pre-wrap;background:#0f0f0f;border:1px solid #666;border-radius:10px;padding:16px;font-size:16px;line-height:1.5}.gallery-panel{background:#181818;border:1px solid #333;border-radius:14px;padding:18px}.gallery-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.gallery-header button{color:#fff;background:#222;border:1px solid #555;border-radius:8px;padding:10px 14px}.gallery-folder{margin-top:24px}.gallery-folder h3{color:#0f8;border-bottom:1px solid #333;padding-bottom:8px}.gallery-grid{flex-wrap:wrap;gap:14px;display:flex}.gallery-card{cursor:pointer;background:#101010;border:1px solid #333;border-radius:10px;width:160px;padding:8px}.gallery-card:hover{border-color:#0f8}.gallery-card img{object-fit:cover;background:#333;border-radius:8px;width:100%;height:105px;display:block}.gallery-name{word-break:break-word;margin-top:7px;font-size:11px}.gallery-modal{z-index:1001;background:#1b1b1b;border:1px solid #555;border-radius:18px;width:min(900px,92vw);max-height:88vh;padding:28px;position:relative;overflow-y:auto}.gallery-modal img{object-fit:contain;background:#000;border-radius:10px;width:100%;max-height:420px;display:block}.gallery-full-key{color:#ddd;word-break:break-word;margin-top:12px;font-size:13px}.gallery-modal a{color:#0f8;margin-top:12px;display:inline-block}.gallery-meta{background:#101010;border:1px solid #444;border-radius:12px;margin-top:18px;padding:16px}.gallery-meta h3{color:#0f8;margin-top:0}.gallery-meta label{color:#d8ffd8;margin-top:12px;margin-bottom:4px;font-weight:700;display:block}.gallery-meta div{color:#eee;word-break:break-word;line-height:1.5}.low-res-card{background:#2a1111;border-color:#ff4d4d!important}.remove-card-button{color:#fff;cursor:pointer;z-index:2;background:#3a1111;border:1px solid #f77;border-radius:999px;width:30px;height:30px;font-size:20px;line-height:1;position:absolute;top:8px;right:8px}.remove-card-button:hover{background:#f33}.image-size-note{color:#bbb;margin-top:6px;font-size:12px}.modal-actions{background:#1b1b1b;border-top:1px solid #444;margin-top:22px;padding-top:16px;position:sticky;bottom:0}.save-close-button{color:#000;background:#0c6;width:100%;font-weight:700}.save-close-button:hover{background:#0f8}.gallery-header-actions{flex-wrap:wrap;gap:10px;display:flex}.folder-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.folder-download-button,.thumbnail-download-button,.icon-download-button{color:#0f8;cursor:pointer;background:#0f2a1d;border:1px solid #0f8;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.folder-download-button:hover,.thumbnail-download-button:hover,.icon-download-button:hover{color:#000;background:#0f8}.gallery-card{position:relative}.thumbnail-download-button{z-index:3;position:absolute;top:8px;right:8px}
