
.site.techhub-home{overflow-x:clip}.techhub-home .home-hub{max-width:1240px;padding-top:64px}.techhub-home #home-root{font-size:15px;line-height:1.6;--jh-radius:14px}.techhub-home #home-root *{box-sizing:border-box;min-width:0}.techhub-home #home-root h2,.techhub-home #home-root h3,.techhub-home #home-root p{margin:0}.techhub-home #home-root a{color:inherit;text-decoration:none}.techhub-home #home-root button{font:inherit;cursor:pointer}.techhub-home #home-root :is(button,a):focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.jh-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.jh-muted{color:var(--muted);font-size:13px}.jh-kicker{font:11px Consolas,monospace;letter-spacing:.13em;color:var(--cyan);line-height:1.6}.jh-kicker>span{color:var(--muted)}
.techhub-home .hub-intro{position:relative;isolation:isolate;min-height:590px;margin-bottom:76px;padding:28px 0 58px;border-bottom:0;text-align:center;color:#e1e8f2;--text:#e1e8f2;--muted:#b9c9de;--surface:#121b28;--line:#34455c;--cyan:#64dce8}
.techhub-home .hub-intro::before{content:'';position:absolute;z-index:-1;pointer-events:none;top:-64px;bottom:-70px;left:50%;width:100vw;transform:translateX(-50%);background:#0c1119 url('../images/joker-lab-background-v1.webp') center top/cover no-repeat;mask-image:linear-gradient(#000 0%,#000 75%,transparent 100%)}
.techhub-home .hub-intro>p,.techhub-home .hub-intro>.meta{max-width:620px;margin-left:auto;margin-right:auto}
.techhub-home .hub-intro>.meta{justify-content:center}.techhub-home .hub-intro .pill{background:#121b28e6}.techhub-home .hub-intro h1{color:#e1e8f2;text-shadow:0 3px 28px #000}
@media(min-width:1600px){.techhub-home .hub-intro::before{background-size:100% auto}}
@media(max-width:700px){.techhub-home .hub-intro{min-height:0;padding-top:48px;padding-bottom:30px;margin-bottom:54px}.techhub-home .hub-intro::before{top:-36px;bottom:-44px;background-image:linear-gradient(180deg,#0c111930 0%,#0c1119b8 40%,#0c1119 88%),url('../images/joker-lab-background-v1.webp');background-size:cover;mask-image:linear-gradient(#000 0%,#000 85%,transparent 100%)}.techhub-home .hub-intro>p{font-size:16px}.techhub-home .hub-intro>.meta{font-size:12px}}

.home-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:740px;margin:28px auto 0}
.home-shortcut{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;align-items:center;gap:14px;min-height:112px;padding:18px;text-align:left;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:12px;background:#121b28dc;transition:border-color .2s,background-color .2s}
.home-shortcut:hover{border-color:var(--cyan);background:#172436f5}.home-shortcut:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.home-shortcut svg{width:24px;height:24px;color:var(--cyan);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.home-shortcut strong{display:block;font-size:17px;line-height:1.35}.home-shortcut-description{display:block;margin-top:5px;color:var(--muted);font-size:13px;line-height:1.5}.home-shortcut-arrow{font-size:22px;color:var(--cyan)}
@media(max-width:700px){.home-shortcuts{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:24px}.home-shortcut{min-height:96px;padding:16px}}
.techhub-home #home-title{font-size:clamp(54px,9vw,100px);letter-spacing:-.06em;line-height:1.05;margin:18px 0}.techhub-home #home-root .hub-intro>p{margin-left:auto;margin-right:auto}.techhub-home #home-root .home-shortcut{color:#e1e8f2}.techhub-home #home-root .home-shortcut-description{color:#b9c9de}
.jh-catalog-note{min-height:24px;margin:12px 0!important;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.jh-catalog-note[data-error=true]{color:var(--coral)}.jh-catalog-note button{border:0;background:none;color:var(--cyan);padding:5px 0;text-decoration:underline;text-underline-offset:4px}
.jh-article{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--jh-radius);background:var(--surface);transition:border-color .18s}.jh-article:hover{border-color:color-mix(in srgb,var(--cyan) 55%,var(--line))}.jh-cover{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#0c1119}.jh-cover img{display:block;width:100%;height:100%;object-fit:contain}.jh-cover-placeholder{width:100%;height:100%;min-height:100px;display:flex;align-items:center;justify-content:center;gap:8px;background:radial-gradient(ellipse at 10% 0%,#64dce82b,transparent 70%),#111d2b;color:#dce7f3;font:700 16px Consolas,monospace;letter-spacing:.07em}.jh-cover-placeholder span{color:#64dce8}.jh-article-copy{display:flex;flex:1;flex-direction:column;padding:16px 16px 12px}.techhub-home .jh-article h3{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.025em;margin:8px 0 16px!important;overflow-wrap:anywhere}.jh-article h3 a:hover{color:var(--cyan)!important}.techhub-home .jh-description{color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:20px!important}.jh-card-tools{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 8px;margin-top:auto;border:0;padding:0;color:var(--muted);font-size:11px}.jh-metrics,.jh-reactions{display:contents}.jh-metrics>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.jh-card-tools .jh-icon{width:16px;height:16px}.jh-level::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.jh-level[data-level=easy]{color:var(--cyan)}.jh-level[data-level=hard]{color:var(--coral)}.jh-reactions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:28px;min-height:40px;border:0;background:none;color:var(--muted);padding:4px 2px;border-radius:6px;font-size:12px!important}.jh-reactions>button:last-of-type{margin-left:auto}.jh-reactions button:hover{color:var(--cyan)}.jh-reactions button:disabled{opacity:.5;cursor:wait}.jh-reactions button[aria-pressed=true]{color:var(--coral)}.jh-reactions button[aria-pressed=true] .jh-icon{fill:color-mix(in srgb,var(--coral) 20%,transparent)}.jh-reactions p{flex-basis:100%;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.jh-reactions p a{color:var(--cyan)!important;text-decoration:underline!important}.jh-status{display:inline-flex;font:600 10px system-ui,sans-serif;letter-spacing:0;margin-left:10px;padding:2px 6px;border:1px dashed var(--muted);border-radius:5px;color:var(--muted)}
.jh-featured{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);min-height:340px}.jh-featured>.jh-cover{aspect-ratio:auto;display:flex;align-items:center;border-right:1px solid var(--line)}.jh-featured>.jh-cover img{height:auto;aspect-ratio:16/9;object-fit:contain}.jh-featured>.jh-article-copy{padding:30px}.techhub-home .jh-featured h3{font-size:clamp(22px,2.4vw,30px);line-height:1.3;margin:12px 0 16px!important}.jh-featured .jh-description{flex:1}.jh-featured .jh-reactions button{min-width:30px}
.jh-section{margin-top:42px;scroll-margin-top:24px}.jh-section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.techhub-home .jh-section h2{font-size:28px;line-height:1.3;letter-spacing:-.035em}.jh-total{display:inline-block;font:12px Consolas,monospace;color:var(--muted);vertical-align:middle;margin-left:8px;letter-spacing:0}.jh-text-link{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:12px;color:var(--cyan)!important;min-height:38px}.jh-text-link .jh-icon{width:14px;height:14px}.jh-rail-controls{display:flex;gap:8px}.jh-rail-controls button:disabled{opacity:.35;cursor:default}.jh-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 0 18px;scrollbar-color:var(--line) transparent;scrollbar-width:thin}.jh-rail>.jh-article{scroll-snap-align:start;min-width:0}.jh-rail:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.jh-empty{padding:32px 20px!important;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted)}
.jh-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.jh-group{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.jh-group:hover{border-color:var(--cyan)}.jh-group-cover{aspect-ratio:16/9;overflow:hidden;background:#0c1119}.jh-group-cover img{width:100%;height:100%;object-fit:contain}.jh-group-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px}.techhub-home .jh-group h3{font-size:16px;line-height:1.4;font-weight:650;letter-spacing:-.025em;overflow-wrap:anywhere}.jh-group-count{flex-shrink:0;color:var(--muted);font-size:12px;white-space:nowrap}.jh-no-script{padding:18px;border:1px solid var(--line);color:var(--muted);font-size:13px}.jh-no-script a{color:var(--cyan)}
@media(max-width:950px){.jh-rail{grid-auto-columns:calc((100% - 24px)/2)}.jh-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jh-featured{grid-template-columns:1fr 1fr}.jh-featured>.jh-article-copy{padding:24px}.techhub-home .jh-featured h3{font-size:24px}}
@media(max-width:700px){.techhub-home .home-hub{padding-top:36px}.jh-featured{grid-template-columns:minmax(0,1fr);min-height:0}.jh-featured>.jh-cover{aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--line)}.jh-featured>.jh-article-copy{padding:22px}.techhub-home .jh-featured h3{font-size:25px}.jh-section-head{flex-wrap:wrap;gap:12px}.jh-section-head h2{flex:1}.jh-section-head>.jh-text-link{flex-basis:100%}}
@media(max-width:600px){.jh-rail{grid-auto-columns:100%;gap:20px}.jh-group-grid{grid-template-columns:minmax(0,1fr);gap:18px}.techhub-home .jh-section h2{font-size:25px}.jh-group-copy{padding:14px 16px}.jh-catalog-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.jh-article,.home-shortcut{transition:none}}
