body:has(.kkh-lab) #navbar,body:has(.kkh-lab) footer.page-footer{display:none!important}
.full.height:has(> .kkh-lab){padding-bottom:0}
@scope (.kkh-lab){
*{box-sizing:border-box}:scope{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:16px/1.48 "Segoe UI","Malgun Gothic",sans-serif;--bg:#15181c;--panel:#1b2026;--ink:#edf1f4;--muted:#abb7c3;--line:#39424c;--accent:#a7e3d4;--space:clamp(12px,2.1vh,28px)}
.shell{width:min(100% - 64px,1480px);margin-inline:auto}.bar{display:flex;align-items:center;gap:24px;justify-content:space-between;min-height:52px}.bar nav{display:flex;gap:20px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:9px;font-weight:750}.admin{margin-left:auto}header,footer{border-bottom:1px solid var(--line)}footer{border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:.85rem}footer .bar{min-height:40px}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;padding:0}button:hover{text-decoration:underline}
.layout{flex:1;display:grid;align-content:center;gap:var(--space);padding-block:var(--space);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-areas:"hero terminal" "releases notice" "releases about"}.hero{grid-area:hero}.releases{grid-area:releases}.notice{grid-area:notice}.terminal{grid-area:terminal}.about{grid-area:about}
h1,h2,h3,p,pre{margin:0}p+p{margin-top:4px}p{color:var(--muted)}h1{font-size:clamp(2.1rem,4.5vh,4rem);letter-spacing:-.055em;line-height:1.05;margin:5px 0 9px;text-wrap:balance}h2{font-size:1.55rem;line-height:1.12;letter-spacing:-.025em}h3{font-size:1.32rem;line-height:1.2}em{font-style:normal;color:var(--accent)}.tagline{font-weight:650;color:var(--ink)}.explore{display:inline-block;margin-top:10px;color:var(--accent);font-weight:650}.eyebrow,.mono,.terminal{font-family:Consolas,monospace}.eyebrow{font-size:.78rem;color:var(--accent);letter-spacing:.1em;margin-bottom:5px}.lab-break{display:none}
.releases,.notice,.about,.terminal{min-width:0;padding:clamp(12px,2.2vh,26px);border:1px solid var(--line);background:var(--panel)}.notice h2{font-size:.98rem;margin-bottom:4px}.notice p,.about p:not(.eyebrow){font-size:.92rem}.about h2{margin-bottom:6px}.stack{margin-top:6px;color:var(--accent)}.section-head,.release-foot,.term-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.count,.release-foot,.term-head{font-size:.78rem;color:var(--muted)}.release-foot{margin-top:10px;flex-wrap:wrap}.release-foot button{color:var(--accent)}.release{padding-block:12px;border-bottom:1px solid var(--line)}.release-title,.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.release-title small{font: .85rem Consolas;color:var(--accent)}.release p{margin:4px 0 8px;font-size:.94rem;overflow-wrap:anywhere}.actions a{border:1px solid var(--line);padding:5px 8px;font-size:.82rem}.actions .download{background:var(--accent);color:var(--bg);border-color:transparent;font-weight:650}.term-head{border-bottom:1px solid var(--line);padding-bottom:7px}.terminal pre{margin-top:8px;min-block-size:6em;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--accent);font-size:.83rem}
body.b{color-scheme:light;--bg:#f7f7f3;--panel:transparent;--ink:#1a2220;--muted:#47534f;--line:#b8c2bb;--accent:#155944}.b .layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr);grid-template-areas:"hero hero terminal" "releases releases about" "releases releases notice";column-gap:clamp(20px,4vw,70px)}.b .releases,.b .about,.b .notice{border:0;border-top:1px solid var(--line);padding-inline:0}.b h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.5rem,5.6vh,5rem)}.b .terminal{border-inline:0;padding-inline:0}.b .release{padding-block:16px}
:scope{--bg:#171b18;--panel:#202620;--ink:#f1f1e6;--muted:#bdc8b9;--line:#465246;--accent:#d7ef8b}:scope .layout{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);grid-template-areas:"hero releases" "terminal releases" "terminal notice" "about notice"}:scope h1{font-family:Consolas,monospace;font-size:clamp(2rem,5vh,4.4rem)}:scope .lab-break{display:initial}:scope .releases{border-top:4px solid var(--accent);background:repeating-linear-gradient(0deg,var(--panel) 0 31px,#293029 31px 32px)}:scope .about,:scope .notice{background:none}:scope .terminal{align-self:start}
dialog{width:min(720px,92vw);max-height:82vh;overflow:auto;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:20px}dialog::backdrop{background:#000a}dialog form{float:right}
@media(min-width:851px) and (max-height:720px){:scope .layout{gap:10px 18px;padding-block:10px}:scope .terminal,:scope .about,:scope .notice,:scope .releases{padding-block:10px}}
@media(max-width:850px){.shell{width:calc(100% - 32px)}.bar{flex-wrap:wrap;gap:8px 15px;padding-block:8px}.bar nav{gap:10px}.layout,.b .layout,:scope .layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "releases" "notice" "terminal" "about"}.layout{align-content:start}:scope .lab-break{display:none}}
:scope .layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-areas:"hero terminal" "releases support";align-items:start;gap:clamp(16px,3vh,32px) clamp(18px,3vw,48px)}
:scope .hero{align-self:center}:scope .releases{background:var(--panel);padding:clamp(15px,2.4vh,24px)}:scope .release{padding-block:14px}:scope .actions a{font-size:.9rem;padding:6px 10px}:scope .release-title h3{overflow-wrap:anywhere}.support{grid-area:support;display:grid;gap:12px}:scope .about,:scope .notice{border:0;border-top:1px solid var(--line);padding:10px 0 0}:scope .about h2{font-size:1.3rem}
.terminal,:scope .terminal,.b .terminal{margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#0a1121;color:#cbd7ee;box-shadow:0 10px 22px #0003}.terminal .term-head{padding:9px 14px;background:#121b2d;border-color:#303d53;color:#c0cce0}.window-lights{display:flex;gap:5px}.window-lights i{width:9px;height:9px;border-radius:50%;background:#ff9baa}.window-lights i:nth-child(2){background:#f6ce76}.window-lights i:last-child{background:#84ddbb}
.transcript{position:relative;padding:12px 16px}.terminal pre{margin:0;min-block-size:0;font: .92rem/1.55 "Cascadia Mono",Consolas,monospace;color:inherit}.transcript pre>span{display:block}.transcript .command{color:#c8dbfa}.transcript .output{color:#aebbd1}.transcript #typing{display:none;position:absolute;inset:12px 16px}.animating #console{opacity:0}.animating #typing{display:block}.cursor{display:inline-block;width:.55em;height:.9em;margin-left:.45em;vertical-align:-.08em;background:#a9baff}
@media(max-width:850px){:scope .layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "releases" "terminal" "support"}:scope .actions a{padding:8px 10px}}
:scope .support{display:flex;flex-direction:column;min-width:0}
:scope .support > :is(.about,.notice){grid-area:auto;overflow-wrap:anywhere}
:scope .support p{word-break:keep-all}
/* Muted lab palette: separate the reading accent from the button fill. */
:scope{--bg:#111512;--panel:#191f1a;--ink:#dce1d7;--muted:#a4afa2;--line:#343e35;--accent:#a0ad89}
:scope .releases{border-top-color:#72815e}
:scope .actions .download{background:#42513a;color:#e1e7d8;border-color:#58674e}
:scope .actions .download:hover{background:#4b5a41}
:scope .terminal{background:#0c0d0c;border-color:#333633;color:#c5c9c4}
:scope .terminal .term-head{background:#171917;border-color:#303330;color:#acb2ab}
:scope .transcript .command{color:#d0d5cc}
:scope .transcript .output{color:#9da69c}
:scope .cursor{background:#a0ad89}
:scope .window-lights i{background:#9b6266}
:scope .window-lights i:nth-child(2){background:#a28c5e}
:scope .window-lights i:last-child{background:#6c9174}
:scope #release-projects{color:var(--accent);margin-left:auto}
:scope .program-stage{position:relative;min-block-size:11rem;margin-top:8px}
:scope .program-list{margin:0;padding:0;list-style:none}
:scope .program-list[hidden]{display:block;visibility:hidden}
:scope .program-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,8ch) max-content 1ch;align-items:center;gap:10px;text-align:left;padding:8px 5px;border-bottom:1px solid var(--line);font-size:.88rem;text-decoration:none}
:scope .program-row:hover,:scope .program-row:focus-visible{background:#252e24}
:scope .program-row:focus-visible{outline-offset:-2px}
:scope .program-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:scope .program-summary,:scope .program-date{color:var(--muted)}
:scope .program-arrow{color:var(--accent)}
:scope .program-detail:not([hidden]){position:absolute;inset:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;overflow:auto}
:scope .program-list:not([hidden]),:scope .program-detail:not([hidden]){animation:program-fade 150ms ease-out}
:scope .program-back{align-self:flex-start;color:var(--accent);font-size:.9rem;padding:4px}
:scope .program-detail .release{display:flex;flex-direction:column;flex:1;min-height:0;padding:4px 0;border:0}
:scope .program-detail .release p{min-block-size:2.2em;overflow:auto;white-space:pre-wrap;overscroll-behavior:contain}
:scope .program-detail .actions{margin-top:auto}
:scope .program-detail .release-title h3{max-block-size:2.5em;overflow:auto}
@keyframes program-fade{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){:scope .program-list:not([hidden]),:scope .program-detail:not([hidden]){animation:none}}
@media(max-width:850px){
 :scope .program-stage{min-block-size:16rem}
 :scope .program-row{grid-template-columns:minmax(0,1fr) minmax(0,8ch) max-content 1ch;gap:2px 8px;padding-block:7px}
 :scope .program-summary{grid-column:1/-1;grid-row:2}
 :scope .program-back{min-height:36px}
}
:scope .program-list{padding:8px 0 2px}
:scope .program-list li{position:relative;padding-top:5px}
:scope .program-list li+li{margin-top:-1px}
:scope .program-row{position:relative;min-block-size:36px;padding:7px 12px;border:1px solid #455244;border-radius:0 7px 7px 7px;background:#232c23;box-shadow:0 2px 3px #0004}
:scope .program-row::before{content:"";position:absolute;left:-1px;top:-6px;width:clamp(36px,12%,96px);height:6px;border:1px solid #455244;border-bottom:0;border-radius:5px 7px 0 0;background:inherit}
:scope .program-list li:nth-child(even) .program-row{background:#293329}
:scope .program-list .program-row:is(:hover,:focus-visible){background:#354432;border-color:#74866a}
:scope .program-row:is(:hover,:focus-visible)::before{border-color:#74866a}
:scope .program-row{transition:background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease}
:scope .program-list .program-row:is(:hover,:focus-visible){box-shadow:0 2px 5px #0006,inset 0 1px #a0ad8933}
:scope .program-detail:not([hidden]){background:var(--panel);animation:none;will-change:clip-path}
:scope .program-seam{position:absolute;inset-inline:0;height:1px;background:#869674;pointer-events:none}
:scope .program-seam.top{top:0}
:scope .program-seam.bottom{bottom:0}
:scope .program-list:not([hidden]){animation-duration:220ms}
:scope .program-detail .release-title h3{scrollbar-width:none}
@media(prefers-reduced-motion:reduce){:scope .program-row{transition:none}:scope .program-detail:not([hidden]){animation:none;will-change:auto}:scope .program-seam{display:none}}
@media(max-width:850px){:scope .program-row{min-block-size:48px;padding-inline:10px}}

:scope h1,:scope h2,:scope h3{font-weight:750}
}
