.share summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: .45rem; border: 1px solid var(--border); border-radius: 8px; padding: .4rem .9rem; background: #FFFFFF; font-size: var(--font-footnote); font-weight: 500; color: var(--accent-deep); }
.share summary::-webkit-details-marker { display: none; }
.share[open] summary { border-color: var(--accent); }
.share-menu { position: absolute; right: 0; top: calc(100% + 6px); width: 15rem; background: #FFFFFF; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; z-index: 20; }
.share-menu a { display: block; padding: .65rem 1rem; font-size: var(--font-subheadline); color: var(--ink); border-bottom: 1px solid var(--border); }
.share-menu a:hover { background: var(--bg-subtle); color: var(--ink); }
.share-note { font-family: var(--mono); font-size: var(--font-caption); letter-spacing: .1em; color: var(--accent); padding: .55rem 1rem; text-transform: uppercase; }
@media (max-width: 52rem) {
    .workspace { flex-direction: column; }
    .workspace aside { width: 100%; max-height: 40vh; border-right: 0; border-bottom: 1px solid var(--border); }
}

/* --- extracted sections, read in our own light --- */
.prose { margin-top: 1.6rem; }
.prose p { margin: 0 0 1.05rem; font-family: var(--serif); font-size: var(--font-headline); line-height: 1.6; max-width: 65ch; }

.page .finder, .section .finder { margin: 0; }

/* --- guestbook, kept but out of the way --- */
.stack { display: grid; gap: .7rem; }
.stack button { justify-self: start; }
#notes { margin-top: 1.8rem; }
.note { padding: .95rem 0; border-bottom: 1px solid var(--border); animation: rise .3s ease; }
.note-msg { margin: 0 0 .3rem; }
.note-name { margin: 0; font-family: var(--mono); font-size: var(--font-caption); letter-spacing: .1em; text-transform: uppercase; color: var(--grey); }
@keyframes rise { from { opacity: 0; transform: translateY(6px); } }

footer {
    display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
    gap: .5rem 1.5rem;
    margin-top: 4.5rem; padding: 1.4rem 0 3rem; border-top: 1px solid var(--border);
    font-family: var(--mono); font-size: var(--font-caption); letter-spacing: .04em; color: var(--grey);
}
footer p { margin: 0; }
footer a { color: var(--grey); text-decoration: none; }
footer a:hover { color: var(--accent); }

/* intake — the workshop page: source rows and the describe-a-source form */
.srclist { border-top: 1px solid var(--border); }
.srcrow { padding: 1rem .1rem; border-bottom: 1px solid var(--border); }
.srchead { display: flex; align-items: baseline; gap: .7rem; flex-wrap: wrap; }
.srcurl { font-family: var(--mono); font-size: var(--font-caption); color: var(--grey);
          word-break: break-all; }
.srcnote { margin: .3rem 0 0; font-size: var(--font-callout); }
.srcacts { display: flex; align-items: center; gap: .55rem; margin-top: .7rem;
           flex-wrap: wrap; }
.srcacts form { display: flex; align-items: center; gap: .55rem; margin: 0; }
.srcacts button { font-size: var(--font-footnote); padding: .38rem .95rem; }
button.quiet { background: var(--bg); color: var(--grey); border-color: var(--border); }
button.quiet:hover { background: var(--bg-subtle); color: var(--accent);
                     border-color: var(--accent); }
input.tiny { width: 7.5rem; padding: .38rem .6rem; font-size: var(--font-footnote); }
label { display: block; margin: 1rem 0 .3rem;
        font-family: var(--mono); font-size: var(--font-caption); letter-spacing: .09em;
        text-transform: uppercase; color: var(--grey); }
