@font-face{font-family:"Press Start 2P";src:url("../fonts/PressStart2P-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{--plum:#2d2532;--panel:#2a222e;--deep:#241d28;--cream:#f7eee4;--muted:#c2b5c6;--orange:#ff7138;--orange-soft:#ff9b70;--green:#7be184;--cyan:#72e6e1;--violet:#806f91;--border:#55445e;--border2:#685a70}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-size:17.6px;background:var(--plum);color:var(--cream);font-family:Arial,"Helvetica Neue",sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;text-shadow:0 1px 2px rgba(0,0,0,.3)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 86% 7%,rgba(255,113,56,.12),transparent 23%),radial-gradient(circle at 7% 38%,rgba(123,225,132,.07),transparent 22%)}button,a{font:inherit}.wrap{width:min(1180px,calc(100% - 42px));margin:auto;position:relative}h1,h2,h3,.brand,.node,.btn,.panel-title,.micro,.kicker{text-shadow:0 1px 0 rgba(255,255,255,.04),0 3px 5px rgba(0,0,0,.38)}
header{height:76px;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(45,37,50,.94);backdrop-filter:blur(14px);z-index:20}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font:800 13.2px ui-monospace,monospace;letter-spacing:.14em;white-space:nowrap}.brand i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:10px;box-shadow:0 0 12px rgba(123,225,132,.55)}nav{display:flex;gap:7px}nav a,.nav-cv{min-height:42px;display:flex;align-items:center;padding:0 12px;color:var(--muted);text-decoration:none;font:800 9.9px ui-monospace,monospace;letter-spacing:.1em;border:1px solid transparent}nav a:hover,nav a:focus-visible{border-color:var(--border);color:var(--cream)}.nav-cv{border-color:var(--green);color:var(--green)}
.hero{min-height:690px;display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center;padding:68px 0;overflow:clip}.kicker,.micro{font:800 9.9px ui-monospace,monospace;letter-spacing:.15em;color:var(--green)}h1{font-size:clamp(58px,7vw,102px);line-height:.86;letter-spacing:-.065em;margin:20px 0 27px;max-width:720px}.arcade-title{font-family:"Press Start 2P",ui-monospace,monospace;font-size:clamp(34px,5.2vw,68px);font-weight:400;line-height:1.3;letter-spacing:-.025em;text-transform:uppercase}.technical-title{font-size:clamp(22px,2.6vw,34px);line-height:1.8;letter-spacing:-.035em;text-transform:none;white-space:nowrap}.technical-title>span{text-shadow:0 3px 8px rgba(0,0,0,.45)}.arcade-title .title-violet{color:var(--violet)}.arcade-title .title-white{color:var(--cream)}.arcade-title .title-red{color:#ff4d5a}.arcade-title .title-green{color:var(--green)}.arcade-title .title-orange{color:var(--orange)}.lead{color:var(--muted);font-size:19.8px;line-height:1.65;max-width:620px}.lead strong{color:var(--cream)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:33px}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border2);color:var(--cream);padding:0 18px;text-decoration:none;font:800 9.9px ui-monospace,monospace;letter-spacing:.1em;cursor:pointer;background:transparent}.btn:hover,.btn:focus-visible{border-color:var(--green);color:var(--green);outline:none}.btn.primary{background:var(--orange);border-color:var(--orange);color:#271d2b}.btn.primary:hover,.btn.primary:focus-visible{background:var(--orange-soft);color:#271d2b}.btn.green{border-color:var(--green);color:var(--green)}
.hero-name{position:relative;margin:24px 0 30px;font:400 clamp(39px,4.9vw,66px)/1 "Press Start 2P",ui-monospace,monospace;letter-spacing:-.035em;text-transform:uppercase}.hero-name span{display:block;width:max-content;max-width:100%;color:#fff;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:#fff;text-shadow:0 2px 0 #9b96a0,0 5px 0 #625d67,0 11px 16px rgba(5,3,7,.72);filter:none}.hero-map{max-width:640px;margin:0 0 28px}.hero-map-label{margin-bottom:12px;color:#d4cbd6;font:700 9.9px/1.3 Arial,"Helvetica Neue",sans-serif;letter-spacing:.12em}.hero-map-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.hero-map-stop{--route-color:#ff5a67;position:relative;min-width:0;padding:14px 2px 12px;border-top:3px solid var(--route-color);border-bottom:1px solid rgba(247,238,228,.16);box-shadow:0 -5px 12px -9px var(--route-color)}.hero-map-stop:before{content:"";position:absolute;left:0;top:-3px;width:34%;height:3px;background:linear-gradient(90deg,transparent,var(--route-color),#fff,var(--route-color),transparent);filter:drop-shadow(0 0 5px var(--route-color));animation:route-signal 3.2s ease-in-out infinite}.hero-map-stop:after{content:"→";position:absolute;right:-19px;top:31px;color:#d0c8d2;font:700 17.6px/1 Arial,sans-serif;animation:route-arrow 1.6s ease-in-out infinite}.hero-map-stop:last-child:after{display:none}.hero-map-stop span{display:block;margin-bottom:8px;color:#cfc5d1;font:700 8.8px/1.2 Arial,"Helvetica Neue",sans-serif;letter-spacing:.1em}.hero-map-stop strong{display:block;color:#fff;font:700 13.2px/1.2 Arial,"Helvetica Neue",sans-serif;letter-spacing:.08em}.hero-map-stop code{display:block;margin-top:9px;color:#ddd4df;font:600 9.9px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.hero-map-stop code b{margin-right:4px;color:var(--route-color)}.hero-map-stop.linux{--route-color:#f4d35e}.hero-map-stop.defence{--route-color:#69aefc}.hero-map-stop.linux:before{animation-delay:.7s}.hero-map-stop.defence:before{animation-delay:1.4s}@keyframes route-signal{0%{left:-5%;opacity:0}18%{opacity:1}75%{opacity:1}100%{left:71%;opacity:0}}@keyframes route-arrow{0%,100%{opacity:.45}50%{opacity:1}}
.flow{height:450px;border:1px solid var(--border2);position:relative;background:rgba(15,11,18,.22);overflow:hidden}.flow:before{content:"PACKET_FLOW / SITE MAP";position:absolute;left:16px;top:14px;color:var(--muted);font:800 8.8px ui-monospace,monospace;letter-spacing:.12em}.node{position:absolute;padding:11px 13px;border:1px solid var(--border2);background:var(--panel);font:800 9.9px ui-monospace,monospace;z-index:2;color:var(--cream)}.node small{display:block;margin-top:5px;color:var(--muted);font-size:7.7px}.n1{left:7%;top:19%;color:var(--violet)}.n2{right:7%;top:34%;color:#a9e7af}.n3{left:10%;bottom:21%;color:var(--orange)}.n4{right:9%;bottom:14%;color:#69aefc}.line{position:absolute;height:2px;background:var(--green);transform-origin:left center;opacity:.65}.l1{left:22%;top:25%;width:59%;transform:rotate(16deg);background:var(--violet)}.l2{left:22%;top:69%;width:61%;transform:rotate(-20deg);background:var(--orange)}.l3{left:78%;top:40%;width:72%;transform:rotate(158deg);background:var(--green)}.packet{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--orange);left:49%;top:47%;box-shadow:0 0 16px var(--orange);z-index:3}
.quick-shell{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(15,11,18,.18)}.quick{min-height:92px;display:grid;grid-template-columns:repeat(6,1fr)}.quick a{position:relative;display:flex;flex-direction:column;justify-content:center;padding:17px 18px;color:var(--cream);text-decoration:none;border-right:1px solid var(--border);font:800 11px ui-monospace,monospace}.quick a:first-child{border-left:1px solid var(--border)}.quick small{color:var(--violet);font-size:7.7px;letter-spacing:.12em;margin-bottom:7px}.quick a:hover,.quick a:focus-visible{background:var(--panel);color:var(--green);outline:none}.quick a:last-child{color:var(--green)}
.section{padding:103px 0;border-bottom:1px solid var(--border)}.head{display:grid;grid-template-columns:1fr 390px;gap:55px;align-items:end;margin-bottom:42px}.head h2{font-size:clamp(42px,5vw,70px);line-height:.94;letter-spacing:-.055em;margin:15px 0 0}.copy{color:var(--muted);font-size:16.5px;line-height:1.7;margin:0}
.passport-simple-head{width:min(590px,100%);margin:0 auto 18px}.passport-visual{width:min(590px,100%);margin:0 auto;border:1px solid var(--border2);background:rgba(15,11,18,.2);padding:14px}.hero-passport{position:relative;isolation:isolate;align-self:center;width:100%;scroll-margin-top:100px}.hero-passport:before{content:"";position:absolute;z-index:-1;inset:-28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='120' viewBox='0 0 150 120'%3E%3Cg fill='%237be184' font-family='monospace' font-size='8'%3E%3Ctext x='2' y='10' opacity='.45'%3E010011010110101001%3C/text%3E%3Ctext x='13' y='29' opacity='.75'%3E101100101001011010%3C/text%3E%3Ctext x='5' y='48' opacity='.38'%3E001011010110010101%3C/text%3E%3Ctext x='20' y='67' opacity='.7'%3E110100110010110100%3C/text%3E%3Ctext x='0' y='86' opacity='.48'%3E011001011010010110%3C/text%3E%3Ctext x='15' y='105' opacity='.78'%3E100110100101101001%3C/text%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;background-position:0 -120px;opacity:.9;filter:drop-shadow(0 0 6px rgba(123,225,132,.32));-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.82) 67%,transparent 96%);mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.82) 67%,transparent 96%);animation:passport-matrix-rain 8s linear infinite}.hero-passport>*{position:relative;z-index:1}.standalone-flow{width:min(590px,100%);margin:0 auto}.passport-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.profile-trigger{width:100%;padding:0;border:0;background:transparent;text-align:inherit}.passport-open:focus-visible{outline:2px solid var(--green);outline-offset:5px}.passport-visual img{display:block;width:100%;height:auto;filter:drop-shadow(0 22px 30px rgba(10,7,12,.3))}.passport-visual figcaption{margin-top:14px;color:var(--muted);font:800 8.8px ui-monospace,monospace;letter-spacing:.12em;text-align:center}.passport-actions{display:flex;justify-content:center;margin-top:20px}@keyframes passport-matrix-rain{to{background-position:0 120px}}
.hero-passport:before,.hero-passport:after{content:"";position:absolute;inset:-28px;background-repeat:repeat;background-size:160px 180px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.84) 68%,transparent 96%);mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.84) 68%,transparent 96%)}.hero-passport:before{z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='180' viewBox='0 0 160 180'%3E%3Cg fill='%237be184' font-family='monospace' font-size='9'%3E%3Ctext transform='translate(12 -32) rotate(90)' opacity='.95'%3E010011010110101001101%3C/text%3E%3Ctext transform='translate(39 -8) rotate(90)' opacity='.58'%3E101100101001011010011%3C/text%3E%3Ctext transform='translate(66 -54) rotate(90)' opacity='.82'%3E001011010110010101101%3C/text%3E%3Ctext transform='translate(93 -22) rotate(90)' opacity='.48'%3E110100110010110100101%3C/text%3E%3Ctext transform='translate(120 -70) rotate(90)' opacity='.9'%3E011001011010010110010%3C/text%3E%3Ctext transform='translate(147 -4) rotate(90)' opacity='.64'%3E100110100101101001011%3C/text%3E%3C/g%3E%3C/svg%3E");opacity:.86;filter:drop-shadow(0 0 6px rgba(123,225,132,.42));animation:matrix-column-fall 6s linear infinite}.hero-passport:after{z-index:-2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='180' viewBox='0 0 160 180'%3E%3Cg fill='%2352c96a' font-family='monospace' font-size='8'%3E%3Ctext transform='translate(25 -65) rotate(90)' opacity='.55'%3E110010101101001011010%3C/text%3E%3Ctext transform='translate(78 -18) rotate(90)' opacity='.72'%3E001101010010110100101%3C/text%3E%3Ctext transform='translate(133 -46) rotate(90)' opacity='.5'%3E101001101011001010011%3C/text%3E%3C/g%3E%3C/svg%3E");background-position:78px -180px;opacity:.48;filter:drop-shadow(0 0 4px rgba(82,201,106,.28));animation:matrix-column-fall-soft 9.5s linear infinite}@keyframes matrix-column-fall{from{background-position:0 -180px}to{background-position:0 180px}}@keyframes matrix-column-fall-soft{from{background-position:78px -180px}to{background-position:78px 180px}}
.hero-passport:before,.hero-passport:after{display:none}.hero-passport>.matrix-rain-canvas{position:absolute;z-index:-1;inset:0;width:100%;height:100%;opacity:.88;pointer-events:none;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.86) 69%,transparent 97%);mask-image:radial-gradient(ellipse at center,#000 35%,rgba(0,0,0,.86) 69%,transparent 97%)}
.journey-panel{border:1px solid var(--border2);background:var(--panel);padding:28px}.journey-header{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--border);color:var(--cream);font:800 8.8px ui-monospace,monospace;letter-spacing:.11em}.journey-header b{color:var(--green)}.journey-track{position:relative;min-height:315px;overflow:hidden}.journey-line{position:absolute;left:7%;right:7%;top:105px;height:3px;background:linear-gradient(90deg,var(--violet),var(--green),var(--orange),#69aefc);box-shadow:0 0 13px rgba(123,225,132,.22)}.journey-line:after{content:"";position:absolute;inset:-5px 0;border-top:1px dashed rgba(247,238,228,.17)}.journey-walker{position:absolute;z-index:3;left:5%;top:18px;width:62px;height:80px;animation:journey-travel 12s ease-in-out infinite alternate}.journey-walker svg{display:block;width:100%;height:100%;overflow:visible;animation:walker-bob .48s ease-in-out infinite alternate}.walker-head{fill:#2a222e;stroke:var(--cream);stroke-width:3}.walker-body{fill:none;stroke:var(--cream);stroke-width:4;stroke-linecap:round}.walker-laptop rect{fill:#17121a;stroke:var(--green);stroke-width:2}.walker-laptop path{fill:#241d28;stroke:var(--green);stroke-width:2;stroke-linejoin:round}.walker-laptop circle{fill:var(--orange);stroke:none}.journey-nodes{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:139px 18px 20px}.journey-node{position:relative;min-height:112px;padding:21px 14px 16px;border:1px solid var(--border);background:rgba(15,11,18,.2);display:grid;grid-template-columns:1fr auto;gap:8px;align-content:center}.journey-node i{position:absolute;left:50%;top:-42px;width:15px;height:15px;border-radius:50%;background:var(--violet);border:3px solid var(--panel);box-shadow:0 0 0 2px var(--violet);transform:translateX(-50%)}.journey-node small{grid-column:1/-1;color:var(--muted);font:800 7.7px ui-monospace,monospace}.journey-node strong{color:var(--cream);font:800 9.9px ui-monospace,monospace;letter-spacing:.08em}.journey-node b{color:var(--violet);font:400 17.6px "Press Start 2P",ui-monospace,monospace}.journey-node:nth-child(2) i{background:var(--green);box-shadow:0 0 0 2px var(--green)}.journey-node:nth-child(2) b{color:var(--green)}.journey-node:nth-child(3) i{background:var(--orange);box-shadow:0 0 0 2px var(--orange)}.journey-node:nth-child(3) b{color:var(--orange-soft)}.journey-node:nth-child(4) i{background:#69aefc;box-shadow:0 0 0 2px #69aefc}.journey-node:nth-child(4) b{color:#8bbdff}.journey-note{margin:0;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font:800 7.7px/1.5 ui-monospace,monospace;letter-spacing:.09em}@keyframes journey-travel{0%,10%{left:5%}27%,37%{left:29%}54%,64%{left:53%}81%,100%{left:84%}}@keyframes walker-bob{to{transform:translateY(-4px) rotate(1deg)}}
.journey-node{min-height:150px}.journey-icon{grid-column:1/-1;display:block;width:60px;height:44px;margin:1px auto 5px;color:var(--violet);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.journey-node:nth-child(2) .journey-icon{color:var(--green)}.journey-node:nth-child(3) .journey-icon{color:var(--orange-soft)}.journey-node:nth-child(4) .journey-icon{color:#8bbdff}.linux-icon .penguin-dark{fill:#17121a;stroke:var(--green)}.linux-icon .penguin-light{fill:var(--cream);stroke:none}.linux-icon .penguin-eye{fill:#17121a;stroke:none}.linux-icon .penguin-beak{fill:var(--orange);stroke:none}.soc-icon .soc-alert{fill:rgba(255,113,56,.14);stroke:var(--orange)}
.journey-node{min-height:245px;grid-template-columns:1fr}.level-gauge{grid-column:1/-1;width:100%;margin-top:8px}.level-dial{position:relative;width:110px;height:55px;margin:0 auto;overflow:hidden;border-radius:110px 110px 0 0;background:conic-gradient(from 270deg at 50% 100%,#ff5a67 0deg 60deg,#f4d35e 60deg 120deg,#69aefc 120deg 180deg,transparent 180deg)}.level-dial:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:39px;border-radius:78px 78px 0 0;background:var(--panel)}.level-needle{position:absolute;z-index:2;left:calc(50% - 1px);bottom:0;width:3px;height:45px;background:var(--cream);transform-origin:50% 100%;transform:rotate(var(--needle));box-shadow:0 0 6px rgba(247,238,228,.65)}.level-needle:after{content:"";position:absolute;left:-4px;bottom:-4px;width:11px;height:11px;border-radius:50%;background:var(--cream);box-shadow:0 0 0 3px var(--panel)}.level-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:7px;color:var(--muted);font:400 5.5px/1.4 "Press Start 2P",ui-monospace,monospace;text-align:center}.level-labels span:first-child{color:#ff8a93}.level-labels span:nth-child(2){color:#f6dc78}.level-labels span:last-child{color:#8bbdff}
.head h2,.quest-heading h2,.cv-panel h3,.dialog h3,.profile-cv h2,.profile-cv section h3,.project h3,.video-copy h3,.quest-launch h3,.quest-card h3,.quest-ending h3{font-family:"Press Start 2P",ui-monospace,monospace;letter-spacing:-.025em}.head h2{font-size:clamp(27px,3.25vw,46px);line-height:1.3}.quest-heading h2{font-size:clamp(18px,2.6vw,29px);line-height:1.45}.project h3{font-size:16px;line-height:1.45}.video-copy h3{font-size:13px;line-height:1.45}.cv-panel h3{font-size:23px;line-height:1.4}.dialog h3{font-size:18px;line-height:1.45}.profile-cv h2{font-size:clamp(29px,3.25vw,44px);line-height:1.25}.profile-cv section h3{font-size:15px;line-height:1.45}.quest-launch h3,.quest-ending h3{font-size:12px;line-height:1.65}.quest-card h3{font-size:clamp(14px,2vw,20px);line-height:1.5}nav a,.nav-cv,.quick a,.filter,.mobile-dock a,.hero-map-label,.hero-map-stop span,.hero-map-stop strong,.journey-header,.micro,.btn{font-family:"Press Start 2P",ui-monospace,monospace;letter-spacing:.04em}nav a,.nav-cv{font-size:7.7px}.quick a{font-size:8.8px;line-height:1.5}.filter{font-size:7.7px}.hero-map-label{font-size:7.7px}.hero-map-stop span{font-size:6.6px}.hero-map-stop strong{font-size:9.9px}
@media(max-width:620px){.head h2{font-size:28px;line-height:1.35}.quest-heading h2{font-size:17px}.journey-node{min-height:225px}.level-labels{font-size:5.5px}.mobile-dock a{font-size:6.6px}}
.filterbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:23px}.filter{min-height:42px;border:1px solid var(--border2);background:transparent;color:var(--muted);padding:0 14px;font:800 9.9px ui-monospace,monospace;letter-spacing:.09em;cursor:pointer}.filter:hover,.filter:focus-visible{border-color:var(--green);color:var(--green);outline:none}.filter[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#19251d}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.project{border:1px solid var(--border2);background:var(--panel);min-height:365px;display:flex;flex-direction:column}.project[hidden]{display:none}.project-visual{height:155px;border-bottom:1px solid var(--border);position:relative;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,113,56,.1),transparent 40%),linear-gradient(145deg,#251d29,#33283a)}.project-visual{flex:0 0 155px;overflow:hidden;min-height:0}.project-visual.has-image{grid-template-columns:104px minmax(0,1fr);gap:16px;padding:18px}.project-thumbnail-wrap{width:104px;height:104px}.project-thumbnail{display:block;width:100%;height:100%;object-fit:contain}.project-visual.has-image:before{display:none}.project-visual code{color:var(--green);font:11px/1.7 ui-monospace,monospace}.project-visual:before{content:attr(data-code);position:absolute;left:14px;top:13px;color:var(--muted);font:800 7.7px ui-monospace,monospace;letter-spacing:.1em}.project-body{padding:24px;display:flex;flex:1;flex-direction:column}.badge{align-self:flex-start;border:1px solid var(--violet);color:var(--muted);padding:6px 8px;font:800 7.7px ui-monospace,monospace;letter-spacing:.1em}.badge.verified{border-color:var(--green);color:var(--green)}.badge.building{border-color:var(--orange);color:var(--orange-soft)}.project h3{font-size:24px;line-height:1.05;letter-spacing:-.035em;margin:18px 0 12px}.project p{color:var(--muted);font-size:14.3px;line-height:1.6;margin:0 0 18px}.text-link{margin-top:auto;color:var(--green);text-decoration:none;font:800 9.9px ui-monospace,monospace;letter-spacing:.08em}.text-link:hover,.text-link:focus-visible{color:var(--orange-soft);outline:none}
.project-showcase.with-video{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.45fr);gap:22px;align-items:stretch}.project-showcase.with-video .project-grid{grid-template-columns:1fr;height:100%}.project-video-panel{height:100%;display:flex;flex-direction:column;border:1px solid var(--border2);background:var(--panel);overflow:hidden}.project-video-panel[hidden]{display:none}.project-video-frame{position:relative;aspect-ratio:16/9;background:#0f0b12}.project-video-frame iframe{display:block;width:100%;height:100%;border:0}.project-video-poster{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:0;border:0;background:#0f0b12;cursor:pointer}.project-video-poster[hidden]{display:none}.project-video-poster img{display:block;width:100%;height:100%;object-fit:contain}.project-video-poster span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:72px;height:72px;border:2px solid var(--green);border-radius:50%;background:rgba(15,11,18,.82);color:var(--green);font-size:24px;transform:translate(-50%,-50%);box-shadow:0 0 28px rgba(123,225,132,.3)}.project-video-poster:hover span,.project-video-poster:focus-visible span{background:var(--green);color:#19251d}.project-video-poster:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.project-video-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding:22px}.project-video-footer h3{margin:8px 0 0;font:400 13px/1.5 "Press Start 2P",ui-monospace,monospace}.project-video-footer .btn{flex:0 0 auto}.project-video-footer .btn.green{border-color:var(--green);color:var(--green)}@media(max-width:1000px){.project-showcase.with-video{grid-template-columns:1fr}.project-showcase.with-video .project-grid{grid-template-columns:1fr}.project-video-panel{width:100%}}@media(max-width:620px){.project-video-footer{align-items:stretch;flex-direction:column}.project-video-footer .btn{width:100%}}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.video-card{border:1px solid var(--border2);background:var(--panel);min-height:300px;display:flex;flex-direction:column}.screen{height:150px;display:grid;place-items:center;border-bottom:1px solid var(--border);background:rgba(15,11,18,.25);position:relative}.screen:before{content:attr(data-channel);position:absolute;left:12px;top:11px;color:var(--violet);font:800 7.7px ui-monospace,monospace;letter-spacing:.1em}.play{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--orange);color:var(--orange);font-size:16.5px}.video-copy{padding:20px;display:flex;flex:1;flex-direction:column}.video-copy h3{font-size:19px;margin:10px 0}.video-copy p{font-size:13.2px;line-height:1.55;color:var(--muted);margin:0}.planned{color:var(--orange-soft);font:800 7.7px ui-monospace,monospace;letter-spacing:.1em}

.cv-panel{border:1px solid var(--border2);background:var(--panel);padding:38px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}.cv-panel h3{font-size:35px;letter-spacing:-.04em;margin:10px 0}.cv-panel p{color:var(--muted);line-height:1.6;margin:0;max-width:720px}.cv-actions{display:flex;gap:9px}
footer{min-height:100px;display:flex;align-items:center}.foot{display:flex;justify-content:space-between;color:var(--muted);font:800 8.8px ui-monospace,monospace;letter-spacing:.11em}.foot b{color:var(--green)}
.mobile-dock{display:none}
@media(max-width:1000px){nav{display:none}.hero{grid-template-columns:1fr;gap:44px;padding:60px 0}.flow{height:390px}.head{grid-template-columns:1fr;gap:20px}.identity-grid,.skill-layout,.cv-panel{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr 1fr}.video-grid{grid-template-columns:1fr 1fr}.quick{grid-template-columns:repeat(6,1fr)}.quick a{padding:14px 10px}.quick a:first-child{border-left:0}.quick a:last-child{border-right:0}.cv-actions{justify-content:flex-start}}
@media(max-width:620px){html{scroll-padding-top:76px}.wrap{width:min(100% - 32px,1180px)}header{height:70px}.nav-cv{display:none}.hero{min-height:auto;padding:47px 0 54px}h1{font-size:58px}.lead{font-size:17.6px}.actions{flex-direction:column}.btn{width:100%}.flow{height:330px}.node{padding:8px;font-size:7.7px}.n1{left:5%}.n2{right:5%}.n3{left:7%}.n4{right:6%}.quick-shell{display:none}.section{padding:73px 0}.head h2{font-size:43px}.skill-row{grid-template-columns:92px 1fr}.skill-row em{grid-column:2}.project-grid,.video-grid{grid-template-columns:1fr}.filterbar{display:grid;grid-template-columns:1fr 1fr}.filter{width:100%}.cv-panel{padding:25px}.cv-actions{flex-direction:column}.foot{gap:17px;flex-direction:column;padding:28px 0 90px}.mobile-dock{position:fixed;display:grid;grid-template-columns:repeat(6,1fr);left:10px;right:10px;bottom:10px;z-index:30;background:rgba(42,34,46,.96);border:1px solid var(--border2);backdrop-filter:blur(12px)}.mobile-dock a{min-height:57px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);text-decoration:none;font:800 7.7px ui-monospace,monospace;letter-spacing:.06em}.mobile-dock b{font-size:16.5px;color:var(--green)}.mobile-dock a:focus-visible{outline:2px solid var(--orange)}}
@media(max-width:620px){.journey-panel{padding:18px}.journey-header{align-items:flex-start;flex-direction:column;gap:8px}.journey-track{min-height:650px}.journey-line{left:29px;right:auto;top:35px;bottom:35px;width:3px;height:auto;background:linear-gradient(180deg,var(--violet),var(--green),var(--orange),#69aefc)}.journey-line:after{inset:0 -5px;border-top:0;border-left:1px dashed rgba(247,238,228,.17)}.journey-walker{left:3px;top:3px;width:52px;height:68px;animation:journey-travel-mobile 12s ease-in-out infinite alternate}.journey-nodes{grid-template-columns:1fr;gap:18px;padding:30px 0 30px 70px}.journey-node{min-height:130px}.journey-node i{left:-42px;top:50%;transform:translate(-50%,-50%)}.journey-note{font-size:6.6px}@keyframes journey-travel-mobile{0%,10%{top:3px}27%,37%{top:155px}54%,64%{top:310px}81%,100%{top:465px}}}
@media(prefers-reduced-motion:reduce){.journey-walker,.journey-walker svg{animation:none!important}.journey-walker{left:53%}}
@media(max-width:620px) and (prefers-reduced-motion:reduce){.journey-walker{left:3px;top:253px}}
.text-link.dialog-trigger{background:none;border:0;padding:0;cursor:pointer;text-align:left}
.play{background:transparent;cursor:pointer}
.dialog-backdrop[hidden]{display:none}.dialog-backdrop{position:fixed;inset:0;z-index:100;background:rgba(15,11,18,.82);display:grid;place-items:center;padding:20px}.dialog{width:min(560px,100%);background:var(--panel);border:1px solid var(--border2);padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.4)}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog h3{font-size:28px;line-height:1.05;letter-spacing:-.035em;margin:12px 0}.dialog p{color:var(--muted);line-height:1.65}.dialog-close{width:42px;height:42px;border:1px solid var(--border2);background:transparent;color:var(--cream);cursor:pointer;font-size:22px}.dialog-close:hover,.dialog-close:focus-visible{border-color:var(--green);color:var(--green);outline:none}
.profile-backdrop[hidden]{display:none}.profile-backdrop{position:fixed;inset:0;z-index:120;background:rgba(10,7,12,.9);display:grid;place-items:center;padding:24px}.profile-dialog{position:relative;width:min(1180px,100%);height:min(760px,92vh);display:grid;grid-template-columns:minmax(360px,46%) 1fr;overflow:hidden;background:#211a25;border:1px solid var(--border2);box-shadow:0 30px 100px rgba(0,0,0,.58)}.profile-close{position:absolute;right:16px;top:16px;z-index:3;width:44px;height:44px;border:1px solid var(--border2);background:#211a25;color:var(--cream);font-size:24.2px;cursor:pointer}.profile-close:hover,.profile-close:focus-visible{color:var(--green);border-color:var(--green);outline:none}.profile-passport-pane{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:42px;background:radial-gradient(circle at 50% 40%,rgba(128,111,145,.18),transparent 48%),#19131c;border-right:1px solid var(--border)}.profile-passport-pane img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 34px rgba(0,0,0,.4))}.profile-passport-pane .text-link{align-self:center}.profile-cv{overflow-y:auto;padding:54px 54px 60px;background:linear-gradient(145deg,#302735,#261f2b);scrollbar-color:var(--violet) #211a25}.profile-cv h2{font-size:clamp(44px,5vw,68px);line-height:.95;margin:16px 0 10px}.profile-role{color:var(--green);font:800 11px ui-monospace,monospace;letter-spacing:.12em}.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.profile-facts span{padding:16px;border:1px solid var(--border);color:var(--cream);font-size:14.3px}.profile-facts small{display:block;margin-bottom:8px;color:var(--violet);font:800 8.8px ui-monospace,monospace;letter-spacing:.12em}.profile-facts a{color:var(--cream);text-decoration:none}.profile-cv section{padding:25px 0;border-top:1px solid var(--border)}.profile-cv section h3{margin:0 0 12px;color:var(--cream);font-size:23px}.profile-cv section p,.profile-cv li{color:var(--muted);font-size:15.4px;line-height:1.75}.profile-cv ul{margin:0;padding-left:20px}.profile-cv li+li{margin-top:9px}.profile-intention{border-left:3px solid var(--orange);padding-left:20px!important}.profile-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:28px;border-top:1px solid var(--border)}body.modal-open{overflow:hidden}
@media(max-width:800px){.profile-backdrop{padding:0}.profile-dialog{width:100%;height:100dvh;grid-template-columns:1fr;overflow-y:auto}.profile-passport-pane{padding:76px 20px 28px;border-right:0;border-bottom:1px solid var(--border)}.profile-passport-pane img{width:min(560px,100%);margin:auto}.profile-cv{overflow:visible;padding:36px 20px 110px}.profile-facts{grid-template-columns:1fr}.profile-actions{flex-direction:column}.profile-actions .btn{width:100%}}
@media(max-width:620px){.passport{min-height:0}.passport-head{padding:0 14px;letter-spacing:.1em}.passport-body{grid-template-columns:1fr;gap:20px;padding:20px}.passport-photo{width:132px;height:160px}.passport-data{grid-template-columns:1fr;gap:14px}.passport-foot{padding:14px;align-items:flex-start;flex-direction:column}.passport-note{min-height:340px;padding:25px}}
@media(max-width:620px){.arcade-title{font-size:34px;line-height:1.4;letter-spacing:-.02em}.technical-title{font-size:18px;line-height:1.9;letter-spacing:-.04em}}
@media(max-width:620px){.kicker{font-size:11px;line-height:1.5;letter-spacing:.11em}.hero-name{font-size:36px;line-height:1.04;margin:20px 0 27px}.hero-map{margin-bottom:25px}.hero-map-label{font-size:9.9px;margin-bottom:11px}.hero-map-stops{grid-template-columns:1fr;gap:8px}.hero-map-stop{padding:12px 4px 11px}.hero-map-stop:after{content:"↓";right:7px;top:auto;bottom:-16px;z-index:2}.hero-map-stop span{font-size:8.8px}.hero-map-stop strong{font-size:13.2px}.hero-map-stop code{font-size:9.9px}}
@media(prefers-reduced-motion:reduce){.hero-map-stop:before,.hero-map-stop:after,.hero-passport:before,.hero-passport:after,.story-scene[data-scene="rescued"] .stick-byte{animation:none!important}}

/* Packet Quest 1986 */
.quest-section{background:linear-gradient(180deg,rgba(10,7,12,.08),rgba(10,7,12,.2))}
.quest-heading{width:min(900px,100%);margin:0 auto 24px;display:flex;justify-content:space-between;align-items:end;gap:30px}
.quest-heading h2{margin:10px 0 8px;font:400 clamp(27px,4vw,45px)/1.25 "Press Start 2P",ui-monospace,monospace;letter-spacing:-.035em}
.quest-heading p{margin:0;color:var(--muted);font-size:16.5px;line-height:1.6}
.quest-modes{display:flex;flex:0 0 auto;border:1px solid var(--border2);padding:4px;background:rgba(15,11,18,.25)}
.quest-modes button{min-height:40px;padding:0 13px;border:0;background:transparent;color:var(--muted);font:800 8.8px ui-monospace,monospace;letter-spacing:.1em;cursor:pointer}
.quest-modes button[aria-pressed="true"]{background:var(--green);color:#19251d}.quest-modes button:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.packet-quest{isolation:isolate;width:min(810px,100%);height:auto;overflow:hidden;box-shadow:inset 0 0 60px rgba(10,7,12,.38);background:rgba(15,11,18,.24)}
.quest-map{position:relative;height:440px;background:radial-gradient(circle at 50% 50%,rgba(128,111,145,.11),transparent 55%),rgba(15,11,18,.24)}
.packet-quest:before{content:"PACKET_QUEST / ROUTE TO BLUE TEAM";z-index:6}.quest-map:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 4px,rgba(247,238,228,.024) 5px)}
.quest-hud{position:absolute;z-index:7;left:17px;right:17px;top:38px;display:flex;justify-content:space-between;color:var(--muted);font:800 8.8px ui-monospace,monospace;letter-spacing:.1em;pointer-events:none}.quest-hud b{color:var(--green)}
.quest-route{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible}.quest-route path{fill:none;vector-effect:non-scaling-stroke}.route-shadow{stroke:rgba(0,0,0,.48);stroke-width:12}.route-base{stroke:var(--violet);stroke-width:3;stroke-dasharray:10 8;opacity:.8}.route-progress{stroke:var(--green);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 7px rgba(123,225,132,.55))}.route-packet{fill:var(--orange);stroke:#ffd0bd;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 11px var(--orange))}
.story-scene{position:absolute;z-index:2;left:50%;top:51%;width:360px;transform:translate(-50%,-50%);pointer-events:none;text-align:center}.story-tag{position:absolute;left:50%;top:-27px;transform:translateX(-50%);width:max-content;color:var(--violet);font:800 7.7px ui-monospace,monospace;letter-spacing:.12em}.story-speech{position:absolute;z-index:2;left:50%;top:-8px;transform:translate(-50%,-100%);width:max-content;max-width:320px;padding:7px 9px;border:1px solid var(--border2);background:#231c28;color:var(--cream);font:800 7.7px/1.4 ui-monospace,monospace;letter-spacing:.06em;box-shadow:0 8px 18px rgba(0,0,0,.28)}.story-speech:after{content:"";position:absolute;left:25%;bottom:-6px;width:10px;height:10px;border-right:1px solid var(--border2);border-bottom:1px solid var(--border2);background:#231c28;transform:rotate(45deg)}.story-cast{display:block;width:100%;height:auto;overflow:visible}.story-cast g,.story-cast path,.story-cast rect,.story-cast circle{transform-box:fill-box}.story-cast text{fill:var(--muted);font:800 9.9px ui-monospace,monospace;text-anchor:middle;letter-spacing:.08em}.byte-cage{fill:none;stroke:var(--orange);stroke-width:2;opacity:.72;transition:opacity .45s,transform .45s}.cage-lock{fill:#231c28;stroke:var(--orange)}.stick-byte>circle:first-child{fill:#2a222e;stroke:var(--cream);stroke-width:3}.stick-byte .eye{fill:var(--green);stroke:none}.stick-byte path{fill:none;stroke:var(--cream);stroke-width:4;stroke-linecap:round}.stick-byte .mouth{stroke-width:2}.byte-arm-right{transform-origin:0 100%;animation:byte-wave .8s ease-in-out infinite alternate}.stick-null .hood{fill:#1a151d;stroke:var(--violet);stroke-width:3}.stick-null .null-face{fill:#241d28;stroke:var(--violet);stroke-width:2}.stick-null .null-eyes,.stick-null .null-body,.stick-null .null-arm,.stick-null .null-leg{fill:none;stroke:var(--orange-soft);stroke-width:4;stroke-linecap:round}.stick-null .null-eyes{stroke-width:2}.stick-null .null-arm{animation:null-type .22s steps(2,end) infinite alternate}.null-keyboard{fill:#19131c;stroke:var(--violet);stroke-width:2}.stolen-data>path{fill:none;stroke:var(--orange);stroke-width:2;stroke-dasharray:5 6;opacity:.5}.data-bit{fill:var(--orange);filter:drop-shadow(0 0 5px var(--orange));animation:data-theft 1.25s linear infinite}.bit-2{animation-delay:-.42s}.bit-3{animation-delay:-.84s}.firewall-shield{opacity:0;transform:scale(.2);transform-origin:center;transition:opacity .5s,transform .55s cubic-bezier(.2,.9,.2,1.3)}.firewall-shield path{fill:#1c3123;stroke:var(--green);stroke-width:3}.firewall-shield text{fill:var(--green);font-size:8.8px}.story-scene[data-scene="routing"] .story-cast{animation:story-float .8s ease-in-out infinite alternate}.story-scene[data-scene="thinking"] .stick-byte{animation:byte-think 1s steps(2,end) infinite}.story-scene[data-scene="hope"] .stick-byte{animation:byte-hop .45s ease-out 2}.story-scene[data-scene="hope"] .stick-null{animation:null-rage .18s linear 4}.story-scene[data-scene="hope"] .data-bit{animation-direction:reverse}.story-scene[data-scene="hope"] .story-speech{border-color:var(--green);color:var(--green)}.story-scene[data-scene="danger"]{animation:danger-shake .18s linear 3}.story-scene[data-scene="danger"] .byte-cage{stroke:#ff4d5a}.story-scene[data-scene="danger"] .story-speech{border-color:var(--orange);color:var(--orange-soft)}.story-scene[data-scene="rescued"] .byte-cage{opacity:0;transform:scaleY(.05)}.story-scene[data-scene="rescued"] .stolen-data{opacity:0}.story-scene[data-scene="rescued"] .firewall-shield{opacity:1;transform:scale(1)}.story-scene[data-scene="rescued"] .stick-byte{animation:byte-celebrate .55s ease-in-out infinite alternate;transform:translateX(38px)}.story-scene[data-scene="rescued"] .stick-null{transform:translateX(58px) rotate(8deg);opacity:.55}.story-scene[data-scene="rescued"] .story-speech{border-color:var(--green);color:var(--green)}
@keyframes byte-wave{to{transform:rotate(-35deg)}}@keyframes null-type{to{transform:translateY(5px) rotate(5deg)}}@keyframes data-theft{from{transform:translateX(-8px);opacity:0}20%{opacity:1}to{transform:translateX(90px);opacity:0}}@keyframes story-float{to{transform:translateY(-3px)}}@keyframes byte-think{50%{transform:rotate(-3deg)}}@keyframes byte-hop{50%{transform:translateY(-17px)}}@keyframes null-rage{50%{transform:translateX(5px)}}@keyframes danger-shake{50%{transform:translate(calc(-50% + 5px),-50%)}}@keyframes byte-celebrate{to{transform:translateX(38px) translateY(-12px) rotate(4deg)}}
@keyframes byte-laugh{0%,100%{transform:translateX(34px) translateY(0) rotate(-2deg)}50%{transform:translateX(34px) translateY(-8px) rotate(2deg)}}
.laugh-mouth,.byte-laugh-lines{opacity:0}.null-prison{opacity:0;transition:opacity .5s}.null-prison .prison-frame{fill:rgba(12,15,13,.32);stroke:var(--green);stroke-width:3}.null-prison .prison-bars,.null-prison .prison-lock-loop{fill:none;stroke:#c9d2ca;stroke-width:4;stroke-linecap:square}.null-prison .prison-lock{fill:#202723;stroke:var(--green);stroke-width:2}.null-prison text{fill:var(--green);font-size:7.7px}.story-scene[data-scene="rescued"] .stick-byte{animation:byte-laugh .48s ease-in-out infinite}.story-scene[data-scene="rescued"] .stick-byte .mouth{opacity:0}.story-scene[data-scene="rescued"] .laugh-mouth,.story-scene[data-scene="rescued"] .byte-laugh-lines{opacity:1}.story-scene[data-scene="rescued"] .laugh-mouth{fill:#17121a;stroke:var(--cream);stroke-width:2}.story-scene[data-scene="rescued"] .byte-laugh-lines{fill:none;stroke:var(--green);stroke-width:2}.story-scene[data-scene="rescued"] .stick-null{transform:none;opacity:1}.story-scene[data-scene="rescued"] .null-laptop{opacity:0}.story-scene[data-scene="rescued"] .null-prison{opacity:1}
.story-scene{width:390px}.victim-screen{fill:#17121a;stroke:var(--orange);stroke-width:3;transition:stroke .4s,filter .4s}.victim-stand{fill:none;stroke:var(--cream);stroke-width:3;stroke-linecap:round}.alert-icon{fill:rgba(255,113,56,.12);stroke:var(--orange);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.victim-device .device-alert{fill:var(--orange);font-size:7.7px}.victim-device .device-secure,.victim-device .device-contained,.victim-device .device-compromised{font-size:7.7px;opacity:0}.victim-device .device-secure{fill:var(--green)}.victim-device .device-contained{fill:var(--orange-soft);font-size:6.6px}.victim-device .device-compromised{fill:#ff4d5a;font-size:5.5px}.attack-link{transition:opacity .45s}.attack-line{fill:none;stroke:var(--orange);stroke-width:2;stroke-dasharray:7 6;animation:attack-dash .7s linear infinite}.attack-link>text{fill:var(--orange);font-size:6.6px}.attack-link .data-bit{fill:var(--orange);stroke:none;animation:exfil-flow 1.25s linear infinite}.attack-link .bit-2{animation-delay:-.42s}.attack-link .bit-3{animation-delay:-.84s}.security-patches>text{fill:var(--muted);font-size:6.6px}.patch-step{fill:#17121a;stroke:var(--violet);stroke-width:1.5;transition:fill .35s,stroke .35s,filter .35s}.patch-step.correct{fill:var(--green);stroke:var(--green);filter:drop-shadow(0 0 4px rgba(123,225,132,.6))}.patch-step.wrong{fill:#ff4d5a;stroke:#ff4d5a;filter:drop-shadow(0 0 4px rgba(255,77,90,.65))}.null-laptop{transition:transform .45s,opacity .45s}.laptop-screen{fill:#241d28;stroke:var(--violet);stroke-width:3;stroke-linejoin:round}.laptop-display{fill:#100d12;stroke:#574960;stroke-width:1}.null-laptop .laptop-title{fill:var(--orange);font-size:6.6px}.null-laptop .laptop-code{fill:var(--orange-soft);font-size:6.6px}.null-laptop .laptop-blocked,.null-laptop .laptop-stolen{font-size:7.7px;opacity:0}.null-laptop .laptop-blocked{fill:var(--green)}.null-laptop .laptop-stolen{fill:#ff4d5a;font-size:6.6px}.laptop-base{fill:#2f2733;stroke:var(--cream);stroke-width:2;stroke-linejoin:round}.laptop-keys{fill:none;stroke:#796e7e;stroke-width:1}.laptop-trackpad{fill:#17121a;stroke:#796e7e;stroke-width:1}.story-scene[data-scene="danger"] .victim-screen{stroke:#ff4d5a;filter:drop-shadow(0 0 8px rgba(255,77,90,.55))}.story-scene[data-scene="rescued"] .attack-link{opacity:0}.story-scene[data-scene="rescued"] .victim-screen{stroke:var(--green);filter:drop-shadow(0 0 8px rgba(123,225,132,.5))}.story-scene[data-scene="rescued"] .alert-icon,.story-scene[data-scene="rescued"] .device-alert{opacity:0}.story-scene[data-scene="rescued"] .device-secure,.story-scene[data-scene="rescued"] .laptop-blocked{opacity:1}.story-scene[data-scene="rescued"] .laptop-code{opacity:0}.story-scene[data-scene="rescued"] .null-laptop{transform:translateX(22px) rotate(2deg);opacity:.48}.story-scene[data-scene="contained"] .attack-link,.story-scene[data-scene="compromised"] .attack-link{opacity:0}.story-scene[data-scene="contained"] .firewall-shield{opacity:1;transform:scale(1)}.story-scene[data-scene="contained"] .alert-icon,.story-scene[data-scene="contained"] .device-alert,.story-scene[data-scene="contained"] .laptop-code{opacity:0}.story-scene[data-scene="contained"] .device-contained,.story-scene[data-scene="contained"] .laptop-blocked{opacity:1}.story-scene[data-scene="contained"] .victim-screen{stroke:var(--orange-soft)}.story-scene[data-scene="contained"] .story-speech{border-color:var(--orange);color:var(--orange-soft)}.story-scene[data-scene="compromised"] .alert-icon,.story-scene[data-scene="compromised"] .device-alert,.story-scene[data-scene="compromised"] .laptop-code{opacity:0}.story-scene[data-scene="compromised"] .device-compromised,.story-scene[data-scene="compromised"] .laptop-stolen{opacity:1}.story-scene[data-scene="compromised"] .victim-screen{stroke:#ff4d5a;filter:drop-shadow(0 0 9px rgba(255,77,90,.65))}.story-scene[data-scene="compromised"] .story-speech{border-color:#ff4d5a;color:#ff8d96}@keyframes attack-dash{to{stroke-dashoffset:-13}}@keyframes exfil-flow{from{transform:translateX(-10px);opacity:0}18%{opacity:1}to{transform:translateX(100px);opacity:0}}
.story-scene[data-scene="rescued"] .null-laptop{transform:none;opacity:0}.story-scene[data-scene="rescued"] .null-prison{opacity:1}.story-scene[data-scene="rescued"] .stick-null{transform:none;opacity:1}
.packet-quest .quest-node{z-index:3;width:170px;min-height:64px;display:flex;flex-direction:column;justify-content:center;transform:translate(-50%,-50%);padding:11px 13px 11px 42px;transition:border-color .25s,color .25s,box-shadow .25s,background .25s}.quest-node b{position:absolute;left:12px;top:13px;color:var(--violet);font-size:8.8px}.packet-quest .quest-node small{line-height:1.4}.packet-quest .qn1{left:18%;top:27%;color:var(--violet)}.packet-quest .qn2{left:82%;top:27%;color:#a9e7af}.packet-quest .qn3{left:82%;top:73%;color:var(--orange-soft)}.packet-quest .qn4{left:18%;top:73%;color:#8bbdff}.packet-quest .quest-node.active{border-color:var(--orange);color:var(--cream);background:#35283a;box-shadow:0 0 0 3px rgba(255,113,56,.12),0 0 26px rgba(255,113,56,.25)}.packet-quest .quest-node.complete{border-color:var(--green);color:var(--green);box-shadow:0 0 20px rgba(123,225,132,.2)}.packet-quest .quest-node.complete b{color:var(--green)}
.quest-launch{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(510px,calc(100% - 42px));border:1px solid var(--border2);background:rgba(35,28,40,.97);box-shadow:0 24px 70px rgba(0,0,0,.52);padding:29px;text-align:center}.quest-chip{display:inline-block;padding:7px 9px;border:1px solid var(--green);color:var(--green);font:800 7.7px ui-monospace,monospace;letter-spacing:.12em}.quest-launch h3{margin:19px 0 13px;font:400 18px/1.5 "Press Start 2P",ui-monospace,monospace;color:var(--cream)}.quest-launch p{max-width:400px;margin:0 auto 22px;color:var(--muted);font-size:14.3px;line-height:1.6}
.quest-primary{min-height:46px;padding:0 16px;border:1px solid var(--orange);background:var(--orange);color:#271d2b;font:800 8.8px ui-monospace,monospace;letter-spacing:.09em;cursor:pointer}.quest-primary:hover,.quest-primary:focus-visible{background:var(--orange-soft);outline:2px solid var(--cream);outline-offset:2px}
.quest-card{position:relative;z-index:10;width:100%;padding:25px;text-align:left;border:0;border-top:1px solid var(--border2);background:#231c28;box-shadow:0 -16px 36px rgba(0,0,0,.2)}.quest-card[hidden],.quest-launch[hidden],.quest-feedback[hidden]{display:none}.quest-card-top{display:flex;justify-content:space-between;gap:16px;margin-bottom:15px;color:var(--green);font:800 8.8px ui-monospace,monospace;letter-spacing:.12em}.quest-card-top b{color:var(--muted)}.quest-card h3{margin:0 0 17px;font-size:24px;line-height:1.18;letter-spacing:-.025em}.quest-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quest-option{width:100%;min-height:58px;padding:11px 14px;display:grid;grid-template-columns:25px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid var(--border2);background:rgba(15,11,18,.24);color:var(--cream);font-size:14.3px;line-height:1.35;cursor:pointer}.quest-option b{color:var(--violet);font:800 8.8px ui-monospace,monospace}.quest-option:hover,.quest-option:focus-visible{border-color:var(--green);outline:none}.quest-option.correct{border-color:var(--green);background:rgba(123,225,132,.1)}.quest-option.wrong{border-color:var(--orange);background:rgba(255,113,56,.11)}.quest-option:disabled{cursor:default;color:var(--muted)}
.quest-ending{position:relative;z-index:10;width:100%;padding:25px;text-align:center;border-top:1px solid var(--green);background:#231c28}.quest-ending[hidden]{display:none}.quest-ending h3{margin:15px 0 9px;font:400 18px/1.4 "Press Start 2P",ui-monospace,monospace;color:var(--green)}.quest-ending p{margin:0 auto 16px;max-width:620px;color:var(--cream);font-size:14.3px;line-height:1.55}
.quest-ending.is-partial{border-top-color:var(--orange)}.quest-ending.is-partial h3{color:var(--orange-soft)}.quest-ending.is-compromised{border-top-color:#ff4d5a}.quest-ending.is-compromised h3{color:#ff6b76}.quest-ending.is-compromised .quest-chip{border-color:#ff4d5a;color:#ff6b76}
.quest-feedback{margin-top:17px;padding-top:16px;border-top:1px solid var(--border)}.quest-feedback strong{display:block;color:var(--green);font:800 9.9px ui-monospace,monospace;letter-spacing:.1em}.quest-feedback.is-wrong strong{color:var(--orange-soft)}.quest-feedback p{margin:10px 0;color:var(--cream);font-size:14.3px;line-height:1.55}.quest-feedback a{display:inline-block;margin:0 0 14px;color:var(--green);font:800 7.7px ui-monospace,monospace;letter-spacing:.08em;text-decoration:none}.quest-feedback a:hover,.quest-feedback a:focus-visible{color:var(--orange-soft);outline:none}.quest-feedback .quest-primary{display:block;width:100%}
.quest-status{position:absolute;z-index:7;left:50%;bottom:13px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 30px);padding:7px 10px;border:1px solid var(--border);background:rgba(42,34,46,.9);color:var(--muted);text-align:center;font:800 7.7px ui-monospace,monospace;letter-spacing:.1em}.quest-statline{width:min(900px,100%);margin:9px auto 0;padding:12px 14px;display:flex;gap:22px;align-items:center;border:1px solid var(--border);background:rgba(15,11,18,.16);color:var(--muted);font:800 8.8px ui-monospace,monospace;letter-spacing:.08em}.quest-statline b{color:var(--green)}.quest-statline button{margin-left:auto;padding:0;border:0;background:transparent;color:var(--violet);font:800 7.7px ui-monospace,monospace;letter-spacing:.08em;cursor:pointer}.quest-statline button:hover,.quest-statline button:focus-visible{color:var(--orange-soft);outline:none}
.packet-quest[data-status="routing"] .route-packet{animation:packet-pulse .6s steps(2,end) infinite}.packet-quest[data-status="complete"]{border-color:var(--green);box-shadow:inset 0 0 70px rgba(123,225,132,.12),0 0 24px rgba(123,225,132,.1)}.packet-quest[data-status="gameover"]{border-color:var(--orange)}
@keyframes packet-pulse{50%{r:15;opacity:.7}}
@media(prefers-reduced-motion:reduce){.packet-quest[data-status="routing"] .route-packet{animation:none}}
@media(max-width:700px){.quest-heading{align-items:stretch;flex-direction:column}.quest-heading h2{font-size:26px}.quest-modes{width:100%}.quest-modes button{flex:1}.packet-quest{height:auto}.quest-map{height:330px}.packet-quest .quest-node{width:126px;min-height:59px;padding:9px 7px 9px 30px;font-size:7.7px}.quest-node b{left:8px;top:11px}.packet-quest .quest-node small{font-size:5.5px}.quest-hud{top:34px;font-size:6.6px}.quest-launch{padding:23px 17px}.quest-launch h3{font-size:14px}.quest-card{width:100%;max-height:none;overflow:visible;padding:18px}.quest-card h3{font-size:18px}.quest-options{grid-template-columns:1fr}.quest-option{min-height:43px;font-size:13.2px}.quest-feedback p{font-size:13.2px}.quest-status{bottom:8px;font-size:6.6px}.quest-statline{flex-wrap:wrap;gap:10px 18px}.quest-statline button{width:100%;margin:2px 0 0;text-align:left}}
@media(max-width:700px){.story-scene{top:52%;width:210px}.story-tag{top:-23px;font-size:5.5px}.story-speech{top:-3px;max-width:230px;padding:5px 6px;font-size:5.5px}.story-cast text{font-size:8.8px}}
@media(prefers-reduced-motion:reduce){.story-scene,.story-cast,.story-cast g,.story-cast path,.data-bit{animation:none!important;transition:none!important}}

/* Final retro type scale and navigation clarity */
.head h2{font:400 clamp(29px,3.5vw,49px)/1.3 "Press Start 2P",ui-monospace,monospace;letter-spacing:-.025em}.quest-heading h2{font:400 clamp(19px,2.8vw,32px)/1.45 "Press Start 2P",ui-monospace,monospace}.project h3{font:400 17px/1.45 "Press Start 2P",ui-monospace,monospace;letter-spacing:-.025em}.video-copy h3{font:400 13px/1.45 "Press Start 2P",ui-monospace,monospace}.cv-panel h3{font:400 25px/1.4 "Press Start 2P",ui-monospace,monospace}.dialog h3{font:400 20px/1.45 "Press Start 2P",ui-monospace,monospace}.profile-cv h2{font:400 clamp(31px,3.5vw,48px)/1.25 "Press Start 2P",ui-monospace,monospace}.profile-cv section h3{font:400 16px/1.45 "Press Start 2P",ui-monospace,monospace}.quest-launch h3,.quest-ending h3{font:400 13px/1.65 "Press Start 2P",ui-monospace,monospace}.quest-card h3{font:400 clamp(14px,2vw,17px)/1.5 "Press Start 2P",ui-monospace,monospace}
nav a,.nav-cv,.quick a,.filter,.mobile-dock a,.hero-map-label,.hero-map-stop span,.hero-map-stop strong,.journey-header,.micro,.btn{font-family:"Press Start 2P",ui-monospace,monospace;text-shadow:0 1px 0 #100c12,0 2px 4px rgba(0,0,0,.82)}
#cv .wrap,.cv-panel,.cv-panel>*,.cv-actions{min-width:0;max-width:100%}.cv-actions .btn{min-width:0;white-space:normal;text-align:center}
@media(max-width:700px){.quest-heading h2{font-size:18px}.quest-launch h3,.quest-ending h3{font-size:12px}.quest-card h3{font-size:13px}.head h2{font-size:30px}.mobile-dock{left:10px;right:auto;width:calc(100vw - 20px);max-width:calc(100vw - 20px)}.cv-panel{width:100%;overflow:hidden}.cv-actions{width:100%}.cv-actions .btn{width:100%}}

/* Question readability and deterministic safe ending */
.quest-card h3{font-size:16px;color:#dfc76c;text-shadow:0 1px 0 #120e15,0 2px 5px rgba(0,0,0,.72)}.story-scene[data-scene="rescued"] .null-prison{opacity:1!important;transition:none}.story-scene[data-scene="rescued"] .null-laptop{opacity:0!important;transform:none!important;transition:none}.story-scene[data-scene="rescued"] .stick-null{opacity:1!important;transform:none!important}
@media(max-width:700px){.quest-card h3{font-size:12px}}

/* Requested single-line section headings */
#skills .head,#projects .head,#videos .head{grid-template-columns:minmax(0,1fr) 390px}#skills .head h2,#projects .head h2,#videos .head h2{font-size:clamp(10px,1.8vw,21.2px);line-height:1.35;letter-spacing:-.045em;white-space:nowrap}#cv .cv-panel h3{font-size:clamp(10px,1.35vw,16px);line-height:1.45;letter-spacing:-.04em;white-space:nowrap}
@media(max-width:1000px){#skills .head,#projects .head,#videos .head{grid-template-columns:1fr}}

/* Persistent answer result on the exact route node */
.packet-quest .quest-node.wrong{border-color:#ff4d5a!important;background:rgba(255,77,90,.16)!important;color:#ff7b85!important;box-shadow:inset 0 0 20px rgba(255,77,90,.14),0 0 13px rgba(255,77,90,.28)!important}.packet-quest .quest-node.wrong b,.packet-quest .quest-node.wrong small{color:#ff9ca4!important}.packet-quest .quest-node.wrong:after{content:"✕ WRONG";position:absolute;right:7px;bottom:5px;color:#ff7b85;font:800 6.6px/1 ui-monospace,monospace;letter-spacing:.08em;text-shadow:0 1px 3px #120e15}.packet-quest .quest-node.correct{border-color:var(--green)}
@media(max-width:700px){#cv .cv-panel h3{font-size:9px;letter-spacing:-.045em}}

/* Smaller retro hero introduction */
.hero .lead{font-family:"Press Start 2P",ui-monospace,monospace;font-size:13.86px;line-height:1.9;letter-spacing:-.025em;max-width:620px}
@media(max-width:620px){.hero .lead{font-size:12.32px;line-height:1.9}}

/* Match the site brand to the top menu font */
.brand{font-family:"Press Start 2P",ui-monospace,monospace;font-size:8.8px;line-height:1.5}

/* Compact one-page rhythm: keep every item visible */
.hero{min-height:570px;gap:48px;padding:42px 0}.hero-name{margin:18px 0 22px}.hero-map{margin-bottom:20px}.actions{margin-top:24px}.quick{min-height:72px}.section{padding:64px 0}.head{margin-bottom:27px}.quest-heading{margin-bottom:16px}.quest-map{height:380px}.journey-panel{padding:20px}.journey-header{padding-bottom:13px}.journey-track{min-height:300px}.journey-line{top:85px}.journey-walker{top:9px;width:56px;height:72px}.journey-nodes{padding:112px 12px 12px;gap:10px}.journey-node{min-height:185px;padding:14px 10px 12px}.journey-node i{top:-35px}.journey-icon{width:52px;height:38px;margin:0 auto 3px}.level-gauge{margin-top:5px}.level-dial{width:100px;height:50px}.level-dial:after{left:15px;right:15px;height:35px}.level-needle{height:40px}.filterbar{margin-bottom:16px}.project{min-height:315px}.project-visual{height:120px}.project-body{padding:18px}.project h3{margin:13px 0 9px}.project p{margin-bottom:13px}.video-card{min-height:245px}.screen{height:108px}.play{width:46px;height:46px}.video-copy{padding:16px}.video-copy h3{margin:8px 0}.cv-panel{padding:28px}.cv-panel h3{margin:8px 0}footer{min-height:76px}
@media(max-width:620px){.hero{padding:34px 0 38px;gap:30px}.hero-name{margin:15px 0 20px}.hero-map{margin-bottom:18px}.actions{margin-top:20px}.section{padding:50px 0}.head{margin-bottom:22px}.quest-heading{margin-bottom:14px}.quest-map{height:300px}.journey-panel{padding:14px}.journey-track{min-height:540px}.journey-line{top:28px;bottom:28px}.journey-walker{width:46px;height:60px}.journey-nodes{gap:12px;padding:22px 0 20px 58px}.journey-node{min-height:112px;padding:10px}.journey-node i{left:-30px}.journey-icon{width:46px;height:34px}.level-dial{width:90px;height:45px}.level-dial:after{height:32px}.level-needle{height:36px}.filterbar{margin-bottom:14px}.project,.video-card{min-height:0}.project-visual{height:110px}.project-body{padding:17px}.screen{height:100px}.video-copy{padding:15px}.cv-panel{padding:20px}.foot{padding-top:20px}}
@media(max-width:620px){.hero .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hero .actions .btn{width:100%;min-width:0;min-height:44px;padding:0 5px;font-size:6.6px;letter-spacing:0;white-space:normal;text-align:center}}

/* WordPress-managed project video library */
.video-list{display:grid;gap:24px}.video-empty{padding:36px;border:1px dashed var(--border2);background:var(--panel);text-align:center}.video-empty span{color:var(--green);font:800 10px ui-monospace,monospace;letter-spacing:.12em}.video-empty p{margin:12px 0 0;color:var(--muted)}
.featured-video{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);border:1px solid var(--border2);background:var(--panel);overflow:hidden}.featured-video-frame{min-width:0;aspect-ratio:16/9;background:#120e15;border-right:1px solid var(--border)}.featured-video-frame iframe{display:block;width:100%;height:100%;border:0}.featured-video-copy{min-width:0;padding:24px;display:flex;flex-direction:column;justify-content:center}.featured-video-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--green);font:800 8.8px ui-monospace,monospace;letter-spacing:.1em}.featured-video-copy h3{margin:17px 0 12px;color:var(--cream);font:400 16px/1.55 "Press Start 2P",ui-monospace,monospace;letter-spacing:-.025em}.featured-video-copy>p{margin:0 0 14px;color:var(--muted);font-size:14.3px;line-height:1.6}.video-topics{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}.video-topics li{padding:6px 8px;border:1px solid var(--border);color:var(--cream);font:800 7.7px ui-monospace,monospace;letter-spacing:.05em}.featured-video-copy .video-safety{font-size:12.1px;color:var(--violet)}.featured-video-copy .btn{align-self:flex-start;margin-top:2px}
@media(max-width:800px){.featured-video{grid-template-columns:1fr}.featured-video-frame{border-right:0;border-bottom:1px solid var(--border)}.featured-video-copy{padding:18px}.featured-video-copy h3{font-size:13px;margin:14px 0 10px}.featured-video-copy .btn{width:100%}}

/* AI Crew: original characters and public-only guide */
.crew-section{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(189,115,255,.09),transparent 38%),linear-gradient(180deg,rgba(15,11,18,.1),rgba(38,27,42,.24))}.crew-section:before{content:"PUBLIC_INTERFACE / SAFE_MODE";position:absolute;right:3vw;top:24px;color:rgba(247,238,228,.16);font:800 7.7px ui-monospace,monospace;letter-spacing:.16em}.crew-stage{display:grid;grid-template-columns:minmax(205px,.72fr) minmax(390px,1.35fr) minmax(205px,.72fr);gap:14px;align-items:stretch}.agent-card,.visitor-guide{border:1px solid var(--border2);background:rgba(23,17,27,.92);box-shadow:0 20px 55px rgba(5,3,7,.2)}.agent-card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}.agent-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 45%);pointer-events:none}.agent-card.active{border-color:var(--violet);transform:translateY(-4px);box-shadow:0 20px 55px rgba(189,115,255,.12),inset 0 0 35px rgba(189,115,255,.045)}.bosulica-agent.active{border-color:var(--orange);box-shadow:0 20px 55px rgba(255,113,56,.12),inset 0 0 35px rgba(255,113,56,.045)}.agent-status,.guide-top{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid var(--border);font:800 7.7px ui-monospace,monospace;letter-spacing:.11em}.agent-status span,.guide-top span{color:var(--cream)}.agent-status b{color:var(--green);font-size:6.6px}.agent-status b:before{content:"";display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.agent-portrait{position:relative;display:grid;place-items:center;min-height:220px;padding:8px;background:linear-gradient(rgba(189,115,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(189,115,255,.035) 1px,transparent 1px),radial-gradient(circle,rgba(189,115,255,.14),transparent 55%);background-size:18px 18px,18px 18px,auto;border-bottom:1px solid var(--border)}.hermes-agent .agent-portrait{background:radial-gradient(circle at 50% 46%,rgba(96,171,255,.2),transparent 40%),linear-gradient(rgba(189,115,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(189,115,255,.045) 1px,transparent 1px),#090b16;background-size:auto,18px 18px,18px 18px,auto}.hermes-agent .agent-portrait:before{content:"HERMES / NOUS";position:absolute;left:10px;top:14px;color:rgba(150,195,255,.42);font:800 7.7px ui-monospace,monospace;letter-spacing:.13em}.hermes-agent .agent-portrait img{position:relative;z-index:1;display:block;width:min(88%,195px);max-height:205px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(98,166,255,.28))}.bosulica-agent .agent-portrait{background:radial-gradient(circle at 50% 55%,rgba(255,77,77,.22),transparent 38%),linear-gradient(rgba(255,77,77,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,77,77,.045) 1px,transparent 1px),#080708;background-size:auto,18px 18px,18px 18px,auto}.bosulica-agent .agent-portrait:before,.bosulica-agent .agent-portrait:after{content:"xXx +=- · :";position:absolute;color:rgba(255,90,90,.4);font:800 8.8px ui-monospace,monospace;letter-spacing:.13em}.bosulica-agent .agent-portrait:before{left:10px;top:14px}.bosulica-agent .agent-portrait:after{right:10px;bottom:14px;transform:scaleX(-1)}.bosulica-agent .agent-portrait img{position:relative;z-index:1;display:block;width:min(72%,170px);height:auto;filter:drop-shadow(0 0 16px rgba(255,77,77,.32))}.agent-portrait svg{display:block;width:min(100%,190px);height:200px;overflow:visible;filter:drop-shadow(0 13px 14px rgba(0,0,0,.33))}.hermes-hair{fill:#4c2b5d;stroke:#bd73ff;stroke-width:3}.hermes-face{fill:#f2cbb4;stroke:#f7eee4;stroke-width:3}.hermes-eye{fill:#211727}.hermes-smile{fill:none;stroke:#8a3c58;stroke-width:2.5;stroke-linecap:round}.hermes-body{fill:#35233f;stroke:#bd73ff;stroke-width:3}.hermes-arm,.hermes-hand{fill:none;stroke:#f2cbb4;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.hermes-hand{animation:hermes-wave 2.8s ease-in-out infinite}.hermes-badge{fill:#161019;stroke:#8cf3a8;stroke-width:2}.hermes-wings{fill:none;stroke:#8cf3a8;stroke-width:1.7}.claw-antenna,.claw-arm,.claw-hand,.claw-leg,.claw-smile{fill:none;stroke:#ff7138;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.claw-tip,.claw-shell{fill:#ff7138;stroke:#ffc16f;stroke-width:3}.claw-eye{fill:#f7eee4}.claw-pupil{fill:#211727}.claw-smile{stroke:#5a261d;stroke-width:3}.claw-screen{fill:#17111b;stroke:#8cf3a8;stroke-width:2}.claw-base{fill:#302337;stroke:#bd73ff;stroke-width:2}.claw-character text{fill:#8cf3a8;font:800 6.6px ui-monospace,monospace;text-anchor:middle;letter-spacing:.05em}.claw-hand.left{animation:claw-left 2.4s ease-in-out infinite}.claw-hand.right{animation:claw-right 2.4s ease-in-out infinite}.agent-copy{padding:16px 15px 12px;flex:1}.agent-copy small{color:var(--violet);font:800 7.7px ui-monospace,monospace;letter-spacing:.12em}.bosulica-agent .agent-copy small{color:var(--orange)}.agent-copy h3{margin:10px 0 8px;color:var(--cream);font:400 13px/1.4 "Press Start 2P",ui-monospace,monospace}.agent-copy p{margin:0;color:var(--muted);font-size:13.2px;line-height:1.55}.crew-select{min-height:44px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--violet);font:800 8.8px ui-monospace,monospace;letter-spacing:.11em;cursor:pointer}.bosulica-agent .crew-select{color:var(--orange)}.crew-select:hover,.crew-select:focus-visible{background:rgba(189,115,255,.08);outline:none}.bosulica-agent .crew-select:hover,.bosulica-agent .crew-select:focus-visible{background:rgba(255,113,56,.08)}.visitor-guide{min-width:0;display:flex;flex-direction:column}.guide-top b{padding:6px 8px;border:1px solid rgba(140,243,168,.25);color:var(--green);font-size:6.6px}.guide-log{height:260px;padding:17px;overflow:auto;display:flex;flex-direction:column;gap:10px;background:radial-gradient(circle at 50% 110%,rgba(140,243,168,.07),transparent 48%),#120e15}.guide-message{max-width:89%;padding:11px 12px;border:1px solid var(--border);color:var(--cream);font:500 12.1px/1.65 ui-monospace,monospace;white-space:pre-wrap}.guide-message.agent{align-self:flex-start;background:rgba(189,115,255,.08);border-left-color:var(--violet)}.guide-message.user{align-self:flex-end;background:rgba(140,243,168,.06);border-right-color:var(--green);color:var(--green)}.guide-message.refusal{border-left-color:#ff5969;background:rgba(255,89,105,.07)}.guide-prompts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;border-top:1px solid var(--border)}.guide-prompts button{min-height:35px;padding:4px;border:1px solid var(--border);background:transparent;color:var(--muted);font:800 6.6px ui-monospace,monospace;letter-spacing:.06em;cursor:pointer}.guide-prompts button:hover,.guide-prompts button:focus-visible{border-color:var(--violet);color:var(--cream);outline:none}.guide-form{padding:12px;border-top:1px solid var(--border)}.guide-form label{display:block;margin-bottom:8px;color:var(--muted);font:800 7.7px ui-monospace,monospace;letter-spacing:.1em}.guide-form>div{display:grid;grid-template-columns:1fr auto}.guide-form input{min-width:0;height:44px;padding:0 12px;border:1px solid var(--border2);border-right:0;background:#100c12;color:var(--cream);font:500 12.1px ui-monospace,monospace}.guide-form input:focus{border-color:var(--violet);outline:none}.guide-form button{height:44px;padding:0 14px;border:1px solid var(--violet);background:var(--violet);color:#17111b;font:800 8.8px ui-monospace,monospace;letter-spacing:.08em;cursor:pointer}.guide-guardrail{margin:0;padding:10px 12px;border-top:1px solid var(--border);color:var(--muted);font:800 6.6px/1.5 ui-monospace,monospace;letter-spacing:.08em;text-align:center}.guide-guardrail:before{content:"◈ ";color:var(--green)}
.guide-message.typing{width:max-content;color:var(--muted);font-style:italic;animation:guide-pulse 1s ease-in-out infinite}.guide-form input:disabled{opacity:.65;cursor:wait}@keyframes guide-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes hermes-wave{0%,55%,100%{transform:rotate(0deg)}65%{transform:translate(-2px,2px) rotate(-13deg)}75%{transform:translate(2px,-1px) rotate(10deg)}85%{transform:rotate(-7deg)}}@keyframes claw-left{0%,55%,100%{transform:rotate(0)}70%{transform:translate(4px,4px) rotate(10deg)}85%{transform:translate(-2px,-2px) rotate(-6deg)}}@keyframes claw-right{0%,55%,100%{transform:rotate(0)}70%{transform:translate(-4px,4px) rotate(-10deg)}85%{transform:translate(2px,-2px) rotate(6deg)}}
@media(max-width:930px){.crew-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-guide{grid-column:1/-1;grid-row:2}.agent-card{grid-row:1}.bosulica-agent{grid-column:2}.guide-log{height:220px}}
@media(max-width:620px){.crew-stage{gap:8px}.agent-status{padding:0 7px}.agent-status span{font-size:6.6px}.agent-portrait{min-height:150px;padding:2px}.agent-portrait svg{height:145px}.agent-copy{padding:11px 9px}.agent-copy h3{font-size:9px;margin:7px 0}.agent-copy p{font-size:11px}.crew-select{font-size:6.6px}.visitor-guide{grid-column:1/-1}.guide-top{padding:0 9px}.guide-log{height:240px;padding:11px}.guide-message{font-size:11px}.guide-prompts{grid-template-columns:repeat(2,1fr)}.guide-form>div{grid-template-columns:1fr}.guide-form input{border-right:1px solid var(--border2)}.guide-form button{margin-top:6px;width:100%}}
@media(prefers-reduced-motion:reduce){.hermes-hand,.claw-hand.left,.claw-hand.right{animation:none!important}}

/* Dual public chats: compact by default, independent on expansion */
.crew-stage.dual-chat-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,6vw,88px);align-items:start;min-height:190px}
.agent-chat{width:260px;max-width:100%;min-width:0;overflow:hidden;border:1px solid rgba(247,238,228,.17);border-radius:18px;background:#17131b;box-shadow:0 16px 42px rgba(0,0,0,.28);transition:width .32s ease,box-shadow .32s ease,transform .32s ease,border-color .32s ease}
.agent-chat-left{justify-self:start}.agent-chat-right{justify-self:end}
.agent-chat:hover,.agent-chat:focus-within,.agent-chat.is-open{width:min(100%,510px);transform:translateY(-5px);box-shadow:0 28px 70px rgba(0,0,0,.43);z-index:8}
.hermes-chat{border-color:rgba(135,126,255,.28);background:linear-gradient(145deg,#151326,#20162d)}
.bosulica-chat{border-color:rgba(255,82,82,.28);background:linear-gradient(145deg,#171113,#2a1216)}
.chat-launch{position:relative;width:100%;height:190px;padding:14px;display:grid;grid-template-columns:96px 1fr;grid-template-rows:1fr auto;gap:10px 12px;align-items:center;text-align:left;color:var(--cream);border:0;background:transparent;cursor:pointer;overflow:hidden}
.chat-launch:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 23% 42%,rgba(128,111,145,.28),transparent 38%);pointer-events:none}.bosulica-chat .chat-launch:before{background:radial-gradient(circle at 24% 42%,rgba(255,64,72,.25),transparent 38%)}
.chat-launch-portrait{position:relative;z-index:1;display:grid;place-items:center;width:96px;height:112px;border-radius:14px;background:rgba(5,4,8,.48);overflow:hidden}.chat-launch-portrait img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.42))}
.chat-launch-copy{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;gap:7px}.chat-launch-copy small{color:#aaa2b4;font:700 7.92px/1.4 ui-monospace,monospace;letter-spacing:.08em}.chat-launch-copy strong{color:#fff;font:800 18px/1.1 var(--sans);letter-spacing:-.02em}.chat-launch-copy>span{color:#d8d0dc;font:500 12.1px/1.45 var(--sans)}
.chat-open-hint{position:relative;z-index:1;grid-column:1/-1;color:#c9bdd1;font:800 7.92px/1.2 ui-monospace,monospace;letter-spacing:.08em}.bosulica-chat .chat-open-hint{color:#ff8d92}
.agent-chat.is-open .chat-launch,.agent-chat:hover .chat-launch,.agent-chat:focus-within .chat-launch{height:116px;grid-template-columns:76px 1fr;grid-template-rows:1fr;padding:10px 14px}.agent-chat.is-open .chat-launch-portrait,.agent-chat:hover .chat-launch-portrait,.agent-chat:focus-within .chat-launch-portrait{width:76px;height:88px}.agent-chat.is-open .chat-open-hint,.agent-chat:hover .chat-open-hint,.agent-chat:focus-within .chat-open-hint{display:none}
.chat-panel{max-height:0;opacity:0;visibility:hidden;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:0 13px;background:rgba(8,7,11,.72);border-top:1px solid transparent;transition:max-height .36s ease,opacity .22s ease,padding .36s ease,visibility 0s linear .36s}
.agent-chat:hover .chat-panel,.agent-chat:focus-within .chat-panel,.agent-chat.is-open .chat-panel{max-height:720px;opacity:1;visibility:visible;padding:12px 13px 14px;border-top-color:rgba(247,238,228,.12);transition:max-height .42s ease,opacity .25s ease,padding .35s ease,visibility 0s}
.chat-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-identity{display:flex;min-width:0;align-items:center;gap:9px}.chat-identity img{width:34px;height:34px;object-fit:contain;border-radius:9px;background:#0c0a0e}.chat-identity span{display:flex;min-width:0;flex-direction:column;gap:2px}.chat-identity strong{font:800 11px/1.1 var(--sans)}.chat-identity small{color:#9e95a7;font:700 6.8px/1.25 ui-monospace,monospace;letter-spacing:.08em}.chat-close{width:30px;height:30px;border:1px solid rgba(247,238,228,.18);border-radius:9px;background:#151118;color:#eee5ed;font:400 20px/1 var(--sans);cursor:pointer}
.chat-log{height:220px;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid rgba(247,238,228,.1);border-radius:12px;background:#0a080c;scrollbar-color:#574c60 #0a080c}
.chat-message{max-width:88%;padding:9px 10px;border-radius:12px;color:#e8e0e9;background:#211a25;font:500 12.5px/1.55 var(--sans);overflow-wrap:anywhere}.chat-message p{margin:0}.chat-message.user{align-self:flex-end;background:#49395a;color:#fff}.bosulica-chat .chat-message.user{background:#6b2930}.chat-message.refusal{border:1px solid rgba(255,113,56,.42);background:#281715}.chat-message.typing{width:max-content;color:#aaa2ad;font-style:italic;animation:guide-pulse 1s ease-in-out infinite}
.chat-sources{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.chat-source{display:inline-flex;align-items:center;min-height:25px;padding:5px 7px;border:1px solid rgba(123,225,132,.28);border-radius:7px;color:#9eeba5;background:rgba(123,225,132,.06);font:700 7px/1.2 ui-monospace,monospace;text-decoration:none}.chat-source:hover{border-color:#7be184;background:rgba(123,225,132,.12)}
.chat-projects{display:grid;gap:6px;margin-top:8px}.chat-project-card{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid rgba(128,111,145,.32);border-radius:9px;background:#131017}.chat-project-card small{color:#b7a8c1;font:800 6.8px/1 ui-monospace,monospace;letter-spacing:.08em}.chat-project-card strong{color:#fff;font:800 10px/1.25 var(--sans)}.chat-project-card span{color:#bbb2bf;font:500 9px/1.4 var(--sans)}
.chat-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.chat-prompts button{min-height:32px;padding:6px;border:1px solid rgba(128,111,145,.3);border-radius:8px;background:#19141d;color:#d9cfdf;font:800 7px/1.2 ui-monospace,monospace;cursor:pointer}.bosulica-chat .chat-prompts button{border-color:rgba(255,90,103,.3)}.chat-prompts button:hover,.chat-prompts button:focus-visible{border-color:#7be184;color:#fff}
.chat-form{display:grid;gap:6px}.chat-form label{color:#aea5b4;font:800 7px/1.2 ui-monospace,monospace;letter-spacing:.08em}.chat-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.chat-form input{min-width:0;height:39px;padding:0 10px;border:1px solid rgba(247,238,228,.16);border-radius:9px;background:#0c0a0e;color:#fff;font:500 12px/1 var(--sans);outline:none}.chat-form input:focus{border-color:#7be184;box-shadow:0 0 0 3px rgba(123,225,132,.1)}.chat-form button{min-width:72px;border:0;border-radius:9px;background:#7be184;color:#101412;font:900 8px/1 ui-monospace,monospace;cursor:pointer}.bosulica-chat .chat-form button{background:#ff5a67;color:#fff}.chat-form input:disabled,.chat-form button:disabled{opacity:.55;cursor:wait}
.chat-guardrail{margin:0;color:#857c8a;font:700 6.6px/1.5 ui-monospace,monospace;letter-spacing:.05em}.chat-load-error{grid-column:1/-1;margin:0;padding:18px;border:1px solid rgba(255,113,56,.35);border-radius:12px;color:#ffd7c7;background:#261815}
@media(max-width:700px){.crew-stage.dual-chat-stage{grid-template-columns:1fr;gap:10px}.agent-chat,.agent-chat:hover,.agent-chat:focus-within,.agent-chat.is-open{justify-self:stretch;width:100%;transform:none}.chat-launch{height:98px;grid-template-columns:68px 1fr auto;grid-template-rows:1fr;padding:8px 10px}.chat-launch-portrait{width:68px;height:78px}.chat-open-hint{grid-column:auto;max-width:70px;text-align:right}.agent-chat.is-open .chat-launch,.agent-chat:hover .chat-launch,.agent-chat:focus-within .chat-launch{height:98px;grid-template-columns:68px 1fr;padding:8px 10px}.agent-chat.is-open .chat-launch-portrait,.agent-chat:hover .chat-launch-portrait,.agent-chat:focus-within .chat-launch-portrait{width:68px;height:78px}.chat-log{height:230px}.chat-message{max-width:94%;font-size:12px}}
@media(hover:none){.agent-chat:not(.is-open) .chat-panel{max-height:0;opacity:0;visibility:hidden;padding-top:0;padding-bottom:0}.agent-chat:not(.is-open) .chat-launch{height:98px}.agent-chat:not(.is-open) .chat-open-hint{display:block}}
.agent-chat.is-open{width:min(100%,510px)!important;transform:translateY(-5px)!important;z-index:9!important;transition:none!important}.agent-chat.is-open .chat-launch{height:116px!important;grid-template-columns:76px 1fr!important;grid-template-rows:1fr!important;padding:10px 14px!important}.agent-chat.is-open .chat-launch-portrait{width:76px!important;height:88px!important}.agent-chat.is-open .chat-open-hint{display:none!important}.agent-chat.is-open .chat-panel{max-height:720px!important;opacity:1!important;visibility:visible!important;padding:12px 13px 14px!important;border-top-color:rgba(247,238,228,.12)!important;transition:none!important}
@media(max-width:700px){.agent-chat.is-open{width:100%!important;transform:none!important}.agent-chat.is-open .chat-launch{height:98px!important;grid-template-columns:68px 1fr!important;padding:8px 10px!important}.agent-chat.is-open .chat-launch-portrait{width:68px!important;height:78px!important}}
@media(prefers-reduced-motion:reduce){.agent-chat,.chat-panel{transition:none!important}.chat-message.typing{animation:none!important}}

/* Small visible text: exactly 20% larger; headings unchanged */
.brand,.quick a,.quest-hud,.quest-statline,.quest-card-top,.featured-video-meta,.foot{font-size:10.56px}
header nav a,.nav-cv,.hero-map-label,.quick small,.story-tag,.story-speech,.quest-node small,.quest-chip,.quest-status,.quest-statline button,.journey-node small,.journey-note,.agent-status span,.agent-copy small,.guide-form label,.badge,.video-topics li,.mobile-dock a{font-size:9.24px}
.hero-map-stop>span,.agent-status b,.guide-top b,.guide-prompts button,.guide-guardrail{font-size:7.92px}
.hero-map-stop strong,.hero-map-stop code,.btn,.micro,.packet-quest .quest-node,.journey-node strong,.filter,.text-link{font-size:11.88px}
.hero-passport figcaption,.quest-modes button,.quest-primary,.crew-select,.guide-form button{font-size:10.56px}
.journey-header span,.journey-header b{font-size:10.56px}
.level-labels span{font-size:6.6px}
.agent-copy p{font-size:15.84px}
.guide-message,.guide-form input,.video-safety{font-size:14.52px}
.profile-role{font-size:13.2px}
.stick-byte>text,.stick-null>text{font-size:11.88px}
.victim-device .device-alert,.victim-device .device-secure,.null-laptop .laptop-blocked,.null-prison text{font-size:9.24px}
.victim-device .device-contained,.attack-link text,.security-patches text,.null-laptop .laptop-title,.null-laptop .laptop-code,.null-laptop .laptop-stolen{font-size:7.92px}
.victim-device .device-compromised{font-size:6.6px}
.firewall-shield text{font-size:10.56px}

@media(max-width:700px){
  .hero-map-label{font-size:11.88px}.hero-map-stop>span{font-size:10.56px}.hero-map-stop strong{font-size:15.84px}.hero-map-stop code{font-size:11.88px}
  .packet-quest .quest-node{font-size:9.24px}.packet-quest .quest-node small{font-size:6.6px}.story-tag,.story-speech{font-size:6.6px}
}
@media(max-width:620px){
  .agent-status span,.agent-status b,.crew-select{font-size:7.92px}.agent-copy small{font-size:9.24px}.agent-copy p,.guide-message{font-size:13.2px}
}

/* Matrix rain is mirrored only, matching the inside-the-code viewpoint. */
.hero-passport>.matrix-rain-canvas{transform:scaleX(-1);transform-origin:center}

/* Refined site-palette route and animated learning gauges. */
.hero-map-stop{--route-color:var(--violet)}
.hero-map-stop.linux{--route-color:var(--green)}
.hero-map-stop.defence{--route-color:var(--orange)}
.hero-map-stop:before{background:linear-gradient(90deg,transparent,var(--route-color),var(--green),var(--route-color),transparent)}
.hero-map-stop strong{color:var(--cream)}
.hero-map-stop.linux strong{font-size:15.4px;letter-spacing:.12em}
.journey-line{background:linear-gradient(90deg,#72e6e1,#69aefc,#a78bfa)}
.journey-node{--gauge-accent:#72e6e1}
.journey-node:nth-child(2){--gauge-accent:#69aefc}
.journey-node:nth-child(3){--gauge-accent:#a78bfa}
.journey-node:nth-child(4){--gauge-accent:#72e6e1}
.journey-node i,.journey-node:nth-child(2) i,.journey-node:nth-child(3) i,.journey-node:nth-child(4) i{background:var(--gauge-accent);box-shadow:0 0 0 2px var(--gauge-accent),0 0 15px color-mix(in srgb,var(--gauge-accent) 50%,transparent)}
.journey-node b,.journey-node:nth-child(2) b,.journey-node:nth-child(3) b,.journey-node:nth-child(4) b,.journey-node .journey-icon,.journey-node:nth-child(2) .journey-icon,.journey-node:nth-child(3) .journey-icon,.journey-node:nth-child(4) .journey-icon{color:var(--gauge-accent)}
.level-dial{background:conic-gradient(from 270deg at 50% 100%,#72e6e1 0deg 60deg,#69aefc 60deg 120deg,#a78bfa 120deg 180deg,transparent 180deg);filter:drop-shadow(0 7px 12px rgba(8,5,10,.28))}
.level-needle{background:var(--green);transform:rotate(-88deg);box-shadow:0 0 10px rgba(123,225,132,.72)}
.level-needle:after{background:var(--green);box-shadow:0 0 0 3px var(--panel),0 0 12px var(--green)}
.level-labels span:first-child{color:#72e6e1}
.level-labels span:nth-child(2){color:#69aefc}
.level-labels span:last-child{color:#a78bfa}
.journey-panel.is-visible .level-needle{animation:gauge-sweep 1.35s cubic-bezier(.2,.8,.2,1) forwards}
.journey-panel.is-visible .journey-node:nth-child(2) .level-needle{animation-delay:.16s}
.journey-panel.is-visible .journey-node:nth-child(3) .level-needle{animation-delay:.32s}
.journey-panel.is-visible .journey-node:nth-child(4) .level-needle{animation-delay:.48s}
.journey-panel.is-visible .level-dial{animation:gauge-breathe 3.2s ease-in-out 1.5s infinite}
@keyframes gauge-sweep{0%{transform:rotate(-88deg);opacity:.3}70%{opacity:1}100%{transform:rotate(var(--needle));opacity:1}}
@keyframes gauge-breathe{0%,100%{filter:drop-shadow(0 7px 12px rgba(8,5,10,.28))}50%{filter:drop-shadow(0 7px 16px color-mix(in srgb,var(--gauge-accent) 35%,transparent))}}
@media(max-width:620px){.hero-map-stop.linux strong{font-size:15.4px}}
@media(prefers-reduced-motion:reduce){.journey-panel.is-visible .level-needle{animation:none;transform:rotate(var(--needle));opacity:1}.journey-panel.is-visible .level-dial{animation:none}}

/* Softer violet-orange-green gauges with bright, gently moving needles. */
.hero-map-stop.linux{--route-color:var(--orange)}
.hero-map-stop.defence{--route-color:var(--green)}
.journey-line{background:linear-gradient(90deg,var(--violet),var(--orange),var(--green))}
.journey-node{--gauge-accent:var(--violet)}
.journey-node:nth-child(2){--gauge-accent:var(--orange)}
.journey-node:nth-child(3),.journey-node:nth-child(4){--gauge-accent:var(--green)}
.level-dial{background:conic-gradient(from 270deg at 50% 100%,color-mix(in srgb,var(--violet) 48%,var(--panel)) 0deg 60deg,color-mix(in srgb,var(--orange) 46%,var(--panel)) 60deg 120deg,color-mix(in srgb,var(--green) 48%,var(--panel)) 120deg 180deg,transparent 180deg)}
.level-labels span:first-child{color:color-mix(in srgb,var(--violet) 72%,var(--cream))}
.level-labels span:nth-child(2){color:color-mix(in srgb,var(--orange) 72%,var(--cream))}
.level-labels span:last-child{color:color-mix(in srgb,var(--green) 72%,var(--cream))}
.level-needle{background:var(--gauge-accent);filter:saturate(1.35) brightness(1.18);box-shadow:0 0 6px var(--gauge-accent),0 0 15px color-mix(in srgb,var(--gauge-accent) 72%,transparent)}
.journey-panel.is-visible .level-needle{animation:gauge-sweep 1.35s cubic-bezier(.2,.8,.2,1) forwards,gauge-idle 2.8s ease-in-out 1.9s infinite alternate}
@keyframes gauge-idle{from{transform:rotate(calc(var(--needle) - 1.6deg))}to{transform:rotate(calc(var(--needle) + 1.6deg))}}
@media(prefers-reduced-motion:reduce){.journey-panel.is-visible .level-needle{animation:none;transform:rotate(var(--needle));filter:saturate(1.35) brightness(1.18)}}

/* Keep the top learning route in its original red-yellow-blue order. */
.hero-map-stop.networking{--route-color:#ff5a67}
.hero-map-stop.linux{--route-color:#f4d35e}
.hero-map-stop.defence{--route-color:#69aefc}
.hero-map-stop:before{background:linear-gradient(90deg,transparent,var(--route-color),#fff,var(--route-color),transparent)}

/* Public-safe view of selected private Homarr services. */
.live-lab-section{background:linear-gradient(180deg,rgba(128,111,145,.08),rgba(17,16,21,.04))}
.live-lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.live-lab-card{--lab-accent:var(--violet);min-width:0;min-height:350px;padding:24px;border:1px solid color-mix(in srgb,var(--lab-accent) 52%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--lab-accent) 9%,var(--panel)),var(--panel));box-shadow:0 16px 38px rgba(8,5,10,.2);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}
.live-lab-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,transparent,var(--lab-accent),transparent)}
.live-lab-card.service-cs{--lab-accent:#f4d35e}.live-lab-card.service-wazuh{--lab-accent:#69aefc}.live-lab-card.service-homarr{--lab-accent:#a78bfa}.live-lab-card.service-sandbox{--lab-accent:#7be184}
.live-lab-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.live-lab-icon{width:48px;height:48px;border:1px solid var(--lab-accent);display:grid;place-items:center;color:var(--lab-accent);font-family:'Press Start 2P',monospace;font-size:11px;box-shadow:inset 0 0 20px color-mix(in srgb,var(--lab-accent) 12%,transparent)}
.lab-state{font-family:'Press Start 2P',monospace;font-size:7px;line-height:1.4;letter-spacing:.04em;padding:8px 9px;border:1px solid color-mix(in srgb,var(--lab-accent) 55%,var(--line));color:var(--lab-accent);text-align:right}
.live-lab-card small{display:block;color:var(--lab-accent);font-family:ui-monospace,monospace;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:10px}
.live-lab-card h3{font-family:'Press Start 2P',monospace;font-size:15px;line-height:1.5;color:var(--cream);margin:0 0 12px}
.live-lab-card p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.lab-tech{display:flex;flex-wrap:wrap;gap:7px}.lab-tech span{border:1px solid var(--line);padding:6px 8px;color:var(--cream);font-family:ui-monospace,monospace;font-size:9px}
.lab-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto}.live-lab-card>.btn{margin-top:auto;align-self:flex-start}.lab-actions .btn,.live-lab-card>.btn{font-size:9px;min-height:40px}
@media(max-width:760px){.live-lab-grid{grid-template-columns:1fr;gap:14px}.live-lab-card{min-height:0;padding:20px}.live-lab-card h3{font-size:13px}.live-lab-top{align-items:flex-start}.lab-actions{display:grid;grid-template-columns:1fr}.lab-actions .btn,.live-lab-card>.btn{width:100%;justify-content:center;text-align:center}}

/* Interactive, public-safe three-VPS topology. */
.topology-section{background:linear-gradient(180deg,rgba(10,7,12,.08),rgba(10,7,12,.24))}.topology-head h2{white-space:normal!important}.topology-shell{border:1px solid var(--border2);background:#19141c;box-shadow:inset 0 0 80px rgba(0,0,0,.26)}.topology-toolbar{min-height:50px;padding:0 16px;display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--border);color:var(--muted);font:700 7.7px/1.4 "Press Start 2P",ui-monospace,monospace}.topology-toolbar span{display:flex;align-items:center;gap:8px}.topology-toolbar b{margin-left:auto;color:var(--green);font-weight:400}.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(123,225,132,.6)}.legend-line{display:inline-block;width:28px;height:2px;background:linear-gradient(90deg,var(--cyan) 50%,transparent 50%);background-size:8px 2px}.topology-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.7fr);min-height:660px}.topology-stage{position:relative;min-width:0;height:660px;overflow:hidden;border-right:1px solid var(--border);background-color:#151118;background-image:linear-gradient(rgba(114,230,225,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(114,230,225,.035) 1px,transparent 1px);background-size:28px 28px}.topology-stage:before{content:"PRIVATE NETWORK / DOCUMENTED ARCHITECTURE";position:absolute;left:16px;top:15px;color:#887b8d;font:700 7.7px/1 ui-monospace,monospace;letter-spacing:.12em}.topology-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.topology-links path{fill:none;vector-effect:non-scaling-stroke}.link-underlay{stroke:#403547;stroke-width:7}.link-signal{stroke:var(--cyan);stroke-width:2;stroke-dasharray:8 10;filter:drop-shadow(0 0 5px rgba(114,230,225,.4));animation:topology-flow 1.5s linear infinite}@keyframes topology-flow{to{stroke-dashoffset:-36}}
.topology-device,.topology-hub,.topology-server{border:1px solid var(--border2);background:#27202b;color:var(--cream);cursor:pointer;text-align:left;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}.topology-device:hover,.topology-device:focus-visible,.topology-hub:hover,.topology-hub:focus-visible,.topology-server:hover,.topology-server:focus-visible{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px rgba(114,230,225,.09),0 0 24px rgba(114,230,225,.12);transform:translateY(-2px)}.topology-device[aria-pressed="true"],.topology-hub[aria-pressed="true"],.topology-server[aria-pressed="true"]{border-color:var(--green);background:#302838;box-shadow:0 0 0 3px rgba(123,225,132,.1),0 0 25px rgba(123,225,132,.16)}.topology-device{position:absolute;top:73px;width:205px;min-height:96px;padding:15px;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center}.topology-device-left{left:6%}.topology-device-right{right:6%}.device-screen{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--cyan);background:#100d12;color:var(--cyan);font:700 22px/1 ui-monospace,monospace;box-shadow:inset 0 0 15px rgba(114,230,225,.08)}.topology-device b,.topology-device small,.topology-hub b,.topology-hub small{display:block}.topology-device b{font:400 8.8px/1.45 "Press Start 2P",ui-monospace,monospace}.topology-device small{margin-top:8px;color:var(--muted);font:700 7.7px/1.3 ui-monospace,monospace;letter-spacing:.06em}.topology-hub{position:absolute;z-index:2;left:50%;top:202px;width:146px;height:112px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.topology-hub:hover,.topology-hub:focus-visible{transform:translate(-50%,-2px)}.topology-hub[aria-pressed="true"]{transform:translateX(-50%)}.hub-mark{width:34px;height:34px;margin-bottom:8px;display:grid;place-items:center;border:1px solid var(--cream);border-radius:50%;font:700 16.5px/1 ui-monospace,monospace}.topology-hub b{font:400 8.8px/1.4 "Press Start 2P",ui-monospace,monospace}.topology-hub small{margin-top:5px;color:var(--cyan);font:700 6.6px/1.3 ui-monospace,monospace;letter-spacing:.08em}.topology-servers{position:absolute;left:3%;right:3%;bottom:34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.topology-server{position:relative;min-width:0;min-height:205px;padding:19px 14px 14px;display:flex;flex-direction:column;align-items:flex-start}.server-number{position:absolute;right:10px;top:10px;color:#8b7d90;font:700 7.7px/1 ui-monospace,monospace;letter-spacing:.08em}.topology-server>img,.topology-server>.logo-pair{height:58px;max-width:100px;margin-bottom:13px}.topology-server>img{width:58px;object-fit:contain}.topology-server.guardians>img{border-radius:50%;background:#0e0b10}.topology-server.wazuh>img{width:100px;max-width:100px;object-position:left center}.logo-pair{display:flex;align-items:center;gap:8px}.logo-pair img{display:block;max-width:46px;max-height:48px;object-fit:contain}.server-copy{display:block;min-width:0}.server-copy b{display:block;overflow-wrap:anywhere;color:var(--cream);font:400 8.8px/1.55 "Press Start 2P",ui-monospace,monospace}.server-copy small{display:block;margin-top:6px;color:var(--muted);font:700 7.7px/1.3 ui-monospace,monospace;letter-spacing:.07em}.server-services{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:14px}.server-services em{padding:5px 6px;border:1px solid #4b3f52;color:#d0c5d3;font:700 6.6px/1 ui-monospace,monospace;font-style:normal;letter-spacing:.06em}
.topology-inspector{min-width:0;padding:28px 25px 24px;background:linear-gradient(155deg,#2a222e,#211a25);overflow:hidden}.inspector-kicker{display:flex;align-items:center;gap:10px;color:var(--green);font:700 7.7px/1.4 "Press Start 2P",ui-monospace,monospace}.inspector-kicker i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(123,225,132,.7)}.inspector-brand{height:74px;margin:25px 0 17px;display:flex;align-items:center}.inspector-brand img{display:block;max-width:132px;max-height:74px;object-fit:contain;object-position:left center}.inspector-generic-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--cyan);border-radius:50%;color:var(--cyan);font:700 26px/1 ui-monospace,monospace;box-shadow:0 0 18px rgba(114,230,225,.15)}.inspector-eyebrow{margin:0 0 10px;color:var(--cyan);font:700 7.7px/1.4 ui-monospace,monospace;letter-spacing:.12em}.topology-inspector h3{margin:0 0 13px;overflow-wrap:anywhere;color:var(--cream);font:400 15px/1.55 "Press Start 2P",ui-monospace,monospace}.topology-inspector>p:not(.inspector-eyebrow):not(.topology-disclaimer){margin:0 0 20px;color:var(--muted);font-size:14.3px;line-height:1.62}.inspector-facts{margin:0 0 20px;display:grid;border-top:1px solid var(--border)}.inspector-facts div{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.inspector-facts dt{color:#9b8da0;font:700 7.7px/1.5 ui-monospace,monospace;letter-spacing:.1em}.inspector-facts dd{margin:0;color:var(--cream);font:700 9.9px/1.45 ui-monospace,monospace}.inspector-block{margin-top:18px}.inspector-block>span{display:block;margin-bottom:9px;color:#9b8da0;font:700 7.7px/1.4 ui-monospace,monospace;letter-spacing:.12em}.inspector-tags{display:flex;flex-wrap:wrap;gap:6px}.inspector-tags b{padding:7px 8px;border:1px solid var(--border2);color:var(--cream);font:700 7.7px/1.3 ui-monospace,monospace}.evidence-block code{display:block;min-height:92px;padding:12px;border:1px solid #3f3545;background:#151118;color:#a9e7af;font:600 9.9px/1.7 ui-monospace,monospace;white-space:pre-wrap}.topology-public-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.topology-public-actions[hidden]{display:none}.topology-public-actions .btn{min-height:38px;padding:0 10px;font-size:7px}.topology-disclaimer{margin:17px 0 0;color:#9b8da0;font:600 9.9px/1.55 ui-monospace,monospace}.topology-boundaries{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}.topology-boundaries span{min-width:0;padding:15px;border-right:1px solid var(--border);color:#9b8da0;font:700 7.7px/1.5 ui-monospace,monospace;letter-spacing:.08em}.topology-boundaries span:last-child{border-right:0}.topology-boundaries b{display:block;margin-top:6px;color:var(--cream);font-weight:700;letter-spacing:0}
@media(max-width:1000px){.topology-layout{grid-template-columns:1fr}.topology-stage{border-right:0;border-bottom:1px solid var(--border)}.topology-inspector{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.inspector-kicker,.inspector-brand,.inspector-eyebrow,.topology-inspector h3,.topology-inspector>p{grid-column:1}.inspector-facts,.inspector-block,.topology-public-actions,.topology-disclaimer{grid-column:2}.inspector-facts{grid-row:1/5}.topology-disclaimer{align-self:end}.topology-boundaries{grid-template-columns:1fr}}
@media(max-width:700px){.topology-toolbar{align-items:flex-start;flex-direction:column;gap:10px;padding:14px}.topology-toolbar b{margin-left:0}.topology-stage{height:auto;padding:56px 14px 18px}.topology-links{display:none}.topology-device,.topology-hub{position:relative;inset:auto;width:100%;min-height:82px;margin-bottom:10px;transform:none}.topology-device{display:grid}.topology-hub{height:95px}.topology-hub:hover,.topology-hub:focus-visible,.topology-hub[aria-pressed="true"]{transform:translateY(-2px)}.topology-servers{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:10px}.topology-server{min-height:168px}.topology-inspector{display:block;padding:23px 18px}.inspector-brand{height:60px;margin:20px 0 14px}.topology-public-actions{display:grid;grid-template-columns:1fr}.topology-public-actions .btn{width:100%;text-align:center}.topology-boundaries span{border-right:0;border-bottom:1px solid var(--border)}.topology-boundaries span:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.link-signal{animation:none}.topology-device,.topology-hub,.topology-server{transition:none}}

/* Live Lab visual refinement: real device brands and service hub. */
.topology-stage{height:760px}
.topology-layout{min-height:760px}
.topology-device.topology-pc{top:58px;width:250px;min-height:142px;padding:13px 14px 11px;grid-template-columns:1fr;gap:8px;justify-items:center;text-align:center}
.topology-device-left{left:4.5%}.topology-device-right{right:4.5%}
.pc-monitor{display:block;width:190px}.pc-screen{height:74px;padding:12px 13px;display:flex;align-items:center;justify-content:center;gap:11px;border:2px solid #716778;border-bottom-width:5px;border-radius:4px;background:linear-gradient(145deg,#0c0d11,#17141b);box-shadow:inset 0 0 18px rgba(114,230,225,.07),0 5px 16px rgba(0,0,0,.24)}
.pc-screen img{display:block;max-height:30px;object-fit:contain}.dual-screen img:first-child{width:72px;filter:invert(1)}.dual-screen img:last-child{width:80px}.dual-screen i{width:1px;height:40px;background:#4d4552}.windows-screen img{width:132px;max-height:36px}.pc-stand{position:relative;display:block;width:58px;height:8px;margin:0 auto;border-bottom:3px solid #716778}.pc-stand:before{content:"";position:absolute;left:26px;width:6px;height:8px;background:#716778}
.pc-label b,.pc-label small{display:block}.pc-label b{color:var(--cream);font:400 8.2px/1.4 "Press Start 2P",ui-monospace,monospace}.pc-label small{margin-top:5px;color:var(--muted);font:700 7.4px/1.3 ui-monospace,monospace;letter-spacing:.05em}
.topology-hub{top:230px;width:158px;height:112px}.tailscale-logo{width:35px;height:35px;margin-bottom:8px;object-fit:contain;filter:invert(1);opacity:.92}
.link-extension{fill:none;stroke:var(--green);stroke-width:2;stroke-dasharray:3 8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(123,225,132,.35))}
.topology-servers{position:absolute;z-index:2;left:4%;right:4%;top:405px;bottom:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.topology-server{position:relative;min-width:0;min-height:132px;padding:27px 12px 12px;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;gap:8px 10px;align-items:center}
.topology-server>img{width:44px;height:44px;object-fit:contain;grid-row:1}.topology-server.openclaw>img{image-rendering:pixelated}.topology-server.wazuh>img{width:48px}
.server-number{position:absolute;left:11px;top:9px;color:#887b8d;font:700 7px/1 ui-monospace,monospace;letter-spacing:.12em}.server-copy{min-width:0}.server-copy b,.server-copy small{display:block}.server-copy b{overflow-wrap:anywhere;color:var(--cream);font:400 7.6px/1.45 "Press Start 2P",ui-monospace,monospace}.server-copy small{margin-top:6px;color:var(--muted);font:700 6.8px/1.3 ui-monospace,monospace;letter-spacing:.05em}.server-services{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px}.server-services em{padding:4px 6px;border:1px solid var(--border);color:var(--cyan);font:700 6.7px/1.2 ui-monospace,monospace;font-style:normal}
.topology-service-hub{position:absolute;z-index:2;left:7%;right:7%;top:585px;min-height:135px;padding:13px 15px;display:grid;grid-template-columns:minmax(145px,.8fr) minmax(0,2fr);gap:14px;align-items:center;border:1px dashed color-mix(in srgb,var(--green) 52%,var(--border2));background:linear-gradient(120deg,rgba(123,225,132,.07),rgba(39,32,43,.96));box-shadow:0 15px 35px rgba(0,0,0,.18)}
.service-hub-head{display:flex;align-items:center;gap:11px;min-width:0}.service-hub-head>img{width:50px;height:42px;object-fit:contain}.service-hub-head b,.service-hub-head small{display:block}.service-hub-head b{font:400 9px/1.3 "Press Start 2P",ui-monospace,monospace;color:var(--cream)}.service-hub-head small{margin-top:7px;color:var(--green);font:700 6.8px/1.45 ui-monospace,monospace;letter-spacing:.05em}.service-extensions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.topology-service-extension{min-width:0;min-height:76px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);background:#1b171e}.topology-service-extension img{display:block;width:34px;height:34px;object-fit:contain}.topology-service-extension img[src$="wazuh-logo.svg"],.topology-server.wazuh>img,.inspector-brand img[src$="wazuh-logo.svg"]{padding:4px;background:#f6f8fb;border-radius:3px;filter:none;opacity:1}.topology-service-extension:nth-child(2) img{image-rendering:pixelated}.topology-service-extension b{max-width:100%;overflow-wrap:anywhere;color:var(--muted);font:700 6.3px/1.25 ui-monospace,monospace;letter-spacing:.04em;text-align:center}
.evidence-block code{min-height:0;padding:0;background:transparent;border:0}.evidence-terminal{position:relative;min-height:126px;padding:34px 14px 13px;border:1px solid #514557;background:linear-gradient(180deg,#0e0c10,#151118);box-shadow:inset 0 0 25px rgba(0,0,0,.35);overflow:hidden}.evidence-terminal:before{content:"TERMINAL / EVIDENCE";position:absolute;left:68px;top:11px;color:#786d7c;font:700 6.8px/1 ui-monospace,monospace;letter-spacing:.1em}.evidence-terminal:after{content:"";position:absolute;inset:27px 0 auto;height:1px;background:#312a35}.terminal-light{position:absolute;top:10px;width:7px;height:7px;border-radius:50%}.terminal-light.red{left:13px;background:#ff5a67}.terminal-light.yellow{left:27px;background:#f4d35e}.terminal-light.green{left:41px;background:#7be184}.evidence-terminal code{display:inline;color:#8ff29a;font:700 8.2px/1.75 ui-monospace,monospace;white-space:pre-wrap}.evidence-terminal code:before{content:"> ";color:var(--cyan)}.topology-terminal-cursor{display:inline-block;width:7px;height:13px;margin-left:4px;vertical-align:-2px;background:var(--green);box-shadow:0 0 8px rgba(123,225,132,.6);animation:terminal-blink .82s steps(1,end) infinite}.topology-terminal-cursor.is-active{animation:terminal-enter .22s ease-out,terminal-blink .82s .22s steps(1,end) infinite}@keyframes terminal-blink{50%{opacity:0}}@keyframes terminal-enter{from{transform:translateX(-7px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1120px) and (min-width:701px){.topology-device.topology-pc{width:220px}.pc-monitor{width:166px}.topology-device-left{left:3%}.topology-device-right{right:3%}.topology-service-hub{left:4%;right:4%}.service-hub-head{align-items:flex-start;flex-direction:column}.service-hub-head>img{height:30px}}
@media(max-width:700px){.topology-layout{min-height:0}.topology-stage{height:auto;padding:56px 14px 18px}.topology-device.topology-pc{position:relative;inset:auto;width:100%;min-height:118px;margin-bottom:10px;padding:13px;grid-template-columns:150px 1fr;gap:12px;text-align:left;justify-items:stretch}.pc-monitor{width:150px}.pc-screen{height:63px;padding:9px}.dual-screen img:first-child{width:58px}.dual-screen img:last-child{width:64px}.windows-screen img{width:112px}.pc-label{align-self:center}.topology-hub{position:relative;inset:auto;width:100%;height:98px;margin-bottom:10px;transform:none}.topology-servers{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:10px}.topology-server{min-height:118px}.topology-service-hub{position:relative;inset:auto;margin-top:10px;display:block;padding:14px}.service-hub-head{margin-bottom:12px}.service-extensions{grid-template-columns:repeat(2,minmax(0,1fr))}.topology-service-extension{min-height:70px}.evidence-terminal{min-height:116px}}
@media(max-width:430px){.topology-device.topology-pc{grid-template-columns:1fr;text-align:center}.pc-monitor{margin:auto}.service-extensions{gap:6px}.topology-service-extension b{font-size:5.9px}}
@media(prefers-reduced-motion:reduce){.topology-terminal-cursor,.topology-terminal-cursor.is-active{animation:none}.topology-terminal-cursor{opacity:1}}

/* Rich verified inspector, live CS status, and embedded agents. */
.topology-layout:has(.topology-inspector.agents-visible){grid-template-columns:minmax(0,1.05fr) minmax(450px,1fr)}
.topology-server.guardians{grid-template-columns:72px minmax(0,1fr)}.topology-server.guardians>.guardian-logo-original{width:58px;height:58px;border-radius:50%;object-fit:cover}.topology-server.openclaw>.molty-live{width:52px;height:52px;image-rendering:auto;filter:drop-shadow(0 0 8px rgba(255,79,64,.42))}
.inspector-brand.guardian-original{height:80px}.inspector-brand.guardian-original img{width:72px;height:72px;max-width:72px;max-height:72px;border-radius:50%;object-fit:cover}.inspector-brand.molty-brand{height:88px}.inspector-brand.molty-brand img{width:84px;max-width:84px;max-height:84px;filter:drop-shadow(0 0 12px rgba(255,79,64,.36))}.inspector-brand.tailscale-brand img{width:58px;height:58px;filter:invert(1)}
.inspector-links{display:flex;flex-wrap:wrap;gap:7px}.inspector-links a,.inspector-links b{padding:7px 8px;border:1px solid var(--border2);color:var(--cyan);background:#1a161d;font:700 7.7px/1.35 ui-monospace,monospace;text-decoration:none}.inspector-links a:hover,.inspector-links a:focus-visible{border-color:var(--green);color:var(--green);outline:none}
.guardians-live-status{padding:12px;border:1px solid rgba(123,225,132,.42);background:linear-gradient(145deg,rgba(123,225,132,.08),rgba(14,12,16,.8));box-shadow:inset 0 0 22px rgba(123,225,132,.04)}.guardians-live-status>div{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:7px}.guardians-live-status>div>*{min-width:0;padding:8px;border:1px solid rgba(123,225,132,.18);color:var(--cream);font:700 7.2px/1.4 ui-monospace,monospace}.guardians-live-status>div>b{color:var(--green)}.guardians-live-status strong i{display:block;color:var(--cyan);font-style:normal;font-size:10px}.guardians-live-status small{display:block;margin-top:8px;color:#8e8293;font:700 6.8px/1.4 ui-monospace,monospace}
.topology-agent-panel{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,79,64,.35)}.topology-agent-panel[hidden],.guardians-live-status[hidden],.topology-public-actions[hidden]{display:none!important}.agent-panel-heading>span{color:#ff8074;font:700 7.7px/1.3 "Press Start 2P",ui-monospace,monospace}.agent-panel-heading h4{margin:10px 0 8px;color:var(--cream);font:400 13px/1.5 "Press Start 2P",ui-monospace,monospace}.agent-panel-heading p{margin:0 0 15px;color:var(--muted);font-size:13px;line-height:1.55}
.topology-agent-chats.dual-chat-stage{display:grid;grid-template-columns:1fr;gap:10px;min-height:0}.topology-agent-chats .agent-chat,.topology-agent-chats .agent-chat:hover,.topology-agent-chats .agent-chat:focus-within,.topology-agent-chats .agent-chat.is-open{justify-self:stretch;width:100%;max-width:none;transform:none}.topology-agent-chats .chat-launch{height:98px;grid-template-columns:68px minmax(0,1fr) auto;grid-template-rows:1fr;padding:8px 10px}.topology-agent-chats .chat-launch-portrait{width:68px;height:78px}.topology-agent-chats .agent-chat.is-open .chat-launch{height:98px!important;grid-template-columns:68px minmax(0,1fr)!important;padding:8px 10px!important}.topology-agent-chats .agent-chat.is-open .chat-launch-portrait{width:68px!important;height:78px!important}.topology-agent-chats .chat-log{height:190px}.topology-agent-chats .chat-open-hint{max-width:75px;text-align:right}.topology-agent-chats .chat-message{font-size:12px}
.topology-service-extension:first-child img{width:38px;height:38px;border-radius:50%;object-fit:cover}.topology-service-extension .molty-live{width:38px;height:38px;image-rendering:auto!important}
@media(max-width:1000px){.topology-layout:has(.topology-inspector.agents-visible){grid-template-columns:1fr}.topology-agent-panel{grid-column:1/-1}.topology-inspector.agents-visible{display:block}.topology-inspector.agents-visible .inspector-facts{display:grid}}
@media(max-width:700px){.topology-server.guardians{grid-template-columns:72px minmax(0,1fr)}.guardians-live-status>div{grid-template-columns:1fr}.topology-agent-chats .chat-launch,.topology-agent-chats .agent-chat.is-open .chat-launch{grid-template-columns:62px minmax(0,1fr)!important}.topology-agent-chats .chat-open-hint{display:none}.topology-agent-panel{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.molty-live,.molty-brand img{content:url('../images/topology/openclaw-logo.svg')}}

/* Reduce large Attack Labs and video frames by exactly 20% on desktop. */
.project-showcase.with-video,.featured-video{width:80%;margin-left:auto;margin-right:auto}
@media(max-width:900px){.project-showcase.with-video,.featured-video{width:100%;margin-left:0;margin-right:0}}

/* Featured-image video posters for Attack Labs and video library. */
.project.video-selected{border-color:var(--green);box-shadow:0 0 0 2px rgba(123,225,132,.1)}.project-video-select[aria-pressed="true"]{color:var(--green)}
.featured-video-frame{position:relative;overflow:hidden}.featured-video-poster{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:0;border:0;background:#100c13;cursor:pointer}.featured-video-poster[hidden]{display:none}.featured-video-poster img{display:block;width:100%;height:100%;object-fit:contain;background:radial-gradient(circle,rgba(255,113,56,.12),transparent 55%),#100c13}.featured-video-poster span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:68px;height:68px;border:2px solid var(--green);border-radius:50%;background:rgba(13,11,15,.84);color:var(--green);font-size:24px;transform:translate(-50%,-50%);box-shadow:0 0 24px rgba(123,225,132,.24)}.featured-video-poster:hover span,.featured-video-poster:focus-visible span{background:var(--green);color:#152019}.featured-video-poster:focus-visible{outline:3px solid var(--cyan);outline-offset:-3px}

/* Restore readable VPS cards without changing Homarr or inspector. */
.topology-servers{top:385px}.topology-server{min-height:158px;padding:30px 16px 16px;grid-template-columns:56px minmax(0,1fr);gap:10px 14px}.topology-server>img{width:52px;height:52px}.topology-server.wazuh>img{width:56px;height:56px}.topology-server.guardians{grid-template-columns:76px minmax(0,1fr)}.topology-server.guardians>.guardian-logo-original{width:64px;height:64px}.topology-server.openclaw>.molty-live{width:60px;height:60px}.topology-server .server-copy b{font-size:8.6px;line-height:1.5}
@media(max-width:700px){.topology-servers{top:auto}.topology-server{min-height:146px;padding:30px 16px 16px}.topology-server .server-copy b{font-size:8.2px}}

/* Terminal copy on the left, centered video on the right. */
.featured-video.terminal-video-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr);align-items:stretch;background:#121015;border-color:rgba(194,181,198,.42)}
.terminal-video-layout .featured-video-copy{order:1;padding:0;justify-content:flex-start;background:#17131a;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.terminal-video-layout .featured-video-frame{order:2;display:grid;place-items:center;min-height:360px;padding:18px;aspect-ratio:auto;border-right:0;border-left:1px solid var(--border);background:radial-gradient(circle at center,rgba(114,230,225,.06),transparent 55%),#0e0b10}
.terminal-video-layout .featured-video-frame iframe{width:100%;height:auto;aspect-ratio:16/9;border:1px solid rgba(114,230,225,.2);box-shadow:0 18px 42px rgba(0,0,0,.35)}
.video-terminal-bar{min-height:40px;padding:0 12px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-bottom:1px solid rgba(194,181,198,.22);background:#211b24;color:#8f8494;font:700 7px/1.2 "Press Start 2P",ui-monospace,monospace}.video-terminal-bar>span{display:flex;gap:6px}.video-terminal-bar i{display:block;width:8px;height:8px;border-radius:50%;background:#ff665c}.video-terminal-bar i:nth-child(2){background:#f4d35e}.video-terminal-bar i:nth-child(3){background:var(--green)}.video-terminal-bar b{text-align:left}.video-terminal-bar em{color:var(--green);font-style:normal}
.video-terminal-body{padding:22px;min-width:0}.video-terminal-prompt{margin-bottom:18px;color:#d9cedc;font:700 10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.video-terminal-prompt span{color:var(--green)}.terminal-video-layout .featured-video-meta{margin-bottom:14px}.terminal-video-layout .featured-video-copy h3{margin:0 0 14px;color:var(--cream);font:400 14px/1.55 "Press Start 2P",ui-monospace,monospace}.terminal-video-layout .featured-video-copy p{color:#c8bccb;font:400 13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.terminal-video-layout .video-safety{padding:12px;border-left:2px solid var(--orange);background:rgba(255,113,56,.06);color:#b9adbD}.terminal-video-layout .btn{width:100%;margin-top:8px}.video-terminal-cursor{display:flex;align-items:center;gap:8px;margin-top:17px;color:var(--green);font:700 12px/1 ui-monospace,monospace}.video-terminal-cursor i{width:8px;height:15px;background:var(--green);animation:video-terminal-blink 1s steps(1,end) infinite}@keyframes video-terminal-blink{50%{opacity:0}}
@media(max-width:900px){.featured-video.terminal-video-layout{grid-template-columns:1fr}.terminal-video-layout .featured-video-copy{order:1}.terminal-video-layout .featured-video-frame{order:2;min-height:0;padding:12px;border-left:0;border-top:1px solid var(--border)}.video-terminal-body{padding:18px}}
@media(prefers-reduced-motion:reduce){.video-terminal-cursor i{animation:none}}

/* CV matches Videos; topology and game titles are exactly 50% smaller. */
.cv-panel h3{font:400 clamp(29px,3.5vw,49px)/1.3 "Press Start 2P",ui-monospace,monospace;letter-spacing:-.025em}
.topology-head h2,.quest-heading h2{font:400 clamp(14.5px,1.75vw,24.5px)/1.4 "Press Start 2P",ui-monospace,monospace;letter-spacing:-.025em}
/* Hero name is 10% smaller with clearer separation between lines. */
.hero-name{font-size:clamp(35px,4.4vw,59px);line-height:1;display:grid;gap:14px}
@media(max-width:700px){.cv-panel h3{font-size:30px;line-height:1.35}.topology-head h2,.quest-heading h2{font-size:15px;line-height:1.45}.hero-name{gap:11px}}

/* Wider framed topology with OpenClaw + Hermes on VPS 2. */
.topology-server.openclaw{grid-template-columns:82px minmax(0,1fr)}.vps-agent-logos{width:78px;height:58px;display:flex;align-items:center;gap:4px}.vps-agent-logos img{display:block;width:37px;height:52px;object-fit:contain}.vps-agent-logos .molty-live{filter:drop-shadow(0 0 8px rgba(255,79,64,.42))}.vps-agent-logos .hermes-vps-logo{object-fit:cover;object-position:top;border:1px solid rgba(114,230,225,.45);background:#17131a}
@media(min-width:1001px){.topology-section>.wrap{width:min(1480px,calc(100% - 32px))}.topology-layout{grid-template-columns:minmax(0,1.85fr) minmax(380px,.75fr);gap:16px;padding:16px;background:#100d12}.topology-layout:has(.topology-inspector.agents-visible){grid-template-columns:minmax(0,1.6fr) minmax(430px,.85fr)}.topology-stage{border:1px solid var(--border2)}.topology-inspector{border:1px solid var(--border2);box-shadow:inset 0 0 42px rgba(0,0,0,.2),0 12px 34px rgba(0,0,0,.22)}.topology-inspector>p:not(.inspector-eyebrow):not(.topology-disclaimer){padding-left:12px;border-left:2px solid rgba(114,230,225,.45)}.topology-inspector>.inspector-block{padding:13px;border:1px solid rgba(104,90,112,.72);background:rgba(15,11,18,.2)}}

/* Compact factual inspector and full-width agent workspace. */
.inspector-brand.multi-brand{height:72px;gap:12px}.inspector-brand.multi-brand img{width:62px;height:62px;max-width:62px;max-height:62px;object-fit:contain}.inspector-brand.agent-brands .hermes-inspector{object-fit:cover;object-position:top;border:1px solid rgba(114,230,225,.42);background:#17131a}.inspector-brand.pc-brands .omarchy-inspector{width:112px;max-width:112px;filter:invert(1)}.inspector-brand.pc-brands .windows-inspector{width:92px;max-width:92px}.topology-shell>.topology-agent-panel{margin:0;padding:24px;border-top:1px solid rgba(255,79,64,.35);background:linear-gradient(145deg,#17131a,#100d12)}.topology-shell>.topology-agent-panel .agent-panel-heading{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(0,1.55fr);column-gap:24px;align-items:end}.topology-shell>.topology-agent-panel .agent-panel-heading>span,.topology-shell>.topology-agent-panel .agent-panel-heading h4{grid-column:1}.topology-shell>.topology-agent-panel .agent-panel-heading p{grid-column:2;grid-row:1/3;margin:0}.topology-shell>.topology-agent-panel .topology-agent-chats.dual-chat-stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.topology-shell>.topology-agent-panel .topology-agent-chats .chat-log{height:170px}@media(min-width:1001px){.topology-layout:has(.topology-inspector.agents-visible){grid-template-columns:minmax(0,1.85fr) minmax(380px,.75fr)}.topology-inspector{padding:22px 20px}.inspector-brand{margin:18px 0 13px}.topology-inspector>p:not(.inspector-eyebrow):not(.topology-disclaimer){margin-bottom:15px}.inspector-facts{margin-bottom:14px}.inspector-block{margin-top:13px}.evidence-terminal{min-height:108px}}@media(max-width:700px){.inspector-brand.multi-brand{height:auto;min-height:62px;flex-wrap:wrap}.topology-shell>.topology-agent-panel{padding:18px}.topology-shell>.topology-agent-panel .agent-panel-heading{display:block}.topology-shell>.topology-agent-panel .agent-panel-heading p{margin-bottom:14px}.topology-shell>.topology-agent-panel .topology-agent-chats.dual-chat-stage{grid-template-columns:1fr}}

/* 2026 clean professional pass: compact type, clearer small text, softer frames. */
:root{--soft-line:rgba(194,181,198,.22);--soft-line-strong:rgba(194,181,198,.34);--surface:rgba(32,26,36,.72)}
body{font-size:16px;line-height:1.65;text-shadow:none}
.hero{min-height:520px;gap:56px;padding:52px 0 58px}
.hero-name{font-size:clamp(29px,3.55vw,47px);gap:11px;margin:12px 0 24px}
.hero-name span{text-shadow:0 1px 0 #8f8993,0 4px 0 #514c56,0 9px 15px rgba(5,3,7,.55)}
.hero .lead{font-family:Arial,"Helvetica Neue",sans-serif;font-size:17px;line-height:1.65;letter-spacing:0;max-width:560px;color:#d7cdd9}
.hero-map-label,.micro,.kicker{font-size:11px;line-height:1.5;letter-spacing:.12em}
.hero-map-stop{padding:14px 10px 13px}.hero-map-stop>span{font-size:9px}.hero-map-stop strong,.hero-map-stop.linux strong{font-size:13px;letter-spacing:.08em}.hero-map-stop code{font-size:11px}
header{height:68px}.brand{font-size:9px}header nav a,.nav-cv{font-size:9px;padding:0 11px}
.section{padding:72px 0}.head{margin-bottom:30px;align-items:center}.head h2,.topology-head h2,.quest-heading h2{font-size:clamp(16px,2vw,26px);line-height:1.45;letter-spacing:-.02em}.copy,.quest-heading p{font-size:15px;line-height:1.65;max-width:430px}
.btn{min-height:44px;border-radius:8px;border-color:var(--soft-line-strong);font-size:10px}.filter{border-radius:999px;border-color:var(--soft-line);font-size:10px}.actions{gap:9px}
.passport-visual,.project,.project-video-panel,.featured-video,.terminal-video-layout .featured-video-frame,.journey-panel,.cv-panel,.topology-shell,.topology-stage,.topology-inspector,.packet-quest,.quest-launch,.quest-card,.quest-ending,.dialog,.agent-chat,.chat-launch,.chat-panel{border-color:var(--soft-line)!important;border-radius:12px;overflow:hidden}
.project,.featured-video,.journey-panel,.cv-panel,.topology-shell,.packet-quest{background:linear-gradient(145deg,rgba(42,34,46,.86),rgba(29,24,33,.88));box-shadow:0 18px 42px rgba(8,5,10,.18)}
.project-grid{gap:18px}.project{min-height:330px}.project-visual{height:140px;flex-basis:140px}.project-body{padding:20px}.project-body p{font-size:14px;line-height:1.65}
.topology-layout{gap:18px!important;padding:18px!important}.topology-inspector{box-shadow:0 18px 42px rgba(0,0,0,.2)!important}.topology-inspector>.inspector-block{border-color:var(--soft-line)!important;border-radius:8px}.topology-device,.topology-hub,.topology-server,.topology-service-hub,.topology-service-extension{border-color:var(--soft-line)!important;border-radius:10px}
.cv-panel{padding:30px}.cv-panel h3{font-size:clamp(20px,2.6vw,34px);line-height:1.35}.cv-panel p{font-size:15px}
.foot{font-size:10px}.quick-shell{display:none}
#skills .head h2,#projects .head h2,#videos .head h2{font-size:clamp(16px,2vw,22px);line-height:1.45;white-space:normal}
@media(max-width:700px){body{font-size:15px}.hero{padding:38px 0 44px;gap:32px}.hero-name{font-size:31px;gap:8px}.hero .lead{font-size:15px;line-height:1.65}.section{padding:56px 0}.head h2,.topology-head h2,.quest-heading h2,#skills .head h2,#projects .head h2,#videos .head h2{font-size:18px;line-height:1.45;white-space:normal}.copy,.quest-heading p{font-size:14px}.hero-map-label,.micro,.kicker{font-size:10px}.cv-panel{padding:22px}.cv-panel h3{font-size:22px}.project-grid{gap:14px}.mobile-dock{gap:3px;padding:5px;border:1px solid var(--soft-line-strong);border-radius:12px;background:rgba(25,20,28,.96);box-shadow:0 12px 30px rgba(0,0,0,.38)}.mobile-dock a{min-width:0;padding:7px 1px;border:1px solid transparent;border-radius:7px;font-size:6.6px;line-height:1.25;letter-spacing:0}.mobile-dock a:focus-visible,.mobile-dock a:hover{border-color:var(--soft-line-strong);background:rgba(255,255,255,.04)}}

/* PC 1: two explicit monitors for the dual-boot systems. */
.topology-device-left.topology-pc{width:290px}.pc-monitor-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:238px}.pc-monitor-pair .pc-monitor{width:auto}.pc-monitor-pair .pc-screen{height:62px;padding:9px}.pc-monitor-pair .pc-screen img{max-height:25px}.pc-monitor-pair .omarchy-screen img{width:82px;filter:invert(1)}.pc-monitor-pair .windows-screen img{width:82px}.pc-monitor-pair .pc-monitor>small{display:block;margin-top:4px;color:var(--cyan);font:700 6.8px/1.2 ui-monospace,monospace;letter-spacing:.08em;text-align:center}
@media(max-width:1120px) and (min-width:701px){.topology-device-left.topology-pc{width:250px}.pc-monitor-pair{width:208px;gap:8px}.pc-monitor-pair .pc-screen img{max-width:72px}}
@media(max-width:700px){.topology-device.topology-pc{grid-template-columns:190px 1fr}.pc-monitor-pair{width:190px;gap:7px}.pc-monitor-pair .pc-screen{height:54px;padding:7px}.pc-monitor-pair .pc-screen img{max-width:66px;max-height:22px}}
@media(max-width:430px){.topology-device.topology-pc{grid-template-columns:1fr}.pc-monitor-pair{width:210px;margin:auto}}

/* Brown career-passport cover: the only public CV access point. */
.passport-visual{background:linear-gradient(145deg,rgba(19,14,20,.82),rgba(42,31,37,.72));padding:18px}
.passport-cover{position:relative;display:block;width:100%;aspect-ratio:1.55/1;padding:16px;border:1px solid #a77b4b;border-radius:8px;background:radial-gradient(circle at 22% 18%,rgba(255,224,177,.08),transparent 24%),radial-gradient(circle at 76% 78%,rgba(19,8,4,.2),transparent 28%),repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px),linear-gradient(145deg,#5a3425,#4a2b20 55%,#382017);color:#e5c58e;box-shadow:inset 0 0 0 2px rgba(39,20,11,.52),inset 0 0 34px rgba(20,8,4,.4),0 18px 36px rgba(5,3,7,.34);cursor:pointer;text-align:center;overflow:hidden}
.passport-cover:before{content:"";position:absolute;inset:8px;border:1px solid rgba(229,197,142,.54);border-radius:4px;pointer-events:none}.passport-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 42%,rgba(255,255,255,.08) 49%,transparent 56%);transform:translateX(-130%);transition:transform .7s ease;pointer-events:none}.passport-cover:hover:after,.passport-cover:focus-visible:after{transform:translateX(130%)}.passport-cover:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.passport-cover-frame{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;border:1px solid rgba(229,197,142,.28)}.passport-cover-kicker{position:absolute;top:19px;color:#f0d6a7;font:700 9px/1.2 "Press Start 2P",ui-monospace,monospace;letter-spacing:.14em}.passport-cover-flag{position:absolute;right:18px;top:16px;display:flex;width:30px;height:20px;border:1px solid rgba(240,214,167,.55);box-shadow:0 2px 5px rgba(20,8,4,.35)}.passport-cover-flag i{flex:1}.passport-cover-flag i:nth-child(1){background:#002B7F}.passport-cover-flag i:nth-child(2){background:#FCD116}.passport-cover-flag i:nth-child(3){background:#CE1126}.passport-cover-mark{display:grid;place-items:center;width:76px;height:76px;margin-bottom:15px;border:2px solid #d4ae6d;border-radius:50%;box-shadow:0 0 0 5px rgba(212,174,109,.12),inset 0 0 18px rgba(212,174,109,.14);font:400 21px/1 "Press Start 2P",ui-monospace,monospace}.passport-cover strong{color:#f3d9aa;font:400 clamp(18px,2.25vw,29px)/1.45 "Press Start 2P",ui-monospace,monospace;letter-spacing:.08em;text-shadow:0 2px 2px rgba(25,10,5,.65)}.passport-cover-route{margin-top:13px;color:#cda968;font:700 8px/1.4 ui-monospace,monospace;letter-spacing:.1em}.passport-cover-status{margin-top:17px;padding:7px 10px;border-top:1px solid rgba(229,197,142,.32);border-bottom:1px solid rgba(229,197,142,.32);color:#f0d6a7;font:800 8px/1.3 ui-monospace,monospace;letter-spacing:.11em}.passport-cover-action{position:absolute;bottom:18px;color:#fff2d7;font:800 9px/1.3 ui-monospace,monospace;letter-spacing:.11em}.hero-passport figcaption{margin-top:13px;color:#c8b58f;letter-spacing:.1em}
@media(max-width:700px){.passport-visual{padding:12px}.passport-cover{min-height:300px;aspect-ratio:auto}.passport-cover-frame{padding:18px 12px}.passport-cover-mark{width:62px;height:62px;font-size:17px}.passport-cover strong{font-size:17px}.passport-cover-route{font-size:7px}.passport-cover-status{font-size:7px}.passport-cover-action{font-size:8px}.mobile-dock{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.passport-cover:after{display:none}}
.passport-visual .passport-cover-photo{display:block;width:76px;height:76px;flex:0 0 76px;margin-bottom:15px;border:2px solid #d4ae6d;border-radius:50%;object-fit:cover;object-position:center 24%;filter:none;box-shadow:0 0 0 5px rgba(212,174,109,.12),inset 0 0 18px rgba(212,174,109,.14)}
@media(max-width:700px){.passport-visual .passport-cover-photo{width:62px;height:62px;flex-basis:62px}}

/* Clear CV access action and balanced framed video presentation. */
.passport-open .passport-access-button{margin:16px auto 0;text-align:center}
.passport-access-button{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;width:min(100%,360px);min-height:58px;padding:10px 18px;border:1px solid #79ffd2;border-radius:9px;background:var(--green);color:#05120e;box-shadow:0 0 0 3px rgba(54,255,178,.1),0 12px 28px rgba(0,0,0,.28);font:800 11px/1.25 "Press Start 2P",ui-monospace,monospace;letter-spacing:.07em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.passport-access-button span{font-size:18px;line-height:1}.passport-access-button small{flex-basis:100%;color:#12372c;font:800 7px/1.25 ui-monospace,monospace;letter-spacing:.12em}.passport-access-button:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 0 0 4px rgba(54,255,178,.14),0 16px 34px rgba(0,0,0,.34)}.passport-access-button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.terminal-video-layout{grid-template-columns:minmax(285px,.76fr) minmax(0,1.24fr);align-items:stretch}.terminal-video-layout .featured-video-copy{order:1}.video-stage-shell{order:2;display:flex;min-width:0;flex-direction:column;padding:14px;border-left:1px solid rgba(86,224,255,.28);background:linear-gradient(150deg,#071827,#0a2032 58%,#071522)}
.video-stage-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding:0 4px 12px;color:#d9f8ff;font:800 8px/1.35 "Press Start 2P",ui-monospace,monospace;letter-spacing:.07em}.video-stage-top span:before{content:"●";margin-right:9px;color:var(--red);text-shadow:0 0 10px rgba(255,100,118,.65)}.video-stage-top strong{color:var(--green);font-size:7px;text-align:right}
.terminal-video-layout .video-stage-shell .featured-video-frame{order:initial;width:100%;min-height:0;aspect-ratio:16/9;border:1px solid rgba(86,224,255,.34)!important;border-radius:8px!important;background:#030b12;box-shadow:0 14px 34px rgba(0,0,0,.34)}
.video-stage-bottom{display:grid;gap:12px;padding:14px 4px 1px}.video-stage-bottom .video-topics{margin:0}.video-stage-bottom .video-topics li{background:rgba(8,29,44,.82);border-color:rgba(86,224,255,.2);color:#cfeef4}.video-stage-bottom .video-safety{margin:0;border-left-color:var(--green);background:rgba(54,255,178,.06);color:#a8c3c9}
@media(max-width:850px){.terminal-video-layout{grid-template-columns:1fr}.video-stage-shell{border-top:1px solid rgba(86,224,255,.28);border-left:0}.video-stage-top{flex-wrap:wrap}}
@media(max-width:700px){.passport-access-button{min-height:54px;font-size:9px}.video-stage-shell{padding:10px}.video-stage-top{padding:2px 2px 10px;font-size:7px}.video-stage-bottom{padding:12px 2px 2px}}
@media(prefers-reduced-motion:reduce){.passport-access-button{transition:none}}

/* Section 02 only: larger support text and compact inspector. */
.topology-section{--topology-small-scale:1.2}
.topology-section .topology-toolbar{font-size:9.24px}
.topology-section .topology-stage:before{font-size:9.24px}
.topology-section .pc-monitor-pair .pc-monitor>small{font-size:8.16px}
.topology-section .pc-label small{font-size:8.88px}
.topology-section .topology-hub small{font-size:9.24px}
.topology-section .server-number{font-size:8.4px}
.topology-section .server-copy small{font-size:8.16px}
.topology-section .server-services em{font-size:8.04px}
.topology-section .service-hub-head small{font-size:8.16px}
.topology-section .topology-service-extension b{font-size:7.56px}
.topology-section .inspector-kicker,.topology-section .inspector-eyebrow,.topology-section .inspector-block>span{font-size:9.24px}
.topology-section .inspector-tags b,.topology-section .inspector-links a,.topology-section .inspector-links b{font-size:9.24px}
.topology-section .evidence-terminal:before{font-size:8.16px}
.topology-section .evidence-terminal code{font-size:9.84px}
.topology-section .guardians-live-status>div>*{font-size:8.64px}
.topology-section .topology-boundaries span{font-size:9.24px}
.topology-section .topology-inspector{height:760px;min-height:760px;padding:18px;display:flex;flex-direction:column;gap:11px;overflow:hidden}
.topology-section .inspector-overview{display:grid;grid-template-columns:74px minmax(0,1fr);grid-template-areas:"status status" "brand heading";gap:9px 13px;align-items:center}
.topology-section .inspector-overview .inspector-kicker{grid-area:status}.topology-section .inspector-overview .inspector-brand{grid-area:brand;height:68px;margin:0}.topology-section .inspector-overview .inspector-heading{grid-area:heading;min-width:0}
.topology-section .inspector-overview .inspector-brand img{max-width:68px;max-height:68px}.topology-section .inspector-overview .inspector-brand.multi-brand{height:64px;gap:6px}.topology-section .inspector-overview .inspector-brand.multi-brand img{width:52px;height:52px;max-width:52px;max-height:52px}.topology-section .inspector-overview .inspector-brand.pc-brands .omarchy-inspector{width:86px;max-width:86px}.topology-section .inspector-overview .inspector-brand.pc-brands .windows-inspector{width:66px;max-width:66px}
.topology-section .inspector-heading .inspector-eyebrow{margin:0 0 6px}.topology-section .inspector-heading h3{margin:0 0 7px;line-height:1.45}.topology-section .inspector-heading>p:last-child{margin:0;color:#c8bccb;font-size:12.5px;line-height:1.48}
.topology-section .topology-inspector>.inspector-block{margin:0;padding:10px}.topology-section .inspector-console .evidence-terminal{min-height:96px;padding:33px 12px 10px}.topology-section .inspector-compact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.topology-section .inspector-compact-grid .inspector-block{min-width:0;margin:0;padding:10px;border:1px solid var(--soft-line);border-radius:8px;background:rgba(15,11,18,.2)}.topology-section .inspector-links-block{grid-column:1/-1}.topology-section .inspector-links-block[hidden]{display:none}.topology-section .inspector-tags{gap:5px}.topology-section .inspector-tags b,.topology-section .inspector-links a,.topology-section .inspector-links b{padding:6px 7px}
.topology-section .guardians-live-status{padding:10px!important}.topology-section .guardians-live-status>div>*{padding:6px}.topology-section .topology-public-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.topology-section .topology-public-actions .btn{width:100%;min-height:38px;padding:0 8px;font-size:8px;text-align:center}.topology-section .topology-disclaimer{margin:auto 0 0;padding-top:8px;font-size:9px;line-height:1.4}
.topology-section .topology-agent-panel{margin:0 18px 18px;padding:16px;border:1px solid var(--soft-line);border-radius:10px;background:linear-gradient(145deg,#17131a,#100d12)}.topology-section .topology-agent-panel .agent-panel-heading{grid-template-columns:minmax(170px,.42fr) minmax(0,1.58fr);column-gap:18px}.topology-section .topology-agent-panel .agent-panel-heading h4{margin:6px 0 0}.topology-section .topology-agent-panel .agent-panel-heading p{font-size:12px;line-height:1.45}.topology-section .topology-agent-panel .topology-agent-chats.dual-chat-stage{gap:10px;margin-top:12px}.topology-section .topology-agent-chats .chat-launch,.topology-section .topology-agent-chats .agent-chat.is-open .chat-launch{height:80px!important;grid-template-columns:54px minmax(0,1fr) auto!important;padding:6px 8px!important}.topology-section .topology-agent-chats .chat-launch-portrait,.topology-section .topology-agent-chats .agent-chat.is-open .chat-launch-portrait{width:54px!important;height:64px!important}.topology-section .topology-agent-chats .chat-log{height:150px}
@media(max-width:1000px){.topology-section .topology-inspector{height:auto;min-height:0;overflow:visible}.topology-section .inspector-overview{grid-template-columns:74px minmax(0,1fr)}.topology-section .topology-agent-panel{margin:0 14px 14px}}
@media(max-width:700px){.topology-section .topology-inspector{display:flex;padding:16px}.topology-section .inspector-overview{grid-template-columns:62px minmax(0,1fr)}.topology-section .inspector-overview .inspector-brand{height:58px}.topology-section .inspector-overview .inspector-brand img{max-width:58px;max-height:58px}.topology-section .inspector-compact-grid{grid-template-columns:1fr}.topology-section .inspector-links-block{grid-column:auto}.topology-section .topology-public-actions{grid-template-columns:1fr}.topology-section .topology-agent-panel{padding:13px}.topology-section .topology-agent-panel .agent-panel-heading{display:block}.topology-section .topology-agent-panel .topology-agent-chats.dual-chat-stage{grid-template-columns:1fr}.topology-section .topology-agent-chats .chat-log{height:140px}}

/* Focused terminal-style brand layout for PC 1 and VPS 2. */
.topology-inspector[data-node="dualboot"] .inspector-overview,.topology-inspector[data-node="openclaw"] .inspector-overview{grid-template-columns:1fr;grid-template-areas:"status" "heading" "brand";gap:8px}
.topology-inspector[data-node="dualboot"] .inspector-heading,.topology-inspector[data-node="openclaw"] .inspector-heading{width:100%}
.topology-inspector[data-node="dualboot"] .inspector-heading .inspector-eyebrow,.topology-inspector[data-node="openclaw"] .inspector-heading .inspector-eyebrow{margin:0;color:var(--cyan)}
.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands{position:relative;width:100%;height:112px;margin:0;padding:25px 14px 12px;display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid rgba(114,230,225,.35);border-radius:8px;background-color:#0a1016;background-image:linear-gradient(rgba(114,230,225,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(114,230,225,.055) 1px,transparent 1px);background-size:18px 18px;box-shadow:inset 0 0 28px rgba(0,0,0,.55)}
.topology-inspector[data-node="openclaw"] .inspector-brand.agent-brands{position:relative;width:100%;height:112px;margin:0;padding:25px 14px 12px;display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid rgba(114,230,225,.35);border-radius:8px;background-color:#0a1016;background-image:linear-gradient(rgba(114,230,225,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(114,230,225,.055) 1px,transparent 1px);background-size:18px 18px;box-shadow:inset 0 0 28px rgba(0,0,0,.55)}
.topology-inspector[data-node="dualboot"] .inspector-brand:before,.topology-inspector[data-node="openclaw"] .inspector-brand:before{content:"SYSTEM IDENTITIES";position:absolute;left:12px;top:8px;color:#6e8790;font:800 7.5px/1 ui-monospace,monospace;letter-spacing:.12em}
.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands .omarchy-inspector{width:132px;height:66px;max-width:132px;max-height:66px;padding:10px;border:0;border-radius:6px;background:transparent;filter:invert(55%) sepia(94%) saturate(2476%) hue-rotate(338deg) brightness(102%) contrast(101%) drop-shadow(0 0 7px rgba(255,113,56,.28))}
.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands .windows-inspector{width:104px;height:66px;max-width:104px;max-height:66px;padding:10px;border:1px solid rgba(114,230,225,.22);border-radius:6px;background:#111820;object-fit:contain}
.topology-inspector[data-node="openclaw"] .inspector-brand.agent-brands img{width:76px;height:70px;max-width:76px;max-height:70px;padding:7px;border:1px solid rgba(114,230,225,.22);border-radius:6px;background:#111820;object-fit:contain}.topology-inspector[data-node="openclaw"] .inspector-brand.agent-brands .hermes-inspector{object-position:top}
.topology-section .inspector-node-note{padding:12px 13px;border:1px solid rgba(114,230,225,.28);border-left:3px solid var(--cyan);border-radius:8px;background:linear-gradient(135deg,rgba(114,230,225,.09),rgba(10,16,22,.86));box-shadow:inset 0 0 22px rgba(0,0,0,.24)}.topology-section .inspector-node-note[hidden]{display:none}.topology-section .inspector-node-note strong{display:block;margin-bottom:7px;color:var(--cyan);font:400 9px/1.4 "Press Start 2P",ui-monospace,monospace}.topology-section .inspector-node-note p{margin:0;color:#d8e6e8;font:700 13px/1.52 ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:700px){.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands,.topology-inspector[data-node="openclaw"] .inspector-brand.agent-brands{height:106px}.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands .omarchy-inspector{width:118px;max-width:118px}.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands .windows-inspector{width:90px;max-width:90px}.topology-inspector[data-node="openclaw"] .inspector-brand.agent-brands img{width:68px;max-width:68px}}

/* Compact professional pass: smaller frames, clear text, modal agents. */
body{font-size:15px}
header{height:62px}.section{padding:58px 0}.head{margin-bottom:24px}.head h2,.topology-head h2,.quest-heading h2{font-size:clamp(15px,1.7vw,22px)}
.btn{min-height:40px;padding:0 14px;border-radius:6px}.filter{min-height:38px;padding:0 12px}.project{min-height:300px}.project-visual{height:128px;flex-basis:128px}.project-body{padding:17px}
.topology-section .topology-toolbar{min-height:44px;font-size:9px}.topology-section .topology-stage{height:680px}.topology-section .topology-layout{min-height:680px}.topology-section .topology-inspector{height:680px;min-height:680px;padding:15px;gap:9px}
.topology-section .topology-device.topology-pc{top:38px;min-height:130px;padding:10px 12px}.topology-section .topology-hub{top:190px;height:96px}.topology-section .topology-servers{top:315px;gap:10px}.topology-section .topology-server{min-height:140px;padding:27px 13px 13px}.topology-section .topology-service-hub{top:495px;min-height:124px}
.topology-section .server-copy small{font-size:8px}.topology-section .server-services em{font-size:8px}.topology-section .inspector-block>span{font-size:9px}.topology-section .evidence-terminal{min-height:90px}.topology-section .evidence-terminal code{font-size:10px;line-height:1.65}.topology-section .topology-boundaries span{font-size:9px}
.pc-kali-badge{display:flex;align-items:center;gap:6px;margin-top:-2px;padding:3px 8px;border:1px solid rgba(57,169,219,.28);border-radius:999px;background:rgba(5,19,28,.7)}.pc-kali-badge img{width:22px;height:14px;object-fit:contain}.pc-kali-badge small{color:#58b9e8;font:700 7px/1 ui-monospace,monospace;letter-spacing:.08em}
.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands{height:96px;padding:23px 10px 10px;gap:9px}.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands .omarchy-inspector{width:100px;height:56px;max-width:100px;max-height:56px}.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands .windows-inspector{width:72px;height:56px;max-width:72px;max-height:56px}.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands .kali-inspector{width:66px;height:56px;max-width:66px;max-height:56px;padding:7px;border:1px solid rgba(57,169,219,.25);border-radius:6px;background:#0b1821;object-fit:contain}
.topology-agent-launchers[hidden],.topology-agent-modal[hidden]{display:none!important}.agent-orbs{display:flex;gap:12px}.agent-orb{width:82px;padding:7px 5px;border:1px solid rgba(247,238,228,.14);border-radius:12px;background:#111016;color:var(--cream);cursor:pointer;text-align:center;transition:transform .18s ease,border-color .18s ease,background .18s ease}.agent-orb img{display:block;width:46px;height:46px;margin:0 auto 5px;border-radius:50%;object-fit:contain;background:#09080c}.agent-orb b,.agent-orb small{display:block}.agent-orb b{font:700 7px/1.25 ui-monospace,monospace}.agent-orb small{margin-top:3px;color:var(--muted);font:700 6px/1.2 ui-monospace,monospace}.agent-orb:hover,.agent-orb:focus-visible{transform:translateY(-3px) scale(1.04);border-color:var(--cyan);background:#18151d;outline:none}.bosulica-orb:hover,.bosulica-orb:focus-visible{border-color:#ff6d73}
.agent-modal-open{overflow:hidden}.topology-agent-modal{position:fixed;z-index:180;inset:0;display:grid;place-items:center;padding:24px;background:rgba(5,4,8,.88);backdrop-filter:blur(10px)}.topology-agent-dialog{position:relative;width:min(590px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid rgba(247,238,228,.16);border-radius:14px;background:linear-gradient(145deg,#17131b,#0d0b10);box-shadow:0 30px 90px rgba(0,0,0,.62)}.topology-agent-close{position:absolute;right:14px;top:14px;z-index:3;width:34px;height:34px;border:1px solid rgba(247,238,228,.18);border-radius:9px;background:#211b25;color:var(--cream);font-size:22px;cursor:pointer}.agent-modal-heading{padding-right:44px}.agent-modal-heading>span{color:var(--green);font:700 8px/1.3 ui-monospace,monospace;letter-spacing:.12em}.agent-modal-heading h4{margin:7px 0 6px;font:500 18px/1.3 Arial,"Helvetica Neue",sans-serif}.agent-modal-heading p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}.agent-modal-heading a{color:var(--cyan)}
.topology-agent-modal .topology-agent-chats.dual-chat-stage{display:block;min-height:0;margin:0}.topology-agent-modal .agent-chat,.topology-agent-modal .agent-chat:hover,.topology-agent-modal .agent-chat:focus-within,.topology-agent-modal .agent-chat.is-open{width:100%!important;max-width:none;transform:none!important}.topology-agent-modal .agent-chat[hidden]{display:none!important}.topology-agent-modal .chat-launch{height:82px!important;grid-template-columns:58px minmax(0,1fr)!important;padding:7px 10px!important}.topology-agent-modal .chat-launch-portrait{width:58px!important;height:66px!important}.topology-agent-modal .chat-open-hint{display:none!important}.topology-agent-modal .chat-log{height:210px}
.topology-agent-modal .chat-launch,.topology-agent-modal .chat-close{display:none!important}.topology-agent-modal .chat-panel{border-top:0!important}.topology-section .inspector-heading h3{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:1000px){.topology-section .topology-inspector{height:auto;min-height:0}.topology-section .topology-stage{height:680px}}
@media(max-width:700px){body{font-size:15px}.section{padding:46px 0}.head{margin-bottom:20px}.btn{min-height:40px}.topology-section .topology-stage{height:auto}.topology-section .topology-layout{min-height:0}.topology-section .topology-inspector{height:auto;min-height:0;padding:14px}.topology-section .topology-device.topology-pc{top:auto;min-height:116px}.topology-section .topology-hub{top:auto;height:86px}.topology-section .topology-servers{top:auto}.topology-section .topology-server{min-height:126px}.topology-section .topology-service-hub{top:auto;min-height:0}.topology-inspector[data-node="dualboot"] .inspector-brand.pc-brands{height:94px}.agent-orbs{justify-content:center}.topology-agent-modal{padding:10px}.topology-agent-dialog{max-height:calc(100dvh - 20px);padding:15px}.topology-agent-modal .chat-log{height:190px}}
/* Final compact type scale. */
body{font-size:14.5px}.hero-name{font-size:clamp(25px,3vw,40px);gap:9px}.hero .lead{font-size:15.5px;line-height:1.65;max-width:540px}.hero-map-label,.micro,.kicker{font-size:9px}.head h2,.topology-head h2,.quest-heading h2{font-size:clamp(13px,1.45vw,19px);line-height:1.5}.copy,.quest-heading p{font-size:14px;line-height:1.6}.cv-panel h3{font-size:clamp(15px,1.6vw,20px)}.project h3{font-size:14px}.video-copy h3{font-size:11.5px}.btn,.filter{font-size:8.5px}.btn{min-height:36px}.filter{min-height:34px}.inspector-heading h3{font-size:13px}.section{padding:52px 0}.head{margin-bottom:21px}
.linkedin-hero-button{gap:8px;min-height:36px;padding:0 13px;border-color:#63a9dc;background:linear-gradient(135deg,#0a66c2,#084f98);color:#fff!important;box-shadow:0 8px 22px rgba(10,102,194,.22);font-family:Arial,"Helvetica Neue",sans-serif;font-size:10px;letter-spacing:.04em}.linkedin-mark{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#fff;color:#0a66c2;font:900 13px/1 Arial,sans-serif}.linkedin-hero-button:hover,.linkedin-hero-button:focus-visible{border-color:#a8d7ff;background:linear-gradient(135deg,#1678d2,#0a66c2);color:#fff;box-shadow:0 10px 28px rgba(10,102,194,.38);transform:translateY(-2px)}
@media(max-width:700px){body{font-size:14px}.hero-name{font-size:25px}.hero .lead{font-size:14.5px}.head h2,.topology-head h2,.quest-heading h2{font-size:15px}.copy,.quest-heading p{font-size:13.5px}.cv-panel h3{font-size:18px}.section{padding:42px 0}}
@media(max-width:620px){.hero .actions .linkedin-hero-button{grid-column:1/-1;font-size:9px}}
@media(prefers-reduced-motion:reduce){.agent-orb{transition:none}}
