#photo-recognize{margin-top:12px}
#photo-results{margin:22px 0 100px}
#photo-results h2{font-size:1.25rem}
#photo-results h3{font-size:1rem;margin-top:20px}
#photo-results p{line-height:1.45;color:#bbbdb2}
.photo-frame-group{border-top:1px solid #343930;margin-top:18px;padding-top:2px}
.photo-frame-image{position:relative;line-height:0;max-width:100%;overflow:hidden;border-radius:12px;background:#181b18}
.photo-frame-image img{display:block;width:100%;height:auto}
.photo-object-box{position:absolute;border:2px solid #f4ac74;color:#191b18;background:rgba(244,172,116,.12);font:700 12px/1.2 sans-serif;text-shadow:0 0 2px white;box-sizing:border-box;pointer-events:none}
.photo-object{margin-top:8px;border:1px solid #3d443a;border-radius:10px;padding:10px}
.photo-object summary{cursor:pointer;font-weight:700}
.photo-object label{display:grid;gap:8px;margin:12px 0}
.photo-object input{min-height:44px;width:100%;background:#141714;color:#f5f1e8;border:1px solid #45483f;border-radius:8px;padding:8px 12px;font:inherit}
.photo-candidates{display:grid;gap:8px}
.photo-candidates button{min-height:44px;text-align:left;white-space:normal;overflow-wrap:anywhere}
.photo-selected-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}
.photo-selected-row span{overflow-wrap:anywhere}
.photo-result-status{min-height:1.5em}
.photo-shelf-form fieldset{border:1px solid #3d443a;border-radius:10px;margin:12px 0;padding:12px}
.photo-shelf-form legend{padding:0 6px;font-weight:700}
.photo-shelf-form label{display:grid;gap:6px;margin:12px 0;color:#c8c9bf}
.photo-shelf-form input,.photo-shelf-form select{min-height:44px;width:100%;background:#141714;color:#f5f1e8;border:1px solid #45483f;border-radius:8px;padding:8px 12px;font:inherit}
.photo-shelf-form button{margin:8px 0}
