:root{--ju-bg: #0b0b0a;--ju-surface: #141412;--ju-text: #f2f1ea;--ju-muted: #8f9088;--ju-line: #2b2b28;--ju-signal: #d8ff4f;--ju-signal-soft: rgba(216, 255, 79, .14);--ju-glow: rgba(216, 255, 79, .45);--ju-font: Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;--ju-mono: ui-monospace, SFMono-Regular, "D2Coding", Menlo, Consolas, monospace;--ju-rail: 188px;--ju-pad: clamp(18px, 4vw, 64px);--ju-motion-fast: .18s;--ju-motion-base: .32s;--ju-motion-slow: .7s;--ju-ease-signal: cubic-bezier(.2, .7, .2, 1);--ju-signal-glow: 0 0 12px var(--ju-glow)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body.signal{margin:0;min-width:320px;background:var(--ju-bg);color:var(--ju-text);font-family:var(--ju-font);line-height:1.6;overflow-x:clip}body.signal a{color:inherit;text-decoration:none}body.signal img,body.signal svg,body.signal pre{max-width:100%}body.signal :focus-visible{outline:2px solid var(--ju-signal);outline-offset:3px}body.signal ::selection{background:var(--ju-signal);color:var(--ju-bg)}.rail{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;flex-direction:column;width:var(--ju-rail);padding:28px 0 20px;background:var(--ju-bg);border-right:1px solid var(--ju-line)}.rail-mark{width:46px;margin:0 0 36px var(--ju-pad);color:var(--ju-text)}.rail-mark svg{width:100%;height:auto;display:block}.rail-toggle{display:none;min-height:44px;margin-right:12px;padding:0 12px;border:1px solid var(--ju-line);background:transparent;color:var(--ju-text);font-family:var(--ju-mono);font-size:11px;letter-spacing:.14em}.rail-nav{display:flex;flex-direction:column}.rail-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 var(--ju-pad);color:var(--ju-muted);font-family:var(--ju-mono);font-size:11px;letter-spacing:.14em}.rail-item:hover,.rail-item[aria-current=page]{color:var(--ju-text)}.rail-dot{width:6px;height:6px;border-radius:50%;background:transparent;box-shadow:none}.rail-item[aria-current=page] .rail-dot{background:var(--ju-signal);box-shadow:0 0 10px var(--ju-glow)}.rail-account{display:flex;align-items:center;gap:8px;margin:auto var(--ju-pad) 0;min-height:44px;color:var(--ju-muted);font-family:var(--ju-mono);font-size:11px;letter-spacing:.08em}.rail-account img{width:28px;height:28px;border-radius:50%;object-fit:cover}.rail-foot{margin:16px var(--ju-pad) 0;color:var(--ju-muted);font-family:var(--ju-mono);font-size:9px;letter-spacing:.16em}.main{margin-left:var(--ju-rail);max-width:calc(100% - var(--ju-rail));padding:0 var(--ju-pad) 48px}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.85fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:calc(100svh - 48px);padding:72px 0 48px;border-bottom:1px solid var(--ju-line)}.kicker,.micro{margin:0;color:var(--ju-muted);font-family:var(--ju-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.hero h1,.display{margin:0;font-size:clamp(40px,6vw,76px);font-weight:760;letter-spacing:-.045em;line-height:.96;text-wrap:balance}.hero h1 span,.display span{display:block}.lede{max-width:38rem;margin:18px 0 0;color:var(--ju-muted);font-size:17px;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.btn-signal,.btn-ghost,body.signal a.btn-signal,body.signal a.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid transparent;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.btn-signal,body.signal a.btn-signal{background:var(--ju-signal);color:var(--ju-bg)}.btn-signal:hover,body.signal a.btn-signal:hover{background:var(--ju-text);color:var(--ju-bg)}.btn-signal,.btn-ghost{transition:background var(--ju-motion-fast) var(--ju-ease-signal),border-color var(--ju-motion-fast) var(--ju-ease-signal),box-shadow var(--ju-motion-base) var(--ju-ease-signal)}.btn-signal span[aria-hidden],.btn-ghost span[aria-hidden]{display:inline-block;transition:transform var(--ju-motion-base) var(--ju-ease-signal)}.btn-signal:hover span[aria-hidden],.btn-signal:focus-visible span[aria-hidden],.btn-ghost:hover span[aria-hidden],.btn-ghost:focus-visible span[aria-hidden]{transform:translate(5px)}.btn-signal:focus-visible,.btn-signal:hover{box-shadow:var(--ju-signal-glow)}.btn-ghost:hover span[aria-hidden],.btn-ghost:focus-visible span[aria-hidden]{color:var(--ju-signal)}.section a:not([class]),.note a:not([class]),.foot a,.docs-nav a{background-image:linear-gradient(var(--ju-signal),var(--ju-signal));background-repeat:no-repeat;background-size:0 1px;background-position:0 100%;transition:background-size var(--ju-motion-base) var(--ju-ease-signal),color var(--ju-motion-fast)}.section a:not([class]):hover,.section a:not([class]):focus-visible,.note a:not([class]):hover,.note a:not([class]):focus-visible,.foot a:hover,.foot a:focus-visible,.docs-nav a:hover,.docs-nav a:focus-visible{background-size:100% 1px;color:var(--ju-text)}.btn-ghost,body.signal a.btn-ghost{background:transparent;border-color:var(--ju-line);color:var(--ju-text)}.btn-ghost:hover,body.signal a.btn-ghost:hover{border-color:var(--ju-text)}.btn-signal[aria-disabled=true],.btn-ghost[aria-disabled=true]{opacity:.45;pointer-events:none}.signal-art{position:relative;min-height:280px;display:grid;place-items:center}.signal-art svg{width:min(100%,420px);height:auto;overflow:visible}.signal-art circle{transform-box:fill-box;transition:transform var(--ju-motion-slow) var(--ju-ease-signal),fill var(--ju-motion-base) var(--ju-ease-signal),opacity var(--ju-motion-base) var(--ju-ease-signal)}.signal-art .hot{fill:var(--ju-signal)}.signal-art .dim{fill:var(--ju-text);opacity:.35}.signal-art circle.is-near{fill:var(--ju-signal);opacity:1;filter:drop-shadow(0 0 4px var(--ju-glow))}.hero .signal-art .hot{animation:ju-breathe 4.2s var(--ju-ease-signal) infinite alternate;animation-delay:calc(var(--i, 0) * 60ms)}@keyframes ju-breathe{0%{opacity:.55}to{opacity:1}}.rail-mark svg circle{transform-box:fill-box;transform-origin:center}.rail-mark .mark-signal{transition:filter var(--ju-motion-base) var(--ju-ease-signal)}.rail-mark:hover .mark-signal,.rail-mark:focus-visible .mark-signal{filter:drop-shadow(0 0 5px var(--ju-glow))}.rail-mark.is-live g circle{animation:ju-mark-travel var(--ju-motion-slow) var(--ju-ease-signal) both;animation-delay:calc(var(--i, 0) * 22ms)}.rail-mark.is-live .mark-signal{animation:ju-mark-pulse var(--ju-motion-slow) var(--ju-ease-signal) both}@keyframes ju-mark-travel{0%{fill:currentColor;transform:translateY(0)}35%{fill:var(--ju-signal);transform:translateY(-2px)}to{fill:currentColor;transform:translateY(0)}}@keyframes ju-mark-pulse{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.signal-word{position:absolute;font-size:clamp(72px,10vw,140px);font-weight:800;letter-spacing:-.06em;line-height:.8;opacity:.9}.flow{display:grid;gap:8px;margin:28px 0 0;padding:0;list-style:none}.flow li{position:relative;display:grid;grid-template-columns:9rem minmax(0,1fr);gap:12px;align-items:baseline;padding-left:16px}.flow li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--ju-line);transition:background var(--ju-motion-fast) var(--ju-ease-signal),box-shadow var(--ju-motion-base) var(--ju-ease-signal)}.flow li:after{content:"";position:absolute;left:2.5px;top:calc(.55em + 8px);width:1px;height:calc(100% - 2px);background:var(--ju-line)}.flow li:last-child:after{display:none}.flow strong{font-family:var(--ju-mono);font-size:11px;font-weight:500;letter-spacing:.14em;transition:color var(--ju-motion-fast) var(--ju-ease-signal)}.flow span{color:var(--ju-muted);transition:color var(--ju-motion-fast)}.flow li:hover:before,.flow li:focus-within:before{background:var(--ju-signal);box-shadow:var(--ju-signal-glow)}.flow li:hover strong,.flow li:focus-within strong{color:var(--ju-signal)}.flow li:hover span,.flow li:focus-within span{color:var(--ju-text)}.flow li:hover+li:before,.flow li:has(+li:hover):before{background:var(--ju-muted)}.flow.is-live li:before{animation:ju-node-light var(--ju-motion-slow) var(--ju-ease-signal) both;animation-delay:calc(var(--i, 0) * 90ms)}.flow.is-live li:last-child:before{animation-name:ju-node-complete}@keyframes ju-node-light{0%{background:var(--ju-line);box-shadow:none}40%{background:var(--ju-signal);box-shadow:var(--ju-signal-glow)}to{background:var(--ju-line);box-shadow:none}}@keyframes ju-node-complete{0%{background:var(--ju-line);box-shadow:none}50%{background:var(--ju-signal);box-shadow:var(--ju-signal-glow)}to{background:var(--ju-signal);box-shadow:none}}.flow i{display:block;width:1px;height:14px;margin:4px 0 4px 4.2rem;background:var(--ju-line)}.band{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:24px;padding:clamp(56px,8vw,96px) 0;border-bottom:1px solid var(--ju-line)}.band-no{color:var(--ju-signal);font-family:var(--ju-mono);font-size:12px;letter-spacing:.14em}.band h2{margin:0 0 18px;font-size:clamp(28px,4vw,46px);letter-spacing:-.03em;line-height:1.15}.rows{list-style:none;margin:0;padding:0}.proj-row,.plain-row{position:relative;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;padding:16px 0 16px 18px;border-top:1px solid var(--ju-line)}.proj-row:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--ju-line);transition:background var(--ju-motion-fast) var(--ju-ease-signal),box-shadow var(--ju-motion-base) var(--ju-ease-signal)}.proj-row:after{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;background:linear-gradient(90deg,var(--ju-signal),var(--ju-signal) 40%,transparent);transform:scaleX(0);transform-origin:left;transition:transform var(--ju-motion-slow) var(--ju-ease-signal)}.proj-row .arrow{transition:transform var(--ju-motion-base) var(--ju-ease-signal),color var(--ju-motion-fast)}.proj-row .idx{transition:color var(--ju-motion-fast)}.proj-row:hover,.proj-row:focus-visible,.proj-row:focus-within{outline-offset:-2px}.proj-row:hover:before,.proj-row:focus-visible:before,.proj-row:focus-within:before{background:var(--ju-signal);box-shadow:var(--ju-signal-glow)}.proj-row:hover:after,.proj-row:focus-visible:after,.proj-row:focus-within:after{transform:scaleX(1)}.proj-row:hover .arrow,.proj-row:focus-visible .arrow,.proj-row:focus-within .arrow{transform:translate(6px);color:var(--ju-signal)}.proj-row:hover .idx,.proj-row:focus-visible .idx,.proj-row:focus-within .idx{color:var(--ju-signal)}.idx,.meta{color:var(--ju-muted);font-family:var(--ju-mono);font-size:12px;letter-spacing:.06em}.name{font-size:22px;letter-spacing:-.03em;overflow-wrap:anywhere}.sub{color:var(--ju-muted)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.filters button{min-height:36px;padding:0 12px;border:1px solid var(--ju-line);border-radius:999px;background:transparent;color:var(--ju-muted);font-family:var(--ju-mono);font-size:11px;letter-spacing:.08em;cursor:pointer}.filters button[aria-pressed=true]{border-color:var(--ju-text);color:var(--ju-text);box-shadow:inset 0 -2px 0 var(--ju-signal)}.detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.7fr);gap:32px;align-items:end;padding:64px 0 28px}.facts{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:22px}.facts p{margin:4px 0 0}.terminal,.sig-code pre,.code{overflow-x:auto;margin:12px 0 0;padding:16px;background:var(--ju-surface);color:var(--ju-text);border:1px solid var(--ju-line);font-family:var(--ju-mono);font-size:.92rem;line-height:1.55}.sig-code{position:relative}.sig-code button,.ed-code button{position:absolute;top:20px;right:8px;min-height:32px;border:1px solid var(--ju-text);background:var(--ju-bg);color:var(--ju-text);font-family:var(--ju-mono);font-size:11px;cursor:pointer}.section{margin-top:42px}.section h2{margin:0 0 10px;font-family:var(--ju-mono);font-size:12px;font-weight:500;letter-spacing:.12em}.section p,.note{margin:0;line-height:1.65;overflow-wrap:anywhere}.note{white-space:pre-wrap;color:var(--ju-muted)}.form,.ed-form{display:grid;gap:14px;max-width:36rem;margin-top:22px}.form label,.ed-form label{display:grid;gap:6px;font-size:14px}.form input,.form textarea,.form select,.ed-form input,.ed-form textarea,.ed-form select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ju-line);background:transparent;color:var(--ju-text);font:inherit}.form textarea,.ed-form textarea{min-height:120px}.form button,.ed-form button{justify-self:start}.status,.ed-status{min-height:1.4em;margin:8px 0 0}.status.error,.ed-status.error{color:var(--ju-signal)}.list,.ed-list{list-style:none;margin:18px 0 0;padding:0}.list li,.ed-list li{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--ju-line)}.search{display:flex;align-items:center;gap:10px;max-width:36rem;min-height:48px;margin-top:18px;padding:0 14px;border:1px solid var(--ju-line)}.search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ju-text);font:inherit;min-height:44px}.foot{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:48px;padding-top:22px;border-top:1px solid var(--ju-line);color:var(--ju-muted);font-family:var(--ju-mono);font-size:11px;letter-spacing:.12em}.qa{margin:18px 0 0}.qa dt{margin-top:18px;font-weight:700;overflow-wrap:anywhere}.qa dd{margin:6px 0 0;color:var(--ju-muted);line-height:1.65;overflow-wrap:anywhere}.qa dd code,.section code{font-family:var(--ju-mono);font-size:.9em;color:var(--ju-text)}.section h3{margin:28px 0 8px;font-size:16px;letter-spacing:-.01em}.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;margin-top:24px;background:var(--ju-line);border:1px solid var(--ju-line)}.compare>div{padding:18px;background:var(--ju-bg)}.compare>div>p:nth-child(2){margin:8px 0;font-size:20px;letter-spacing:-.02em}.compare>div:last-child .micro{color:var(--ju-signal)}.docs-nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin:18px 0}.docs-nav a{font-family:var(--ju-mono);font-size:11px;letter-spacing:.08em}.stat-row{display:flex;flex-wrap:wrap;gap:18px 36px;margin:28px 0}.stat-row strong{display:block;font-size:clamp(32px,5vw,52px);letter-spacing:-.04em}.profile{display:flex;align-items:center;gap:14px}.profile img{width:48px;height:48px;border-radius:50%;object-fit:cover}@media(max-width:860px){.rail{position:sticky;top:0;width:100%;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:8px var(--ju-pad);border-right:0;border-bottom:1px solid var(--ju-line)}.rail-mark{width:36px;margin:0 auto 0 0}.rail-toggle{display:inline-flex;align-items:center}.rail-nav{display:none;width:100%;order:5;padding-top:8px}.rail.is-open .rail-nav{display:flex}.rail-account,.rail-foot{display:none}.rail.is-open .rail-account{display:flex;width:100%;margin:8px 0 0}.main{margin-left:0;max-width:100%}.hero,.detail,.band{grid-template-columns:1fr}.hero{min-height:0;padding-top:36px}.signal-art{order:-1;min-height:180px}}@media(max-width:390px){:root{--ju-pad: 16px}.hero h1,.display{font-size:34px}.name{font-size:18px}.flow li{grid-template-columns:1fr}.flow i{margin-left:0}}html.js-reveal .reveal .band-no,html.js-reveal .reveal>h2,html.js-reveal .reveal .kicker{opacity:0;transform:translateY(6px);transition:opacity var(--ju-motion-slow) var(--ju-ease-signal),transform var(--ju-motion-slow) var(--ju-ease-signal)}html.js-reveal .reveal .flow li:before{opacity:0;transition:opacity var(--ju-motion-base) var(--ju-ease-signal),background var(--ju-motion-fast),box-shadow var(--ju-motion-base)}html.js-reveal .reveal.is-in .band-no,html.js-reveal .reveal.is-in>h2,html.js-reveal .reveal.is-in .kicker{opacity:1;transform:none}html.js-reveal .reveal.is-in .flow li:before{opacity:1;transition-delay:calc(var(--i, 0) * 70ms)}html[data-motion=touch] .hero .signal-art .hot{animation-duration:6s}html[data-motion=touch] .proj-row:active:before{background:var(--ju-signal)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.signal-art circle{transform:none!important}.rail-mark.is-live g circle{fill:currentColor}.hero .signal-art .hot{opacity:1}}
