/* Photo-first member feed, with full artwork visible inside the post. */
.member-social .member-posts{gap:3px;grid-template-columns:repeat(3,minmax(0,1fr))}
.member-social .member-post figure,.member-legacy-tile{aspect-ratio:3/4;margin:0}
.member-social .member-post-open{position:relative;overflow:hidden}
.member-social .member-post figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}
.member-gallery-mark{position:absolute;right:8px;top:8px;display:block;color:#fff;filter:drop-shadow(0 1px 3px #0009);pointer-events:none}
.member-gallery-mark svg{width:20px;height:20px;display:block}
.member-legacy-tile{display:grid;place-items:center;background:#151515;color:#555}
.member-legacy-tile svg{width:28px;height:28px}
.member-social .member-feed-toolbar{justify-content:flex-end;border-bottom:0;margin-bottom:10px}
.member-feed-toolbar:empty{display:none}
#detail:has(.member-detail),#detail:has(.photo-composer){border:0;box-shadow:none;border-radius:0;padding:0;background:#0b0b0b;width:min(1080px,94vw);max-height:92dvh;overflow:auto;color:#eee}
#detail:has(.member-detail)>.close,#detail:has(.photo-composer)>.close{position:absolute;right:8px;top:8px;z-index:4;margin:0;width:40px;height:40px;background:transparent!important;border:0!important;color:#ddd}
#detail:has(.member-detail)::backdrop,#detail:has(.photo-composer)::backdrop{background:#000c;backdrop-filter:none}
.member-detail{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);grid-template-rows:auto 1fr;min-width:0}
.member-detail .member-detail-author{grid-column:2;grid-row:1;margin:0;padding:26px 52px 18px 26px;min-width:0;gap:10px;font-size:12px}
.member-detail-author strong{overflow-wrap:anywhere;line-height:1.6}
.member-detail .member-detail-author img{width:30px;height:30px;flex-shrink:0}
.member-detail-copy{grid-column:2;grid-row:2;padding:6px 26px 24px;min-width:0;overflow:auto}
.member-detail .member-detail-copy h2{font-size:17px;line-height:1.6;letter-spacing:-.015em;font-weight:400;margin:0 0 16px;word-break:keep-all;overflow-wrap:anywhere}
.member-detail .member-detail-body{font-size:14px;line-height:1.9;letter-spacing:0;margin:0;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}
.member-detail-meta{display:flex;align-items:center;gap:18px;margin:28px 0 0;padding:0;border:0;width:auto;background:none;color:#888;font-size:10px;min-height:32px}
.member-detail-meta button,.member-detail-video{background:none!important;border:0!important;padding:6px 0!important;min-height:36px;min-width:0;letter-spacing:0!important;font-size:11px!important;font-weight:400;color:#aaa}
.member-detail-video{display:inline-flex;margin-top:16px}
.member-detail.text-only{display:block;max-width:650px;margin:auto}
.member-carousel{grid-column:1;grid-row:1/3;position:relative;min-width:0;background:#050505;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.member-carousel-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;min-width:0;outline-offset:-3px}
.member-carousel-track::-webkit-scrollbar{display:none}
.member-carousel-track figure{flex:0 0 100%;width:100%;min-width:0;margin:0;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center;aspect-ratio:3/4;max-height:82dvh}
.member-carousel-track img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:4px 0;background:#050505}
.carousel-controls button{background:transparent!important;border:0!important;padding:0!important;min-width:40px;min-height:36px;font-size:24px!important;line-height:1;color:#ddd}
.carousel-controls button:disabled{opacity:.25}
.carousel-controls span{font-size:10px;color:#aaa;letter-spacing:.08em;min-width:40px;text-align:center}
.member-detail-body,.member-detail-copy,.plain-writing,textarea,.member-bio p,.prose,.reading-copy,.chat-message p{font-family:Inter,'Noto Sans KR','Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji','Malgun Gothic',sans-serif}
/* Two steps: choose photos, then write and publish. */
#detail:has(.photo-composer){width:min(900px,94vw)}
.photo-composer-heading{display:flex;align-items:center;gap:18px;padding:16px 58px 16px 22px;border-bottom:1px solid #ffffff12;min-height:64px;box-sizing:border-box}
.photo-composer .photo-composer-heading h2{font-size:15px;font-weight:400;letter-spacing:0;margin:0;flex:1}
.photo-composer button{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;letter-spacing:0!important;min-width:0;font-weight:400}
.photo-composer-heading button{padding:8px 0!important;font-size:12px!important;color:#ddd;min-height:32px}
.photo-composer-heading #work-share{color:#fff}
.photo-composer [hidden]{display:none!important}
.photo-composer-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
[data-stage=photos] .photo-composer-layout{display:block}
.photo-compose-media{min-width:0;padding:22px}
.photo-composer .post-image-picker{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:240px;padding:24px 10px!important;margin:0!important;border:0!important;background:none!important;cursor:pointer;font-size:13px}
.photo-composer .post-image-picker svg{width:42px;height:42px;color:#aaa}
.photo-composer .post-image-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.photo-composer .post-image-picker:focus-within{outline:1px solid #aaa;outline-offset:3px}
.photo-composer .post-image-picker small{color:#777;font-size:11px;line-height:1.6}
.photo-composer .has-photos .post-image-picker{min-height:40px;padding:10px!important;flex-direction:row;gap:8px}
.photo-composer .has-photos .post-image-picker svg{width:18px;height:18px}
.photo-composer .has-photos .post-image-picker small{display:none}
.work-photos{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#444 transparent}
.work-photo{flex:0 0 80%;max-width:340px;aspect-ratio:3/4;position:relative;background:#080808;scroll-snap-align:start;min-width:0;overflow:hidden}
.work-photo img{width:100%;height:100%;object-fit:contain;display:block}
.work-photo-number{position:absolute;top:10px;left:10px;font-size:10px;color:#fff;text-shadow:0 1px 4px #000}
.work-photo-actions{position:absolute;bottom:8px;left:8px;right:8px;display:flex;justify-content:center;gap:12px;background:#0008;border-radius:20px}
.photo-composer .work-photo-actions button{font-size:24px!important;min-width:36px;min-height:36px;padding:0!important;color:#fff;line-height:1}
.work-photo-actions button:disabled{opacity:.25}
.work-help{font-size:10px;color:#888;margin:10px 0 0;line-height:1.7;text-align:center}
.photo-compose-writing{padding:22px;min-width:0}
.photo-composer .writing-surface{display:block;margin:0!important}
.photo-composer .plain-writing{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;font-size:15px;line-height:1.9;letter-spacing:0;min-height:190px;resize:vertical;width:100%;color:#eee}
.photo-composer .plain-writing:focus{outline:none}
.photo-composer .plain-writing:focus-visible{outline:1px solid #555;outline-offset:6px}
.work-options{margin-top:20px;font-size:11px;color:#888}
.work-options summary{padding:12px 0;cursor:pointer}
.work-options label{font-size:11px!important;margin:14px 0!important;line-height:1.7}
.work-options label small{font-size:10px;color:#666}
.work-options input:not([type=checkbox]){font-size:13px!important;padding:10px 0!important;border:0!important;border-bottom:1px solid #333!important;background:none!important}
.photo-composer #delete-work{font-size:11px!important;color:#999;padding:12px 0!important;margin-top:22px}
.photo-composer #work-status{padding:0 22px;font-size:12px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere;color:#bbb}
@media(max-width:680px){
 #detail:has(.member-detail),#detail:has(.photo-composer){width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0}
 .member-detail{display:flex;flex-direction:column}
 .member-detail .member-detail-author{padding:20px 56px 18px 20px}
 .member-carousel-track figure{aspect-ratio:4/5;max-height:68dvh}
 .member-detail-copy{padding:24px 20px;overflow:visible}
 .member-detail .member-detail-copy h2{font-size:16px;margin-bottom:12px}
 .member-detail .member-detail-body{font-size:14px;line-height:1.85}
 .member-detail-meta{margin-top:18px}
 .photo-composer-layout{display:block}
 .photo-compose-media{padding:16px 20px}
 .work-photo{flex-basis:64%;max-width:250px}
 [data-stage=write] .work-photo{flex-basis:42%;max-width:180px}
 .photo-compose-writing{padding:10px 20px 22px}
 .photo-composer .plain-writing{font-size:16px;min-height:130px}
 .photo-composer .photo-composer-heading{padding-left:20px}
 .member-social .member-posts{gap:2px}
}
@media(prefers-reduced-motion:reduce){.member-social .member-post figure img{transition:none}}
