/* 3단계-a 홈 v3 — 배경 #0d1117 · 카드 #111827 · 파랑 #1b6ef3. 기존 tokens.css·user.css(격자·모달·토스트) 위에 덮는다. */
body.v3{display:block;padding:0;background:#0d1117;min-height:100vh}
.v3top{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid #1c2333;background:#0a0d13;position:sticky;top:0;z-index:20;flex-wrap:wrap}
.v3top .brand{font-weight:800;letter-spacing:.06em;font-size:20px;white-space:nowrap}
.v3top .lg1{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.55),0 0 2px rgba(255,255,255,.9)}
.v3top .lg2{background:linear-gradient(90deg,#4d9bff,#1b6ef3);-webkit-background-clip:text;background-clip:text;color:transparent}
.v3top .slogan{color:#8b949e;font-size:13px}
.v3top .sp{flex:1}
.v3top .ptag{font-size:12px;color:#4d9bff;border:1px solid #1b6ef3;border-radius:999px;padding:4px 10px;white-space:nowrap}
.v3top select{background:#111827;color:#e6edf3;border:1px solid #2d333b;border-radius:8px;padding:6px 8px}
.v3main{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;max-width:1320px;margin:0 auto;padding:28px 24px 60px}
.v3left{min-width:0}
.v3eyebrow{color:#8b949e;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.v3h{font-size:30px;line-height:1.2;margin:6px 0 20px;color:#e6edf3}
.v3h .blue{color:#1b6ef3;display:block}
.v3card{background:#111827;border:1px solid #1c2333;border-radius:14px;padding:18px;margin-bottom:16px}
.v3card h3{font-size:15px;margin-bottom:10px}
.v3steps{list-style:none;display:grid;gap:10px;margin-top:12px}
.v3steps li{display:flex;gap:10px;align-items:center;font-size:14px}
.v3steps .n{width:26px;height:26px;border-radius:50%;background:#1b6ef3;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
.v3search{width:100%;background:#0d1117;border:1px solid #2d333b;border-radius:12px;padding:14px 16px;color:#e6edf3;font-size:15px}
.v3search:focus{outline:none;border-color:#1b6ef3}
.v3res{margin-top:8px;display:grid;gap:4px}
.v3res a{display:block;padding:10px 12px;border-radius:8px;background:#0d1117;color:#e6edf3;text-decoration:none;font-size:14px}
.v3res a:hover{background:#16203a}
.v3chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v3chip{border:1px solid #2d333b;border-radius:999px;padding:6px 12px;font-size:13px;color:#e6edf3;text-decoration:none;background:#0d1117;cursor:pointer}
.v3chip.on{border-color:#1b6ef3;color:#4d9bff}
.v3board{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.v3board .row2{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #1c2333;font-size:13px;cursor:pointer}
.v3board .row2:last-child{border-bottom:0}
.v3pos{color:#00d4aa}.v3neg{color:#f85149}
.v3note{color:#8b949e;font-size:12px;margin-top:10px;white-space:pre-line}
.v3gridhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.v3stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.v3stats .l{color:#8b949e;font-size:12px}.v3stats .v{font-size:18px;font-weight:700;margin-top:2px}
.v3btn{display:block;width:100%;text-align:center;background:#1b6ef3;color:#fff;border:0;border-radius:10px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}
.v3btn.ghost{background:transparent;border:1px solid #2d333b;color:#e6edf3;font-weight:500;margin-top:10px}
.v3two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}
/* PAGE 3 차트 mock + 확장 패널 */
.v3chart{position:relative;background:#131722;border:1px solid #2a2e39;border-radius:12px;overflow:hidden}
.v3chart canvas{display:block;width:100%;height:320px}
.v3chart .tvbar{display:flex;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid #2a2e39;color:#d1d4dc;font-size:12px}
.v3panel{position:absolute;top:44px;right:12px;width:260px;background:#111827;border:1px solid #1b6ef3;border-radius:12px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:13px}
.v3panel .big{font-size:24px;font-weight:800;margin:4px 0}
/* 오른쪽 아이폰(텔레그램) */
.v3phone{position:sticky;top:84px;width:400px;height:760px;border-radius:48px;border:10px solid #1f2430;background:#0e1621;box-shadow:0 20px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;overflow:hidden}
.v3phone .tghead{display:flex;align-items:center;gap:10px;padding:18px 16px 10px;background:#17212b;border-bottom:1px solid #0b1118}
.v3phone .ava{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4d9bff,#1b6ef3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.v3phone .tgname{font-weight:700;font-size:15px}.v3phone .tgsub{color:#6c7883;font-size:12px}
.v3phone .chat{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.v3phone .chat>:first-child{margin-top:auto}
.v3msg{max-width:84%;padding:8px 11px;border-radius:14px;font-size:13px;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.v3msg.bot{background:#182533;color:#e6edf3;align-self:flex-start;border-bottom-left-radius:4px}
.v3msg.me{background:#2b5278;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.v3msg img{display:block;width:100%;border-radius:8px;margin-bottom:6px}
.v3msg a{color:#6ab3f3}
.v3kb{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;background:#17212b}
.v3kb span{background:#2b5278;color:#fff;border-radius:8px;padding:9px 4px;text-align:center;font-size:13px}
@media(max-width:1100px){.v3main{grid-template-columns:minmax(0,1fr) 360px}.v3phone{width:360px}}
@media(max-width:768px){
  .v3main{grid-template-columns:1fr;padding:16px}
  .v3phone,.v3pc,.v3top .slogan{display:none!important}
  .v3top{padding:10px 16px;gap:8px}
  .v3h{font-size:24px}
  .v3two,.v3board{grid-template-columns:1fr}
  .v3stats{grid-template-columns:repeat(2,1fr)}
  .v3panel{position:static;width:auto;margin:10px}
}
/* 메인 교체(2026-09-27): 상단바 계정 · 푸터 */
.v3top .acct{color:#8b949e;font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v3foot{max-width:1320px;margin:0 auto;padding:18px 24px 40px;border-top:1px solid #1c2333;color:#8b949e;font-size:12px}
.v3foot a{color:#8b949e}
@media(max-width:768px){.v3top .acct{display:none}.v3foot{padding:16px}}
/* 디버깅 2차(2026-09-28) ─────────────────────────────────────────────
   1) 격자: 좁은 칸(PC 약 460px)에 7열을 스크롤 없이. 예전엔 gridbox 가 가운데 정렬로 넘쳐
      y축 값 열이 왼쪽 밖으로 잘렸다. 칸을 1fr 로 나누고 높이·글자를 줄인다(폰 ≤700px 은 user.css 규칙 그대로) */
.v3 #gridWrap{overflow:visible!important}
@media(min-width:701px){
  .v3 #gridWrap .gridbox{grid-template-columns:44px minmax(0,1fr);justify-content:stretch;width:100%;gap:4px 6px}
  .v3 #gridWrap .hm{grid-template-columns:repeat(var(--nx),minmax(0,1fr))!important;gap:4px}
  .v3 #gridWrap .axy{gap:4px!important;grid-template-rows:repeat(var(--ny),50px)!important;font-size:12px}
  .v3 #gridWrap .cell{height:50px;font-size:12px;letter-spacing:-.4px}
  .v3 #gridWrap .ax{font-size:12px}
  .v3 #gridWrap .ytitle{text-align:left;font-size:12px}
}
/* 3) P3 mock: 패널을 차트 위에 띄우지 않고 차트 박스 오른쪽 칸에 넣는다(캔들·선과 안 겹침). 높이는 둘 중 큰 쪽 */
@media(min-width:769px){
  .v3chart{display:grid;grid-template-columns:minmax(0,1fr) 270px;grid-template-rows:auto 1fr}
  .v3chart .tvbar{grid-column:1 / -1}
  .v3chart canvas{grid-column:1;grid-row:2;height:100%;min-height:320px}
  .v3panel{position:static;grid-column:2;grid-row:2;width:auto;margin:10px 10px 10px 0;box-shadow:none;align-self:start;overflow-wrap:anywhere}
}
/* 7) 아이폰 대화: 스크롤은 그대로, 스크롤바만 숨김 */
.v3phone .chat{scrollbar-width:none}
.v3phone .chat::-webkit-scrollbar{display:none}
/* v3 서비스 오픈(2026-09-28): 아이폰 = 실제 텔레그램 대화. 하단 "Open in Telegram" */
.v3phone .v3open{display:block;text-align:center;padding:12px;background:#17212b;color:#6ab3f3;text-decoration:none;font-weight:600;font-size:14px;border-top:1px solid #0b1118}
