:root{--bg:#f6f5f2;--panel:#ffffff;--panel-2:#efede8;--ink:#111214;--ink-2:#54585f;--ink-3:#8c9098;--line:#111214;--hair:#d8d5ce;--cu:#b4632f;--cu-2:#8e4c22;--cu-soft:#faede4;--ok:#1f7a52;--danger:#a83232;--lat-k:#3b6ea5;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--t-display:3.25rem;--t-title:2.5rem;--t-heading:1.25rem;--t-prose:1.03125rem;--t-body:0.9375rem;--t-dense:0.90625rem;--t-note:0.84375rem;--t-code:0.8125rem;--t-num:0.78125rem;--t-ui:0.75rem;--t-nav:0.71875rem;--t-meta:0.6875rem;--t-label:0.65625rem;--t-tick:0.625rem;--lh-tight:1.1;--lh-snug:1.35;--lh-body:1.58;--lh-prose:1.72;--track-tight:-0.028em;--track-label:0.13em;--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--space-section:var(--s-7);--space-block:var(--s-5);--measure:68ch;--page-max:77.5rem;--page-pad:var(--s-6);--rail-width:18rem;--thumb-ratio:16 / 9;--wgt-stage-h:clamp(20rem, 55vh, 34rem);--border:1px solid var(--line);--border-hair:1px solid var(--hair)}html.dark{--bg:#0f1011;--panel:#161719;--panel-2:#1d1f21;--ink:#ededea;--ink-2:#a8acb2;--ink-3:#71757c;--line:#33363a;--hair:#26282b;--cu:#e08a4e;--cu-2:#f0a468;--cu-soft:#2a1d14;--ok:#4bb98a;--danger:#e5736b;--lat-k:#6ea8dd}@media(max-width:60rem){:root{--page-pad:var(--s-4);--space-section:var(--s-6)}}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}[hidden]{display:none!important}input,button,textarea,select{font:inherit;color:inherit}table{border-collapse:collapse}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-body);line-height:var(--lh-body)}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-weight:600;letter-spacing:var(--track-tight);line-height:var(--lh-tight);text-wrap:balance}code,pre,kbd,samp{font-family:var(--font-mono)}::selection{background:var(--cu);color:var(--bg)}:focus-visible{outline:2px solid var(--cu);outline-offset:2px}.skip-link{position:absolute;left:var(--s-2);top:var(--s-2);padding:var(--s-2)var(--s-3);background:var(--cu);color:#fff;font-family:var(--font-mono);font-size:var(--t-nav);transform:translateY(-200%)}.skip-link:focus{transform:none;z-index:100}.center{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-pad)}.stack>*+*{margin-top:var(--stack-space,var(--s-4))}.stack-2{--stack-space:var(--s-2)}.stack-3{--stack-space:var(--s-3)}.stack-5{--stack-space:var(--s-5)}.stack-6{--stack-space:var(--s-6)}.cluster{display:flex;flex-wrap:wrap;gap:var(--cluster-space,var(--s-3));align-items:var(--cluster-align,center)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-min,20rem),1fr));gap:var(--grid-gap,0)}.sidebar{display:grid;grid-template-columns:minmax(0,1fr)var(--sidebar-width,var(--rail-width));gap:var(--sidebar-gap,var(--s-7))}@media(max-width:60rem){.sidebar{grid-template-columns:1fr;gap:var(--s-5)}}.frame{aspect-ratio:var(--frame-ratio,16/9);overflow:hidden;background:var(--panel-2);display:grid;place-items:center}.frame>img{width:100%;height:100%;object-fit:cover}.section{padding-block:var(--space-section);border-bottom:var(--border)}.section:last-of-type{border-bottom:0}.lbl{font-family:var(--font-mono);font-size:var(--t-label);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3)}.cu{color:var(--cu)}.page-title{font-size:clamp(1.75rem,4.4vw,var(--t-title))}.page-head{max-width:var(--measure)}.dim{color:var(--ink-2)}.lede{color:var(--ink-2);font-size:var(--t-prose);line-height:1.65;max-width:54ch}.spaced{margin-top:var(--s-6)}.spec--boxed{border:var(--border)}.cv-date{text-align:left;width:11rem}.cv-detail{font-size:var(--t-code);margin-top:var(--s-2)}.aside .hd+a~.hd,.aside nav+.hd{margin-top:var(--s-5)}.site-header nav{margin-left:auto}.site-header{border-bottom:var(--border);background:var(--bg);position:sticky;top:0;z-index:40}.site-header .bar{height:3.25rem;display:flex;align-items:center}.mark{font-family:var(--font-mono);font-weight:600;font-size:var(--t-code);border:var(--border);padding:var(--s-1)var(--s-2);background:var(--cu);color:#fff}.who{font-family:var(--font-mono);font-size:var(--t-ui);letter-spacing:var(--track-label);text-transform:uppercase;margin-left:var(--s-3);color:var(--ink-2)}.site-nav{display:flex;font-family:var(--font-mono);font-size:var(--t-nav);letter-spacing:.1em;text-transform:uppercase;border-left:var(--border-hair);list-style:none;padding:0}.site-nav a{padding-inline:var(--s-4);height:3.25rem;display:grid;place-items:center;border-right:var(--border-hair);color:var(--ink-2)}.site-nav a:hover{background:var(--cu-soft);color:var(--cu)}.site-nav a.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--cu)}.theme-toggle{width:3.25rem;height:3.25rem;border:0;border-right:var(--border-hair);background:0 0;color:var(--ink-2);cursor:pointer;display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--t-nav)}.theme-toggle:hover{background:var(--cu-soft);color:var(--cu)}.theme-toggle::before{content:"\25D1";font-size:var(--t-prose);line-height:1}.theme-toggle[data-theme=dark]::before{content:"\25D0"}.sbar{display:flex;align-items:center;gap:var(--s-3);padding-block:var(--s-3);border-bottom:var(--border-hair);margin-bottom:var(--s-5)}.sbar h2{font-family:var(--font-mono);font-size:var(--t-ui);font-weight:600;letter-spacing:.16em;text-transform:uppercase}.sbar .n{font-family:var(--font-mono);font-size:var(--t-label);color:#fff;background:var(--cu);padding:.125rem var(--s-2);letter-spacing:.1em}.sbar .fill{flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--hair) 0 4px,transparent 4px 8px)}.sbar a{font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.sbar a:hover{color:var(--cu)}.hero{border-bottom:var(--border)}.hero-in{display:grid;grid-template-columns:minmax(0,1fr)21.25rem}.hero-l{padding:var(--s-7)var(--s-6)var(--s-6)0}.hero-r{border-left:var(--border-hair)}.hero h1{font-size:clamp(2.125rem,4.6vw,var(--t-display));margin-top:var(--s-3);max-width:17ch}.hero .lede{color:var(--ink-2);font-size:var(--t-prose);line-height:1.65;max-width:54ch;margin-top:var(--s-4)}.trace{height:1px;margin-top:var(--s-6);background:repeating-linear-gradient(90deg,var(--cu) 0 26px,transparent 26px 34px);opacity:.6}@media(max-width:60rem){.hero-in{grid-template-columns:1fr}.hero-l{padding:var(--s-6)0}.hero-r{border-left:0;border-top:var(--border-hair)}}.acts{display:flex;width:max-content;max-width:100%;flex-wrap:wrap;border:var(--border);margin-top:var(--s-5);font-family:var(--font-mono);font-size:var(--t-nav);letter-spacing:.1em;text-transform:uppercase}.acts a{padding:var(--s-3)var(--s-4);border-right:var(--border-hair)}.acts a:last-child{border-right:0}.acts a:hover{background:var(--cu);color:#fff}.acts a.p{background:var(--ink);color:var(--bg)}.acts a.p:hover{background:var(--cu);color:#fff}.spec{font-family:var(--font-mono);font-size:var(--t-ui)}.spec .h{padding:var(--s-2)var(--s-5);border-bottom:var(--border-hair);background:var(--panel-2);font-size:var(--t-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-2);display:flex;justify-content:space-between}.spec .r{display:flex;justify-content:space-between;gap:var(--s-4);padding:var(--s-2)var(--s-5);border-bottom:var(--border-hair)}.spec .r>:first-child{color:var(--ink-3)}.spec .r>:last-child{text-align:right}.led{display:inline-block;width:7px;height:7px;background:var(--cu);border-radius:50%;box-shadow:0 0 6px var(--cu);margin-right:var(--s-2);vertical-align:1px}.tiles{border-left:var(--border-hair);--grid-min:22rem}.tile{border-right:var(--border-hair);border-bottom:var(--border-hair);transition:background .15s}.tile:hover{background:var(--panel)}.tile .frame{border-bottom:var(--border-hair);position:relative}.frame--empty{background-image:repeating-linear-gradient(45deg,transparent 0 9px,rgb(180 99 47/6%) 9px 18px)}.tile .tx{padding:var(--s-4)var(--s-5)var(--s-5)}.tile h3{font-size:var(--t-heading);margin-block:var(--s-2)var(--s-2)}.tile:hover h3{color:var(--cu)}.tile p{color:var(--ink-2);font-size:var(--t-dense)}.tbl{width:100%;font-size:var(--t-dense)}.tbl th{font-family:var(--font-mono);font-size:var(--t-tick);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);text-align:left;font-weight:500;padding:var(--s-3);border-bottom:var(--border)}.tbl td{padding:var(--s-3);border-bottom:var(--border-hair);vertical-align:top}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:var(--cu-soft)}.tbl .id{font-family:var(--font-mono);font-size:var(--t-ui);color:var(--ink-3);width:3.25rem}.tbl .nm{font-weight:500;letter-spacing:-.01em}.tbl tbody tr:hover .nm{color:var(--cu)}.tbl .ds{color:var(--ink-2);font-size:var(--t-note);margin-top:.125rem}.tbl .yr{font-family:var(--font-mono);font-size:var(--t-num);color:var(--ink-3);width:5rem;text-align:right;white-space:nowrap}.tbl a{display:block}.chip{font-family:var(--font-mono);font-size:var(--t-tick);letter-spacing:.08em;text-transform:uppercase;border:var(--border-hair);padding:.125rem var(--s-2);white-space:nowrap;color:var(--ink-2)}a.chip:hover{border-color:var(--cu);color:var(--cu)}.st{width:7rem}.st b{font-family:var(--font-mono);font-weight:500;font-size:var(--t-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--cu);display:flex;align-items:center;gap:var(--s-2)}.st b::before{content:"";width:5px;height:5px;background:currentColor}@media(max-width:48rem){.tbl .st,.tbl th.st,.tbl .dom{display:none}}.article{padding-block:var(--space-section)}.article-head{max-width:var(--measure)}.article-head h1{font-size:clamp(1.75rem,4.4vw,var(--t-title));margin-block:var(--s-2)var(--s-3)}.article-meta{display:flex;gap:var(--s-3);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding-bottom:var(--s-4);border-bottom:var(--border-hair)}.article-masthead{display:grid;grid-template-columns:minmax(0,1fr)var(--rail-width);gap:var(--s-7);align-items:start}.article-thumb .frame{--frame-ratio:var(--thumb-ratio);border:var(--border)}@media(max-width:60rem){.article-masthead{grid-template-columns:1fr;gap:var(--s-5)}.article-thumb{max-width:26rem}}.article-thumb figcaption,.prose figure figcaption{font-family:var(--font-mono);font-size:var(--t-nav);color:var(--ink-3);margin-top:var(--s-2);display:flex;gap:var(--s-2);letter-spacing:.04em}.aside{font-family:var(--font-mono);font-size:var(--t-nav);line-height:1.9;color:var(--ink-3);position:sticky;top:5rem;align-self:start;border-left:var(--border-hair);padding-left:var(--s-4)}.aside .hd{letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-2);margin-bottom:var(--s-2)}.aside a{display:block}.aside a:hover,.aside a.on{color:var(--cu)}.aside nav ul{list-style:none;padding:0}.aside nav ul ul{padding-left:var(--s-3)}.stub{border:var(--border);background:var(--panel);padding:var(--s-5);max-width:var(--measure)}.stub .go{font-family:var(--font-mono);font-size:var(--t-nav);letter-spacing:.1em;text-transform:uppercase;color:var(--cu)}.stub .go:hover{text-decoration:underline}.pager{display:flex;gap:var(--s-2);justify-content:center;margin-top:var(--s-6);font-family:var(--font-mono);font-size:var(--t-nav)}.pager a,.pager span{border:var(--border-hair);padding:var(--s-2)var(--s-3);color:var(--ink-2)}.pager a:hover{border-color:var(--cu);color:var(--cu)}.pager .on{background:var(--cu);color:#fff;border-color:var(--cu)}.site-footer{border-top:var(--border);padding-block:var(--s-6)var(--s-7);font-family:var(--font-mono);font-size:var(--t-meta);letter-spacing:.06em;color:var(--ink-3)}.site-footer .fgrid{display:flex;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap;text-transform:uppercase}.site-footer a:hover{color:var(--cu)}.prose{max-width:var(--measure);font-size:var(--t-prose);line-height:var(--lh-prose)}.prose>*+*{margin-top:var(--space-block)}.prose h2,.prose h3{font-family:var(--font-mono);font-weight:600;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--cu);display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-7)}.prose h2{font-size:var(--t-ui)}.prose h3{font-size:var(--t-nav);color:var(--ink-2)}.prose h2::after,.prose h3::after{content:"";flex:1;height:1px;background:var(--hair)}.prose h4{font-size:var(--t-body);margin-top:var(--s-5)}.prose a{color:var(--cu);border-bottom:1px solid var(--cu)}.prose a:hover{background:var(--cu-soft)}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:var(--s-1)}.prose li>ul,.prose li>ol{margin-top:var(--s-1)}.prose code{font-size:.88em;background:var(--panel-2);border:var(--border-hair);padding:.12em .35em}.prose pre{background:var(--panel);border:var(--border);padding:var(--s-4)var(--s-5);overflow-x:auto;font-size:var(--t-code);line-height:1.62}.prose pre code{background:0 0;border:0;padding:0;font-size:inherit}.prose blockquote{border-left:2px solid var(--cu);padding-left:var(--s-4);color:var(--ink-2)}.prose img,.prose figure{margin-inline:auto}.prose figure img{border:var(--border)}.prose hr{border:0;border-top:var(--border-hair)}.prose table{width:100%;font-size:var(--t-dense);display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:var(--s-2)var(--s-3);border-bottom:var(--border-hair)}.prose th{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:var(--border)}.prose>pre,.prose>table{max-width:100%}.callout{display:flex;gap:var(--s-3);align-items:baseline;padding:var(--s-3)var(--s-4);border-left:2px solid var(--cu);background:var(--cu-soft);font-size:var(--t-body);line-height:var(--lh-body)}.callout>b{flex:none;font-family:var(--font-mono);font-size:var(--t-tick);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--cu-2)}.callout>div>*+*{margin-top:var(--s-3)}.callout--warning{border-left-color:var(--danger)}.callout--warning>b{color:var(--danger)}.figrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--s-4)}.figrow figure{margin:0}.figrow img{width:100%;border:var(--border)}.wgt{--wgt-pad:var(--s-4);border:var(--border);background:var(--panel);font-size:var(--t-body);line-height:var(--lh-body)}.wgt>*+*,.wgt-group>*+*{border-top:var(--border-hair)}.wgt>.wgt-hd+*{border-top-color:var(--line)}.prose .wgt{max-width:100%}.wgt-hd{display:flex;align-items:baseline;gap:var(--s-3);padding:var(--s-2)var(--wgt-pad);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3)}.wgt-hd b{font-weight:500;color:var(--ink-2)}.wgt-hd .r{margin-left:auto}.wgt-stage{position:relative;height:var(--wgt-stage-h);background:var(--panel-2);overflow:hidden}.wgt-stage>model-viewer,.wgt-stage>canvas,.wgt-stage>iframe,.wgt-stage>img,.wgt-stage>video{display:block;width:100%;height:100%;border:0;background:var(--panel-2)}.wgt-stage--tall{--wgt-stage-h:clamp(24rem, 68vh, 40rem)}.wgt-stage--short{--wgt-stage-h:clamp(14rem, 38vh, 22rem)}.wgt-stage--stack>model-viewer{position:absolute;inset:0}.wgt-stage--stack>model-viewer~model-viewer{pointer-events:none}.wgt-stage--fit{display:grid;place-items:center;padding:var(--s-4)}.wgt-stage--fit>canvas{width:auto;height:auto;max-width:100%;max-height:100%}.wgt-panes{display:grid;grid-template-columns:1fr}.wgt-pane{display:grid;grid-template-rows:auto 1fr;min-width:0}.wgt-pane>*+*{border-top:var(--border-hair)}@media(min-width:45rem){.wgt-panes{grid-template-columns:1fr 1fr}.wgt-panes>*+*{border-left:var(--border-hair)}}@media(max-width:45rem){.wgt-panes>*+*{border-top:var(--border-hair)}}.wgt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)var(--s-5);padding:var(--s-3)var(--wgt-pad)}.wgt-bar--end{justify-content:flex-end}.wgt-bar>.sep{flex:auto}.wgt-field{display:flex;flex-direction:column;gap:var(--s-1);min-width:0;flex:1 1 12rem}.wgt-field--fixed{flex:none}.wgt-lab{display:flex;align-items:baseline;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--t-tick);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3)}.wgt-lab .v{margin-left:auto;color:var(--cu);font-variant-numeric:tabular-nums}.wgt-check{display:flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--t-nav);color:var(--ink-2);cursor:pointer}.wgt select,.wgt input[type=text],.wgt input[type=number],.wgt input[type=date]{width:100%;font-family:var(--font-mono);font-size:var(--t-nav);color:var(--ink);background:var(--panel);border:var(--border-hair);border-radius:0;padding:var(--s-2)var(--s-3)}.wgt select:focus,.wgt input:focus{outline:none;border-color:var(--cu)}.wgt input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:var(--s-4);background:0 0;cursor:pointer}.wgt input[type=range]::-webkit-slider-runnable-track{height:1px;background:var(--line)}.wgt input[type=range]::-moz-range-track{height:1px;background:var(--line)}.wgt input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--s-3);height:var(--s-3);margin-top:calc(var(--s-3)/-2);background:var(--cu);border:0;border-radius:0}.wgt input[type=range]::-moz-range-thumb{width:var(--s-3);height:var(--s-3);background:var(--cu);border:0;border-radius:0}.wgt input[type=checkbox]{accent-color:var(--cu);width:var(--s-3);height:var(--s-3)}.wgt-btn{display:inline-block;font-family:var(--font-mono);font-size:var(--t-nav);letter-spacing:var(--track-label);text-transform:uppercase;line-height:1;color:var(--ink);background:var(--panel);border:var(--border);border-radius:0;padding:var(--s-2)var(--s-3);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.wgt-btn:hover{background:var(--cu-soft);color:var(--cu-2);border-color:var(--cu)}.wgt-btn[aria-pressed=true],.wgt-btn.is-on{background:var(--cu);border-color:var(--cu);color:var(--bg)}.wgt-btn[disabled]{opacity:.4;cursor:default}.wgt-btn[disabled]:hover{background:var(--panel);color:var(--ink);border-color:var(--line)}.wgt-btn--primary{background:var(--cu);border-color:var(--cu);color:var(--bg)}.wgt-btn--primary:hover{background:var(--cu-2);border-color:var(--cu-2);color:var(--bg)}.wgt-btn--ok{border-color:var(--ok);color:var(--ok)}.wgt-btn--ok:hover{background:var(--ok);border-color:var(--ok);color:var(--bg)}.wgt-btn--danger{border-color:var(--danger);color:var(--danger)}.wgt-btn--danger:hover{background:var(--danger);border-color:var(--danger);color:var(--bg)}.wgt-btn--icon{padding:0;width:var(--s-6);height:var(--s-6);display:grid;place-items:center}.wgt-btn--icon svg{width:var(--s-4);height:var(--s-4);stroke:currentColor}.wgt-dpad{display:grid;grid-template-columns:repeat(3,var(--s-7));gap:var(--s-1)}.wgt-dpad .wgt-btn{width:100%;height:var(--s-7);padding:0;display:grid;place-items:center;font-size:var(--t-body)}.wgt-dpad [data-dir=up]{grid-area:1/2}.wgt-dpad [data-dir=left]{grid-area:2/1}.wgt-dpad [data-dir=right]{grid-area:2/3}.wgt-dpad [data-dir=down]{grid-area:3/2}.wgt-help{padding:var(--s-3)var(--wgt-pad);font-size:var(--t-nav);line-height:var(--lh-body);color:var(--ink-2)}.wgt-help strong{color:var(--ink);font-weight:600}.wgt-help ul{padding-left:1.2em;margin-top:var(--s-2)}.wgt-help li+li{margin-top:var(--s-1)}.wgt-fail{color:var(--danger)}.wgt-pop{position:absolute;z-index:5;pointer-events:none;font-family:var(--font-mono);font-size:var(--t-heading);font-weight:600;color:var(--ok);animation:wgt-pop 1.6s ease-out forwards}@keyframes wgt-pop{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(var(--s-8) * -1))}}.wgt-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.wgt-cal-day{font-family:var(--font-mono);font-size:var(--t-tick);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3);background:var(--panel-2);padding:var(--s-2)var(--s-3);border-left:var(--border-hair)}.wgt-cal-cell{min-height:9rem;max-height:18rem;overflow-y:auto;padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2);border-left:var(--border-hair);border-top:var(--border-hair)}.wgt-cal-day:nth-child(7n+1),.wgt-cal-cell:nth-child(7n+1){border-left:0}.wgt-event{width:100%;text-align:left;display:flex;align-items:flex-start;gap:var(--s-2);font-size:var(--t-meta);line-height:var(--lh-snug);color:var(--ink);background:var(--panel-2);border:var(--border-hair);border-radius:0;padding:var(--s-2);cursor:pointer}.wgt-event:hover{border-color:var(--cu)}.wgt-event[aria-pressed=true]{background:var(--cu);border-color:var(--cu);color:var(--bg)}.wgt-event .t{display:block;font-family:var(--font-mono);font-size:var(--t-tick);opacity:.7}.wgt-event .n{margin-left:auto;flex:none;font-family:var(--font-mono);font-size:var(--t-tick);padding:0 var(--s-1);border:1px solid}.wgt-drop{display:grid;place-items:center;gap:var(--s-4);padding:var(--s-8)var(--wgt-pad);text-align:center}.wgt-drop p{color:var(--ink-2);max-width:32ch}.wgt-drop input[type=file]{display:none}.wgt-dialog{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--s-4);background:color-mix(in srgb,var(--ink) 55%,transparent)}.wgt-dialog-panel{width:min(30rem,100%);background:var(--panel);border:var(--border)}.wgt-dialog-panel h2{font-family:var(--font-mono);font-size:var(--t-ui);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--cu);padding:var(--s-3)var(--wgt-pad);border-bottom:var(--border)}.wgt-dialog-panel p{padding:var(--s-4)var(--wgt-pad);color:var(--ink-2)}.wgt-dialog-panel .wgt-bar{flex-direction:column;align-items:stretch}.wgt-dialog-panel .wgt-bar .wgt-btn{text-align:center}.wgt-hud{position:absolute;z-index:3;top:var(--s-2);right:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2)}.wgt-hud--bl{top:auto;right:auto;bottom:var(--s-2);left:var(--s-2);flex-direction:row}.wgt-tag{position:absolute;z-index:2;font-family:var(--font-mono);font-size:var(--t-tick);letter-spacing:var(--track-label);text-transform:uppercase;white-space:nowrap;color:var(--ink);background:var(--panel);border:var(--border-hair);border-radius:0;padding:var(--s-1)var(--s-2);pointer-events:none}.wgt-tag--tl{top:var(--s-2);left:var(--s-2)}.wgt-tag--tr{top:var(--s-2);right:var(--s-2)}.k-point-label{z-index:4}.wgt-split{position:absolute;inset-block:0;z-index:2;width:1px;background:var(--line);transform:translateX(-50%);cursor:ew-resize;touch-action:none}.wgt-split::before{content:"";position:absolute;inset-block:0;left:50%;width:var(--s-6);transform:translateX(-50%)}.wgt-split-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--s-6);height:var(--s-6);background:var(--panel);border:var(--border);color:var(--ink);display:grid;place-items:center}.wgt-split-grip svg{width:var(--s-4);height:var(--s-4);stroke:currentColor}.wgt-split:focus-visible .wgt-split-grip{border-color:var(--cu);color:var(--cu)}.wgt-tag--hotspot{transform:translate3d(-50%,-50%,0);--min-hotspot-opacity:0}.wgt-dot{display:none}.wgt-rule{pointer-events:none;width:100%;height:100%}.wgt-rule line{stroke:var(--cu);stroke-width:1.5;stroke-dasharray:3 3}.wgt-note{display:flex;gap:var(--s-3);align-items:baseline;padding:var(--s-3)var(--wgt-pad);background:var(--cu-soft);color:var(--cu-2);font-size:var(--t-nav)}.wgt-note b{flex:none;font-family:var(--font-mono);font-size:var(--t-tick);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase}.wgt-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0 var(--s-6);padding:var(--s-2)var(--wgt-pad)var(--s-3)}.wgt-specs>div{display:flex;align-items:baseline;gap:var(--s-3);padding:var(--s-2)0;border-bottom:var(--border-hair)}.wgt-specs dt{font-family:var(--font-mono);font-size:var(--t-tick);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-3)}.wgt-specs dd{margin-left:auto;font-family:var(--font-mono);font-size:var(--t-nav);color:var(--ink);font-variant-numeric:tabular-nums}.wgt-modal{display:none;position:fixed;inset:0;z-index:100;background:var(--bg)}.wgt-modal.is-open{display:block}.wgt-modal>.wgt-stage{height:100%;background:var(--bg)}.wgt-modal .wgt-hud{top:var(--s-4);right:var(--s-4)}:not(:defined)>*{display:none}