.result-actions{flex-wrap:wrap;gap:24px;align-items:center}
.result-print{display:inline-flex;align-items:center;gap:12px}
#share-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:880px;max-height:calc(100dvh - 40px);padding:32px;overflow-y:auto;overscroll-behavior:contain}
#share-dialog .share-close{display:block;margin:0 0 20px auto;float:none}
.share-layout{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:36px;align-items:center}
.share-preview{background:#1a1c16;border:1px solid #7e847440;border-radius:3px;overflow:hidden;position:relative;min-width:0}
#share-canvas{display:block;width:100%;height:auto;aspect-ratio:4/5}
.share-preview[aria-busy=true]::after{content:'Preparing your card...';position:absolute;inset:0;display:grid;place-items:center;background:#1a1c16e6;color:#e8e8e3;font-size:13px}
#share-dialog h2{font-size:32px;line-height:1.2;margin:12px 0 16px;letter-spacing:-.025em}
#share-dialog .share-intro{font-size:14px;margin:0 0 22px;color:#e8e8e3b3}
.share-buttons{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.share-buttons .text-button{text-align:left;align-self:flex-start;padding-left:0;margin-top:8px}
.share-buttons .primary{gap:16px;min-height:52px;font-size:13px}
.share-buttons .share-secondary{background:transparent;color:#e8e8e3;border-color:#7e8474}
#share-status{min-height:40px;font-size:12px;line-height:1.6;color:#e8e8e3b3;margin:16px 0 0}
.share-link{width:100%;font:inherit;font-size:12px;color:#e8e8e3;background:#42493840;border:1px solid #7e8474;padding:10px;margin-top:10px;border-radius:3px}
@media(max-width:640px){#share-dialog{padding:22px;max-height:calc(100dvh - 24px)}.share-layout{grid-template-columns:1fr;gap:24px}.share-preview{width:min(100%,240px);margin:auto}#share-dialog h2{font-size:26px}.share-buttons{flex-direction:row;flex-wrap:wrap}.share-buttons .primary{flex:1;white-space:nowrap}.share-buttons .text-button{width:100%;text-align:left}.share-close{margin-bottom:12px!important}}
@media print{#share-dialog{display:none!important}}

@media(hover:hover) and (pointer:fine){.share-buttons .share-secondary:hover{background:#424938;color:#e8e8e3}}

@media(max-width:767px){.result-top .score-circle{justify-self:center;margin-inline:auto;max-width:100%}}

#phone-save-image{width:100%;height:auto;-webkit-touch-callout:default}#share-canvas[hidden],#phone-save-image[hidden]{display:none}
