/* 공용 core.css 에 [hidden] 보강이 없어 .btn·.form-done 의 display 가 hidden 을 이김 → 여기서 보장 */
[hidden] { display: none !important; }

/* ATLAS AI 자동매매 — 미드나이트 네이비 + 은박 · 신호색(상승 빨강 / 하락 파랑) · 대외비 가림 */
.world-trade {
  --tr-up: #ff5f5f; --tr-dn: #4f8fff; --tr-ice: #9fc3ff; --tr-stamp: #e35a50; --tr-ink: #03060c;
  --tr-band: #0d1628; --tr-panel: rgba(17, 29, 54, .72);
}
.world-trade .topline__static span { color: var(--silver-2); }
.world-trade .sec { padding-block: clamp(72px, 8.4vw, 124px); }
.tr-top-short { display: none; }
@media (max-width: 860px) { .tr-top-long { display: none; } .tr-top-short { display: inline; } .world-trade .topline__static { font-size: 11.5px; gap: 10px; } }
/* 은박 헤드라인 — 밝은 쪽으로 당긴 은박 */
.tr-foil { background-image: linear-gradient(110deg, #c9d0db 0%, #ffffff 24%, #e1e6ee 44%, #b9c2d0 62%, #ffffff 80%, #c9d0db 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: foilShift 8s ease-in-out infinite alternate; }

/* ---------- 히어로 ---------- */
.tr-hero { position: relative; overflow: hidden; isolation: isolate; padding-bottom: clamp(56px, 7vw, 100px); background: radial-gradient(110% 70% at 78% 0%, #15254a 0%, rgba(11, 18, 32, 0) 62%), var(--midnight); }
.tr-hero .fx-layer { z-index: -1; }
.tr-hero__in { position: relative; z-index: 1; padding-top: clamp(36px, 5.4vw, 80px); display: grid; gap: clamp(22px, 3vw, 34px); }
.tr-hero__brand { display: flex; align-items: center; gap: 16px; }
.tr-hero__brand .logo { height: 26px; width: auto; }
.tr-hero__brandnote { font: 600 11px/1 var(--f-mono); letter-spacing: .22em; color: var(--silver-2); padding-left: 16px; border-left: 1px solid var(--line-2); }
.tr-h1 { display: grid; gap: .08em; font: 900 clamp(36px, 6.3vw, 94px)/1.06 var(--f-body); letter-spacing: -.045em; color: var(--silver); }
.tr-h1__l1 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .22em; }
.tr-x { font: 200 .92em/1 var(--f-mark); color: var(--tr-ice); text-shadow: 0 0 28px rgba(159, 195, 255, .55); letter-spacing: 0; }
.tr-h1__l2 { display: flex; flex-wrap: wrap; align-items: center; gap: .14em .3em; }
.tr-kc { display: inline-flex; align-items: center; padding: .55em .9em; font: 700 clamp(12px, 1.15vw, 16px)/1 var(--f-body); letter-spacing: .02em; color: var(--silver); border: 1px solid rgba(238, 241, 245, .3); border-radius: 4px; background: linear-gradient(180deg, rgba(238, 241, 245, .1), rgba(238, 241, 245, .02)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14); white-space: nowrap; transform: translateY(-.08em); }
.tr-h1__big { white-space: normal; }
.tr-hero__row { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(28px, 4vw, 64px); align-items: start; margin-top: clamp(4px, 1vw, 12px); }
.tr-hero__copy { display: grid; gap: 20px; align-content: start; padding-top: clamp(0px, 1.4vw, 18px); }
.tr-hero__sub { font: 700 clamp(18px, 1.7vw, 23px)/1.55 var(--f-body); letter-spacing: -.02em; color: var(--silver); }
.tr-hero__lead { font-size: clamp(15px, 1.15vw, 17px); line-height: 1.8; color: var(--fg-2); max-width: 34em; }
.tr-hero__note { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.6; color: var(--silver-2); }
.tr-hero__note .ico { width: 17px; height: 17px; margin-top: 2px; color: var(--tr-ice); flex: none; }
.tr-hero__note b { color: var(--silver); font-weight: 600; }
@media (max-width: 960px) { .tr-hero__row { grid-template-columns: minmax(0, 1fr); align-items: stretch; } }

/* 판단 시뮬레이션 패널 */
.term { position: relative; margin: 0; border-radius: 16px; overflow: hidden; background: linear-gradient(180deg, rgba(22, 37, 68, .86), rgba(9, 15, 28, .94)); border: 1px solid rgba(238, 241, 245, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 40px 80px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(0, 0, 0, .3); }
.term::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 50% at 80% 0%, rgba(159, 195, 255, .12), transparent 70%); }
.term__bar { position: relative; display: flex; align-items: center; gap: 12px; height: 42px; padding: 0 14px; border-bottom: 1px solid rgba(238, 241, 245, .07); }
.term__dots { display: inline-flex; gap: 6px; }
.term__dots i { width: 8px; height: 8px; border-radius: 50%; background: rgba(238, 241, 245, .18); }
.term__title { font-size: 11.5px; letter-spacing: .08em; color: var(--silver-2); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.term__body { position: relative; height: clamp(250px, 25vw, 330px); }
.term__cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.term__score { position: absolute; left: 14px; top: 14px; display: grid; grid-template-columns: auto auto; align-items: end; column-gap: 6px; padding: 10px 14px 10px 12px; border-radius: 10px; background: rgba(8, 14, 26, .78); border: 1px solid rgba(238, 241, 245, .1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.term__k { grid-column: 1 / -1; font-size: 9.5px; letter-spacing: .2em; color: var(--silver-2); margin-bottom: 4px; }
.term__gauge { grid-column: 1 / -1; width: 96px; height: auto; margin-bottom: -18px; }
.term__gauge path { fill: none; stroke-width: 8; stroke-linecap: round; }
.g-track { stroke: rgba(238, 241, 245, .1); }
.g-val { stroke: var(--tr-ice); transition: stroke-dashoffset .9s var(--ease), stroke .4s; filter: drop-shadow(0 0 6px rgba(159, 195, 255, .6)); }
.term[data-st="long"] .g-val { stroke: var(--tr-up); filter: drop-shadow(0 0 6px rgba(255, 95, 95, .55)); }
.term[data-st="short"] .g-val { stroke: var(--tr-dn); filter: drop-shadow(0 0 6px rgba(79, 143, 255, .6)); }
.term__n { font-size: 26px; font-weight: 700; color: var(--silver); line-height: 1; }
.term__score small { font-size: 10px; color: var(--silver-2); padding-bottom: 3px; }
.term__state { position: absolute; right: 14px; top: 14px; display: flex; align-items: center; gap: 10px; height: 34px; padding: 0 14px 0 12px; border-radius: 999px; background: rgba(8, 14, 26, .78); border: 1px solid rgba(238, 241, 245, .12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.term__state span { font-size: 9.5px; letter-spacing: .18em; color: var(--silver-2); }
.term__state b { font-size: 13.5px; color: var(--silver); display: inline-flex; align-items: center; gap: 8px; }
.term__state b::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--silver-2); box-shadow: 0 0 0 4px rgba(174, 182, 196, .16); transition: background .3s, box-shadow .3s; }
.term[data-st="long"] .term__state b::before { background: var(--tr-up); box-shadow: 0 0 0 4px rgba(255, 95, 95, .2), 0 0 12px var(--tr-up); }
.term[data-st="short"] .term__state b::before { background: var(--tr-dn); box-shadow: 0 0 0 4px rgba(79, 143, 255, .22), 0 0 12px var(--tr-dn); }
.term__steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid rgba(238, 241, 245, .07); }
.term__steps li { position: relative; padding: 11px 6px; text-align: center; font-size: 10.5px; letter-spacing: .04em; color: rgba(174, 182, 196, .7); transition: color .3s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.term__steps li + li { border-left: 1px solid rgba(238, 241, 245, .06); }
.term__steps li::after { content: ""; position: absolute; left: 18%; right: 18%; top: -1px; height: 2px; background: var(--tr-ice); transform: scaleX(0); transition: transform .45s var(--ease); box-shadow: 0 0 10px var(--tr-ice); }
.term__steps li.is-on { color: var(--silver); }
.term__steps li.is-on::after { transform: scaleX(1); }
@media (max-width: 520px) { .term__gauge { width: 76px; margin-bottom: -14px; } .term__n { font-size: 21px; } .term__steps li { font-size: 9.5px; padding: 10px 2px; } .term__state { height: 30px; padding: 0 10px; } .term__state span { display: none; } }

/* 지표 띠 */
.tr-ticker { position: relative; z-index: 2; background: #090f1c; border-block: 1px solid rgba(238, 241, 245, .07); }
.tr-ticker__set { display: flex; align-items: center; height: 54px; }
.tr-ticker__set span { display: inline-flex; align-items: center; gap: 22px; padding-left: 22px; font: 500 12.5px/1 var(--f-mono); letter-spacing: .06em; color: var(--silver-2); white-space: nowrap; }
.tr-ticker__set span::after { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--tr-ice); opacity: .6; }

/* ---------- 문제 ---------- */
.tr-problem { background: linear-gradient(180deg, var(--midnight), #0a1120); }
.tr-problem__in { align-items: center; }
.tr-causes { display: grid; gap: 20px; }
.tr-causes li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: start; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.tr-causes li:last-child { border-bottom: 0; padding-bottom: 0; }
.tr-causes__i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; border: 1px solid var(--line-2); color: var(--tr-ice); background: rgba(159, 195, 255, .06); }
.tr-causes__i .ico { width: 22px; height: 22px; }
.tr-causes b { display: block; font-size: 17.5px; letter-spacing: -.02em; color: var(--silver); margin-bottom: 4px; }
.tr-causes p { font-size: 15px; line-height: 1.7; color: var(--fg-2); }
.liq { margin: 0; border-radius: 16px; overflow: hidden; background: linear-gradient(180deg, rgba(20, 33, 60, .8), rgba(9, 15, 28, .95)); border: 1px solid rgba(238, 241, 245, .09); box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .7); }
.liq__bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; height: 42px; padding: 0 16px; border-bottom: 1px solid rgba(238, 241, 245, .07); font-size: 11px; letter-spacing: .1em; color: var(--silver-2); }
.liq__stage { position: relative; height: clamp(260px, 24vw, 320px); }
.liq__cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.liq__stage.is-hit { animation: liqShake .42s var(--ease); }
.liq__stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(70% 60% at 60% 60%, rgba(227, 90, 80, .32), transparent 70%); opacity: 0; transition: opacity .25s; }
.liq__stage.is-hit::after { opacity: 1; }
.liq__stamp { position: absolute; left: 50%; top: 46%; white-space: nowrap; padding: 10px 18px 8px; border: 3px solid var(--tr-stamp); border-radius: 6px; color: var(--tr-stamp); font-size: clamp(20px, 2.4vw, 30px); font-weight: 700; letter-spacing: .18em; transform: translate(-50%, -50%) rotate(-12deg) scale(1.6); opacity: 0; transition: opacity .18s, transform .32s cubic-bezier(.3, 1.6, .5, 1); text-shadow: 0 0 18px rgba(227, 90, 80, .35); -webkit-mask-image: var(--grain); mask-image: var(--grain); -webkit-mask-size: 220px; mask-size: 220px; background: rgba(227, 90, 80, .06); }
.liq__stamp.is-on { opacity: .95; transform: translate(-50%, -50%) rotate(-12deg) scale(1); }
.liq__cap { display: flex; gap: 12px; align-items: center; padding: 14px 16px; border-top: 1px solid rgba(238, 241, 245, .07); font-size: 14px; line-height: 1.55; color: var(--fg-2); min-height: 64px; }
.liq__cap-k { flex: none; font-size: 10.5px; letter-spacing: .14em; padding: 6px 9px; border-radius: 4px; border: 1px solid var(--line-2); color: var(--silver-2); transition: color .3s, border-color .3s, background .3s; }
.liq[data-st="news"] .liq__cap-k { color: #ffd27a; border-color: rgba(255, 210, 122, .5); }
.liq[data-st="liq"] .liq__cap-k { color: var(--tr-stamp); border-color: rgba(227, 90, 80, .6); background: rgba(227, 90, 80, .1); }
@keyframes liqShake { 0%, 100% { transform: none; } 20% { transform: translate(-5px, 2px); } 40% { transform: translate(4px, -2px); } 60% { transform: translate(-3px, 1px); } 80% { transform: translate(2px, 0); } }

/* 인용 */
.tr-quote { position: relative; padding-block: clamp(64px, 9vw, 128px); background: linear-gradient(180deg, #0a1120, #0c1527 50%, #0a1120); border-block: 1px solid rgba(238, 241, 245, .06); overflow: hidden; }
.tr-quote::before { content: "“"; position: absolute; left: 50%; top: -0.12em; translate: -50% 0; font: 700 clamp(180px, 24vw, 340px)/1 var(--f-serif); color: rgba(238, 241, 245, .035); pointer-events: none; }
.tr-quote__q { margin: 0; text-align: center; }
.tr-quote__q p { font: 600 clamp(28px, 4.3vw, 58px)/1.36 var(--f-serif); letter-spacing: -.03em; color: var(--silver); word-break: keep-all; }

/* ---------- 해결: 개발자 × 트레이더 ---------- */
.tr-solution { background: radial-gradient(70% 50% at 50% 38%, rgba(79, 143, 255, .08), transparent 70%), var(--midnight); }
.tr-em { font-style: normal; background-image: linear-gradient(110deg, #9fc3ff 0%, #eef1f5 30%, #b9d3ff 52%, #7fa9ff 72%, #eef1f5 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: foilShift 7s ease-in-out infinite alternate; }
.merge { position: relative; height: clamp(250px, 26vw, 330px); max-width: 860px; margin: 0 auto clamp(32px, 5vw, 56px); }
.merge__orb { --x: 0px; position: absolute; top: 50%; width: clamp(150px, 17vw, 210px); aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; justify-items: center; gap: 4px; text-align: center; transform: translate(var(--x), -50%); transition: transform 1.4s cubic-bezier(.6, .05, .2, 1), opacity 1s var(--ease) .5s, filter 1s; }
.merge__orb--dev { left: 4%; background: radial-gradient(circle at 35% 30%, rgba(79, 143, 255, .36), rgba(79, 143, 255, .08) 62%, transparent 72%); border: 1px solid rgba(79, 143, 255, .5); box-shadow: 0 0 60px -10px rgba(79, 143, 255, .5), inset 0 0 40px rgba(79, 143, 255, .15); }
.merge__orb--trd { right: 4%; background: radial-gradient(circle at 35% 30%, rgba(238, 241, 245, .28), rgba(238, 241, 245, .06) 62%, transparent 72%); border: 1px solid rgba(238, 241, 245, .45); box-shadow: 0 0 60px -10px rgba(238, 241, 245, .35), inset 0 0 40px rgba(238, 241, 245, .1); }
.merge__ic { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: rgba(8, 14, 26, .6); color: var(--silver); margin-bottom: 4px; }
.merge__ic .ico { width: 22px; height: 22px; }
.merge__orb b { font: 700 12.5px/1 var(--f-mono); letter-spacing: .2em; color: var(--silver); }
.merge__orb small { font-size: 12.5px; color: var(--silver-2); }
.merge__gap { position: absolute; left: 50%; top: 50%; width: 26%; translate: -50% -50%; border-top: 1.5px dashed rgba(174, 182, 196, .5); display: grid; place-items: center; transition: opacity .6s var(--ease); }
.merge__gap span { translate: 0 -150%; font-size: 11px; letter-spacing: .2em; color: var(--silver-2); background: var(--midnight); padding: 0 10px; }
.merge__core { position: absolute; left: 50%; top: 50%; width: clamp(170px, 19vw, 230px); aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; justify-items: center; gap: 10px; transform: translate(-50%, -50%) scale(.6); opacity: 0; transition: opacity .9s var(--ease) 1.1s, transform 1s cubic-bezier(.3, 1.4, .5, 1) 1.1s; background: radial-gradient(circle at 50% 40%, rgba(159, 195, 255, .3), rgba(15, 27, 51, .9) 65%); border: 1px solid rgba(238, 241, 245, .4); box-shadow: 0 0 0 10px rgba(159, 195, 255, .06), 0 0 90px -6px rgba(159, 195, 255, .55); }
.merge__core .atlas-symbol { width: 54px; height: 54px; }
.merge__core b { font-size: 13px; letter-spacing: .26em; color: var(--silver); }
.merge__core::before, .merge__core::after { content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 1px solid rgba(159, 195, 255, .35); animation: corePulse 3.2s var(--ease) infinite; opacity: 0; }
.merge__core::after { animation-delay: 1.6s; }
@keyframes corePulse { 0% { transform: scale(.9); opacity: .7; } 100% { transform: scale(1.35); opacity: 0; } }
.merge.is-merged .merge__orb { opacity: 0; filter: blur(6px); }
.merge.is-merged .merge__orb--dev { transform: translate(var(--to-dev, 150%), -50%); }
.merge.is-merged .merge__orb--trd { transform: translate(var(--to-trd, -150%), -50%); }
.merge.is-merged .merge__gap { opacity: 0; }
.merge.is-merged .merge__core { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.tr-sol-points { margin-top: clamp(8px, 2vw, 20px); }
.tr-pt__k { font-size: 11px; letter-spacing: .24em; color: var(--tr-ice); margin-bottom: 14px; }

/* ---------- 트레이더 ---------- */
.tr-trader { background: linear-gradient(180deg, var(--midnight), var(--tr-band)); }
.tr-trader__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(16px, 2vw, 24px); }
.tr-trader__side { display: grid; gap: clamp(16px, 2vw, 24px); }
@media (max-width: 900px) { .tr-trader__grid { grid-template-columns: minmax(0, 1fr); } }
.kcgi { padding: clamp(28px, 3.4vw, 48px); background: linear-gradient(160deg, rgba(238, 241, 245, .07), rgba(238, 241, 245, .015) 50%, rgba(79, 143, 255, .06)); overflow: hidden; }
.kcgi__mark { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.kcgi__mark span { font: 800 clamp(64px, 8vw, 116px)/.9 var(--f-mark); letter-spacing: .06em; }
.kcgi__mark i { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(238, 241, 245, .4), transparent); }
.kcgi__en { font-size: 11px; letter-spacing: .22em; color: var(--silver-2); margin-bottom: 14px; }
.kcgi__t { font: 700 clamp(22px, 2.2vw, 30px)/1.4 var(--f-body); letter-spacing: -.03em; color: var(--silver); margin-bottom: 24px; }
.kcgi__t b { font-weight: 900; background: linear-gradient(110deg, #9fc3ff, #eef1f5); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kcgi__dl { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px 18px; padding: 20px 0; border-block: 1px solid var(--line); margin-bottom: 16px; font-size: 15px; }
.kcgi__dl dt { color: var(--silver-2); font-size: 13.5px; }
.kcgi__dl dd { color: var(--silver); font-weight: 600; }
.ph { color: #f4c66b !important; font-weight: 600; text-decoration: underline dashed rgba(244, 198, 107, .5); text-underline-offset: 4px; }
.press__k { font-size: 11px; letter-spacing: .22em; color: var(--tr-ice); margin-bottom: 12px; }
.press__t { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.5; margin-bottom: 10px; }
.press__link { display: inline-block; margin-top: 14px; font-size: 14px; }
.tr-news__list { display: grid; gap: 4px; }
.tr-news__list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; padding: 12px 0; border-bottom: 1px solid var(--line); transition: color .2s; }
.tr-news__list a span { grid-column: 1; font-size: 11px; letter-spacing: .06em; color: var(--silver-2); }
.tr-news__list a b { grid-column: 1; font-size: 15px; font-weight: 600; color: var(--silver); line-height: 1.5; }
.tr-news__list a .ico { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 18px; height: 18px; color: var(--silver-2); transition: transform .2s var(--ease), color .2s; }
.tr-news__list a:hover .ico { transform: translate(2px, -2px); color: var(--tr-ice); }
.tr-news .note { margin-top: 12px; }

/* ---------- 판단 엔진 · 대외비 가림 ---------- */
.tr-engine { background: var(--tr-band); }
.eng { display: flex; flex-direction: column; overflow: hidden; }
.eng .card__d { flex: 1; }
.eng__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }
.eng__ic { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 14px; color: var(--c); background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--c) 22%, transparent), color-mix(in srgb, var(--c) 6%, transparent) 70%); border: 1px solid color-mix(in srgb, var(--c) 30%, transparent); }
.mi { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.mi-track { stroke: color-mix(in srgb, currentColor 25%, transparent); }
.mi-arc { stroke-dasharray: 50.3; stroke-dashoffset: 18; }
.mi-needle { transform-origin: 24px 33px; animation: miNeedle 3.4s cubic-bezier(.45, 0, .2, 1) infinite alternate; }
.mi-hub { fill: currentColor; stroke: none; }
@keyframes miNeedle { 0% { transform: rotate(-58deg); } 60% { transform: rotate(34deg); } 100% { transform: rotate(18deg); } }
.mi-bar { fill: color-mix(in srgb, currentColor 35%, transparent); stroke: none; transform-box: fill-box; transform-origin: 50% 100%; animation: miBar 2.6s ease-in-out infinite; }
.mi-bar--1 { animation-delay: -.4s; } .mi-bar--2 { animation-delay: -.9s; } .mi-bar--3 { animation-delay: -1.3s; fill: currentColor; animation-name: miBarHot; } .mi-bar--4 { animation-delay: -1.8s; }
.mi-base { stroke-width: 1.6; opacity: .5; }
@keyframes miBar { 0%, 100% { transform: scaleY(.3); } 50% { transform: scaleY(.75); } }
@keyframes miBarHot { 0%, 70%, 100% { transform: scaleY(.35); } 80% { transform: scaleY(1); } }
.mi-band__g { transform-origin: 24px 25px; animation: miBand 3.2s ease-in-out infinite alternate; }
.mi-band__u, .mi-band__l { stroke-width: 1.6; opacity: .65; }
@keyframes miBand { from { transform: scaleY(.55); } to { transform: scaleY(1.12); } }
.mi-wave { stroke-dasharray: 80; stroke-dashoffset: 80; animation: miDraw 3.6s ease-in-out infinite; opacity: .55; stroke-width: 1.8; }
.mi-ang { transform-origin: 8px 40px; animation: miAng 3.6s ease-in-out infinite alternate; }
.mi-ang__arc { stroke-width: 1.6; }
.mi-piv { fill: currentColor; stroke: none; }
@keyframes miDraw { 0% { stroke-dashoffset: 80; } 55%, 100% { stroke-dashoffset: 0; } }
@keyframes miAng { from { transform: rotate(-7deg); } to { transform: rotate(5deg); } }
.mi-ring { stroke-width: 1.4; stroke-dasharray: 3 5; opacity: .6; transform-origin: 24px 24px; animation: miSpin 14s linear infinite reverse; }
.mi-core { fill: currentColor; stroke: none; animation: miCore 2.4s ease-in-out infinite; transform-origin: 24px 24px; }
.mi-sat { transform-origin: 24px 24px; animation: miSpin 6s linear infinite; }
.mi-sat circle { fill: currentColor; stroke: none; }
@keyframes miSpin { to { transform: rotate(360deg); } }
@keyframes miCore { 0%, 100% { transform: scale(.85); opacity: .8; } 50% { transform: scale(1.12); opacity: 1; } }
.mi-two__up { color: var(--tr-up); stroke: var(--tr-up); animation: miUp 2.8s ease-in-out infinite; }
.mi-two__dn { stroke: var(--tr-dn); animation: miDn 2.8s ease-in-out infinite; }
@keyframes miUp { 0%, 100% { transform: translateY(2px); opacity: .45; } 25% { transform: translateY(-3px); opacity: 1; } 50% { transform: translateY(0); opacity: .45; } }
@keyframes miDn { 0%, 50%, 100% { transform: translateY(-2px); opacity: .45; } 75% { transform: translateY(3px); opacity: 1; } }

.redact { position: relative; display: flex; align-items: center; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px dashed rgba(238, 241, 245, .14); min-width: 0; }
.redact__bar { position: relative; flex: 0 1 var(--w, 60%); min-width: 56px; max-width: min(50%, 300px); height: 15px; border-radius: 2px; background: var(--tr-ink); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05), 0 1px 0 rgba(255, 255, 255, .04); overflow: hidden; }
.redact__bar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(159, 195, 255, .16) 50%, transparent 70%); transform: translateX(-120%); animation: redactScan 5.5s var(--ease) infinite; }
.redact__lbl { flex: none; white-space: nowrap; font: 500 11.5px/1.4 var(--f-mono); letter-spacing: .02em; color: var(--silver-2); }
.redact--member .redact__bar { background: repeating-linear-gradient(90deg, rgba(238, 241, 245, .28) 0 22px, transparent 22px 28px, rgba(238, 241, 245, .2) 28px 58px, transparent 58px 64px); filter: blur(2.6px); box-shadow: none; }
.redact--member .redact__bar::after { display: none; }
@keyframes redactScan { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
.stamp { position: absolute; right: 18px; bottom: 54px; z-index: 2; padding: 5px 9px 4px; border: 1.5px solid var(--tr-stamp); border-radius: 3px; color: var(--tr-stamp); font-size: 10px; font-weight: 700; letter-spacing: .22em; transform: rotate(-9deg); opacity: .72; pointer-events: none; -webkit-mask-image: var(--grain); mask-image: var(--grain); -webkit-mask-size: 160px; mask-size: 160px; }
.redact .stamp { right: auto; bottom: auto; left: 14px; top: calc(50% + 8px); translate: 0 -50%; font-size: 9.5px; padding: 3px 7px 2px; background: rgba(3, 6, 12, .35); }
.eng:hover .stamp { opacity: .95; }

/* ---------- 운영·서비스 ---------- */
.tr-ops { background: linear-gradient(180deg, var(--tr-band), var(--midnight)); }
.ops { border-top: 1px solid var(--line); }
.ops__row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 20px; align-items: start; padding: 26px 8px; border-bottom: 1px solid var(--line); transition: background .25s var(--ease); border-radius: 2px; }
.ops__row:hover { background: rgba(238, 241, 245, .025); }
.ops__ic { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; color: var(--tr-ice); border: 1px solid var(--line-2); background: rgba(159, 195, 255, .05); }
.ops__ic .ico { width: 22px; height: 22px; }
.ops__body h3 { font: 700 clamp(17px, 1.4vw, 20px)/1.4 var(--f-body); letter-spacing: -.02em; color: var(--silver); margin-bottom: 6px; }
.ops__body p { font-size: 15px; line-height: 1.75; color: var(--fg-2); max-width: 46em; }
.ops__body .redact { margin-top: 14px; padding-top: 0; border-top: 0; }
@media (max-width: 640px) { .ops__row { grid-template-columns: 48px minmax(0, 1fr); } .ops__row .badge { grid-column: 2; justify-self: start; } }

/* ---------- 분석 범위 (레이더) ---------- */
.tr-scope { background: var(--midnight); }
.scope { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
@media (max-width: 900px) { .scope { grid-template-columns: minmax(0, 1fr); } .radar { max-width: 360px; margin-inline: auto; width: 100%; } }
.radar { position: relative; aspect-ratio: 1; }
.radar__svg { width: 100%; height: 100%; overflow: visible; }
.radar__ring, .radar__spoke { fill: none; stroke: rgba(238, 241, 245, .11); stroke-width: 1; }
.radar__fill { fill: rgba(159, 195, 255, 0); transition: fill .35s var(--ease); }
.radar__sec.is-on .radar__fill { fill: rgba(159, 195, 255, .1); }
.radar__blip { fill: var(--tr-ice); opacity: 0; animation: blip 4s linear infinite; animation-delay: var(--d); }
.radar__sec.is-on .radar__blip { animation-name: blipOn; }
@keyframes blip { 0% { opacity: 1; filter: drop-shadow(0 0 5px #9fc3ff); } 35% { opacity: .25; } 100% { opacity: 0; } }
@keyframes blipOn { 0% { opacity: 1; } 50% { opacity: .7; } 100% { opacity: .5; } }
.radar__lbl { fill: var(--silver); font: 700 13.5px var(--f-body); letter-spacing: -.01em; }
.radar__sec.is-on .radar__lbl { fill: var(--tr-ice); }
.radar__hub { fill: var(--tr-ice); }
.radar__sweep { position: absolute; inset: 9.4%; border-radius: 50%; background: conic-gradient(from 0deg, rgba(159, 195, 255, 0) 0deg, rgba(159, 195, 255, 0) 290deg, rgba(159, 195, 255, .26) 356deg, rgba(200, 222, 255, .55) 360deg); animation: sweep 4s linear infinite; pointer-events: none; }
.radar.js-sweep .radar__sweep { animation: none; }
.radar.js-sweep .radar__blip { animation: none; opacity: 0; }
.radar.js-sweep .radar__sec.is-ping .radar__blip { animation: blip 1.8s linear 1 both; }
.radar.js-sweep .radar__sec.is-on .radar__blip { animation: none; opacity: .75; filter: drop-shadow(0 0 5px #9fc3ff); }
@keyframes sweep { to { transform: rotate(360deg); } }
.scope__tbl { border-top: 1px solid var(--line-2); }
.scope__row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; padding: 18px 10px; border-bottom: 1px solid var(--line); transition: background .25s var(--ease); cursor: default; border-radius: 2px; }
.scope__row:hover, .scope__row:focus-visible, .scope__row.is-on { background: rgba(159, 195, 255, .05); outline: none; }
.scope__k { display: grid; gap: 4px; align-content: start; }
.scope__k span { font-size: 10.5px; letter-spacing: .2em; color: var(--tr-ice); }
.scope__k b { font-size: 17px; color: var(--silver); letter-spacing: -.02em; }
.scope__v { display: flex; flex-wrap: wrap; gap: 6px 8px; align-content: center; }
.scope__v span { font-size: 13.5px; padding: 6px 10px; border-radius: 4px; background: rgba(238, 241, 245, .045); border: 1px solid rgba(238, 241, 245, .07); color: var(--fg-2); }
.tr-scope__note { margin-top: 18px; }
@media (max-width: 560px) { .scope__row { grid-template-columns: minmax(0, 1fr); gap: 10px; } }

/* ---------- 3단 구조 ---------- */
.tr-structure { background: linear-gradient(180deg, var(--midnight), var(--tr-band)); }
.tr-structure__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: clamp(28px, 4vw, 48px); }
.tr-structure__head .sec-head { margin-bottom: 0; }
.tr-pipe { margin-bottom: 26px; }
.tr-pipe .pipe__fill { background: linear-gradient(90deg, var(--tr-ice), var(--silver)); }
.tr-pipe .pipe__dot { border-color: var(--tr-ice); }
.tr-structure .redact { border-top: 0; padding-top: 0; }

/* ---------- 리포트 · 폰 목업 ---------- */
.tr-report { background: var(--tr-band); overflow: hidden; }
.tr-report__list { display: grid; gap: 14px; margin-bottom: 22px; }
.tr-report__list li { display: flex; gap: 14px; align-items: flex-start; font-size: 15.5px; line-height: 1.6; color: var(--fg-2); }
.tr-report__list .ico { width: 22px; height: 22px; color: var(--tr-ice); margin-top: 1px; }
.tr-report__list b { color: var(--silver); margin-right: 6px; }
.tr-report__tags { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.phone-wrap { display: grid; place-items: center; position: relative; }
.phone-wrap::before { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(79, 143, 255, .25), transparent 65%); filter: blur(30px); }
.phone { position: relative; width: min(310px, 86vw); height: 600px; border-radius: 46px; background: #0c1528; border: 10px solid #04070e; box-shadow: 0 0 0 1px rgba(238, 241, 245, .14), 0 50px 100px -30px rgba(0, 0, 0, .8), inset 0 0 0 1px rgba(255, 255, 255, .04); overflow: hidden; display: flex; flex-direction: column; }
.phone__island { position: absolute; left: 50%; top: 10px; width: 96px; height: 26px; translate: -50% 0; background: #04070e; border-radius: 14px; z-index: 2; }
.phone__hdr { display: flex; align-items: center; gap: 12px; padding: 48px 18px 14px; border-bottom: 1px solid rgba(238, 241, 245, .07); background: rgba(15, 27, 51, .9); }
.phone__av { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(140deg, #eef1f5, #7d8696); color: #0f1b33; }
.phone__av .atlas-symbol { width: 20px; height: 20px; }
.phone__hdr b { display: block; font-size: 15px; color: var(--silver); }
.phone__hdr small { font-size: 11.5px; color: var(--silver-2); }
.phone__body { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; padding: 16px 14px; background: radial-gradient(120% 60% at 50% 0%, rgba(79, 143, 255, .08), transparent 70%); }
.msg { align-self: flex-start; max-width: 92%; padding: 12px 14px; border-radius: 4px 16px 16px 16px; background: #15233f; border: 1px solid rgba(238, 241, 245, .08); box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .6); opacity: 0; transform: translateY(14px) scale(.98); transition: opacity .45s var(--ease), transform .45s var(--ease); display: none; }
.msg.is-on { display: block; opacity: 1; transform: none; }
.msg.is-in { display: block; }
.msg__k { font-size: 10px; letter-spacing: .14em; color: var(--tr-ice); margin-bottom: 8px; }
.msg__row { font-size: 13.5px; line-height: 1.6; color: var(--silver); }
.msg__row b { font-weight: 700; }
.msg__muted { color: var(--silver-2); font-size: 12.5px; }
.msg .up { color: var(--tr-up); } .msg .dn { color: #ffd27a; }
.msg__meter { display: block; height: 6px; border-radius: 6px; background: rgba(238, 241, 245, .1); margin: 6px 0 8px; overflow: hidden; }
.msg__meter i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, var(--tr-dn), var(--tr-ice), var(--tr-up)); }
.msg__why { position: relative; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(238, 241, 245, .14); font-size: 12.5px; }
.msg__blur { display: block; filter: blur(4px); color: var(--silver-2); user-select: none; }
.msg__lock { position: absolute; inset: 8px 0 0; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 11.5px; font-weight: 600; color: var(--silver); }
.msg__lock .ico { width: 14px; height: 14px; }
.msg--typing { gap: 5px; padding: 14px 16px; }
.msg--typing.is-in { display: flex; }
.msg--typing i { width: 7px; height: 7px; border-radius: 50%; background: var(--silver-2); animation: typing 1.2s infinite; }
.msg--typing i:nth-child(2) { animation-delay: .15s; } .msg--typing i:nth-child(3) { animation-delay: .3s; }
@keyframes typing { 0%, 60%, 100% { opacity: .3; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
.phone__in { display: flex; align-items: center; justify-content: space-between; margin: 0 12px 14px; height: 42px; padding: 0 14px; border-radius: 21px; background: rgba(238, 241, 245, .06); color: var(--silver-2); font-size: 13px; }
.phone__in .ico { width: 18px; height: 18px; color: var(--tr-ice); }

/* ---------- 공개 원칙 ---------- */
.tr-principle { background: var(--midnight); }
.wv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 18px; overflow: hidden; border: 1px solid var(--line-2); }
@media (max-width: 760px) { .wv { grid-template-columns: minmax(0, 1fr); } }
.wv__col { position: relative; padding: clamp(26px, 3.4vw, 44px); display: grid; gap: 14px; align-content: start; }
.wv__col--what { background: linear-gradient(160deg, rgba(238, 241, 245, .07), rgba(238, 241, 245, .015)); }
.wv__col--how { background: repeating-linear-gradient(135deg, rgba(21, 35, 63, .75) 0 14px, rgba(17, 29, 54, .75) 14px 28px); border-left: 1px solid var(--line-2); overflow: hidden; }
@media (max-width: 760px) { .wv__col--how { border-left: 0; border-top: 1px solid var(--line-2); } }
.wv__k { font-size: 11px; letter-spacing: .24em; color: var(--tr-ice); }
.wv__col--how .wv__k { color: var(--tr-stamp); }
.wv h3 { font: 800 clamp(22px, 2.2vw, 28px)/1.3 var(--f-body); letter-spacing: -.03em; color: var(--silver); margin-bottom: 6px; }
.wv ul { display: grid; gap: 12px; }
.wv__col--what li { display: flex; gap: 10px; align-items: flex-start; font-size: 15.5px; color: var(--fg-2); }
.wv__col--what li .ico { width: 20px; height: 20px; color: var(--tr-ice); margin-top: 2px; }
.wv__col--how .redact { margin: 0; padding: 0; border: 0; }
.wv__col--how .redact__bar { max-width: 55%; }
.wv__col--how .redact .stamp { display: none; }
.stamp--lg { right: 24px; top: 30px; bottom: auto; font-size: 15px; padding: 8px 14px 6px; border-width: 2.5px; transform: rotate(-11deg); opacity: .85; }
.tr-principle__foot { max-width: 760px; margin: 26px auto 0; text-align: center; font-size: 14.5px; line-height: 1.75; color: var(--silver-2); }

/* ---------- FAQ · 신청 ---------- */
.tr-faq { background: linear-gradient(180deg, var(--midnight), var(--tr-band)); }
.tr-apply { position: relative; overflow: hidden; isolation: isolate; background: var(--tr-band); border-top: 1px solid rgba(238, 241, 245, .06); }
.tr-apply .fx-layer { z-index: -1; }
.tr-apply__in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
@media (max-width: 960px) { .tr-apply__in { grid-template-columns: minmax(0, 1fr); } }
.tr-flow { display: grid; gap: 0; margin-bottom: 28px; border-top: 1px solid var(--line); }
.tr-flow li { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 14px 4px; border-bottom: 1px solid var(--line); }
.tr-flow span { font-size: 12px; color: var(--tr-ice); letter-spacing: .1em; }
.tr-flow b { font-size: 16px; color: var(--silver); }
.tr-flow small { font-size: 13px; color: var(--silver-2); }
.tr-apply__contact { display: grid; gap: 10px; }
.tr-apply__contact .small b { color: var(--silver); }
.tr-form { background: linear-gradient(180deg, rgba(21, 35, 63, .92), rgba(13, 22, 40, .96)); border-color: rgba(238, 241, 245, .1); }
.tr-form .inp { background: rgba(5, 9, 18, .55); }
.tr-form .chip span { background: rgba(5, 9, 18, .4); }

/* ---------- 투자 유의 고지 ---------- */
.tr-risk { background: var(--tr-band); padding-bottom: clamp(56px, 7vw, 96px); }
.tr-risk__box { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; padding: clamp(20px, 2.6vw, 30px); border-radius: 14px; border: 1px solid rgba(244, 184, 96, .28); background: rgba(244, 184, 96, .05); }
.tr-risk__ic { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; color: #f4b860; background: rgba(244, 184, 96, .1); }
.tr-risk__ic .ico { width: 22px; height: 22px; }
.tr-risk__t { display: grid; gap: 8px; font-size: 13.5px; line-height: 1.75; color: var(--fg-2); }
.tr-risk__t b { color: var(--silver); }

@media (prefers-reduced-motion: reduce) {
  .merge .merge__orb { opacity: 0; } .merge .merge__gap { opacity: 0; } .merge .merge__core { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  .msg { display: block; opacity: 1; transform: none; } .msg--typing { display: none; }
}

/* 폼 단계 버튼: 다음·제출은 오른쪽 */
.tr-form .form__nav [data-next], .tr-form .form__nav [type="submit"] { margin-left: auto; }
@media (max-width: 520px) { .liq__stamp { font-size: 17px; letter-spacing: .14em; padding: 7px 12px 5px; } }

/* ===== 트레이더 · 보도 화면 · 운용 기록 (2026-10-18) ===== */
.kcgi__dl { grid-template-columns: 72px minmax(0, 1fr); }
.press__shot { display: block; width: 100%; padding: 0; margin: 2px 0 16px; border: 1px solid var(--line-2); border-radius: 10px; overflow: hidden; background: #fff; cursor: zoom-in; transition: border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease); }
.press__shot img { display: block; width: 100%; height: auto; }
.press__shot:hover { border-color: rgba(159, 195, 255, .5); transform: translateY(-2px); box-shadow: 0 16px 36px -18px rgba(79, 143, 255, .5); }
.press__meta { font-size: 11.5px; letter-spacing: .08em; color: var(--silver-2); }
.press__quote { margin: 18px 0 0; padding: 14px 16px; border-left: 2px solid var(--tr-ice); border-radius: 0 10px 10px 0; background: rgba(159, 195, 255, .06); }
.press__quote blockquote { margin: 0; font-size: 15.5px; font-weight: 700; line-height: 1.6; color: var(--silver); letter-spacing: -.01em; }
.press__quote figcaption { margin-top: 8px; }
.press__quote figcaption button { padding: 0; border: 0; background: none; color: var(--tr-ice); font-size: 12.5px; text-decoration: underline; text-underline-offset: 3px; cursor: zoom-in; }

.tr-record { margin-top: clamp(44px, 6vw, 76px); }
.tr-record__head { display: grid; gap: 8px; max-width: 46em; margin-bottom: 22px; }
.tr-record__head .press__k { margin-bottom: 4px; }
.tr-record__t { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font: 800 clamp(20px, 2vw, 26px)/1.35 var(--f-body); letter-spacing: -.03em; color: var(--silver); word-break: keep-all; }
.tr-record__t small { font-size: 11.5px; font-weight: 600; letter-spacing: .14em; color: var(--tr-ice); padding: 4px 9px 3px; border: 1px solid rgba(159, 195, 255, .35); border-radius: 999px; }
.tr-record__d { font-size: 15px; line-height: 1.75; color: var(--fg-2); }
.rec-reel { margin-inline: -4px; }
.rec-reel .marquee { padding: 10px 0 14px; }
.rec-reel .marquee:focus-within .marquee__track { animation-play-state: paused; }
.rec-set { display: flex; gap: 18px; padding-right: 18px; }
.rec { flex: none; width: clamp(264px, 29vw, 380px); display: grid; gap: 10px; padding: 12px 12px 14px; text-align: left; color: inherit; font: inherit; border-radius: 16px; border: 1px solid var(--card-line); background: var(--card-bg); box-shadow: var(--card-shadow); cursor: zoom-in; transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease); }
.rec:hover, .rec:focus-visible { transform: translateY(-4px); border-color: rgba(159, 195, 255, .38); box-shadow: var(--card-shadow), 0 18px 40px -18px rgba(79, 143, 255, .55); }
.rec__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11.5px; letter-spacing: .06em; color: var(--silver-2); }
.rec__tag { font-size: 10px; font-weight: 600; letter-spacing: .16em; padding: 3px 8px 2px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--tr-ice); }
.rec__img { display: block; aspect-ratio: 2 / 1; max-width: 100%; border-radius: 10px; overflow: hidden; background: #1c1d20; border: 1px solid rgba(255, 255, 255, .06); }
.rec__img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.rec__img--light { background: #fff; }
.rec__img--light img { object-fit: contain; object-position: center; }
.rec__nums { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 12.5px; color: var(--silver-2); }
.rec__nums b { font: 700 17px/1.2 var(--f-mark); color: var(--tr-up); letter-spacing: -.01em; }
.rec__nums em { font-style: normal; font-weight: 700; color: var(--tr-up); }
.rec__nums span { padding-left: 10px; border-left: 1px solid var(--line-2); }
.tr-record__note { display: flex; align-items: flex-start; gap: 8px; margin-top: 16px; }
.tr-record__note .ico { width: 16px; height: 16px; flex: none; margin-top: 3px; color: var(--tr-ice); }

.rec-modal__panel { width: min(1120px, 100%); background: #0b1220; color: var(--silver); }
.rec-modal__body { display: grid; gap: 12px; padding: clamp(18px, 3vw, 32px); }
.rec-modal__k { font-size: 11px; letter-spacing: .22em; color: var(--tr-ice); }
.rec-modal__t { font: 700 clamp(17px, 1.8vw, 21px)/1.45 var(--f-body); letter-spacing: -.02em; padding-right: 48px; word-break: keep-all; }
.rec-modal__img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid rgba(238, 241, 245, .12); background: #1c1d20; }
.rec-modal__note { font-size: 12.5px; line-height: 1.7; color: var(--silver-2); }

/* 핵심 기술 비공개 안내 */
.core-lock { position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 18px; margin-top: clamp(20px, 3vw, 32px); padding: 22px 150px 22px 24px; border-radius: 18px; border: 1px dashed rgba(238, 241, 245, .22); background: linear-gradient(120deg, rgba(3, 6, 12, .62), rgba(17, 29, 54, .55)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); }
.core-lock::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(238, 241, 245, .025) 0 12px, transparent 12px 24px); pointer-events: none; }
.core-lock__ic { position: relative; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; border: 1px solid var(--line-2); color: var(--tr-ice); background: rgba(159, 195, 255, .07); box-shadow: 0 0 24px -8px rgba(159, 195, 255, .5); }
.core-lock__ic .ico { width: 22px; height: 22px; }
.core-lock__body { position: relative; display: grid; gap: 6px; min-width: 0; }
.core-lock__k { font-size: 11px; letter-spacing: .22em; color: var(--tr-stamp); }
.core-lock__t { font-size: 15.5px; line-height: 1.7; color: var(--silver); word-break: keep-all; }
.core-lock__t b { color: #fff; }
.core-lock .stamp { right: 26px; bottom: auto; top: 50%; translate: 0 -50%; font-size: 11px; padding: 6px 10px 5px; opacity: .85; }
@media (max-width: 640px) {
  .core-lock { grid-template-columns: minmax(0, 1fr); padding: 54px 18px 20px; gap: 12px; }
  .core-lock__ic { position: absolute; left: 18px; top: 14px; width: 32px; height: 32px; border-radius: 10px; }
  .core-lock__ic .ico { width: 16px; height: 16px; }
  .core-lock .stamp { top: 22px; right: 16px; translate: none; font-size: 9.5px; padding: 4px 8px 3px; }
}
@media (prefers-reduced-motion: reduce) { .rec:hover, .press__shot:hover { transform: none; } }
.tr-trader__main { display: grid; gap: clamp(16px, 2vw, 24px); align-content: start; }
.tr-trader__side { align-content: start; }
@media (max-width: 900px) {
  .tr-trader__main, .tr-trader__side { display: contents; }
  .tr-trader__grid .kcgi { order: 1; } .tr-trader__grid .press { order: 2; } .tr-trader__grid .tr-news { order: 3; }
}

/* ===== 트레이더 성적 — BEST RECORD ===== */
.tr-best { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr); gap: clamp(14px, 2vw, 22px); align-items: start; margin-bottom: 8px; }
.best { position: relative; overflow: hidden; isolation: isolate; display: grid; gap: 14px; align-content: start; padding: clamp(22px, 3vw, 34px); border-radius: 20px; border: 1px solid var(--card-line); background: var(--card-bg); box-shadow: var(--card-shadow); }
.best::before { content: ""; position: absolute; z-index: -1; right: -18%; top: -40%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 95, 95, .13), transparent); pointer-events: none; }
.best--main::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 1px; background: linear-gradient(140deg, rgba(255, 138, 138, .45), rgba(238, 241, 245, .08) 40%, rgba(159, 195, 255, .3)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.best__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.best__k { font-size: 11px; letter-spacing: .22em; color: var(--tr-ice); }
.best__tag { font-size: 10.5px; letter-spacing: .12em; padding: 4px 10px 3px; border-radius: 999px; border: 1px solid rgba(255, 95, 95, .45); color: #ffb3b3; background: rgba(255, 95, 95, .08); }
.best__n { display: flex; align-items: baseline; gap: 4px; font: 800 clamp(48px, 7vw, 96px)/1 var(--f-mark); letter-spacing: -.035em; font-variant-numeric: tabular-nums; margin-top: 4px; }
.best__n b { font-weight: 800; background: linear-gradient(110deg, #ffffff 0%, #eef1f5 35%, #ffd0d0 60%, #ffffff 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: bestShimmer 7s linear infinite; filter: drop-shadow(0 0 22px rgba(255, 95, 95, .25)); }
.best__sign, .best__pct { color: var(--tr-up); font-size: .55em; font-weight: 700; }
.best__pct { margin-left: 4px; }
.best__n--sub { font-size: clamp(36px, 4.6vw, 58px); }
@keyframes bestShimmer { to { background-position: -200% 0; } }
.best__l { font-size: 14px; color: var(--silver-2); letter-spacing: .02em; }
.best__dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block: 1px solid var(--line); margin: 6px 0 2px; }
.best__dl div { display: grid; gap: 4px; padding: 14px 12px; border-left: 1px solid var(--line); min-width: 0; }
.best__dl div:first-child { border-left: 0; padding-left: 0; }
.best__dl dt { font-size: 11.5px; color: var(--silver-2); letter-spacing: .02em; }
.best__dl dd { font: 700 clamp(16px, 1.5vw, 20px)/1.2 var(--f-mark); color: var(--silver); }
.best__shot { position: relative; display: block; width: 100%; max-width: 400px; padding: 0; border: 1px solid var(--line-2); border-radius: 12px; overflow: hidden; background: #fff; cursor: zoom-in; transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease); }
.best__shot img { display: block; width: 100%; height: auto; }
.best__shot:hover, .best__shot:focus-visible { transform: translateY(-3px); border-color: rgba(159, 195, 255, .5); box-shadow: 0 16px 36px -18px rgba(79, 143, 255, .5); }
.best__zoom { position: absolute; right: 8px; bottom: 8px; padding: 4px 9px 3px; border-radius: 999px; background: rgba(3, 6, 12, .78); color: var(--silver); font-size: 10.5px; letter-spacing: .08em; }
.best__cite { font-size: 12.5px; line-height: 1.7; color: var(--silver-2); padding-left: 12px; border-left: 2px solid rgba(159, 195, 255, .35); }
.tr-record__sub { margin: clamp(26px, 4vw, 40px) 0 4px; font-size: 11.5px; letter-spacing: .16em; color: var(--silver-2); }
.rec-modal__img { width: auto; max-width: 100%; margin-inline: auto; }
@media (max-width: 900px) { .tr-best { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .best__dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } .best__dl div:nth-child(3) { border-left: 0; padding-left: 0; } .best__dl div:nth-child(n + 3) { border-top: 1px solid var(--line); } }
@media (prefers-reduced-motion: reduce) { .best__n b { animation: none; } .best__shot:hover { transform: none; } }
.best__zoom { position: static; display: block; text-align: right; padding: 7px 12px 6px; border-radius: 0; border-top: 1px solid rgba(238, 241, 245, .1); background: #0b1220; }
.best__shot { background: #0b1220; }
