.photo{gap:16px;display:grid;position:relative}.photo-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.photo-frame{border:2px dashed var(--surface-3);background:var(--ground);width:132px;height:132px;color:var(--ink-2);border-radius:999px;place-items:center;transition:border-color .18s;display:grid;overflow:hidden}.photo-frame img{object-fit:cover;width:100%;height:100%}.photo.has-photo .photo-frame,.photo-frame.filled{border:3px solid var(--gold)}.photo.invalid .photo-frame{border-color:var(--danger)}.photo-side{gap:10px;min-width:0;display:grid}.photo-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.photo-buttons .proof-btn{min-height:48px;padding-inline:10px}.photo-buttons .primary,.photo-buttons .proof-btn:nth-child(3),.photo-buttons .proof-btn:nth-child(2):last-child{grid-column:1/-1}.photo-name{color:var(--ink-2);font-size:13px}.photo-tips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.photo-tips li{background:var(--surface);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.photo-note{background:var(--surface);color:var(--ink-2);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.photo-note svg{flex:none}.photo-note.public{color:var(--gold-2)}.photo-block .consent{margin-top:2px}@media (pointer:fine){.photo-camera{display:none}}@media (max-width:480px){.photo-row{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px}.photo-side{width:100%}.photo-tips{justify-content:center}}.photo .proof-btn{background:var(--surface-2);min-height:52px;color:var(--ink);font-family:var(--text);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:15px;font-weight:700;transition:background-color .18s,transform .12s;display:inline-flex}.photo .proof-btn:hover{background:var(--surface-3)}.photo .proof-btn:active{transform:translateY(1px)}.photo .proof-btn:disabled{opacity:.5;cursor:not-allowed}.photo .proof-btn.primary{background:var(--gold);color:var(--on-gold);min-height:56px}.photo .proof-btn.primary:hover{background:var(--gold-2)}.photo .proof-btn:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}.photo .proof-error{color:var(--danger);font-size:14px;font-weight:600;line-height:1.5}.photo .proof-input{opacity:0;pointer-events:none;border:0;width:1px;min-width:0;max-width:1px;height:1px;min-height:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.legend-opt{color:var(--ink-2);font-size:13px;font-style:normal;font-weight:500}.photo-notice{background:var(--surface);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:500;line-height:1.6}.photo-notice a{color:var(--gold-2);text-underline-offset:3px;white-space:nowrap;font-weight:700}
