.modal-heading { display:flex; align-items:flex-start; gap:1rem; justify-content:space-between; }
.modal-heading h2 { min-width:0; }
.modal-heading .modal-close { flex:0 0 44px; width:44px; min-height:44px; padding:0; font:26px/1 sans-serif; background:transparent; }
dialog:has(.score-share-layout) { width:min(1000px,94vw); max-width:94vw; max-height:92dvh; overflow:auto; padding:28px; border:1px solid #aeb7a2; border-radius:16px; background:#f4f0e4; color:#344334; }
dialog:has(.score-share-layout)::backdrop { background:#162a22b3; }
dialog:has(.score-share-layout) h2 { margin:0 0 24px; font:32px/1.15 Georgia,serif; letter-spacing:-.025em; }
dialog:has(.score-share-layout) .modal-close { border:0; color:#53654d; box-shadow:none; }
.score-share-layout { display:grid; grid-template-columns:minmax(240px,1.05fr) minmax(0,1fr); gap:30px; align-items:start; }
.score-link-preview { display:block; min-width:0; overflow:hidden; color:#344334; text-decoration:none; background:#faf8f1; border:1px solid #c8ceba; border-radius:10px; }
.score-link-preview img { width:100%; height:auto; aspect-ratio:1200/630; object-fit:contain; display:block; border:0; box-shadow:none; background:#f4f0e4; }
.score-link-caption { padding:18px; }
.score-link-caption > span { display:block; margin-bottom:8px; color:#697b5b; font:11px/1.4 system-ui,sans-serif; }
.score-link-caption > strong { display:block; font:24px/1.2 Georgia,serif; }
.score-link-caption > p { margin:10px 0 0; font:13px/1.5 system-ui,sans-serif; color:#65715c; }
.score-link-preview:focus-visible { outline:3px solid #a68c59; outline-offset:3px; }
.score-share-copy { min-width:0; padding-top:7px; }
.score-share-copy .eyebrow { color:#697b5b; font:650 10px/1.4 system-ui,sans-serif; letter-spacing:.12em; }
.score-share-copy p { font-size:14px; line-height:1.6; margin:12px 0 18px; }
.score-share-copy p.fine { font-size:12px; color:#65715c; }
.share-link-label { display:block; margin-bottom:8px; font:600 12px/1.4 system-ui,sans-serif; }
.score-share-copy .share-copy { width:100%; min-height:44px; box-sizing:border-box; padding:12px; font:13px/1.5 system-ui,sans-serif; color:#344334; border:1px solid #bdc6af; border-radius:8px; background:#fbf9f0; }
.score-share-copy .share-copy:focus-visible { outline:3px solid #a68c59; outline-offset:3px; }
.score-share-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:18px 0; }
.score-share-actions button,.score-share-actions a { min-height:46px; display:flex; align-items:center; justify-content:center; text-align:center; padding:11px; border:1px solid #9baa8b; border-radius:8px; font:600 12px/1.4 system-ui,sans-serif; background:#f9f8ef; color:#344334; text-decoration:none; box-shadow:none; }
.score-share-actions .primary { background:#344b38; border-color:#344b38; color:#f4f0e4; }
.score-share-actions button:not(:disabled):hover,.score-share-actions a:hover { background:#e9edde; border-color:#687c58; box-shadow:none; transform:none; }
.score-share-actions .primary:not(:disabled):hover { background:#425c41; color:#f4f0e4; }
.score-share-actions button:disabled { opacity:.6; cursor:wait; }
.score-share-actions :focus-visible { outline:3px solid #a68c59; outline-offset:3px; }
.score-share-extra { border-top:1px solid #c8ceba; margin-top:22px; padding-top:14px; }
.score-share-extra summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font:13px/1.5 system-ui,sans-serif; }
.score-share-extra summary::before { content:'+'; margin-right:10px; }
.score-share-extra[open] summary::before { content:'−'; }
.score-share-extra button { min-height:44px; padding:10px 14px; border:1px solid #9baa8b; border-radius:8px; background:#f9f8ef; color:#344334; font:600 12px/1.4 system-ui,sans-serif; }
body:has(.share-landing) { margin:0; background:#f4f0e4; color:#344334; font:16px/1.6 system-ui,sans-serif; }
.share-landing { width:min(900px,calc(100% - 40px)); margin:36px auto; }
.share-landing h1 { font:clamp(28px,5vw,44px)/1.2 Georgia,serif; }
.share-landing img { display:block; width:100%; height:auto; }
.share-landing a { display:inline-flex; padding:12px 20px; background:#344b38; color:#f4f0e4; border-radius:8px; text-decoration:none; }
.share-landing a:focus-visible { outline:3px solid #a68c59; outline-offset:3px; }
@media(max-width:650px) {
  dialog:has(.score-share-layout) { padding:18px; border-radius:12px; }
  dialog:has(.score-share-layout) h2 { font-size:25px; margin-bottom:18px; }
  .score-share-layout { grid-template-columns:1fr; gap:18px; }
  .score-link-caption { padding:14px; }
  .score-link-caption > strong { font-size:21px; }
  .score-share-copy { padding-top:0; }
  .score-share-copy p { margin-top:8px; }
  .score-share-actions { gap:8px; }
}
@media(max-width:360px) {
  dialog:has(.score-share-layout) { padding:14px; }
  .score-share-actions { grid-template-columns:1fr; }
}
