:root { --bg-color: #222222; --container-bg: #353535; --text-color: #ffffff; --secondary-text: #e0e0e0; --accent-color: #3672b6; --accent-hover: #285a8c; --input-bg: #232323; --border-color: #444; --success-color: #4caf50; --upload-bg: #fafafa; --upload-color: #4d4d4d; --upload-hover-bg: #e6f0ff; --upload-hover-color: #007bff; } body.light-mode { --bg-color: #f5f5f5; --container-bg: #ffffff; --text-color: #333333; --secondary-text: #555555; --accent-color: #3672b6; --accent-hover: #285a8c; --input-bg: #f9f9f9; --border-color: #dddddd; --success-color: #4caf50; --upload-bg: #ffffff; --upload-color: #666666; --upload-hover-bg: #e6f0ff; --upload-hover-color: #007bff; } body { font-family: Arial, sans-serif; margin: 2em; background: var(--bg-color); } .unselectable-label { user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; color: var(--accent-color); } #warning { text-align: center; color: var(--text-color); } .container, .prompt-container, .additional-container { overflow-y: auto; scrollbar-width: thin; } .additional-container { position: relative; } /* Theme toggle button */ .theme-toggle-container { position: absolute; top: 10px; right: 10px; } .theme-toggle-btn { background: none; border: none; cursor: pointer; color: var(--text-color); padding: 5px; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; transition: background-color 0.3s; } .theme-toggle-btn:hover { background-color: rgba(255, 255, 255, 0.1); } .theme-icon { width: 24px; height: 24px; } /* Civitai toggle button (top right of Models panel) */ .civitai-toggle-container { position: absolute; top: 10px; right: 10px; } .civitai-toggle-btn { background: none; border: none; cursor: pointer; color: var(--text-color); padding: 5px; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; transition: background-color 0.3s; } .civitai-toggle-btn:hover { background-color: rgba(255, 255, 255, 0.1); } body.light-mode .civitai-toggle-btn:hover { background-color: rgba(0, 0, 0, 0.06); } .civitai-toggle-btn .civitai-icon { width: 24px; height: 24px; } .civitai-toggle-btn[aria-pressed="false"] .civitai-icon-on { display: none; } .civitai-toggle-btn[aria-pressed="false"] .civitai-icon-off { display: block !important; opacity: 0.6; } /* Copy buttons */ .copy-row { display: flex; align-items: center; gap: 0.5em; margin-bottom: 0.25em; } .copy-btn { background: none; border: none; cursor: pointer; padding: 0.1em 0.2em; transition: background 0.2s; border-radius: 4px; } .copy-btn:hover, .copy-btn:focus { background: var(--border-color); } .copy-btn svg { display: inline-block; } .btn-label { margin-left: 0.5em; color: var(--success-color); font-size: 0.95em; opacity: 0; transition: opacity 0.5s; pointer-events: none; user-select: none; } /* Flex layout for main content */ .main-flex { display: flex; justify-content: center; align-items: flex-start; gap: 2em; max-width: 90vw; margin: 0 auto; } /* Left container (Image Metadata Extractor) */ .container { max-width: 500px; min-height: 500px; width: 100%; background: var(--container-bg); padding: 2em; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); position: relative; } h1 { text-align: center; color: var(--text-color); margin: 0; } h2 { color: var(--text-color); } /* Upload area */ .upload-area { border: 2px dashed #aaa; border-radius: 8px; padding: 2em; text-align: center; color: var(--upload-color); background: var(--upload-bg); cursor: pointer; transition: border-color 0.2s, background 0.2s; margin: 2em 0 2em 0; position: relative; } .upload-area.dragover { border-color: var(--upload-hover-color); background: var(--upload-hover-bg); color: var(--upload-hover-color); } .upload-area input[type="file"] { display: none; } #image-preview { display: block; margin: 1em auto; max-width: 100%; max-height: 280px; } #metadata { margin-top: 1.5em; } .metadata-list { list-style: none; padding: 0; overflow-wrap: break-word; } .metadata-list li { margin-bottom: 0.5em; color: var(--secondary-text); } /* Prompt container (right side) */ .prompt-container, .additional-container { max-width: 500px; min-height: 500px; width: 100%; background: var(--container-bg); padding: 2em; border-radius: 8px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; gap: 1.5em; } .prompt-container h1 { color: var(--text-color); text-align: center; } .prompt-group { display: flex; flex-direction: column; gap: 0.5em; } .prompt-group label { color: var(--text-color); font-weight: bold; } .prompt-group textarea { resize: none; min-height: 80px; padding: 0.75em; border-radius: 6px; border: 1px solid var(--border-color); background: var(--input-bg); color: var(--secondary-text); font-size: 1em; transition: border-color 0.2s; width: 100%; box-sizing: border-box; overflow: hidden; } .prompt-group textarea:focus { border-color: var(--accent-color); outline: none; } /* Additional container */ .prompt-info-list, .model-info-list { list-style: none; padding: 0; overflow-wrap: break-word; min-height: 110px; } .prompt-info-list li, .model-info-list li { margin-bottom: .5em; color: var(--secondary-text); } .civitai-hash-links a { color: #ffffff; text-decoration: underline; font-weight: bold; } body.light-mode .civitai-hash-links a { color: var(--text-color); } .expand-toggle-row { display: flex; align-items: center; justify-content: center; user-select: none; cursor: pointer; gap: .5em; } .expand-toggle-text { font-weight: 600; color: var(--accent-color); cursor: pointer; outline: none; transition: color .2s; } .expand-toggle-text:hover { color: var(--text-color); } .additional-container.collapsed .prompt-info-list { display: none; } .model-info-list, .additional-container.expanded .prompt-info-list { display: block; overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; } .chevron { transition: transform 0.3s; } .chevron-left.rotate { transform: rotate(90deg); } .chevron-right.rotate { transform: rotate(-90deg); } .metadata-code-block .chevron-right.rotate { transform: rotate(90deg); } .metadata-code-block { list-style: none; border: 1px solid var(--border-color, #444); border-radius: 8px; overflow: hidden; } .metadata-code-block .expand-toggle-row { justify-content: flex-start; padding: 0.4em 0.5em; } .metadata-code-block-label { display: inline-flex; align-items: center; gap: 0.5em; } .metadata-code-block-content { overflow: hidden; border-top: 1px solid var(--border-color, #444); padding: 0 0.5em 0.5em; } .metadata-code-block-content pre { margin: 0; } .metadata-code-block-content.collapsed { display: none; } /* Footer styles */ .footer { margin-top: 2.5em; padding: 1em 0; text-align: center; color: #888; font-size: 0.95em; } .footer a { color: var(--accent-color); text-decoration: none; } .footer a:hover { text-decoration: underline; } /* Responsive adjustments */ @media (max-width: 900px) { .main-flex { flex-direction: column; align-items: stretch; gap: 2em; } .container, .prompt-container { max-width: 100%; } } /* Go Up Arrow */ .scroll-arrow-btn { position: fixed; bottom: 32px; right: 32px; z-index: 1000; background: var(--container-bg); color: var(--text-color); border: none; border-radius: 50%; width: 48px; height: 48px; font-size: 2rem; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,0.2); opacity: 0; transition: opacity 0.3s; display: none; } .scroll-arrow-btn.show { opacity: 1; } /* Strip Metadata Button */ #strip-metadata-btn { background: var(--accent-color); color: #fff; border: none; padding: 0.5em 1.2em; border-radius: 4px; font-size: 1em; font-weight: 600; cursor: pointer; margin: 0.5em auto auto 9.5em; transition: background 0.2s, color 0.2s, box-shadow 0.2s; box-shadow: 0 2px 6px rgba(0,0,0,0.08); outline: none; display: none; } #strip-metadata-btn:hover, #strip-metadata-btn:focus { background: var(--accent-hover); color: var(--secondary-text); box-shadow: 0 4px 12px rgba(0,0,0,0.12); }