:root{--abyss-950:#03101a;--abyss-900:#061826;--abyss-800:#0a2131;--abyss-700:#103049;--bathos-700:#085a83;--bathos-600:#0a6f9e;--bathos-500:#0c86bd;--bathos-400:#17a3dd;--bathos-300:#46c2f1;--paper:#fff;--paper-2:#f4f7f9;--ink-900:#0a1620;--ink-700:#33454f;--ink-500:#61717a;--line:#e4e9ec;--foam:#eaf3f7;--foam-dim:#9db2be;--line-dark:#ffffff1a;--r:4px;--r-lg:10px;--container:1180px;--pad:clamp(20px, 5vw, 40px);--section-y:clamp(76px, 10vw, 132px);--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--paper);color:var(--ink-900);font-feature-settings:"ss01", "cv01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}h1,h2,h3,h4,p,ul,figure{margin:0}a{color:inherit;text-decoration:none}ul{padding:0;list-style:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--container);padding-inline:var(--pad);margin:0 auto}.section{padding-block:var(--section-y)}.section--dark{background:var(--abyss-900);color:var(--foam)}.section--alt{background:var(--paper-2)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--bathos-600);font-size:.78rem;font-weight:600}.section--dark .eyebrow{color:var(--bathos-300)}.section__head{max-width:720px;margin-bottom:clamp(40px,5vw,64px)}.section__head h2{letter-spacing:-.025em;margin-top:14px;font-size:clamp(1.9rem,3.6vw,2.85rem);font-weight:800;line-height:1.08}.section__head .lead{color:var(--ink-500);max-width:620px;margin-top:18px;font-size:clamp(1.02rem,1.4vw,1.2rem)}.section--dark .section__head .lead{color:var(--foam-dim)}.btn{letter-spacing:-.01em;border-radius:var(--r);cursor:pointer;transition:background-color .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);white-space:nowrap;border:1px solid #0000;align-items:center;gap:9px;padding:13px 22px;font-family:inherit;font-size:.98rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--bathos-500);color:#fff}.btn--primary:hover{background:var(--bathos-400)}.btn--ghost{border-color:var(--line);color:var(--ink-900);background:0 0}.btn--ghost:hover{border-color:var(--bathos-500);color:var(--bathos-600)}.section--dark .btn--ghost{border-color:var(--line-dark);color:var(--foam)}.section--dark .btn--ghost:hover{border-color:var(--bathos-300);color:var(--bathos-300)}.btn .arrow{transition:transform .18s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.header{z-index:50;-webkit-backdrop-filter:saturate(160%)blur(12px);backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--line-dark);background:#04283cd9;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;min-height:52px;padding-block:5px;display:flex}.header__brand{align-items:center;gap:10px;display:flex}.header__brand img{width:auto;height:50px}.header__nav{align-items:center;gap:30px;display:flex}.header__links{gap:26px;display:flex}.header__links a{color:#fff;transition:color .15s var(--ease);font-size:.92rem;font-weight:500}.header__links a:hover{color:var(--bathos-300)}.header__actions{align-items:center;gap:14px;display:flex}.langswitch{align-items:center;gap:11px;display:inline-flex}.langswitch a{opacity:.9;transition:opacity .15s var(--ease), transform .15s var(--ease);align-items:center;line-height:1;display:flex}.langswitch svg{filter:drop-shadow(0 1px 2.5px #00000080);width:auto;height:20px;display:block}.langswitch a:hover{opacity:1}.langswitch a[aria-current=true]{opacity:1;transform:scale(1.14)}.header__ghost-github{color:#fff;align-items:center;gap:7px;font-size:.9rem;font-weight:600;display:inline-flex}.header__ghost-github:hover{color:var(--bathos-300)}.hero{color:var(--foam);background:linear-gradient(#04283c 0%,#12496b 55%,#1d6c94 100%);align-items:center;min-height:clamp(560px,74vh,780px);padding-block:clamp(84px,12vw,150px) clamp(64px,10vw,120px);display:flex;position:relative;overflow:hidden}.hero:after{content:"";background:var(--line-dark);height:1px;position:absolute;bottom:0;left:0;right:0}.hero__logo{z-index:1;width:min(720px,90%);height:auto;margin:0 auto clamp(26px,4vw,46px);display:block;position:relative}.hero__inner{z-index:1;max-width:860px;position:relative}.hero__eyebrow{font-family:var(--font-mono);letter-spacing:.02em;color:var(--bathos-300);margin-bottom:26px;font-size:.86rem}.hero h1{letter-spacing:-.03em;white-space:pre-line;font-size:clamp(1.6rem,4.4vw,3rem);font-weight:800;line-height:1.1}.hero__sub{color:#d9e8f0;flex-direction:column;align-items:center;gap:12px;margin-top:26px;display:flex}.hero__sub-lead{max-width:680px;font-size:clamp(1rem,1.55vw,1.12rem);line-height:1.5}.hero__sub-body{white-space:pre-line;max-width:680px;font-size:clamp(1.08rem,1.7vw,1.32rem);line-height:1.55}@media (min-width:980px){.hero__sub-lead{white-space:nowrap;max-width:none}}.hero__actions{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.hero__tag{font-family:var(--font-mono);color:#c2dae5;align-items:center;gap:10px;margin-top:34px;font-size:.82rem;display:inline-flex}.hero__tag:before{content:"";background:var(--bathos-400);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #17a3dd2e}.compare{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.compare__head,.compare__row{grid-template-columns:1fr 1fr;display:grid}.compare__head>div{letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:16px 22px;font-size:.82rem;font-weight:700}.compare__head .is-plain{color:var(--ink-500);background:var(--paper-2)}.compare__head .is-bathos{color:var(--bathos-600);border-left:1px solid var(--line)}.compare__row>div{border-bottom:1px solid var(--line);padding:20px 22px;font-size:1.02rem}.compare__row:last-child>div{border-bottom:none}.compare__row .is-plain{color:var(--ink-500);background:var(--paper-2)}.compare__row .is-bathos{color:var(--ink-900);border-left:1px solid var(--line);font-weight:600}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.models__brand{align-items:center;gap:8px;display:inline-flex}.models__brand .brandlogo{flex:none;width:16px;height:16px}.models__note{max-width:760px;color:var(--muted);margin-top:30px;font-size:1.02rem}.models .section__head{max-width:100%}.models .section__head h2{font-size:clamp(1.35rem,3.1vw,2.3rem)}@media (min-width:1000px){.models .section__head h2{white-space:nowrap}}.plane{border:1px solid var(--line-dark);border-radius:var(--r-lg);background:var(--abyss-800);padding:34px}.plane__tag{font-family:var(--font-mono);color:var(--bathos-300);letter-spacing:.02em;font-size:.8rem}.plane h3{letter-spacing:-.02em;margin:14px 0 12px;font-size:1.5rem;font-weight:700}.plane p{color:var(--foam-dim);font-size:1.02rem}.waves{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.wave{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);transition:border-color .18s var(--ease), transform .18s var(--ease);flex:0 calc(25% - 12px);padding:24px;position:relative}.wave:hover{border-color:var(--bathos-500);transform:translateY(-3px)}.wave__code{font-family:var(--font-mono);color:var(--bathos-600);letter-spacing:.04em;font-size:.82rem;font-weight:700}.wave--star{border-color:var(--bathos-500)}.wave h3{letter-spacing:-.015em;margin:10px 0 8px;font-size:1.12rem;font-weight:700}.wave__team{color:var(--bathos-600);margin-bottom:10px;font-size:.8rem;font-weight:600}.wave__desc{color:var(--ink-500);font-size:.92rem;line-height:1.5}.heart{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);margin-top:28px;padding:24px 28px}.heart__label{letter-spacing:.06em;text-transform:uppercase;color:var(--bathos-600);font-size:.8rem;font-weight:700}.heart p{color:var(--ink-700);margin-top:10px;font-size:1.02rem}.table{border-collapse:collapse;border:1px solid var(--line);border-radius:var(--r-lg);width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:16px 20px;font-size:.98rem}.table td{color:#fff}.table th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);background:var(--paper-2);font-size:.78rem;font-weight:700}.table tr:last-child td{border-bottom:none}.table td:first-child{font-family:var(--font-mono);color:#fff;width:84px;font-weight:700}.roles{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.role{border:1px solid var(--line);border-radius:var(--r);transition:border-color .16s var(--ease);align-items:baseline;gap:14px;padding:16px 18px;display:flex}.role:hover{border-color:var(--bathos-500)}.role--lead{background:var(--abyss-900);color:var(--foam);border-color:#0000}.role__n{font-family:var(--font-mono);color:var(--bathos-600);min-width:22px;font-size:.78rem;font-weight:700}.role--lead .role__n{color:var(--bathos-300)}.role__name{letter-spacing:-.01em;color:var(--ink-900);font-weight:700}.role--lead .role__name{color:var(--foam)}.role__role{color:var(--ink-500);font-size:.9rem}.role--lead .role__role{color:var(--foam-dim)}.role__wave{font-family:var(--font-mono);color:var(--ink-500);border:1px solid var(--line);border-radius:var(--r);margin-left:auto;padding:2px 7px;font-size:.74rem}.role--lead .role__wave{color:var(--foam-dim);border-color:var(--line-dark)}.verdicts{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.verdict{border:1px solid #ffffff29;border-top:3px solid var(--bathos-500);border-radius:var(--r);background:#ffffff0d;padding:24px}.verdict--pass{border-top-color:#17a3dd}.verdict--concerns{border-top-color:#d99a2b}.verdict--fail{border-top-color:#d0454c}.verdict__v{font-family:var(--font-mono);letter-spacing:.02em;font-size:1.05rem;font-weight:700}.verdict__meaning{margin-top:8px;font-weight:600}.verdict__effect{color:var(--ink-500);margin-top:6px;font-size:.92rem}.audit{border:1px solid var(--line);border-radius:var(--r);background:var(--paper-2);margin-top:26px;padding:22px 24px}.audit h3{font-size:1.05rem;font-weight:700}.audit p{color:var(--ink-700);margin-top:6px;font-size:.98rem}.audit code{font-family:var(--font-mono);color:var(--bathos-600);font-size:.88em}.engine{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:36px;display:grid}.engine__points{gap:2px;display:grid}.engine__point{border-bottom:1px solid var(--line-dark);padding:20px 0}.engine__point:last-child{border-bottom:none}.engine__point dt{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.engine__point dd{color:var(--foam-dim);margin:6px 0 0;font-size:.98rem}.codecard{border:1px solid var(--line-dark);border-radius:var(--r-lg);background:var(--abyss-950);overflow:hidden}.codecard__bar{border-bottom:1px solid var(--line-dark);align-items:center;gap:7px;padding:13px 16px;display:flex}.codecard__bar span{background:var(--line-dark);border-radius:50%;width:10px;height:10px}.codecard__body{font-family:var(--font-mono);color:var(--foam);padding:20px 18px;font-size:.86rem;line-height:1.7;overflow-x:auto}.codecard__caption{color:var(--foam-dim);margin-top:14px;font-size:.9rem}.tok-key{color:var(--bathos-300)}.tok-dim{color:var(--foam-dim)}.cta{text-align:center}.cta__inner{max-width:720px;margin:0 auto}.cta h2{letter-spacing:-.03em;white-space:nowrap;font-size:clamp(1.35rem,4vw,3rem);font-weight:800;line-height:1.06}.cta .lead{color:var(--foam-dim);margin-top:18px;font-size:1.12rem}.cta__actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px;display:flex}.footer{color:var(--foam-dim);border-top:1px solid var(--line-dark);background:#02161f;padding-block:56px}.footer__top{flex-wrap:wrap;justify-content:space-between;gap:40px;display:flex}.footer__brand img{width:auto;height:46px;margin-bottom:16px}.footer__brand p{max-width:360px;font-size:.95rem}.footer__links{gap:26px;display:flex}.footer__links a:hover{color:var(--foam)}.footer__bottom{border-top:1px solid var(--line-dark);flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:40px;padding-top:22px;font-size:.85rem;display:flex}.footer__bottom .greek{font-family:var(--font-mono);color:var(--bathos-300)}@media (max-width:900px){.wave{flex-basis:calc(50% - 8px)}.roles{grid-template-columns:repeat(2,1fr)}.engine{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.header__links{display:none}.grid-2,.grid-3,.verdicts,.compare__head,.compare__row{grid-template-columns:1fr}.compare__row .is-bathos,.compare__head .is-bathos{border-left:none;border-top:1px solid var(--line)}}@media (max-width:560px){.wave{flex-basis:100%}.roles{grid-template-columns:1fr}.cta h2{white-space:normal}.role__wave{display:none}}@media (max-width:760px){.hero__logo{width:94%}.hero__inner{max-width:100%}}.chapter{background:linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 75%, var(--bgn)) 25%, color-mix(in srgb, var(--bg) 50%, var(--bgn)) 50%, color-mix(in srgb, var(--bg) 25%, var(--bgn)) 75%, var(--bgn) 100%);color:var(--fg)}.chapter .section__head h2{color:var(--fg)}.chapter .section__head .lead{color:var(--muted)}.chapter .btn--ghost{border-color:var(--fg);color:var(--fg)}.chapter .btn--ghost:hover{border-color:var(--bathos-500);color:var(--bathos-500)}.d1{--bg:#eef8fc;--bgn:#d7edf6;--fg:#0a1620;--muted:#52707c}.d2{--bg:#bfe0ee;--bgn:#a3d3e9;--fg:#0a1620;--muted:#43606c}.d3{--bg:#a3d3e9;--bgn:#6fb5d5;--fg:#0a1620;--muted:#3a5560}.d4{--bg:#6fb5d5;--bgn:#3a93bf;--fg:#0a1620;--muted:#29434f}.d5{--bg:#3a93bf;--bgn:#2c80aa;--fg:#06202c;--muted:#0d3140}.d6{--bg:#2c80aa;--bgn:#25769f;--fg:#06202c;--muted:#0d3140}.d6b{--bg:#25769f;--bgn:#1d6c94;--fg:#06202c;--muted:#0d3140}.d7{--bg:#1d6c94;--bgn:#0e5178;--fg:#eaf3f7;--muted:#cfe6f1}.d8{--bg:#0e5178;--bgn:#073a56;--fg:#eaf3f7;--muted:#a6c4d5}.d9{--bg:#073a56;--bgn:#063149;--fg:#eaf3f7;--muted:#93b7c9}.d10{--bg:#063149;--bgn:#04283c;--fg:#eaf3f7;--muted:#93b7c9}.d11{--bg:#04283c;--bgn:#02161f;--fg:#eaf3f7;--muted:#8fb2c5}.d12{--bg:#02161f;--bgn:#010b10;--fg:#eaf3f7;--muted:#7ea6ba}.d13{--bg:#010b10;--bgn:#00090d;--fg:#eaf3f7;--muted:#789fb3}.d14{--bg:#00090d;--bgn:#00060a;--fg:#eaf3f7;--muted:#6f97ac}.chapter.d4 .section__head h2,.chapter.d5 .section__head h2,.chapter.d6 .section__head h2,.chapter.d6b .section__head h2{color:#f5fbfe}.chapter.d4 .section__head .lead,.chapter.d5 .section__head .lead,.chapter.d6 .section__head .lead,.chapter.d6b .section__head .lead{color:#dcecf5}.plane{background:var(--paper);border-color:var(--line)}.plane__tag{color:var(--bathos-600)}.plane h3{color:var(--ink-900)}.plane p{color:var(--ink-500)}.chapter .role:not(.role--lead){background:var(--paper)}.verdict__v,.verdict__meaning{color:#fff}.audit h3{color:var(--ink-900)}.audit p{color:var(--ink-700)}.chapter .engine__point dd{color:var(--muted)}.hero .btn--ghost{border-color:var(--line-dark);color:var(--foam);display:none}.hero .btn--ghost:hover{border-color:var(--bathos-300);color:var(--bathos-300)}.hero .container{text-align:center;flex-direction:column;align-items:center;display:flex}.hero__actions{justify-content:center}.install__steplabel{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--bathos-600);margin-bottom:15px;font-size:.78rem;font-weight:700}.pcar{margin-bottom:10px}.pcar__viewport{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);overflow:hidden;box-shadow:0 18px 44px -26px #03101a8c}.pcar__track{transition:transform .55s var(--ease);display:flex}.pslide{flex:0 0 100%;min-width:0;padding:26px 26px 28px}.pslide__head{align-items:center;gap:18px;margin-bottom:20px;display:flex}.pslide__logos{border-right:1px solid var(--line);flex-shrink:0;align-items:center;gap:13px;padding-right:18px;display:flex}.osicon{width:30px;height:30px;color:var(--ink-900);display:block}.pslide__meta h3{letter-spacing:-.015em;color:var(--ink-900);flex-wrap:wrap;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.pslide__shell{font-family:var(--font-mono);letter-spacing:.02em;color:var(--bathos-600);border:1px solid var(--line);border-radius:var(--r);background:var(--paper-2);padding:2px 8px;font-size:.72rem;font-weight:600}.pslide__meta p{color:var(--ink-500);margin-top:6px;font-size:.92rem;line-height:1.5}.pcar .codecard{border-radius:var(--r-lg)}.pcar__progress{background:#0a16201f;border-radius:2px;height:3px;margin-top:16px;position:relative;overflow:hidden}.pcar__progressfill{transform-origin:0;background:var(--bathos-500);animation-name:pcarfill;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;inset:0;transform:scaleX(0)}@keyframes pcarfill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.pcar__nav{justify-content:center;align-items:center;gap:18px;margin-top:16px;display:flex}.pcar__arrow{border-radius:var(--r);width:34px;height:34px;color:var(--ink-700);cursor:pointer;transition:color .2s var(--ease), transform .2s var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.pcar__arrow:hover{color:var(--bathos-600);transform:scale(1.12)}.pcar__arrow svg{width:18px;height:18px}.pcar__dots{align-items:center;gap:11px;display:flex}.pcar__dot{border:1px solid var(--bathos-600);cursor:pointer;width:9px;height:9px;transition:transform .2s var(--ease), background .2s var(--ease);background:0 0;border-radius:50%;padding:0}.pcar__dot:hover{background:#0c86bd59}.pcar__dot.is-active{background:var(--bathos-500);transform:scale(1.35)}.pcar__arrow:focus-visible,.pcar__dot:focus-visible{outline:2px solid var(--bathos-500);outline-offset:2px}.install__link{margin-top:42px}.install__link .codecard{border-radius:var(--r)}.install__link .install__stephead{align-items:center}.install__link .install__step h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.install__drive{margin-top:42px}.install__step{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);padding:22px 24px}.install__stephead{align-items:baseline;gap:15px;margin-bottom:14px;display:flex}.install__step h3{letter-spacing:-.015em;color:var(--ink-900);font-size:1.1rem;font-weight:700}.install__step p{color:var(--ink-500);margin-top:4px;font-size:.95rem}.install__drive .codecard{border-radius:var(--r)}.install__note{color:var(--muted);margin-top:24px;font-size:.9rem}@media (max-width:640px){.pslide__head{flex-direction:column;align-items:flex-start;gap:13px}.pslide__logos{border-right:none;padding-right:0}}@media (prefers-reduced-motion:reduce){.pcar__track{transition:none}}.verdict__effect{color:#ffffffd1}.chapter{border-top:1px solid #fff9}.footer{border-top:1px solid #ffffff80}.ladder{border-top:1px solid var(--line-dark);margin:0 0 46px;padding:0;list-style:none}.rung{border-bottom:1px solid var(--line-dark);grid-template-columns:38px minmax(0,.85fr) minmax(0,1.15fr);align-items:baseline;gap:20px;padding:17px 0;display:grid}.rung__n{font-family:var(--font-mono);color:var(--bathos-300);font-size:.95rem}.rung h3{letter-spacing:-.015em;font-size:1.06rem;font-weight:700}.rung p{color:var(--muted);font-size:.97rem}.rung--last h3{color:var(--bathos-300)}.guard{border:1px solid var(--line-dark);border-radius:var(--r-lg);background:#ffffff08;padding:26px 28px}.guard__label{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--bathos-300);font-size:.78rem}.guard ul{gap:11px;margin:18px 0 0;padding:0;list-style:none;display:grid}.guard li{padding-left:22px;font-size:.98rem;position:relative}.guard li:before{content:"✓";color:var(--bathos-300);position:absolute;left:0}.guard__note{border-top:1px solid var(--line-dark);color:var(--muted);margin-top:20px;padding-top:18px;font-size:.92rem}.ladder__intensity{font-family:var(--font-mono);color:var(--bathos-300);margin-top:12px;font-size:.84rem}.ladder__credit{color:var(--muted);margin-top:36px;font-size:.85rem}.chapter .codecard__caption{color:var(--muted)}@media (max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}.rung{grid-template-columns:30px minmax(0,1fr)}.rung p{grid-column:2}}.runtimes{flex-wrap:wrap;gap:10px;margin:0 0 40px;padding:0;list-style:none;display:flex}.runtime{border:1px solid color-mix(in srgb, currentColor 20%, transparent);border-radius:var(--r);background:#ffffff8c;align-items:center;gap:9px;padding:9px 14px;display:inline-flex}.runtime .brandlogo{flex:none;width:15px;height:15px}.runtime__name{font-size:.95rem;font-weight:600}.runtime__how{font-family:var(--font-mono);color:var(--muted);font-size:.76rem}.failover__run{margin-top:36px}
