.tk-root{--bg:#0d0f12;--bg-elev:#14171c;--bg-elev-2:#1a1e24;--line:#1f242c;--line-strong:#2a313b;--ink:#e8ecf1;--ink-dim:#9aa3b0;--ink-faint:#5d6675;--accent:#d97757;--accent-2:#6ea8ff;--accent-soft:#d977571f;--accent-line:#d977574d;--ok:#7dd3a0;--warn:#e6b25c;--err:#e88080;--code-bg:#0a0c0f;--chip-bg:#1a1e24;--mono:var(--font-jetbrains-mono),"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--sans:var(--font-inter),"Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-family:var(--sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.tk-root h1,.tk-root h2,.tk-root h3{font-family:var(--sans);letter-spacing:-.015em;font-weight:600}.tk-root code,.tk-root pre{font-family:var(--mono)}.tk-root *,.tk-root :before,.tk-root :after{box-sizing:border-box}.tk-root button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}.tk-root a{color:inherit;text-decoration:none}.tk-root ::-webkit-scrollbar{width:8px;height:8px}.tk-root ::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.tk-root ::-webkit-scrollbar-track{background:0 0}.tk-root .code-inline{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--line);color:#e89a7d;border-radius:4px;padding:1px 6px;font-size:.86em}.tk-root ::selection{background:var(--accent-soft);color:var(--ink)}.tk-root .vb-root{font-feature-settings:"ss01","cv11";flex-direction:column;height:100vh;display:flex;overflow:hidden}.tk-root .vb-header{border-bottom:1px solid var(--line);background:var(--bg-elev);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:44px;padding:0 14px;display:flex}.tk-root .vb-header-left{align-items:center;display:flex}.tk-root .vb-header-right{justify-content:flex-end;align-items:center;gap:6px;display:flex}.tk-root .vb-crumbs{font-family:var(--mono);color:var(--ink-faint);align-items:center;gap:6px;font-size:12px;display:flex}.tk-root .vb-crumb-sep{opacity:.5}.tk-root .vb-crumb.is-current{color:var(--ink)}.tk-root .vb-pill-beta{font-family:var(--mono);letter-spacing:.12em;background:var(--accent-soft);color:var(--accent);border-radius:3px;margin-left:6px;padding:2px 5px;font-size:9px}.tk-root .vb-cmdbar{background:var(--bg);border:1px solid var(--line);width:360px;height:28px;font-family:var(--mono);color:var(--ink-faint);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 10px;font-size:11.5px;transition:border-color .15s;display:flex}.tk-root .vb-cmdbar:hover{border-color:var(--line-strong)}.tk-root .vb-cmdbar span{text-align:left;flex:1}.tk-root .vb-cmdbar kbd{font-family:var(--mono);background:var(--bg-elev-2);border:1px solid var(--line);color:var(--ink-faint);border-radius:3px;padding:1px 5px;font-size:10px}.tk-root .vb-stat{background:var(--bg);border:1px solid var(--line);height:26px;font-family:var(--mono);color:var(--ink-dim);border-radius:5px;align-items:center;gap:6px;padding:0 10px;font-size:10.5px;display:inline-flex}.tk-root .vb-stat-dot{border-radius:50%;width:6px;height:6px;box-shadow:0 0 5px}.tk-root .vb-stat-bar{background:var(--line);border-radius:2px;width:60px;height:3px;overflow:hidden}.tk-root .vb-stat-bar span{background:var(--accent);height:100%;display:block}.tk-root .vb-iconbtn{width:28px;height:28px;color:var(--ink-faint);border-radius:5px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.tk-root .vb-iconbtn:hover{background:var(--bg);color:var(--ink)}.tk-root .vb-header-divider{background:var(--line);width:1px;height:18px;margin:0 4px}.tk-root .vb-prevnext{height:28px;font-family:var(--mono);color:var(--ink-dim);background:var(--bg);border:1px solid var(--line);border-radius:5px;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:inline-flex}.tk-root .vb-prevnext:hover{color:var(--ink);border-color:var(--line-strong)}.tk-root .vb-prevnext.is-primary{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.tk-root .vb-prevnext.is-primary:hover{background:#d9775733}.tk-root .vb-body{flex:1;min-height:0;display:flex}.tk-root .vb-rail{background:var(--bg-elev);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;align-items:center;width:44px;padding:8px 0;display:flex}.tk-root .vb-rail-brand{border-bottom:1px solid var(--line);justify-content:center;width:100%;margin-bottom:8px;padding:4px 0 12px;display:flex}.tk-root .vb-rail-mark{background:var(--accent);color:#14110d;width:26px;height:26px;font-family:var(--mono);border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;box-shadow:0 0 12px #d977574d}.tk-root .vb-rail-items{flex-direction:column;flex:1;align-items:center;gap:2px;width:100%;display:flex}.tk-root .vb-rail-foot{border-top:1px solid var(--line);justify-content:center;width:100%;padding-top:8px;display:flex}.tk-root .vb-rail-btn{width:30px;height:30px;color:var(--ink-faint);border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex;position:relative}.tk-root .vb-rail-btn:hover{background:var(--bg);color:var(--ink)}.tk-root .vb-rail-btn.is-active{color:var(--accent);background:var(--bg)}.tk-root .vb-rail-btn.is-active:before{content:"";background:var(--accent);border-radius:0 1px 1px 0;width:2px;position:absolute;top:6px;bottom:6px;left:-7px}.tk-root .vb-rail-avatar{background:linear-gradient(135deg,var(--accent),#b85a3d);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:600;display:flex}.tk-root .vb-cols{flex:1;grid-template-columns:minmax(360px,460px) 1fr 230px;min-width:0;display:grid}.tk-root .vb-desc{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;min-height:0;display:flex}.tk-root .vb-tabs{border-bottom:1px solid var(--line);background:var(--bg-elev);flex-shrink:0;align-items:stretch;gap:2px;height:36px;padding:0 6px;display:flex}.tk-root .vb-tab{font-family:var(--mono);color:var(--ink-faint);border-radius:5px;margin:5px 0;padding:0 12px;font-size:11.5px;transition:background .12s,color .12s}.tk-root .vb-tab:hover{color:var(--ink-dim)}.tk-root .vb-tab.is-active{color:var(--ink);background:var(--bg)}.tk-root .vb-desc-scroll{flex:1;padding:24px 28px 32px;overflow-y:auto}.tk-root .vb-tags{flex-wrap:wrap;gap:5px;margin-bottom:14px;display:flex}.tk-root .vb-tag{font-family:var(--mono);background:var(--bg-elev-2);color:var(--ink-dim);text-transform:lowercase;letter-spacing:.04em;border-radius:3px;padding:2px 7px;font-size:10px}.tk-root .vb-tag-easy{color:var(--ok);background:#7dd3a01f}.tk-root .vb-h1{letter-spacing:-.025em;color:var(--ink);margin:0 0 8px;font-size:26px;font-weight:600}.tk-root .vb-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.tk-root .vb-title-row .vb-h1{flex:1;min-width:0;margin:0}.tk-root .vb-openlocal{flex-shrink:0;margin-top:4px;position:relative}.tk-root .vb-openlocal-btn{border:1px solid var(--accent-line);background:var(--accent-soft);height:26px;color:var(--accent);font-family:var(--mono);letter-spacing:.01em;white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:0 9px 0 8px;font-size:11px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.tk-root .vb-openlocal-btn:hover{background:#d977572e;border-color:#d9775780}.tk-root .vb-openlocal-btn.is-open{background:#d9775738;border-color:#d977578c}.tk-root .vb-openlocal-pop{z-index:30;background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:8px;width:340px;padding:4px 0 0;animation:.14s ease-out vb-openlocal-in;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 48px -16px #000000b3,0 2px 6px #0000004d}.tk-root .vb-openlocal-pop:before{content:"";background:var(--bg-elev);border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);width:9px;height:9px;position:absolute;top:-5px;right:18px;transform:rotate(45deg)}@keyframes vb-openlocal-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tk-root .vb-openlocal-head{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.tk-root .vb-openlocal-eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-size:9.5px}.tk-root .vb-openlocal-close{width:18px;height:18px;color:var(--ink-faint);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.tk-root .vb-openlocal-close:hover{background:var(--bg);color:var(--ink)}.tk-root .vb-openlocal-step{padding:10px 12px 4px}.tk-root .vb-openlocal-step-label{color:var(--ink-dim);align-items:center;gap:8px;margin-bottom:6px;font-size:11.5px;display:flex}.tk-root .vb-openlocal-step-num{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;font-size:9.5px}.tk-root .vb-openlocal-cmd{background:var(--code-bg);border:1px solid var(--line);font-family:var(--mono);border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:11.5px;display:flex}.tk-root .vb-openlocal-cmd-prompt{color:var(--ink-faint);-webkit-user-select:none;user-select:none}.tk-root .vb-openlocal-cmd code{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tk-root .vb-openlocal-copy{width:22px;height:22px;color:var(--ink-faint);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tk-root .vb-openlocal-copy:hover{background:var(--bg-elev-2);color:var(--ink)}.tk-root .vb-openlocal-foot{border-top:1px dashed var(--line);font-family:var(--mono);color:var(--ink-faint);margin-top:6px;padding:10px 12px 12px;font-size:10.5px;line-height:1.5}.tk-root .vb-openlocal-foot code{color:var(--accent);background:var(--code-bg);border:1px solid var(--line);border-radius:3px;padding:0 3px;font-size:10.5px}.tk-root .vb-meta-row{font-family:var(--mono);color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;font-size:10.5px;display:flex}.tk-root .vb-meta-row strong{color:var(--ink)}.tk-root .vb-dot{background:var(--ink-faint);opacity:.5;border-radius:50%;width:3px;height:3px}.tk-root .vb-success-rate{color:var(--ok)}.tk-root .vb-section{border-top:1px dashed var(--line);padding:16px 0}.tk-root .vb-section:first-of-type{border-top:none;padding-top:0}.tk-root .vb-section-head{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.tk-root .vb-section-num{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;font-size:10px}.tk-root .vb-section-title{color:var(--ink);font-size:14px;font-weight:600}.tk-root .vb-desc p{color:var(--ink-dim);text-wrap:pretty;margin:0 0 10px;font-size:13px;line-height:1.65}.tk-root .vb-desc strong{color:var(--ink);font-weight:600}.tk-root .vb-codeblock{background:var(--code-bg);border:1px solid var(--line);-moz-column-gap:14px;border-radius:6px;grid-template-columns:auto 1fr;column-gap:14px;margin:12px 0 6px;padding:10px 12px;font-size:12px;line-height:1.7;display:grid;overflow-x:auto}.tk-root .vb-codeblock .vb-cl-num{color:var(--ink-faint);-webkit-user-select:none;user-select:none;text-align:right;padding-right:4px}.tk-root .vb-codeblock .kw{color:var(--accent)}.tk-root .vb-codeblock .var{color:var(--ink)}.tk-root .vb-codeblock .str{color:var(--ok)}.tk-root .vb-codeblock .macro{color:var(--warn)}.tk-root .vb-codeblock .comment{color:var(--ink-faint);grid-column:2;font-style:italic}.tk-root .vb-task{background:var(--bg-elev);border:1px solid var(--accent-line);border-radius:8px;margin-top:28px;overflow:hidden}.tk-root .vb-task-head{background:var(--accent-soft);border-bottom:1px solid var(--accent-line);padding:8px 14px}.tk-root .vb-task-eyebrow{font-family:var(--mono);letter-spacing:.18em;color:var(--accent);font-size:10px;font-weight:600}.tk-root .vb-task-body{color:var(--ink);border-bottom:1px solid var(--line);padding:12px 14px;font-size:13px;line-height:1.55}.tk-root .vb-task-spec{padding:8px 14px}.tk-root .vb-spec-row{font-size:11.5px;font-family:var(--mono);grid-template-columns:60px 1fr;align-items:center;padding:4px 0;display:grid}.tk-root .vb-spec-row span{color:var(--ink-faint)}.tk-root .vb-spec-row code{color:var(--ink)}.tk-root .vb-editor-stack{background:var(--bg);border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex}.tk-root .vb-editor{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.tk-root .vb-tabbar{border-bottom:1px solid var(--line);background:var(--bg-elev);flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding-right:8px;display:flex}.tk-root .vb-files{height:100%;display:flex}.tk-root .vb-filetab{font-family:var(--mono);color:var(--ink-faint);border-right:1px solid var(--line);align-items:center;gap:7px;padding:0 14px;font-size:11.5px;display:inline-flex;position:relative}.tk-root .vb-filetab svg{opacity:.5}.tk-root .vb-filetab.is-active{background:var(--bg);color:var(--ink)}.tk-root .vb-filetab.is-active:before{content:"";background:var(--accent);height:1.5px;position:absolute;inset:-1px 0 auto}.tk-root .vb-filetab:hover:not(.is-active){color:var(--ink-dim)}.tk-root .vb-filetab-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.tk-root .vb-editor-actions{align-items:center;gap:4px;display:flex}.tk-root .vb-action-mini{font-family:var(--mono);color:var(--ink-faint);border-radius:4px;padding:4px 8px;font-size:10.5px}.tk-root .vb-action-mini:hover{background:var(--bg);color:var(--ink)}.tk-root .vb-action-divider{background:var(--line);width:1px;height:14px;margin:0 4px}.tk-root .vb-action{font-family:var(--mono);border:1px solid var(--line);background:var(--bg);color:var(--ink-dim);border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:500;display:inline-flex}.tk-root .vb-action kbd{font-family:var(--mono);background:var(--bg-elev-2);border:1px solid var(--line);color:var(--ink-faint);border-radius:3px;padding:1px 4px;font-size:9.5px}.tk-root .vb-action-run{color:var(--ok);border-color:#7dd3a040}.tk-root .vb-action-run:hover{background:#7dd3a014}.tk-root .vb-action-submit{background:var(--accent);border-color:var(--accent);color:#14110d;font-weight:600}.tk-root .vb-action-submit kbd{color:#14110db3;background:#0000002e;border-color:#0000002e}.tk-root .vb-action-submit:hover{background:#e58468}.tk-root .vb-codewrap{background:var(--code-bg);flex:1;min-height:0;display:flex;position:relative}.tk-root .vb-gutter{text-align:right;font-family:var(--mono);color:var(--ink-faint);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);padding:14px 12px 14px 16px;font-size:12px;line-height:1.7}.tk-root .vb-gutter div.is-current{color:var(--accent)}.tk-root .vb-codecol{flex:1;min-width:0;position:relative;overflow:auto}.tk-root .vb-code{font-family:var(--mono);color:var(--ink);white-space:pre;margin:0;padding:14px 18px;font-size:12.5px;line-height:1.7}.tk-root .vb-codeline{display:block}.tk-root .vb-code .kw{color:var(--accent)}.tk-root .vb-code .fn{color:var(--accent-2)}.tk-root .vb-code .comment{color:var(--ink-faint);font-style:italic}.tk-root .vb-code .caret{background:var(--accent);color:#0000;width:1.5px;margin-left:-1px;animation:1.1s infinite vb-blink;display:inline-block}@keyframes vb-blink{50%{opacity:0}}.tk-root .vb-inline-hint{background:var(--bg-elev-2);border:1px solid var(--line);border-left:2px solid var(--accent);font-family:var(--mono);color:var(--ink-dim);border-radius:5px;align-items:center;gap:8px;padding:6px 10px;font-size:11px;display:inline-flex;position:absolute;bottom:14px;left:18px}.tk-root .vb-inline-hint code{color:var(--accent)}.tk-root .vb-inline-hint kbd{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:3px;padding:1px 4px;font-size:9.5px}.tk-root .vb-statusbar{border-top:1px solid var(--line);height:22px;font-family:var(--mono);color:var(--ink-faint);background:var(--bg-elev);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 12px;font-size:10px;display:flex}.tk-root .vb-status-l,.tk-root .vb-status-r{align-items:center;gap:8px;display:flex}.tk-root .vb-status-pill{color:var(--c,var(--ok))}.tk-root .vb-status-sep{opacity:.5}.tk-root .vb-context{background:var(--bg-elev);flex-direction:column;gap:22px;padding:16px 14px;display:flex;overflow-y:auto}.tk-root .vb-ctx-section{flex-direction:column;gap:7px;display:flex}.tk-root .vb-ctx-head{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:2px;font-size:9.5px}.tk-root .vb-progress-list{flex-direction:column;gap:1px;display:flex}.tk-root .vb-prog-item{font-family:var(--mono);color:var(--ink-faint);border-radius:4px;align-items:center;gap:8px;padding:5px 6px;font-size:11px;display:flex}.tk-root .vb-prog-item.is-done{color:var(--ink-dim)}.tk-root .vb-prog-item.is-done span:nth-child(2){text-decoration:line-through}.tk-root .vb-prog-item.is-current{color:var(--ink);background:var(--bg);font-weight:500}.tk-root .vb-prog-icon{width:13px;color:var(--ink-faint);justify-content:center;align-items:center;display:flex}.tk-root .vb-prog-item.is-done .vb-prog-icon{color:var(--ok)}.tk-root .vb-prog-pulse{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.6s infinite vb-pulse;display:block;box-shadow:0 0 #d9775799}@keyframes vb-pulse{0%{box-shadow:0 0 #d9775780}70%{box-shadow:0 0 0 6px #d9775700}to{box-shadow:0 0 #d9775700}}.tk-root .vb-test-row{font-family:var(--mono);align-items:center;gap:8px;padding:6px 0;font-size:11px;display:flex}.tk-root .vb-test-dot{border:1.3px solid var(--line-strong);border-radius:50%;width:8px;height:8px}.tk-root .vb-test-name{color:var(--ink-dim);flex:1}.tk-root .vb-test-status{color:var(--ink-faint);font-size:10px}.tk-root .vb-stats-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.tk-root .vb-stats-grid>div{background:var(--bg);border:1px solid var(--line);text-align:center;border-radius:5px;padding:8px 6px}.tk-root .vb-stat-num{font-family:var(--mono);color:var(--ink);font-size:16px;font-weight:600}.tk-root .vb-stat-lbl{font-family:var(--mono);color:var(--ink-faint);text-transform:lowercase;letter-spacing:.04em;margin-top:2px;font-size:9.5px}.tk-root .vb-ref{font-family:var(--mono);color:var(--ink-dim);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:5px 6px;font-size:11px;transition:color .12s,background .12s;display:flex}.tk-root .vb-ref:hover{color:var(--accent);background:var(--bg)}.tk-root .vb-ref-icon{color:var(--ink-faint)}.tk-root{font-feature-settings:"ss01","cv11";flex-direction:column;height:100vh;display:flex;overflow:hidden}.tk-root .tk-body{flex:1;min-height:0;display:flex}.tk-root .tk-main{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.tk-root .tk-subnav{border-bottom:1px solid var(--line);background:var(--bg-elev);flex-shrink:0;justify-content:space-between;align-items:center;height:36px;padding:0 16px 0 18px;display:flex}.tk-root .tk-subnav-tabs{align-items:center;gap:2px;height:100%;display:flex}.tk-root .tk-subnav-tab{font-family:var(--mono);height:26px;color:var(--ink-faint);border-radius:5px;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;transition:background .12s,color .12s;display:inline-flex}.tk-root .tk-subnav-tab:hover{color:var(--ink-dim)}.tk-root .tk-subnav-tab.is-active{color:var(--ink);background:var(--bg);position:relative}.tk-root .tk-subnav-tab.is-active:after{content:"";background:var(--accent);height:1.5px;position:absolute;bottom:-8px;left:8px;right:8px}.tk-root .tk-subnav-tab .tk-count{background:var(--bg-elev-2);color:var(--ink-faint);letter-spacing:.04em;border-radius:3px;padding:1px 5px;font-size:9.5px}.tk-root .tk-subnav-right{align-items:center;gap:8px;display:flex}.tk-root .tk-search{background:var(--bg);border:1px solid var(--line);width:220px;height:26px;font-family:var(--mono);color:var(--ink-faint);border-radius:5px;align-items:center;gap:7px;padding:0 10px;font-size:11px;display:inline-flex}.tk-root .tk-search:focus-within{border-color:var(--line-strong)}.tk-root .tk-search svg{flex-shrink:0}.tk-root .tk-search input{color:var(--ink);font:inherit;background:0 0;border:none;outline:none;flex:1}.tk-root .tk-search input::placeholder{color:var(--ink-faint)}.tk-root .tk-search kbd{font-family:var(--mono);background:var(--bg-elev-2);border:1px solid var(--line);color:var(--ink-faint);border-radius:3px;padding:1px 4px;font-size:9.5px}.tk-root .tk-sort-btn{background:var(--bg);border:1px solid var(--line);height:26px;font-family:var(--mono);color:var(--ink-dim);border-radius:5px;align-items:center;gap:6px;padding:0 10px;font-size:11px;display:inline-flex}.tk-root .tk-sort-btn:hover{border-color:var(--line-strong);color:var(--ink)}.tk-root .tk-viewtoggle{border:1px solid var(--line);border-radius:5px;height:26px;display:inline-flex;overflow:hidden}.tk-root .tk-viewtoggle button{width:28px;color:var(--ink-faint);background:var(--bg);justify-content:center;align-items:center;display:inline-flex}.tk-root .tk-viewtoggle button.is-active{background:var(--bg-elev-2);color:var(--ink)}.tk-root .tk-viewtoggle button+button{border-left:1px solid var(--line)}.tk-root .tk-page{flex:1;grid-template-columns:1fr 260px;min-height:0;display:grid;overflow-y:auto}.tk-root .tk-content{border-right:1px solid var(--line);min-width:0;padding:28px 32px 40px}.tk-root .tk-page-head{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;padding-bottom:18px;display:flex}.tk-root .tk-eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:10px}.tk-root .tk-page-title{letter-spacing:-.025em;color:var(--ink);margin:0 0 8px;font-size:30px;font-weight:600}.tk-root .tk-page-sub{color:var(--ink-dim);text-wrap:pretty;max-width:520px;margin:0;font-size:13px;line-height:1.6}.tk-root .tk-page-stats{flex-shrink:0;gap:0;display:flex}.tk-root .tk-page-stats>div{border-left:1px solid var(--line);text-align:left;padding:0 18px}.tk-root .tk-page-stats>div:first-child{border-left:none;padding-left:0}.tk-root .tk-page-stats .tk-stat-num{font-family:var(--mono);color:var(--ink);font-size:22px;font-weight:600;line-height:1}.tk-root .tk-page-stats .tk-stat-lbl{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:6px;font-size:9.5px}.tk-root .tk-section-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:8px;margin:0 0 12px;font-size:9.5px;display:flex}.tk-root .tk-section-label:after{content:"";background:var(--line);flex:1;height:1px}.tk-root .tk-filters{flex-wrap:wrap;gap:5px;margin-bottom:22px;display:flex}.tk-root .tk-chip{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-faint);background:var(--bg-elev);border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.tk-root .tk-chip:hover{color:var(--ink-dim);border-color:var(--line-strong)}.tk-root .tk-chip.is-active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.tk-root .tk-chip-count{opacity:.6;font-size:9.5px}.tk-root .tk-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:26px;display:grid}@media (max-width:1100px){.tk-root .tk-grid{grid-template-columns:1fr}}.tk-root .tk-card{background:var(--bg-elev);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex-direction:column;gap:12px;padding:16px 16px 14px;transition:border-color .15s,transform .15s;display:flex;position:relative;overflow:hidden}.tk-root .tk-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.tk-root .tk-card.is-featured{border-color:var(--accent-line);background:linear-gradient(135deg,#d977570d 0%,transparent 50%),var(--bg-elev)}.tk-root .tk-card.is-featured:before{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);height:1.5px;position:absolute;top:0;left:0;right:0}.tk-root .tk-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.tk-root .tk-card-id{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;align-items:center;gap:8px;font-size:10px;display:inline-flex}.tk-root .tk-card-id-glyph{background:var(--bg-elev-2);border:1px solid var(--line);width:32px;height:32px;font-family:var(--mono);color:var(--accent);border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex}.tk-root .tk-card.is-featured .tk-card-id-glyph{background:var(--accent-soft);border-color:var(--accent-line)}.tk-root .tk-card-flag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:9px}.tk-root .tk-flag-new{color:var(--accent-2);background:#6ea8ff1f}.tk-root .tk-flag-popular{color:var(--ok);background:#7dd3a01f}.tk-root .tk-flag-locked{background:var(--bg-elev-2);color:var(--ink-faint)}.tk-root .tk-card-title{letter-spacing:-.015em;color:var(--ink);margin:0;font-size:17px;font-weight:600}.tk-root .tk-card-blurb{color:var(--ink-dim);text-wrap:pretty;margin:0;font-size:12.5px;line-height:1.55}.tk-root .tk-card-meta{font-family:var(--mono);color:var(--ink-faint);align-items:center;gap:10px;font-size:10.5px;display:flex}.tk-root .tk-card-meta strong{color:var(--ink-dim);font-weight:500}.tk-root .tk-card-meta-dot{background:var(--ink-faint);opacity:.5;border-radius:50%;width:3px;height:3px}.tk-root .tk-card-progress{flex-direction:column;gap:5px;margin-top:2px;display:flex}.tk-root .tk-card-progress-row{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.04em;justify-content:space-between;font-size:10px;display:flex}.tk-root .tk-card-progress-row strong{color:var(--ink-dim);font-weight:500}.tk-root .tk-progressbar{background:var(--line);border-radius:2px;height:3px;position:relative;overflow:hidden}.tk-root .tk-progressbar>span{background:var(--accent);border-radius:2px;height:100%;display:block}.tk-root .tk-progressbar.is-zero>span{background:var(--ink-faint);opacity:.4}.tk-root .tk-card-tags{flex-wrap:wrap;gap:4px;display:flex}.tk-root .tk-mini-tag{font-family:var(--mono);background:var(--bg-elev-2);color:var(--ink-faint);letter-spacing:.04em;border-radius:3px;padding:2px 6px;font-size:9.5px}.tk-root .tk-card-cta{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;padding-top:10px;display:flex}.tk-root .tk-card-cta-left{font-family:var(--mono);color:var(--ink-faint);align-items:center;gap:6px;font-size:10.5px;display:flex}.tk-root .tk-card-cta-btn{font-family:var(--mono);color:var(--accent);border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;display:inline-flex}.tk-root .tk-card-cta-btn:hover{background:#d9775733}.tk-root .tk-card.is-locked{opacity:.62}.tk-root .tk-card.is-locked .tk-card-cta-btn{border-color:var(--line);background:var(--bg-elev-2);color:var(--ink-faint)}.tk-root .tk-list{flex-direction:column;gap:0;margin-bottom:26px;display:flex}.tk-root .tk-row{border-bottom:1px solid var(--line);font-family:var(--mono);color:var(--ink-dim);cursor:pointer;grid-template-columns:28px 1fr 140px 110px 60px;align-items:center;gap:14px;padding:14px 4px;font-size:11.5px;transition:background .1s;display:grid}.tk-root .tk-row:hover{background:var(--bg-elev)}.tk-root .tk-row-num{color:var(--ink-faint)}.tk-root .tk-row-title{color:var(--ink);font-weight:500}.tk-root .tk-row-blurb{color:var(--ink-faint);margin-top:2px;font-size:10.5px}.tk-root .tk-side{background:var(--bg-elev);flex-direction:column;gap:22px;padding:18px 16px;display:flex;overflow-y:auto}.tk-root .tk-side-block{flex-direction:column;gap:8px;display:flex}.tk-root .tk-side-head{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 4px;font-size:9.5px}.tk-root .tk-streak{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:12px}.tk-root .tk-streak-num{font-family:var(--mono);color:var(--ink);align-items:baseline;gap:4px;font-size:28px;font-weight:600;display:flex}.tk-root .tk-streak-num small{color:var(--ink-faint);letter-spacing:.08em;font-size:11px;font-weight:400}.tk-root .tk-streak-grid{grid-template-columns:repeat(14,1fr);gap:2px;margin-top:12px;display:grid}.tk-root .tk-streak-grid>span{background:var(--line);border-radius:1.5px;height:10px}.tk-root .tk-streak-grid>span.is-on{background:var(--accent);opacity:.85}.tk-root .tk-streak-grid>span.is-on-soft{background:var(--accent);opacity:.45}.tk-root .tk-streak-grid>span.is-today{background:var(--accent);box-shadow:0 0 0 1px #d9775766}.tk-root .tk-side-list{flex-direction:column;gap:1px;display:flex}.tk-root .tk-side-item{font-family:var(--mono);color:var(--ink-dim);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 7px;font-size:11px;display:flex}.tk-root .tk-side-item:hover{background:var(--bg);color:var(--ink)}.tk-root .tk-side-item-meta{color:var(--ink-faint);font-size:10px}.tk-root .tk-detail-page{flex:1;grid-template-columns:1fr 280px;min-height:0;display:grid;overflow-y:auto}.tk-root .tk-detail-main{border-right:1px solid var(--line);min-width:0}.tk-root .tk-detail-hero{border-bottom:1px dashed var(--line);background:linear-gradient(#d977570a,#0000);padding:26px 32px 22px;position:relative}.tk-root .tk-hero-grid{background-image:linear-gradient(var(--line)1px,transparent 1px),linear-gradient(90deg,var(--line)1px,transparent 1px);opacity:.25;pointer-events:none;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 80% at 100% 0,#000,#0000 70%);mask-image:radial-gradient(60% 80% at 100% 0,#000,#0000 70%)}.tk-root .tk-hero-inner{position:relative}.tk-root .tk-hero-top{font-family:var(--mono);color:var(--ink-faint);align-items:center;gap:10px;margin-bottom:14px;font-size:10.5px;display:flex}.tk-root .tk-hero-back{color:var(--ink-faint);align-items:center;gap:4px;display:inline-flex}.tk-root .tk-hero-back:hover{color:var(--ink)}.tk-root .tk-hero-sep{opacity:.5}.tk-root .tk-hero-flag{font-family:var(--mono);letter-spacing:.14em;color:var(--ok);text-transform:uppercase;background:#7dd3a01f;border-radius:3px;padding:2px 6px;font-size:9px}.tk-root .tk-hero-row{grid-template-columns:1fr auto;align-items:end;gap:28px;display:grid}.tk-root .tk-hero-title{letter-spacing:-.03em;color:var(--ink);margin:0 0 12px;font-size:36px;font-weight:600;line-height:1.05}.tk-root .tk-hero-sub{color:var(--ink-dim);text-wrap:pretty;max-width:560px;margin:0 0 18px;font-size:14px;line-height:1.55}.tk-root .tk-hero-tags{flex-wrap:wrap;gap:5px;margin-bottom:16px;display:flex}.tk-root .tk-hero-tag{font-family:var(--mono);background:var(--bg-elev);border:1px solid var(--line);color:var(--ink-dim);letter-spacing:.04em;border-radius:3px;padding:3px 8px;font-size:10px}.tk-root .tk-hero-cta-row{align-items:center;gap:10px;display:flex}.tk-root .tk-hero-primary{background:var(--accent);color:#14110d;font-family:var(--mono);border-radius:5px;align-items:center;gap:8px;padding:8px 14px;font-size:11.5px;font-weight:600;display:inline-flex}.tk-root .tk-hero-primary:hover{background:#e58468}.tk-root .tk-hero-primary kbd{font-family:var(--mono);color:#14110db3;background:#0000002e;border:1px solid #0000002e;border-radius:3px;padding:1px 4px;font-size:9.5px}.tk-root .tk-hero-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:8px;width:240px;padding:14px}.tk-root .tk-hero-card-head{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:10px;font-size:9.5px}.tk-root .tk-hero-card-num{font-family:var(--mono);color:var(--ink);align-items:baseline;gap:6px;font-size:32px;font-weight:600;display:flex}.tk-root .tk-hero-card-num small{color:var(--ink-faint);font-size:14px;font-weight:400}.tk-root .tk-hero-card-lbl{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.06em;margin-bottom:12px;font-size:10px}.tk-root .tk-hero-card-bar{background:var(--line);border-radius:2px;height:4px;margin-bottom:12px;overflow:hidden}.tk-root .tk-hero-card-bar>span{background:var(--accent);border-radius:2px;height:100%;display:block}.tk-root .tk-hero-card-foot{font-family:var(--mono);color:var(--ink-faint);border-top:1px dashed var(--line);justify-content:space-between;padding-top:10px;font-size:10px;display:flex}.tk-root .tk-hero-card-foot strong{color:var(--ink-dim);font-weight:500}.tk-root .tk-modules{flex-direction:column;gap:22px;padding:22px 32px 40px;display:flex}.tk-root .tk-modules-toolbar{align-items:center;gap:8px;display:flex}.tk-root .tk-modules-toolbar .tk-search{flex:1;max-width:360px}.tk-root .tk-module-empty{font-family:var(--mono);color:var(--ink-dim);text-align:center;padding:18px 16px;font-size:11px}.tk-root .tk-module{border:1px solid var(--line);background:var(--bg-elev);border-radius:8px;overflow:hidden}.tk-root .tk-module-head{border-bottom:1px solid var(--line);background:var(--bg-elev-2);align-items:center;gap:12px;padding:12px 16px;display:flex}.tk-root .tk-module-num{font-family:var(--mono);color:var(--accent);letter-spacing:.12em;flex-shrink:0;width:28px;font-size:10px;font-weight:600}.tk-root .tk-module-title{font-family:var(--sans);color:var(--ink);letter-spacing:-.01em;flex:1;font-size:14px;font-weight:600}.tk-root .tk-module-meta{font-family:var(--mono);color:var(--ink-faint);gap:10px;font-size:10.5px;display:flex}.tk-root .tk-module-meta-dot{background:var(--ink-faint);opacity:.5;border-radius:50%;align-self:center;width:3px;height:3px}.tk-root .tk-challenge{border-bottom:1px solid var(--line);font-family:var(--mono);cursor:pointer;grid-template-columns:22px 22px 1fr auto auto auto;align-items:center;gap:14px;padding:11px 16px;font-size:12px;transition:background .1s;display:grid}.tk-root .tk-challenge:last-child{border-bottom:none}.tk-root .tk-challenge:hover,.tk-root .tk-challenge.is-current{background:var(--bg)}.tk-root .tk-challenge.is-current:before{content:"";background:var(--accent);grid-area:1/1;width:2px;height:18px;margin-left:-16px;margin-right:14px;display:block}.tk-root .tk-ch-status{justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.tk-root .tk-ch-status.is-done{background:var(--ok);color:var(--bg);border-radius:50%}.tk-root .tk-ch-status.is-current{border:1.5px solid var(--accent);border-radius:50%;position:relative}.tk-root .tk-ch-status.is-current:after{content:"";background:var(--accent);border-radius:50%;animation:1.6s infinite vb-pulse;position:absolute;inset:3px}.tk-root .tk-ch-status.is-todo{border:1.3px dashed var(--line-strong);border-radius:50%}.tk-root .tk-ch-num{color:var(--ink-faint);letter-spacing:.04em;font-size:10.5px}.tk-root .tk-ch-title{color:var(--ink);align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.tk-root .tk-ch-title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tk-root .tk-challenge.is-done .tk-ch-title{color:var(--ink-dim)}.tk-root .tk-ch-difficulty{letter-spacing:.08em;text-transform:lowercase;border-radius:3px;padding:2px 7px;font-size:9.5px}.tk-root .tk-diff-easy{color:var(--ok);background:#7dd3a01f}.tk-root .tk-diff-medium{color:var(--warn);background:#e6b25c1f}.tk-root .tk-diff-hard{color:var(--err);background:#e880801f}.tk-root .tk-ch-arrow{color:var(--ink-faint)}.tk-root .tk-challenge:hover .tk-ch-arrow{color:var(--accent)}.tk-root .tk-detail-side{background:var(--bg-elev);flex-direction:column;gap:22px;padding:22px 16px;display:flex;overflow-y:auto}.tk-root .tk-meta-grid{background:var(--line);border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.tk-root .tk-meta-grid>div{background:var(--bg-elev);padding:10px 12px}.tk-root .tk-meta-num{font-family:var(--mono);color:var(--ink);font-size:16px;font-weight:600}.tk-root .tk-meta-lbl{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.06em;text-transform:lowercase;margin-top:2px;font-size:9.5px}.tk-root .tk-skills{flex-wrap:wrap;gap:4px;display:flex}.tk-root .tk-skill{font-family:var(--mono);background:var(--bg);border:1px solid var(--line);color:var(--ink-dim);letter-spacing:.04em;border-radius:3px;padding:3px 7px;font-size:10px}.tk-root .tk-cohort{font-family:var(--mono);color:var(--ink-faint);flex-direction:column;gap:6px;font-size:10.5px;display:flex}.tk-root .tk-cohort-row{border-bottom:1px dashed var(--line);justify-content:space-between;padding:4px 0;display:flex}.tk-root .tk-cohort-row:last-child{border-bottom:none}.tk-root .tk-cohort-row strong{color:var(--ink-dim);font-weight:500}
.vb-rail-menu{font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#e8ecf1!important;background:#14171c!important;border:1px solid #2a313b!important;border-radius:8px!important;padding:4px!important;box-shadow:0 12px 32px #0000008c,0 0 0 1px #ffffff05!important}.vb-rail-menu-label{flex-direction:column;gap:2px;display:flex;padding:8px 8px 6px!important}.vb-rail-menu-label-name{color:#e8ecf1;font-size:13px;font-weight:600;line-height:1.2}.vb-rail-menu-label-email{color:#9aa3b0;font-size:11px;font-weight:400;font-family:var(--font-jetbrains-mono),ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:-.01em}.vb-rail-menu-sep{background:#1f242c!important;margin:4px 0!important}.vb-rail-menu-item{cursor:pointer;outline:none;align-items:center;gap:8px;display:flex;color:#9aa3b0!important;border-radius:5px!important;padding:7px 8px!important;font-size:12.5px!important;transition:background .12s,color .12s!important}.vb-rail-menu-item:hover,.vb-rail-menu-item:focus,.vb-rail-menu-item[data-highlighted]{color:#e8ecf1!important;background:#1a1e24!important}.vb-rail-menu-item-icon{color:#5d6675;flex-shrink:0;transition:color .12s}.vb-rail-menu-item:hover .vb-rail-menu-item-icon,.vb-rail-menu-item:focus .vb-rail-menu-item-icon,.vb-rail-menu-item[data-highlighted] .vb-rail-menu-item-icon{color:#d97757}.vb-rail-menu-item-danger:hover,.vb-rail-menu-item-danger:focus,.vb-rail-menu-item-danger[data-highlighted]{color:#e88080!important;background:#e8808014!important}.vb-rail-menu-item-danger:hover .vb-rail-menu-item-icon,.vb-rail-menu-item-danger:focus .vb-rail-menu-item-icon,.vb-rail-menu-item-danger[data-highlighted] .vb-rail-menu-item-icon{color:#e88080}
