/* ===== batch of 15 pages: boxes, circles, tools ===== */
.kvis{min-width:0}
.kbox{display:grid;gap:1rem}.kbox.c3{grid-template-columns:repeat(3,1fr)}.kbox.c2{grid-template-columns:1fr 1fr}.kbox.c4{grid-template-columns:repeat(4,1fr)}
.kb{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.4rem;transition:transform .3s,border-color .3s}
.kb:hover{transform:translateY(-3px);border-color:oklch(0.72 0.17 295 / .45)}
.kb h3{font-size:1.1rem;margin:.8rem 0 .35rem}.kb p{margin:0;color:var(--ink-2);font-size:.94rem}
.ksteps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.ksteps li{position:relative;counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.3rem 1.3rem 3.6rem}
.ksteps li::before{content:counter(s);position:absolute;left:1rem;top:1.15rem;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 .95rem var(--display);color:#1a1405;background:oklch(0.84 0.15 80)}
.ksteps b{color:var(--ink);font-size:1.04rem}.ksteps p{margin:.3rem 0 0;font-size:.93rem;color:var(--ink-2)}
.keff{display:grid;gap:.6rem;max-width:860px}
.keff-r{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:baseline;padding:.95rem 1.2rem;border-radius:14px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--up)}
.keff-r span{font:600 .8rem var(--mono);color:oklch(0.86 0.14 80)}.keff-r p{margin:0;color:var(--ink-2);font-size:.97rem}
.kwn{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.kwn>div{padding:1.5rem;border-radius:var(--r-lg);border:1px solid var(--line)}
.kwn-y{background:oklch(0.78 0.17 155 / .07);border-color:oklch(0.78 0.17 155 / .35)!important}
.kwn-n{background:oklch(0.68 0.2 25 / .07);border-color:oklch(0.68 0.2 25 / .35)!important}
.kwn h3{font-size:1.2rem;margin:0 0 .8rem}
.kwn ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.kwn li{display:flex;gap:.55rem;color:var(--ink-2);font-size:.97rem;line-height:1.5}.kwn li svg{flex:none;margin-top:.2rem}
.kwn-y svg{color:var(--up)}.kwn-n svg{color:oklch(0.76 0.17 25)}
.kmis{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:1.2rem}
.kmis>div{padding:1.1rem 1.2rem;border-radius:14px;background:oklch(0.68 0.2 25 / .06);border:1px solid oklch(0.68 0.2 25 / .25)}
.kmis b{display:flex;align-items:center;gap:.4rem;color:var(--ink);font-size:1rem}.kmis svg{color:oklch(0.76 0.17 25);flex:none}.kmis p{margin:.3rem 0 0;font-size:.92rem;color:var(--ink-2)}
.kfac{max-width:1000px;margin:1.4rem auto 0;padding:1.3rem 1.5rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-2)}
.kfac h3{font-size:1.05rem;margin:0 0 .7rem}.kfac ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.4rem}
.kfac li{display:flex;gap:.45rem;font-size:.93rem;color:var(--ink-2)}.kfac svg{flex:none;color:var(--up);margin-top:.2rem}
.kcases{display:grid;gap:1rem}.kcases.c3{grid-template-columns:repeat(3,1fr)}.kcases.c2{grid-template-columns:1fr 1fr}.kcases.c1{grid-template-columns:minmax(0,560px)}
.kcase{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:1.3rem}
.kcase-m{font:700 clamp(1.6rem,2.6vw,2.1rem) var(--display);color:var(--up);line-height:1.1;margin-bottom:.4rem}
.kcase h3{font-size:1.1rem;margin:.3rem 0 .35rem}.kcase>p{font-size:.92rem;color:var(--ink-2);margin:0 0 .8rem}
.kcase .lshot{margin-top:auto}.kcase-n{margin:.7rem 0 0!important;font:500 .76rem var(--mono);color:var(--mute)!important}
.knote{margin:1rem 0 0;font-size:.9rem;color:var(--mute)}
.knoproof{max-width:820px;padding:1.4rem 1.6rem;border-radius:var(--r-lg);border:1px dashed oklch(0.84 0.15 80 / .55);background:oklch(0.84 0.15 80 / .06)}
.knoproof p{margin:.5rem 0 0;color:var(--ink);font-size:1.02rem;line-height:1.6}
/* circles */
.kring{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.kring span{font-size:.84rem;color:var(--ink-2)}
.kr-bg{fill:none;stroke:oklch(1 0 0 / .1);stroke-width:10}.kr-fg{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dasharray .6s var(--ease,ease),stroke .3s}
.kr-t{font:700 20px var(--display);fill:var(--ink)}
.krow{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.kcard{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:clamp(1.1rem,2.4vw,1.7rem);box-shadow:0 30px 60px -30px #000}
.kcard h3{font-size:1.1rem;margin:.3rem 0 .9rem}.kcard .kmono{font:500 .78rem var(--mono);color:var(--mute)}
.kdonut{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;align-items:center}.kdonut svg{width:150px;height:150px}
.kdonut ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:.9rem;color:var(--ink-2)}.kdonut li{display:flex;align-items:center;gap:.5rem}.kdonut li b{margin-left:auto;color:var(--ink)}
.kdonut i{width:11px;height:11px;border-radius:3px;flex:none}.kdonut p{grid-column:1/-1;margin:0;font-size:.76rem;color:var(--mute)}
.ktarget{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:center}
.kt-w{position:relative;width:100%;aspect-ratio:1/1}
.kt-c{position:absolute;left:50%;top:50%;width:var(--s);aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid oklch(0.72 0.17 295 / .6);background:oklch(0.6 0.23 293 / var(--o))}
.kt-c em{position:absolute;left:50%;top:7px;transform:translateX(-50%);font:600 .7rem var(--mono);font-style:normal;color:var(--ink);white-space:nowrap}
.kt-c:last-child{background:oklch(0.84 0.15 80 / .85);border-color:oklch(0.84 0.15 80)}.kt-c:last-child em{top:50%;transform:translate(-50%,-50%);color:#1a1405;font-weight:700;white-space:normal;text-align:center;width:90%}
.ktarget ol{margin:0;padding-left:1.2rem;display:grid;gap:.7rem}.ktarget li{color:var(--ink-2);font-size:.97rem}.ktarget li b{display:block;color:var(--ink)}
/* tools */
.ktool{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.2rem,3vw,2.2rem);align-items:start;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:clamp(1.2rem,2.6vw,2rem)}
.ktool>*{min-width:0}
.ktool label{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;color:var(--ink-2);margin:.9rem 0 .35rem}.ktool label b{color:var(--ink)}
.ktool input[type=text],.ktool input[type=number],.ktool textarea,.ktool select{width:100%;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line-2);background:var(--tint);color:var(--ink);font:inherit}
.ktool textarea{min-height:150px;resize:vertical}
.ktool label{user-select:none}.ktool input[type=range]{touch-action:pan-y;-webkit-appearance:none;appearance:none;width:100%;height:8px;margin:.35rem 0;border-radius:999px;cursor:pointer;outline:none;background:linear-gradient(90deg,oklch(0.6 0.23 293),oklch(0.72 0.17 295) var(--p,0%),oklch(1 0 0 / .1) var(--p,0%))}
.ktool input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid oklch(0.72 0.17 295);box-shadow:0 0 0 0 oklch(0.72 0.17 295 / .3);transition:box-shadow .2s,transform .15s}
.ktool input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid oklch(0.72 0.17 295);transition:box-shadow .2s,transform .15s}
.ktool input[type=range]:hover::-webkit-slider-thumb,.ktool input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 9px oklch(0.72 0.17 295 / .22)}
.ktool input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15);box-shadow:0 0 0 12px oklch(0.72 0.17 295 / .25)}
.ktool input[type=range]:hover::-moz-range-thumb{box-shadow:0 0 0 9px oklch(0.72 0.17 295 / .22)}
.kout{background:var(--tint);border:1px solid var(--line);border-radius:16px;padding:1.2rem}
.kout .kbig{font:700 clamp(1.9rem,3.6vw,2.7rem) var(--display);color:var(--ink);line-height:1.05}.kout .kup{color:var(--up)}.kout .kloss{color:oklch(0.76 0.17 25)}
.kout p{margin:.45rem 0 0;font-size:.9rem;color:var(--ink-2)}
.kchecks{display:grid;gap:.45rem}.kchecks label{display:flex;justify-content:flex-start;align-items:flex-start;gap:.6rem;margin:0;padding:.6rem .75rem;border-radius:10px;background:var(--tint);border:1px solid var(--line);cursor:pointer;font-size:.93rem}
.kchecks input{margin-top:.2rem;accent-color:oklch(0.72 0.17 295);flex:none}
.kpick{display:grid;gap:.5rem}.kpick button{text-align:left;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--line-2);background:var(--tint);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;transition:border-color .2s,transform .2s}
.kpick button:hover{border-color:var(--brand-2);transform:translateX(3px)}.kpick button.on{border-color:var(--gold);background:oklch(0.84 0.15 80 / .12)}
.kserp{background:#fff;border-radius:12px;padding:1rem 1.1rem;color:#202124;font-family:Arial,Helvetica,sans-serif;overflow:hidden}
.kserp small{display:block;color:#4d5156;font-size:.78rem}.kserp b{display:block;color:#1a0dab;font-size:1.12rem;font-weight:400;margin:.2rem 0;overflow-wrap:anywhere}.kserp p{margin:0;font-size:.85rem;color:#4d5156;line-height:1.4;overflow-wrap:anywhere}
.kmeter{height:8px;border-radius:99px;background:oklch(1 0 0 / .1);overflow:hidden;margin:.35rem 0 .1rem}.kmeter i{display:block;height:100%;width:0;border-radius:99px;background:var(--up);transition:width .25s,background .25s}
/* bars */
.kbars{display:grid;gap:.7rem}.kbar>div:first-child{display:flex;justify-content:space-between;font-size:.88rem;color:var(--ink-2);margin-bottom:.25rem}.kbar b{color:var(--ink)}
.kbar .ktrack{height:12px;border-radius:99px;background:oklch(1 0 0 / .08);overflow:hidden}.kbar .ktrack i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .4s}
.kbar .ktrack i.gold{background:oklch(0.84 0.15 80)}.kbar .ktrack i.bad{background:oklch(0.68 0.2 25)}
/* mini diagrams */
.ktree{display:grid;gap:.5rem;justify-items:center;text-align:center}
.ktree .lv{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.ktree span{padding:.5rem .8rem;border-radius:10px;background:var(--tint);border:1px solid var(--line-2);font-size:.84rem;color:var(--ink)}
.ktree .top{background:oklch(0.84 0.15 80);color:#1a1405;font-weight:700;border:0}.ktree .mid{background:var(--brand-soft);border-color:oklch(0.72 0.17 295 / .5)}
.ktree .ln{width:2px;height:14px;background:var(--line-2)}
.kboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.kboard>div{background:var(--tint);border:1px solid var(--line);border-radius:12px;padding:.7rem}
.kboard h4{margin:0 0 .5rem;font:600 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:oklch(0.86 0.14 80)}
.kboard span{display:block;font-size:.8rem;line-height:1.35;color:var(--ink-2);padding:.45rem .5rem;border-radius:8px;background:var(--surface);border:1px solid var(--line);margin-top:.35rem}
.kai{background:var(--tint);border:1px solid var(--line-2);border-radius:16px;padding:1rem 1.1rem}
.kai .q{align-self:flex-end;margin-left:auto;width:fit-content;max-width:90%;background:var(--brand);color:#fff;border-radius:14px 14px 2px 14px;padding:.55rem .8rem;font-size:.9rem}
.kai .a{margin-top:.7rem;font-size:.9rem;color:var(--ink-2);line-height:1.5}.kai .a b{color:var(--ink)}
.kai sup{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:oklch(0.84 0.15 80);color:#1a1405;font:700 .62rem var(--mono);margin-left:2px;vertical-align:2px}
.kai ul{list-style:none;margin:.7rem 0 0;padding:0;display:grid;gap:.3rem;font-size:.78rem;color:var(--mute)}.kai li{padding:.35rem .55rem;border-radius:8px;background:var(--surface)}
.kai li.you{color:var(--ink);border:1px solid oklch(0.84 0.15 80 / .6)}
.kcode{font:500 .8rem/1.6 var(--mono);background:var(--night);border:1px solid var(--line-2);border-radius:12px;padding:.9rem 1rem;color:var(--ink-2);overflow-x:auto;white-space:pre}
.kcode b{color:var(--up);font-weight:600}.kcode i{color:oklch(0.76 0.17 25);font-style:normal}.kcode em{color:oklch(0.86 0.14 80);font-style:normal}
.kflow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.kflow>div{position:relative;padding:.9rem;border-radius:12px;background:var(--tint);border:1px solid var(--line-2);font-size:.86rem;color:var(--ink-2)}.kflow b{display:block;color:var(--ink);margin-bottom:.15rem}
.kchart svg{display:block;width:100%;height:auto}.kchart text{font:500 11px var(--mono);fill:var(--mute)}
.kcard .sdemo,.kchart .sdemo{margin:.5rem 0 0;font-size:.74rem;color:var(--mute)}
.kmatrix{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:6px;max-width:860px}
.kmatrix b{font-size:.8rem;color:var(--ink);text-align:center;padding:.5rem .3rem}.kmatrix span{padding:.6rem .8rem;background:var(--surface);border-radius:10px;font-size:.92rem;color:var(--ink)}
.kmatrix i{display:grid;place-items:center;font-style:normal;border-radius:10px;background:var(--tint);border:1px dashed var(--line-2);color:var(--mute);font-weight:700}
.kmatrix i.on{background:oklch(0.78 0.17 155 / .14);border:1px solid oklch(0.78 0.17 155 / .4);color:var(--up)}
@media (max-width:1080px){.kbox.c4{grid-template-columns:1fr 1fr}.kbox.c3{grid-template-columns:1fr 1fr}.kcases.c3{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.kwn,.ktool,.ktarget,.kmis,.kfac ul,.kcases.c2,.kbox.c2{grid-template-columns:1fr}.kboard{grid-template-columns:1fr 1fr}.ktarget{justify-items:center}.kt-w{max-width:320px}}
@media (max-width:640px){.kbox.c3,.kbox.c4,.kcases.c3{grid-template-columns:1fr}.keff-r{grid-template-columns:1fr;gap:.2rem}.kdonut{grid-template-columns:1fr;justify-items:center}.kdonut ul{width:100%}.kmatrix{grid-template-columns:1.3fr repeat(3,minmax(0,.8fr))}.kmatrix span{font-size:.8rem;padding:.5rem}.kmatrix b{font-size:.7rem}}

/* page-specific small pieces */
.kclock{display:flex;justify-content:flex-end;margin-bottom:.5rem}.kclock .kicker{padding:.3rem .7rem;border-radius:999px;background:oklch(0.68 0.2 25 / .16);color:oklch(0.8 0.15 25)}
.ksug{display:grid;gap:.35rem}.ksug span{padding:.55rem .8rem;border-radius:10px;background:var(--tint);border:1px solid var(--line);font-size:.9rem;color:var(--ink-2)}
.ksug span::before{content:"⌕ ";color:var(--mute)}.ksug .hot{color:#1a1405;background:oklch(0.84 0.15 80);border:0;font-weight:700}.ksug .hot::before{color:#1a1405}
.kjourney{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.kjourney>div{padding:1.3rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);border-top:3px solid oklch(0.84 0.15 80)}
.kjourney span{font:600 .76rem var(--mono);color:oklch(0.86 0.14 80)}.kjourney h3{font-size:1.1rem;margin:.3rem 0}.kjourney p{margin:0;font-size:.93rem;color:var(--ink-2)}
.ksvcs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ksvc{display:flex;flex-direction:column;padding:1.4rem;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink-2);transition:transform .3s,border-color .3s}
.ksvc:hover{transform:translateY(-4px);border-color:oklch(0.84 0.15 80 / .55)}.ksvc h3{font-size:1.15rem;margin:.8rem 0 .35rem}.ksvc p{flex:1;margin:0;font-size:.94rem}.ksvc span{margin-top:.9rem;font-size:.86rem;font-weight:700;color:oklch(0.86 0.14 80)}
.kwn a{color:#D9C8FF}
@media (max-width:1080px){.ksvcs{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ksvcs,.kjourney{grid-template-columns:1fr}}
.iread h2.h-lg{margin:.5rem 0 1rem}

/* batch 2 */
.kstat{margin-top:.5rem;padding:.6rem .8rem;border-radius:10px;font-weight:600;font-size:.94rem;background:var(--surface);border:1px solid var(--line)}
.kstat.ok{color:var(--up);border-color:oklch(0.78 0.17 155 / .4)}.kstat.no{color:oklch(0.8 0.15 25);border-color:oklch(0.68 0.2 25 / .4)}
.krows{display:grid;gap:.55rem}.krows>div{font-size:.95rem;line-height:1.5;color:var(--ink-2)}.krows b{color:var(--ink)}
.kb a{color:#D9C8FF}

/* industries page */
.kpat{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.kpat>div{padding:.8rem;border-radius:12px;background:var(--tint);border:1px solid var(--line-2)}
.kpat b{display:block;color:var(--ink)}.kpat span{display:block;font:500 .74rem var(--mono);color:#D9C8FF;margin:.2rem 0}.kpat p{margin:0;font-size:.84rem;color:var(--ink-2)}
.ihub.kall{grid-template-columns:repeat(3,1fr)}.kb a{color:#D9C8FF}
@media (max-width:820px){.ihub.kall{grid-template-columns:1fr}}
#inP{grid-template-columns:1fr 1fr}#inP button{font-size:.92rem;padding:.7rem .8rem}
