/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:host,:root{--font-sans:"Pretendard","Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-blue-gray-50:#f0f1f3;--color-blue-gray-100:#e4e5e9;--color-blue-gray-200:#c6c9d1;--color-blue-gray-300:#abb1bc;--color-blue-gray-400:#8f96a5;--color-blue-gray-500:#787f8c;--color-blue-gray-600:#636873;--color-blue-gray-700:#4c5059;--color-blue-gray-800:#383b42;--color-blue-gray-900:#23262b;--color-blue-gray-950:#1b1d21;--color-blue-primary-50:#f1f3fd;--color-blue-primary-100:#e3e7fc;--color-blue-primary-200:#c4cdf9;--color-blue-primary-300:#a7b6f6;--color-blue-primary-400:#899ff3;--color-blue-primary-500:#6486ef;--color-blue-primary-600:#3a70eb;--color-blue-primary-700:#2d5dc8;--color-blue-primary-800:#22499f;--color-blue-primary-900:#18377c;--color-blue-primary-950:#0a1d48;--font-inter:"Inter","Pretendard",system-ui,sans-serif}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.block{display:block}.flex{display:flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--header-h:48px;--shadow-card:0 1px 2px #1b1d210a,0 1px 3px #1b1d210f;--shadow-card-hover:0 4px 12px #1b1d2114,0 2px 4px #1b1d210d;--shadow-pop:0 8px 28px #1b1d2124}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;color:var(--color-blue-gray-900);background:#fff}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}:focus-visible{outline:2px solid var(--color-blue-primary-500);outline-offset:2px}body[data-theme=ide]{background:var(--color-blue-gray-950);color:var(--color-blue-gray-200)}body[data-theme=canvas]{background:var(--color-blue-gray-50)}body[data-theme=clean]{background:#fff}.badge,.btn,.metric,.num{font-family:var(--font-inter);font-feature-settings:"tnum" 1}.kf-header{z-index:100;height:var(--header-h);border-bottom:.5px solid var(--color-blue-gray-100);background:#fff;align-items:center;gap:20px;padding:0 20px;display:flex;position:sticky;top:0}.kf-header.is-dark{background:var(--color-blue-gray-950);border-bottom:.5px solid var(--color-blue-gray-800);color:var(--color-blue-gray-200)}.kf-brand{flex-shrink:0;align-items:center;gap:9px;display:flex}.kf-logomark{background:var(--color-blue-primary-700);color:#fff;width:26px;height:26px;border-radius:7px;place-items:center;font-size:15px;display:grid}.kf-brand-name,.kf-logomark{font-family:var(--font-inter);letter-spacing:-.02em;font-weight:700}.kf-brand-name{color:var(--color-blue-gray-900);font-size:16px}.is-dark .kf-brand-name{color:#fff}.kf-nav{align-items:center;gap:2px;display:flex}.kf-nav a{color:var(--color-blue-gray-600);border-radius:var(--radius-sm);white-space:nowrap;padding:6px 11px;font-size:13.5px;font-weight:500;transition:background .12s,color .12s}.kf-nav a:hover{background:var(--color-blue-gray-50);color:var(--color-blue-gray-900)}.kf-nav a.is-active{background:var(--color-blue-primary-100);color:var(--color-blue-primary-700)}.is-dark .kf-nav a{color:var(--color-blue-gray-400)}.is-dark .kf-nav a:hover{background:var(--color-blue-gray-900);color:var(--color-blue-gray-100)}.is-dark .kf-nav a.is-active{background:var(--color-blue-primary-900);color:var(--color-blue-primary-200)}.kf-header-spacer{flex:1}.kf-header-actions{align-items:center;gap:6px;display:flex}.kf-iconbtn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-blue-gray-500);place-items:center;transition:background .12s,color .12s;display:grid}.kf-iconbtn:hover{background:var(--color-blue-gray-50);color:var(--color-blue-gray-800)}.kf-iconbtn.is-active{background:var(--color-blue-primary-100);color:var(--color-blue-primary-700)}.is-dark .kf-iconbtn{color:var(--color-blue-gray-400)}.is-dark .kf-iconbtn:hover{background:var(--color-blue-gray-900);color:var(--color-blue-gray-100)}.kf-iconbtn svg{width:17px;height:17px}.kf-lang{border:1px solid var(--color-blue-gray-200);border-radius:var(--radius-sm);align-items:center;height:30px;display:inline-flex;overflow:hidden}.is-dark .kf-lang{border-color:var(--color-blue-gray-700)}.kf-lang a,.kf-lang button{font-family:var(--font-inter);height:100%;color:var(--color-blue-gray-500);background:0 0;align-items:center;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.kf-lang a.is-active,.kf-lang button.is-active{background:var(--color-blue-primary-700);color:#fff}.is-dark .kf-lang a,.is-dark .kf-lang button{color:var(--color-blue-gray-400)}.is-dark .kf-lang a.is-active,.is-dark .kf-lang button.is-active{background:var(--color-blue-primary-700);color:#fff}.kf-search{border-radius:var(--radius-sm);background:var(--color-blue-gray-50);height:30px;color:var(--color-blue-gray-500);border:1px solid #0000;align-items:center;gap:7px;min-width:180px;padding:0 10px;transition:border .12s,background .12s;display:flex}.kf-search:focus-within{border-color:var(--color-blue-primary-300);background:#fff}.kf-search svg{flex-shrink:0;width:15px;height:15px}.kf-search input{font-family:var(--font-sans);color:var(--color-blue-gray-900);background:0 0;border:none;outline:none;width:100%;font-size:13px}.kf-search input::placeholder{color:var(--color-blue-gray-400)}.is-dark .kf-search{background:var(--color-blue-gray-900);color:var(--color-blue-gray-500)}.is-dark .kf-search input{color:var(--color-blue-gray-100)}.btn{border-radius:var(--radius-md);white-space:nowrap;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 16px;font-size:14px;font-weight:600;transition:background .12s,color .12s,box-shadow .12s,transform 40ms;display:inline-flex}.btn:active{transform:translateY(.5px)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--color-blue-primary-700);color:#fff}.btn-primary:hover{background:var(--color-blue-primary-800)}.btn-ghost{background:var(--color-blue-gray-50);color:var(--color-blue-gray-700)}.btn-ghost:hover{background:var(--color-blue-gray-100)}.btn-outline{border:1px solid var(--color-blue-gray-200);color:var(--color-blue-gray-700);background:#fff}.btn-outline:hover{background:var(--color-blue-gray-50)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-sm,.seg{border-radius:var(--radius-sm)}.seg{background:var(--color-blue-gray-50);gap:2px;padding:3px}.seg,.seg button{display:inline-flex}.seg button{font-family:var(--font-inter);color:var(--color-blue-gray-500);border-radius:4px;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:600;transition:background .12s,color .12s,box-shadow .12s}.seg button svg{width:14px;height:14px}.seg button.is-active{color:var(--color-blue-primary-700);box-shadow:var(--shadow-card);background:#fff}.seg.is-dark{background:var(--color-blue-gray-900)}.seg.is-dark button{color:var(--color-blue-gray-500)}.seg.is-dark button.is-active{background:var(--color-blue-gray-800);color:var(--color-blue-primary-300);box-shadow:none}.badge{background:var(--color-blue-primary-100);color:var(--color-blue-primary-700);letter-spacing:-.01em;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-gray{background:var(--color-blue-gray-100);color:var(--color-blue-gray-600)}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.tool-page{max-width:1180px;margin:0 auto;padding:0 24px 72px}.kf-pagehead{padding:36px 0 24px}.kf-pagehead .ph-eyebrow{font-family:var(--font-inter);letter-spacing:.01em;color:var(--color-blue-primary-700);background:var(--color-blue-primary-100);border-radius:999px;align-items:center;gap:7px;margin-bottom:16px;padding:4px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.kf-pagehead .ph-eyebrow .ph-theme{color:var(--color-blue-gray-400);font-weight:500}.kf-pagehead .ph-eyebrow .ph-sep{color:var(--color-blue-primary-300)}.kf-pagehead h1{letter-spacing:-.025em;color:var(--color-blue-gray-950);flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 10px;font-size:30px;font-weight:700;line-height:1.15;display:flex}.kf-pagehead h1 .ph-ko{color:var(--color-blue-gray-400);letter-spacing:-.01em;font-size:15px;font-weight:500}.kf-pagehead .ph-lead{color:var(--color-blue-gray-600);text-wrap:pretty;max-width:70ch;margin:0;font-size:15px;line-height:1.65}.kf-pagehead .ph-how{flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;display:flex}.kf-pagehead .ph-step{color:var(--color-blue-gray-500);align-items:center;gap:8px;font-size:13px;display:inline-flex}.kf-pagehead .ph-step b{width:20px;height:20px;font-family:var(--font-inter);background:var(--color-blue-primary-100);color:var(--color-blue-primary-700);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.kf-pagehead.is-dark h1{color:#fff}.kf-pagehead.is-dark h1 .ph-ko{color:var(--color-blue-gray-500)}.kf-pagehead.is-dark .ph-lead{color:var(--color-blue-gray-400)}.kf-pagehead.is-dark .ph-eyebrow{background:var(--color-blue-primary-900);color:var(--color-blue-primary-200)}.kf-pagehead.is-dark .ph-eyebrow .ph-theme,.kf-pagehead.is-dark .ph-step{color:var(--color-blue-gray-500)}.kf-pagehead.is-dark .ph-step b{background:var(--color-blue-primary-900);color:var(--color-blue-primary-200)}@media (max-width:640px){.kf-pagehead{padding:26px 0 20px}.kf-pagehead h1{font-size:24px}}.kf-mono{font-family:var(--font-mono)}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.hub-main{max-width:1140px;margin:0 auto;padding:0 24px 96px}.hub-hero{padding:64px 0 40px}.hub-eyebrow{font-family:var(--font-inter);color:var(--color-blue-primary-700);background:var(--color-blue-primary-100);border-radius:999px;align-items:center;gap:7px;margin-bottom:20px;padding:5px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.hub-eyebrow:before{content:"";background:var(--color-blue-primary-600);border-radius:50%;width:6px;height:6px}.hub-hero h1{letter-spacing:-.03em;color:var(--color-blue-gray-950);text-wrap:balance;max-width:16ch;margin:0 0 16px;font-size:44px;font-weight:700;line-height:1.12}.hub-hero h1 .accent{color:var(--color-blue-primary-700)}.hub-hero p{color:var(--color-blue-gray-600);text-wrap:pretty;max-width:52ch;margin:0;font-size:17px;line-height:1.6}.hub-herobar{flex-wrap:wrap;gap:14px;margin-top:28px}.hub-bigsearch,.hub-herobar{align-items:center;display:flex}.hub-bigsearch{background:var(--color-blue-gray-50);border:1px solid var(--color-blue-gray-200);border-radius:var(--radius-lg);flex:1;gap:10px;min-width:340px;max-width:460px;height:48px;padding:0 16px;transition:border .12s,background .12s,box-shadow .12s}.hub-bigsearch:focus-within{border-color:var(--color-blue-primary-400);box-shadow:0 0 0 3px var(--color-blue-primary-100);background:#fff}.hub-bigsearch svg{width:19px;height:19px;color:var(--color-blue-gray-400);flex-shrink:0}.hub-bigsearch input{width:100%;font-family:var(--font-sans);color:var(--color-blue-gray-900);background:0 0;border:none;outline:none;font-size:15px}.hub-bigsearch input::placeholder{color:var(--color-blue-gray-400)}.hub-stat{font-family:var(--font-inter);color:var(--color-blue-gray-500);font-size:13px;font-weight:500}.hub-stat b{color:var(--color-blue-gray-900);font-weight:700}.cat{padding-top:44px}.cat-head{align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.cat-head h2{letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:700;font-family:var(--font-inter);color:var(--color-blue-primary-700);margin:0}.cat-head .cat-ko{letter-spacing:-.02em;color:var(--color-blue-gray-950);font-size:19px;font-weight:700}.cat-head .cat-count{font-family:var(--font-inter);color:var(--color-blue-gray-400);margin-left:auto;font-size:13px;font-weight:500}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px;display:grid}.tool{border:1px solid var(--color-blue-gray-200);border-radius:var(--radius-lg);background:#fff;flex-direction:column;min-height:152px;padding:18px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;position:relative}.tool.is-ready{cursor:pointer}.tool.is-ready:hover{border-color:var(--color-blue-primary-300);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.tool.is-soon{background:var(--color-blue-gray-50);border-color:var(--color-blue-gray-100)}.tool-top{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.tool-ico{width:40px;height:40px;font-family:var(--font-mono);background:var(--color-blue-primary-100);color:var(--color-blue-primary-700);letter-spacing:-.02em;border-radius:10px;flex-shrink:0;place-items:center;font-size:13px;font-weight:500;display:grid}.tool.is-soon .tool-ico{background:var(--color-blue-gray-100);color:var(--color-blue-gray-400)}.tool-ico.ico-grad{background:linear-gradient(135deg,var(--color-blue-primary-400),var(--color-blue-primary-800))}.tool-ico.ico-color{background:conic-gradient(from 210deg,var(--color-blue-primary-300),var(--color-blue-primary-700),var(--color-blue-gray-300),var(--color-blue-primary-300))}.tool-fav{width:28px;height:28px;color:var(--color-blue-gray-300);opacity:0;border-radius:7px;place-items:center;margin-left:auto;transition:opacity .12s,color .12s,background .12s;display:grid}.tool:hover .tool-fav{opacity:1}.tool-fav:hover{background:var(--color-blue-gray-50);color:var(--color-blue-gray-500)}.tool-fav.is-on{opacity:1;color:var(--color-blue-primary-600)}.tool-fav svg{width:17px;height:17px}.tool-name{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:5px;display:flex}.tool-en{font-family:var(--font-inter);letter-spacing:-.01em;color:var(--color-blue-gray-950);font-size:15px;font-weight:600}.tool.is-soon .tool-en{color:var(--color-blue-gray-500)}.tool-ko{color:var(--color-blue-gray-400);font-size:12.5px;font-weight:500}.tool-desc{color:var(--color-blue-gray-500);text-wrap:pretty;flex:1;margin:0;font-size:13px;line-height:1.55}.tool.is-soon .tool-desc{color:var(--color-blue-gray-400)}.tool-foot{align-items:center;gap:8px;margin-top:14px;display:flex}.theme-tag{font-family:var(--font-inter);letter-spacing:.01em;color:var(--color-blue-gray-500);background:var(--color-blue-gray-50);border:1px solid var(--color-blue-gray-100);border-radius:5px;padding:2.5px 8px;font-size:11px;font-weight:600}.tool.is-soon .theme-tag{background:#fff}.tool-go{font-family:var(--font-inter);color:var(--color-blue-primary-700);opacity:0;align-items:center;gap:4px;margin-left:auto;font-size:12.5px;font-weight:600;transition:opacity .14s,transform .14s;display:inline-flex;transform:translate(-4px)}.tool.is-ready:hover .tool-go{opacity:1;transform:translate(0)}.tool-go svg{width:14px;height:14px}.soon-tag{font-family:var(--font-inter);margin-left:auto;font-size:11px;font-weight:600}.hub-empty,.soon-tag{color:var(--color-blue-gray-400)}.hub-empty{text-align:center;padding:60px 0;font-size:15px}.hub-footer{border-top:.5px solid var(--color-blue-gray-100);max-width:1140px;color:var(--color-blue-gray-400);align-items:center;gap:10px;margin:0 auto;padding:32px 24px;font-size:13px;display:flex}.hub-footer .kf-logomark{border-radius:5px;width:20px;height:20px;font-size:11px}@media (max-width:640px){.hub-hero{padding:40px 0 28px}.hub-hero h1{font-size:32px}.hub-main .kf-nav,.hub-main .kf-search{display:none}.hub-bigsearch{min-width:0}}.ide{border:1px solid var(--color-blue-gray-800);border-radius:var(--radius-lg);flex-direction:column;height:600px;min-height:0;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000047}.ide-bar{border-bottom:.5px solid var(--color-blue-gray-800);background:var(--color-blue-gray-950);gap:14px;padding:10px 16px}.ide-bar,.ide-title{align-items:center;display:flex}.ide-title{gap:10px}.ide-title .dot{background:var(--color-blue-primary-500);border-radius:50%;width:9px;height:9px}.ide-title .name{font-family:var(--font-mono);color:var(--color-blue-gray-200);letter-spacing:-.01em;font-size:13px;font-weight:500}.ide-title .path{font-family:var(--font-mono);color:var(--color-blue-gray-600);font-size:12px}.ide-bar .spacer{flex:1}label.field{font-family:var(--font-mono);color:var(--color-blue-gray-500);align-items:center;gap:7px;font-size:12px;display:inline-flex}select.ide-select{color:var(--color-blue-gray-200);border:1px solid var(--color-blue-gray-800);padding:5px 8px}.btn-ide,select.ide-select{font-family:var(--font-mono);background:var(--color-blue-gray-900);border-radius:var(--radius-sm);height:30px;font-size:12px;font-weight:500}.btn-ide{color:var(--color-blue-gray-300);align-items:center;gap:6px;padding:0 11px;transition:background .12s,color .12s;display:inline-flex}.btn-ide:hover{background:var(--color-blue-gray-800);color:#fff}.btn-ide svg{width:14px;height:14px}.btn-ide.primary{background:var(--color-blue-primary-700);color:#fff}.btn-ide.primary:hover{background:var(--color-blue-primary-600)}.panes{background:var(--color-blue-gray-800);flex:1;grid-template-rows:1fr 1fr;gap:.5px;min-height:0;display:grid}@media (min-width:960px){.panes{grid-template-rows:none;grid-template-columns:1fr 1fr}}.pane{background:var(--color-blue-gray-950);flex-direction:column;min-width:0;min-height:0;display:flex}.pane-head{background:var(--color-blue-gray-900);border-bottom:.5px solid var(--color-blue-gray-800);align-items:center;gap:8px;height:36px;padding:0 14px;display:flex}.pane-tab{font-family:var(--font-mono);color:var(--color-blue-gray-400);align-items:center;gap:7px;font-size:12px;display:inline-flex}.pane-tab .tab-dot{background:var(--color-blue-gray-600);border-radius:50%;width:7px;height:7px}.pane-head .spacer{flex:1}.pane-meta{color:var(--color-blue-gray-600)}.pane-act,.pane-meta{font-family:var(--font-mono);font-size:11.5px}.pane-act{color:var(--color-blue-gray-500);border-radius:5px;padding:3px 7px}.pane-act:hover{background:var(--color-blue-gray-800);color:var(--color-blue-gray-200)}.pane-body{flex:1;min-height:0;position:relative;overflow:hidden}textarea.code-in{resize:none;width:100%;height:100%;color:var(--color-blue-gray-200);font-family:var(--font-mono);tab-size:2;white-space:pre;caret-color:var(--color-blue-primary-400);background:0 0;border:none;outline:none;padding:14px 16px 14px 56px;font-size:13px;line-height:1.7;position:absolute;inset:0;overflow:auto}textarea.code-in::placeholder{color:var(--color-blue-gray-700)}.code-out{display:flex;position:absolute;inset:0;overflow:auto}.gutter{text-align:right;color:var(--color-blue-gray-700);-webkit-user-select:none;user-select:none;background:var(--color-blue-gray-950);flex-shrink:0;min-width:46px;padding:14px 10px 14px 0;position:sticky;left:0}.gutter,pre.code-pre{font-family:var(--font-mono);white-space:pre;font-size:13px;line-height:1.7}pre.code-pre{color:var(--color-blue-gray-200);flex:1;margin:0;padding:14px 16px 14px 10px}.in-gutter{text-align:right;pointer-events:none;width:46px;font-family:var(--font-mono);color:var(--color-blue-gray-700);background:var(--color-blue-gray-950);white-space:pre;padding:14px 10px 14px 0;font-size:13px;line-height:1.7;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.tok-key{color:var(--color-blue-primary-400)}.tok-str{color:var(--color-blue-primary-300)}.tok-num{color:#8fb7c9}.tok-bool{color:var(--color-blue-primary-500);font-weight:500}.ide-status,.tok-null,.tok-punc{color:var(--color-blue-gray-500)}.ide-status{height:30px;font-family:var(--font-mono);border-top:.5px solid var(--color-blue-gray-800);background:var(--color-blue-gray-950);flex-shrink:0;align-items:center;gap:12px;padding:0 16px;font-size:11.5px;display:flex}.ide-status,.ide-status>span{white-space:nowrap}.status-pill{border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-weight:500;display:inline-flex}.status-pill:before{content:"";border-radius:50%;width:6px;height:6px}.status-pill.ok{background:var(--color-blue-primary-900);color:var(--color-blue-primary-200)}.status-pill.ok:before{background:#5fd6a0}.status-pill.err{color:#f0a8a8;background:#3a1d22}.status-pill.err:before{background:#e06464}.status-pill.idle{background:var(--color-blue-gray-900);color:var(--color-blue-gray-500)}.status-pill.idle:before{background:var(--color-blue-gray-600)}.ide-status .spacer{flex:1}.ide-status .err-detail{color:#e0a0a0}.copied-flash{color:#5fd6a0!important}@media (max-width:959px){.ide{height:720px}}@media (max-width:720px){.ide-title .path,body[data-theme=ide] .kf-nav{display:none}}body[data-theme=canvas] .tool-page{max-width:1400px}.cv-work{border:1px solid var(--color-blue-gray-200);border-radius:var(--radius-xl);min-height:0;box-shadow:var(--shadow-card);background:#fff;grid-template-rows:auto auto;display:grid;overflow:hidden}@media (min-width:960px){.cv-work{grid-template-rows:none;grid-template-columns:1fr 360px;height:660px}}.cv-canvas{background:linear-gradient(45deg,var(--color-blue-gray-100) 25%,transparent 25%),linear-gradient(-45deg,var(--color-blue-gray-100) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--color-blue-gray-100) 75%),linear-gradient(-45deg,transparent 75%,var(--color-blue-gray-100) 75%);background-position:0 0,0 11px,11px -11px,-11px 0;background-size:22px 22px;background-color:var(--color-blue-gray-50);place-items:center;min-width:0;min-height:0;padding:24px;display:grid;position:relative}.preview{border-radius:var(--radius-lg);border:1px solid #ffffff80;width:100%;height:260px;box-shadow:0 10px 40px #1b1d2129}@media (min-width:960px){.cv-canvas{padding:32px}.preview{max-width:none;height:100%}}.cv-panel{border-top:1px solid var(--color-blue-gray-200);background:#fff;flex-direction:column;display:flex}.panel-inner{grid-template-columns:1fr 1fr 1.2fr;align-items:start;gap:28px;padding:22px;display:grid}@media (min-width:960px){.cv-panel{border-top:none;border-left:1px solid var(--color-blue-gray-200);overflow-y:auto}.panel-inner{flex-direction:column;gap:24px;display:flex}}@media (max-width:600px){.panel-inner{grid-template-columns:1fr;gap:22px}}.field-group{flex-direction:column;gap:11px;display:flex}.field-label{letter-spacing:.03em;text-transform:uppercase;color:var(--color-blue-gray-400);font-size:11.5px;font-weight:700;font-family:var(--font-inter)}.type-seg{gap:6px;display:flex}.type-seg button{font-family:var(--font-inter);border-radius:var(--radius-md);color:var(--color-blue-gray-500);background:var(--color-blue-gray-50);border:1px solid #0000;flex:1;padding:9px 0;font-size:13px;font-weight:600;transition:all .12s}.type-seg button:hover{background:var(--color-blue-gray-100)}.type-seg button.is-active{background:var(--color-blue-primary-100);color:var(--color-blue-primary-700);border-color:var(--color-blue-primary-200)}.track-wrap{padding-top:8px}.track{cursor:copy;border:1px solid var(--color-blue-gray-200);border-radius:8px;height:30px;position:relative;box-shadow:inset 0 0 0 1px #fff6}.stop{cursor:grab;width:18px;height:18px;box-shadow:0 0 0 1px var(--color-blue-gray-300),0 2px 5px #1b1d2140;border:2.5px solid #fff;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.stop.sel{box-shadow:0 0 0 2px var(--color-blue-primary-600),0 2px 6px #1b1d214d;width:20px;height:20px}.stop:active{cursor:grabbing}.stops{flex-direction:column;gap:8px;display:flex}.stop-row{border-radius:var(--radius-md);border:1px solid var(--color-blue-gray-200);background:#fff;align-items:center;gap:10px;padding:7px 8px;transition:border-color .12s;display:flex}.stop-row.sel{border-color:var(--color-blue-primary-400);background:var(--color-blue-primary-50)}.swatch{border:1px solid var(--color-blue-gray-200);cursor:pointer;border-radius:6px;flex-shrink:0;width:26px;height:26px;position:relative;overflow:hidden}.swatch input[type=color]{cursor:pointer;border:none;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;position:absolute;inset:-4px}.hex-in{font-family:var(--font-mono);border:1px solid var(--color-blue-gray-200);width:84px;color:var(--color-blue-gray-800);background:var(--color-blue-gray-50);text-transform:uppercase;border-radius:6px;outline:none;padding:5px 7px;font-size:12.5px}.hex-in:focus{border-color:var(--color-blue-primary-400);background:#fff}.pos-in{font-family:var(--font-inter);border:1px solid var(--color-blue-gray-200);width:50px;color:var(--color-blue-gray-600);background:var(--color-blue-gray-50);text-align:right;border-radius:6px;outline:none;padding:5px 6px;font-size:12.5px}.stop-del{width:26px;height:26px;color:var(--color-blue-gray-400);border-radius:6px;place-items:center;margin-left:auto;display:grid}.stop-del:hover{color:#c0504e;background:#fae3e3}.stop-del svg{width:15px;height:15px}.stop-del:disabled{opacity:.3;cursor:not-allowed}.add-stop{font-family:var(--font-inter);color:var(--color-blue-primary-700);border-radius:6px;align-items:center;gap:6px;padding:7px;font-size:13px;font-weight:600;display:inline-flex}.add-stop:hover{background:var(--color-blue-primary-50)}.add-stop svg{width:15px;height:15px}.slider-row{align-items:center;gap:12px;display:flex}.slider-row label{font-family:var(--font-inter);color:var(--color-blue-gray-500);width:52px;font-size:12.5px;font-weight:500}input[type=range]{appearance:none;background:var(--color-blue-gray-200);border-radius:999px;outline:none;flex:1;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-blue-primary-700);cursor:pointer;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #1b1d214d}input[type=range]::-moz-range-thumb{background:var(--color-blue-primary-700);cursor:pointer;border:2px solid #fff;border-radius:50%;width:16px;height:16px}.slider-val{font-family:var(--font-inter);color:var(--color-blue-gray-700);text-align:right;width:44px;font-size:12.5px;font-weight:600}.dial-row{align-items:center;gap:16px;display:flex}.dial{border:2px solid var(--color-blue-gray-200);cursor:pointer;background:var(--color-blue-gray-50);border-radius:50%;flex-shrink:0;width:56px;height:56px;position:relative}.dial .needle{transform-origin:bottom;border-radius:2px;width:2px;height:22px;transform:translate(-50%,-100%)rotate(0)}.dial .hub,.dial .needle{background:var(--color-blue-primary-700);position:absolute;top:50%;left:50%}.dial .hub{border-radius:50%;width:7px;height:7px;transform:translate(-50%,-50%)}.css-out{background:var(--color-blue-gray-950);border-radius:var(--radius-md);padding:14px 16px;position:relative}.css-out pre{font-family:var(--font-mono);color:var(--color-blue-gray-200);white-space:pre-wrap;word-break:break-all;margin:0;font-size:12.5px;line-height:1.65}.css-out .ct-prop{color:var(--color-blue-primary-400)}.css-out .ct-fn{color:var(--color-blue-primary-300)}.copy-css{position:absolute;top:10px;right:10px}.out-actions{gap:8px;margin-top:12px;display:flex}@media (max-width:820px){body[data-theme=canvas] .kf-nav{display:none}}.cc-wrap{max-width:1100px;margin:0 auto;padding:0 24px 80px}.cc-work{grid-template-columns:1fr;gap:20px;display:grid}@media (min-width:960px){.cc-work{grid-template-columns:1.45fr 1fr;align-items:start}}.editor-card{border:1px solid var(--color-blue-gray-200);border-radius:var(--radius-xl);background:#fff;overflow:hidden}.editor-head{border-bottom:1px solid var(--color-blue-gray-100);align-items:center;gap:10px;padding:12px 16px;display:flex}.editor-head .lbl{color:var(--color-blue-gray-600);font-size:13px;font-weight:600}.editor-head .spacer{flex:1}.mini-act{font-family:var(--font-inter);color:var(--color-blue-gray-500);border-radius:6px;align-items:center;gap:6px;padding:6px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.mini-act:hover{background:var(--color-blue-gray-50);color:var(--color-blue-gray-800)}.mini-act svg{width:14px;height:14px}textarea#text{resize:vertical;width:100%;min-height:300px;font-family:var(--font-sans);color:var(--color-blue-gray-900);background:#fff;border:none;outline:none;padding:20px;font-size:16px;line-height:1.7;display:block}@media (min-width:960px){textarea#text{min-height:360px}}textarea#text::placeholder{color:var(--color-blue-gray-300)}.stats-col{flex-direction:column;gap:18px;display:flex}.metric-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (min-width:600px){.metric-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:960px){.metric-grid{grid-template-columns:repeat(2,1fr)}}.metric{background:var(--color-blue-gray-50);border:1px solid var(--color-blue-gray-100);border-radius:var(--radius-lg);padding:16px 16px 14px}.metric.primary{background:var(--color-blue-primary-700);border-color:var(--color-blue-primary-700)}.metric .mv{font-family:var(--font-inter);letter-spacing:-.02em;color:var(--color-blue-gray-950);font-size:30px;font-weight:500;line-height:1.05}.metric.primary .mv{color:#fff}.metric .ml{color:var(--color-blue-gray-500);margin-top:5px;font-size:12.5px;font-weight:500}.metric.primary .ml{color:var(--color-blue-primary-200)}.metric .ms{font-family:var(--font-inter);color:var(--color-blue-gray-400);margin-top:2px;font-size:11px}.metric.primary .ms{color:var(--color-blue-primary-300)}.mini-grid{background:var(--color-blue-gray-50);border:1px solid var(--color-blue-gray-100);border-radius:var(--radius-lg);grid-template-columns:repeat(3,1fr);gap:0;display:grid;overflow:hidden}.mini{border-right:1px solid var(--color-blue-gray-100);padding:13px 14px}.mini:last-child{border-right:none}.mini .v{font-family:var(--font-inter);color:var(--color-blue-gray-900);font-size:18px;font-weight:600}.mini .l{color:var(--color-blue-gray-500);margin-top:2px;font-size:11.5px}.limits-card{border:1px solid var(--color-blue-gray-200);border-radius:var(--radius-xl);background:#fff;padding:18px 18px 8px}.limits-card h3{letter-spacing:-.01em;color:var(--color-blue-gray-900);margin:0 0 4px;font-size:14px;font-weight:700}.limits-card .sub{color:var(--color-blue-gray-400);margin:0 0 14px;font-size:12.5px}.limit{border-top:1px solid var(--color-blue-gray-100);padding:11px 0}.limit:first-of-type{border-top:none}.limit-top{align-items:center;gap:8px;margin-bottom:7px;display:flex}.limit-name{color:var(--color-blue-gray-800);font-size:13px;font-weight:600}.limit-count,.limit-name .net{font-family:var(--font-inter)}.limit-count{color:var(--color-blue-gray-500);margin-left:auto;font-size:12.5px;font-weight:600}.limit-count.over{color:#c0504e}.limit-count.near{color:#c08a2e}.bar{background:var(--color-blue-gray-100);height:6px;overflow:hidden}.bar,.bar>i{border-radius:999px}.bar>i{background:var(--color-blue-primary-600);height:100%;transition:width .18s,background .18s;display:block}.bar>i.near{background:#d9a23a}.bar>i.over{background:#d05c58}.privacy{color:var(--color-blue-gray-400);align-items:center;gap:8px;margin-top:4px;padding:0 2px;font-size:12.5px;display:flex}.privacy svg{width:14px;height:14px;color:var(--color-blue-primary-500);flex-shrink:0}@media (max-width:800px){body[data-theme=clean] .kf-nav{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}