.hb-main{padding-top:var(--nav-h)}.hb-band{position:relative;overflow:hidden;padding:58px 0 34px;border-bottom:1px solid var(--border-subtle)}.hb-band .wrap{position:relative;z-index:1}.hb-crumb{margin-bottom:18px}.hb-title{font-size:clamp(28px,4.6vw,42px);font-weight:700;letter-spacing:-.03em;line-height:1.12;max-width:760px;text-wrap:balance;margin-bottom:14px}.hb-lead{font-size:var(--fs-body);color:var(--text-2);line-height:1.68;max-width:680px;text-wrap:pretty}.hb-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px;font-size:var(--fs-caption);color:var(--text-3)}.hb-meta a{color:inherit;text-decoration:underline;text-underline-offset:3px}.hb-environment b{color:var(--text-2);font-weight:500}.hb-topic-pill{font-family:var(--mono);font-size:var(--fs-mono-sm);color:var(--accent-text);background:var(--accent-soft);border-radius:6px;padding:3px 9px}.hb-catalog{padding-top:44px;padding-bottom:72px}.hb-topic+.hb-topic{margin-top:80px}.hb-topic-header{display:grid;grid-template-columns:48px minmax(0,720px);gap:16px;align-items:start;margin-bottom:26px}.hb-topic-index{font-family:var(--mono);font-size:var(--fs-mono-sm);font-weight:500;letter-spacing:.08em;color:var(--accent-text);padding-top:9px}.hb-topic-head{font-size:clamp(26px,3vw,34px);font-weight:700;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}.hb-topic-head a{display:inline-flex;align-items:center;gap:10px;color:var(--text);transition:color var(--dur-fast)}.hb-topic-head a:hover{color:var(--accent-text)}.hb-topic-head a span{font-family:var(--mono);font-size:var(--fs-caption);font-weight:400;color:var(--text-3)}.hb-topic-lead{max-width:680px;margin-top:10px;font-size:var(--fs-caption);line-height:1.65;color:var(--text-2);text-wrap:pretty}.hb-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 28px}.hb-card{position:relative;grid-column:span 6;display:flex;flex-direction:column;min-width:0;gap:9px;padding:24px 16px 26px;background:transparent;border:1px solid transparent;border-top-color:var(--border);border-radius:var(--radius-sm);transition:border-color var(--dur-fast),background var(--dur-fast)}.hb-card:hover{border-color:var(--border-strong);background:var(--surface)}.hb-card-chrome{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:var(--fs-mono-sm);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--text-faint)}.hb-card-arrow{font-size:var(--fs-caption);color:var(--text-3);transition:color var(--dur-fast)}.hb-card:hover .hb-card-arrow{color:var(--accent-text)}.hb-card h2,.hb-card h3{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.32;color:var(--text);text-wrap:balance}.hb-card p{font-size:var(--fs-caption);color:var(--text-2);line-height:1.58;text-wrap:pretty}.hb-card time{margin-top:auto;padding-top:6px;font-family:var(--mono);font-size:var(--fs-mono-sm);color:var(--text-faint)}.hb-card.is-featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);grid-template-rows:auto auto 1fr auto;column-gap:32px;row-gap:12px;min-height:300px;margin-bottom:28px;padding:30px;background:var(--surface-raised);border-color:var(--border);border-radius:var(--radius-lg);overflow:hidden}.hb-card.is-featured .hb-card-chrome,.hb-card.is-featured h2,.hb-card.is-featured h3,.hb-card.is-featured p,.hb-card.is-featured time{grid-column:1}.hb-card.is-featured .hb-card-chrome{grid-row:1}.hb-card.is-featured h2,.hb-card.is-featured h3{grid-row:2;font-size:clamp(23px,2.8vw,30px);line-height:1.18}.hb-card.is-featured p{grid-row:3;max-width:60ch;font-size:var(--fs-body);line-height:1.65}.hb-card.is-featured time{grid-row:4}.hb-card-art{grid-column:2;grid-row:1 / 5;min-height:238px;overflow:hidden;background:var(--well);border:1px solid var(--border-subtle);border-radius:10px}.hb-card-art img{display:block;width:100%;height:100%;object-fit:cover;opacity:.86;transition:opacity var(--dur-fast)}.hb-card.is-featured:hover .hb-card-art img{opacity:1}.hb-task-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;padding:0;list-style:none}.hb-task-links a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:17px 10px;border-top:1px solid var(--border);color:var(--text)}.hb-task-links a:hover b,.hb-task-links a:hover>span:last-child{color:var(--accent-text)}.hb-task-links span{font-family:var(--mono);font-size:var(--fs-mono-sm);color:var(--text-3)}.hb-task-links b{font-size:var(--fs-caption);font-weight:500;line-height:1.5}.hb-article{max-width:820px;padding-top:36px;padding-bottom:8px}.hb-article h2{font-size:23px;font-weight:600;letter-spacing:-.02em;margin:34px 0 14px;scroll-margin-top:calc(var(--nav-h) + 22px)}.hb-article h3{font-size:17px;font-weight:600;margin:22px 0 10px;color:var(--text)}.hb-article p{font-size:var(--fs-body);color:var(--text-2);line-height:1.72;margin-bottom:14px;text-wrap:pretty}.hb-article ul,.hb-article ol{margin:0 0 16px 22px;display:flex;flex-direction:column;gap:8px}.hb-article li{font-size:var(--fs-body);color:var(--text-2);line-height:1.62}.hb-article strong{color:var(--text);font-weight:600}.hb-article a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.hb-article code{font-family:var(--mono);font-size:var(--fs-caption);color:var(--accent-text);background:var(--well);border:1px solid var(--border-subtle);padding:1px 6px;border-radius:5px;white-space:nowrap}.hb-article pre{background:var(--well)!important;border:1px solid var(--border-subtle);border-radius:10px;padding:16px 18px;margin:0 0 16px;overflow-x:auto}.hb-article pre code{background:none;border:none;padding:0;white-space:pre;font-size:var(--fs-caption);color:inherit}.hb-article table{width:100%;max-width:560px;border-collapse:collapse;margin:0 0 18px;font-size:var(--fs-caption)}.hb-article th{font-family:var(--mono);font-size:var(--fs-mono-sm);font-weight:500;letter-spacing:.04em;color:var(--text-3);text-align:left;padding:8px 12px;border-bottom:1px solid var(--border-strong)}.hb-article td{color:var(--text-2);padding:7px 12px;border-bottom:1px solid var(--border-subtle)}.hb-sources{margin-top:42px;padding-top:4px;border-top:1px solid var(--border-subtle)}.hb-cluster-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:820px;margin-top:26px}.hb-cluster-nav a{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--well);color:var(--text)}.hb-cluster-nav a.is-next{grid-column:2;text-align:right}.hb-cluster-nav span{font-family:var(--mono);font-size:var(--fs-mono-sm);color:var(--text-3);text-transform:uppercase}.hb-cluster-nav b{font-size:var(--fs-caption);line-height:1.45}.hb-practice{padding:26px 0 72px}.hb-practice-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 30px;background:var(--surface);border:1px solid var(--border);border-radius:14px;max-width:820px}.hb-practice-card h2{font-size:19px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}.hb-practice-card p{font-size:var(--fs-caption);color:var(--text-2);line-height:1.6;max-width:520px}.hb-practice-card .btn{flex-shrink:0}@media(max-width:960px){.hb-card.is-featured{grid-template-columns:minmax(0,1fr) minmax(240px,.7fr)}}@media(max-width:720px){.hb-band{padding:40px 0 26px}.hb-catalog{padding-top:32px;padding-bottom:56px}.hb-topic+.hb-topic{margin-top:60px}.hb-topic-header{grid-template-columns:34px minmax(0,1fr);gap:10px;margin-bottom:20px}.hb-topic-index{padding-top:7px}.hb-topic-head{font-size:25px}.hb-grid,.hb-task-links{grid-template-columns:minmax(0,1fr)}.hb-card{grid-column:1;padding:20px 10px 22px}.hb-card.is-featured{grid-column:1;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;min-height:0;margin-bottom:20px;padding:20px}.hb-card.is-featured .hb-card-chrome{grid-column:1;grid-row:1}.hb-card.is-featured .hb-card-art{grid-column:1;grid-row:2;min-height:0;aspect-ratio:16 / 8}.hb-card.is-featured h2,.hb-card.is-featured h3{grid-column:1;grid-row:3;font-size:22px}.hb-card.is-featured p{grid-column:1;grid-row:4;font-size:var(--fs-caption)}.hb-card.is-featured time{grid-column:1;grid-row:5}.hb-practice-card{flex-direction:column;align-items:flex-start}.hb-cluster-nav{grid-template-columns:minmax(0,1fr)}.hb-cluster-nav a.is-next{grid-column:1;text-align:left}}.hb-run{border:1px solid var(--border);border-radius:10px;background:var(--well);margin:0 0 16px;overflow:hidden}.hb-run:focus-within{border-color:var(--border-strong)}.hb-run-bar{display:flex;align-items:center;gap:9px;padding:7px 8px 7px 14px;border-bottom:1px solid var(--border-subtle);background:var(--bg-panel)}.hb-run-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.hb-run-name{font-family:var(--mono);font-size:var(--fs-mono-sm);letter-spacing:.08em;color:var(--text-2)}.hb-run-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.hb-run-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 9px;border:0;border-radius:7px;background:transparent;font-family:var(--mono);font-size:var(--fs-mono-sm);letter-spacing:.08em;color:var(--text-3);cursor:pointer;transition:color .15s ease,background .15s ease}.hb-run-ghost:hover{color:var(--text);background:var(--surface-hover)}.hb-run-ghost[hidden]{display:none}.hb-run-ghost.is-done{color:var(--syn-green)}.hb-run-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:26px;padding:0 12px;border:0;border-radius:7px;background:var(--accent);color:var(--on-accent);font-family:var(--mono);font-size:var(--fs-mono-sm);font-weight:600;letter-spacing:.08em;cursor:pointer;transition:filter .15s ease,opacity .15s ease}.hb-run-btn:hover{filter:brightness(1.12)}.hb-run-btn:disabled{opacity:.55;cursor:default;filter:none}.hb-run-editor{position:relative;display:flex}.hb-run-gutter{flex:none;width:42px;padding:16px 10px 16px 0;overflow:hidden;text-align:right;white-space:pre;font-family:var(--mono);font-size:var(--fs-caption);line-height:1.6;color:var(--text-faint);user-select:none;border-right:1px solid var(--border-subtle)}.hb-run-editor pre{flex:1;min-width:0;margin:0;padding:16px 18px;border:0;border-radius:0;background:transparent!important;overflow:hidden}.hb-run-editor pre,.hb-run-editor pre code,.hb-run-input{font-family:var(--mono);font-size:var(--fs-caption);line-height:1.6;letter-spacing:normal;tab-size:4;font-variant-ligatures:none}.hb-run-input{position:absolute;inset:0 0 0 42px;width:calc(100% - 42px);height:100%;padding:16px 18px;margin:0;border:0;resize:none;outline:none;background:transparent;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--text);white-space:pre;overflow:auto}.hb-run-input::selection{background:var(--accent-soft)}.hb-run .hljs-keyword,.hb-run .hljs-operator{color:var(--syn-plum)}.hb-run .hljs-string,.hb-run .hljs-subst{color:var(--syn-green)}.hb-run .hljs-comment{color:var(--text-3);font-style:italic}.hb-run .hljs-number,.hb-run .hljs-literal{color:var(--syn-amber)}.hb-run .hljs-title,.hb-run .hljs-title.function_,.hb-run .hljs-title.class_{color:var(--accent-text)}.hb-run .hljs-built_in,.hb-run .hljs-meta,.hb-run .hljs-type{color:var(--syn-cyan)}.hb-run .hljs-params{color:var(--text)}.hb-run-out{border-top:1px solid var(--border-subtle)}.hb-run-out-head{display:flex;align-items:center;gap:10px;padding:9px 18px 0;font-family:var(--mono);font-size:var(--fs-mono-sm);letter-spacing:.08em;color:var(--text-3)}.hb-run-time{margin-left:auto}.hb-article .hb-run-out-body,.hb-run-out-body{margin:0;padding:7px 18px 14px;border:0;border-radius:0;background:transparent;font-family:var(--mono);font-size:var(--fs-caption);line-height:1.6;color:var(--text-2);white-space:pre-wrap;overflow-x:auto}.hb-run-out-body.is-error{color:var(--coral-text)}.hb-run-out-body.is-note{color:var(--text-3);font-style:italic}.hb-aside-link{margin-top:16px;font-size:var(--fs-caption);line-height:1.6;color:var(--text-3);max-width:640px;text-wrap:pretty}.hb-aside-link a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.hb-run-stdin{border-top:1px solid var(--border-subtle);padding:9px 18px 12px}.hb-run-stdin-head{display:flex;align-items:baseline;gap:10px;font-family:var(--mono);font-size:var(--fs-mono-sm);letter-spacing:.08em;color:var(--text-3);margin-bottom:6px}.hb-run-stdin-hint{letter-spacing:0;color:var(--text-faint)}.hb-run-stdin-input{width:100%;resize:vertical;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-panel);color:var(--text);padding:8px 11px;font-family:var(--mono);font-size:var(--fs-caption);line-height:1.6}.hb-run-stdin-input:focus{outline:none;border-color:var(--border-strong)}.hb-run-stdin-input::placeholder{color:var(--text-faint)}
