/* Aeronex — Discord 미리보기 스타일 (v7). 색·크기는 실제 디스코드 값에 맞췄습니다. */
.dp { --bg:#313338; --text:#dbdee1; --muted:#949ba4; --name:#f2f3f5; --embed:#2b2d31; --embed-line:#232428; --link:#00a8fc; --field:#1e1f22; --code:#2b2d31; --code-line:#1e1f22; --quote:#4e5058; --mention-bg:rgba(88,101,242,.3); --mention:#c9cdfb; --card-line:#3f4147; --btn:#4e5058;
  background:var(--bg); color:var(--text); border-radius:8px; padding:16px; font-family:'gg sans','Noto Sans','Pretendard Variable',Pretendard,'Helvetica Neue',Helvetica,Arial,sans-serif; font-size:16px; line-height:1.375; text-align:left; border:1px solid #1e1f22; overflow:hidden; }
.dp[data-theme="light"] { --bg:#ffffff; --text:#313338; --muted:#5c5e66; --name:#060607; --embed:#f2f3f5; --embed-line:#e3e5e8; --link:#006ce7; --field:#e3e5e8; --code:#f2f3f5; --code-line:#e3e5e8; --quote:#c4c9ce; --mention-bg:rgba(88,101,242,.15); --mention:#505cdc; --card-line:#e0e1e5; --btn:#e3e5e8; border-color:#e3e5e8; }
.dp * { box-sizing:border-box; }
.dp img { max-width:100%; }
.dp-header { margin:-4px 0 14px; padding-bottom:12px; border-bottom:1px solid var(--embed-line); }
.dp-header-t { font-size:20px; font-weight:700; color:var(--name); word-break:break-word; }
.dp-header-s { font-size:12px; color:var(--muted); margin-top:2px; }
.dp-msg { display:flex; gap:16px; align-items:flex-start; }
.dp-avatar { flex:none; width:40px; height:40px; border-radius:50%; background:#fff; color:#5b2d8e; display:grid; place-items:center; font-size:20px; overflow:hidden; }
.dp-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.dp-body { min-width:0; flex:1; }
.dp-meta { display:flex; align-items:center; gap:6px; margin-bottom:2px; line-height:1.375; flex-wrap:wrap; }
.dp-author { font-weight:500; color:var(--name); }
.dp-apptag { background:#5865f2; color:#fff; font-size:10px; font-weight:500; line-height:15px; padding:0 4px; border-radius:3px; text-transform:uppercase; }
.dp-ts { color:var(--muted); font-size:12px; font-weight:500; margin-left:2px; }
.dp-md { word-wrap:break-word; overflow-wrap:anywhere; }
.dp-content { margin-bottom:4px; }
.dp-p { white-space:normal; }
.dp-gap { height:1.375em; }
.dp-md > .dp-gap:first-child, .dp-md > .dp-gap:last-child { display:none; }
.dp-h { font-weight:700; color:var(--name); line-height:1.375; margin:16px 0 8px; }
.dp-h:first-child { margin-top:0; }
.dp-h1 { font-size:1.5em; } .dp-h2 { font-size:1.25em; } .dp-h3 { font-size:1em; }
.dp-sub { font-size:.75em; color:var(--muted); line-height:1.33; margin:2px 0; }
.dp-quote { border-left:4px solid var(--quote); padding:0 8px 0 12px; margin:2px 0; border-radius:2px; }
.dp-list { margin:4px 0; padding-left:1.1em; }
.dp-list li { padding-left:.35em; margin:0; } .dp-list .dp-list { margin:0; }
ul.dp-list { list-style:disc; } ol.dp-list { list-style:decimal; }
.dp-link { color:var(--link); text-decoration:none; } .dp-link:hover { text-decoration:underline; }
.dp-icode { background:var(--code); border:0; border-radius:3px; padding:.2em .4em .1em; font-family:Consolas,'Andale Mono WT','Andale Mono','Lucida Console','Courier New',monospace; font-size:.875em; white-space:pre-wrap; }
.dp-codeblock { background:var(--code); border:1px solid var(--code-line); border-radius:4px; padding:.5em; margin:6px 0; font-family:Consolas,'Andale Mono WT','Andale Mono','Lucida Console','Courier New',monospace; font-size:.875rem; line-height:1.125rem; white-space:pre-wrap; overflow-x:auto; }
.dp-codeblock code { font:inherit; }
.dp-mention { background:var(--mention-bg); color:var(--mention); border-radius:3px; padding:0 2px; font-weight:500; }
.dp-time { background:rgba(128,132,142,.2); border-radius:3px; padding:0 2px; }
.dp-spoiler { background:#1e1f22; color:transparent; border-radius:3px; cursor:pointer; padding:0 2px; user-select:none; }
.dp-spoiler.open { background:rgba(128,132,142,.2); color:inherit; user-select:text; }
.dp-emoji { width:1.375em; height:1.375em; object-fit:contain; vertical-align:bottom; margin:0 .05em; }
/* 임베드 */
.dp-embed { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; max-width:520px; margin-top:4px; background:var(--embed); border:1px solid var(--embed-line); border-left:4px solid #1e1f22; border-radius:4px; padding:8px 16px 16px 12px; }
.dp-embed.nocolor { border-left-color:#1e1f22; }
.dp-embed-main { grid-column:1; min-width:0; }
.dp-embed-author { font-size:14px; font-weight:600; margin-top:8px; color:var(--name); }
.dp-embed-title { font-size:16px; font-weight:600; margin-top:8px; color:var(--name); word-break:break-word; }
.dp-embed-title .dp-link { color:var(--link); }
.dp-embed-desc { font-size:14px; line-height:1.375; margin-top:8px; font-weight:400; }
.dp-embed-desc .dp-h1 { font-size:1.5em; }
.dp-fields { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:8px; margin-top:8px; }
.dp-field { grid-column:1 / -1; min-width:0; } .dp-field.inline { grid-column:span 4; }
.dp-field-name { font-size:14px; font-weight:600; margin-bottom:2px; color:var(--name); }
.dp-field-value { font-size:14px; line-height:1.375; }
.dp-embed-thumb { grid-column:2; grid-row:1 / span 8; margin-left:16px; margin-top:8px; width:80px; height:80px; object-fit:cover; border-radius:4px; justify-self:end; }
.dp-embed-foot { margin-top:8px; font-size:12px; font-weight:500; color:var(--muted); line-height:1.33; }
/* 이미지 갤러리: 1장 크게 · 2장 나란히 · 3장(왼쪽 크게 + 오른쪽 2장) · 4장 2×2 */
.dp-gallery { display:grid; gap:4px; margin-top:16px; border-radius:8px; overflow:hidden; max-width:100%; }
.dp-gallery .dp-gi { background:#1e1f22; min-height:60px; overflow:hidden; }
.dp-gallery .dp-gi img { display:block; width:100%; height:100%; object-fit:cover; }
.dp-gallery.g1 { grid-template-columns:1fr; max-width:400px; } .dp-gallery.g1 .dp-gi img { max-height:300px; width:auto; max-width:100%; object-fit:contain; margin:0 auto; background:transparent; }
.dp-gallery.g1 .dp-gi { background:transparent; }
.dp-gallery.g2 { grid-template-columns:1fr 1fr; aspect-ratio:2/1; }
.dp-gallery.g3 { grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; aspect-ratio:3/2; } .dp-gallery.g3 .dp-gi:first-child { grid-row:1 / span 2; }
.dp-gallery.g4 { grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; aspect-ratio:16/10; }
.dp-card .dp-gallery { margin-top:8px; } .dp-card .dp-gallery:first-child { margin-top:0; }
.dp-embed .dp-gallery { margin-top:16px; }
/* 카드 (Components V2 컨테이너) */
.dp-card { position:relative; max-width:520px; margin-top:4px; background:var(--embed); border:1px solid var(--card-line); border-radius:8px; padding:16px; overflow:hidden; }
.dp-card.accent { padding-left:20px; } .dp-card.accent::before { content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--dp-accent,#5865f2); }
.dp-card > * + * { margin-top:8px; } .dp-card > .dp-sep + * { margin-top:0; }
.dp-ctext { font-size:16px; line-height:1.375; }
.dp-section { display:flex; gap:16px; align-items:flex-start; } .dp-section .dp-ctext { flex:1; min-width:0; }
.dp-thumb { flex:none; width:80px; height:80px; border-radius:8px; object-fit:cover; background:#1e1f22; }
.dp-sep { height:1px; background:var(--card-line); margin:8px 0 !important; } .dp-sep.nodiv { background:transparent; height:4px; margin:0 !important; }
.dp-select { display:flex; align-items:center; justify-content:space-between; background:var(--field); border-radius:8px; padding:8px 12px; color:var(--muted); font-size:14px; max-width:420px; margin-top:8px; }
.dp-chev { font-size:18px; line-height:1; transform:translateY(-3px); }
/* 투표 */
.dp-poll { margin-top:8px; max-width:520px; background:var(--embed); border:1px solid var(--card-line); border-radius:8px; padding:16px; }
.dp-poll-q { font-size:16px; font-weight:700; color:var(--name); word-break:break-word; }
.dp-poll-hint { color:var(--muted); font-size:12px; margin:2px 0 12px; }
.dp-poll-list { display:grid; gap:8px; }
.dp-poll-item { display:flex; align-items:center; gap:10px; padding:10px 12px; background:rgba(78,80,88,.3); border:1px solid transparent; border-radius:8px; font-size:14px; word-break:break-word; }
.dp[data-theme="light"] .dp-poll-item { background:#e3e5e8; }
.dp-dot { flex:none; width:20px; height:20px; border-radius:50%; border:2px solid #80848e; } .dp-poll-item.multi .dp-dot { border-radius:4px; }
.dp-poll-foot { display:flex; align-items:center; justify-content:space-between; margin-top:12px; font-size:12px; color:var(--muted); }
.dp-poll-btn { background:var(--btn); color:#fff; border-radius:3px; padding:2px 14px; font-size:14px; font-weight:500; line-height:28px; opacity:.6; } .dp[data-theme="light"] .dp-poll-btn { color:#313338; }
/* 반응 */
.dp-reactions { display:flex; flex-wrap:wrap; gap:4px; margin-top:4px; }
.dp-reaction { display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 6px; border-radius:8px; background:var(--embed); border:1px solid transparent; color:var(--muted); font-size:14px; font-weight:500; }
.dp-reaction.me { background:rgba(88,101,242,.15); border-color:#5865f2; color:var(--mention); }
.dp-rface { display:inline-flex; align-items:center; font-size:16px; line-height:1; } .dp-rface .dp-emoji { width:16px; height:16px; margin:0; vertical-align:middle; }
/* 미리보기 도구줄 */
.dp-tools { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:10px; }
.dp-tools button { font:inherit; font-size:12.5px; padding:4px 10px; border-radius:999px; border:1px solid var(--line,#3a3f4b); background:transparent; color:inherit; cursor:pointer; }
.dp-tools button.on { background:rgba(88,101,242,.22); border-color:#5865f2; }
.dp-note { font-size:12px; opacity:.7; margin-top:8px; }
.dp-msg.cont { margin-top:2px; padding-left:56px; }
.dp-msg.cont .dp-body > :first-child { margin-top:0; }
