@layer components{.dt{--dt-header-h:64px}@media (max-width:767px){.dt{--dt-header-h:56px}}.dt-hero{border-bottom:1px solid var(--border-subtle);isolation:isolate;position:relative;overflow:hidden}.dt-backdrop{opacity:.32;filter:blur(48px)saturate(1.2);z-index:-2;position:absolute;inset:-60px}.light .dt-backdrop{opacity:.16}.dt-backdrop svg,.dt-backdrop img{object-fit:cover;width:100%;height:100%;display:block}.dt-veil{background:color-mix(in srgb, var(--bg) 55%, transparent);z-index:-1;position:absolute;inset:0}.dt-hero-wrap{padding-top:var(--space-6)}.dt-hero-inner{gap:var(--space-12);padding-block:var(--space-6) var(--space-10);grid-template-columns:260px minmax(0,1fr);align-items:end;display:grid}.dt-poster{aspect-ratio:2/3;border-radius:var(--radius-card);width:260px;box-shadow:var(--shadow-3);background:var(--surface-2);overflow:hidden}.dt-poster svg,.dt-poster img{object-fit:cover;width:100%;height:100%;display:block}.dt-hero.is-archived .dt-poster :is(svg,img),.dt-hero.is-archived .dt-backdrop :is(svg,img){filter:grayscale()brightness(.7)}.dt-info{gap:var(--space-4);flex-direction:column;min-width:0;padding-bottom:6px;display:flex}.dt-title{text-wrap:balance;overflow-wrap:anywhere}.dt-summary{font-size:var(--text-body-l);line-height:var(--leading-body-l);color:var(--text-2);max-width:60ch}.dt-row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dt-tag-link{transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast)}.dt-tag-link:hover{background:var(--surface-3);color:var(--text)}.dt-tag-note{color:var(--text-3);margin-left:6px;font-weight:400}.dt-crumbs ol{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.dt-crumbs li{align-items:center;gap:6px;min-width:0;display:inline-flex}.dt-crumbs a{color:var(--text-2);border-radius:var(--radius-xs)}.dt-crumbs a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.dt-crumbs [aria-current=page]{color:var(--text-3);overflow-wrap:anywhere}.dt-meta{gap:var(--space-3) var(--space-6);font-size:var(--text-body-s);color:var(--text-2);flex-wrap:wrap;align-items:center;display:flex}.dt-owner{align-items:center;gap:10px;display:flex}.dt-owner b{color:var(--text);font-weight:600;display:block}.dt-team{color:var(--text-2);display:block}.dt-avatar{width:36px;height:36px;font-size:12.5px}.dt-inline-icon{align-items:center;gap:6px;display:inline-flex}.dt-quality{flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.dt-quality li{color:var(--text);align-items:center;gap:6px;display:inline-flex}.dt-quality li.off{color:var(--text-3)}.dt-quality svg{flex:none;width:14px;height:14px}.dt-quality li.on svg{color:var(--success)}.dt-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.dt-notices{gap:var(--space-3);padding-top:var(--space-6);flex-direction:column;display:flex}.dt-notice{border-radius:var(--radius-md);background:var(--surface-1);color:var(--text);border:1px solid var(--border);font-size:var(--text-body-s);align-items:flex-start;gap:12px;padding:12px 16px;line-height:1.5;display:flex}.dt-notice>svg{flex:none;margin-top:3px}.dt-notice.is-experimental{background:var(--chip-experimental-bg);border-color:var(--chip-experimental-border)}.dt-notice.is-experimental>svg,.dt-notice.is-experimental b{color:var(--chip-experimental-fg)}.dt-notice.is-archived{background:var(--chip-archived-bg);border-color:var(--chip-archived-border)}.dt-notice.is-archived>svg,.dt-notice.is-archived b{color:var(--chip-archived-fg)}.dt-notice.is-draft{border-style:dashed;border-color:var(--chip-draft-border);background:var(--chip-draft-bg)}.dt-notice.is-draft>svg,.dt-notice.is-draft b{color:var(--chip-draft-fg)}.dt-notice.is-wanted{border-style:dashed;border-color:var(--chip-wanted-border);background:var(--chip-wanted-bg)}.dt-notice.is-wanted>svg,.dt-notice.is-wanted b{color:var(--chip-wanted-fg)}.dt-layout{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}.dt-main{min-width:0;max-width:780px}.dt-aside{top:calc(var(--dt-header-h) + 24px);gap:var(--space-6);padding-top:var(--space-10);flex-direction:column;display:flex;position:sticky}.dt-anchors{border-left:1px solid var(--border);flex-direction:column;display:flex}.dt-anchors a{font-size:var(--text-body-s);color:var(--text-2);border-left:2px solid #0000;border-radius:0;margin-left:-1px;padding:6px 0 6px 14px}.dt-anchors a:hover{color:var(--text)}.dt-anchors a[aria-current=true]{color:var(--text);border-left-color:var(--accent);font-weight:500}.dt-facts{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);flex-direction:column;gap:10px;font-size:13px;display:flex}.dt-facts .r{justify-content:space-between;align-items:center;gap:12px;display:flex}.dt-facts .r>span:first-child{color:var(--text-3);flex:none}.dt-facts .r>span:last-child{text-align:right;overflow-wrap:anywhere;min-width:0}.dt-mono{font-family:var(--ff-mono);font-size:12px}.dt-report{margin-top:4px;font-size:13px}.dt-facts-inline,.dt-strip{display:none}.dt-sec{padding-block:var(--space-10);border-bottom:1px solid var(--border-subtle);scroll-margin-top:calc(var(--dt-header-h) + 16px)}.dt-main>.dt-sec:last-child{border-bottom:0}.dt-sec-h{margin-bottom:var(--space-4);align-items:baseline;gap:10px;display:flex}.dt-anchor{font-family:var(--ff-mono);color:var(--text-3);opacity:0;transition:opacity var(--dur-fast);padding:0 4px;font-size:16px;font-weight:400}.dt-sec-h:hover .dt-anchor,.dt-anchor:focus-visible{opacity:1}.dt-anchor:hover{color:var(--text)}@media (hover:none){.dt-anchor{display:none}}.dt-prose{font-size:var(--text-body-l);line-height:var(--leading-body-l);color:var(--text-2);max-width:var(--prose-max)}.dt-prose>*+*{margin-top:1em}.dt-prose strong{color:var(--text);font-weight:600}.dt-prose ul,.dt-prose ol{padding-left:1.4em}.dt-prose ul{list-style:outside}.dt-prose ol{list-style:decimal}.dt-icode{font-family:var(--ff-mono);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--text);overflow-wrap:anywhere;padding:1px 5px;font-size:.86em}.dt-outcomes{counter-reset:o;gap:10px;margin:0;padding:0;list-style:none;display:grid}.dt-outcomes li{font-size:var(--text-body);counter-increment:o;grid-template-columns:28px 1fr;gap:12px;line-height:1.5;display:grid}.dt-outcomes li:before{content:counter(o, decimal-leading-zero);font-family:var(--ff-mono);color:var(--text-3);padding-top:2px;font-size:13px}.dt-demos{grid-template-columns:1fr;gap:16px;display:grid}.dt-demos.is-multi{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-demo{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.dt-demo-stage{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-2);position:relative;overflow:hidden}.dt-demo-video{background:#000;width:100%;height:auto;max-height:70vh;display:block}.dt-demo-toggle{color:#fff;background:#07080ab3;position:absolute;bottom:8px;right:8px}.dt-demo-toggle:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:2px}.dt-demo figcaption{color:var(--text-3);flex-wrap:wrap;gap:0 4px;font-size:12.5px;display:flex}.dt-demo-title{color:var(--text-2);font-weight:600}.dt-demo-caption{flex-basis:100%}.dt-gallery{grid-template-rows:auto auto;grid-template-columns:2fr 1fr;gap:12px;display:grid}.dt-gallery figure{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.dt-gallery figure:first-child{grid-row:span 2}.dt-gallery.is-single{grid-template-columns:1fr}.dt-gallery.is-pair{grid-template-columns:1fr 1fr}.dt-gallery.is-pair figure:first-child{grid-row:auto}.dt-shot{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-2);cursor:zoom-in;width:100%;padding:0;display:block;position:relative;overflow:hidden}.dt-shot img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;transition:transform var(--dur-base) var(--ease-standard);display:block}.dt-shot:hover img{transform:scale(1.015)}.dt-shot-zoom{border-radius:var(--radius-sm);color:#fff;opacity:0;width:28px;height:28px;transition:opacity var(--dur-fast);background:#07080ab3;place-items:center;display:grid;position:absolute;top:8px;right:8px}.dt-shot:hover .dt-shot-zoom,.dt-shot:focus-visible .dt-shot-zoom{opacity:1}.dt-shot:focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:3px}.dt-gallery figcaption{color:var(--text-3);font-size:12.5px}.dt-lb-overlay{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050608db;position:fixed;inset:0}.dt-lb{z-index:var(--z-modal);color:#f4f3ef;outline:none;flex-direction:column;gap:12px;max-width:1280px;margin:0 auto;display:flex;position:fixed;inset:24px}.dt-lb-head{align-items:center;gap:16px;min-width:0;display:flex}.dt-lb-title{font-size:var(--text-body-s);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.dt-lb-count{font-family:var(--ff-mono);color:#aeb4be;font-variant-numeric:tabular-nums;font-size:12px}.dt-lb .icon-btn{color:#f4f3ef}.dt-lb .icon-btn:hover{color:#fff;background:#ffffff1f}.dt-lb-stage{flex:1;min-height:0;position:relative}.dt-lb-stage img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%;margin:auto;position:absolute;inset:0}.dt-lb-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.dt-lb-hint{color:#aeb4be;text-align:center;font-size:12px}@media (max-width:767px){.dt-lb{inset:12px}.dt-lb-hint{display:none}}.dt-kv{grid-template-columns:160px 1fr;align-items:start;gap:14px 24px;margin:0;display:grid}.dt-kv dt{color:var(--text-3);font-size:var(--text-body-s);padding-top:3px}.dt-kv dd{flex-wrap:wrap;gap:6px;min-width:0;margin:0;display:flex}.dt-lessons{gap:2px;margin:0;padding:0;list-style:none;display:grid}.dt-lesson{border-top:1px solid var(--border-subtle);font-size:var(--text-body);grid-template-columns:140px 1fr;gap:16px;padding:12px 0;line-height:1.55;display:grid}.dt-lesson:first-child{border-top:0}.dt-kind{font-family:var(--ff-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);align-items:flex-start;gap:8px;padding-top:4px;font-size:11px;line-height:1.3;display:inline-flex}.dt-kind svg{width:14px;height:14px;color:var(--text-3);flex:none}.k-worked .dt-kind svg{color:var(--success)}.k-didnt .dt-kind svg{color:var(--danger)}.dt-tryit{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface-1);flex-direction:column;gap:12px;min-width:0;display:flex}.dt-codewrap{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;overflow:hidden}.dt-code-head{border-bottom:1px solid var(--border-subtle);background:var(--surface-2);justify-content:space-between;align-items:center;gap:8px;padding:4px 4px 4px 14px;display:flex}.dt-code-label{font-family:var(--ff-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.dt-codewrap .dt-code{border:0;border-radius:0}.dt-code{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--ff-mono);font-size:var(--text-code);line-height:var(--leading-code);color:var(--text);white-space:pre;margin:0;padding:16px 18px;overflow-x:auto}.dt-code-c{color:var(--text-3)}.dt-tryit-text{font-size:var(--text-body-s);color:var(--text-2);line-height:1.55}ul.dt-tryit-text{padding-left:1.3em;list-style:outside}ol.dt-tryit-text{padding-left:1.3em;list-style:decimal}.dt-tryit-md{flex-direction:column;gap:12px;min-width:0;display:flex}.dt-tryit-md>p,.dt-tryit-md>ul,.dt-tryit-md>ol{font-size:var(--text-body-s);color:var(--text-2);line-height:1.55}.dt-tryit-md>ul{padding-left:1.3em;list-style:outside}.dt-tryit-md>ol{padding-left:1.3em;list-style:decimal}.dt-tryit-md h3,.dt-tryit-md h4,.dt-prose h3,.dt-prose h4{color:var(--text)}.dt-prose a,.dt-tryit-md a{overflow-wrap:anywhere}.dt-prose table,.dt-tryit-md table{border-collapse:collapse;font-size:var(--text-body-s);display:block;overflow-x:auto}.dt-prose th,.dt-prose td,.dt-tryit-md th,.dt-tryit-md td{border:1px solid var(--border-subtle);text-align:left;padding:6px 10px}.dt-prose blockquote{border-left:3px solid var(--border);color:var(--text-2);padding-left:1em}.dt-tryit-foot{font-size:var(--text-body-s);color:var(--text-3)}.dt-links{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.dt-lnk{border-top:1px solid var(--border-subtle)}.dt-lnk:first-child{border-top:0}.dt-lnk-a,.dt-lnk.is-text{border-radius:var(--radius-md);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;margin-inline:-8px;padding:12px 8px;display:grid}.dt-lnk-a:hover{background:var(--surface-2)}.dt-lnk-ico{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border-subtle);width:36px;height:36px;color:var(--text-2);place-items:center;display:grid}.dt-lnk-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dt-lnk-l{font-weight:600;font-size:var(--text-body-s);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dt-ref{height:20px;font-family:var(--ff-mono);gap:4px;font-size:11px;font-weight:400}.dt-lnk-u{font-family:var(--ff-mono);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dt-lnk-u.is-copyable{white-space:normal;overflow-wrap:anywhere;color:var(--text-2);-webkit-user-select:all;user-select:all}.dt-lnk-hint{color:var(--text-3);align-items:center;gap:4px;font-size:12px;display:inline-flex}.dt-lnk-ext{color:var(--text-3)}.dt-rel-group+.dt-rel-group{margin-top:var(--space-8)}.dt-rel-group h3{margin-bottom:var(--space-3)}.dt-rel-head{margin-bottom:var(--space-3);align-items:baseline;gap:12px;display:flex}.dt-rel-head h3{margin-bottom:0}.dt-rel-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.dt-rel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1);height:100%;transition:background var(--dur-fast);grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:10px;display:grid}.dt-rel:hover{background:var(--surface-2)}.dt-rel:focus-visible{outline-offset:2px;border-radius:var(--radius-md)}.dt-rel-thumb{aspect-ratio:2/3;background:var(--surface-2);border-radius:4px;width:64px;display:block;overflow:hidden}.dt-rel-thumb svg,.dt-rel-thumb img{object-fit:cover;width:100%;height:100%;display:block}.dt-rel-thumb.is-archived :is(svg,img){filter:grayscale()brightness(.62)}.dt-rel-body{flex-direction:column;gap:6px;min-width:0;display:flex}.dt-rel-ttl{font-weight:600;font-size:var(--text-body-s);line-height:1.35}.dt-rel-tech{font-size:var(--text-caption);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dt-more{gap:var(--grid-gap,20px);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dt-toast-region{z-index:var(--z-toast);pointer-events:none;width:max-content;max-width:calc(100vw - 32px);position:fixed;bottom:24px;left:50%;translate:-50%}.dt-toast{background:var(--surface-overlay);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-body-s);box-shadow:var(--shadow-3);animation:dt-toast-in var(--dur-base) var(--ease-emphasized);padding:10px 14px}@keyframes dt-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:1023px){.dt-layout{grid-template-columns:minmax(0,1fr);gap:0}.dt-aside{display:none}.dt-main{max-width:none}.dt-facts-inline{padding-block:var(--space-8) 0;display:block}.dt-strip{top:var(--dt-header-h);z-index:var(--z-sticky);background:var(--bg);border-bottom:1px solid var(--border-subtle);padding:8px var(--gutter);margin-inline:calc(-1 * var(--gutter));gap:6px;display:flex;position:sticky;overflow-x:auto}.dt-strip a{border-radius:var(--radius-pill);color:var(--text-2);border:1px solid var(--border);white-space:nowrap;flex:none;padding:6px 12px;font-size:13px}.dt-strip a[aria-current=true]{color:var(--text);border-color:var(--accent);background:var(--accent-subtle)}.dt-sec{scroll-margin-top:calc(var(--dt-header-h) + 60px)}}@media (max-width:767px){.dt-hero-wrap{padding-top:var(--space-4)}.dt-hero-inner{gap:var(--space-5);padding-block:var(--space-4) var(--space-6);grid-template-columns:1fr;align-items:start}.dt-poster{width:150px}.dt-title{font-size:2rem}.dt-summary{font-size:var(--text-body);line-height:1.55}.dt-actions>*{flex:auto}.dt-sec{padding-block:var(--space-8)}.dt-gallery{grid-template-columns:1fr}.dt-gallery figure:first-child{grid-row:auto}.dt-demos.is-multi{grid-template-columns:1fr}.dt-kv{grid-template-columns:1fr;gap:6px}.dt-kv dd{margin-bottom:10px}.dt-lesson{grid-template-columns:1fr;gap:4px}.dt-prose{font-size:var(--text-body)}.dt-code{padding:14px;font-size:13px}.dt-tryit{padding:var(--space-3)}.dt-rel-list{grid-template-columns:1fr}.dt-more{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-lnk-a,.dt-lnk.is-text{grid-template-columns:36px minmax(0,1fr) auto;gap:10px}}}
