
.kz-tech-root *{box-sizing:border-box}
.kz-tech-root{margin:0;background:#eae8e0;color:#173246;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif}
.kz-tech-root a{color:inherit;text-decoration:none}
.kz-tech-root button{font:inherit;cursor:pointer}
.kz-tech-root header{height:48px;margin:0 3%;display:flex;gap:20px;align-items:center;border-bottom:1px solid #17324622;font:10px monospace;letter-spacing:1px}
.kz-tech-root header>a{font-weight:800}
.kz-tech-root header>span{margin-left:auto;color:#566976}

.kz-tech-root{max-width:1600px;margin:auto;padding:22px 3% 10px}
.kz-tech-root .intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.kz-tech-root .intro p{font:10px monospace;letter-spacing:3px;margin:0 0 7px}
.kz-tech-root .intro h1{font-size:clamp(30px,4.4vw,62px);letter-spacing:-2px;margin:0;line-height:1.15}
.kz-tech-root .intro em{color:#244fc6;font-style:normal}
.kz-tech-root .intro>span{font-size:12px;line-height:1.7}
.kz-tech-root .atlas{display:grid;grid-template-columns:minmax(0,1fr) 345px;border-block:1px solid #17324633;min-height:510px;height:min(68vh,720px)}
.kz-tech-root #world{position:relative;min-width:0;overflow:hidden}
.kz-tech-root canvas{width:100%;height:100%;display:block;touch-action:pan-y}
.kz-tech-root .guide{position:absolute;top:15px;left:0;right:0;text-align:center;font-size:13px;font-weight:600}
.kz-tech-root .axis{position:absolute;left:18px;font-size:21px;font-weight:800;pointer-events:none}
.kz-tech-root .axis small{display:block;font-size:9px;color:#5b717d;margin-top:4px;font-weight:500}
.kz-tech-root .build{top:60px}
.kz-tech-root .run{bottom:60px}
.kz-tech-root .world-note{position:absolute;bottom:12px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:9px;color:#526977;gap:12px}
.kz-tech-root nav button{position:absolute;transform:translate(-50%,-50%);border:1px solid #17324633;background:#fbfaf3ed;color:#173246;border-radius:22px;min-height:44px;padding:7px 13px;box-shadow:0 4px 12px #1732460b;white-space:nowrap}
.kz-tech-root nav button strong{font-size:12px}
.kz-tech-root nav button small{font:9px monospace;margin-left:8px;color:#667887}
.kz-tech-root nav button[aria-pressed=true]{background:#214cc7;color:white;border-color:#214cc7;box-shadow:0 0 0 4px #214cc719}
.kz-tech-root nav button[aria-pressed=true] small{color:#d2dcff}
.kz-tech-root nav button.related{border-color:#4165bf}
.kz-tech-root #reading{border-left:1px solid #17324622;padding:25px;display:flex;flex-direction:column;min-height:0}
.kz-tech-root .reading-head #kicker{font:10px monospace;color:#466991;margin:0 0 10px}
.kz-tech-root .reading-head h2{font-size:28px;letter-spacing:-1px;margin:0 0 12px}
.kz-tech-root .reading-head #description{font-size:12px;line-height:1.8;margin:0;color:#4e6777}
.kz-tech-root #articles{overflow-y:auto;min-height:0;flex:1;margin-top:18px;scrollbar-width:thin}
.kz-tech-root .kz-atlas-article{display:block;border-top:1px solid #17324624;padding:14px 20px 14px 0;position:relative}
.kz-tech-root .kz-atlas-article:after{content:'↗';position:absolute;right:0;top:16px;color:#2551c7}
.kz-tech-root .kz-atlas-article span{display:block;color:#547286;font-size:9px;margin-bottom:6px}
.kz-tech-root .kz-atlas-article strong{font-size:13px;line-height:1.65;font-weight:600;display:block}
.kz-tech-root .kz-atlas-article:hover strong{color:#244fc6}
.kz-tech-root .all{font-size:11px;display:flex;justify-content:space-between;align-items:center;min-height:44px;border-top:1px solid #17324633;margin-top:10px}
.kz-tech-root footer{display:flex;justify-content:space-between;font-size:10px;color:#597180;padding-top:12px}
.kz-tech-root footer a{color:#244fc6}
.kz-tech-root a:focus-visible,.kz-tech-root button:focus-visible{outline:3px solid #c47936;outline-offset:3px}
.kz-tech-root #fallback{position:absolute;top:45%;left:20px;right:20px;text-align:center;font-size:12px}
@media(max-width:760px){
.kz-tech-root header{height:36px;font-size:8px}
.kz-tech-root header>span{font-size:7px}

.kz-tech-root{padding:12px 4% 8px}
.kz-tech-root .intro{margin-bottom:12px}
.kz-tech-root .intro h1{font-size:30px;letter-spacing:-1.5px}
.kz-tech-root .intro p{font-size:8px;margin-bottom:5px}
.kz-tech-root .intro>span{display:none}
.kz-tech-root .atlas{height:auto;min-height:0;display:block}
.kz-tech-root #world{height:310px}
.kz-tech-root .guide{top:9px;font-size:11px}
.kz-tech-root .axis{left:7px;font-size:12px}
.kz-tech-root .axis small{display:none}
.kz-tech-root .build{top:42px}
.kz-tech-root .run{bottom:54px}
.kz-tech-root .world-note{font-size:8px;left:7px;right:7px;bottom:5px}
.kz-tech-root .world-note>span:first-child{display:none}
.kz-tech-root nav button{min-height:44px;padding:5px 8px}
.kz-tech-root nav button strong{font-size:10px}
.kz-tech-root nav button small{display:none}
.kz-tech-root #reading{border-left:0;border-top:1px solid #17324622;padding:12px 0;height:235px}
.kz-tech-root .reading-head #kicker{font-size:8px;margin:0 0 4px}
.kz-tech-root .reading-head h2{font-size:20px;margin:0 0 5px}
.kz-tech-root .reading-head #description{font-size:10px;line-height:1.55}
.kz-tech-root #articles{margin-top:8px;min-height:60px}
.kz-tech-root .kz-atlas-article{padding:9px 20px 9px 0}
.kz-tech-root .kz-atlas-article span{font-size:8px;margin-bottom:3px}
.kz-tech-root .kz-atlas-article strong{font-size:11px;line-height:1.5}
.kz-tech-root .all{font-size:10px;min-height:36px;margin-top:4px}
.kz-tech-root footer{font-size:8px;gap:15px;padding-top:7px}
.kz-tech-root footer>span{max-width:45%}}
@media(max-width:760px) and (max-height:700px){
.kz-tech-root #world{height:278px}
.kz-tech-root #reading{height:223px}}
.kz-tech-root #world{background:radial-gradient(ellipse at 48% 48%,#fffdf05e,transparent 72%)}
.kz-tech-root .machine-status{position:absolute;top:38px;left:12px;right:12px;text-align:center;font-size:10px;color:#526c7b;pointer-events:none}
.kz-tech-root nav button{transition:background .18s,border-color .18s,box-shadow .18s}
.kz-tech-root nav button.receiving{border-color:#5e8b42;box-shadow:0 0 0 4px #7da65e25}
.kz-tech-root #reading{background:linear-gradient(135deg,#f9f7ee60,transparent 60%)}
@media(max-width:760px){
.kz-tech-root .machine-status{top:28px;font-size:8px}
.kz-tech-root .guide{font-size:11px}
.kz-tech-root .build{top:51px}
.kz-tech-root .run{bottom:55px}}
@media(prefers-reduced-motion:reduce){
.kz-tech-root *{animation:none!important;transition:none!important}}
.kz-tech-root #world{background:#061421;border-radius:2px;box-shadow:inset 0 0 100px #0008;color:#e1eff6}
.kz-tech-root #world .guide{color:#ecf5f9;letter-spacing:.03em}
.kz-tech-root #world .machine-status{color:#a4c6d7}
.kz-tech-root #world .axis{color:#d4e9ef}
.kz-tech-root #world .axis small{color:#83adbf}
.kz-tech-root #world .world-note{color:#98bacb}
.kz-tech-root #world nav button{background:#10283ce8;border-color:#587b9566;color:#e5f1f5;box-shadow:0 4px 20px #0005;backdrop-filter:blur(8px)}
.kz-tech-root #world nav button small{color:#99b8c9}
.kz-tech-root #world nav button[aria-pressed=true]{background:#d3f4f1;color:#09334b;border-color:#a8f5e6;box-shadow:0 0 0 3px #60d6dc24,0 0 22px #37b7c84a}
.kz-tech-root #world nav button[aria-pressed=true] small{color:#235069}
.kz-tech-root #world nav button.related{border-color:#79bdbd}
.kz-tech-root #world nav button.receiving{box-shadow:0 0 0 4px #6fe3c42e,0 0 24px #72f5d85e;border-color:#a0f8da}
.kz-tech-root #world:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 50px #0003;pointer-events:none}
.kz-tech-root #world{background:radial-gradient(ellipse at 50% 50%,#113d50,#071b30 52%,#020b14)}
.kz-tech-root #world .axis,.kz-tech-root #world .world-note{display:none}
.kz-tech-root #stations{position:absolute;bottom:55px;left:18px;right:18px;display:flex;justify-content:center;gap:5px;flex-wrap:wrap}
.kz-tech-root #world nav button{position:relative;transform:none;padding:7px 10px;min-height:38px;border-radius:4px}
.kz-tech-root #world nav button small{display:none}
.kz-tech-root #world nav button strong{font-size:10px}
.kz-tech-root .direct-status{position:absolute;top:42px;left:10px;right:10px;text-align:center;pointer-events:none}
.kz-tech-root .direct-status span{display:block;font-size:10px;color:#8eb9cc}
.kz-tech-root .direct-status b{display:block;font-size:18px;font-weight:500;color:#d7eeef;margin-top:12px}

@media(max-width:760px){
.kz-tech-root #world{height:320px}
.kz-tech-root #stations{left:8px;right:8px;bottom:44px;gap:4px}
.kz-tech-root #world nav button{min-height:32px;padding:4px 7px}
.kz-tech-root #world nav button strong{font-size:9px}
.kz-tech-root .direct-status{top:30px}
.kz-tech-root .direct-status span{font-size:8px}
.kz-tech-root .direct-status b{font-size:13px;margin-top:6px}}
@media(max-width:760px) and (max-height:700px){
.kz-tech-root #world{height:300px}
.kz-tech-root #reading{height:208px}}
@media(max-width:760px){
.kz-tech-root #stations{display:grid;grid-template-columns:repeat(3,1fr);left:20px;right:20px;gap:4px}
.kz-tech-root #world nav button{min-height:34px}}
.kz-tech-root #stations{bottom:16px}
.kz-tech-root #world nav button{min-height:44px}
@media(max-width:760px){
.kz-tech-root #stations{bottom:10px}
.kz-tech-root #world nav button{min-height:44px}}

.kz-tech-root{max-width:1600px;margin:auto;padding:24px 3%;background:#eae8e0;color:#173246}.kz-tech-root .intro{gap:16px}.kz-tech-root #stations button{touch-action:manipulation}.kz-tech-root .guide,.kz-tech-root .direct-status{pointer-events:none}.kz-tech-root #scene:focus-visible{outline:3px solid #91efdf;outline-offset:-4px}.kz-tech-root #kz-tech-fallback[hidden]{display:none}
@media(max-width:760px){.kz-tech-root{padding:12px 4%}.kz-tech-root #reading{height:250px}.kz-tech-root .all{min-height:44px}.kz-tech-root .atlas{height:auto}}

@media(min-width:761px){.kz-tech-root .atlas{min-height:400px;height:calc(100svh - 250px);max-height:720px}}
@media(max-width:420px){.kz-tech-root .intro h1{font-size:24px;letter-spacing:-1px}.kz-tech-root .intro{align-items:center;gap:8px}}
@media(max-width:760px) and (max-height:740px){.kz-tech-root #world{height:260px}.kz-tech-root #reading{height:220px}}

.kz-tech-root .direct-status{top:22px}.kz-tech-root .direct-status b{margin-top:0}.kz-tech-root #scene{transition:filter .12s}.kz-tech-root #world[data-pressed="true"] #scene{filter:brightness(1.15)}
@media(max-width:760px){.kz-tech-root .direct-status{top:18px}}


.kz-tech-root #world{isolation:isolate}
.kz-tech-root #stations{inset:0;display:block;pointer-events:none}
.kz-tech-root #world #stations button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:104px;height:68px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;color:#bad1e0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:color .2s;white-space:nowrap}
.kz-tech-root #world #stations button strong{font-size:12px;font-weight:500;letter-spacing:.07em;text-shadow:0 2px 8px #001020,0 0 4px #001020}
.kz-tech-root .orbit-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid #6497b97a;border-radius:50%;background:#071d30;font:10px monospace;color:#87b4d0;box-shadow:0 0 0 5px #071c3080;transition:background .2s,box-shadow .2s,transform .2s}
.kz-tech-root #world #stations button[aria-pressed=true]{color:#eafffc}
.kz-tech-root #world #stations button[aria-pressed=true] .orbit-mark{background:#a3f5df;color:#052b38;border-color:#c1fff2;box-shadow:0 0 0 5px #66e7d621,0 0 30px #58e3d65c;transform:scale(1.16)}
.kz-tech-root #world #stations button[aria-pressed=true] strong{font-weight:700}
.kz-tech-root #world #stations button:hover .orbit-mark{border-color:#cafff0;box-shadow:0 0 0 7px #66e7d625}
.kz-tech-root #world #stations button:focus-visible{outline:2px solid #a3f5df;outline-offset:3px;border-radius:10px}
.kz-tech-root .orbit-track{position:absolute;left:50%;transform:translate(-50%,-50%);border:1px solid #84b8d838;border-radius:50%;pointer-events:none;box-shadow:0 0 0 12px #85bada08,0 0 0 13px #85bada12;z-index:1}
.kz-tech-root .orbit-track:after{content:'';position:absolute;inset:-24px;border:1px dashed #6cb7d222;border-radius:50%}
.kz-tech-root .direct-status{display:none}
.kz-tech-root #world canvas{position:relative;z-index:0}
@media(max-width:760px){
.kz-tech-root #world{height:350px}
.kz-tech-root #world #stations button{width:88px;height:66px}
.kz-tech-root #world #stations button strong{font-size:11px;letter-spacing:0}
.kz-tech-root .orbit-mark{width:28px;height:28px}
.kz-tech-root #reading{height:230px}}
@media(max-width:760px) and (max-height:700px){
.kz-tech-root #world{height:280px}
.kz-tech-root #reading{height:215px}}
.kz-tech-root .orbit-mark svg{width:19px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.kz-tech-root #world #stations button.holding .orbit-mark{transform:scale(.85);background:#cefff1;box-shadow:0 0 0 10px #77e8d527}
.kz-tech-root .orbit-signal{position:absolute;width:9px;height:9px;border-radius:50%;background:#d6fff5;box-shadow:0 0 12px 4px #67e4cba6;transform:translate(-50%,-50%);pointer-events:none;z-index:30}
.kz-tech-root .orbit-signal[hidden]{display:none}
.kz-tech-root #world #stations button[aria-pressed=true] .orbit-mark{position:relative}
.kz-tech-root #world #stations button[aria-pressed=true] .orbit-mark:after{content:'';position:absolute;inset:-9px;border:1px solid #a5f9df70;border-radius:50%;animation:invite 2.8s ease-out 2;pointer-events:none}
@keyframes invite{0%,100%{transform:scale(.85);opacity:0}25%{opacity:.8}75%{transform:scale(1.32);opacity:0}}

/* One continuous surface for the Tech map and its reading area. */
.kz-tech-page .kz-tech-root{background:transparent;color:#e5f1f5}
.kz-tech-page .kz-tech-root .intro em{color:#a3f5df}
.kz-tech-page .kz-tech-root .atlas{border-color:#84b8d830}
.kz-tech-page .kz-tech-root #world{background:transparent;box-shadow:none;border-radius:0}
.kz-tech-page .kz-tech-root #world:after{display:none}
.kz-tech-page .kz-tech-root #reading{background:transparent;border-color:#84b8d830}
.kz-tech-page .kz-tech-root .reading-head #kicker,
.kz-tech-page .kz-tech-root .kz-atlas-article span{color:#a1c4d6}
.kz-tech-page .kz-tech-root .reading-head #description,
.kz-tech-page .kz-tech-root footer{color:#b4cad7}
.kz-tech-page .kz-tech-root .kz-atlas-article,
.kz-tech-page .kz-tech-root .all{border-color:#84b8d830}
.kz-tech-page .kz-tech-root .kz-atlas-article:after,
.kz-tech-page .kz-tech-root .kz-atlas-article:hover strong,
.kz-tech-page .kz-tech-root footer a{color:#a3f5df}
