.kx{--surface-2:var(--board-2);--muted:var(--ink-soft);--teal:var(--copper);--teal-ink:var(--copper);--teal-soft:var(--copper-soft);--red:var(--rail-red);--red-soft:var(--rail-red-soft);--yellow:var(--signal);--yellow-soft:var(--signal-soft);--green:var(--ok);--green-soft:var(--ok-soft);--blue:var(--rail-blue);--blue-soft:var(--rail-blue-soft);--orange:#e9761a;--orange-soft:#fce8d7;--shadow:0 1px 0 #15233b0d, 0 14px 30px -18px #15233b4d;--nav-h:64px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .kx{--orange:#ff9a48;--orange-soft:#3b2a1e;--shadow:0 1px 0 #0003, 0 16px 34px -18px #000000b3}}:root[data-theme=dark] .kx{--orange:#ff9a48;--orange-soft:#3b2a1e;--shadow:0 1px 0 #0003, 0 16px 34px -18px #000000b3}.kx h3{font-size:var(--step-1)}.kx h4{font-family:var(--display)}.kx .alts-h{margin-top:30px}.kx .idcard{background:linear-gradient(135deg,#15233b 0%,#24375c 58%,#a85a27 140%)!important}.kx .panel{background:var(--surface);border:1.5px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.kx .chip{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:.92rem;font-weight:700;transition:background .15s,border-color .15s}.kx .chip:hover{border-color:color-mix(in srgb, var(--ink) 30%, var(--line))}.kx .chip[aria-pressed=true],.kx .chip.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}.kx .tag{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.kx .tag i{background:var(--c);border-radius:50%;width:8px;height:8px;display:inline-block}.kx .museum{grid-template-columns:1.25fr 1fr;display:grid;overflow:hidden}.kx .stage{contain:strict;background:radial-gradient(120% 90% at 50% 30%, color-mix(in srgb, var(--teal) 10%, var(--surface-2)), var(--surface-2));border-right:1.5px solid var(--line);height:100%;min-height:440px;position:relative}.kx .stage canvas{touch-action:pan-y;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.kx .stage canvas:active{cursor:grabbing}.kx .stage-bar{pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.kx .stage-bar>*{pointer-events:auto}.kx .stage-hint{color:var(--muted);background:color-mix(in srgb, var(--surface) 80%, transparent);border-radius:999px;padding:5px 10px;font-size:.82rem}.kx .stage-fallback{text-align:center;color:var(--muted);place-items:center;padding:30px;display:none;position:absolute;inset:0}.kx .model-picker{border-bottom:1.5px solid var(--line);scrollbar-width:thin;grid-column:1/-1;gap:8px;padding:14px;display:flex;overflow-x:auto}.kx .info{flex-direction:column;gap:12px;padding:22px 24px 24px;display:flex}.kx .info h3{font-size:1.7rem}.kx .info .row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kx .info dl{gap:10px;margin:0;display:grid}.kx .info dt{font-family:var(--display);align-items:center;gap:7px;font-size:1.02rem;font-weight:700;display:flex}.kx .info dt i{background:var(--c);border-radius:3px;width:10px;height:10px}.kx .info dd{margin:2px 0 0}.kx .info .warn{background:var(--red-soft);border-radius:12px;padding:10px 12px;font-size:.95rem}.kx .info .extra{flex-wrap:wrap;gap:6px;display:flex}.kx .swatch{border:3px solid var(--surface);width:30px;height:30px;box-shadow:0 0 0 1.5px var(--line);cursor:pointer;border-radius:50%}.kx .swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.kx .setup{grid-template-columns:1fr 1.15fr;align-items:start;gap:22px;display:grid}.kx .steps{counter-reset:s;gap:10px;margin:0;padding:0;list-style:none;display:grid}.kx .steps li{counter-increment:s;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;grid-template-columns:44px 1fr;gap:12px;padding:14px;display:grid}.kx .steps li:before{content:counter(s);width:44px;height:44px;font-family:var(--display);background:var(--surface-2);border-radius:12px;place-items:center;font-size:1.3rem;font-weight:800;display:grid}.kx .steps li.done{border-color:color-mix(in srgb, var(--green) 50%, var(--line))}.kx .steps li.done:before{content:"✓";background:var(--green);color:#fff}.kx .steps h4{margin-bottom:4px;font-size:1.12rem}.kx .steps p{margin:0 0 6px;font-size:.97rem}.kx .steps label{cursor:pointer;color:var(--muted);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:inline-flex}.kx .steps input{width:18px;height:18px;accent-color:var(--green)}.kx kbd{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-bottom-width:2px;border-radius:6px;padding:1px 6px;font-size:.82em}.kx .ide{background:var(--code-bg);color:var(--code-ink);box-shadow:var(--shadow);border:1.5px solid color-mix(in srgb, var(--code-bg) 70%, #000);top:calc(env(safe-area-inset-top,0px) + var(--nav-h) + 16px);border-radius:18px;position:sticky;overflow:hidden}.kx .ide-top{background:#ffffff0d;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex}.kx .ide-btn{cursor:pointer;color:#fff;background:#1d4b52;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.kx .ide-btn svg{width:20px;height:20px}.kx .ide-btn.up{background:#00979d}.kx .ide select{font:inherit;color:#fff;background:#163a40;border:1px solid #2c5a61;border-radius:9px;max-width:150px;padding:7px 9px;font-size:.88rem}.kx .ide-tab{font-family:var(--mono);border-bottom:2px solid #00979d;margin:6px 0 0 12px;padding:6px 14px;font-size:.8rem;display:inline-block}.kx .ide pre{margin:0}.kx .ide-out{font-family:var(--mono);white-space:pre-wrap;background:#061317;border-top:1px solid #ffffff14;min-height:72px;padding:10px 14px;font-size:.8rem}.kx .ide-out .err{color:#ff8b8b}.kx .ide-out .ok{color:#7fe0a3}.kx .ide-bar{background:#00979d;width:0;height:4px;transition:width .2s linear}.kx .ide-board{color:#a9c6c4;border-top:1px solid #ffffff14;align-items:center;gap:12px;padding:10px 14px;font-size:.86rem;display:flex}.kx .mini-uno{background:#00878f;border-radius:6px;flex:none;width:64px;height:44px;position:relative}.kx .mini-uno:after{content:"L";font:700 9px var(--mono);color:#fff;position:absolute;top:5px;left:24px}.kx .mini-uno i{background:#5a3a1c;border-radius:1px;width:8px;height:5px;position:absolute;top:7px;left:14px}.kx .mini-uno i.on{background:#ffb13b;box-shadow:0 0 10px 3px #ffb13b}.kx .mini-uno b{background:#3bff7e;border-radius:1px;width:8px;height:5px;position:absolute;top:7px;right:7px;box-shadow:0 0 6px #3bff7e}.kx .tip{z-index:5;color:#13262b;pointer-events:none;background:#fff;border-radius:10px;max-width:230px;padding:8px 10px;font-size:.82rem;position:absolute;box-shadow:0 10px 30px #00000059}.kx .alts{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px;display:grid}.kx .alt{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:16px}.kx .alt h4{margin-bottom:4px;font-size:1.12rem}.kx .alt p{margin:0 0 6px;font-size:.94rem}.kx pre.code{font-family:var(--mono);background:var(--code-bg);color:var(--code-ink);margin:0;padding:12px 0;font-size:.84rem;line-height:1.6;overflow-x:auto}.kx pre.code .ln{white-space:pre;border-left:3px solid #0000;padding:0 14px 0 0;transition:background .15s;display:block}.kx pre.code .ln:before{content:attr(data-n);text-align:right;color:#5d8085;user-select:none;width:2.6em;padding-right:12px;display:inline-block}.kx pre.code .ln.hl{background:#00979d47;border-left-color:#3fe0e6}.kx .k{color:#7fc7ff}.kx .f{color:#ffcf6b}.kx .s{color:#a6e3a1}.kx .c{color:#7f9c9f;font-style:italic}.kx .nu{color:#ff9e7a}.kx .p{color:#e59cff}.kx .code-box{border:1.5px solid color-mix(in srgb, var(--code-bg) 70%, #000);border-radius:16px;overflow:hidden}.kx .code-head{color:#cfe6e4;font-family:var(--mono);background:#163a40;justify-content:space-between;align-items:center;padding:7px 10px 7px 14px;font-size:.8rem;display:flex}.kx .code-head button{color:#fff;cursor:pointer;font-size:.8rem;font-family:var(--text);background:#21535a;border:0;border-radius:8px;padding:5px 10px;font-weight:700}.kx .basics{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.kx .basics .panel{padding:20px}.kx .basics h3{margin-bottom:6px}.kx .bb-wrap{margin-top:10px;overflow-x:auto}.kx .bb-wrap svg{touch-action:manipulation;width:100%;min-width:560px;height:auto;display:block}.kx .bb-hole{fill:#3b4a4e;cursor:pointer}.kx .bb-hole.lit{fill:var(--green)}.kx .bb-hole.src{fill:var(--orange)}.kx .led-demo{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.kx .led-demo svg{flex:none;width:170px;height:auto}.kx .rc{gap:12px;display:grid}.kx .res-svg{width:100%;height:auto;max-height:110px}.kx .band-pick{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;display:grid}.kx .band-pick label{color:var(--muted);gap:4px;font-size:.84rem;font-weight:700;display:grid}.kx .band-pick select{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:7px 8px}.kx .res-val{font-family:var(--display);font-size:2rem;font-weight:800}.kx .ohm{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.kx .cheat{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:18px;display:grid}.kx .cheat div{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:12px 14px}.kx .cheat code{font-family:var(--mono);color:var(--teal-ink);word-break:break-word;margin-bottom:4px;font-size:.84rem;font-weight:600;display:block}.kx .cheat p{margin:0;font-size:.92rem}.kx .lab-tabs{scrollbar-width:thin;gap:8px;padding:4px 2px 14px;display:flex;overflow-x:auto}.kx .lab{display:none}.kx .lab.on{grid-template-columns:1.1fr 1fr;align-items:start;gap:16px;display:grid}.kx .lab-vis{flex-direction:column;gap:12px;padding:16px;display:flex}.kx .lab-vis svg{width:100%;height:auto;display:block}.kx .lab-side{flex-direction:column;gap:12px;min-width:0;display:flex}.kx .ctrl{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.kx .ctrl label{font-size:.92rem;font-weight:700}.kx .ctrl input[type=range]{accent-color:var(--teal);flex:160px;height:28px}.kx .readout{flex-wrap:wrap;gap:8px;display:flex}.kx .readout div{background:var(--surface-2);color:var(--muted);border-radius:12px;padding:7px 12px;font-size:.84rem;line-height:1.25}.kx .readout b{font-family:var(--mono);color:var(--ink);font-size:1.08rem;display:block}.kx .wiring{border-collapse:collapse;width:100%;font-size:.92rem}.kx .wiring td,.kx .wiring th{border-bottom:1px solid var(--line);text-align:left;padding:7px 10px}.kx .wiring th{font-family:var(--display);font-size:.98rem}.kx .wiring td i{background:var(--c);vertical-align:middle;border-radius:3px;width:22px;height:6px;margin-right:6px;display:inline-block}.kx details.box{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:0 16px}.kx details.box summary{cursor:pointer;font-family:var(--display);justify-content:space-between;gap:10px;padding:13px 0;font-size:1.08rem;font-weight:700;list-style:none;display:flex}.kx details.box summary::-webkit-details-marker{display:none}.kx details.box summary:after{content:"+";color:var(--muted);font-size:1.4rem;line-height:1}.kx details.box[open] summary:after{content:"–"}.kx details.box>div{padding-bottom:14px}.kx .mission{gap:6px;margin:0;padding:0;list-style:none;display:grid}.kx .mission li{align-items:flex-start;gap:8px;font-size:.95rem;display:flex}.kx .mission li:before{content:"";border:2px solid var(--orange);border-radius:3px;flex:none;width:10px;height:10px;margin-top:6px}.kx .keys{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.kx .key{font-family:var(--display);cursor:pointer;color:#fff;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:12px;padding:14px 0 10px;font-size:1.05rem;font-weight:800;transition:transform 60ms,box-shadow 60ms,filter .1s;box-shadow:0 4px #00000040}.kx .key small{font-family:var(--mono);opacity:.85;font-size:.7rem;font-weight:400;display:block}.kx .key.down{filter:brightness(1.15);transform:translateY(4px);box-shadow:0 0 #00000040}.kx .key.next{outline:3px dashed var(--ink);outline-offset:3px}.kx .scope{background:var(--code-bg);border-radius:12px;width:100%;height:90px;display:block}.kx .serial{font-family:var(--mono);background:var(--code-bg);color:#9fe7c0;border-radius:12px;flex-direction:column;justify-content:flex-end;height:88px;padding:8px 12px;font-size:.8rem;display:flex;overflow:hidden}.kx .lab-vis svg.knob{touch-action:none;cursor:grab;flex:none;width:96px;height:96px}.kx .quiz{max-width:760px;padding:24px}.kx .q-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.kx .q-dots{gap:5px;display:flex}.kx .q-dots i{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;width:22px;height:7px}.kx .q-dots i.ok{background:var(--green);border-color:var(--green)}.kx .q-dots i.no{background:var(--red);border-color:var(--red)}.kx .q-dots i.cur{background:var(--ink)}.kx .q-text{font-family:var(--display);margin-bottom:14px;font-size:1.5rem;font-weight:700;line-height:1.2}.kx .q-opts{gap:8px;display:grid}.kx .q-opt{text-align:left;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;padding:12px 14px;font-weight:700}.kx .q-opt:hover:not(:disabled){border-color:var(--ink)}.kx .q-opt.ok{background:var(--green-soft);border-color:var(--green)}.kx .q-opt.no{background:var(--red-soft);border-color:var(--red)}.kx .q-opt:disabled{cursor:default}.kx .q-exp{background:var(--surface-2);border-radius:14px;margin-top:12px;padding:12px 14px;display:none}.kx .q-exp.show{display:block}.kx .idcard-wrap{grid-template-columns:minmax(280px,420px) 1fr;align-items:start;gap:22px;display:grid}.kx .idcard{aspect-ratio:1.586;color:#fff;background:linear-gradient(135deg,#00878f 0%,#0a5e73 55%,#123f66 100%);border-radius:22px;flex-direction:column;padding:20px 22px;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 40px -20px #003c50b3}.kx .idcard:before{content:"";background:radial-gradient(#ffffff24 1.2px,#0000 1.5px) 0 0/14px 14px;position:absolute;inset:0}.kx .idcard>*{position:relative}.kx .idcard .chipc{background:linear-gradient(135deg,#f6d77a,#c9993a);border-radius:7px;width:46px;height:34px;margin:10px 0 8px;box-shadow:inset 0 0 0 1px #0003}.kx .idcard .nm{font-family:var(--display);font-size:1.7rem;font-weight:800;line-height:1.05}.kx .idcard .lv{opacity:.85;font-size:.92rem}.kx .idcard .badges{gap:8px;margin-top:auto;display:flex}.kx .idcard .badges span{opacity:.35;background:#ffffff1f;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.kx .idcard .badges span.got{opacity:1;background:#ffffff38;box-shadow:0 0 0 2px #fff9}.kx .idcard .badges svg{width:22px;height:22px}.kx .idcard .wave{opacity:.8;width:34px;height:34px;position:absolute;top:18px;right:18px}.kx .badge-list{gap:8px;display:grid}.kx .badge-list div{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.kx .badge-list div.got{border-color:color-mix(in srgb, var(--green) 50%, var(--line))}.kx .badge-list svg{flex:none;width:28px;height:28px}.kx .badge-list b{font-family:var(--display)}.kx .name-in{gap:8px;margin:12px 0;display:flex}.kx .name-in input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;flex:1;padding:10px 14px}.kx .hero-grid>*,.kx .museum>*,.kx .setup>*,.kx .basics>*,.kx .lab.on>*,.kx .idcard-wrap>*,.kx .lab-side>*{min-width:0}@media (width<=900px){.kx .hero-grid,.kx .museum,.kx .setup,.kx .basics,.kx .lab.on,.kx .idcard-wrap{grid-template-columns:minmax(0,1fr)}.kx .stage{border-right:0;border-bottom:1.5px solid var(--line);min-height:340px}.kx .ide{position:relative;top:0}.kx .alts{grid-template-columns:1fr}}@media (width<=560px){.kx .brand span,.kx .snd .lbl{display:none}.kx .demo-steps{grid-template-columns:1fr 1fr 1fr}.kx .demo-steps div{padding:7px;font-size:.76rem}.kx .keys{grid-template-columns:repeat(3,1fr)}.kx .info{padding:18px}.kx .q-text{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.kx *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
