/* Arx [ɑːrks] (11/14, 옛 이름 HFT Circle) — D 퀀트 결 (worldquant.com 결: 검정 · 가는 기하 글꼴 · 초록 선). 글꼴 Sora (숫자 · 로마자) + IBM Plex Sans KR (한글) */
:root{--bg:#000;--card:#0a0a0a;--ink:#fff;--sub:#d0d0d0;--mute:#7c7c7c;--dim:#3a3a3a;--line:#2a2a2a;--soft:#141414;--accent:#00e128;--accent-soft:#0d2412;--up:#ff5c5c;--down:#5aa2ff;--hl:#151515;--f:'Sora','IBM Plex Sans KR',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink)}
body{font-family:var(--f);font-weight:300;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
b{font-weight:500}
button,input{font:inherit}

.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:14px 22px;background:rgba(0,0,0,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{font-size:19px;font-weight:300;white-space:nowrap}
.ipa{font-family:'Noto Sans','JetBrains Mono',ui-monospace,sans-serif;font-weight:300;font-size:.62em;letter-spacing:0;color:var(--mute);margin-left:.5em;vertical-align:.18em}  /* 발음 기호 [ɑːrks] */
.tabs{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.tabs a{font-size:14px;color:#646464;padding:6px 10px;white-space:nowrap}
.tabs a:hover{color:#bdbdbd}
.tabs a[aria-current=page]{color:#fff;box-shadow:inset 0 -1px 0 #fff}
.who{font-size:12px;color:var(--mute);white-space:nowrap}
@media (max-width:680px){.top{flex-wrap:wrap;gap:4px 12px;padding:12px 14px 0}.tabs{order:3;flex-basis:100%;margin:0 -6px}.tabs a{padding:9px 8px}.who{margin-left:auto}}

.view{display:none}
.view.on{display:block}
.wrap{max-width:720px;margin:0 auto;padding:6px 18px 56px}
.loaderr{max-width:720px;margin:40px auto;padding:0 18px;color:var(--up)}

/* 메인 — 회사 소개 쇼케이스 */
.hero{position:relative;height:calc(100svh - 58px);min-height:520px;overflow:hidden;background:radial-gradient(120% 80% at 70% 30%,#3a2378 0%,#140b33 45%,#000 80%)}
#hero3d{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 80%,#000 100%);pointer-events:none}
.hero-h{position:absolute;left:6vw;right:5vw;top:20%;margin:0;font-weight:200;font-size:clamp(60px,12.5vw,168px);line-height:.98;letter-spacing:-.025em}
.hero-h span{display:block}
.hero-h .l1{padding-left:32%}
.hero-sub{position:absolute;left:6vw;bottom:8%;margin:0;font-size:13px;color:var(--sub);letter-spacing:.06em}
.cue{position:absolute;right:6vw;bottom:8%;margin:0;font-size:12px;color:var(--mute)}
.band{border-top:1px solid var(--accent);padding:8px 12px 10px;font-family:var(--mono);font-size:11px;line-height:1.3;color:#2f2f2f;white-space:nowrap;overflow:hidden;letter-spacing:.06em}
.stmt{padding:14vh 6vw 12vh}
.stmt p{margin:0 0 .25em;font-weight:200;font-size:clamp(34px,6.6vw,88px);line-height:1.12;letter-spacing:-.015em;opacity:.12;transform:translateY(24px);transition:opacity 1s ease,transform 1s ease}
.stmt p.in{opacity:1;transform:none}
.slices{display:flex;height:48vh;min-height:280px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.slices i{flex:1;background-image:linear-gradient(180deg,#07040f 0%,#21104d 18%,#6b3fd1 31%,#140a35 45%,#3b2a9a 58%,#0c0a28 70%,#7b4fe0 84%,#09051a 100%);background-size:100% 260%;animation:sl 11s ease-in-out infinite alternate}
@keyframes sl{from{background-position:0 0}to{background-position:0 100%}}
.princ{padding:14vh 6vw 12vh}
.princ .lst button{display:block;font-family:var(--f);font-weight:200;font-size:clamp(40px,8vw,104px);line-height:1.06;letter-spacing:-.02em;color:#2c2c2c;background:none;border:0;padding:0;text-align:left;cursor:pointer;transition:color .5s}
.princ .lst button[aria-pressed=true]{color:#fff}
.princ .desc{margin:22px 0 0;font-size:16px;color:var(--sub);min-height:1.6em}
.figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.figs div{padding:34px 6vw 30px;border-left:1px solid var(--line)}
.figs div:first-child{border-left:0}
.figs b{display:block;font-weight:200;font-size:clamp(34px,6vw,72px);line-height:1.05;letter-spacing:-.02em}
.figs span{display:block;margin-top:8px;font-size:12px;color:var(--mute)}
@media (max-width:680px){.figs{grid-template-columns:1fr}.figs div{border-left:0;border-top:1px solid var(--line);padding:24px 6vw}.figs div:first-child{border-top:0}}
.enter{padding:12vh 6vw 4vh}
.enter .lbl{margin:0 0 6px}
.enter a{display:block;font-weight:200;font-size:clamp(32px,6vw,72px);line-height:1.12;letter-spacing:-.015em;color:#4a4a4a;border-bottom:1px solid var(--line);padding:16px 0 14px;transition:color .3s}
.enter a span{display:block;margin-top:6px;font-size:13px;font-weight:300;letter-spacing:0;color:var(--mute)}
.enter a:hover,.enter a:focus-visible{color:#fff}
.foot{padding:26px 6vw 46px;margin:0;font-size:12px;color:var(--mute)}
.wrap .foot{padding:0;margin:10px 0 0}
@media (prefers-reduced-motion:reduce){.slices i{animation:none}.stmt p{transition:none;opacity:1;transform:none}}

/* 탭 화면 — 카드 */
.card{border-top:1px solid var(--line);padding:22px 2px 18px}
.card:first-child{border-top:0}
.hero-c{border-top:1px solid var(--accent)}
.h2{font-weight:300;font-size:18px;margin:0 0 8px}
.eb{margin:0 0 5px;font-size:10.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}  /* 카드 위 작은 영어 꼬리표 */
.h2 .lbl{font-weight:300}
.lbl{font-size:12px;color:var(--sub)}
.mute{color:var(--mute)}
.nw{white-space:nowrap}
.small{font-size:13px;color:var(--mute)}
.num{font-variant-numeric:tabular-nums}
.big{font-weight:200;font-size:46px;line-height:1.12;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.big small{font-size:18px;font-weight:300;margin-left:6px;color:var(--sub)}
.big2{font-weight:200;font-size:34px;font-variant-numeric:tabular-nums}
.pct{font-size:17px;font-weight:300;margin-left:6px}
.up{color:var(--up)}
.down{color:var(--down)}
.rowh{display:flex;justify-content:space-between;align-items:center;gap:10px}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;padding:9px 0;border-top:1px solid var(--line)}
.chip{display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid #3a3a3a;color:var(--sub);white-space:nowrap}
.chip.warn{border-color:#6b5a1f;color:#e9c46a}
.chip.ok{border-color:#11621f;color:var(--accent)}
.grid3{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:6px}
.tile{border:1px solid var(--line);padding:11px 12px}
.tile .tv{font-weight:300;font-size:19px;margin-top:3px;font-variant-numeric:tabular-nums}
.tile .foot{margin-top:3px}
.chart{display:block;width:100%;margin-top:10px;overflow:visible}
.chart .ln{fill:none;stroke:#fff;stroke-width:1.6;stroke-linejoin:round}
.chart .dt{fill:#fff}
.chart .base{stroke:#5c5c5c;stroke-width:.8;stroke-dasharray:3 3}
.chart .mk{stroke:#5c5c5c;stroke-width:.8;stroke-dasharray:2 3}
.chart .pk{fill:var(--accent)}
.chart text{fill:var(--mute);font-size:10.5px;font-family:var(--f)}
.note{border:1px solid var(--line);padding:11px 13px;font-size:13px;color:var(--sub);margin-top:6px}
.myrank{font-size:13px;color:var(--sub);margin:4px 0 12px}
.myrank b{font-size:20px;color:#fff;font-weight:300}
.seg{display:flex;background:#111;border-radius:6px;padding:3px;margin:6px 0 10px}
.seg button{flex:1;font-size:13px;padding:7px 8px;border:0;border-radius:4px;background:transparent;color:var(--mute);cursor:pointer}
.seg button[aria-pressed=true]{background:#000;color:#fff;box-shadow:0 0 0 1px #3a3a3a}
.rk{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:11px 6px;border-top:1px solid var(--line)}
.rk:first-child{border-top:0}
.rk.me{background:var(--hl);border-top-color:transparent}
.rk.me+.rk{border-top-color:transparent}
.rk .n{font-weight:300;color:var(--sub);text-align:center;font-variant-numeric:tabular-nums}
.rk .n.m{color:var(--accent)}
.rk .id{font-size:15px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rk .meta{font-size:12px;color:var(--mute)}
.rk .v{text-align:right;font-size:15px;font-variant-numeric:tabular-nums}
.rk.hid .v{color:var(--mute);font-size:13px}
.bdg{font-size:10.5px;padding:1px 7px;border-radius:999px;border:1px solid #3a3a3a;color:var(--sub);white-space:nowrap}
.bdg.own{border-color:#11621f;color:var(--accent)}  /* Owner = 운용자 본인 */
.asbar{background:#1a1405;border-bottom:1px solid #6b5a1f;color:#e9c46a;font-size:13px;padding:9px 22px}
.asbar a{color:#fff;margin-left:12px;text-decoration:underline}
.adm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:11px 2px;border-top:1px solid var(--line)}
.adm .id{font-size:15px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.adm .meta{font-size:12px;color:var(--mute)}
.adm .v{text-align:right;font-size:15px;font-variant-numeric:tabular-nums}
.lnk{display:inline-block;margin-top:3px;font-size:12px;color:var(--accent)}
button:disabled,input:disabled{opacity:.45;cursor:not-allowed}
.you{font-size:10.5px;font-weight:500;padding:1px 7px;border-radius:999px;background:#fff;color:#000}
label.lbl{display:block;margin:12px 0 5px}
input[type=number],input[type=text],input[type=password]{width:100%;font-size:16px;padding:11px 12px;border-radius:6px;border:1px solid var(--line);background:var(--card);color:#fff}
input:focus{outline:1px solid var(--accent);outline-offset:1px}
.inrow{display:flex;gap:8px}
.inrow input{flex:1}
.btn{display:block;width:100%;margin-top:14px;font-size:15px;font-weight:500;padding:13px;border-radius:6px;background:transparent;color:#fff;border:1px solid var(--accent);cursor:pointer}
.btn2{font-size:13px;padding:10px 13px;border-radius:6px;border:1px solid #3a3a3a;background:transparent;color:var(--sub);cursor:pointer;white-space:nowrap}
.btns{display:flex;gap:8px;margin-top:12px}
.err{font-size:13px;color:#ff7a7a;margin:8px 0 0}
.okbox{margin-top:14px;font-size:13px;padding:13px;background:var(--hl);line-height:1.65}
.rules{margin-top:14px;font-size:12.5px;color:var(--sub);display:grid;gap:7px}
.rules b{color:#fff;margin-right:6px}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0}
.flow .bx{font-size:12.5px;padding:7px 10px;border-radius:6px;background:var(--soft);border:1px solid var(--line)}
.flow .bx.hl{background:var(--accent-soft);border-color:var(--accent)}
.flow .op{color:var(--mute)}
.bar{display:flex;height:28px;border-radius:4px;overflow:hidden;margin:10px 0 4px;font-size:11.5px}
.bar span{display:flex;align-items:center;justify-content:center;white-space:nowrap}
.cmp{display:grid;grid-template-columns:80px 1fr 70px;gap:8px;align-items:center;font-size:13px;margin:7px 0}
.cmp .tr{height:10px;border-radius:5px;background:var(--soft);overflow:hidden}
.cmp .fl{height:100%;border-radius:5px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.two div{font-size:12.5px;padding:10px;border-radius:6px;background:var(--soft);line-height:1.5}
.two b{display:block;font-size:13.5px}
.q{font-weight:300;font-size:17px;margin:0 0 6px}
.a{font-size:13.5px;color:var(--sub);margin:6px 0 0}
.tg{position:relative;display:inline-block;width:44px;height:25px}
.tg input{opacity:0;width:0;height:0}
.tg span{position:absolute;inset:0;border-radius:999px;background:#333;cursor:pointer;transition:background .15s}
.tg span::before{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .15s}
.tg input:checked+span{background:var(--accent)}
.tg input:checked+span::before{transform:translateX(19px)}

/* 폰 (좁은 화면) — 칸이 좁아 숫자가 꺾이지 않게 */
@media (max-width:560px){
  .wrap{padding:4px 14px 48px}
  .big{font-size:clamp(34px,10.5vw,46px)}
  .big2{font-size:30px}
  .pct{display:inline-block;font-size:15px}
  .grid3{grid-template-columns:1fr 1fr}
  .grid3 .tile:first-child{grid-column:1/-1}
  .tile .tv{font-size:17px}
  .row{font-size:13.5px}
  .rk{grid-template-columns:24px minmax(0,1fr) auto;gap:2px 10px;padding:10px 4px}
  .rk .v{font-size:14px}
  .cmp{grid-template-columns:70px 1fr 64px}
  .two{grid-template-columns:1fr}
}

/* 용어 풀이 — 점선 밑줄, 손을 대면 한국어 풀이 */
.term{border-bottom:1px dotted #6a6a6a;cursor:help}
.term:focus{outline:none;border-bottom-color:var(--accent)}
#tip{position:absolute;z-index:60;background:#141414;color:#e8e8e8;border:1px solid #3a3a3a;border-radius:6px;padding:9px 11px;font-size:12.5px;line-height:1.55;font-weight:300;box-shadow:0 8px 28px rgba(0,0,0,.55);pointer-events:none}
@media (max-width:420px){.tabs a{padding:9px 6px;font-size:13px}.top{gap:2px 10px}}
