:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4;font-weight:400;color:#111827;background:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}h1{margin:0;font-size:1.5rem}label{display:block;font-size:.875rem;color:#374151;margin-bottom:.25rem}input,select,button{font:inherit}input,select{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:.55rem .65rem;background:#fff}textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:.65rem;background:#fff;font:inherit;resize:vertical}button{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:8px;padding:.55rem .75rem;cursor:pointer}button:hover:not(:disabled){border-color:#6b7280}button:disabled{opacity:.6;cursor:not-allowed}.page-centered{min-height:100vh;display:grid;place-items:center;padding:1rem}.page-wrap{max-width:1280px;margin:0 auto;padding:1rem}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem;margin-bottom:1rem}.gallery-page{display:grid;gap:1rem}.gallery-page .panel{margin-bottom:0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.auth-form{width:100%;max-width:420px}.auth-form input{margin-bottom:.75rem}.controls-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1rem}.controls-panel{margin-bottom:0}.controls{display:grid;gap:.75rem}.control-row{max-width:280px}.control-row-download{margin-top:.75rem}.search-form{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:end}.search-form label{grid-column:1 / 4}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin:1rem 0}.image-card-link{text-decoration:none;color:inherit}.image-card{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.image-card-link:hover .image-card,.image-card-link:focus-visible .image-card{transform:translateY(-2px);border-color:#9ca3af;box-shadow:0 6px 16px #11182714}.image-frame{background:#f9fafb;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center}.image-frame img{width:100%;height:100%;object-fit:cover}.file-name{margin:.6rem .75rem .2rem;font-size:.92rem;font-weight:600;overflow-wrap:anywhere;display:flex;align-items:center;gap:.45rem}.description-status-dot{flex:0 0 auto;display:inline-flex;width:1.15rem;height:1.15rem;border-radius:999px;align-items:center;justify-content:center;font-size:.75rem;line-height:1;border:1px solid transparent}.description-status-dot.no-description{color:#6b7280;border-color:#9ca3af;background:#f3f4f6}.description-status-dot.has-description{color:#166534;border-color:#22c55e;background:#dcfce7}.muted{margin:.2rem .75rem .75rem;color:#6b7280;font-size:.82rem;overflow-wrap:anywhere}.error-text{color:#b91c1c;font-size:.875rem}.details-header,.details-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.details-nav-counter{font-size:.9rem;font-weight:600;color:#374151}.details-nav-meta{display:flex;flex-direction:column;align-items:center;gap:.15rem}.details-nav-loading{font-size:.78rem;color:#6b7280}.nav-link{border:1px solid #d1d5db;border-radius:8px;padding:.55rem .75rem;color:#111827;text-decoration:none}.nav-link:hover{border-color:#6b7280}.nav-link.is-disabled{opacity:.5;pointer-events:none}.image-preview-frame{margin:0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#f9fafb;height:100%;display:flex;align-items:center;justify-content:center}.image-preview-frame img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.image-preview-button{display:block;width:100%;height:100%;padding:0;border:none;background:transparent;cursor:zoom-in}.details-layout{display:grid;grid-template-columns:clamp(280px,34vw,520px) minmax(0,1fr);gap:1rem;align-items:stretch}.details-image-column{display:flex}.details-info-column .muted{margin-left:0;margin-right:0}.details-grid{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin:.75rem 0 1.25rem}.detail-row{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:.75rem;padding:.65rem .75rem;border-top:1px solid #f3f4f6}.detail-row:first-child{border-top:none}.detail-label{color:#374151;font-weight:600;overflow-wrap:anywhere}.detail-row span,.detail-row a{overflow-wrap:anywhere}.detail-value{display:flex;gap:.5rem;align-items:flex-start;justify-content:space-between}.image-preview-overlay{position:fixed;inset:0;z-index:50;background:#111827d6;display:grid;place-items:center;padding:1.25rem}.image-preview-overlay-image{max-width:min(92vw,1600px);max-height:90vh;object-fit:contain;border-radius:12px;background:#fff}.image-preview-overlay-close{position:fixed;top:1rem;right:1rem;z-index:51}.description-panel{display:grid;gap:.75rem}.description-panel h2{margin:0;font-size:1.15rem}.description-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.description-textarea{min-height:140px}.description-actions{display:flex;flex-wrap:wrap;gap:.5rem}.description-model-select{min-width:220px;margin:0}.description-model-select span{display:block;margin-bottom:.25rem;font-size:.8rem;color:#4b5563}.provider-actions-layout{display:grid;gap:.75rem}.prompt-editor-block{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;display:grid;gap:.55rem;background:#f9fafb}.prompt-editor-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.prompt-editor-header h3{margin:0;font-size:1rem}.prompt-editor-textarea{min-height:180px}.provider-card{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;display:grid;gap:.55rem}.provider-card-openai{border-color:#c7d2fe;background:#eef2ff}.provider-card-gemini{border-color:#bae6fd;background:#ecfeff}.provider-card-claude{border-color:#fed7aa;background:#fff7ed}.provider-card button{justify-self:start}.provider-card.is-selected-provider{box-shadow:inset 0 0 0 2px #1d4ed8}.description-save-row{margin-top:.25rem}.inline-muted{margin:0}.questions-panel{display:grid;gap:.85rem}.questions-panel h2{margin:0;font-size:1.15rem}.question-language-block{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;display:grid;gap:.6rem}.question-language-block h3{margin:0;font-size:1rem}.questions-list{display:grid;gap:.65rem}.question-card{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;background:#f9fafb}.question-card-actions{display:flex;justify-content:flex-end;margin-bottom:.45rem}.question-test-link{padding:.3rem .55rem;font-size:.75rem;font-weight:700}.question-meta,.question-text,.question-explanation{margin:0 0 .5rem}.question-meta:last-child,.question-text:last-child,.question-explanation:last-child{margin-bottom:0}.question-answers-list{margin:0 0 .55rem;padding-left:1.15rem}.question-answers-list li{margin-bottom:.3rem}.question-answers-list li.answer-correct{color:#166534;font-weight:600}.question-test-page .panel{margin-bottom:.9rem}.question-test-layout{display:grid;grid-template-columns:clamp(280px,34vw,520px) minmax(0,1fr);gap:1rem}.question-test-image-column{display:grid;gap:.55rem;align-content:start}.question-test-content{display:grid;gap:.7rem}.question-test-content h1{margin:0}.question-test-answers{display:grid;gap:.5rem}.question-answer-button{text-align:left;white-space:normal}.question-answer-button.is-selected{border-color:#2563eb;background:#dbeafe}.question-result-block{border:1px solid #d1d5db;border-radius:10px;padding:.65rem .75rem;font-weight:600}.question-result-block.is-correct{border-color:#16a34a;background:#dcfce7;color:#166534}.question-result-block.is-wrong{border-color:#dc2626;background:#fee2e2;color:#991b1b}.question-explanation-block,.question-followup-block{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;background:#fff}.question-explanation-block h3,.question-followup-block h3,.question-openai-answer h4{margin:0 0 .5rem}.question-explanation-block p,.question-followup-block p,.question-openai-answer p{margin:0;white-space:pre-wrap}.question-followup-block{display:grid;gap:.55rem}.question-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.question-chat-toolbar h3{margin:0}.question-followup-block button{justify-self:start}.question-openai-answer{border-top:1px solid #e5e7eb;padding-top:.6rem}.question-chat-list{display:grid;gap:.55rem}.question-chat-message{border:1px solid #e5e7eb;border-radius:10px;padding:.65rem;background:#f9fafb}.question-chat-message.is-user{border-color:#bfdbfe;background:#eff6ff}.question-chat-message.is-assistant{border-color:#d1fae5;background:#ecfdf5}.question-chat-message h4{margin:0 0 .4rem;font-size:.8rem;color:#374151}.question-chat-message p{margin:0;white-space:pre-wrap}.history-list{margin-top:.9rem;display:grid;gap:.75rem}.history-entry{border:1px solid #e5e7eb;border-radius:10px;padding:.75rem;background:#f9fafb}.history-entry p{margin:.55rem 0 0;white-space:pre-wrap}.history-meta{display:flex;justify-content:space-between;gap:.5rem;color:#6b7280;font-size:.82rem}.debug-panel-root{position:fixed;right:.85rem;bottom:.85rem;z-index:90}.debug-panel-toggle{border-color:#111827;background:#111827;color:#f9fafb}.debug-panel{width:min(96vw,760px);max-height:min(72vh,680px);margin-top:.5rem;border:1px solid #1f2937;border-radius:12px;background:#0b1220;color:#d1d5db;display:grid;grid-template-rows:auto minmax(0,1fr)}.debug-panel-header{padding:.65rem .75rem;border-bottom:1px solid #374151;display:flex;align-items:center;justify-content:space-between}.debug-panel-actions{display:flex;gap:.45rem}.debug-panel-actions button{padding:.35rem .55rem}.debug-panel-list{overflow:auto;padding:.55rem;display:grid;gap:.5rem}.debug-panel-entry{border:1px solid #374151;border-radius:8px;padding:.5rem;background:#111827}.debug-panel-entry.warn{border-color:#a16207}.debug-panel-entry.error{border-color:#b91c1c}.debug-panel-entry-title,.debug-panel-entry-time{margin:0 0 .3rem;font-size:.8rem}.debug-panel-entry-time{color:#9ca3af}.debug-panel-entry-data{margin:0;padding:.45rem;border-radius:6px;background:#030712;color:#cbd5e1;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}@media(max-width:768px){.controls-layout,.search-form{grid-template-columns:1fr}.search-form label{grid-column:auto}.details-header,.details-nav{flex-direction:column;align-items:stretch}.details-layout{grid-template-columns:1fr}.details-image-column{position:static}.image-preview-frame img{max-height:50vh;height:auto}.detail-row{grid-template-columns:1fr;gap:.35rem}.detail-value{flex-direction:column}.description-panel-header{flex-direction:column;align-items:stretch}.history-meta{flex-direction:column}.question-test-layout{grid-template-columns:1fr}.debug-panel-root{right:.5rem;left:.5rem;bottom:.5rem}.debug-panel{width:100%}}
