:root{--cw-canvas:#080c13;--cw-surface:#101923;--cw-ink:#e9eef5;--cw-ink-soft:#9ba9b9;--cw-accent:#73dfed;--cw-accent-ink:#080c13;--cw-font-display:Arial,Helvetica,sans-serif;--cw-font-text:Arial,Helvetica,sans-serif;--cyan:#73dfed;--violet:#af95ff;--muted:#9ba9b9;--line:rgba(161,199,224,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#080c13;color:#e9eef5;font-family:Arial,Helvetica,sans-serif;isolation:isolate}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:7px}button:disabled{cursor:default}p{line-height:1.7}h1,h2,h3,p{margin:0}.mono{font:10px/1.7 'Courier New',monospace;letter-spacing:.12em}.background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#080c13}.grid-plane{position:absolute;inset:0;background-image:linear-gradient(#688dab09 1px,transparent 1px),linear-gradient(90deg,#688dab09 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(transparent,#000 35%,#000)}.ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 49%,#16485930,transparent 54%),radial-gradient(ellipse at 90% 80%,#61428716,transparent 50%)}.gear-scene{position:absolute;top:29%;left:50%;width:min(640px,70vw);transform:translateX(-50%);opacity:.82;will-change:transform,opacity}.gear-scene img{width:100%;height:auto;filter:drop-shadow(0 22px 32px #000);display:block}.orbit{position:absolute;inset:9% 11%;border:1px solid #72deee27;border-radius:50%;transform:rotateX(55deg) rotate(-25deg)}#particles{position:absolute;inset:0;width:100%;height:100%}#hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s}.video-ready #hero-video{opacity:1}.video-ready .gear-scene,.video-ready #particles{opacity:0!important}.blueprint .gear-scene img{filter:brightness(1.3) saturate(1.8);opacity:.72}.site-header{height:90px;position:absolute;inset:0 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);z-index:5}.brand{display:flex;align-items:center;font-size:18px;font-weight:700;letter-spacing:-.8px}.brand>span:not(.brand-symbol){color:var(--muted)}.brand-symbol{font-size:24px;margin-right:16px;letter-spacing:-5px;color:var(--cyan);width:29px}.brand-symbol span{font-size:20px}.site-header nav{display:flex;gap:36px;font-size:12px;color:#b2bccb}.site-header nav a:hover{color:var(--cyan)}.site-header nav span{padding-left:7px;color:var(--cyan)}.header-note{color:#8396a9}.header-note i,.core-top i{display:inline-block;width:5px;height:5px;background:var(--cyan);border-radius:50%;margin-right:8px}.hero{min-height:850px;height:100svh;position:relative;margin:0 5%;padding-top:145px}.hero-heading{text-align:center;position:relative;z-index:1}.hero-kicker{color:#93a9b8;font-size:9px;letter-spacing:.24em}.hero-kicker span{display:inline-block;width:22px;height:1px;background:var(--cyan);vertical-align:middle;margin-right:10px}h1{font-size:clamp(74px,10vw,148px);font-weight:500;letter-spacing:-.075em;line-height:1.13;margin-top:18px}h1 span{color:#bccad7}.hero-tagline{font-size:12px;letter-spacing:.43em;color:#b7c6d4;margin-top:18px}.hero-meta{position:absolute;bottom:24%;left:0;right:0;display:flex;justify-content:space-between;color:#698393;font-size:9px}.hero-meta b{font-weight:400;color:#a7bbc8}.axis{align-self:end}.axis span{font-size:24px;margin-left:25px;color:var(--cyan)}.hero-bottom{position:absolute;bottom:38px;left:0;right:0;display:flex;align-items:center;gap:24px}.scroll-cue{font-size:10px;color:#b6c3d1;display:flex;align-items:center;gap:12px;margin-right:auto}.mouse{display:inline-block;width:15px;height:23px;border:1px solid #7f97aa;border-radius:10px;position:relative}.mouse:after{content:'';position:absolute;left:6px;top:5px;width:1px;height:5px;background:var(--cyan)}.mode-button,.motion-button{border:0;background:transparent;padding:10px 0;color:#a0b2c3;font-size:9px}.mode-button span{margin-left:12px;color:var(--cyan)}.scroll-hud{position:fixed;z-index:8;right:19px;top:46%;display:flex;align-items:center;gap:17px;writing-mode:vertical-rl;color:#8cabb8}.scroll-hud .mono{font-size:8px}.progress-track{height:110px;width:1px;background:#54728666}.progress-track i{display:block;height:100%;width:1px;background:var(--cyan);transform:scaleY(0);transform-origin:top}.portfolio{max-width:1280px;margin:auto;padding:100px 70px 80px;scroll-margin-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-label{color:var(--cyan);font-size:9px;margin-bottom:20px}h2{font-size:clamp(32px,4.2vw,58px);font-weight:400;letter-spacing:-.045em;line-height:1.1}h2 span{color:var(--cyan)}.section-heading>p{color:var(--muted);font-size:12px;max-width:310px;padding-bottom:4px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;perspective:1200px}.app-card{min-width:0;border:1px solid var(--line);background:linear-gradient(145deg,#1727339c,#0c141edc);backdrop-filter:blur(20px);border-radius:4px;overflow:hidden;position:relative;box-shadow:0 18px 50px #0002;transform-origin:center top}.card-top{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;color:var(--cyan)}.card-top .mono{font-size:9px}.cross{color:#5e7c8d;font:18px monospace}.app-art{height:230px;display:flex;align-items:center;justify-content:center;color:#76c8da;background-image:linear-gradient(#648da30a 1px,transparent 1px),linear-gradient(90deg,#648da30a 1px,transparent 1px);background-size:24px 24px;margin:0 20px}.app-art svg{width:100%;height:100%;stroke-width:.8}.part-drawing{filter:drop-shadow(0 8px 13px #39b8e122)}.pcb{color:#80d7c8}.card-info{padding:27px 28px 25px;position:relative}.category{font:9px 'Courier New',monospace;letter-spacing:.12em;color:#91a6b7;margin-bottom:11px}h3{font-size:27px;font-weight:400;letter-spacing:-1px}.card-info>p:not(.category){font-size:12px;color:var(--muted);margin-top:9px;padding-right:30px}.app-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:24px;padding-top:17px;font:10px 'Courier New',monospace;color:#b9cbd9}.app-link span:last-child{font-size:20px;color:var(--cyan)}.app-card:hover{border-color:#73dfed70;box-shadow:0 15px 55px #2ca6cf12}.app-link:hover{color:white}.section-foot{display:flex;justify-content:space-between;margin-top:22px;color:#708897;font-size:8px}.connector{color:#507281}.digital{padding-top:110px}.digital .section-label,.digital h2 span{color:var(--violet)}.digital .card-top{color:#b7a3f6}.digital .app-card{background:linear-gradient(145deg,#171e329e,#0c1420e3)}.digital .app-art{height:180px;background:none}.digital .card-info{padding-top:24px}.file-demo{width:78%;border:1px solid #718aa642;border-radius:4px;transform:perspective(700px) rotateY(-9deg) rotateX(5deg);font:10px/1.8 'Courier New',monospace;color:#a0b6cb;background:#121f2c}.file-demo>div{padding:10px;border-bottom:1px solid #738a9e33;font-size:8px}.file-demo b{float:right;color:#698093}.file-demo p{padding:7px 12px;font-size:9px}.file-demo p span{float:right;font-size:8px;color:#718da7}.file-demo .selected{background:#4d98c81a;color:var(--cyan)}.globe{color:#7088b5}.globe .route{stroke:#b39bff;stroke-width:2;stroke-dasharray:5 3}.game-demo{display:grid;grid-template-columns:repeat(6,23px);grid-template-rows:repeat(3,23px);gap:5px;transform:rotate(-14deg) skew(8deg)}.block{border:1px solid #b39bff88;background:#6750a139;box-shadow:5px 7px 0 #36275155}.b0{grid-column:2}.b4{grid-column:2}.b8{grid-column:3}.waveform{height:125px;width:80%;display:flex;align-items:center;justify-content:center;gap:4px}.waveform i{height:var(--h);width:3px;background:#a995eb;border-radius:4px;opacity:.6}.link-status{font:10px/1.7 'Courier New',monospace;color:#8f9fb1;margin-top:22px;min-height:18px}.core{margin:65px auto 0;max-width:1140px;padding:35px 0 0;border-top:1px solid var(--line)}.core-top{display:flex;justify-content:space-between;font-size:9px;color:#8198aa}.core-main{display:flex;justify-content:space-between;gap:50px;margin:55px 0 40px}.core-main h2{font-size:clamp(32px,4vw,52px)}.core-main p{font-size:12px;color:var(--muted)}.contact-link{display:flex;justify-content:space-between;border-bottom:1px solid #5d798b;padding:15px 0;margin-top:10px;font-size:20px;min-width:200px}.contact-link span{color:var(--cyan)}.core-main .contact-status{font-size:10px;padding-top:9px}.stack{display:flex;gap:10px;color:#a0aebd;font-size:8px}.stack span{border:1px solid var(--line);padding:7px 10px;border-radius:3px}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:55px;padding:25px 0;font-size:10px;color:var(--muted)}footer .brand{font-size:15px}.skip-link{position:fixed;top:10px;left:10px;z-index:20;padding:10px;background:#101923;transform:translateY(-160%)}.skip-link:focus{transform:none}.noscript{padding:20px}.app-card:focus-within{opacity:1!important;transform:none!important}@media(hover:hover) and (prefers-reduced-motion:no-preference){.app-art{transition:transform .4s}.app-card:hover .app-art{transform:scale(1.025)}}@media(min-width:1500px){.gear-scene{width:760px;top:28%}}@media(max-width:900px){.header-note{display:none}.site-header{height:78px}.hero{min-height:760px;padding-top:150px}.gear-scene{top:31%;width:620px;max-width:94vw}.portfolio{padding:75px 6%}.core{margin:40px 6% 0}.section-heading>p{max-width:240px}.scroll-hud{right:7px}.hero-meta{bottom:25%}}@media(max-width:600px){.site-header{inset-inline:6%;height:72px}.brand{font-size:16px}.brand-symbol{display:none}.site-header nav{gap:16px;font-size:10px}.site-header nav span{display:none}.hero{margin:0 6%;height:92svh;min-height:640px;padding-top:145px}h1{font-size:clamp(60px,15vw,90px);margin-top:20px}.hero-kicker{font-size:7px;letter-spacing:.14em}.hero-tagline{font-size:8px;letter-spacing:.3em;margin-top:15px}.gear-scene{top:34%;width:110vw;max-width:none}.hero-meta{bottom:22%;font-size:7px}.axis{display:none}.hero-bottom{bottom:22px;gap:12px;flex-wrap:wrap}.scroll-cue{font-size:9px}.mode-button,.motion-button{font-size:7px}.motion-button{margin-left:auto}.scroll-hud{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px;font-size:12px}.cards{grid-template-columns:1fr;gap:20px}.portfolio{padding-top:65px;padding-bottom:35px}.section-label{font-size:8px}h2{font-size:37px}.app-art{height:210px}.card-info{padding:22px}.section-foot{font-size:6px}.connector{display:none}.core-top{font-size:7px}.core-main{display:block;margin:35px 0}.core-main>div{margin-top:28px}.contact-link{max-width:300px}.stack{gap:5px;flex-wrap:wrap}.stack span{font-size:7px}footer{gap:20px;flex-wrap:wrap}footer>span{display:none}.core-main h2{font-size:35px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.app-card{transform:none!important;opacity:1!important}.gear-scene{transform:translateX(-50%)!important}.motion-button{display:none}}

.store-link{display:flex;justify-content:space-between;align-items:center;min-height:44px;margin-top:8px;color:#b7a3f6;font:10px/1.5 "Courier New",monospace}.store-link:hover{color:#e9eef5}

.development-status{border-top:1px solid var(--line);padding-top:18px;margin-top:24px!important;line-height:1.8!important}.development-status .mono{color:#d0b9ff;font-size:9px}.card-info .release-note{font-size:10px!important;color:#a9b6c8;margin-top:10px!important}.development-card .app-art{color:#a894ce}

/* Supplied cinematic media, with localized contrast behind text. */
.media-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-ready .media-poster{opacity:0}.hero-heading{isolation:isolate}.hero-heading:before{content:'';position:absolute;z-index:-1;inset:-32px -20px;background:radial-gradient(ellipse,#080c13e8 15%,#080c1390 52%,transparent 75%);pointer-events:none}.section-heading{position:relative;isolation:isolate}.section-heading:before{content:'';position:absolute;inset:-25px;z-index:-1;background:linear-gradient(90deg,#080c13e8,#080c13b8);border-radius:8px}.site-header{background:#080c13b8;padding-inline:16px}.core{background:#080c13ed;padding:35px 28px 0}.hero-bottom{background:#080c13c9;padding:10px 14px;border-radius:4px}.blueprint .media-poster,.blueprint #hero-video{opacity:0!important}.blueprint .gear-scene{opacity:.82!important}.blueprint #particles{opacity:0!important}@media(max-width:600px){.media-poster,#hero-video{object-fit:contain;background:#080c13}.site-header{padding-inline:0}.core{padding-inline:18px}.hero-heading:before{inset:-20px -10px}.hero-bottom{padding-inline:8px}}

/* Scroll film: the unmodified skill engine owns the sticky stage and playhead. */
.hero{margin:0;min-height:0;height:auto;padding:0}
.hero-shell{position:relative;height:100svh;min-height:640px;margin:0 5%;padding-top:145px}
#hero-video.cw-has-clip{opacity:1}
.hero.cw-has-clip .media-poster{opacity:0}
.hero.cw-has-clip .gear-scene,.hero.cw-has-clip #particles{opacity:0}
.hero-transformation{position:absolute;left:4%;bottom:22%;padding:30px 36px;background:linear-gradient(90deg,#080c13ed,#080c1370);border-left:1px solid var(--cyan);max-width:650px}
.hero-transformation>.mono{color:var(--cyan);margin-bottom:18px;font-size:10px}
.hero-transformation h2{font-size:clamp(38px,5.7vw,80px)}
.hero-meta>span:first-child{background:#080c13a8;padding:10px}
.motion-off #hero-video{opacity:0!important}.motion-off .media-poster{opacity:1!important}
.motion-off .app-card{transform:none!important;opacity:1!important}
.motion-off .hero-heading{opacity:1!important;transform:none!important}
.motion-off .hero-transformation{display:none}
html:not(.cw-ready) .hero-transformation{display:none}
@media(max-width:600px){.hero-shell{margin:0 6%;padding-top:145px;min-height:0}.hero-transformation{left:0;right:0;bottom:19%;padding:18px 20px}.hero-transformation h2{font-size:36px}.hero-transformation>.mono{font-size:8px}.hero-meta{bottom:29%}}
@media(prefers-reduced-motion:reduce){.hero-shell{height:92svh;min-height:640px}.hero-transformation{display:none}.hero-heading{opacity:1!important;transform:none!important}}

.motion-off .hero{height:auto!important}.motion-off .hero [data-cw-stage]{position:relative;height:auto}.motion-off .hero-meta{opacity:1!important;transform:none!important}

/* Compact opening and the supplied template's floating glass hover. */
#engineering{padding-top:48px}
.app-card{--card-accent:0,240,255;border-radius:16px;transition:translate .4s cubic-bezier(.175,.885,.32,1.275),border-color .4s,box-shadow .4s,background-color .4s}
.app-card::after{content:'';position:absolute;right:0;top:0;width:128px;height:128px;border-bottom-left-radius:100%;background:rgba(var(--card-accent),.08);pointer-events:none;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform-origin:top right}
#idx-viewer,#traveltrack{--card-accent:168,85,247}
#opencommander{--card-accent:59,130,246}
#opengames{--card-accent:245,158,11}
#opengroove{--card-accent:236,72,153}
#openlearn{--card-accent:16,185,129}
.app-card:focus-within{border-color:rgba(var(--card-accent),.5);box-shadow:0 0 25px rgba(var(--card-accent),.15),inset 0 0 10px rgba(var(--card-accent),.05)}
@media(hover:hover){
 .app-card:hover{border-color:rgba(var(--card-accent),.5);box-shadow:0 0 25px rgba(var(--card-accent),.15),inset 0 0 10px rgba(var(--card-accent),.05);background-color:rgba(10,15,30,.6)}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 body:not(.motion-off) .app-card:hover{translate:0 -5px}
 body:not(.motion-off) .app-card:hover::after{transform:scale(1.1)}
 .app-card:hover .app-art{transform:none}
}

/* App directory: real icons and concise content. */
.app-identity{display:flex;align-items:center;gap:24px;padding:32px 28px 12px;position:relative;z-index:1}
.app-icon,.app-monogram{width:96px;height:96px;flex:0 0 96px;border-radius:22px;object-fit:cover;box-shadow:0 12px 24px #0004}
.app-monogram{display:grid;place-items:center;background:#142738;border:1px solid #73dfed44;color:var(--cyan);font:26px monospace}
.app-identity h3{font-size:25px;overflow-wrap:anywhere}
.app-identity .category{margin:10px 0 0;font:12px/1.5 Arial,sans-serif;letter-spacing:0}
.card-info{padding:0 28px 24px}.digital .card-info{padding-top:0}
.app-status{font-size:11px;color:var(--muted);margin-top:12px}
.app-link{min-height:44px}.store-link{min-height:38px}
.minimal-footer{max-width:1140px;margin:36px auto 0;padding:28px}
.hero-shell{padding-top:125px}.hero-tagline{font-size:11px}.section-heading{margin-bottom:26px}
@media(max-width:600px){.app-identity{padding:24px 22px 12px;gap:18px}.app-icon,.app-monogram{width:72px;height:72px;flex-basis:72px;border-radius:17px}.app-identity h3{font-size:23px}.card-info{padding:0 22px 20px}.minimal-footer{margin-inline:6%;padding-inline:0}}
@media(min-width:601px) and (max-width:1000px){.app-identity{flex-direction:column;align-items:flex-start;gap:18px}.app-identity h3{font-size:25px}}

.card-info>.app-description{font-size:13px;line-height:1.65;color:#b5c2d1;margin:10px 0 0;padding-right:0;max-width:48ch}.card-info>.app-status{margin-top:18px}

/* A single published engineering app fills the row without an empty slot. */
#engineering .cards{grid-template-columns:1fr}#engineering .app-identity{flex-direction:row;align-items:center}#engineering .app-description{max-width:70ch}
