.saved-round-title-row {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.saved-round-title-row h2 {flex:1 1 240px;min-width:0;}
.round-recap-trigger {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;flex-shrink:0;}
.round-recap-trigger svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
body.recap-open {overflow:hidden;}
#round-recap-dialog {width:min(600px,calc(100% - 32px));max-width:100%;max-height:calc(100dvh - 32px);padding:24px;background:var(--surface-dialog);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-popup);overscroll-behavior:contain;}
.recap-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;}
.recap-heading .eyebrow {font-size:10px;letter-spacing:.1em;}
.recap-heading h2 {font-size:26px;}
.recap-close {width:44px;min-width:44px;min-height:44px;padding:0;flex-shrink:0;font-size:26px;}
.recap-preview {display:flex;align-items:center;justify-content:center;width:100%;min-width:0;aspect-ratio:1;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.recap-preview img {display:block;width:100%;max-width:100%;height:auto;}
#recap-placeholder {padding:20px;text-align:center;color:var(--muted);}
#round-recap-dialog [hidden] {display:none!important;}
.recap-name-option {display:flex;align-items:center;gap:10px;min-height:44px;margin:12px 0;font-size:14px;}
.recap-name-option input {width:18px;height:18px;margin:0;accent-color:var(--green);flex-shrink:0;}
.recap-actions {display:flex;gap:12px;flex-wrap:wrap;}
.recap-actions>* {display:inline-flex;align-items:center;justify-content:center;min-height:46px;flex:1 1 160px;padding:12px 16px;text-align:center;font-size:14px;font-weight:550;border-radius:8px;}
.recap-download {background:var(--surface-raised);border:1px solid var(--control-border);color:var(--text);}
.recap-download:hover {background:var(--control-hover-bg);border-color:var(--control-hover-border);}
.recap-download.primary,.recap-download.primary:hover {background:var(--green);border-color:var(--green);color:var(--bg);}
#recap-status {min-height:21px;margin:12px 0 0;color:var(--muted);font-size:13px;}
@media(max-width:760px){
 #round-recap-dialog {width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:18px 16px;padding-bottom:max(18px,env(safe-area-inset-bottom));border-radius:14px;}
 .recap-heading {gap:12px;margin-bottom:16px;}
 .recap-heading h2 {font-size:23px;}
 .recap-actions {gap:10px;}
 .recap-actions>* {flex-basis:130px;padding:12px 10px;}
 .saved-round-title-row {gap:12px;}
}
