.activities-page { width:min(1120px,calc(100% - 48px)); padding-top:96px; }
.activities-page .sec-head:not([hidden]) { display:flex; align-items:center; min-height:46px; margin-bottom:28px; }
.activities-page .sec-head h1 { font-size:34px; }
@media(max-width:820px) {
  .activities-page[data-activities] { padding-top:84px; }
  .activities-page .sec-head { min-height:40px; }
  .activities-page .sec-head h1 { font-size:27px; }
}
.activity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.activity-card { min-width:0; display:flex; flex-direction:column; min-height:340px; padding:26px; background:#fff; border:1px solid var(--line); border-radius:18px; color:var(--ink); text-decoration:none; transition:border-color .15s,transform .15s; }
.activity-card:hover { border-color:var(--red); transform:translateY(-3px); }
.activity-card:focus-visible,.activities-page button:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.activity-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:26px; }
.activity-card-top>span:last-child { font-size:22px; }
.activity-status { color:var(--red); font-size:12px; font-weight:750; }
.activity-status.is-inactive { color:var(--muted); }
.activity-card h2 { margin:0 0 12px; font-size:24px; line-height:1.35; letter-spacing:-.04em; word-break:keep-all; overflow-wrap:anywhere; }
.activity-card p { margin:0 0 24px; font-size:15px; line-height:1.65; color:var(--ink-2); word-break:keep-all; overflow-wrap:anywhere; }
.activity-card-bottom { margin-top:auto; }
.activity-outcome { padding-top:18px; border-top:1px solid var(--line); display:grid; gap:7px; font-size:14px; line-height:1.6; }
.activity-outcome small,.activity-card-bottom>small { color:var(--muted); font-size:12px; }
/* 진행자: 멤버 DB의 공개 카드 사진을 동그랗게 보여준다. 사진이 없으면 이름 첫 글자. */
.activity-leaders { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:0 0 16px; font-size:14px; }
.activity-leaders-label { color:var(--muted); font-size:12px; font-weight:700; }
.activity-leaders-empty { color:var(--muted); font-size:13px; }
.activity-leader { display:inline-flex; align-items:center; gap:8px; font-weight:650; color:var(--ink); }
.activity-leader-photo { position:relative; width:34px; height:34px; border-radius:50%; overflow:hidden; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; background:#ece9e4; border:1px solid var(--line); color:var(--ink-2); font-size:13px; font-weight:700; }
.activity-leader-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.activity-detail-head .activity-leaders { margin:0 0 20px; font-size:16px; }
.activity-detail-head .activity-leader-photo { width:48px; height:48px; font-size:17px; }
.activity-facts .activity-leaders { margin:0; gap:8px 12px; }
.activity-tags { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.activity-card .activity-tags { margin:18px 0 12px; }
.activity-card.is-inactive { background:transparent; }
.activity-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:30px; }
.activity-toolbar .sec-back { margin:0; }
.activities-page button { font:inherit; cursor:pointer; border:1px solid var(--line); background:#fff; border-radius:999px; padding:10px 18px; font-size:14px; font-weight:700; min-height:44px; }
.activities-page button:disabled { opacity:.6; cursor:wait; }
.activity-detail-head h1 { font-size:clamp(32px,4vw,52px); letter-spacing:-.04em; line-height:1.2; margin:22px 0 18px; word-break:keep-all; overflow-wrap:anywhere; }
.activity-detail-head>p { font-size:20px; line-height:1.6; color:var(--ink-2); max-width:760px; }
.activity-draft { margin:28px 0; border-left:3px solid var(--red); padding:10px 16px; font-size:14px; line-height:1.7; color:var(--ink-2); }
.activity-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:64px; padding-top:24px; }
.activity-detail-layout .prose { min-width:0; overflow-wrap:anywhere; }
.activity-detail-layout .prose>:first-child { margin-top:0; }
.activity-facts { border-top:2px solid var(--ink); align-self:start; padding-top:22px; }
.activity-facts h2 { font-size:13px; color:var(--red); margin:0 0 8px; }
.activity-facts>p { font-size:18px; line-height:1.6; font-weight:650; margin:0 0 28px; }
.activity-facts dl { margin:0; }
.activity-facts dl div { padding:14px 0; border-top:1px solid var(--line); }
.activity-facts dt { font-size:12px; color:var(--muted); margin-bottom:6px; }
.activity-facts dd { margin:0; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.activity-form h1 { font-size:28px; margin:0; }
.activity-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:28px 0; }
.activity-fields label,.activity-body-label { display:grid; gap:8px; font-size:14px; font-weight:650; }
.activity-form input:not([type=checkbox]),.activity-form textarea,.activity-form select { width:100%; box-sizing:border-box; font:inherit; font-size:16px; line-height:1.6; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }
.activity-form textarea { resize:vertical; min-height:320px; }
.activity-draft-control { display:flex; align-items:center; gap:10px; margin:20px 0; font-size:14px; }
.activity-draft-control input { width:18px; height:18px; accent-color:var(--red); }
.activity-editor-note { color:var(--muted); font-size:14px; line-height:1.6; }
.activity-savebar { display:flex; align-items:center; gap:16px; justify-content:space-between; position:sticky; bottom:0; background:var(--paper,#f7f7f5); border-top:1px solid var(--line); padding:16px 0; margin-top:24px; }
.activity-savebar p { font-size:14px; color:var(--red); margin:0; }
.activity-savebar button { background:var(--red); color:white; border-color:var(--red); min-width:100px; flex-shrink:0; }
.activity-preview { margin-top:24px; padding:20px; border:1px solid var(--line); border-radius:12px; }
.activity-preview summary { cursor:pointer; }
.activity-preview article { margin-top:20px; }
.activity-saved { color:var(--red); font-size:14px; }
@media(max-width:900px) { .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .activity-detail-layout { gap:32px; grid-template-columns:minmax(0,1fr) 230px; } }
@media(max-width:600px) { .activities-page { width:calc(100% - 32px); padding-top:90px; } .activity-grid,.activity-fields,.activity-detail-layout { grid-template-columns:1fr; } .activity-card { min-height:300px; padding:24px; } .activity-detail-head>p { font-size:17px; } .activity-toolbar { margin-bottom:24px; } .activity-detail-layout { gap:36px; } }
@media(prefers-reduced-motion:reduce) { .activity-card { transition:none; } .activity-card:hover { transform:none; } }

.activity-group + .activity-group { margin-top:48px; }
.activity-group-title { margin:0 0 20px; font-size:22px; letter-spacing:-.03em; }
.activity-card.study-card { padding:0; min-height:0; overflow:visible; border:0; border-radius:0; background:transparent; }
.study-card-shell { position:relative; min-width:0; display:flex; }
.study-card-shell .study-card { flex:1; transition:border-color .15s; }
.study-card-shell .study-card:hover { transform:none; }
.activities-page .study-interest,.activities-page .study-share { position:absolute; top:14px; right:14px; z-index:3; display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; padding:0; border:1px solid #ffffff60; border-radius:50%; background:#252525a6; color:#fff; }
.activities-page .study-share { right:66px; }
.study-share svg { display:block; flex-shrink:0; transform:translateX(-1px); }
.study-interest svg,.study-share svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.activities-page .study-interest[aria-pressed=true] { background:var(--red); border-color:var(--red); }

.activities-page .study-interest:hover,.activities-page .study-share:hover { background:#252525d9; }
.activities-page .study-interest[aria-pressed=true]:hover { background:var(--red); }
.study-card-category { align-self:flex-start; position:relative; z-index:2; display:inline-flex; align-items:center; gap:6px; min-height:24px; margin:0 0 8px; font-size:13px; font-weight:600; line-height:1.5; color:var(--muted); text-decoration:none; }
.study-card-category span { font-size:16px; }
.study-card-category:hover { color:var(--red); }
.study-card-category:focus-visible,.study-category-toolbar a:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.study-card-link { color:inherit; text-decoration:none; }
.study-card-link::after { content:""; position:absolute; z-index:1; inset:0; border-radius:18px; }
.study-card-link:focus-visible { outline:none; }
.study-card-link:focus-visible::after { outline:3px solid var(--red); outline-offset:4px; }
.study-category-toolbar { margin-bottom:28px; font-size:14px; }
.study-category-toolbar a { color:var(--red); text-underline-offset:4px; }
.study-card-duration { display:flex; flex-wrap:wrap; gap:0 6px; margin:0 0 14px; font-size:14px; line-height:1.6; color:var(--muted); }
.study-card-duration span { max-width:100%; word-break:keep-all; overflow-wrap:anywhere; }
.study-hosts { display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:14px; line-height:1.5; color:var(--ink); }
.study-host-avatars { display:flex; flex-shrink:0; }
.study-host-avatars .activity-leader+.activity-leader { margin-left:-8px; }
.study-card .study-host-avatars .activity-leader-photo { width:32px; height:32px; box-sizing:border-box; border:2px solid var(--paper,#f7f7f5); }
.study-hosts-text { flex:1; min-width:0; font-weight:600; word-break:keep-all; overflow-wrap:anywhere; }
.study-card-social { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 14px; }
.study-card-social:empty { display:none; }
.study-card-social .study-hosts { gap:6px; margin:0; }
.study-card-social .study-hosts-text { flex:initial; font-size:13px; }
.study-card-social .study-host-avatars .activity-leader-photo { width:28px; height:28px; }
.study-card-media { position:relative; }
.study-card-media>.study-card-badges { position:absolute; top:14px; left:14px; z-index:2; max-width:calc(100% - 138px); pointer-events:none; }
.study-card-cover { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:18px; background:#ece9e4; }
.study-card-content { display:flex; flex-direction:column; flex:1; padding:20px 0 0; }
.study-card h2 { font-size:27px; line-height:1.3; letter-spacing:-.035em; }
.study-card p { margin-bottom:20px; }
.study-card-footer { display:flex; flex-direction:column; align-items:flex-start; margin-top:auto; }
.study-card-footer .study-participants { margin-top:0; }
.study-card .activity-leaders { margin:0; gap:12px 18px; font-size:15px; }
.study-card .activity-leaders-label { flex-basis:100%; }
.study-card .activity-leader-photo { width:44px; height:44px; }
@media(max-width:600px) { .study-card-content { padding:18px 0 0; } .study-card h2 { font-size:25px; } }
@media(prefers-reduced-motion:reduce) { .study-card-shell .study-card { transition:none; } }


@media(max-width:400px) { .study-card-social { gap:6px; } .study-card-social .study-hosts { gap:5px; } .study-card-social .study-hosts-text { font-size:12px; } .study-card-social .study-host-avatars .activity-leader-photo { width:26px; height:26px; } }

.study-title-row { display:flex; align-items:center; gap:10px; min-width:0; min-height:44px; }
.study-title-row>h1,.study-title-row>h2 { min-width:0; overflow-wrap:anywhere; }
.study-card .study-title-row { margin-bottom:12px; }
.study-card .study-title-row>h2 { margin:0; }
.study-management { position:relative; z-index:4; display:inline-flex; flex-shrink:0; font-weight:400; letter-spacing:normal; }
.study-management:hover,.study-management:focus-within { z-index:50; }
.study-management-link { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; color:var(--muted); text-decoration:none; transition:background .16s ease,color .16s ease; }
.study-management-link:hover,.study-management-link:focus-visible { color:var(--ink); background:#eceae6; }
.study-management-link:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
.study-management svg { flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.study-management-panel { position:absolute; z-index:50; top:calc(100% + 8px); right:0; display:flex; align-items:flex-start; gap:10px; width:260px; max-width:calc(100vw - 32px); padding:14px 16px; box-sizing:border-box; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 6px 20px #0000000d; color:var(--ink-2); font-size:12px; line-height:1.65; text-align:left; visibility:hidden; opacity:0; transition:opacity .14s ease,visibility .14s; }
.study-management-panel::before { content:""; position:absolute; left:0; right:0; top:-10px; height:10px; }
.study-management-panel>svg { margin-top:3px; color:var(--muted); }
.study-management-panel strong { display:block; margin-bottom:3px; color:var(--ink); font-size:13px; font-weight:650; }
.study-management-panel>span>span { display:block; font-size:12px; font-weight:400; word-break:keep-all; }
.study-management:hover .study-management-panel,.study-management:focus-within .study-management-panel { visibility:visible; opacity:1; }

.study-heading { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.study-heading .study-card-category { margin-bottom:0; }
.study-card-content>.study-heading { margin-bottom:12px; }
.study-card-badges { display:flex; flex-wrap:wrap; gap:6px; }
.study-badge { display:inline-flex; align-items:center; min-height:26px; box-sizing:border-box; padding:4px 8px; border-radius:4px; font-size:12px; font-weight:700; line-height:1.4; letter-spacing:.02em; }
.study-badge-new { color:#a94700; background:#fff0df; }
.study-badge-best { color:#2357bf; background:#eaf1ff; }
.study-badge-since { color:#555550; background:#ececea; }

.activities-page .study-interest { transition:background-color .24s ease,border-color .24s ease; }
.study-interest .study-heart-outline,.study-interest .study-heart-filled { position:absolute; inset:9px; transition:opacity .24s ease; }
.study-interest .study-heart-outline { opacity:1; }
.study-interest .study-heart-filled { fill:currentColor; opacity:0; }
.study-interest[aria-pressed=true] .study-heart-outline { opacity:0; }
.study-interest[aria-pressed=true] .study-heart-filled { opacity:1; }
.study-interest-puff { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; color:var(--red); animation:study-heart-float .8s ease-out both; --heart-x:0px; --heart-y:-58px; }
.study-interest-puff[data-puff="0"] { --heart-x:-18px; --heart-y:-42px; }
.study-interest-puff[data-puff="2"] { --heart-x:18px; --heart-y:-45px; }
.study-interest .study-interest-puff svg { width:16px; height:16px; fill:currentColor; stroke:white; stroke-width:1; }
@keyframes study-heart-float { 0% { opacity:0; transform:translateY(0) scale(.6); } 18% { opacity:1; } 100% { opacity:0; transform:translate(var(--heart-x),var(--heart-y)) scale(1.1); } }
.study-toast { max-width:calc(100% - 32px); width:max-content; box-sizing:border-box; text-align:center; pointer-events:none; opacity:0; transform:translate(-50%,16px); transition:opacity .22s ease,transform .22s ease; }
.study-toast.is-visible { pointer-events:auto; opacity:1; transform:translate(-50%,0); transition-duration:.3s; transition-timing-function:cubic-bezier(.2,.8,.2,1); }
.study-toast a { color:inherit; text-underline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .study-toast,.study-toast.is-visible { transition:none; transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce) { .activities-page .study-interest,.study-interest .study-heart-outline,.study-interest .study-heart-filled { transition:none; } .study-interest-puff { display:none; animation:none; } }
.activities-page .study-card-actions { position:relative; z-index:2; margin-top:auto; padding-top:20px; }
.activities-page .study-card-action { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; box-sizing:border-box; padding:12px 18px; border:1px solid var(--red); border-radius:10px; background:var(--red); color:#fff; font:inherit; font-weight:600; cursor:pointer; line-height:1.4; text-decoration:none; transition:background-color .18s,border-color .18s; }
.activities-page .study-card-action:hover { background:var(--red-strong,#942033); border-color:var(--red-strong,#942033); color:#fff; }
.activities-page .study-card-alert { gap:8px; background:transparent; color:var(--red); }
.activities-page .study-card-alert:hover { background:#fbf0f2; color:var(--red); }
.activities-page .study-card-alert[aria-pressed=true] { background:var(--red); border-color:var(--red); color:#fff; }
.activities-page .study-card-alert[aria-pressed=true]:hover { background:var(--red-strong,#942033); border-color:var(--red-strong,#942033); color:#fff; }
.study-card-alert-icon { display:block; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.activities-page .study-card-action:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
.activities-page .study-card-action[aria-busy=true] { cursor:progress; opacity:.7; }
.activities-page .study-card-action:disabled { background:#ece9e4; border-color:#ece9e4; color:var(--muted); cursor:default; }
@media(prefers-reduced-motion:reduce) { .activities-page .study-card-action { transition:none; } }

.study-meet-entry { margin-top:24px; }
.study-meet-entry[hidden] { display:none; }
.study-meet-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid var(--red); border-radius:8px; color:var(--red); font-size:14px; font-weight:700; text-decoration:none; }
.study-meet-link:hover { background:var(--red); color:#fff; }

.study-management.tooltip-dismissed .study-management-panel { visibility:hidden; opacity:0; }

.study-management.tooltip-above .study-management-panel::before { top:auto; bottom:-10px; }
