:root{--ink-900:#172033;--ink-700:#344054;--ink-500:#667085;--paper-50:#f7f8f4;--surface:#fff;--border:#dde2e8;--blue:#2563eb;--blue-hover:#1d4ed8;--teal:#0f766e;--teal-tint:#e8f5f2;--amber:#d97706;--amber-tint:#fff7e6;--red:#b91c1c;--red-tint:#fef2f2;--shadow-soft:0 16px 40px #17203314;--radius-card:16px;--radius-control:10px;--content-width:1180px;--reading-width:760px}.disabled-action{opacity:.55;cursor:not-allowed}.key-input-row{min-width:0;display:flex}.key-input-row input{flex:auto;min-width:0}.key-input-row .icon-button{white-space:nowrap;flex:none;min-width:64px}.copy-error,.cost-notice{color:var(--ink-500);font-size:.78rem}.cost-notice{margin:0}.cost-notice a{color:var(--blue);font-weight:750}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink-900);background:var(--paper-50);margin:0;font-family:Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif;font-size:16px;line-height:1.65}button,input,textarea,select{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #2563eb73}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em;line-height:1.2}h1{font-size:clamp(2.15rem,4vw,3rem)}h2{font-size:clamp(1.65rem,2.5vw,2.15rem)}h3{font-size:1.2rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;color:var(--surface);background:var(--ink-900);border-radius:8px;padding:10px 14px;transition:transform .18s;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-wrap{width:min(var(--content-width), calc(100% - 40px));margin-inline:auto}.eyebrow{color:var(--teal);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:800}.microcopy{color:var(--ink-500);font-size:.85rem}.button{border-radius:var(--radius-control);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 18px;font-weight:750;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:var(--surface);background:var(--blue)}.button-primary:hover{background:var(--blue-hover)}.button-secondary{color:var(--blue);background:var(--surface);border-color:var(--blue)}.button-secondary:hover{background:#eff6ff}.button-quiet{color:var(--ink-900);border-color:var(--border);background:0 0}.button-quiet:hover{border-color:var(--ink-900);background:var(--surface)}.gi-pulse{animation:2.2s ease-in-out infinite gi-pulse}@keyframes gi-pulse{0%,to{box-shadow:0 0 #2563eb52}50%{box-shadow:0 0 0 8px #2563eb08}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:hover{transform:none}}@media (width<=640px){.section-wrap{width:min(100% - 28px, var(--content-width))}.button{width:100%}}.app-shell{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.site-header{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f8f4f0;position:sticky;top:0}.header-inner,.footer-inner{width:min(var(--content-width), calc(100% - 40px));margin-inline:auto}.header-inner{align-items:center;gap:28px;min-height:78px;display:flex}.brand{color:var(--ink-900);flex:none;align-items:center;gap:9px;font-size:.85rem;font-weight:850;line-height:1.15;text-decoration:none;display:inline-flex}.brand-mark{width:31px;height:31px;color:var(--surface);background:var(--ink-900);border-radius:9px;place-items:center;font-size:.8rem;display:grid}.primary-nav{flex:1;justify-content:center;gap:4px;display:flex}.primary-nav a{color:var(--ink-700);border-radius:8px;padding:8px 10px;font-size:.9rem;font-weight:650;text-decoration:none}.primary-nav a:hover,.primary-nav a.active{color:var(--blue);background:#eef4ff}.header-tools{align-items:center;gap:8px;display:flex}.progress-chip,.connection-chip{border:1px solid var(--border);min-height:34px;color:var(--ink-700);background:var(--surface);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.connection-chip{cursor:pointer}.connection-chip span{color:var(--ink-500);font-size:.7rem}.connection-connected{color:var(--teal);background:var(--teal-tint);border-color:#9dd7cd}.connection-connected span{color:var(--teal)}.connection-error{color:var(--red);background:var(--red-tint);border-color:#efb3b3}.menu-button{border:1px solid var(--border);min-height:40px;color:var(--ink-700);background:var(--surface);border-radius:8px;padding:8px 12px;display:none}.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:88px}.footer-inner{color:var(--ink-500);justify-content:space-between;gap:24px;padding-block:34px;font-size:.82rem;display:flex}.footer-brand{color:var(--ink-900);margin-bottom:3px;font-weight:800}.footer-links{align-items:center;gap:16px;display:flex}.footer-links a{color:var(--ink-700);font-weight:700;text-decoration:none}.update-button{border:1px solid var(--border);min-height:32px;color:var(--ink-700);background:var(--paper-50);border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:750;text-decoration:none;display:inline-flex}.update-button:hover{border-color:var(--blue);color:var(--blue)}@media (width<=980px){.header-inner{gap:14px}.primary-nav{gap:0}.primary-nav a{padding-inline:7px;font-size:.82rem}.progress-chip{display:none}}@media (width<=760px){.header-inner{flex-wrap:wrap;min-height:68px;padding-block:10px;position:relative}.menu-button{margin-left:auto;display:block}.header-tools{order:3;width:100%}.connection-chip{justify-content:center;width:100%}.primary-nav{border-top:1px solid var(--border);flex-direction:column;order:4;align-items:stretch;width:100%;padding:8px 0 4px;display:none}.primary-nav.is-open{display:flex}.primary-nav a{padding:10px 12px}.footer-inner{flex-direction:column}.footer-links{flex-wrap:wrap}}.hero{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:center;gap:clamp(38px,7vw,90px);padding-block:clamp(64px,10vw,120px) 92px;display:grid}.hero-headline{letter-spacing:-.075em;margin-bottom:24px;font-size:clamp(2.6rem,5.8vw,4rem)}.hero h1 em{color:var(--blue);font-style:normal}.hero-lead{max-width:600px;color:var(--ink-700);font-size:1.15rem}.hero-actions{flex-wrap:wrap;gap:10px;margin:30px 0 12px;display:flex}.learning-map{border:1px solid var(--ink-900);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:28px;padding:28px;position:relative;transform:rotate(1.5deg)}.map-label{color:var(--ink-500);letter-spacing:.1em;text-transform:uppercase;margin-bottom:30px;font-size:.78rem;font-weight:800}.map-step{border:1px solid var(--border);background:var(--paper-50);border-radius:16px;grid-template-columns:43px 1fr;align-items:center;gap:2px 13px;padding:17px 18px;display:grid;position:relative}.map-step span{width:36px;height:36px;color:var(--surface);background:var(--ink-900);border-radius:50%;grid-row:span 2;place-items:center;font-family:JetBrains Mono,monospace;font-size:.72rem;display:grid}.map-step strong{font-size:1.1rem}.map-step small{color:var(--ink-500);font-size:.82rem}.map-step-two{background:var(--teal-tint);border-color:#9dd7cd;margin-left:32px}.map-step-two span{background:var(--teal)}.map-step-three{background:#eff4ff;border-color:#b9cdfb;margin-left:64px}.map-step-three span{background:var(--blue)}.map-line{background:var(--border);width:1px;height:27px;margin-left:35px}.quick-start{padding-block:34px 86px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.section-heading h2{margin-bottom:0}.choice-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.choice-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);flex-direction:column;align-items:flex-start;min-height:220px;padding:24px;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex}.choice-card:hover{border-color:var(--blue);box-shadow:var(--shadow-soft);transform:translateY(-3px)}.choice-card strong{margin:13px 0 7px;font-size:1.12rem}.choice-card>span:not(.choice-number):not(.text-link){color:var(--ink-500);font-size:.9rem}.choice-number{color:var(--blue);font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:800}.text-link{color:var(--blue);margin-top:auto;padding-top:22px;font-size:.85rem;font-weight:800}.mission-strip{border:1px solid var(--ink-900);background:#e9eefc;border-radius:18px;justify-content:space-between;align-items:center;gap:28px;padding:32px 36px;display:flex}.mission-strip h2{max-width:720px;margin-bottom:0;font-size:clamp(1.3rem,2.4vw,1.8rem)}.mission-strip .eyebrow{color:var(--blue)}.principles{padding-block:90px 50px}.principles-grid{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.principle{border-right:1px solid var(--border);gap:16px;padding:22px 18px 8px 0;display:grid}.principle:not(:first-child){padding-left:18px}.principle:last-child{border-right:0}.principle span{color:var(--teal);font-family:JetBrains Mono,monospace;font-size:.78rem}.principle strong{font-size:1rem}.source-note{border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--ink-500);align-items:center;gap:16px;margin-top:22px;padding:20px 0;font-size:.85rem;display:flex}.source-note p{margin-bottom:0}.source-note strong{color:var(--ink-900)}.source-note a{color:var(--blue);margin-left:auto;font-weight:750;text-decoration:none}.source-icon{width:36px;height:36px;color:var(--teal);border:2px solid var(--teal);border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.empty-page{text-align:center;padding-block:100px}.empty-page p:not(.eyebrow){color:var(--ink-500)}.empty-page .button{margin-top:18px}.page-intro{padding-block:72px 46px}.page-intro h1{max-width:820px;margin-bottom:16px}.page-intro>p:last-child{max-width:680px;color:var(--ink-700);margin-bottom:0;font-size:1.08rem}.section-block{border-top:1px solid var(--border);padding-block:42px}.compare-grid,.resource-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.compare-card,.resource-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:24px}.compare-featured{background:var(--teal-tint);border-color:#9dd7cd}.compare-tag,.resource-tags span{color:var(--teal);background:#eef8f5;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:800;display:inline-flex}.compare-card h2,.resource-card h2{margin:20px 0 9px;font-size:1.4rem}.compare-card p,.resource-card p{color:var(--ink-500)}.compare-card strong{color:var(--ink-700);font-size:.85rem}.article-grid,.two-column-block,.safety-columns{grid-template-columns:.75fr 1.25fr;gap:34px;display:grid}.numbered-list{gap:18px;margin:0;padding-left:25px;display:grid}.numbered-list li{padding-left:7px}.numbered-list strong,.numbered-list span{display:block}.numbered-list span{color:var(--ink-500);margin-top:4px;font-size:.9rem}.key-invite{border-radius:var(--radius-card);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.key-invite h2{margin-bottom:8px}.key-invite p{color:var(--ink-500);margin-bottom:0}.official-links{grid-template-columns:.8fr 1.2fr;gap:24px;display:grid}.link-list{gap:7px;display:grid}.link-list a,.official-footnote a,.drawer-links a{color:var(--blue);font-weight:750}.next-action{flex-wrap:wrap;gap:10px;padding-block:34px;display:flex}.next-action .button{min-width:190px}.progress-summary{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:190px 1fr auto;align-items:center;gap:20px;margin-bottom:22px;padding:18px 20px;display:grid}.progress-summary .eyebrow,.progress-summary strong{display:block}.progress-summary .eyebrow{margin-bottom:3px}.progress-track{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--teal);height:100%;transition:width .2s;display:block}.text-button,.text-link{color:var(--blue);cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:none}.lesson-list{gap:12px;display:grid}.lesson-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:68px 1fr;gap:20px;padding:23px;display:grid}.lesson-card.is-complete{background:var(--teal-tint);border-color:#9dd7cd}.lesson-number{color:var(--blue);font-family:JetBrains Mono,monospace;font-size:1.6rem;font-weight:800}.lesson-meta{color:var(--ink-500);gap:12px;font-size:.78rem;font-weight:750;display:flex}.lesson-meta span:last-child{color:var(--teal)}.lesson-card h2{margin:7px 0 5px;font-size:1.35rem}.lesson-card p{color:var(--ink-500);margin-bottom:9px}.lesson-detail{grid-template-columns:210px 1fr;gap:55px;display:grid}.lesson-aside{border-top:2px solid var(--ink-900);align-self:start;padding:18px;position:sticky;top:110px}.lesson-aside a{color:var(--blue);font-weight:750;text-decoration:none}.lesson-aside p{color:var(--ink-500);margin:38px 0 5px;font-size:.8rem}.reading-column{width:min(var(--reading-width), calc(100% - 40px));margin-inline:auto}.lesson-detail .reading-column{width:100%;margin:0}.reading-column>section{margin-bottom:48px}.reading-column h2{margin-bottom:12px}.lead-copy{font-size:1.22rem}.step-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.step-list li{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:43px 1fr;align-items:center;gap:14px;padding:14px;display:grid}.step-list span{width:32px;height:32px;color:var(--surface);background:var(--ink-900);border-radius:50%;place-items:center;font-family:JetBrains Mono,monospace;font-size:.72rem;display:grid}.step-list p{margin:0}.example-box,.notice-box,.warning-box{border-radius:14px;padding:21px 23px}.example-box{background:var(--teal-tint);border:1px solid #9dd7cd}.notice-box{background:#eff4ff;border:1px solid #c8d5fa}.warning-box{background:var(--amber-tint);border:1px solid #f1cc92}.example-box p:last-child,.notice-box p:last-child,.warning-box p:last-child{margin-bottom:0}.lesson-actions{flex-wrap:wrap;gap:10px;display:flex}.lesson-actions .button{min-width:190px}.button-complete{color:var(--teal);background:var(--teal-tint);border-color:#9dd7cd}.library-toolbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.library-toolbar label{font-weight:800}.library-toolbar select,.model-select select{border:1px solid var(--border);border-radius:var(--radius-control);min-height:44px;color:var(--ink-900);background:var(--surface);padding:8px 32px 8px 12px}.library-toolbar>span{color:var(--ink-500);margin-left:auto;font-size:.85rem}.resource-grid{grid-template-columns:repeat(2,1fr)}.resource-tags{flex-wrap:wrap;gap:5px;display:flex}.resource-tags span{color:var(--ink-700);background:var(--paper-50)}.resource-meta{font-size:.82rem}.resource-card details{margin-block:16px}.resource-card summary{color:var(--blue);cursor:pointer;font-weight:750}.prompt-preview{border-left:3px solid var(--blue);background:#f5f8ff;padding:13px;font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--ink-700)!important}.build-flow{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.build-flow article{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);min-height:190px;padding:20px}.build-flow span,.check-number{color:var(--blue);font-family:JetBrains Mono,monospace;font-weight:800}.build-flow h2{margin:24px 0 8px;font-size:1.2rem}.build-flow p{color:var(--ink-500);font-size:.9rem}.prompt-quote{border:1px dashed var(--blue);color:var(--ink-700);background:#f5f8ff;align-self:center;padding:25px;font-family:JetBrains Mono,monospace}.safety-flow{gap:10px;max-width:820px;margin-inline:auto;display:grid}.check-row{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;grid-template-columns:24px 42px 1fr;align-items:center;gap:13px;padding:17px 18px;display:grid}.check-row input{width:18px;height:18px;accent-color:var(--teal)}.check-row strong,.check-row small{display:block}.check-row small{color:var(--ink-500)}.check-row.is-checked{background:var(--teal-tint);border-color:#9dd7cd}.safety-columns{margin-top:38px}.review-complete{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding:20px;display:flex}.review-complete p{color:var(--ink-700);margin:0}.disabled-link{pointer-events:none;opacity:.55}.official-footnote{color:var(--ink-500);margin-top:24px;font-size:.85rem}.faq-list details{border-bottom:1px solid var(--border);padding:20px 0}.faq-list summary{color:var(--ink-900);cursor:pointer;font-weight:800}.faq-list details p{color:var(--ink-700);margin:15px 0 0}.update-list article{border-bottom:1px solid var(--border);padding:24px 0}.update-list time{color:var(--teal);font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:800}.update-list h2{margin:9px 0;font-size:1.3rem}.update-list p{color:var(--ink-500)}.prompt-builder,.playground-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:1fr 1fr;gap:28px;padding:26px;display:grid}.builder-fields,.builder-preview{align-content:start;gap:12px;display:grid}.builder-fields h2,.builder-preview h2{margin-bottom:5px;font-size:1.35rem}.prompt-field{gap:5px;display:grid}.prompt-field span,.field-label{color:var(--ink-700);font-size:.85rem;font-weight:800}.prompt-field input,.builder-preview textarea,.key-input-row input{border:1px solid var(--border);border-radius:var(--radius-control);width:100%;color:var(--ink-900);background:var(--paper-50);padding:11px 12px}.prompt-field input{min-height:46px}.builder-preview textarea{resize:vertical;min-height:340px;font-family:JetBrains Mono,monospace;font-size:.83rem;line-height:1.6}.preview-heading,.drawer-heading{justify-content:space-between;align-items:start;gap:15px;display:flex}.copy-status,.connected-label{color:var(--teal);font-weight:800}.sensitive-alert{color:var(--red);background:var(--red-tint);border:1px solid #efb3b3;border-radius:10px;padding:12px 14px}.field-help,.client-warning{color:var(--ink-500);margin:0;font-size:.78rem}.practice-layout{gap:18px;display:grid}.playground-panel{grid-template-columns:1fr}.playground-panel h2{margin-bottom:4px;font-size:1.3rem}.model-select{max-width:450px;color:var(--ink-700);gap:6px;font-weight:800;display:grid}.result-box{background:var(--teal-tint);border:1px solid #9dd7cd;border-radius:12px;padding:18px}.result-label{color:var(--teal);font-size:.75rem;font-weight:800}.result-box p{white-space:pre-wrap;margin:8px 0 0}.drawer-backdrop{z-index:30;background:#17203359;justify-content:flex-end;display:flex;position:fixed;inset:0}.key-drawer{background:var(--surface);width:min(490px,100%);height:100%;padding:31px;overflow:auto;box-shadow:-20px 0 50px #1720332e}.drawer-heading h2{margin-bottom:0;font-size:1.55rem}.icon-button{border:1px solid var(--border);min-width:40px;min-height:40px;color:var(--ink-700);background:var(--surface);cursor:pointer;border-radius:8px;padding:7px}.key-drawer>p{color:var(--ink-700)}.key-input-row{gap:8px;margin-top:7px;display:flex}.key-input-row input{font-family:JetBrains Mono,monospace}.drawer-links{gap:5px;margin-block:16px;font-size:.82rem;display:grid}.connection-status{color:var(--ink-500);margin:10px 0;font-size:.85rem}.connection-status strong{color:var(--ink-900)}.drawer-actions{flex-wrap:wrap;gap:9px;margin-top:22px;display:flex}.button-danger{color:var(--red);background:var(--red-tint);border-color:#efb3b3}.button-danger:hover{background:#fee2e2}@media (width<=820px){.hero{grid-template-columns:1fr;padding-top:64px}.learning-map{width:100%;max-width:620px;margin-inline:auto}.choice-grid{grid-template-columns:1fr}.choice-card{min-height:auto}.principles-grid{grid-template-columns:repeat(2,1fr)}.principle:nth-child(2){border-right:0}.principle:nth-child(n+3){border-top:1px solid var(--border)}.compare-grid,.resource-grid,.build-flow{grid-template-columns:1fr 1fr}.article-grid,.official-links,.two-column-block,.safety-columns,.lesson-detail{grid-template-columns:1fr}.lesson-aside{position:static}.lesson-detail{gap:24px}.prompt-builder{grid-template-columns:1fr}.progress-summary{grid-template-columns:1fr;gap:9px}.review-complete,.key-invite{flex-direction:column;align-items:stretch}}@media (width<=560px){.hero-actions,.hero-actions .button{width:100%}.learning-map{padding:20px}.map-step-two{margin-left:16px}.map-step-three{margin-left:32px}.mission-strip{flex-direction:column;align-items:stretch;padding:25px}.principles-grid{grid-template-columns:1fr}.principle,.principle:not(:first-child){border-right:0;border-bottom:1px solid var(--border);padding:16px 0}.principle:last-child{border-bottom:0}.source-note{flex-wrap:wrap;align-items:flex-start}.source-note a{width:100%;margin-left:52px}.compare-grid,.resource-grid,.build-flow{grid-template-columns:1fr}.page-intro{padding-block:48px 34px}.key-drawer{padding:23px 18px}.lesson-card{grid-template-columns:48px 1fr;gap:11px;padding:18px}.lesson-actions .button,.next-action .button{width:100%}.check-row{grid-template-columns:22px 34px 1fr;gap:8px;padding:14px 11px}}
