
/* KONVENTA – visual consistency / A1-inspired modular grammar. Semantic HTML remains primary. */
:root{--kv-glass-bg:linear-gradient(149deg,rgba(35,106,114,.50),rgba(8,39,53,.94));--kv-glass-line:rgba(106,216,210,.43);--kv-glass-shadow:inset 0 1px 0 rgba(199,255,249,.17),0 15px 30px rgba(0,0,0,.14);--kv-glass-radius:16px}
.kv-card,.kv-map-node,.kv-px-item,.module,.domain,.step,.sg-minimap span{border:1px solid var(--kv-glass-line)!important;background:var(--kv-glass-bg)!important;border-radius:var(--kv-glass-radius)!important;box-shadow:var(--kv-glass-shadow)!important}
.kv-card,.module,.step,.domain{transition:border-color .15s ease,transform .15s ease}
.kv-card:hover,.module:hover,.step:hover,.domain:hover{border-color:rgba(140,233,226,.7)!important}
.kv-card h3,.module .modname,.step h3{color:#f3fafb;font-weight:650}
.kv-card p,.module p,.step p{color:#c7dde0}
.kv-process-explainer{display:flex;align-items:stretch;gap:0;margin:38px 0 34px;padding:20px 16px;border-radius:18px;border:1px solid rgba(116,211,207,.31);background:linear-gradient(135deg,rgba(31,100,106,.3),rgba(8,36,47,.84))}
.kv-px-item{flex:1 1 0;min-width:0;padding:18px 12px!important;display:flex;align-items:center;text-align:center;flex-direction:column}
.kv-px-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:linear-gradient(155deg,rgba(42,169,165,.26),rgba(11,62,73,.8));border:1px solid rgba(126,244,234,.57);box-shadow:inset 0 1px rgba(225,255,250,.2);color:#8ef2ea;margin-bottom:12px}
.kv-px-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.kv-px-item strong{font-size:15px}.kv-px-item small{color:#c2dfe0;margin-top:5px;font-size:11px;line-height:1.4}
.kv-px-link{width:20px;flex:0 0 20px;position:relative;align-self:center;height:2px;background:#63d9cf}
.kv-px-link:after{content:"";position:absolute;right:0;top:-4px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #63d9cf}
.kv-readable-depth{margin-top:27px;max-width:100%}
.kv-readable-depth p{max-width:76ch}
.kv-illustrated-story{align-items:start}
.kv-illustrated-story .kv-visual{background:linear-gradient(135deg,#103340,#081f2c);border:1px solid rgba(120,225,214,.36);border-radius:16px;padding:8px;overflow:hidden;box-shadow:var(--kv-glass-shadow)}
.kv-illustrated-story .kv-visual svg{max-width:100%;height:auto;display:block}
.kv-mod-intro{max-width:850px!important;font-size:16px;color:#cbdfe0}
.kv-sys-map{border:1px solid rgba(107,225,213,.35);border-radius:22px;padding:32px 38px 22px;margin:24px 0 38px;background:radial-gradient(ellipse at center,rgba(30,100,111,.29),transparent 68%),linear-gradient(125deg,#0d2b38,#081c29);box-shadow:inset 0 1px rgba(190,255,248,.16);text-align:center}
.kv-sys-map-top h3{font-size:clamp(21px,2.3vw,30px);margin:10px 0 12px}.kv-sys-map-top p{margin:0 auto 12px;max-width:780px;color:#c6dee0}
.kv-map-network{display:grid;grid-template-columns:minmax(0,1fr) minmax(165px,.83fr) minmax(0,1fr);gap:24px;align-items:center;margin:28px auto;max-width:1000px}
.kv-map-side{display:grid;gap:14px;min-width:0}
.kv-map-node{font:inherit;color:#edffff;min-height:66px;display:flex;align-items:center;gap:14px;padding:13px 18px;cursor:pointer;text-align:left;position:relative;min-width:0}
.kv-map-node span:last-child{font-weight:650;font-size:15px}
.kv-map-node:hover,.kv-map-node[aria-pressed="true"]{border-color:#70ece1!important;background:linear-gradient(142deg,rgba(38,130,132,.55),rgba(8,42,57,.92))!important}
.kv-map-node-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;border:1px solid rgba(109,234,226,.39);color:#66e4da;font-size:24px}
.kv-map-core{min-height:190px;border-radius:50%;aspect-ratio:1;max-width:240px;margin:auto;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#f3ffff;font-size:17px;line-height:1.25;background:radial-gradient(circle at 45% 30%,rgba(49,176,169,.65),rgba(9,56,68,.94) 63%,#071d2a);border:2px solid rgba(111,239,222,.8);box-shadow:0 0 0 12px rgba(27,163,156,.06),inset 0 0 18px rgba(79,233,216,.12),0 20px 45px rgba(0,0,0,.15);position:relative}
.kv-map-core:before,.kv-map-core:after{content:"";position:absolute;top:50%;height:1px;width:30px;background:rgba(100,232,221,.72)}
.kv-map-core:before{right:100%}.kv-map-core:after{left:100%}
.kv-map-core-glyph svg{width:50px;height:50px;color:#71eee2}
.kv-map-hint{font-size:13px;color:#a9d9d7;margin:18px auto 0}
.kv-flow-intro{max-width:860px;color:#d0e4e6;margin:0 0 25px}
.kv-flow-wrap{padding:18px 0 25px}
.kv-connected-flow{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px 26px!important}
.kv-connected-flow .step{position:relative;min-height:230px;padding:22px!important}
.kv-connected-flow .step:after{content:"";position:absolute;top:50%;right:-25px;width:25px;height:2px;background:#57cbc6;z-index:2}
.kv-connected-flow .step:nth-child(3n):after{display:none}
.kv-connected-flow .step:nth-child(1),.kv-connected-flow .step:nth-child(6){border-color:rgba(141,246,236,.72)!important}
.kv-connected-flow .step:nth-child(6){background:linear-gradient(145deg,rgba(41,120,120,.59),rgba(10,50,63,.92))!important}
@media(max-width:940px){.kv-map-network{gap:9px;grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr)}.kv-map-node{padding:10px 10px;gap:8px}.kv-map-node span:last-child{font-size:12px}.kv-map-core{font-size:13px;min-height:170px}.kv-process-explainer{padding:13px 7px}.kv-px-link{width:10px;flex-basis:10px}}
@media(max-width:760px){.kv-map-network{grid-template-columns:1fr;gap:14px}.kv-map-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.kv-map-core{order:-1;max-width:190px;min-height:190px}.kv-map-core:before,.kv-map-core:after{display:none}.kv-sys-map{padding:25px 15px}.kv-connected-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.kv-connected-flow .step:nth-child(3n):after{display:block}.kv-connected-flow .step:nth-child(2n):after{display:none}.kv-process-explainer{flex-wrap:wrap;gap:9px}.kv-px-item{flex:1 1 calc(50% - 16px)}.kv-px-link{display:none}}
@media(max-width:520px){.kv-map-side{grid-template-columns:1fr}.kv-map-node{min-height:52px}.kv-map-node span:last-child{font-size:14px}.kv-connected-flow{grid-template-columns:1fr!important}.kv-connected-flow .step:after{display:block!important;right:auto;left:48%;top:auto;bottom:-15px;width:2px;height:14px}.kv-connected-flow .step:last-child:after{display:none!important}.kv-connected-flow .step{min-height:auto}.kv-process-explainer{padding:12px;gap:8px}.kv-px-item{min-height:146px}.kv-px-item strong{font-size:14px}.kv-px-item small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.kv-card,.module,.step,.domain{transition:none!important}}

.kv-map-node-icon svg{width:24px;height:24px;display:block}.hero-note{display:none!important}

/* Continuous six-step path: snake layout on desktop, vertical ordered flow on mobile */
.kv-connected-flow .stepnum{display:inline-flex!important;font-size:12px;color:#72e6db;letter-spacing:.08em;margin-bottom:10px}
@media(min-width:761px){
.kv-connected-flow .step:nth-child(4){grid-column:3;grid-row:2}
.kv-connected-flow .step:nth-child(5){grid-column:2;grid-row:2}
.kv-connected-flow .step:nth-child(6){grid-column:1;grid-row:2}
.kv-connected-flow .step:nth-child(3):after{display:block!important;right:50%;top:auto;bottom:-22px;width:2px;height:20px}
.kv-connected-flow .step:nth-child(3):before{content:"";position:absolute;bottom:-25px;right:calc(50% - 4px);border-top:7px solid #57cbc6;border-left:5px solid transparent;border-right:5px solid transparent}
.kv-connected-flow .step:nth-child(4):after,.kv-connected-flow .step:nth-child(5):after{display:block!important;left:-25px;right:auto}
.kv-connected-flow .step:nth-child(4):before,.kv-connected-flow .step:nth-child(5):before{content:"";position:absolute;top:calc(50% - 4px);left:-28px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:7px solid #57cbc6}
.kv-connected-flow .step:nth-child(6):after{display:none!important}
}
@media(max-width:760px){.kv-connected-flow .step:nth-child(4),.kv-connected-flow .step:nth-child(5),.kv-connected-flow .step:nth-child(6){grid-column:auto;grid-row:auto}}
