/* A real link stretched across the card, with a separate share control above it. */
.project-card{position:relative;isolation:isolate;pointer-events:auto}
.project-open{color:inherit;text-decoration:none}
.project-open::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.project-card:has(.project-open:focus-visible){outline:3px solid var(--accent);outline-offset:4px}
.project-open:focus-visible{outline:none}
.card-share{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:44px;min-width:96px;padding:8px 11px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);font:600 14px/1.2 var(--font);cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.card-share[hidden]{display:none}
.card-share svg{width:19px;height:19px;flex-shrink:0}
.card-share:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 3px 12px #0002}
.card-share:active{transform:scale(1.08)}
.card-share:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.card-share[data-copied="true"]{background:var(--accent);color:var(--accent-ink);animation:share-pop .35s ease}
.card-share:disabled{cursor:progress}
@keyframes share-pop{50%{transform:scale(1.09)}}
.share-toast{position:fixed;z-index:1000;left:50%;bottom:24px;transform:translate(-50%,12px);width:max-content;max-width:calc(100% - 40px);padding:13px 20px;border-radius:18px;background:#173f46;color:#fff;font:600 16px/1.4 var(--font);box-shadow:0 6px 30px #0003;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;text-align:center}
.share-toast[data-visible="true"]{opacity:1;transform:translate(-50%,0)}
.share-dialog{width:min(480px,calc(100% - 32px));box-sizing:border-box;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);font-family:var(--font);box-shadow:0 15px 70px #0004}
.share-dialog::backdrop{background:#071e35a6;backdrop-filter:blur(5px)}
.share-dialog h2{font-size:24px;margin:0 0 20px}
.share-dialog label{display:block;font-size:16px;margin-bottom:8px}
.share-dialog input{width:100%;box-sizing:border-box;min-height:48px;padding:10px;font:16px var(--font);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px}
.share-dialog button{display:block;min-height:44px;margin:18px 0 0 auto;padding:10px 22px;border:0;border-radius:20px;background:var(--accent);color:var(--accent-ink);font:600 16px var(--font);cursor:pointer;transition:transform .15s}
.share-dialog button:active{transform:scale(1.07)}
[data-editor="editing"] .project-open::after{display:none}
[data-editor="editing"] .card-share{visibility:hidden}
@media(prefers-reduced-motion:reduce){.card-share,.share-toast,.share-dialog button{animation:none!important;transition:none!important}}
@media(forced-colors:active){.card-share,.share-dialog,.share-toast{background:Canvas;color:CanvasText;border:1px solid ButtonText}}

.card-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}
.card-share .copy-glyph,.card-share .copy-check{display:none}
.card-share[data-action="copy"] .share-glyph,.card-share[data-copied="true"] .share-glyph,.card-share[data-copied="true"] .copy-glyph{display:none}
.card-share[data-action="copy"]:not([data-copied="true"]) .copy-glyph,.card-share[data-copied="true"] .copy-check{display:block}
.card-footer>.project-open{min-width:0;overflow-wrap:anywhere}
