.dh .dh-sk-hero{gap:var(--space-10);padding:var(--space-24) 0 var(--space-16);display:grid}.dh .dh-sk-hero .dh-eyebrow a{color:inherit}.dh .dh-sk-h1{color:var(--dh-fg);letter-spacing:-.03em;margin:0;font-size:clamp(30px,4vw,48px);font-weight:600;line-height:1.05}.dh .dh-sk-h1 em{color:#34d399;font-style:normal}.dh .dh-sk-lede{max-width:62ch;color:var(--dh-muted);font-size:var(--fs-lg);margin:0}.dh .dh-sk-figs{gap:var(--space-32);margin:var(--space-6) 0 0;display:flex}.dh .dh-sk-figs div{display:grid}.dh .dh-sk-figs dt{color:var(--dh-faint);font:500 var(--fs-2xs) / 1.4 var(--dh-mono);letter-spacing:.08em;text-transform:uppercase;order:2}.dh .dh-sk-figs dd{color:var(--dh-fg);font-size:var(--fs-4xl);order:1;margin:0;font-weight:600}.dh .dh-sk-bar{gap:var(--space-12);margin-bottom:var(--space-20);display:grid}.dh .dh-sk-search input{border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);width:100%;color:var(--dh-fg);font:inherit;padding:12px 16px}.dh .dh-sk-chips{gap:var(--space-6);flex-wrap:wrap;display:flex}.dh .dh-sk-chips a{border-radius:var(--radius);color:var(--dh-muted);font-size:var(--fs-sm);border:1px solid #ffffff24;padding:7px 14px}.dh .dh-sk-chips a[aria-current=page]{color:#0f1a2d;background:#f2f4f7;border-color:#f2f4f7;font-weight:500}.dh .dh-sk-grid{gap:var(--space-16);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));margin:0;padding:0;list-style:none;display:grid}.dh .dh-sk-card{border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);border-top:3px solid #34d39980;flex-direction:column;display:flex;overflow:hidden}.dh .dh-sk-card.is-done{border-top-color:#34d399}.dh .dh-sk-card.is-on{border-top-color:#5ee0ff}.dh a.dh-sk-card-top{align-items:center;gap:var(--space-12);padding:var(--space-16);border-bottom:1px solid var(--dh-line);color:var(--dh-fg);background:#ffffff05;display:flex}.dh .dh-sk-tech{border-radius:var(--radius);background:#fff;flex:none}.dh .dh-sk-card-name{min-width:0;font-size:var(--fs-xl);flex:1;font-weight:600}.dh .dh-sk-card-chips{justify-items:end;gap:var(--space-4);display:grid}.dh .dh-sk-pts,.dh .dh-sk-draft,.dh .dh-sk-state{font:600 var(--fs-2xs) / 1.6 var(--dh-mono);letter-spacing:.04em;white-space:nowrap;border-radius:3px;padding:1px 8px}.dh .dh-sk-pts{color:#1b1405;background:#e5c04b}.dh .dh-sk-draft{color:var(--dh-muted);border:1px dashed #ffffff59}.dh .dh-sk-state.is-done{color:#6ee7b7;background:#34d39929}.dh .dh-sk-state.is-on{color:#5ee0ff;background:#5ee0ff24}.dh .dh-sk-card-body{gap:var(--space-8);padding:var(--space-16);flex-direction:column;flex:1;display:flex}.dh .dh-sk-card-body p{margin:0}.dh .dh-sk-card-title{color:#6ee7b7;font:500 var(--fs-2xs) / 1.4 var(--dh-mono);letter-spacing:.06em;text-transform:uppercase}.dh .dh-sk-card-sum{-webkit-line-clamp:2;color:var(--dh-soft);font-size:var(--fs-md);-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.dh .dh-sk-card-meta{color:var(--dh-faint);font-size:var(--fs-sm)}.dh .dh-sk-bar-track{background:#ffffff14;border-radius:2px;height:4px;display:block;overflow:hidden}.dh .dh-sk-bar-track i{background:linear-gradient(90deg,#34d399,#5ee0ff);height:100%;display:block}.dh a.dh-sk-cta{border-radius:var(--radius);color:var(--dh-fg);font-size:var(--fs-base);border:1px solid #ffffff38;align-self:flex-start;margin-top:auto;padding:8px 14px;font-weight:500}.dh a.dh-sk-cta:hover{color:#6ee7b7;border-color:#34d399}.dh .dh-sk-back{margin:var(--space-20) 0 var(--space-12);font-size:var(--fs-sm)}.dh .dh-sk-back a{color:var(--dh-muted)}.dh .dh-sk-staff{margin:0 0 var(--space-12);padding:var(--space-8) var(--space-12);border-radius:var(--radius);color:#e5c04b;font-size:var(--fs-sm);border:1px dashed #e5c04b80}.dh .dh-sk-head{gap:var(--space-24);padding-bottom:var(--space-28);border-bottom:1px solid var(--dh-line);flex-wrap:wrap;display:flex}.dh .dh-sk-tech--big{border-radius:8px}.dh .dh-sk-head-text{gap:var(--space-8);flex:420px;min-width:0;display:grid}.dh .dh-sk-head-text p{margin:0}.dh .dh-sk-name{color:var(--dh-fg);letter-spacing:-.03em;margin:0;font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.05}.dh .dh-sk-outcome{color:#34d399;font:600 var(--fs-sm) / 1.4 var(--dh-mono);letter-spacing:.1em;text-transform:uppercase}.dh .dh-sk-sum{max-width:70ch;color:var(--dh-soft);font-size:var(--fs-lg);line-height:1.6}.dh .dh-sk-for,.dh .dh-sk-checked,.dh .dh-sk-note{color:var(--dh-muted);font-size:var(--fs-base)}.dh .dh-sk-meta{color:var(--dh-faint);font:500 var(--fs-sm) / 1.4 var(--dh-mono);letter-spacing:.06em;text-transform:uppercase}.dh .dh-sk-go{margin-top:var(--space-8);justify-self:start}.dh .dh-sk-cols{gap:var(--space-28);padding:var(--space-28) 0 var(--space-48);grid-template-columns:minmax(0,1fr) minmax(0,340px);display:grid}.dh .dh-sk-main{align-content:start;gap:var(--space-16);display:grid}.dh .dh-sk-progress{align-items:center;gap:var(--space-16);padding:var(--space-16) var(--space-20);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);display:flex}.dh .dh-sk-progress p{margin:0}.dh .dh-sk-ring{background:conic-gradient(#34d399 var(--pct,0%), #ffffff14 0);border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid}.dh .dh-sk-ring b{background:var(--dh-panel);width:50px;height:50px;color:var(--dh-fg);font-size:var(--fs-base);border-radius:50%;place-items:center;display:grid}.dh .dh-sk-progress-t{color:var(--dh-fg);font-size:var(--fs-lg);font-weight:600}.dh .dh-sk-progress-s{color:var(--dh-muted);font-size:var(--fs-base)}.dh .dh-sk-h2{margin:var(--space-8) 0 0;color:var(--dh-fg);font-size:var(--fs-2xl);font-weight:600}.dh .dh-sk-route{gap:var(--space-10);margin:0;padding:0;list-style:none;display:grid}.dh .dh-sk-route li{align-items:center;gap:var(--space-14);display:flex}.dh .dh-sk-step{width:32px;height:32px;color:var(--dh-muted);font-size:var(--fs-sm);border:1px solid #fff3;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.dh .dh-sk-route li.is-done .dh-sk-step,.dh .dh-ls-steps li.is-done .dh-sk-step{color:#06201c;background:#34d399;border-color:#34d399}.dh .dh-sk-route li.is-next .dh-sk-step{color:#0f1a2d;background:#5ee0ff;border-color:#5ee0ff}.dh .dh-sk-route a,.dh .dh-sk-later{padding:var(--space-12) var(--space-16);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);color:var(--dh-fg);flex:1;gap:2px;display:grid}.dh .dh-sk-route li.is-next a{border-color:#5ee0ff80}.dh .dh-sk-route a:hover{border-color:#ffffff4d}.dh .dh-sk-route b{font-size:var(--fs-lg);font-weight:600}.dh .dh-sk-route span:not(.dh-sk-here):not(.dh-sk-step),.dh .dh-sk-later span{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-sk-later{opacity:.75;border-style:dashed}.dh .dh-sk-here{color:#5ee0ff;font:600 var(--fs-2xs) / 1.4 var(--dh-mono);letter-spacing:.1em;text-transform:uppercase}.dh .dh-sk-side{align-content:start;gap:var(--space-12);padding:var(--space-20);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);display:grid}.dh .dh-sk-side p{margin:0}.dh .dh-sk-k{color:#34d399;font:600 var(--fs-2xs) / 1.4 var(--dh-mono);letter-spacing:.1em;text-transform:uppercase;margin:0;display:block}.dh .dh-sk-side-name{color:var(--dh-fg);font-size:var(--fs-xl);font-weight:600}.dh .dh-sk-side-name span{color:var(--dh-muted);font-size:var(--fs-base);font-weight:400;display:block}.dh .dh-sk-earn{gap:var(--space-12);counter-reset:earn;margin:0;padding:0;list-style:none;display:grid}.dh .dh-sk-earn li{padding-left:var(--space-32);counter-increment:earn;gap:2px;display:grid;position:relative}.dh .dh-sk-earn li:before{content:counter(earn);width:22px;height:22px;color:var(--dh-muted);font-size:var(--fs-2xs);border:1px dashed #ffffff4d;border-radius:50%;place-items:center;display:grid;position:absolute;top:0;left:0}.dh .dh-sk-earn li.is-done:before{content:"✓";color:#06201c;background:#34d399;border:0}.dh .dh-sk-earn b{color:var(--dh-fg);font-size:var(--fs-md)}.dh .dh-sk-earn span,.dh .dh-sk-side-note{color:var(--dh-muted);font-size:var(--fs-sm);line-height:1.5}.dh .dh-ls{gap:var(--space-32);padding-top:var(--space-24);padding-bottom:var(--space-48);grid-template-columns:minmax(0,300px) minmax(0,1fr);display:grid}.dh .dh-ls-rail{top:calc(var(--site-header-h,100px) + 16px);align-self:start;gap:var(--space-10);display:grid;position:sticky}.dh a.dh-ls-skill{align-items:center;gap:var(--space-12);color:var(--dh-fg);display:flex}.dh a.dh-ls-skill b{font-size:var(--fs-xl);display:block}.dh .dh-ls-rail-note{color:var(--dh-muted);font-size:var(--fs-sm);margin:0}.dh .dh-ls-steps{gap:var(--space-4);margin:var(--space-6) 0 0;padding:0;list-style:none;display:grid}.dh .dh-ls-steps a,.dh .dh-ls-later{align-items:center;gap:var(--space-10);padding:var(--space-8) var(--space-10);border-radius:var(--radius);color:var(--dh-soft);display:flex}.dh .dh-ls-steps a:hover{background:#ffffff0a}.dh .dh-ls-steps li.is-here a{color:var(--dh-fg);background:#5ee0ff1f}.dh .dh-ls-steps li.is-here .dh-sk-step{color:#5ee0ff;border-color:#5ee0ff}.dh .dh-ls-steps b{font-size:var(--fs-base);font-weight:500;display:block}.dh .dh-ls-steps i{color:var(--dh-faint);font-size:var(--fs-xs);font-style:normal}.dh .dh-ls-later{opacity:.6}.dh .dh-ls-main{align-content:start;gap:var(--space-16);min-width:0;max-width:760px;display:grid}.dh .dh-ls-main p{margin:0}.dh .dh-ls-k{color:var(--dh-faint);font:500 var(--fs-sm) / 1.4 var(--dh-mono);letter-spacing:.1em;text-transform:uppercase}.dh .dh-ls-skillname{color:#34d399;font:600 var(--fs-xs) / 1.4 var(--dh-mono);letter-spacing:.1em;text-transform:uppercase}.dh .dh-ls-h1{color:var(--dh-fg);letter-spacing:-.025em;margin:0;font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1.1}.dh .dh-ls-tldr,.dh .dh-ls-block{gap:var(--space-10);padding:var(--space-16) var(--space-20);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);color:var(--dh-soft);font-size:var(--fs-lg);line-height:1.7;display:grid}.dh .dh-ls-block.is-text{background:0 0;border:0;padding:0}.dh .dh-ls-tldr{background:#34d3990f;border-color:#34d39959}.dh .dh-ls-tldr ul{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid}.dh .dh-ls-tldr li:before{content:"✓ ";color:#34d399}.dh .dh-ls-block-k{color:#34d399;font:600 var(--fs-xs) / 1.4 var(--dh-mono);letter-spacing:.1em;text-transform:uppercase}.dh .dh-ls-block.is-key{background:#e5c04b0f;border-color:#e5c04b66}.dh .dh-ls-block.is-key .dh-ls-block-k{color:#e5c04b}.dh .dh-ls-block.is-tip .dh-ls-block-k{color:#5ee0ff}.dh .dh-ls-block.is-mistake{border-color:#f472b659}.dh .dh-ls-block.is-mistake .dh-ls-block-k{color:#f9a8d4}.dh .dh-ls-block.is-steps .dh-ls-block-k{color:#c4b5fd}.dh .dh-ls-block.is-example .dh-ls-block-k{color:#f5b04b}.dh .dh-ls-block-h{color:var(--dh-fg);font-size:var(--fs-2xl);margin:0;font-weight:600;line-height:1.3}.dh .dh-ls-block ul,.dh .dh-ls-block ol{gap:var(--space-6);padding-left:var(--space-24);margin:0;display:grid}.dh .dh-ls-block .dh-code .article-body{font-size:var(--fs-base)}.dh .dh-ls-video a,.dh .dh-ls-sources a{color:#5ee0ff}.dh .dh-ls-sources{gap:var(--space-6);font-size:var(--fs-base);display:grid}.dh .dh-ls-sources ul{padding-left:var(--space-20);margin:0}.dh .dh-ls-nav{justify-content:space-between;gap:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--dh-line);font-size:var(--fs-base);display:flex}.dh .dh-ls-nav a{color:var(--dh-muted)}.dh .dh-ls-nav a:hover{color:var(--dh-fg)}.dh .dh-lq{--lq-right:var(--dh-green,#34d399);--lq-right-ink:#6ee7b7;--lq-on-right:#06201c;--lq-wrong:#f87171;--lq-wrong-ink:#fca5a5;--lq-pick:var(--dh-cyan,var(--lq-pick));gap:var(--space-14);margin-top:var(--space-8);padding:var(--space-20);border:1px solid color-mix(in srgb, var(--lq-pick) 30%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--lq-pick) 4%, transparent);display:grid}.dh .dh-lq-head{justify-content:space-between;align-items:baseline;gap:var(--space-12);display:flex}.dh .dh-lq-head h2{color:var(--dh-fg);font-size:var(--fs-xl);margin:0;font-weight:600}.dh .dh-lq-head span{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-lq-q{gap:var(--space-10);display:grid}.dh .dh-lq-prompt{color:var(--dh-fg);font-size:var(--fs-lg);font-weight:500}.dh .dh-lq-options{gap:var(--space-8);margin:0;padding:0;list-style:none;display:grid}.dh .dh-lq-options button{align-items:center;gap:var(--space-12);border-radius:var(--radius);background:var(--dh-panel);width:100%;color:var(--dh-soft);font:inherit;font-size:var(--fs-md);text-align:left;cursor:pointer;border:1px solid #ffffff24;padding:12px 14px;transition:border-color .15s,background-color .15s,color .15s,opacity .2s;display:flex}.dh .dh-lq-options button:hover:not(:disabled){border-color:color-mix(in srgb, var(--lq-pick) 50%, transparent)}.dh .dh-lq-options button:focus-visible{outline:2px solid var(--lq-pick);outline-offset:2px}.dh .dh-lq-options button:disabled{cursor:default}.dh .dh-lq-options button.is-right{border-color:var(--lq-right);background:color-mix(in srgb, var(--lq-right) 12%, transparent);color:var(--dh-fg)}.dh .dh-lq-options button.is-wrong{border-color:color-mix(in srgb, var(--lq-wrong) 60%, transparent);background:color-mix(in srgb, var(--lq-wrong) 8%, transparent);color:var(--dh-fg)}.dh .is-wrong .dh-lq-letter{border-color:var(--lq-wrong);color:var(--lq-wrong-ink);font-size:var(--fs-md)}.dh .dh-lq-options button.is-faded{opacity:.4}.dh .dh-lq-letter{width:26px;height:26px;font-size:var(--fs-xs);border:1px solid #fff3;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.dh .is-right .dh-lq-letter{border-color:var(--lq-right);background:var(--lq-right);color:var(--lq-on-right)}.dh .dh-lq-why{min-height:44px;padding:var(--space-10) var(--space-14);border-radius:var(--radius);color:var(--dh-soft);font-size:var(--fs-base);background:#ffffff08;transition:background-color .2s}.dh .dh-lq-why.is-right{background:color-mix(in srgb, var(--lq-right) 8%, transparent)}.dh .dh-lq-why.is-right b{color:var(--lq-right-ink)}.dh .dh-lq-why.is-wrong{background:color-mix(in srgb, var(--lq-wrong) 8%, transparent)}.dh .dh-lq-why.is-wrong b{color:var(--lq-wrong-ink)}.dh .dh-lq-hint{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-lq-error{color:var(--lq-wrong-ink);font-size:var(--fs-sm)}.dh .dh-lq-done{align-items:center;gap:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--dh-line);flex-wrap:wrap;display:flex}.dh .dh-lq-done p{color:var(--dh-soft);flex:220px}.dh .dh-lq-done b{color:var(--lq-right-ink)}.dh .dh-lq-burst{background:var(--lq-right);width:40px;height:40px;color:var(--lq-on-right);border-radius:50%;place-items:center;font-weight:700;animation:.5s ease-out dh-lq-pop;display:grid}@keyframes dh-lq-pop{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--lq-right) 60%, transparent);transform:scale(.4)}70%{box-shadow:0 0 0 14px color-mix(in srgb, var(--lq-right) 0%, transparent);transform:scale(1.1)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.dh .dh-lq-burst{animation:none}}.dh .dh-lq-sign{color:var(--dh-muted);font-size:var(--fs-base)}.dh .dh-lq-sign a{color:var(--lq-pick)}.dh .dh-lp-links{gap:var(--space-10);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.dh .dh-lp-soon{gap:var(--space-6);margin:var(--space-12) 0 var(--space-28);padding:var(--space-20) var(--space-24);border-radius:var(--radius);background:#34d3990d;border:1px dashed #34d39966;display:grid}.dh .dh-lp-soon h2{color:var(--dh-fg);font-size:var(--fs-2xl);margin:0;font-weight:600}.dh .dh-lp-soon p{color:var(--dh-muted);font-size:var(--fs-md);margin:0}.dh .dh-lp-skills{gap:var(--space-16);padding-bottom:var(--space-48);display:grid}.dh .dh-lp-head{justify-content:space-between;align-items:baseline;gap:var(--space-12);display:flex}.dh .dh-lp-head a{color:#5ee0ff;font-size:var(--fs-base)}.dh .dh-sk-route li.is-later a{opacity:.8;border-style:dashed}.dh .dh-ck-wrap{gap:var(--space-20);max-width:760px;padding-top:var(--space-24);padding-bottom:var(--space-48);display:grid}.dh .dh-ck-h1{color:var(--dh-fg);font-size:var(--fs-3xl);text-wrap:balance;margin:0;font-weight:700}.dh .dh-ck-box{justify-items:start;gap:var(--space-12);padding:var(--space-20);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);color:var(--dh-soft);font-size:var(--fs-md);line-height:1.55;display:grid}.dh .dh-ck-box p{margin:0}.dh .dh-ck-box b{color:var(--dh-fg)}.dh .dh-ck-box a:not(.dh-btn),.dh .dh-ck-warn a,.dh .dh-pf-how a{color:#5ee0ff}.dh .dh-ck-box--won{background:#34d3990f;border-color:#34d39973}.dh .dh-ck-rules{gap:var(--space-8);padding-left:var(--space-20);color:var(--dh-soft);margin:0;display:grid}.dh .dh-ck-rules b{color:var(--dh-fg)}.dh .dh-ck-warn{padding:var(--space-10) var(--space-14);border-radius:var(--radius);color:#fcd34d;font-size:var(--fs-base);background:#fbbf2414}.dh .dh-ck-start{justify-items:start;gap:var(--space-8);display:grid}.dh .dh-ck-marking{color:var(--dh-soft);font-size:var(--fs-md)}.dh .dh-ck-top{justify-content:space-between;align-items:center;gap:var(--space-12);display:flex}.dh .dh-ck-count{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-ck-clock{min-width:52px;padding:var(--space-4) var(--space-10);background:color-mix(in srgb, var(--lq-pick) 12%, transparent);color:var(--lq-pick);font-size:var(--fs-md);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;font-weight:700}.dh .dh-ck-clock.is-urgent{background:color-mix(in srgb, var(--lq-wrong) 16%, transparent);color:var(--lq-wrong-ink)}.dh .dh-ck-bar{background:#ffffff14;border-radius:2px;height:4px;overflow:hidden}.dh .dh-ck-bar span{background:var(--lq-pick);height:100%;transition:width 1s linear;display:block}.dh .dh-ck-dots{gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.dh .dh-ck-dots li{border:1px solid #ffffff40;border-radius:50%;width:10px;height:10px}.dh .dh-ck-dots li.is-done{border-color:var(--lq-pick);background:var(--lq-pick)}.dh .dh-ck-dots li.is-skip{border-color:var(--lq-wrong-ink)}.dh .dh-ck-dots li.is-now{box-shadow:0 0 0 2px color-mix(in srgb, var(--lq-pick) 40%, transparent);border-color:#fff}.dh .dh-ck-code{padding:var(--space-12) var(--space-14);border:1px solid var(--dh-line);border-radius:var(--radius);color:#e2e8f0;font-family:var(--dh-mono);font-size:var(--fs-sm);white-space:pre;background:#0b1220;margin:0;line-height:1.55;overflow-x:auto}.dh .dh-lq-options button.is-picked{border-color:var(--lq-pick);background:color-mix(in srgb, var(--lq-pick) 10%, transparent)}.dh .dh-ck-rule{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-ck-progress{justify-content:space-between;align-items:center;gap:var(--space-8) var(--space-12);flex-wrap:wrap;display:flex}.dh .dh-ck-words{color:var(--dh-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.dh .dh-ck-q{animation:.22s ease-out dh-ck-in}@keyframes dh-ck-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dh .dh-ck-foot{justify-content:space-between;align-items:center;gap:var(--space-12);min-height:36px;display:flex}.dh .dh-ck-locking{align-items:center;gap:var(--space-8);padding-left:var(--space-10);color:var(--lq-pick);font-size:var(--fs-sm);font-weight:600;display:inline-flex;position:relative}.dh .dh-ck-locking-bar{background:var(--lq-pick);transform-origin:top;border-radius:2px;width:3px;animation:1.5s linear dh-ck-hold;position:absolute;top:0;bottom:0;left:0}@keyframes dh-ck-hold{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.dh .dh-ck-undo{padding:var(--space-6) var(--space-12);border:1px solid color-mix(in srgb, var(--lq-pick) 50%, transparent);border-radius:var(--radius);color:var(--lq-pick);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;min-height:28px;font-weight:600}.dh .dh-ck-undo:hover{background:color-mix(in srgb, var(--lq-pick) 10%, transparent)}.dh .dh-ck-undo:focus-visible{outline:2px solid var(--lq-pick);outline-offset:2px}.dh .dh-ck-notice{color:var(--lq-wrong-ink);font-size:var(--fs-sm);font-weight:600}@media (prefers-reduced-motion:reduce){.dh .dh-ck-q,.dh .dh-ck-locking-bar{animation:none}}.dh .dh-ck-result{gap:var(--space-16);padding:var(--space-20);border-radius:var(--radius);background:#f871710a;border:1px solid #f8717159;display:grid}.dh .dh-ck-result.is-pass{background:#34d3990d;border-color:#34d39973}.dh .dh-ck-score{align-items:center;gap:var(--space-16);flex-wrap:wrap;display:flex}.dh .dh-ck-score>div{flex:240px}.dh .dh-ck-score h2{color:var(--dh-fg);font-size:var(--fs-xl);margin:0}.dh .dh-ck-score p{margin:var(--space-4) 0 0;color:var(--dh-soft)}.dh .dh-ck-big{color:#fca5a5;font-size:var(--fs-4xl);font-variant-numeric:tabular-nums;font-weight:700}.dh .is-pass .dh-ck-big{color:#6ee7b7}.dh .dh-ck-reread h3{margin:0 0 var(--space-8);color:var(--dh-fg);font-size:var(--fs-md);font-weight:600}.dh .dh-ck-reread ul{gap:var(--space-6);margin:0;padding:0;list-style:none;display:grid}.dh .dh-ck-reread li{justify-content:space-between;gap:var(--space-8);flex-wrap:wrap;display:flex}.dh .dh-ck-reread a{color:#5ee0ff}.dh .dh-ck-reread span{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-pf-ask{color:var(--dh-fg);font-size:var(--fs-lg);font-weight:500}.dh .dh-pf-how,.dh .dh-pf-note{color:var(--dh-muted);font-size:var(--fs-base)}.dh .dh-pf-rejected{padding:var(--space-10) var(--space-14);border-radius:var(--radius);color:#fca5a5;font-size:var(--fs-base);background:#f8717114}.dh .dh-pf-form{justify-items:start;gap:var(--space-12);display:grid}.dh .dh-pf-form label{gap:var(--space-6);width:100%;color:var(--dh-soft);font-size:var(--fs-sm);display:grid}.dh .dh-pf-form input,.dh .dh-pf-form select{width:100%;padding:var(--space-10) var(--space-12);border-radius:var(--radius);background:var(--dh-panel);color:var(--dh-fg);font:inherit;font-size:var(--fs-md);border:1px solid #ffffff2e}.dh .dh-pj-h2{margin:0 0 var(--space-8);color:var(--dh-fg);font-size:var(--fs-xl);font-weight:700}.dh .dh-pj-brief,.dh .dh-pj-yours{gap:var(--space-10);color:var(--dh-soft);font-size:var(--fs-md);line-height:1.6;display:grid}.dh .dh-pj-brief p,.dh .dh-pj-yours p,.dh .dh-pj-p{color:var(--dh-soft);margin:0}.dh .dh-pj-yours{padding:var(--space-16) var(--space-20);border-radius:var(--radius);background:var(--dh-panel);border-left:3px solid #5ee0ff}.dh .dh-pj-yours ul{padding-left:var(--space-20);gap:var(--space-6);margin:0;display:grid}.dh .dh-pj-muted,.dh .dh-pj-note{color:var(--dh-muted);font-size:var(--fs-sm);margin:0}.dh .dh-pj-files{gap:var(--space-8);display:grid}.dh .dh-pj-file{border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel)}.dh .dh-pj-file summary{justify-content:space-between;gap:var(--space-12);padding:var(--space-10) var(--space-12);color:var(--dh-fg);font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-sm);cursor:pointer;display:flex}.dh .dh-pj-file summary a{color:#5ee0ff;font-family:inherit}.dh .dh-pj-file pre{max-height:420px;padding:var(--space-12);border-top:1px solid var(--dh-line);color:var(--dh-soft);font-size:var(--fs-sm);margin:0;line-height:1.5;overflow:auto}.dh .dh-pj-check{gap:var(--space-6);color:var(--dh-soft);margin:0;padding:0;list-style:none;display:grid}.dh .dh-pj-check li{gap:var(--space-10);grid-template-columns:40px minmax(0,1fr);display:grid}.dh .dh-pj-check span{color:var(--dh-muted);font-variant-numeric:tabular-nums}.dh .dh-pj-handin{padding:var(--space-20);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel)}.dh .dh-pj-handin textarea{width:100%;padding:var(--space-10) var(--space-12);border-radius:var(--radius);background:var(--dh-bg,var(--dh-panel));color:var(--dh-fg);font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-sm);border:1px solid #ffffff2e}.dh .dh-pj-modes{gap:var(--space-16);color:var(--dh-soft);flex-wrap:wrap;display:flex}.dh .dh-pj-modes label{align-items:center;gap:var(--space-6);width:auto;display:flex}.dh .dh-pj-modes input{width:auto}.dh .dh-pj-picked{padding-left:var(--space-20);color:var(--dh-soft);font-size:var(--fs-sm);margin:0}.dh .dh-pj-picked span{color:var(--dh-muted)}.dh .dh-pj-link{color:#5ee0ff;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.dh .dh-pj-q-head{justify-content:space-between;gap:var(--space-8);width:100%;color:var(--dh-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.dh .dh-pj-q-clock{color:var(--dh-fg);font-variant-numeric:tabular-nums;font-weight:600}.dh .dh-pj-q-clock.is-low{color:#fca5a5}.dh .dh-pj-q-prompt{color:var(--dh-fg);font-size:var(--fs-lg);margin:0;line-height:1.5}.dh .dh-pj-scores{gap:var(--space-12);flex-wrap:wrap;margin:0;display:flex}.dh .dh-pj-scores div{min-width:160px;padding:var(--space-12) var(--space-16);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);gap:2px;display:grid}.dh .dh-pj-scores dt,.dh .dh-pj-scores span{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-pj-scores dd{color:var(--dh-fg);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.dh .dh-pj-marks,.dh .dh-pj-answers{gap:var(--space-10);color:var(--dh-soft);margin:0;padding:0;list-style:none;display:grid}.dh .dh-pj-marks li{gap:var(--space-10);padding:var(--space-10) var(--space-12);border-radius:var(--radius);background:var(--dh-panel);border-left:3px solid #fbbf24;grid-template-columns:56px minmax(0,1fr);display:grid}.dh .dh-pj-marks li.is-full{border-left-color:#34d399}.dh .dh-pj-marks li.is-none{border-left-color:#f87171}.dh .dh-pj-marks span{color:var(--dh-fg);font-variant-numeric:tabular-nums;font-weight:600}.dh .dh-pj-marks b,.dh .dh-pj-answers b{color:var(--dh-fg);font-weight:600}.dh .dh-pj-marks p,.dh .dh-pj-answers p{margin:4px 0 0}.dh .dh-pj-answers li{padding:var(--space-12) var(--space-16);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel)}.dh .dh-pj-answer{margin:var(--space-8) 0 0;padding:var(--space-10) var(--space-12);border-radius:var(--radius);color:var(--dh-soft);font-size:var(--fs-sm);white-space:pre-wrap;background:#ffffff0a;overflow-x:auto}.dh .dh-pj-task-body{gap:var(--space-16);padding:var(--space-12) var(--space-16) var(--space-16);border-top:1px solid var(--dh-line);display:grid}.dh .dh-pj-learn{gap:var(--space-12);display:grid}.dh .dh-pj-loop{gap:var(--space-6);padding-left:var(--space-20);color:var(--dh-soft);margin:0;display:grid}.dh .dh-pj-loop b{color:var(--dh-fg)}.dh .dh-pj-loop a{color:#5ee0ff}.dh .dh-pj-how li{grid-template-columns:minmax(0,1fr);gap:2px;display:grid}.dh .dh-pj-how b{color:var(--dh-fg);font-weight:600}.dh .dh-pj-signal{margin:var(--space-6) 0 0;color:#fbbf24;font-size:var(--fs-sm)}.dh .dh-pr-hero{gap:var(--space-24);margin:var(--space-12) 0 var(--space-32);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}.dh .dh-pr-intro{gap:var(--space-10);min-width:0;display:grid}.dh .dh-pr-facts{gap:var(--space-8);margin:var(--space-6) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.dh .dh-pr-facts li{border:1px solid var(--dh-line);background:var(--dh-panel);color:var(--dh-soft);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;border-radius:3px;padding:4px 10px}.dh .dh-pr-me{gap:var(--space-10);padding:var(--space-16);border:1px solid var(--dh-line);background:var(--dh-panel);color:var(--dh-soft);font-size:var(--fs-sm);border-radius:4px;display:grid}.dh .dh-pr-me p{margin:0}.dh .dh-pr-me-k{color:var(--dh-muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.dh .dh-pr-big{color:var(--dh-fg);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;font-weight:700}.dh .dh-pr-bar{background:var(--dh-line);border-radius:2px;height:6px;display:block;overflow:hidden}.dh .dh-pr-bar i{background:#34d399;height:100%;display:block}.dh .dh-pr-me .dh-btn{text-align:center;justify-self:stretch}.dh .dh-pr-route{gap:var(--space-8);display:grid}.dh .dh-pr-stage{gap:var(--space-14);padding-bottom:var(--space-24);grid-template-columns:40px minmax(0,1fr);display:grid;position:relative}.dh .dh-pr-stage:not(:last-of-type):before{content:"";background:var(--dh-line);width:2px;position:absolute;top:40px;bottom:0;left:19px}.dh .dh-pr-num{border:2px solid var(--dh-line);background:var(--dh-panel);width:38px;height:38px;color:var(--dh-fg);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:700;display:grid;position:relative}.dh .dh-pr-stage.is-done .dh-pr-num{color:#34d399;border-color:#34d399}.dh .dh-pr-stage.is-now .dh-pr-num{color:#5ee0ff;border-color:#5ee0ff}.dh .dh-pr-stage-body{gap:var(--space-10);min-width:0;display:grid}.dh .dh-pr-stage-head{justify-content:space-between;align-items:baseline;gap:var(--space-8);flex-wrap:wrap;min-height:38px;display:flex}.dh .dh-pr-stage-head h3{color:var(--dh-fg);font-size:var(--fs-lg);margin:0}.dh .dh-pr-stage-head span{color:var(--dh-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.dh .dh-pr-cards{gap:var(--space-10);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.dh .dh-pr-card{align-content:start;gap:var(--space-6);height:100%;padding:var(--space-12) var(--space-14);border:1px solid var(--dh-line);border-top:3px solid var(--dh-line);background:var(--dh-panel);color:var(--dh-soft);border-radius:4px;text-decoration:none;transition:border-color .15s;display:grid}.dh .dh-pr-card:hover,.dh .dh-pr-card:focus-visible{border-color:#5ee0ff80}.dh .dh-pr-card.is-done{border-top-color:#34d399}.dh .dh-pr-card.is-now{border-top-color:#5ee0ff}.dh .dh-pr-card-top{align-items:center;gap:var(--space-8);display:flex}.dh .dh-pr-lvl{color:#fbbf24;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.dh .dh-pr-tag{border:1px solid var(--dh-line);color:var(--dh-muted);border-radius:3px;padding:1px 6px;font-size:11px}.dh .dh-pr-card-name{color:var(--dh-fg);font-size:var(--fs-md);line-height:1.3}.dh .dh-pr-card-sum{color:var(--dh-muted);font-size:var(--fs-sm);line-height:1.4}.dh .dh-pr-time{gap:2px var(--space-12);color:var(--dh-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.dh .dh-pr-state{font-size:var(--fs-sm);font-weight:600}.dh .dh-pr-state.is-done{color:#34d399}.dh .dh-pr-state.is-now{color:#5ee0ff}.dh .dh-pr-state.is-todo{color:var(--dh-muted)}.dh .dh-pr-more{gap:var(--space-24);margin:var(--space-16) 0 var(--space-32);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}@media (max-width:760px){.dh .dh-pr-hero{grid-template-columns:1fr}.dh .dh-pr-stage{gap:var(--space-10);grid-template-columns:30px minmax(0,1fr)}.dh .dh-pr-num{width:30px;height:30px}.dh .dh-pr-stage:not(:last-of-type):before{top:32px;left:14px}}.dh .dh-pa-grid{gap:var(--space-16);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0;padding:0;list-style:none;display:grid}.dh .dh-pa-card{gap:var(--space-8);height:100%;padding:var(--space-20);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);color:var(--dh-fg);border-top:3px solid #5ee0ff8c;flex-direction:column;display:flex}.dh .dh-pa-card:hover{border-color:#ffffff47}.dh .dh-pa-card.is-earned{border-top-color:#34d399}.dh .dh-pa-card-top{align-items:center;gap:var(--space-8);display:flex}.dh .dh-pa-role{color:#5ee0ff;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:600}.dh .dh-pa-earned{color:#6ee7b7;font-size:var(--fs-2xs);background:#34d39929;border-radius:3px;padding:1px 8px;font-weight:600}.dh .dh-pa-name{font-size:var(--fs-xl);text-wrap:balance;font-weight:600}.dh .dh-pa-sum{color:var(--dh-soft);font-size:var(--fs-base);line-height:1.5}.dh .dh-pa-logos{gap:var(--space-6);display:flex}.dh .dh-pa-logos img{background:#fff;border-radius:4px}.dh .dh-pa-meta{color:var(--dh-muted);font-size:var(--fs-sm);margin-top:auto}.dh .dh-pa-progress{gap:var(--space-4);color:var(--dh-muted);font-size:var(--fs-xs);display:grid}.dh .dh-pa-head{gap:var(--space-8);padding-bottom:var(--space-28);border-bottom:1px solid var(--dh-line);display:grid}.dh .dh-pa-acts{align-items:center;gap:var(--space-10);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.dh .dh-pa-follow{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:inline-flex}.dh .dh-pa-stage{gap:var(--space-10);margin-bottom:var(--space-20);display:grid}.dh .dh-pa-stage-h{color:var(--dh-muted);font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:600}.dh .dh-sk-route a.dh-pa-line{align-items:center;gap:var(--space-12);display:flex}.dh .dh-pa-line-text{gap:2px;min-width:0;display:grid}.dh .dh-pa-opt{color:var(--dh-muted);font-size:var(--fs-xs);font-weight:400}.dh .dh-pa-outcomes{gap:var(--space-8);margin:0 0 var(--space-20);padding-left:var(--space-20);color:var(--dh-soft);font-size:var(--fs-base);line-height:1.5;display:grid}.dh .dh-ce-preview{justify-items:center;gap:var(--space-8);padding:var(--space-32) var(--space-20);border-radius:var(--radius);background:linear-gradient(180deg, #d4af3714, transparent), var(--dh-panel);text-align:center;border:1px solid #d4af3780;display:grid}.dh .dh-ce-preview .dh-pp-k{color:#e9c46a}.dh .dh-ce-name{color:var(--dh-fg);font-size:var(--fs-3xl);margin:0;font-weight:700}.dh .dh-ce-path{color:var(--dh-soft);font-size:var(--fs-lg);margin:0}.dh .dh-ce-code{color:var(--dh-muted);font-family:var(--dh-mono);font-size:var(--fs-sm)}.dh .dh-ce-skills{justify-content:center;gap:var(--space-6);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.dh .dh-ce-skills li{border:1px solid var(--dh-line);color:var(--dh-soft);font-size:var(--fs-sm);border-radius:999px;padding:2px 10px}.dh .dh-ce-acts{gap:var(--space-10);flex-wrap:wrap;display:flex}.dh .dh-pp{gap:var(--space-12);padding:var(--space-32);border:1px solid var(--dh-line);border-radius:var(--radius);background:linear-gradient(160deg, #5ee0ff12, transparent 60%), var(--dh-panel);display:grid}.dh .dh-pp.is-applied{border-color:#34d39973}.dh .dh-pp-k{color:var(--dh-muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;margin:0}.dh .dh-pp-skill{color:var(--dh-fg);font-size:var(--fs-4xl);margin:0;font-weight:700}.dh .dh-pp-state,.dh .dh-pp-who,.dh .dh-pp-what{color:var(--dh-soft);margin:0}.dh .dh-pp-who a,.dh .dh-pp-what a,.dh .dh-pp-link{color:#5ee0ff}.dh .dh-pp-chip{padding:var(--space-4) var(--space-12);font-size:var(--fs-sm);border-radius:999px;font-weight:700;display:inline-block}.dh .dh-pp-chip--learned{color:#5ee0ff;background:#5ee0ff24}.dh .dh-pp-chip--applied{color:#6ee7b7;background:#34d39929}.dh .dh-pp-steps{gap:var(--space-12);margin:var(--space-8) 0;padding:0;list-style:none;display:grid}.dh .dh-pp-steps li{padding-left:var(--space-28);color:var(--dh-muted);font-size:var(--fs-base);gap:2px;display:grid;position:relative}.dh .dh-pp-steps li:before{content:"";border:1px dashed #ffffff4d;border-radius:50%;width:16px;height:16px;position:absolute;top:2px;left:0}.dh .dh-pp-steps li.is-done:before{background:#34d399;border:0}.dh .dh-pp-steps b{color:var(--dh-fg);font-size:var(--fs-md)}.dh .dh-pp-link{overflow-wrap:anywhere}.dh .dh-pp.is-proven{border-color:#2dd4bf8c}.dh .dh-pp-chip--proven{color:#5eead4;background:#2dd4bf2e}.dh .dh-pv-routes{gap:var(--space-10);margin:0;padding:0;list-style:none;display:grid}.dh .dh-pv-routes>li{gap:var(--space-12);padding:var(--space-14) var(--space-16);border:1px solid var(--dh-line);border-radius:var(--radius);background:var(--dh-panel);display:flex}.dh .dh-pv-routes>li.is-met{border-color:#34d39973}.dh .dh-pv-routes>li>div{gap:var(--space-4);min-width:0;display:grid}.dh .dh-pv-mark{width:22px;height:22px;font-size:var(--fs-xs);border:1px dashed #ffffff4d;border-radius:50%;flex:none;place-items:center;display:grid}.dh .is-met .dh-pv-mark{color:#06201c;background:#34d399;border:0}.dh .dh-pv-routes b{color:var(--dh-fg);font-size:var(--fs-md)}.dh .dh-pv-met{color:#6ee7b7;font-size:var(--fs-sm);font-weight:500}.dh .dh-pv-progress{color:var(--dh-soft);font-size:var(--fs-base)}.dh .dh-pv-items{gap:var(--space-2);margin:var(--space-4) 0 0;padding-left:var(--space-16);color:var(--dh-muted);font-size:var(--fs-sm);display:grid}.dh .dh-pv-items a{color:#5ee0ff;overflow-wrap:anywhere}.dh .dh-pv-checks{gap:var(--space-6);padding:var(--space-12) var(--space-14);border:1px solid var(--dh-line);border-radius:var(--radius);margin:0;display:grid}.dh .dh-pv-checks legend{padding:0 var(--space-4);color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-pf-form .dh-pv-checks label{align-items:flex-start;gap:var(--space-8);color:var(--dh-soft);font-size:var(--fs-base);display:flex}.dh .dh-pf-form .dh-pv-checks input{width:auto;margin-top:var(--space-4)}.dh .dh-pv-request h2 a{color:#5ee0ff}@media (max-width:900px){.dh .dh-sk-cols,.dh .dh-ls{grid-template-columns:minmax(0,1fr)}.dh .dh-ls-rail{position:static}}.dh .dh-sk-book{margin-left:var(--space-16);color:#5ee0ff;font-size:var(--fs-sm);display:inline-block}.dh .dh-bk-lead{margin:var(--space-8) 0 0;color:var(--dh-fg-2,var(--textColor2));font-size:var(--fs-md);line-height:1.6}.dh .dh-bk-chapter{scroll-margin-top:calc(var(--site-header-h,56px) + 16px);border-top:1px solid #ffffff1a;margin-top:40px;padding-top:28px}.dh .dh-bk-h2{margin:var(--space-4) 0 var(--space-12);color:var(--dh-fg);font-size:var(--fs-xl);font-weight:600;line-height:1.3}.dh .dh-bk-end{justify-content:space-between;align-items:center;gap:var(--space-16);padding:var(--space-20);border-radius:var(--radius-md);border:1px solid #ffffff1a;flex-wrap:wrap;margin-top:40px;display:flex}.dh .dh-bk-end p{margin:0}.dh .dh-bk-end .dh-bk-h2{margin-top:0;margin-bottom:var(--space-4)}.dh .dh-ck-facts{margin-top:var(--space-4);color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-ck-actions{gap:var(--space-8);flex-wrap:wrap;display:flex}.dh .dh-ck-reread b{font-weight:500}.dh .dh-sk-experts{margin:var(--space-24) 0}.dh .dh-sk-experts-note{margin:0 0 var(--space-12);color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-sk-experts ul{gap:var(--space-12);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.dh .dh-sk-experts li>a,.dh .dh-sk-experts li>div{gap:var(--space-12);height:100%;padding:var(--space-12) var(--space-16);border:1px solid var(--dh-line);border-radius:var(--radius-md);color:inherit;background:#ffffff08;text-decoration:none;display:flex}.dh .dh-sk-experts li>a:hover{border-color:#5ee0ff73}.dh .dh-sk-expert-face{object-fit:cover;border-radius:50%;flex:none;width:56px;height:56px}.dh .dh-sk-expert-text{min-width:0;color:var(--dh-muted);font-size:var(--fs-sm);align-content:start;gap:2px;display:grid}.dh .dh-sk-expert-text b{color:var(--dh-fg);font-size:var(--fs-base);font-weight:600}.dh .dh-sk-expert-text i{margin-left:var(--space-8);color:#5ee0ff;font-size:var(--fs-2xs);border:1px solid #5ee0ff73;border-radius:3px;padding:1px 6px;font-style:normal;font-weight:700}.dh .dh-sk-expert-roles{color:#e5c04b}.dh .dh-rv{gap:var(--space-20);margin-top:var(--space-16);grid-template-columns:240px minmax(0,1fr) 340px;align-items:start;display:grid}.dh .dh-rv-nav ol{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.dh .dh-rv-nav button{width:100%;padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);color:var(--dh-soft);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:2px;display:grid}.dh .dh-rv-nav button.is-on{background:#5ee0ff0f;border-color:#5ee0ff73}.dh .dh-rv-nav span{color:var(--dh-muted);font-size:var(--fs-xs)}.dh .dh-rv-nav b{font-weight:500}.dh .dh-rv-tldr{margin:0 0 var(--space-12);color:var(--dh-muted);padding-left:18px}.dh .dh-rv-card{margin-bottom:var(--space-12);padding:var(--space-12) var(--space-16);border:1px solid var(--dh-line);border-radius:var(--radius-md)}.dh .dh-rv-card.is-on{border-color:#5ee0ff8c}.dh .dh-rv-card h3{margin:0 0 var(--space-8);font-size:var(--fs-base);font-weight:600}.dh .dh-rv-card p{margin:0 0 var(--space-8);line-height:1.6}.dh .dh-rv-options{margin:0 0 var(--space-8);padding:0;list-style:none}.dh .dh-rv-options li{color:var(--dh-muted);padding:3px 0}.dh .dh-rv-options li.is-right{color:#6ee7b7;font-weight:500}.dh .dh-rv-why{color:var(--dh-muted);font-size:var(--fs-sm)}.dh .dh-rv-acts{gap:var(--space-12);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.dh .dh-rv-link{color:#5ee0ff;font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;padding:0}.dh .dh-rv-form{gap:var(--space-8);display:grid}.dh .dh-rv-form label{gap:var(--space-4);font-size:var(--fs-sm);color:var(--dh-muted);display:grid}.dh .dh-rv-form label.dh-rv-option{align-items:center;gap:var(--space-8);grid-template-columns:auto minmax(0,1fr)}.dh .dh-rv input:not([type=radio]),.dh .dh-rv textarea{box-sizing:border-box;border:1px solid var(--dh-line);border-radius:var(--radius-sm);width:100%;color:var(--dh-fg);font:inherit;font-size:var(--fs-sm);background:#ffffff0a;padding:8px 10px}.dh .dh-rv-ask{top:calc(var(--site-header-h,56px) + 16px);gap:var(--space-8);max-height:calc(100vh - var(--site-header-h,56px) - 32px);padding:var(--space-16);border:1px solid var(--dh-line);border-radius:var(--radius-md);background:var(--dh-panel);grid-template-rows:auto auto minmax(0,1fr) auto auto;display:grid;position:sticky;overflow:hidden}.dh .dh-rv-about{color:var(--dh-muted);font-size:var(--fs-sm);margin:0}.dh .dh-rv-about .dh-rv-link{margin-top:2px;display:block}.dh .dh-rv-saved{color:#6ee7b7;font-size:var(--fs-sm);margin:0}.dh .dh-rv-chat{align-content:start;gap:var(--space-8);min-height:60px;display:grid;overflow-y:auto}.dh .dh-rv-msg{padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);font-size:var(--fs-sm);line-height:1.55}.dh .dh-rv-msg p{margin:0 0 var(--space-4);white-space:pre-wrap}.dh .dh-rv-msg.is-you{background:#5ee0ff14}.dh .dh-rv-msg.is-ai{background:#ffffff0a}.dh .dh-rv-ask form{gap:var(--space-8);display:grid}@media (max-width:1180px){.dh .dh-rv{grid-template-columns:minmax(0,1fr) 320px}.dh .dh-rv-nav{grid-column:1/-1}}@media (max-width:820px){.dh .dh-rv{grid-template-columns:minmax(0,1fr)}.dh .dh-rv-ask{max-height:none;position:static}}
