.photo-panel{margin:16px 0;padding:18px;border:1px solid #d8dfe9;border-radius:16px;background:#fff}.photo-actions{display:flex;gap:12px;flex-wrap:wrap}.photo-actions button{min-height:48px;flex:1;padding:12px;border:1px solid #c9d6df;border-radius:12px;background:#f5f8fa;color:#243c4d;font-weight:600;cursor:pointer}.photo-actions button:focus-visible,.photo-grid button:focus-visible{outline:3px solid #215c73;outline-offset:3px}.photo-limits,.photo-helper{font-size:13px;color:#475569}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-grid figure{margin:0;padding:10px;border:1px solid #d8dfe9;border-radius:12px}.photo-grid img{display:block;width:100%;height:130px;object-fit:contain;background:#f4f6f9}.photo-grid button{margin:5px 4px 0 0;min-height:40px;border:1px solid #c9d6df;border-radius:8px;background:#f5f8fa;color:#243c4d;padding:6px 10px;cursor:pointer}.photo-large{max-width:min(90vw,1100px);border:0;border-radius:16px;padding:16px}.photo-large img{display:block;max-width:80vw;max-height:75vh;object-fit:contain}.photo-large::backdrop{background:#0009}@media(max-width:420px){.photo-panel{padding:12px}.photo-actions{flex-direction:column}}
.photo-examples{margin:18px 0 20px}.photo-examples>h3{font-size:16px;margin:0 0 8px;color:#243c4d}.photo-example-intro{font-size:13px;color:#536879}.photo-example-card{border:1px solid #dbe4eb;border-radius:14px;background:#fff;padding:14px;margin-top:12px}.photo-example-card h4{font-size:14px;display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#243c4d}.photo-example-card h4 span{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;background:#e6f0f5;color:#245871;font-size:13px}.photo-example-art{display:block;width:100%;height:auto}.photo-example-card p{font-size:13px;line-height:1.8;margin:10px 0 5px}.photo-example-card small{font-size:12px;color:#536879}.photo-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-example-tip{font-size:13px;line-height:1.8;background:#f1f6f9;border-radius:10px;padding:12px;color:#405b6e}@media(max-width:460px){.photo-example-grid{grid-template-columns:1fr}.photo-example-card{padding:12px}}
.photo-panel~#photo-next,.photo-panel~#photo-skip{display:flex;align-items:center;justify-content:center}
.photo-panel{margin:12px 0;padding:12px;border-radius:12px;border-color:#dce2e7;background:#fbfcfd}.photo-panel>h2,.photo-panel>h3{font-size:15px;margin:0 0 8px}.photo-review{margin:8px 0;padding:12px}.photo-panel [data-photo-status]{font-size:12px;color:#64748b;margin:8px 0}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-grid:empty{display:none}.photo-grid figure{padding:4px;border:0;border-radius:10px;background:#f0f3f7;min-width:0}.photo-grid figcaption{font-size:11px;line-height:16px;text-align:center;margin:4px 0;color:#526679}.photo-grid .photo-thumbnail{position:relative;display:block;width:100%;aspect-ratio:1;min-height:0;margin:0;padding:0;overflow:hidden;border:0;border-radius:7px;background:#e9edf2}.photo-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent}.photo-grid .photo-remove{display:block;width:100%;min-height:34px;margin:0;padding:4px;font-size:11px;border-color:#dce2e7;background:#fff}.photo-processing{display:flex;align-items:center;gap:8px;padding:10px;border-radius:8px;background:#edf4f8;color:#245871!important;line-height:1.6}.photo-processing::before{content:'';flex:none;width:15px;height:15px;border:2px solid #aec8d7;border-top-color:#245871;border-radius:50%;animation:photo-processing-spin .8s linear infinite}@keyframes photo-processing-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.photo-processing::before{animation:none}}
#thread #photo-next,#thread #photo-skip,#thread .question:has(#photo-next) .back-action #back{width:min(100%,320px);max-width:100%;height:48px;min-height:48px;padding:10px 14px;font-size:16px;line-height:24px;border-radius:8px;margin:8px auto 0}
#thread #photo-next{margin-top:12px}
#thread .question:has(#photo-next)>.question-content>.back-action{width:min(100%,320px);margin:8px auto 0;padding:0;border-top:0}
#thread .question:has(#photo-next) .back-action #back{margin:0;min-height:48px}
#thread .question:has(#photo-next)>.question-content>.error:empty{display:none}
.photo-guide{margin:14px 0;border:1px solid #dde6ec;border-radius:9px;background:#f7fafc}.photo-guide>summary{min-height:44px;padding:12px;color:#416b82;font-size:14px;font-weight:700;cursor:pointer}.photo-guide[open]{padding-bottom:10px}.photo-guide .photo-examples{margin:0;padding:0 12px}
#thread .photo-compact{padding:14px}#thread .photo-compact .photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#thread .photo-compact .photo-actions button{width:100%;min-height:48px;margin:0;padding:10px 8px;font-size:14px}
.photo-actions button{display:flex;align-items:center;justify-content:center;gap:10px}.photo-action-icon{width:36px;height:36px;flex:0 0 36px}
.photo-panel .photo-privacy{margin:8px 0 0;color:#475569;font-size:12px;line-height:1.5;font-weight:400;text-align:left}
.photo-panel .photo-helper:empty{display:none}
.photo-panel~#photo-next,#thread #photo-next{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:auto;min-height:56px;line-height:1.4}
#photo-next small{font-size:11px;font-weight:400;line-height:1.4}
.photo-panel.photo-compact{padding:14px}
.photo-compact .photo-limits{margin:0 0 12px;text-align:center;line-height:1.6}
.photo-compact .photo-guide{margin:0 0 12px}
.photo-compact .photo-actions{gap:10px}
.photo-compact [data-photo-status]:empty{display:none}
.photo-limits .photo-max-count{font-size:17px;font-weight:700;color:#304b45;white-space:nowrap}
.photo-panel .photo-actions button[data-photo-camera]{background:#2f776e;color:#fff;border:2px solid #2f776e}
.photo-panel .photo-actions button[data-photo-album]{background:#346387;color:#fff;border:2px solid #346387}
.photo-panel .photo-actions button[data-photo-camera]:hover{background:#256359;border-color:#256359}
.photo-panel .photo-actions button[data-photo-album]:hover{background:#2b536f;border-color:#2b536f}
.photo-panel .photo-actions button:focus-visible{outline:3px solid #9d6419;outline-offset:3px}
.photo-upload-feedback{position:fixed;z-index:1200;left:50%;top:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:min(370px,calc(100vw - 32px));padding:28px 22px 24px;border:1px solid #cadfd8;border-radius:20px;background:#fff;box-shadow:0 12px 55px #183e352e,0 2px 10px #183e3514;text-align:center;color:#254f45;pointer-events:none}.photo-upload-feedback h2{margin:16px 0 10px;font-size:24px;font-weight:700;line-height:1.5}.photo-upload-detail{margin:0;font-size:15px;line-height:1.8;color:#53685f}.photo-upload-count{margin:13px 0 0;font-size:17px;font-weight:650;color:#2f776e}.photo-upload-count:empty{display:none}.photo-upload-spinner{display:block;box-sizing:border-box;width:42px;height:42px;margin:auto;border:4px solid #dbece5;border-top-color:#2f776e;border-radius:50%;animation:photo-processing-spin .85s linear infinite}@media(max-width:420px){.photo-upload-feedback{padding:25px 18px 22px}.photo-upload-feedback h2{font-size:22px}.photo-upload-detail{font-size:14px}}@media(prefers-reduced-motion:reduce){.photo-upload-spinner{animation:none}}
