@font-face{font-family:'HackerZ Orbitron';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/orbitron-hero.ttf') format('truetype')}
#hz-portfolio .hp-aperture{left:21%;width:58%;border:0;background:transparent;mask-image:linear-gradient(transparent,#000 12%,#000 80%,transparent)}
#hz-portfolio .hp-aperture:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#050505,transparent 18%,transparent 82%,#050505)}
#hz-portfolio #matrix-rain{display:block;width:100%;height:100%;position:absolute;inset:0}
#hz-portfolio .hp-aperture[data-ready=true] .hp-rain{display:none}
#hz-portfolio .hp-title-frame{z-index:1}
#hz-portfolio .hp-title-frame h1{font-family:'HackerZ Orbitron',Consolas,monospace;font-size:clamp(32px,14.1cqw,171px);font-weight:700;letter-spacing:.012em;line-height:1.15;padding-right:0;text-shadow:0 4px 35px #000,0 2px 10px #000}
#hz-portfolio .hp-stage .hp-eyebrow,#hz-portfolio .hp-stage .hp-signature{text-shadow:0 2px 10px #000,0 0 5px #000}
#hz-portfolio .hp-section{margin-top:50px}
#hz-portfolio .hp-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:23px}
#hz-portfolio .hp-section-heading .hp-mono,#hz-portfolio .hp-faq-heading .hp-mono{color:#999;margin-bottom:10px}
#hz-portfolio .hp-section-heading h2,#hz-portfolio .hp-faq-heading h2{font-size:34px;line-height:1.13;letter-spacing:-1.3px;font-weight:400}
#hz-portfolio .hp-section-heading>p{font-size:13px;line-height:1.8;color:#888}
#hz-portfolio .hp-lab-path{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;padding:35px 0 0;margin-top:34px;border-top:1px solid #303030;align-items:center}
#hz-portfolio .hp-lab-intro .hp-mono{color:#aaa;letter-spacing:1.6px}
#hz-portfolio .hp-lab-intro h2{font-size:clamp(31px,3.4vw,43px);font-weight:400;letter-spacing:-1.5px;line-height:1.12;margin:17px 0}
#hz-portfolio .hp-lab-intro>p:not(.hp-mono){font-size:14px;line-height:1.85;color:#999;max-width:350px}
#hz-portfolio .hp-lab-intro strong{font-weight:400;color:#eee}
#hz-portfolio .hp-lab-note{display:block;font:11px/1.7 SFMono-Regular,Consolas,'Liberation Mono',monospace;color:#777;margin-top:23px}
#hz-portfolio .hp-lab-levels{display:grid;gap:9px}
#hz-portfolio .hp-lab-level{--level-color:#4ade80;display:flex;gap:23px;align-items:center;padding:20px 23px;border:1px solid #333;background:linear-gradient(110deg,#151515,#090909);position:relative;min-width:0;transition:border-color .2s}
#hz-portfolio .hp-lab-level:hover{border-color:#696969}
#hz-portfolio .hp-lab-level:nth-child(2){--level-color:#fb923c;background:linear-gradient(110deg,#1c1c1c,#0c0c0c)}
#hz-portfolio .hp-lab-level:nth-child(3){--level-color:#f87171;background:linear-gradient(110deg,#252525,#101010);border-color:#505050}
#hz-portfolio .hp-lab-level .hp-mono{font-size:10px;color:#999;letter-spacing:1px}
#hz-portfolio .hp-lab-level h3{font-size:23px;line-height:1.2;letter-spacing:-.6px;font-weight:400;margin:3px 0 5px}
#hz-portfolio .hp-lab-level p{font-size:12px;line-height:1.6;color:#999}
#hz-portfolio .hp-level-art{width:37px;display:flex;align-items:end;gap:5px;flex:none;height:37px}
#hz-portfolio .hp-level-art i{width:8px;background:#333;display:block;height:14px}
#hz-portfolio .hp-level-art i:nth-child(2){height:25px}
#hz-portfolio .hp-level-art i:nth-child(3){height:36px}
#hz-portfolio .hp-level-art i:first-child,#hz-portfolio .hp-lab-level:nth-child(2) .hp-level-art i:nth-child(2),#hz-portfolio .hp-lab-level:nth-child(3) .hp-level-art i{background:var(--level-color);box-shadow:0 0 14px color-mix(in srgb,var(--level-color) 16%,transparent)}
#hz-portfolio .hp-level-symbol{font:18px/1 monospace;margin-left:auto;color:#777}
#hz-portfolio .hp-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#hz-portfolio .hp-benefit{position:relative;padding:27px;border:1px solid #303030;background:#0d0d0d;overflow:hidden}
#hz-portfolio .hp-benefit:nth-child(2){background:#e8e8e5;color:#111;border-color:#e8e8e5}
#hz-portfolio .hp-benefit-top{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#888}
#hz-portfolio .hp-benefit-mark{font:25px/1 SFMono-Regular,Consolas,'Liberation Mono',monospace;letter-spacing:-4px;color:#777}
#hz-portfolio .hp-benefit h3{font-size:27px;font-weight:400;line-height:1.15;letter-spacing:-1px;max-width:350px;margin:24px 0 16px}
#hz-portfolio .hp-benefit p{font-size:13px;line-height:1.85;color:#999;max-width:450px}
#hz-portfolio .hp-benefit-tags{display:block;font:10px/1.7 SFMono-Regular,Consolas,'Liberation Mono',monospace;letter-spacing:.4px;color:#999;border-top:1px solid #303030;margin-top:24px;padding-top:16px}
#hz-portfolio .hp-benefit:nth-child(2) p,#hz-portfolio .hp-benefit:nth-child(2) .hp-benefit-tags,#hz-portfolio .hp-benefit:nth-child(2) .hp-benefit-top{color:#555}
#hz-portfolio .hp-benefit:nth-child(2) .hp-benefit-tags{border-color:#bbb}
#hz-portfolio .hp-review-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/3);gap:14px;overflow:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:0}
#hz-portfolio .hp-review-grid::-webkit-scrollbar{display:none}
#hz-portfolio .hp-review{scroll-snap-align:start;min-width:0;margin:0;padding:23px;border:1px solid #303030;background:#0a0a0a;display:flex;flex-direction:column}
#hz-portfolio .hp-review blockquote{margin:23px 0 27px;font-size:14px;line-height:1.85;color:#c1c1c1}
#hz-portfolio .hp-review figcaption{display:flex;align-items:center;gap:12px;margin-top:auto;border-top:1px solid #303030;padding-top:18px}
#hz-portfolio .hp-avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid #555;background:#1a1a1a;color:#ccc;font:13px/1 SFMono-Regular,Consolas,'Liberation Mono',monospace;flex:none}
#hz-portfolio .hp-review figcaption strong{font-size:13px;font-weight:400;display:block;color:#eee}
#hz-portfolio .hp-review figcaption div>span{font:10px/1.8 SFMono-Regular,Consolas,'Liberation Mono',monospace;color:#888}
#hz-portfolio .hp-review-cross{font:18px/1 monospace;color:#777;margin-left:auto}
#hz-portfolio .hp-faq{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:56px;border-top:1px solid #303030;padding-top:34px}
#hz-portfolio .hp-faq-heading>p:last-child{font-size:13px;line-height:1.8;color:#888;margin-top:18px}
#hz-portfolio .hp-faq-list{border-top:1px solid #555}
#hz-portfolio .hp-faq details{border-bottom:1px solid #303030}
#hz-portfolio .hp-faq summary{display:flex;justify-content:space-between;align-items:center;gap:22px;list-style:none;padding:19px 0;font-size:14px;line-height:1.6;cursor:pointer}
#hz-portfolio .hp-faq summary::-webkit-details-marker{display:none}
#hz-portfolio .hp-faq summary:hover{color:#aaa}
#hz-portfolio .hp-faq-plus{font:21px/1 monospace;color:#999;flex:none}
#hz-portfolio .hp-faq details[open] .hp-faq-plus{font-size:0}
#hz-portfolio .hp-faq details[open] .hp-faq-plus:after{content:'−';font-size:21px}
#hz-portfolio .hp-faq details>p{padding:0 30px 22px 0;font-size:13px;line-height:1.9;color:#999}
#hz-portfolio .hp-social-footer{border-top:1px solid #555;margin-top:48px;padding:30px 0 0}
#hz-portfolio .hp-footer-top{display:flex;justify-content:space-between;gap:40px;align-items:start}
#hz-portfolio .hp-footer-brand{font-size:27px;line-height:1.3;letter-spacing:-1.2px;font-weight:700;text-decoration:none}
#hz-portfolio .hp-footer-brand span{font-weight:400;color:#999}
#hz-portfolio .hp-footer-top p{font-size:17px;color:#d0d0d0;margin:15px 0 8px;letter-spacing:-.3px}
#hz-portfolio .hp-footer-byline{color:#888;font:11px/1.8 SFMono-Regular,Consolas,'Liberation Mono',monospace}
#hz-portfolio .hp-socials{width:260px;max-width:45%;display:flex;flex-direction:column}
#hz-portfolio .hp-socials a{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #303030;text-decoration:none;padding:13px 0;font:12px/1.6 SFMono-Regular,Consolas,'Liberation Mono',monospace;color:#bbb}
#hz-portfolio .hp-socials a:first-child{padding-top:0;padding-bottom:14px}
#hz-portfolio .hp-socials a:hover{color:#fff;border-color:#999}
#hz-portfolio .hp-footer-bottom{margin-top:29px;border-top:1px solid #303030;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:22px;font:10px/1.8 SFMono-Regular,Consolas,'Liberation Mono',monospace;color:#888}
#hz-portfolio .hp-footer-bottom>div{display:flex;gap:25px;align-items:center;flex-wrap:wrap}
#hz-portfolio .hp-footer-bottom a{color:#aaa;text-decoration:none}
#hz-portfolio .hp-footer-bottom .hp-motion{font:inherit;padding:0}
@media(max-width:850px){#hz-portfolio .hp-lab-path{gap:28px}#hz-portfolio .hp-lab-level{padding:18px;gap:17px}#hz-portfolio .hp-lab-level p{font-size:11px}#hz-portfolio .hp-section-heading h2,#hz-portfolio .hp-faq-heading h2{font-size:30px}#hz-portfolio .hp-benefit{padding:23px}#hz-portfolio .hp-benefit h3{font-size:25px}#hz-portfolio .hp-review-grid{gap:10px}#hz-portfolio .hp-review{padding:18px}#hz-portfolio .hp-review blockquote{font-size:13px}#hz-portfolio .hp-faq{gap:30px}}
@media(max-width:580px){#hz-portfolio .hp-aperture{left:4%;width:92%;top:0}#hz-portfolio .hp-section{margin-top:34px}#hz-portfolio .hp-section-heading{display:block;margin-bottom:20px}#hz-portfolio .hp-section-heading>p{margin-top:13px}#hz-portfolio .hp-section-heading>p br{display:none}#hz-portfolio .hp-section-heading h2,#hz-portfolio .hp-faq-heading h2{font-size:29px}#hz-portfolio .hp-lab-path{grid-template-columns:minmax(0,1fr);gap:23px;margin-top:26px;padding-top:26px}#hz-portfolio .hp-lab-intro h2{font-size:34px;margin:12px 0 14px}#hz-portfolio .hp-lab-intro>p:not(.hp-mono){font-size:13px}#hz-portfolio .hp-lab-note{margin-top:15px}#hz-portfolio .hp-lab-level{padding:18px 17px;gap:16px}#hz-portfolio .hp-level-art{width:30px;gap:4px}#hz-portfolio .hp-level-art i{width:6px}#hz-portfolio .hp-level-symbol{display:none}#hz-portfolio .hp-lab-level .hp-mono{font-size:10px;letter-spacing:.6px}#hz-portfolio .hp-lab-level p{font-size:12px}#hz-portfolio .hp-benefit-grid{grid-template-columns:minmax(0,1fr);gap:13px}#hz-portfolio .hp-benefit{padding:23px}#hz-portfolio .hp-benefit h3{font-size:27px;margin-top:21px}#hz-portfolio .hp-review{padding:23px}#hz-portfolio .hp-review blockquote{font-size:14px;margin-bottom:23px}#hz-portfolio .hp-faq{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:27px}#hz-portfolio .hp-faq-heading h2 br{display:none}#hz-portfolio .hp-faq-heading>p:last-child{margin-top:12px}#hz-portfolio .hp-faq-heading>p:last-child br{display:none}#hz-portfolio .hp-faq summary{font-size:13px;gap:15px}#hz-portfolio .hp-faq details>p{padding-right:0}#hz-portfolio .hp-social-footer{margin-top:34px;padding-top:27px}#hz-portfolio .hp-footer-top{display:block}#hz-portfolio .hp-socials{max-width:100%;width:100%;margin-top:24px}#hz-portfolio .hp-socials a{padding:14px 0;min-height:44px}#hz-portfolio .hp-socials a:first-child{padding-top:14px}#hz-portfolio .hp-footer-bottom{display:block;margin-top:22px}#hz-portfolio .hp-footer-bottom>div{margin-top:12px;justify-content:space-between;gap:15px}#hz-portfolio .hp-footer-bottom .hp-motion{min-height:44px}}
@media(prefers-reduced-motion:reduce){#hz-portfolio .hp-lab-level{transition:none}}

#hz-portfolio .hp-review-nav{display:flex;gap:8px;flex:none}
#hz-portfolio .hp-review-nav button{width:44px;height:44px;border:1px solid #444;background:#101010;color:#eee;font:22px/1 Arial,sans-serif;cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s}
#hz-portfolio .hp-review-nav button:hover:not(:disabled){background:#e8e8e5;color:#111;border-color:#e8e8e5}
#hz-portfolio .hp-review-nav button:disabled{color:#555;border-color:#252525;cursor:default}
#hz-portfolio .hp-review-nav button:focus-visible,#hz-portfolio .hp-review-grid:focus-visible{outline:2px solid #eee;outline-offset:4px}
#hz-portfolio .hp-review-rating{display:flex;align-items:center;justify-content:space-between;gap:12px}
#hz-portfolio .hp-stars{display:flex;gap:3px}
#hz-portfolio .hp-star{width:16px;height:16px;position:relative;display:block;flex:none}
#hz-portfolio .hp-star svg{display:block;width:16px;height:16px;fill:#383838;max-width:none}
#hz-portfolio .hp-star-fill{position:absolute;left:0;top:0;height:100%;overflow:hidden}
#hz-portfolio .hp-star-fill svg{fill:#ffb800}
#hz-portfolio .hp-rating-number{font:13px/1.3 SFMono-Regular,Consolas,'Liberation Mono',monospace;white-space:nowrap;color:#eee}
#hz-portfolio .hp-rating-number>span{font-size:10px;color:#777}
#hz-portfolio .hp-review-track-note{display:flex;justify-content:space-between;gap:18px;margin-top:12px;font:10px/1.7 SFMono-Regular,Consolas,'Liberation Mono',monospace;color:#888}
#hz-portfolio .hp-review-track-note>span:first-child>span{margin-left:8px}
#hz-portfolio .hp-social-label{display:flex;align-items:center;gap:13px}
#hz-portfolio .hp-social-label img{display:block;width:23px;height:23px;flex:none;object-fit:contain}
#hz-portfolio .hp-socials a:hover img{opacity:.8}
@media(max-width:850px){#hz-portfolio .hp-review-grid{grid-auto-columns:calc((100% - 10px)/2)}}
@media(max-width:580px){#hz-portfolio .hp-reviews .hp-section-heading{display:flex;align-items:end;gap:16px}#hz-portfolio .hp-reviews .hp-section-heading h2{font-size:27px}#hz-portfolio .hp-review-nav{gap:5px}#hz-portfolio .hp-review-nav button{width:40px;height:44px}#hz-portfolio .hp-review-grid{grid-auto-columns:calc(100% - 26px);gap:12px}#hz-portfolio .hp-review-rating{gap:8px}#hz-portfolio .hp-star,#hz-portfolio .hp-star svg{width:15px;height:15px}#hz-portfolio .hp-stars{gap:2px}}
@media(prefers-reduced-motion:reduce){#hz-portfolio .hp-review-nav button{transition:none}}
#hz-portfolio .hp-brand{display:inline-flex;align-items:center;flex:none}
#hz-portfolio .hp-nav-logo{display:block;width:164px;height:auto;object-fit:contain}
@media(max-width:580px){#hz-portfolio .hp-nav-logo{width:132px}}

#hz-portfolio .hp-scroll-curriculum li{grid-template-columns:25px minmax(0,1fr) 32px;align-items:start;gap:10px}
#hz-portfolio .hp-topic-unlock{width:32px;height:32px;margin-top:-4px;display:grid;place-items:center;position:relative;color:#777;border:1px solid transparent;text-decoration:none;transition:color .16s,border-color .16s}
#hz-portfolio .hp-topic-unlock>svg{width:17px;height:17px;display:block}
#hz-portfolio .hp-topic-unlock:hover,#hz-portfolio .hp-topic-unlock:focus-visible{color:#eee;border-color:#555;outline:none;background:#191919}
#hz-portfolio .hp-unlock-tip{position:absolute;right:calc(100% + 7px);top:50%;transform:translateY(-50%);z-index:3;white-space:nowrap;background:#e8e8e5;color:#111;padding:6px 10px;font:10px/1.5 SFMono-Regular,Consolas,'Liberation Mono',monospace;opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 2px 14px #0008}
#hz-portfolio .hp-topic-unlock:hover .hp-unlock-tip,#hz-portfolio .hp-topic-unlock:focus-visible .hp-unlock-tip{opacity:1;visibility:visible}
@media(pointer:coarse){#hz-portfolio .hp-scroll-curriculum li{grid-template-columns:22px minmax(0,1fr) 44px;gap:7px}#hz-portfolio .hp-topic-unlock{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){#hz-portfolio .hp-topic-unlock{transition:none}}
#hz-portfolio [data-scramble-line]{white-space:nowrap}
#hz-portfolio .hp-glyph{position:relative;display:inline-block}
#hz-portfolio .hp-glyph-final{opacity:1;color:inherit;transition:color .2s,opacity .08s}
#hz-portfolio .hp-glyph-noise{position:absolute;inset:0;display:grid;place-items:center;font-family:Consolas,'Liberation Mono',monospace;font-size:.8em;font-weight:400;letter-spacing:0;color:#65f59c;text-shadow:0 0 13px #4ade804d;opacity:0;pointer-events:none}
#hz-portfolio .hp-glyph[data-phase=scrambling] .hp-glyph-final{opacity:0}
#hz-portfolio .hp-glyph[data-phase=scrambling] .hp-glyph-noise{opacity:1}
#hz-portfolio .hp-glyph[data-phase=locked] .hp-glyph-final{color:#b7f9cd}
#hz-portfolio .hp-card:has([data-scramble-state=running]){border-color:#3b7051}
#hz-portfolio .hp-card:focus-visible{outline:2px solid #8ee9ae;outline-offset:4px}
@media(prefers-reduced-motion:reduce){#hz-portfolio .hp-glyph-final{transition:none}#hz-portfolio .hp-glyph-noise{display:none}#hz-portfolio .hp-glyph[data-phase=scrambling] .hp-glyph-final{opacity:1}#hz-portfolio .hp-glyph[data-phase=locked] .hp-glyph-final{color:inherit}}
#hz-portfolio .hp-scramble-word{white-space:nowrap}
#hz-portfolio .hp-course-heading [data-scramble-line]{white-space:normal}
#hz-portfolio a.hp-join{font-size:14px;font-weight:600;color:#090909;gap:12px;padding-inline:14px}
#hz-portfolio .hp-join .hp-glyph-noise{color:#090909;text-shadow:none;font-weight:inherit;font-size:1em}
#hz-portfolio .hp-join .hp-glyph[data-phase=locked] .hp-glyph-final{color:#090909}
#hz-portfolio .hp-join:focus-visible{outline:2px solid #eee;outline-offset:4px}
#hz-portfolio .hp-footer-brand{display:inline-flex;align-items:center}
#hz-portfolio .hp-footer-logo{display:block;width:164px;height:auto;object-fit:contain}
@media(hover:hover) and (pointer:fine){
  html,body,#hz-portfolio,#hz-portfolio *{cursor:url('/assets/cursor-default.svg') 16 16,crosshair}
  #hz-portfolio a:any-link,#hz-portfolio a:any-link *,#hz-portfolio button:enabled,#hz-portfolio button:enabled *,#hz-portfolio summary,#hz-portfolio summary *{cursor:url('/assets/cursor-link.svg') 16 16,pointer}
  #hz-portfolio button:disabled,#hz-portfolio button:disabled *{cursor:not-allowed}
  #hz-portfolio :is(input,textarea,[contenteditable=true]){cursor:text}
}

#hz-portfolio .hp-join [data-scramble-line]{white-space:normal;min-width:0}

/* The approved corner control expands over the course media, not the layout. */
#hz-portfolio .hp-media{transition:border-color .35s ease,background-color .35s ease}
#hz-portfolio .hp-media-top{height:44px;align-items:center;pointer-events:none}
#hz-portfolio .hp-intro-play{position:absolute;z-index:2;right:20px;top:18px;display:flex;align-items:center;gap:10px;width:44px;height:44px;padding:0 11px;overflow:hidden;border:1px solid #555;background:transparent;color:#eee;font:11px/1.4 SFMono-Regular,Consolas,'Liberation Mono',monospace;white-space:nowrap;transition:width .4s cubic-bezier(.2,.8,.2,1),background-color .3s ease,color .3s ease,border-color .3s ease}
#hz-portfolio .hp-intro-play svg{width:20px;height:20px;flex:none;stroke-width:1.2}
#hz-portfolio .hp-intro-play>span{opacity:0;transform:translateX(8px);transition:opacity .25s ease,transform .35s ease}
#hz-portfolio .hp-media:is(:hover,:focus-within){border-color:#858585;background-color:#0c0c0c}
#hz-portfolio .hp-media:is(:hover,:focus-within) .hp-intro-play{width:180px;background:#ededeb;color:#090909;border-color:#dedede}
#hz-portfolio .hp-media:is(:hover,:focus-within) .hp-intro-play>span{opacity:1;transform:translateX(0)}
#hz-portfolio .hp-intro-play:focus-visible{outline:2px solid #eee;outline-offset:4px}
#hz-portfolio .hp-intro-availability{position:absolute;z-index:2;right:20px;top:72px;margin:0;max-width:calc(100% - 40px);padding:9px 11px;border:1px solid #414141;background:#121212;color:#ccc;font:11px/1.5 SFMono-Regular,Consolas,'Liberation Mono',monospace;text-align:right}
@media(max-width:760px){
 #hz-portfolio .hp-media-top{left:14px;right:14px}
 #hz-portfolio .hp-intro-play{right:14px;padding-inline:9px;gap:6px}
 #hz-portfolio .hp-media:is(:hover,:focus-within) .hp-intro-play{width:160px}
 #hz-portfolio .hp-intro-availability{right:14px;max-width:calc(100% - 28px)}
}
@media(hover:none){
 #hz-portfolio .hp-intro-play{width:180px}
 #hz-portfolio .hp-intro-play>span{opacity:1;transform:none}
}
@media(hover:none) and (max-width:760px){#hz-portfolio .hp-intro-play{width:160px}}
@media(prefers-reduced-motion:reduce){#hz-portfolio .hp-media,#hz-portfolio .hp-intro-play,#hz-portfolio .hp-intro-play>span{transition:none}}
#hz-portfolio[data-paused=true] .hp-media,#hz-portfolio[data-paused=true] .hp-intro-play,#hz-portfolio[data-paused=true] .hp-intro-play>span{transition:none}
