* { box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; background-color: #1a1a2e; color: #eee; margin: 0; padding: 20px; min-height: 100vh; } .container { max-width: 900px; margin: 0 auto; } h1 { text-align: center; margin-bottom: 20px; margin-top: 0; color: #fff; } form { background: #16213e; padding: 15px; border-radius: 10px; margin-bottom: 20px; } .form-group { margin-bottom: 15px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } label { display: block; margin-bottom: 8px; font-weight: 500; } textarea, input[type="number"], select { width: 100%; padding: 12px; border: 1px solid #0f3460; border-radius: 6px; background: #1a1a2e; color: #fff; font-size: 14px; } textarea { resize: vertical; min-height: 80px; } input[type="range"] { width: 100%; height: 8px; -webkit-appearance: none; background: #0f3460; border-radius: 4px; outline: none; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; background: #e94560; border-radius: 50%; cursor: pointer; } input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; background: #e94560; border-radius: 50%; cursor: pointer; border: none; } .seed-input { display: flex; gap: 10px; } .seed-input input { flex: 1; } .seed-input button { padding: 12px 20px; background: #0f3460; border: none; border-radius: 6px; color: #fff; cursor: pointer; font-size: 14px; } .seed-input button:hover { background: #1a4a7a; } .checkbox-group label { display: flex; align-items: center; gap: 10px; cursor: pointer; } .checkbox-group input[type="checkbox"] { width: 18px; height: 18px; cursor: pointer; } .range-inputs { display: flex; align-items: center; gap: 10px; margin-top: 8px; margin-left: 28px; } .range-inputs input { width: 70px; padding: 8px; border: 1px solid #0f3460; border-radius: 6px; background: #1a1a2e; color: #fff; font-size: 14px; } .range-inputs span { color: #aaa; } button[type="submit"] { width: 100%; padding: 15px; background: #e94560; border: none; border-radius: 6px; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: background 0.2s; } button[type="submit"]:hover { background: #ff6b6b; } button[type="submit"]:disabled { background: #666; cursor: not-allowed; } .button-row { display: flex; gap: 10px; } .button-row button[type="submit"] { flex: 1; } #stop-btn { padding: 15px 25px; background: #7b2d26; border: none; border-radius: 6px; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: background 0.2s; } #stop-btn:hover { background: #a33d33; } #stop-btn:disabled { background: #555; cursor: not-allowed; } .settings-buttons { display: flex; gap: 10px; margin-bottom: 20px; } .settings-buttons button { flex: 1; padding: 10px; background: #0f3460; border: none; border-radius: 6px; color: #fff; font-size: 14px; cursor: pointer; transition: background 0.2s; } .settings-buttons button:hover { background: #1a4a7a; } .status { display: none; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 15px; border-radius: 6px; margin-bottom: 20px; } .status.loading, .status.success, .status.error { display: flex; } .status.loading { background: #0f3460; } .status.success { background: #1e5128; } .status.error { background: #7b2d26; } .spinner { display: none; width: 20px; height: 20px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: #fff; border-radius: 50%; animation: spin 0.8s linear infinite; } .status.loading .spinner { display: block; } @keyframes spin { to { transform: rotate(360deg); } } .progress-container { display: none; margin-bottom: 20px; } .progress-bar { height: 8px; background: #0f3460; border-radius: 4px; overflow: hidden; } .progress-fill { height: 100%; background: linear-gradient(90deg, #e94560, #ff6b6b); border-radius: 4px; width: 0%; transition: width 0.1s linear; } .progress-text { text-align: center; margin-top: 8px; font-size: 14px; color: #aaa; } .results { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 20px; } .image-card { background: #16213e; border-radius: 10px; overflow: hidden; } .image-card img { width: 100%; height: auto; display: block; } .image-info { padding: 15px; } .image-info p { margin: 8px 0; font-size: 14px; word-break: break-word; } .image-info a { color: #e94560; text-decoration: none; } .image-info a:hover { text-decoration: underline; } @media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } .results { grid-template-columns: 1fr; } } /* Wide screen mode */ @media (min-width: 1200px) { body { padding: 0; height: 100vh; overflow: hidden; } .container { display: flex; max-width: none; height: 100vh; margin: 0; } .panel-left { width: 600px; min-width: 600px; padding: 20px; overflow-y: auto; border-right: 1px solid #0f3460; } .panel-left h1 { font-size: 1.5rem; margin-bottom: 20px; } .panel-left form { margin-bottom: 20px; } .panel-left .form-row { grid-template-columns: 1fr 1fr; } /* Smaller scrollbar for left panel */ .panel-left::-webkit-scrollbar { width: 6px; } .panel-left::-webkit-scrollbar-track { background: #1a1a2e; } .panel-left::-webkit-scrollbar-thumb { background: #0f3460; border-radius: 3px; } .panel-left::-webkit-scrollbar-thumb:hover { background: #1a4a7a; } /* Firefox scrollbar */ .panel-left { scrollbar-width: thin; scrollbar-color: #0f3460 #1a1a2e; } .panel-right { flex: 1; padding: 20px; overflow-y: auto; background: #12121f; } .panel-right .results { grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); } }