/* 설문 UP — premium 2026-10-05 sv3 */
.sv-body, .sv-hub, .sv-page, .sv-admin {
  --sv1:#6366f1; --sv2:#a855f7; --sv3:#22c55e; --ink:#0f172a; --sub:#64748b; --line:#e8ecf4; --bg:#f7f8fc;
  font-family:'Pretendard','Noto Sans KR',sans-serif; color:var(--ink);
}
.sv-hub, .sv-page { max-width:960px; margin:0 auto; padding:8px 0 64px; box-sizing:border-box; overflow-x:hidden; }
.sv-eyebrow { font-size:12px; font-weight:800; letter-spacing:.08em; color:var(--sv1); margin:0 0 8px; }
.sv-grad { background:linear-gradient(105deg,var(--sv1),var(--sv2)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* Hero premium */
.sv-hero { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:24px; align-items:center;
  background:linear-gradient(145deg,#eef2ff 0%,#faf5ff 50%,#fff 100%); border:1px solid var(--line);
  border-radius:28px; padding:32px 28px 28px; margin-bottom:32px; overflow:hidden; min-height:240px;
  box-shadow:0 20px 50px -28px rgba(99,102,241,.35); }
.sv-hero--premium::before { content:""; position:absolute; inset:-40%; background:radial-gradient(circle at 30% 40%,rgba(99,102,241,.12),transparent 50%),
  radial-gradient(circle at 70% 60%,rgba(168,85,247,.1),transparent 45%); pointer-events:none; animation:svAura 10s ease-in-out infinite alternate; }
@keyframes svAura { from{transform:translate3d(-2%,-1%,0) scale(1)} to{transform:translate3d(2%,1%,0) scale(1.05)} }
.sv-hero__title { font-size:clamp(1.85rem,4vw,2.75rem); font-weight:900; margin:0 0 10px; letter-spacing:-.035em; position:relative; z-index:1; }
.sv-hero__tag { color:var(--sub); margin:0; font-size:1.05rem; line-height:1.55; position:relative; z-index:1; }
.sv-admin-bar { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; position:relative; z-index:1; }
.sv-hero__text { position:relative; z-index:1; }
.sv-hero__fx { position:relative; min-height:180px; perspective:600px; z-index:1; }
.sv-ballot { position:relative; width:170px; height:150px; margin:16px auto; background:#fff; border-radius:18px;
  box-shadow:0 18px 40px -14px rgba(99,102,241,.5), 0 1px 0 rgba(255,255,255,.8) inset; border:1px solid #e0e7ff; padding:20px 16px;
  transform-style:preserve-3d; transition:transform .15s ease-out; }
.sv-ballot__bars { display:flex; align-items:flex-end; gap:10px; height:95px; }
.sv-bar { flex:1; background:#eef2ff; border-radius:8px 8px 4px 4px; overflow:hidden; display:block; height:100%; position:relative; }
.sv-bar i { position:absolute; left:0; right:0; bottom:0; background:linear-gradient(180deg,var(--sv1),var(--sv2)); border-radius:inherit;
  animation:svFill 2.6s ease-in-out infinite alternate; transform-origin:bottom; }
.sv-bar--1 i { height:55%; animation-delay:0s; }
.sv-bar--2 i { height:82%; animation-delay:.35s; }
.sv-bar--3 i { height:42%; animation-delay:.7s; }
@keyframes svFill { from{transform:scaleY(.5)} to{transform:scaleY(1)} }
.sv-check { position:absolute; width:30px; height:30px; border-radius:50%; background:var(--sv3); color:#fff; font-weight:900;
  display:flex; align-items:center; justify-content:center; font-size:14px; box-shadow:0 6px 16px rgba(34,197,94,.45);
  animation:svPop .95s ease-out infinite alternate; }
.sv-check--1 { right:-10px; top:8px; }
.sv-check--2 { left:-12px; bottom:16px; animation-delay:.45s; }
@keyframes svPop { from{transform:scale(.82) translateZ(0); opacity:.75} to{transform:scale(1.1) translateZ(20px); opacity:1} }
.sv-chip { position:absolute; font-size:12px; font-weight:700; padding:6px 11px; border-radius:999px; background:rgba(255,255,255,.92);
  border:1px solid #e0e7ff; box-shadow:0 6px 18px rgba(15,23,42,.1); color:#4338ca;
  animation:svFloat 4.2s ease-in-out infinite; pointer-events:none; z-index:0; backdrop-filter:blur(6px); }
.sv-chip--a { top:6%; right:2%; }
.sv-chip--b { bottom:16%; right:6%; animation-delay:1s; }
.sv-chip--c { top:38%; left:0; animation-delay:1.6s; }
.sv-chip--d { bottom:2%; left:18%; animation-delay:.5s; }
@keyframes svFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

/* Cover images + effects */
.sv-cover { position:relative; display:block; aspect-ratio:16/10; border-radius:14px 14px 0 0; overflow:hidden; background:#eef2ff; }
.sv-cover--sm { aspect-ratio:16/9; border-radius:12px 12px 0 0; }
.sv-cover__img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.02);
  filter:blur(8px); opacity:0; transition:filter .6s ease, opacity .6s ease, transform .5s ease; will-change:transform; }
.sv-cover.is-in .sv-cover__img, .sv-cover__img.is-ready { filter:blur(0); opacity:1; }
.sv-cover__fallback { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  background:linear-gradient(135deg,#818cf8 0%,#c084fc 50%,#6366f1 100%); }
.sv-cover__fallback--form { background:linear-gradient(135deg,#fbbf24,#f97316 60%,#ea580c); }
.sv-cover__fallback--lg { border-radius:18px; min-height:200px; position:relative; }
.sv-cover__emoji { font-size:2.2rem; filter:drop-shadow(0 4px 8px rgba(0,0,0,.15)); }
.sv-cover__bars { display:flex; align-items:flex-end; gap:6px; height:36px; }
.sv-cover__bars i { width:10px; background:rgba(255,255,255,.85); border-radius:3px; display:block; animation:svFill 2s ease-in-out infinite alternate; transform-origin:bottom; }
.sv-cover__bars i:nth-child(1){height:40%} .sv-cover__bars i:nth-child(2){height:75%;animation-delay:.25s} .sv-cover__bars i:nth-child(3){height:55%;animation-delay:.5s}
.sv-cover__sheen { position:absolute; inset:0; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);
  transform:translateX(-120%); pointer-events:none; }
.sv-cover__grad { position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(15,23,42,.35) 100%),
  linear-gradient(120deg,rgba(99,102,241,.15),rgba(168,85,247,.2)); opacity:.85; transition:opacity .35s, background .35s; pointer-events:none; mix-blend-mode:soft-light; }
.sv-card--tilt:hover .sv-cover__img, .sv-card--tilt:focus-visible .sv-cover__img { transform:scale(1.08); }
.sv-card--tilt:hover .sv-cover__sheen { animation:svSheen .85s ease forwards; }
.sv-card--tilt:hover .sv-cover__grad { opacity:1; background:linear-gradient(180deg,transparent 30%,rgba(15,23,42,.4)),
  linear-gradient(135deg,rgba(99,102,241,.35),rgba(236,72,153,.25)); }
@keyframes svSheen { to{transform:translateX(120%)} }
.sv-card.is-pulse .sv-cover__img { animation:svImgPulse .45s ease; }
@keyframes svImgPulse { 0%{transform:scale(1)} 40%{transform:scale(1.06)} 100%{transform:scale(1.02)} }

/* Detail cover Ken Burns */
.sv-detail-cover { position:relative; border-radius:20px; overflow:hidden; margin:0 0 18px; min-height:200px; max-height:320px;
  box-shadow:0 16px 40px -20px rgba(99,102,241,.4); background:#eef2ff; }
.sv-detail-cover__img { width:100%; height:100%; min-height:200px; max-height:320px; object-fit:cover; display:block;
  filter:blur(10px); opacity:0; transform:scale(1.08); transition:filter .7s, opacity .7s;
  animation:svKenBurns 18s ease-in-out infinite alternate; transform-origin:center; will-change:transform; }
.sv-detail-cover.is-in .sv-detail-cover__img { filter:blur(0); opacity:1; }
@keyframes svKenBurns { from{transform:scale(1.05) translate3d(0,0,0)} to{transform:scale(1.14) translate3d(-1.5%,-1%,0)} }
.sv-detail-cover__grad { position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(15,23,42,.25)); pointer-events:none; }

/* Cards */
.sv-sec { margin:36px 0; }
.sv-sec__head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.sv-sec__head h2, .sv-subh { font-size:1.25rem; font-weight:800; margin:0 0 10px; letter-spacing:-.02em; }
.sv-sec__sub { color:var(--sub); font-size:.9rem; }
.sv-sec__more { color:var(--sv1); font-weight:700; text-decoration:none; font-size:.92rem; }
.sv-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:16px; }
.sv-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
  border-radius:16px; text-decoration:none; color:inherit; overflow:hidden; box-sizing:border-box;
  transition:box-shadow .25s, transform .25s, border-color .25s;
  box-shadow:0 4px 16px -10px rgba(15,23,42,.12); transform-style:preserve-3d; }
.sv-card--tilt { --rx:0deg; --ry:0deg; transform:perspective(800px) rotateX(var(--rx)) rotateY(var(--ry)); }
.sv-card--tilt:hover, .sv-card--tilt.is-tilting {
  box-shadow:0 22px 44px -18px rgba(99,102,241,.45), 0 0 0 1px rgba(99,102,241,.25);
  border-color:transparent; }
.sv-card__body { display:flex; flex-direction:column; gap:6px; padding:14px 15px 16px; }
.sv-card__title { font-size:1.02rem; font-weight:800; line-height:1.35; }
.sv-card__q { color:var(--sub); font-size:.9rem; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sv-card__meta { color:#94a3b8; font-size:.82rem; font-weight:600; margin-top:auto; }
.sv-card--form { border-color:#fde68a; }
.sv-empty { text-align:center; padding:44px 20px; background:#fff; border:1px dashed #c7d2fe; border-radius:18px; }
.sv-empty__t { font-size:1.15rem; font-weight:800; margin:0 0 8px; }
.sv-empty__s { color:var(--sub); margin:0; }
.sv-thesis__box { background:linear-gradient(120deg,#fff7ed,#fef3c7); border:1px solid #fde68a; border-radius:18px; padding:22px 20px; margin-bottom:18px; }
.sv-thesis__box h2 { margin:0 0 10px; font-size:1.2rem; }
.sv-muted { color:var(--sub); font-size:.95rem; }

/* Ads — reserved height, clear label, no button-like styling */
.sv-ad { margin:28px 0; padding:14px 12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; text-align:center;
  min-height:140px; box-sizing:border-box; clear:both; }
.sv-ad--feed { margin:8px 0; grid-column:1 / -1; min-height:140px; }
.sv-ad--slot { min-height:160px; }
.sv-ad--below-q { margin:20px 0 0; min-height:140px; }
.sv-ad--result { margin:28px 0 8px; min-height:280px; }
.sv-ad__lbl { display:block; font-size:11px; color:#94a3b8; margin-bottom:8px; letter-spacing:.04em; font-weight:600; }
.sv-ad__ins { min-height:100px; }
/* Vote buttons ≥150px below question ad */
.sv-ad--below-q + .sv-vote, .sv-ad--below-q + #sv-vote-box { margin-top:160px !important; }
.sv-psych-grid { margin-top:8px; }
.sv-crumbs { font-size:.88rem; color:var(--sub); margin:8px 0 18px; }
.sv-crumbs a { color:var(--sv1); text-decoration:none; font-weight:600; }
.sv-poll__title { font-size:clamp(1.4rem,3vw,1.95rem); font-weight:900; margin:0 0 10px; letter-spacing:-.02em; }
.sv-poll__q { font-size:1.08rem; color:#334155; margin:0 0 8px; line-height:1.55; }

/* Vote + ripple + confetti */
.sv-vote__hint { color:var(--sub); font-size:.92rem; margin:0 0 12px; }
.sv-opts { display:flex; flex-direction:column; gap:10px; }
.sv-opt { appearance:none; border:2px solid #e0e7ff; background:#fff; border-radius:14px; padding:14px 16px;
  font:inherit; font-weight:700; text-align:left; cursor:pointer; position:relative; overflow:hidden;
  transition:border-color .15s, background .15s, transform .1s, box-shadow .2s; }
.sv-opt:hover, .sv-opt:focus-visible { border-color:var(--sv1); background:#eef2ff; outline:none; box-shadow:0 8px 20px -12px rgba(99,102,241,.5); }
.sv-opt:active { transform:scale(.985); }
.sv-opt.is-busy { opacity:.6; pointer-events:none; }
.sv-ripple { position:absolute; border-radius:50%; background:rgba(99,102,241,.28); transform:scale(0); animation:svRipple .55s ease-out forwards; pointer-events:none; }
@keyframes svRipple { to{transform:scale(4); opacity:0} }
.sv-confetti { position:fixed; inset:0; pointer-events:none; z-index:80; overflow:hidden; }
.sv-confetti i { position:absolute; width:8px; height:8px; border-radius:2px; opacity:.95; animation:svConf 900ms ease-out forwards; }
@keyframes svConf { to{transform:translateY(100vh) rotate(520deg); opacity:0} }

.sv-result__head { font-weight:700; margin:0 0 14px; }
.sv-bars { display:flex; flex-direction:column; gap:12px; }
.sv-rbar__top { display:flex; justify-content:space-between; gap:8px; font-weight:700; font-size:.95rem; margin-bottom:4px; }
.sv-rbar__track { height:14px; background:#eef2ff; border-radius:999px; overflow:hidden; }
.sv-rbar__track i { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--sv1),var(--sv2)); border-radius:inherit;
  transition:width .85s cubic-bezier(.22,1,.36,1); }
.sv-rbar.is-mine .sv-rbar__track i { background:linear-gradient(90deg,#22c55e,#16a34a); }
.sv-rbar__n { font-size:.8rem; color:var(--sub); margin-top:2px; }
.sv-share { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.sv-share__h { font-size:1rem; margin:0 0 10px; }
.sv-share__row { display:flex; flex-wrap:wrap; gap:8px; }
.sv-toast { min-height:1.2em; color:var(--sv1); font-weight:600; font-size:.9rem; }

.sv-form h1 { font-size:1.5rem; margin:0 0 10px; }
.sv-form__desc { color:var(--sub); white-space:pre-wrap; margin:0 0 18px; }
.sv-progress { height:8px; background:#eef2ff; border-radius:999px; overflow:hidden; }
.sv-progress__bar { height:100%; background:linear-gradient(90deg,var(--sv1),var(--sv2)); width:0; transition:width .25s; }
.sv-progress__lbl { font-size:.85rem; color:var(--sub); margin:6px 0 16px; }
.sv-q { border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin:0 0 14px; background:#fff; }
.sv-q legend { font-weight:800; padding:0 4px; margin-bottom:8px; }
.sv-req { color:#e11d48; font-size:.8rem; font-weight:700; }
.sv-choice { display:flex; align-items:flex-start; gap:8px; padding:8px 4px; cursor:pointer; }
.sv-likert { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.sv-likert__n { display:flex; flex-direction:column; align-items:center; gap:4px; font-weight:700; cursor:pointer; }
.sv-likert__n input { accent-color:var(--sv1); }
.sv-likert__l, .sv-likert__h { font-size:.8rem; color:var(--sub); }
.sv-form textarea { width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:10px; padding:10px; font:inherit; }
.sv-consent { display:flex; gap:8px; align-items:flex-start; margin:16px 0; font-size:.92rem; color:#334155; }
.sv-submit { margin-top:8px; }
.sv-thanks { text-align:center; padding:40px 16px; background:#fff; border-radius:18px; border:1px solid var(--line); margin-bottom:20px; }
.sv-thanks h1 { margin:8px 0 12px; }
.sv-thesis-soft { background:#fffbeb; border-radius:16px; padding:18px; border:1px solid #fde68a; }

/* Admin */
.sv-admin { margin:0; background:var(--bg); min-height:100vh; }
.sva-top { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 20px; background:#fff; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.sva-top nav { display:flex; gap:12px; flex-wrap:wrap; }
.sva-top a { color:var(--sv1); font-weight:600; text-decoration:none; font-size:.92rem; }
.sva-main { max-width:980px; margin:0 auto; padding:20px 16px 48px; }
.sva-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; margin-bottom:18px; }
.sva-card__hd { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.sva-card__hd h1 { font-size:1.15rem; margin:0; }
.sva-btn { display:inline-flex; align-items:center; background:var(--sv1); color:#fff; border:none; border-radius:10px;
  padding:8px 14px; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
.sva-btn--ghost { background:#eef2ff; color:#4338ca; }
.sva-table { width:100%; border-collapse:collapse; font-size:.92rem; }
.sva-table th, .sva-table td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
.sva-muted { color:var(--sub); font-size:.82rem; }
.sva-st { font-size:.75rem; font-weight:800; padding:2px 8px; border-radius:999px; background:#e2e8f0; }
.sva-st--published { background:#dcfce7; color:#166534; }
.sva-st--draft { background:#f1f5f9; color:#475569; }
.sva-st--closed { background:#fee2e2; color:#991b1b; }
.sva-acts { display:flex; flex-wrap:wrap; gap:6px; }
.sva-acts a, .sva-acts button { font-size:.8rem; background:none; border:1px solid var(--line); border-radius:8px; padding:4px 8px; cursor:pointer; color:var(--ink); text-decoration:none; }
.sva-acts .is-danger { color:#b91c1c; border-color:#fecaca; }
.sva-form label { display:flex; flex-direction:column; gap:6px; font-weight:700; font-size:.9rem; margin-bottom:12px; }
.sva-form input, .sva-form textarea, .sva-form select { font:inherit; font-weight:500; padding:10px 12px; border:1px solid var(--line); border-radius:10px; }
.sva-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sva-upload { display:flex; flex-direction:column; gap:8px; }
.sva-img-prev img { max-width:240px; border-radius:10px; border:1px solid var(--line); }
.sva-qblock { border:1px dashed #c7d2fe; border-radius:12px; padding:12px; margin-bottom:10px; background:#f8fafc; }
.sva-qblock__top { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:8px; }
.sva-msg { color:var(--sv1); font-weight:600; min-height:1.2em; }
.sva-texts { margin:0; padding-left:18px; }
.sva-bars { margin-top:16px; }

@media (max-width:720px) {
  .sv-hero { grid-template-columns:1fr; padding:22px 18px; }
  .sv-hero__fx { min-height:130px; }
  .sv-chip { display:none; }
  .sv-grid { grid-template-columns:1fr; }
  .sv-card--tilt { transform:none !important; }
  .sv-ad--below-q + .sv-vote, .sv-ad--below-q + #sv-vote-box { margin-top:120px !important; }
  .sv-detail-cover__img { animation-duration:24s; }
}
@media (max-width:640px){ .sva-row{ grid-template-columns:1fr; } }

@media (prefers-reduced-motion: reduce) {
  .sv-bar i, .sv-check, .sv-chip, .sv-hero--premium::before, .sv-cover__bars i,
  .sv-detail-cover__img, .sv-rbar__track i, .sv-cover__sheen, .sv-card.is-pulse .sv-cover__img { animation:none !important; }
  .sv-cover__img, .sv-detail-cover__img { transition:none; filter:none; opacity:1; transform:none; }
  .sv-card--tilt { transform:none !important; }
  .sv-ripple, .sv-confetti { display:none !important; }
}

.sv-detail-cover.is-pulse .sv-detail-cover__img { animation: svImgPulse .45s ease, svKenBurns 18s ease-in-out infinite alternate; }



/* Big 심리 UP promo (cd-pp style, large cards) */
.sv-sec--pp { margin-top: 160px; } /* ≥150px below preceding ad */
.sv-visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sv-pp { margin: 0; max-width: 100%; box-sizing: border-box; }
.sv-pp__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 14px; }
.sv-pp__card { display: flex; gap: 12px; align-items: stretch; padding: 12px; border-radius: 16px; background: #fff;
  border: 1px solid var(--pp-line, #e8ecf4); text-decoration: none; color: inherit;
  transition: transform .22s ease, box-shadow .22s ease; min-width: 0; box-sizing: border-box; }
.sv-pp__card:hover, .sv-pp__card:focus-visible {
  transform: translateY(-3px); box-shadow: 0 14px 28px -14px rgba(79,107,237,.35); outline: none; }
.sv-pp__thumb { flex: 0 0 88px; width: 88px; height: 88px; border-radius: 14px; overflow: hidden;
  background: linear-gradient(135deg, #4F46E5, #7C3AED); display: grid; place-items: center; }
.sv-pp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sv-pp__emoji { font-size: 2rem; line-height: 1; }
.sv-pp__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.sv-pp__title { margin: 0; font-size: .98rem; font-weight: 800; line-height: 1.35; letter-spacing: -.02em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sv-pp__desc { font-size: .82rem; color: #64748b; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sv-pp__meta { margin-top: auto; font-size: .78rem; font-weight: 700; color: #64748b; display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.sv-pp__dot { opacity: .5; }
@media (max-width: 640px) {
  .sv-sec--pp { margin-top: 140px; }
  .sv-pp__grid { grid-template-columns: 1fr; }
  .sv-pp__card { width: 100%; }
  .sv-pp__thumb { flex-basis: 76px; width: 76px; height: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .sv-pp__card { transition: none; }
  .sv-pp__card:hover { transform: none; }
}


/* Poll stats line */
.sv-poll__stats { margin: 6px 0 0; font-size: .88rem; font-weight: 700; color: #64748b; }

/* Brand intro after vote */
.sv-brand {
  margin: 22px 0 8px; padding: 18px 18px 16px; border-radius: 16px;
  background: linear-gradient(135deg, #eef2ff 0%, #f5f3ff 55%, #fff 100%);
  border: 1px solid #e0e7ff; text-align: center;
}
.sv-brand__lead { margin: 0 0 6px; font-size: 1.02rem; font-weight: 800; letter-spacing: -.02em; color: #1e1b4b; }
.sv-brand__sub { margin: 0 0 14px; font-size: .9rem; color: #475569; line-height: 1.45; }
.sv-brand__acts { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }

/* Comments */
.sv-comments { margin: 28px 0 8px; padding: 18px 16px 14px; border-radius: 18px; background: #fff; border: 1px solid var(--line, #e8ecf4); }
.sv-comments__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.sv-comments__head h2 { margin: 0; font-size: 1.1rem; font-weight: 800; letter-spacing: -.02em; }
.sv-comments__head h2 span { color: #6366f1; }
.sv-comments__tog { font-size: .82rem; font-weight: 700; color: #64748b; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.sv-comments__tools { margin-bottom: 10px; }
.sv-comments__sort { display: inline-flex; gap: 4px; padding: 3px; border-radius: 999px; background: #f1f5f9; }
.sv-comments__sort button {
  border: 0; background: transparent; font: inherit; font-size: .82rem; font-weight: 700;
  padding: 6px 12px; border-radius: 999px; color: #64748b; cursor: pointer;
}
.sv-comments__sort button.is-on { background: #fff; color: #4338ca; box-shadow: 0 1px 3px rgba(15,23,42,.08); }
.sv-comments__form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.sv-comments__form textarea {
  width: 100%; box-sizing: border-box; resize: vertical; min-height: 72px; max-height: 180px;
  font: inherit; padding: 12px 14px; border-radius: 12px; border: 1px solid #dbe3f0; background: #f8fafc;
}
.sv-comments__form textarea:focus { outline: 2px solid #c7d2fe; border-color: #a5b4fc; background: #fff; }
.sv-comments__form .hub-btn { align-self: flex-end; }
.sv-comments__closed { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: #f8fafc; color: #64748b; font-size: .9rem; font-weight: 600; }
.sv-comments__list { display: flex; flex-direction: column; gap: 12px; }
.sv-citem { padding: 12px 12px 10px; border-radius: 14px; background: #f8fafc; border: 1px solid #eef2f7; }
.sv-citem.is-pin { border-color: #c7d2fe; background: linear-gradient(180deg, #eef2ff, #f8fafc); }
.sv-citem__meta { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-bottom: 6px; font-size: .78rem; color: #64748b; font-weight: 700; }
.sv-citem__name { color: #0f172a; font-weight: 800; }
.sv-citem__pin { color: #4f46e5; }
.sv-citem__body { margin: 0; white-space: pre-wrap; word-break: break-word; font-size: .94rem; line-height: 1.5; color: #1e293b; }
.sv-citem__acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.sv-citem__acts button, .sv-citem__acts .sv-clink {
  border: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 999px;
  font: inherit; font-size: .76rem; font-weight: 700; padding: 5px 10px; color: #475569; cursor: pointer;
}
.sv-citem__acts button.is-on { background: #eef2ff; border-color: #c7d2fe; color: #4338ca; }
.sv-citem__acts button.is-bad { color: #b91c1c; }
.sv-citem__replies { margin: 10px 0 0 12px; padding-left: 10px; border-left: 2px solid #e2e8f0; display: flex; flex-direction: column; gap: 8px; }
.sv-creply-form { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.sv-creply-form textarea { font: inherit; padding: 8px 10px; border-radius: 10px; border: 1px solid #dbe3f0; min-height: 56px; resize: vertical; }
.sv-comments__empty { margin: 8px 0; color: #94a3b8; font-size: .9rem; font-weight: 600; text-align: center; }

/* Guest gate */
.sv-comments__gate { position: relative; min-height: 140px; border-radius: 14px; overflow: hidden; }
.sv-comments__blur { filter: blur(5px); opacity: .55; pointer-events: none; user-select: none; padding: 8px; }
.sv-cfake { background: #f1f5f9; border-radius: 12px; padding: 10px 12px; margin-bottom: 8px; }
.sv-cfake b { font-size: .85rem; }
.sv-cfake p { margin: 4px 0 0; font-size: .9rem; color: #64748b; }
.sv-comments__cta {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; padding: 16px; background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.92));
  text-align: center;
}
.sv-comments__cta p { margin: 0 0 4px; font-weight: 700; color: #334155; }
.sv-comments__cta .hub-btn { min-width: 120px; }

@media (max-width: 640px) {
  .sv-comments { padding: 14px 12px; }
  .sv-brand__acts .hub-btn { flex: 1 1 120px; }
}
