@font-face{font-family:DK Sans;src:url('/assets/korean.woff2?v=b702322dac') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--night:#111717;--night2:#1a2221;--paper:#f6f7f4;--white:#fff;--ink:#1d2625;--muted:#636e69;--accent:#bbf78d;--line:#dee4dc;--darkline:#34403a;--max:1180px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DK Sans',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;line-height:1.7;word-break:keep-all;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}svg{vertical-align:middle;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #75ac4b;outline-offset:5px}.wrap{width:min(var(--max),calc(100% - 72px));margin-inline:auto}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:16px;background:var(--accent);color:var(--night);z-index:99;padding:12px}.skip:focus{top:12px}.header{position:sticky;top:0;z-index:30;background:#111717f2;color:#fff;border-bottom:1px solid #2c3631;backdrop-filter:blur(15px)}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-symbol{width:33px;height:33px;display:grid;place-items:center;background:var(--accent);color:var(--night);font-size:16px;font-weight:900;letter-spacing:-2px;padding-right:2px;border-radius:7px}.brand-name{font-size:21px;font-weight:800;letter-spacing:-.8px}.brand-name small{font-size:11px;letter-spacing:1.4px;font-weight:500;margin-left:7px;color:#c6cec7}.nav{display:flex;gap:28px;align-items:center;font-size:13px;color:#b5c1ba}.nav a:hover{color:var(--accent)}.nav .nav-button{border:1px solid #52604f;padding:9px 15px;border-radius:5px;color:#e8f2e2;display:flex;gap:12px;align-items:center}.menu-toggle{display:none;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #52604f;background:none;color:white;border-radius:5px}.hero{background:var(--night);color:white;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(#7384720b 1px,transparent 1px),linear-gradient(90deg,#7384720b 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(to right,transparent,#000);pointer-events:none}.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:55px;padding-block:86px 78px;position:relative}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:650;display:flex;gap:10px;align-items:center}.eyebrow::before{content:'';width:6px;height:6px;background:currentColor}.hero h1{font-size:clamp(40px,4.1vw,58px);line-height:1.33;letter-spacing:-2.9px;margin:25px 0 25px;font-weight:750}.hero h1 em{font-style:normal;color:var(--accent)}.hero-description{font-size:15px;line-height:2;color:#afbbb2;max-width:465px;margin:0}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:31px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;font-size:13px;font-weight:700;background:var(--accent);color:var(--night);padding:14px 22px;border-radius:5px;border:1px solid transparent;min-height:50px;transition:background .2s,transform .2s}.button:hover{background:#c9f9a8;transform:translateY(-2px)}.button.ghost{background:transparent;color:#d3dfd5;border-color:#45513f}.button.ghost:hover{background:#243020}.hero-note{display:flex;gap:9px;align-items:center;color:#87948a;font-size:10px;margin:24px 0 0;letter-spacing:.2px}.hero-visual{position:relative;min-height:430px;display:grid;place-items:center}.architecture{width:100%;position:relative;padding:25px 0;transform:perspective(1000px) rotateY(-8deg) rotateX(3deg)}.diagram-frame{border:1px solid #485441;background:#1b2421f0;border-radius:10px;box-shadow:25px 35px 60px #0005;overflow:hidden}.diagram-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 19px;font-size:9px;color:#a0b39d;border-bottom:1px solid #384733;letter-spacing:1.5px}.diagram-dots{display:flex;gap:5px}.diagram-dots i{width:4px;height:4px;background:#697c5e;border-radius:50%}.diagram-body{padding:24px 25px 28px}.diagram-label{font-size:8px;letter-spacing:2px;color:#96a78a;text-align:center;margin:0 0 15px}.diagram-sources{display:flex;gap:10px;justify-content:center}.diagram-node{border:1px solid #495643;background:#29342a;border-radius:5px;padding:11px 8px;color:#d4decf;display:flex;align-items:center;gap:8px;font-size:9px;justify-content:center;flex:1}.diagram-node svg{color:var(--accent)}.diagram-link{height:31px;width:1px;background:#809c68;margin:auto;position:relative}.diagram-link::after{content:'';position:absolute;bottom:-1px;left:-3px;width:7px;height:7px;border:1px solid #a0be82;background:#263724;border-radius:50%}.engine{position:relative;background:var(--accent);color:var(--night);margin:0 50px;border-radius:7px;padding:20px 14px;text-align:center;box-shadow:0 0 50px #a6ff7520}.engine small{font-size:8px;letter-spacing:2.5px;display:block}.engine strong{font-size:28px;letter-spacing:-1.5px;font-weight:850;display:block}.engine .engine-detail{font-size:9px;color:#435335;margin-top:3px}.diagram-storage{display:flex;gap:10px}.diagram-storage .diagram-node{background:#1b241b}.diagram-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:23px;font-size:8px;color:#b9c8ad;letter-spacing:.8px}.diagram-bottom span{display:flex;align-items:center;gap:6px}.diagram-bottom i{width:5px;height:5px;border-radius:50%;background:#9bb780}.visual-caption{position:absolute;bottom:-9px;left:30px;right:10px;border-left:1px solid #829673;padding:10px 14px;font-size:9px;letter-spacing:.5px;color:#82927c}.hero-baseline{border-top:1px solid #2c3631}.baseline-inner{display:flex;gap:38px;align-items:center;padding-block:23px;color:#b5c0b6;font-size:11px;letter-spacing:.6px}.baseline-inner span:first-child{font-size:9px;letter-spacing:1.6px;color:#7e9180;margin-right:auto}.baseline-inner span:not(:first-child){display:flex;gap:10px;align-items:center}.baseline-inner svg{color:#90aa7d}.section{padding-block:90px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:38px}.label{font-size:10px;letter-spacing:2px;font-weight:700;color:#607d4f;margin-bottom:14px}.section h2{font-size:36px;letter-spacing:-1.7px;line-height:1.4;margin:0;font-weight:750}.section-head>p{font-size:13px;color:var(--muted);max-width:345px;line-height:1.95;margin:0 0 3px}.overview{background:var(--paper)}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--line)}.module{padding:30px 24px 29px 0}.module+.module{border-left:1px solid var(--line);padding-left:24px}.module-number{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#7c8e70;letter-spacing:1px}.module-number svg{color:#3e5d31}.module h3{font-size:19px;letter-spacing:-.7px;margin:30px 0 15px}.module p{font-size:12px;color:var(--muted);line-height:2;margin:0}.module ul{padding:0;margin:22px 0 0;list-style:none;font-size:11px;color:#4f6051}.module li{display:flex;gap:8px;align-items:baseline;margin-top:7px}.module li::before{content:'+';color:#799863}.scope-note{font-size:11px;line-height:1.9;color:#798372;margin:18px 0 0;display:flex;align-items:flex-start;gap:8px}.scope-note svg{margin-top:3px}.workspace-section{background:#e8ede5;border-block:1px solid #d8e0d2}.section-head .text-link{font-size:12px;display:flex;align-items:center;gap:14px;white-space:nowrap;color:#4e693a}.tabs{display:none;gap:9px;margin-bottom:30px}.js .tabs{display:flex}.tab{background:none;color:#53644b;border:1px solid #c8d3c1;border-radius:5px;font-size:12px;font-weight:650;padding:10px 21px}.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:white}.panel{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:56px}.panel+.panel{margin-top:35px}.js .panel+.panel{margin-top:0}.panel-kicker{font-size:9px;letter-spacing:1.5px;color:#6b8360;margin-bottom:18px}.panel h3{font-size:29px;line-height:1.55;letter-spacing:-1.1px;margin:0 0 18px}.panel-description{color:#66715f;font-size:13px;line-height:2;margin:0}.panel-points{list-style:none;padding:0;margin:24px 0 0;color:#4e6141;font-size:12px}.panel-points li{display:flex;align-items:flex-start;gap:9px;margin-top:12px}.panel-points svg{margin-top:3px}.sample-app{background:#fff;border:1px solid #d0dac8;border-radius:10px;overflow:hidden;box-shadow:0 17px 40px #29371e09}.sample-app-bar{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.1px;padding:15px 19px;border-bottom:1px solid #e0e7da;color:#829173}.demo-badge{border:1px solid #d5dfce;background:#f5f8f2;padding:2px 7px;border-radius:3px;color:#6b8654;letter-spacing:.8px;font-size:8px}.sample-body{padding:24px}.sample-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.sample-heading strong{font-size:16px;letter-spacing:-.5px}.sample-heading p{font-size:9px;color:#8b9484;margin:6px 0 0}.sample-icon{width:37px;height:37px;border-radius:9px;display:grid;place-items:center;background:#eef4e8;color:#698a4d}.sample-grid{display:grid;grid-template-columns:1fr 1fr 1fr;color:#8a9484;font-size:9px;padding:0 12px 10px;gap:10px}.sample-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:10px;border:1px solid #e5eade;border-radius:6px;margin-top:8px;padding:15px 12px;font-size:11px}.sample-row strong{font-weight:600;display:flex;gap:8px;align-items:center}.sample-row svg{color:#829970}.sample-row>span{color:#7c8773;font-size:10px}.sample-row code{font-family:inherit;font-size:8px;letter-spacing:.7px;color:#56743d;background:#eff5e8;border-radius:3px;padding:4px 7px;justify-self:start}.sample-bottom{font-size:9px;line-height:1.9;color:#849079;margin:21px 0 0;padding-top:14px;border-top:1px solid #edf0e8;display:flex;gap:7px;align-items:flex-start}.sample-bottom svg{margin-top:3px}.flow-section{background:#fff}.flow-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;align-items:start}.flow-intro{position:sticky;top:115px}.flow-intro p{font-size:14px;color:var(--muted);line-height:2;margin:23px 0 0;max-width:340px}.flow-list{list-style:none;padding:0;margin:0}.flow-item{display:grid;grid-template-columns:43px 1fr;gap:22px;padding-bottom:30px;position:relative}.flow-item::after{content:'';position:absolute;left:21px;top:43px;bottom:0;width:1px;background:#d9e4d2}.flow-item:last-child{padding-bottom:0}.flow-item:last-child::after{display:none}.flow-number{width:43px;height:43px;border:1px solid #d8e3cf;display:grid;place-items:center;background:#f3f7ef;border-radius:50%;font-size:11px;color:#617e4c;font-weight:750}.flow-item h3{font-size:19px;margin:6px 0 11px;letter-spacing:-.6px}.flow-item p{font-size:13px;color:var(--muted);line-height:2;margin:0}.flow-tag{display:inline-block;color:#73886a;font-size:9px;letter-spacing:.9px;margin-top:11px}.principles{background:var(--night);color:#eef2eb}.principles .label{color:#a0c886}.principles .section-head p{color:#9cac9e}.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.principle{border:1px solid #3b4737;border-radius:7px;padding:28px 28px 27px;background:#1a231c}.principle .principle-icon{color:var(--accent)}.principle h3{font-size:20px;letter-spacing:-.7px;margin:25px 0 13px}.principle p{font-size:13px;color:#a1b099;line-height:2;margin:0}.principle footer{margin-top:23px;padding-top:16px;border-top:1px solid #34432e;color:#809973;font-size:10px;letter-spacing:.8px}.glossary-section{border-bottom:1px solid var(--line)}.glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px;margin:0}.glossary>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:24px 0;border-top:1px solid var(--line)}.glossary dt{font-size:13px;font-weight:700;color:#43583c}.glossary dt small{display:block;font-size:9px;color:#7e8d76;letter-spacing:.8px;margin-top:4px;font-weight:500}.glossary dd{font-size:12px;color:var(--muted);line-height:1.95;margin:0}.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq-intro p{font-size:13px;color:var(--muted);line-height:2;margin:19px 0 0}.faq-list{border-top:1px solid #cfd9c6}details{border-bottom:1px solid var(--line)}summary{list-style:none;position:relative;cursor:pointer;padding:21px 32px 21px 0;font-size:14px;font-weight:650}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:4px;top:18px;color:#7d9171;font-size:21px;font-weight:400}details[open] summary::after{content:'−'}.faq-answer{font-size:12px;line-height:2;color:var(--muted);padding:0 23px 21px 0;margin:0}.closing{padding:0 0 74px}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#e7f1de;border:1px solid #d7e5ca;border-radius:8px;padding:32px 36px}.closing h2{font-size:22px;letter-spacing:-.8px;margin:0 0 7px}.closing p{font-size:12px;color:#6c7f5d;margin:0}.closing .button{background:var(--ink);color:#eef4e8;flex-shrink:0}.footer{background:var(--night);color:#8d9f8b;padding:38px 0 24px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer .brand-name{color:#e8eee5;font-size:19px}.footer-links{display:flex;flex-wrap:wrap;gap:23px;font-size:11px}.footer-description{font-size:10px;line-height:1.95;margin:23px 0 25px;max-width:720px}.footer-bottom{border-top:1px solid #2f3b2d;padding-top:18px;font-size:9px;letter-spacing:.5px;display:flex;gap:20px;justify-content:space-between}.document-head{padding:64px 0 42px;background:#e9eee5}.breadcrumbs{font-size:11px;color:#76846b;margin-bottom:22px}.document-head h1{font-size:36px;letter-spacing:-1.3px;line-height:1.45;margin:10px 0 15px}.document-head p{font-size:14px;color:var(--muted)}.prose{max-width:820px;padding:45px 0 75px}.prose h2{font-size:23px;letter-spacing:-.6px;margin:32px 0 14px}.prose h2:first-child{margin-top:0}.prose p,.prose li{font-size:14px;color:var(--muted);line-height:2}.prose a{color:#557d3c;text-decoration:underline;text-underline-offset:3px}.prose ul{padding-left:20px}.not-found{padding:100px 0;text-align:center}.not-found h1{font-size:38px}.not-found p{color:var(--muted);margin-bottom:25px}
@media(max-width:1050px){.hero-inner{gap:32px}.hero h1{font-size:45px;letter-spacing:-2px}.hero-visual{min-height:370px}.engine{margin-inline:35px}.engine strong{font-size:24px}.diagram-body{padding-inline:18px}.nav{gap:22px}.module{padding-right:18px}.module+.module{padding-left:18px}.module h3{font-size:16px}.panel{gap:35px}.panel h3{font-size:26px}.flow-layout{gap:55px}.faq-layout{gap:50px}.glossary{column-gap:35px}.glossary>div{grid-template-columns:110px 1fr;gap:15px}.section h2{font-size:31px}.diagram-node{font-size:8px;gap:6px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{height:68px}.brand-name{font-size:19px}.brand-name small{font-size:9px}.brand-symbol{width:30px;height:30px;font-size:15px}.menu-toggle{display:flex}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--night);border-bottom:1px solid #35432e;padding:15px 20px 21px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 20px #0002}.nav.is-open{display:flex}.nav>a{padding:12px}.nav .nav-button{margin-top:7px;justify-content:center;padding:12px}.hero-inner{grid-template-columns:1fr;gap:31px;padding-block:46px 50px}.hero h1{font-size:43px;letter-spacing:-2px;margin:21px 0}.hero-description{font-size:13px;max-width:450px}.eyebrow{font-size:8px;letter-spacing:1.7px}.actions{margin-top:25px;gap:10px}.button{font-size:12px;padding:12px 17px;gap:14px;min-height:47px}.hero-note{font-size:9px;margin-top:20px}.hero-visual{min-height:346px;max-width:460px;width:100%;justify-self:center}.architecture{transform:none;padding:0}.diagram-body{padding:22px 19px}.diagram-top{font-size:8px;padding:13px 17px}.engine{margin-inline:42px;padding:18px 12px}.engine strong{font-size:27px}.diagram-node{font-size:8px;gap:7px;padding:10px 5px}.diagram-node svg{width:14px;height:14px}.diagram-link{height:27px}.diagram-label{font-size:7px}.diagram-bottom{font-size:7px;margin-top:20px}.visual-caption{bottom:-18px;left:8px;font-size:8px;padding:7px 11px}.baseline-inner{gap:14px;flex-wrap:wrap;padding-block:20px;font-size:9px;justify-content:space-between}.baseline-inner span:first-child{display:none}.baseline-inner span:not(:first-child){gap:6px}.baseline-inner svg{width:13px;height:13px}.section{padding-block:54px}.section-head{display:block;margin-bottom:28px}.section h2{font-size:29px;letter-spacing:-1.2px}.label{font-size:8px;letter-spacing:1.7px;margin-bottom:11px}.section-head>p{font-size:12px;max-width:420px;margin:17px 0 0}.section-head .text-link{font-size:11px;margin-top:18px}.module-grid{grid-template-columns:1fr 1fr}.module{padding:24px 20px 23px 0}.module+.module{padding:24px 0 23px 20px}.module:nth-child(odd){border-left:0;padding-left:0;padding-right:20px}.module:nth-child(n+3){border-top:1px solid var(--line)}.module h3{font-size:16px;margin:23px 0 11px}.module p{font-size:11px}.module ul{font-size:10px;margin-top:18px}.module-number{font-size:9px}.module-number svg{width:17px;height:17px}.scope-note{font-size:10px;margin-top:15px}.tabs{gap:7px;margin-bottom:24px}.tab{font-size:11px;padding:10px 16px;flex:1;white-space:nowrap}.panel{grid-template-columns:1fr;gap:26px}.panel-kicker{font-size:8px;margin-bottom:13px}.panel h3{font-size:24px;letter-spacing:-.9px;margin-bottom:13px}.panel-description{font-size:12px}.panel-points{margin-top:17px;font-size:11px}.panel-points li{margin-top:9px}.sample-body{padding:20px 17px}.sample-app-bar{font-size:8px;padding:12px 16px}.sample-heading strong{font-size:15px}.sample-heading p{font-size:8px}.sample-grid{font-size:8px;padding-inline:10px}.sample-row{padding:13px 10px;gap:7px;font-size:10px}.sample-row>span{font-size:9px}.sample-row code{font-size:7px;letter-spacing:.3px;padding:4px}.sample-row svg{width:12px;height:12px}.sample-row strong{gap:5px}.sample-bottom{font-size:8px;padding-top:12px;margin-top:16px}.flow-layout{grid-template-columns:1fr;gap:32px}.flow-intro{position:static}.flow-intro p{font-size:12px;margin-top:17px;max-width:none}.flow-item{grid-template-columns:35px 1fr;gap:17px;padding-bottom:25px}.flow-number{width:35px;height:35px;font-size:10px}.flow-item::after{left:17px;top:35px}.flow-item h3{font-size:17px;margin:3px 0 9px}.flow-item p{font-size:12px}.flow-tag{font-size:8px;margin-top:8px}.principle-grid{grid-template-columns:1fr;gap:16px}.principle{padding:25px}.principle h3{font-size:20px;margin:18px 0 11px}.principle p{font-size:12px}.principle footer{font-size:9px;margin-top:19px;padding-top:14px}.glossary{grid-template-columns:1fr}.glossary>div{grid-template-columns:110px 1fr;padding:21px 0;gap:17px}.glossary dt{font-size:12px}.glossary dd{font-size:11px}.glossary dt small{font-size:8px}.faq-layout{grid-template-columns:1fr;gap:24px}.faq-intro p{font-size:12px;margin-top:14px}summary{font-size:13px;padding-block:18px}summary::after{top:14px}.faq-answer{font-size:12px;padding-right:5px}.closing{padding-bottom:45px}.closing-inner{align-items:flex-start;flex-direction:column;padding:25px;gap:21px}.closing h2{font-size:21px}.closing p{font-size:11px;line-height:1.9}.closing .button{font-size:11px;min-height:44px}.footer{padding-top:30px}.footer-main{align-items:flex-start;flex-direction:column;gap:22px}.footer-links{font-size:10px;gap:21px}.footer-description{font-size:9px;margin-block:20px}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:9px}.document-head{padding:35px 0 29px}.document-head h1{font-size:29px}.document-head p{font-size:12px}.prose{padding-block:30px 50px}.prose h2{font-size:21px}.prose p,.prose li{font-size:13px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:37px}.hero-visual{min-height:325px}.hero-description br{display:none}.brand-name small{letter-spacing:1px;font-size:8px}.module-grid{grid-template-columns:1fr}.module,.module+.module,.module:nth-child(odd){border-left:0;padding:23px 0}.module+.module{border-top:1px solid var(--line)}.module h3{font-size:19px}.module p{font-size:12px}.module ul{font-size:11px}.module-number svg{width:22px;height:22px}.sample-body{padding-inline:13px}.sample-row{padding-inline:8px}.glossary>div{grid-template-columns:94px 1fr;gap:13px}.tab{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
