/* ── 쉽게 읽히는 화면 (loaded last) ─────────────────────────────────────────
 * One verdict line first on every post card (ui.js vline: 잘됨 / 보통 / 약함 / 판단 보류 + one short reason), every other number
 * and tag smaller and muted underneath, at most the platform and 예시 데이터 on the picture. Fewer borders, one accent colour,
 * the same spacing everywhere; light and dark use the tokens only. Home's three '오늘 할 일' blocks live here too. */
:root { --v-good: #0f8a3c; --v-low: #c2410c; --calm-gap: 16px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --v-good: #4ade80; --v-low: #fb923c; } }
:root[data-theme="dark"] { --v-good: #4ade80; --v-low: #fb923c; }

/* 판정 한 줄 */
.vline { display: flex; align-items: baseline; gap: 6px; min-width: 0; font-size: 13px; line-height: 1.45; color: var(--text-2); }
.vline b { flex: none; font-weight: 800; font-size: 13.5px; letter-spacing: -.01em; }
.vline b::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 5px; vertical-align: 1px; background: currentColor; }
.vline span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vline.v-good b { color: var(--v-good); } .vline.v-low b { color: var(--v-low); } .vline.v-mid b { color: var(--text); } .vline.v-na b { color: var(--text-3); font-weight: 700; }
.vline.v-na span { color: var(--text-3); }
.vline[data-tip] { cursor: help; }

/* the small pill (tables, tiles): calmer, no dashed box */
.verdict.v-good { color: var(--v-good); background: color-mix(in srgb, var(--v-good) 12%, transparent); }
.verdict.v-low { color: var(--v-low); background: color-mix(in srgb, var(--v-low) 12%, transparent); }
.verdict.v-na { border: 0; background: var(--surface-2); color: var(--text-3); }

/* 레퍼런스 카드: picture, verdict line, who, then numbers and tags (muted) */
.ref-card .body { padding: 10px 2px 4px; gap: 5px; }
.ref-card .vline { font-size: 12.5px; } .ref-card .vline b { font-size: 13px; }
.ref-card .brand-line { font-weight: 500; font-size: 12px; }
.ref-card .metrics { font-size: 11.5px; gap: 2px 10px; }
.ref-card .metrics b { font-weight: 600; color: var(--text-2); }
.ref-card .thumb .top { justify-content: flex-start; align-items: center; }
.ref-card .thumb .top .plat-ic { width: 22px; height: 22px; border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.85); }
.rc-demo { margin-left: auto; font-size: 10.5px; font-weight: 700; padding: 2px 7px; border-radius: 6px; background: rgba(0,0,0,.55); color: #fde68a; line-height: 1.4; }
.today-pic .rc-demo { position: absolute; top: 8px; right: 8px; }
.rc-fmt { font-size: 11px; font-weight: 700; padding: 3px 7px; border-radius: 6px; background: rgba(0,0,0,.55); color: #fff; line-height: 1.2; font-variant-numeric: tabular-nums; }
.rc-tags { display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: 11px; color: var(--text-3); }
.rc-tag { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.rc-tag::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--border-strong); }
.rc-tag.b-sponsored::before { background: var(--b-sponsored); } .rc-tag.b-wear::before { background: var(--b-wear); } .rc-tag.b-boost::before { background: var(--b-boost-line); }
.rc-tag.t-good::before { background: var(--v-good); } .rc-tag.t-hot::before { background: var(--v-low); }
.ref-card .note { font-size: 11.5px; }

/* 크리에이터 카드 · 우리 성과 사진: the same line on top */
.cc-body > .vline, .cc-judge .vline { margin-bottom: 2px; }
.own-photo-cell { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.own-photo-cell .vline { font-size: 12.5px; }
.own-photo-meta { font-size: 11.5px; color: var(--text-3); font-variant-numeric: tabular-nums; }

/* ── 홈: 오늘 할 일 ── */
.today { display: flex; flex-direction: column; gap: 28px; margin-bottom: 32px; }
.today-block { display: flex; flex-direction: column; gap: 14px; }
.today-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.today-head h2 { font-size: 22px; font-weight: 800; letter-spacing: -.02em; margin: 0; }
.today-head p { margin: 4px 0 0; font-size: 13px; color: var(--text-2); }
.today-follow { display: grid; grid-template-columns: repeat(3, minmax(0, 250px)); gap: 20px; }
.today-own { display: grid; grid-template-columns: repeat(4, minmax(0, 200px)); gap: 16px; }
.today-card { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.today-pic { position: relative; display: block; padding: 0; border: 0; border-radius: 14px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--surface-3); cursor: pointer; }
.today-pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s var(--ease); }
.today-pic:hover img { transform: scale(1.03); }
.today-card .vline { font-size: 13.5px; } .today-card .vline b { font-size: 14.5px; }
.today-who { display: flex; align-items: baseline; gap: 8px; min-width: 0; font-size: 12.5px; color: var(--text-2); }
.today-who small { color: var(--text-3); font-size: 12px; white-space: nowrap; } .today-who .today-nums { margin-left: auto; }
.today-card .cand-btn { align-self: flex-start; }
.today-empty { background: var(--surface-2); border-radius: 14px; padding: 16px 18px; font-size: 13.5px; color: var(--text-2); }
.today-empty ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; line-height: 1.55; }
.today-empty p { margin: 0 0 10px; }
.today-todo { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.today-todo a { display: flex; align-items: center; gap: 12px; padding: 8px 4px; border-radius: 10px; color: var(--text); text-decoration: none; min-width: 0; }
.today-todo a:hover { background: var(--surface-2); }
.today-todo img, .today-noimg { width: 44px; height: 55px; object-fit: cover; border-radius: 8px; background: var(--surface-3); flex: none; }
.today-todo-t { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.today-todo-t b { font-size: 14px; } .today-todo-t small { font-size: 12px; color: var(--text-2); }
.today-stage { font-weight: 700; color: var(--accent); }
.today-due { flex: none; font-size: 12.5px; color: var(--text-2); font-variant-numeric: tabular-nums; } .today-due.late { color: var(--v-low); font-weight: 700; }
.home-more { margin-top: 36px; border-top: 1px solid var(--border); padding-top: 14px; }
.home-more > summary { cursor: pointer; list-style: none; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; padding: 6px 0; }
.home-more > summary::-webkit-details-marker { display: none; }
.home-more > summary b { font-size: 15px; } .home-more > summary b::after { content: ' ▾'; color: var(--text-3); } .home-more[open] > summary b::after { content: ' ▴'; }
.home-more > summary span { font-size: 12px; color: var(--text-3); }
.home-more[open] > summary { margin-bottom: 8px; }
/* calmer home: fewer boxes */
.home-dashboard .home-checklist { border: 0; background: var(--surface-2); box-shadow: none; }
.home-dashboard .home-check-steps li { border-color: transparent; background: var(--surface); }
.home-dashboard .home-make-card { border-color: transparent; background: var(--surface-2); }
@media (max-width: 1100px) { .today-follow { grid-template-columns: repeat(3, minmax(0, 1fr)); } .today-own { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 760px) { .today-follow, .today-own { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .today-todo { grid-template-columns: 1fr; } .today-head h2 { font-size: 19px; } }
.own-photos { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px; }
.cc-judge { margin-top: 0; }
.verdict b { white-space: nowrap; flex: none; }
/* big cards (home, 우리 성과 사진): the reason may take two lines instead of being cut */
.today-card .vline, .own-photo-cell .vline { align-items: flex-start; }
.today-card .vline span, .own-photo-cell .vline span { white-space: normal; overflow: visible; }
.today-own .today-who { flex-direction: column; align-items: flex-start; gap: 1px; } .today-who .today-nums { margin-left: 0; white-space: normal; }
.crt-kpi .val .verdict { border-radius: 10px; }
