.portal-item-link{color:var(--ink);text-decoration:none}.portal-item-link:hover{color:var(--green);text-decoration:underline;text-underline-offset:.18em}.portal-detail{max-width:820px}.portal-detail time{color:var(--muted);font-size:.88rem}.portal-detail h2{margin:.65rem 0 1.35rem;font:600 clamp(1.8rem,4vw,2.5rem)/1.2 var(--font-ui);letter-spacing:-.035em}.detail-summary{margin:0 0 1.5rem;color:var(--muted);font-size:1.12rem;font-weight:650}.detail-body{max-width:68ch;margin:0;white-space:pre-line}.detail-navigation{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin-bottom:2rem}.detail-navigation .back-link{margin:0}.detail-section-link{color:var(--green);font-weight:650;text-decoration:none}.detail-section-link:hover{text-decoration:underline;text-underline-offset:.18em}.portal-attachments{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.portal-attachments h3{margin:0 0 1rem;font:600 1.25rem/1.3 var(--font-ui)}.attachment-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.attachment-image{display:block;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:zoom-in}.attachment-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.attachment-image:focus-visible{outline:2px solid var(--green);outline-offset:3px}.attachment-files{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}.attachment-file{display:inline-block;color:var(--green);font-weight:650;overflow-wrap:anywhere}.attachment-file:hover{text-decoration-thickness:2px;text-underline-offset:.18em}.attachment-dialog{width:min(92vw,1100px);max-height:92vh;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);box-shadow:0 24px 80px rgb(20 25 32 / .22)}.attachment-dialog::backdrop{background:rgb(25 29 36 / .4);backdrop-filter:blur(4px)}.attachment-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--line)}.attachment-dialog-toolbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-dialog-close{min-height:44px;padding:.45rem .8rem;border:1px solid var(--green);border-radius:8px;background:var(--panel);color:var(--green);font:600 .85rem/1 var(--font-ui)}.attachment-dialog-close:hover{background:var(--pale)}.attachment-dialog-close:focus-visible{outline:2px solid var(--green);outline-offset:3px}.attachment-dialog-image{display:block;max-width:100%;max-height:calc(92vh - 4.5rem);margin:auto;object-fit:contain}@media(max-width:640px){.detail-navigation{display:grid;gap:.7rem}.portal-detail h2{font-size:clamp(1.6rem,7vw,2rem)}.attachment-gallery{grid-template-columns:1fr}.attachment-dialog{width:calc(100vw - 1.5rem)}.attachment-dialog-toolbar{padding:.75rem}.attachment-dialog-image{max-height:calc(92vh - 4rem)}}

/* Detail surfaces share the public workspace typography and spacing. */
.portal-detail{padding:28px;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow-wrap:anywhere}
.portal-detail time{font-size:12px;font-variant-numeric:tabular-nums}
.detail-summary{font-size:15px;font-weight:500;line-height:1.7}
.detail-body{font-size:14px;line-height:1.8}
.detail-navigation{gap:8px 24px;margin-bottom:16px}
.detail-section-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600}
.portal-attachments h3{letter-spacing:-.02em}
.attachment-gallery+.attachment-files{margin-top:16px}
.attachment-file{min-height:44px;padding:10px 0}
.attachment-dialog{border-radius:14px}
.attachment-dialog-toolbar strong{font-size:13px;font-weight:600}
@media(max-width:620px){.portal-detail{padding:22px 18px}.detail-navigation{gap:0;margin-bottom:16px}}
