.software-root{--cream:#402d36;--white:#ede6eb;--map-pink:#e3a0bf;--map-line:#af7e98;--map-text:#eee6ed;--map-muted:#c7b5c2;--card:#ffffff06;--frame:#755567;background:#402d36;color:var(--map-text);--software-height:max(680px,calc(100svh - clamp(57px,4.44vw,85px) - 20px))}
.software-root{background:#402d36}
.software-root header{height:clamp(57px,4.44vw,85px);background:#30222b;border-color:#ffffff08}
.software-root .header-inner{padding:0 3.5%;gap:4.5vw}
.software-root .brand img{filter:sepia(.3) saturate(1.4) hue-rotate(280deg)}
.software-root ul.primary{gap:2.8vw}
.software-root ul.primary>li>a,.software-root header .lotus-fintech-trigger{font-size:clamp(14px,1.1vw,20px)}
.software-root a[aria-current=page]{position:relative}
.software-root a[aria-current=page]::after{content:'';position:absolute;height:2px;background:#c68fa9;left:0;right:0;bottom:-14px}
.software-root .resume{font-size:11px!important;padding:8px 16px;border-color:#926c81;border-radius:3px}
.software-root .resume span{font-size:23px}
.software-root header ul.primary .lotus-fintech-submenu{background:#30222b;border-color:#926c81}
.software-root #software-stage{position:relative;display:block;flex:1;padding:0;min-height:var(--software-height);isolation:isolate}
.software-root .map-region{position:absolute;left:31.05%;top:18px;width:63.5%;padding:8px;background:#2f202a45;border-radius:3px}
.software-root .map-scroll{overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a67c94 #30222b}
.software-root .engineering-svg{display:block;width:100%;height:auto;background:radial-gradient(ellipse at 48% 50%,#48333d,#291e25);border-radius:7px;color:var(--map-pink);font-family:Arial,sans-serif}
.software-root .map-heading{font-size:18px;font-weight:600;letter-spacing:.5px;fill:var(--map-text)}
.software-root .map-subheading{font-size:8px;letter-spacing:2px;fill:#e5cedd}
.software-root .philosophy-rule{stroke:var(--map-pink);stroke-width:.7}
.software-root .philosophy{font-size:7px;letter-spacing:1.7px;fill:var(--map-muted)}
.software-root .group-surface{fill:#ffffff06;stroke:#7d5b6e;stroke-width:.65}
.software-root .map-group.is-highlighted>.group-surface{stroke:#d295b3;stroke-width:2}
.software-root .group-title{font-size:11px;font-weight:500;letter-spacing:.7px;fill:var(--map-text)}
.software-root .group-description{font-size:8px;letter-spacing:.15px;fill:var(--map-muted)}
.software-root .map-icon{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;color:var(--map-pink)}
.software-root .map-icon path[fill=currentColor]{stroke-width:0}
.software-root #infrastructure-cloud~.map-node[data-group="infrastructure-cloud"] .node-label{font-size:8.8px}
.software-root .node-surface{fill:var(--card);stroke:#896477;stroke-width:.6}
.software-root .map-node.is-highlighted>.node-surface{stroke:#d295b3;stroke-width:2}
.software-root .node-label{font-size:10px;letter-spacing:.2px;fill:var(--map-text)}
.software-root .node-description{font-size:8px;fill:var(--map-muted)}
.software-root .map-node,.software-root .side-item,.software-root .delivery-node{outline:none}
.software-root .map-node:hover>.node-surface,.software-root .map-node:focus-visible>.node-surface{fill:#d494b118;stroke:#f7e0ef;stroke-width:1.4}
.software-root .side-item:focus-visible text,.software-root .delivery-node:focus-visible text{fill:#fff;text-decoration:underline}
.software-root .side-item:hover text{fill:#f7e0ef}
.software-root .side-title{font-size:10px;letter-spacing:.45px;fill:var(--map-text)}
.software-root .side-description{font-size:8.2px;fill:var(--map-muted)}
.software-root .side-item-label{font-size:9px;fill:var(--map-text)}
.software-root #new-solutions .side-item-label{font-size:8px}
.software-root .map-connections path{stroke:var(--map-pink);stroke-width:1.2;fill:none}
.software-root .map-badge rect{fill:#382831;stroke:#9c738c;stroke-width:.8}
.software-root .map-badge text{font-size:7.5px;letter-spacing:.3px;fill:var(--map-text)}
.software-root .delivery-line{stroke:var(--map-pink);stroke-width:1.2;fill:none}
.software-root .delivery-node circle{fill:#e8a0bf}
.software-root .impact>.node-surface{fill:#a6527c16;stroke:#9d5e7d}
.software-root .terminal{position:absolute;left:2.1%;top:18px;width:27.5%;height:87%;box-sizing:border-box;z-index:3}
.software-root .terminal-frame{position:relative;height:100%;border:1px solid #816074;border-radius:7px;overflow:hidden;display:flex;flex-direction:column;background:#19161e}
.software-root .terminal-frame::after{content:'';position:absolute;inset:0;border:3px solid #d494b1;border-radius:6px;pointer-events:none;z-index:10;box-sizing:border-box;opacity:0}
.software-root .terminal.is-drag-active .terminal-frame,.software-root .terminal:focus-within .terminal-frame{border-color:transparent;box-shadow:0 0 8px #d494b15c,0 0 20px #f7e0ef1f}
.software-root .terminal.is-drag-active .terminal-frame::after,.software-root .terminal:focus-within .terminal-frame::after{opacity:1}
.software-root .terminal-header{height:52px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:#30252e;cursor:grab;touch-action:none;user-select:none;outline:none}
.software-root .terminal-header:active{cursor:grabbing}
.software-root .terminal-grip{height:100%;flex:1}
.software-root .terminal-actions{display:flex;gap:4px}
.software-root .terminal-actions button{font:10px/1.2 Consolas,'Courier New',monospace;color:#d8c8d4;border:1px solid #77596b;border-radius:2px;background:#ffffff06;padding:4px 6px}
.software-root .terminal-actions button:hover{background:#725168}
.software-root .terminal-output{position:relative;flex:1;min-height:0;overflow-y:scroll;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#99939b #e0dce0;padding:10px 12px;color:#c5b8c4;font:12px/1.5 Consolas,monospace;overscroll-behavior:contain;outline:none}
.software-root .terminal-output::-webkit-scrollbar{width:9px}
.software-root .terminal-output::-webkit-scrollbar-track{background:#e0dce0}
.software-root .terminal-output::-webkit-scrollbar-thumb{background:#99939b;border-radius:5px;border:2px solid #e0dce0}
.software-root .cursor{display:inline-block;font-size:10px;animation:cursor-blink 1s steps(1) infinite;color:#cab7c3}
@keyframes cursor-blink{50%{opacity:0}}
body.software-v3-page.dragging .software-root{user-select:none}
.software-root .terminal.is-dragging{z-index:8}
.software-root .terminal.is-dragging .terminal-header{cursor:grabbing}
.software-root #technology-carousel{position:absolute;left:31.05%;bottom:1px;width:63.5%;height:60px}
.software-root .technology-carousel{width:52%;height:100%;margin:auto;overflow:hidden;contain:paint;outline-offset:2px}
.software-root .technology-track{display:flex;width:max-content;height:100%;animation:technology-scroll 49.3714286s linear infinite;will-change:transform}
.software-root .technology-carousel{--technology-art-height:54px}
.software-root .technology-set{position:relative;flex:none;align-self:center;height:var(--technology-art-height);width:calc(var(--technology-art-height)*27.4838709677)}
.software-root .technology-slot{position:absolute;display:block;padding:0}
.software-root .technology-slot img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.software-root .technology-carousel:is(:hover,:focus-within) .technology-track{animation-play-state:paused}
@keyframes technology-scroll{to{transform:translateX(-50%)}}
.software-root footer{height:20px;background:#30222b;font-size:9px;color:#d6c3cf}
.software-root dialog{background:#402d36;color:#ede6eb;border-color:#b7819d}
.software-root dialog button{background:#795165}
.software-root :focus-visible{outline-color:#e6b7d2}
@media(min-width:1700px){.software-root #technology-carousel{height:82px;bottom:6px}
.software-root .technology-carousel{--technology-art-height:72px}
}
@media(max-width:1100px){.software-root header{height:57px}
.software-root .header-inner{padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));justify-content:space-between}
.software-root .brand img{width:80px;filter:none}
.software-root .js-menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px 0;border:0;background:transparent;color:#d2adbf}
.software-root .js-menu-toggle span{width:28px;height:3px;background:currentColor;display:block}
.software-root nav{display:none;position:absolute;top:57px;left:0;width:min(85vw,360px);max-height:calc(100svh - 57px);overflow:auto;background:#30222b;padding:24px;box-shadow:6px 10px 20px #120c1550}
.software-root nav.open{display:block}
.software-root ul.primary{flex-direction:column;align-items:stretch;gap:22px}
.software-root .resume-item{margin:0}
.software-root .resume{width:fit-content}
.software-root header ul.primary .lotus-fintech-submenu{position:static;margin-top:12px;background:transparent;border:0;border-left:1px solid #926c81;padding:0 0 0 8px}
.software-root header ul.primary .lotus-fintech-submenu li a{display:block;padding:9px 16px}
.software-root #software-stage{display:flex;flex-direction:column;align-items:center;gap:24px;min-height:0;padding:20px max(16px,env(safe-area-inset-right)) 20px max(16px,env(safe-area-inset-left));flex:1}
.software-root .map-region{position:static;width:100%;padding:6px}
.software-root .engineering-svg{width:1200px;max-width:none}
.software-root .map-scroll{width:100%;max-width:100%;touch-action:pan-x pan-y}
.software-root .terminal{position:relative;left:auto!important;right:auto!important;top:auto!important;width:min(100%,520px);height:460px;flex:none}
.software-root .terminal-header{height:44px;padding:0 12px;cursor:default}
.software-root .terminal-actions button{font-size:10px;min-height:28px;padding:5px 8px}
.software-root #technology-carousel{position:static;width:100%;max-width:640px;height:68px;flex:none}
.software-root .technology-carousel{width:100%}
.software-root .technology-carousel{--technology-art-height:62px}
.software-root footer{height:calc(30px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);font-size:9px}
}
@media(prefers-reduced-motion:reduce){.software-root .technology-track,.software-root .cursor{animation:none!important;transform:none!important}
.software-root .technology-carousel{overflow-x:auto}
.software-root .technology-set:nth-child(2){display:none}
}

/* Responsive console only: preserve the approved glow without interaction. */
@media(max-width:1100px){
.software-root .terminal .terminal-frame{border-color:transparent;box-shadow:0 0 8px #d494b15c,0 0 20px #f7e0ef1f}
.software-root .terminal .terminal-frame::after{opacity:1}
}
