/* 2026-10-11: live interface refinement; export layouts stay unchanged. */
.upload-actions { display:none; flex-shrink:0; padding:12px 24px max(16px,env(safe-area-inset-bottom)); background:#fffdfc; border-top:1px solid #e8ddd7; }
.app-container:has(#step-upload:not(.hidden)) .upload-actions { display:block; }
.app-container:has(#step-upload:not(.hidden)) #mainContainer { min-height:0; overscroll-behavior-y:contain; padding-bottom:20px; }
.upload-actions #analyzeBtn { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 12px; width:100%; min-height:56px; padding:14px 12px; border-radius:16px; color:#fffdfc; background:#3d342f; font-size:15px; letter-spacing:.04em; }
.upload-actions #analyzeBtn:disabled { color:#6f6058; background:#e8dfd5; cursor:not-allowed; }
.upload-actions .usage-label { font-size:12px; letter-spacing:0; }
.upload-actions button:focus-visible,.usage-details summary:focus-visible { outline:2px solid #8b5b49; outline-offset:3px; }
.usage-details { color:#6f6058; font-size:13px; line-height:1.8; margin-bottom:12px; }
.usage-details summary { cursor:pointer; min-height:44px; padding-block:10px; text-decoration:underline; text-underline-offset:4px; }
.usage-details p { margin:0 0 8px; }
@media(max-width:480px) {
 .app-container:has(#step-upload:not(.hidden)) { height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); min-height:0; }
 .app-container:has(#step-upload:not(.hidden)) #appHeader { padding-top:16px; padding-bottom:8px; }
 .app-container:has(#step-upload:not(.hidden)) .upload-actions { padding-inline:22px; }
}
#step-upload .photo-guide-item strong { font-size:13px; line-height:1.6; color:#51433c; }
#step-upload .photo-guide-item span:last-child { font-size:12px; line-height:1.6; color:#6f6058; }
#step-upload .photo-avoid { font-size:12px; line-height:1.8; color:#6f6058; }
#step-upload .upload-intro { font-size:13px; line-height:1.8; }
#step-upload .photo-guide-item { padding-inline:3px; }
#step-upload #analyzeBtn { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 12px; min-height:56px; font-size:15px; letter-spacing:.04em; }
#step-upload #analyzeBtn .usage-label { font-size:12px; letter-spacing:0; font-weight:400; }
#step-upload #analyzeBtn:disabled { opacity:1; color:#6f6058; background:#e8dfd5; box-shadow:none; }
#step-upload .privacy-consent { flex-wrap:wrap; row-gap:0; }
#step-upload .privacy-consent label, #step-upload .privacy-policy-link { min-height:44px; display:inline-flex; align-items:center; }
#step-loading .analysis-meta, #step-loading .loading-note { font-size:13px; line-height:1.85; color:#6f6058; }
#step-loading .analysis-step { font-size:13px; line-height:1.7; }
#step-loading .analysis-cancel { min-height:44px; display:flex; align-items:center; justify-content:center; text-underline-offset:4px; }
#customAlert .modal-panel { background:#fffdfc; }
#customAlert #alertMessage { font-weight:400; line-height:1.8; }
#customAlert .modal-action { min-height:52px; }
#step-upload button:focus-visible, #step-loading button:focus-visible, #customAlert button:focus-visible { outline:2px solid #8b5b49; outline-offset:4px; }
/* Only the on-screen report gets larger utility text, never saved-image clones. */
.reference-reading:not(.reference-long-export) .archive-guide p,
.reference-reading:not(.reference-long-export) .archive-palette-note,
.reference-reading:not(.reference-long-export) .reference-export-note { font-size:13px; line-height:1.85; }
#step-result .report-action-note { font-size:13px; line-height:1.8; color:#6f6058; }
#step-result .report-index-links a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:13px; }
#step-result .report-quick-save { min-height:44px; font-size:13px; }
#step-result .report-action { min-height:52px; }
#step-result .identity-assurance { font-size:13px; line-height:1.8; }
@media(max-width:480px) {
 #step-upload .upload-card { padding-inline:22px!important; }
 #step-upload .upload-card h2 { font-size:23px; letter-spacing:.06em; line-height:1.5; }
 #step-result .report-action-label { font-size:14px; letter-spacing:.025em; }
 #step-result .color-styling-tab { font-size:13px; min-height:44px; padding-inline:8px; }
}/* Narrow phones keep the upload heading on a deliberate reading line. */
@media(max-width:375px) { #step-upload .upload-card h2 { font-size:20px; letter-spacing:.025em; } }
#analysisBillingNote { text-wrap:pretty; }
#analysisBillingNote a { display:inline-block; white-space:nowrap; }

body:has(#saveOverlay:not(.hidden)) #toastContainer { bottom:auto; top:max(12px,env(safe-area-inset-top)); }

.reference-reading:not(.reference-long-export) .color-look-formula p,
.reference-reading:not(.reference-long-export) .archive-avoid-note,
.reference-reading:not(.reference-long-export) .dimension-appendix-note { font-size:14px; line-height:1.85; }
#step-result :is(button,a):focus-visible,#step-upload .privacy-policy-link:focus-visible { outline:2px solid #8b5b49; outline-offset:4px; }


.reference-reading:not(.reference-long-export) #dimensionDetails .dimension-appendix-note { font-size:14px; line-height:1.85; color:#6f6058; }

