@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-cyrillic-wght-normal-CjwCQKo9.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-latin-ext-wght-normal-BDUtSsKd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/jost-latin-wght-normal-ObQm3Zd1.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--day-bg: #f6f5f2;--day-bg-2: #eceae5;--day-line: #dededa;--day-mid: #8a8a86;--day-ink: #1c1c1a;--night-bg: #0b0b0f;--night-bg-2: #131318;--night-line: #26262e;--night-mid: #7a7a85;--night-ink: #ededf0;--bg: var(--day-bg);--bg-2: var(--day-bg-2);--line: var(--day-line);--mid: var(--day-mid);--ink: var(--day-ink);--font-sans: Futura, "Jost Variable", "Century Gothic", "Trebuchet MS", sans-serif;--font-mono: Futura, "Jost Variable", "Century Gothic", "Trebuchet MS", sans-serif;--sp-xs: .5rem;--sp-sm: 1rem;--sp-md: 2rem;--sp-lg: 4rem;--sp-xl: 7rem;--maxw: 1100px;--ease: cubic-bezier(.22, .8, .2, 1)}[data-theme=night]{--bg: var(--night-bg);--bg-2: var(--night-bg-2);--line: var(--night-line);--mid: var(--night-mid);--ink: var(--night-ink)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);line-height:1.6;font-weight:400;overflow-x:hidden;transition:background-color .7s var(--ease),color .7s var(--ease)}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}canvas{display:block}.scene-bg{position:fixed;inset:0;z-index:0;pointer-events:none}.scene-scrim{position:fixed;inset:0;z-index:0;pointer-events:none;background:var(--bg);opacity:.5;transition:background-color .7s var(--ease)}#app{position:relative;z-index:1}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media (prefers-reduced-motion: reduce){.grain{display:none}}.section{position:relative;max-width:var(--maxw);margin:0 auto;padding:var(--sp-xl) var(--sp-md)}.section-label{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mid);display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.section-label:before{content:"";width:28px;height:1px;background:var(--line)}.section-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--sp-md)}.eyebrow{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid)}.reveal{opacity:0;will-change:opacity,transform,filter}@media (prefers-reduced-motion: reduce){.reveal{opacity:1}.lenis.lenis-smooth{scroll-behavior:auto}}::selection{background:var(--ink);color:var(--bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}.lead{font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin-bottom:var(--sp-md);max-width:760px}.lead .accent{background:linear-gradient(120deg,var(--ink),var(--mid));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.prose p{color:var(--mid);font-size:1.05rem;line-height:1.75;margin-bottom:var(--sp-sm);max-width:760px}.timeline{position:relative;margin-top:var(--sp-md);padding-left:1.6rem}.timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:var(--line)}.tl-item{position:relative;padding-bottom:var(--sp-lg)}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:-1.6rem;top:7px;width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 4px var(--bg);margin-left:0;transform:translate(0)}.tl-date{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;color:var(--mid);margin-bottom:.4rem}.tl-title{font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.tl-sub{color:var(--mid);font-size:.95rem;margin:.2rem 0 .7rem}.tl-summary{color:var(--mid);margin-bottom:.8rem;line-height:1.7}.tl-points{display:flex;flex-direction:column;gap:.55rem}.tl-points li{position:relative;padding-left:1.3rem;color:var(--mid);font-size:.95rem;line-height:1.65}.tl-points li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--mid)}.subhead{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);margin:var(--sp-lg) 0 var(--sp-sm);display:flex;align-items:center;gap:.8rem}.subhead:before{content:"";width:22px;height:1px;background:var(--line)}.awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-top:var(--sp-sm)}.award{display:flex;align-items:center;gap:.7rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);font-size:.95rem}.award span:first-child{filter:grayscale(1);opacity:.85}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-top:var(--sp-md)}.skill-cat{border:1px solid var(--line);border-radius:12px;padding:1.4rem;background:var(--bg-2)}.skill-cat h3{font-size:1.05rem;font-weight:600;margin-bottom:1rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{font-family:var(--font-mono);font-size:.76rem;color:var(--mid);border:1px solid var(--line);border-radius:6px;padding:.35rem .6rem;transition:color .2s,border-color .2s}.skill-cat:hover .tag{border-color:color-mix(in srgb,var(--ink) 22%,transparent)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:var(--sp-sm)}.cert-card{border:1px solid var(--line);border-radius:12px;padding:1.4rem;background:var(--bg-2)}.cert-card h3{font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.cert-issuer{color:var(--mid);font-size:.92rem;margin-bottom:.5rem}.cert-score{font-family:var(--font-mono);font-size:.85rem;color:var(--ink)}.cert-year{font-family:var(--font-mono);font-size:.78rem;color:var(--mid);margin-top:.3rem}.contact-wrap{max-width:640px}.contact-links{display:flex;flex-direction:column;gap:.7rem;margin-top:var(--sp-md)}.contact-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.3rem;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);color:var(--ink);font-size:.98rem;transition:border-color .2s,transform .2s var(--ease),background .2s}.contact-link:hover{border-color:color-mix(in srgb,var(--ink) 30%,transparent);transform:translate(4px)}.contact-link .ci{color:var(--mid);display:flex}.contact-meta{margin-top:var(--sp-md);padding:1.2rem 1.4rem;border:1px solid var(--line);border-radius:12px;background:var(--bg-2)}.contact-meta h4{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);margin-bottom:.5rem}.status-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--sp-sm)}.status-tag{font-family:var(--font-mono);font-size:.8rem;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:.45rem .9rem}.rail{position:fixed;left:clamp(1rem,3vw,2.2rem);top:0;height:100vh;z-index:50;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.6rem;color:var(--ink);transition:color .7s var(--ease)}.rail-logo,.rail-index{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;position:absolute;white-space:nowrap}.rail-logo{top:2rem}.rail-index{bottom:2rem;font-size:.7rem;color:var(--mid)}.rail-index-total{opacity:.6}.rail-hint{display:block;font-size:.56rem;letter-spacing:.1em;color:var(--mid);margin-top:.35rem;white-space:nowrap}.rail-track{position:relative;display:flex;flex-direction:column}.rail-track:after{content:"";position:absolute;inset:-.9rem -1.1rem -.9rem -.9rem;z-index:-1;border-radius:14px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.rail:hover .rail-track:after{opacity:1}.rail-track:before{content:"";position:absolute;left:3px;top:0;bottom:0;width:1px;background:var(--line)}.rail-fill{position:absolute;left:3px;top:0;bottom:0;width:1px;transform:scaleY(0);transform-origin:top;background:var(--ink)}.rail-dots{position:relative;display:flex;flex-direction:column;gap:1.4rem;padding:.4rem 0}.rail-dots button{position:relative;display:flex;align-items:center;gap:.8rem;background:none;border:none;cursor:pointer;padding:0;color:inherit}.rail-dot{width:7px;height:7px;border-radius:50%;flex:none;background:color-mix(in srgb,var(--ink) 30%,transparent);transition:transform .3s var(--ease),background .3s}.rail-dots button:hover .rail-dot{background:var(--ink)}.rail-dots button.active .rail-dot{background:var(--ink);transform:scale(1.5)}.rail-text{display:flex;flex-direction:column;align-items:flex-start;pointer-events:none;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .35s var(--ease),opacity .25s}.rail:hover .rail-text{max-width:12rem;opacity:1}.rail-label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--mid);transition:color .25s}.rail-dots button:hover .rail-label,.rail-dots button.active .rail-label{color:var(--ink)}.rail-desc{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.04em;color:var(--mid);opacity:.75;margin-top:.1rem}@media (max-width: 900px){.rail{left:.6rem;gap:1rem}.rail-logo,.rail-index,.rail-text{display:none}}@media (prefers-reduced-motion: reduce){.rail-dot,.rail-fill,.rail-desc{transition:none}}.hero{position:relative;height:100vh;width:100%;perspective:1600px;cursor:pointer}.hero-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 1.15s var(--ease);will-change:transform}.hero-flip.is-flipped{transform:rotateX(180deg)}.hero-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 clamp(1.5rem,6vw,5rem);backface-visibility:hidden;-webkit-backface-visibility:hidden}.hero-face--day{background:var(--day-bg);color:var(--day-ink)}.hero-face--night{background:transparent;color:var(--night-ink);transform:rotateX(180deg)}.hero-inner{width:min(900px,100%);text-align:left}.hero-eyebrow{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;opacity:.55;margin-bottom:1.6rem}.hero-tagline{font-size:clamp(2rem,5.6vw,4.2rem);font-weight:600;line-height:1.12;letter-spacing:-.025em}.hero-tagline .em{font-weight:700}.hero-tagline .dim{opacity:.28;font-weight:400}.hero-tagline .comma{opacity:.28}.hero-sub{margin-top:1.4rem;font-size:clamp(.9rem,1.4vw,1.1rem);line-height:1.6;opacity:.6;max-width:52ch}@media (max-width: 640px){.hero-sub{margin-left:auto;margin-right:auto}}.hero-prompt{position:absolute;bottom:clamp(5rem,14vh,9rem);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.7rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--day-mid);white-space:nowrap;transition:opacity .4s var(--ease)}.hero-prompt.is-hidden{opacity:0}.hero-prompt-ring{position:relative;width:12px;height:12px;border-radius:50%;border:1px solid var(--day-ink);flex:none}.hero-prompt-ring:after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--day-ink);opacity:0;animation:prompt-pulse 2s ease-out infinite}@keyframes prompt-pulse{0%{transform:scale(.6);opacity:.7}to{transform:scale(1.5);opacity:0}}.hero-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#fff;mix-blend-mode:difference;animation:hint-bob 2.4s ease-in-out infinite}.hero-hint svg{transform:rotate(90deg)}@keyframes hint-bob{0%,to{transform:translate(-50%) translateY(0);opacity:.7}50%{transform:translate(-50%) translateY(5px);opacity:1}}@media (max-width: 640px){.hero-inner{text-align:center}.hero-prompt{font-size:.68rem}}@media (prefers-reduced-motion: reduce){.hero-flip{transition:none}.hero-hint,.hero-prompt-ring:after{animation:none}}.about-exp{position:relative;max-width:1240px;margin:0 auto;padding:var(--sp-xl) var(--sp-md) var(--sp-lg)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.exp-stage{position:relative;padding:clamp(2rem,6vh,5rem) 0}.exp-veil{position:absolute;inset:-12% -6%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 58% 60% at 50% 50%,var(--bg) 0%,var(--bg) 40%,color-mix(in srgb,var(--bg) 65%,transparent) 66%,transparent 84%)}.exp-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(300px,1.15fr) 1fr;grid-template-rows:auto auto auto;align-items:center;justify-items:center;gap:clamp(2.5rem,7vh,5rem) clamp(2rem,5vw,4rem);max-width:1180px;margin:0 auto}.exp-axis{position:absolute;z-index:0;background:var(--mid);opacity:.35;will-change:transform}.exp-axis--v{left:calc(50% - .5px);top:21%;bottom:21%;width:1px}.exp-axis--h{top:calc(50% - .5px);left:31%;right:31%;height:1px}.exp-node{position:absolute;width:9px;height:9px;z-index:2}.exp-node:before,.exp-node:after{content:"";position:absolute;background:var(--ink)}.exp-node:before{left:50%;top:0;width:1px;height:100%;transform:translate(-50%)}.exp-node:after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}.exp-part--top .exp-node{left:50%;bottom:-1.7rem;transform:translate(-50%)}.exp-part--bottom .exp-node{left:50%;top:-1.7rem;transform:translate(-50%)}.exp-part--left .exp-node{right:-1.7rem;top:50%;transform:translateY(-50%)}.exp-part--right .exp-node{left:-1.7rem;top:50%;transform:translateY(-50%)}.exp-center{position:relative;grid-column:2;grid-row:2;z-index:2;max-width:440px;text-align:center;padding:1.4rem 1.6rem}.exp-center:before{content:"";position:absolute;inset:-10% -12%;z-index:-1;background:radial-gradient(ellipse at center,var(--bg) 52%,transparent 80%)}.exp-tag{display:inline-block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mid);margin-bottom:1rem}.exp-title{font-size:clamp(1.5rem,2.8vw,2.3rem);font-weight:600;letter-spacing:-.025em;line-height:1.16}.exp-title em{font-style:normal;background:linear-gradient(120deg,var(--ink),var(--mid));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.exp-sub{display:block;margin-top:1rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.04em;color:var(--mid)}.exp-part{position:relative;z-index:1;max-width:350px}.exp-part--top{grid-column:2;grid-row:1}.exp-part--bottom{grid-column:2;grid-row:3}.exp-part--left{grid-column:1;grid-row:2;justify-self:start}.exp-part--right{grid-column:3;grid-row:2;justify-self:end;text-align:right}.exp-part-inner{will-change:transform,opacity,filter}.exp-part-head{display:flex;align-items:baseline;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);padding-bottom:.55rem;margin-bottom:.7rem;border-bottom:1px solid var(--line)}.exp-part--right .exp-part-head{flex-direction:row-reverse}.exp-num{color:var(--mid);font-size:.7rem}.exp-part-text{font-size:.92rem;line-height:1.7;color:var(--mid)}.exp-part-text strong{color:var(--ink);font-weight:650}.ee-section{margin-top:var(--sp-xl)}.ee-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);max-width:1000px;margin:0 auto}.ee-head{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);padding-bottom:.9rem;border-bottom:1px solid var(--line)}.ee-col ul{display:flex;flex-direction:column}.ee-item{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:1.2rem .6rem 1.2rem 0;cursor:pointer;color:var(--ink);transition:padding-left .3s var(--ease),background .25s}.ee-item:hover{padding-left:.7rem;background:color-mix(in srgb,var(--ink) 4%,transparent)}.ee-item:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.ee-dates{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;color:var(--mid)}.ee-title{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-top:.15rem}.ee-org{font-size:.86rem;color:var(--mid)}.ee-hl{font-size:.8rem;color:var(--ink);opacity:.85;margin-top:.4rem}.ee-note{font-family:var(--font-mono);font-size:.72rem;font-style:italic;color:var(--mid);margin-top:.2rem}.ee-more{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--mid);margin-top:.7rem;transition:color .25s}.ee-item:hover .ee-more{color:var(--ink)}.ee-item:hover .ee-more svg{transform:translate(3px);transition:transform .2s var(--ease)}.vt-hl-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);margin-bottom:.6rem}.vt-detail{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(6px)}.vt-detail-panel{position:relative;width:min(640px,100%);max-height:85vh;overflow-y:auto;background:var(--bg-2);border:1px solid var(--line);border-left:2px solid var(--ink);border-radius:16px;padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 40px 90px #00000059;transform-origin:50% 50%;will-change:transform}.vt-detail-panel--exp{border-left-color:var(--mid)}.vt-detail-content{will-change:opacity}.vt-detail-hl{margin-top:1.6rem}.vt-detail-close{position:absolute;top:1.1rem;right:1.1rem;display:inline-flex;padding:.5rem;border:1px solid var(--line);border-radius:50%;background:none;color:var(--mid);cursor:pointer;transition:color .2s,border-color .2s}.vt-detail-close:hover{color:var(--ink);border-color:var(--ink)}.vt-detail-kind{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mid)}.vt-detail-title{font-size:clamp(1.4rem,3vw,2rem);font-weight:600;letter-spacing:-.02em;margin-top:.6rem;line-height:1.15}.vt-detail-org{color:var(--mid);margin-top:.4rem}.vt-detail-dates{font-family:var(--font-mono);font-size:.78rem;color:var(--mid);margin-top:.3rem}.vt-detail-summary{margin-top:1.4rem;line-height:1.7;color:var(--ink)}.vt-detail-points{margin-top:1.4rem;display:flex;flex-direction:column;gap:.8rem}.vt-detail-points li{position:relative;padding-left:1.3rem;color:var(--mid);line-height:1.6;font-size:.95rem}.vt-detail-points li:before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--mid)}.about-extras{max-width:940px;margin:var(--sp-xl) auto 0}.rm-phase{position:relative;z-index:2;text-align:center;margin:2.4rem 0}.rm-phase span{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:.5rem 1.1rem}.rm-awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;max-width:720px;margin:0 auto}.rm-award{display:flex;align-items:center;gap:.7rem;padding:.9rem 1.2rem;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;font-size:.92rem}.rm-award-mark{color:var(--ink)}.rm-coords{max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:.7rem}.rm-coord{display:flex;gap:1.2rem;align-items:baseline;padding:.9rem 1.2rem;background:var(--bg-2);border:1px solid var(--line);border-radius:10px}.rm-coord-k{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);flex:0 0 88px}.rm-coord-v{font-size:.95rem;color:var(--ink)}.rm-coord-link{transition:opacity .2s}.rm-coord-link:hover{opacity:.6}@media (max-width: 640px){.exp-veil{display:none}.exp-grid{grid-template-columns:1fr;gap:2.4rem}.exp-axis,.exp-node{display:none}.exp-center,.exp-part--top,.exp-part--bottom,.exp-part--left,.exp-part--right{grid-column:1!important;grid-row:auto!important;justify-self:stretch!important;max-width:100%;text-align:left}.exp-center:before{display:none}.exp-part--right .exp-part-head{flex-direction:row}.ee-grid{grid-template-columns:1fr;gap:2.5rem}.vt-detail-panel{padding:1.6rem 1.3rem}.rm-coord{flex-direction:column;gap:.3rem}.rm-coord-k{flex-basis:auto}}.markdown-body{color-scheme:light;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;font-weight:400;color:#1f2328;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body a{text-decoration:underline;text-underline-offset:.2rem}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:#0000;color:#0969da;text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:600}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid #d1d9e0b3}.markdown-body mark{background-color:#fff8c5;color:#1f2328}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em 2.5rem}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:#0000;border-bottom:1px solid #d1d9e0b3;height:.25em;padding:0;margin:1.5rem 0;background-color:#d1d9e0;border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:#59636e;opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px rgba(0,0,0,0)}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:.25rem;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:#1f2328;vertical-align:middle;background-color:#f6f8fa;border:solid 1px var(--borderColor-muted);border-bottom-color:var(--borderColor-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5rem;margin-bottom:1rem;font-weight:600;line-height:1.25}.markdown-body h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #d1d9e0b3}.markdown-body h3{font-weight:600;font-size:1.25em}.markdown-body h4{font-weight:600;font-size:1em}.markdown-body h5{font-weight:600;font-size:.875em}.markdown-body h6{font-weight:600;font-size:.85em;color:#59636e}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:#59636e;border-left:.25em solid #d1d9e0}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:.5rem!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#d1242f}.markdown-body .anchor{float:left;padding-right:.25rem;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:1rem}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1f2328;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:1rem}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:1rem;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 1rem;margin-bottom:1rem}.markdown-body table th{font-weight:600}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #d1d9e0}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:#fff;border-top:1px solid #d1d9e0b3}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:#0000}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #d1d9e0}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#1f2328}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:#818b981f;border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:#0000;border:0}.markdown-body .highlight{margin-bottom:1rem}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:1rem;overflow:auto;font-size:85%;line-height:1.45;color:#1f2328;background-color:#f6f8fa;border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:#0000;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px .5rem 9px;text-align:right;background:#fff;border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:#f6f8fa;border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:#59636e;border-top:1px solid #d1d9e0}.markdown-body .footnotes ol{padding-left:1rem}.markdown-body .footnotes ol ul{display:inline-block;padding-left:1rem;margin-top:1rem}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;inset:-.5rem -.5rem -.5rem -1.5rem;pointer-events:none;content:"";border:2px solid #0969da;border-radius:6px}.markdown-body .footnotes li:target{color:#1f2328}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:#59636e}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0550ae}.markdown-body .pl-e,.markdown-body .pl-en{color:#6639ba}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:#1f2328}.markdown-body .pl-ent{color:#0550ae}.markdown-body .pl-k{color:#cf222e}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:#0a3069}.markdown-body .pl-v,.markdown-body .pl-smw{color:#953800}.markdown-body .pl-bu{color:#82071e}.markdown-body .pl-ii{color:var(--fgColor-danger);background-color:var(--bgColor-danger-muted)}.markdown-body .pl-c2{color:#f6f8fa;background-color:#cf222e}.markdown-body .pl-sr .pl-cce{font-weight:700;color:#116329}.markdown-body .pl-ml{color:#3b2300}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:#0550ae}.markdown-body .pl-mi{font-style:italic;color:#1f2328}.markdown-body .pl-mb{font-weight:700;color:#1f2328}.markdown-body .pl-md{color:#82071e;background-color:#ffebe9}.markdown-body .pl-mi1{color:#116329;background-color:#dafbe1}.markdown-body .pl-mc{color:#953800;background-color:#ffd8b5}.markdown-body .pl-mi2{color:#d1d9e0;background-color:#0550ae}.markdown-body .pl-mdr{font-weight:700;color:#8250df}.markdown-body .pl-ba{color:#59636e}.markdown-body .pl-sg{color:#818b98}.markdown-body .pl-corl{text-decoration:underline;color:#0a3069}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--borderColor-accent-emphasis);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:400}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:.25rem}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip-path:none}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:.5rem 1rem;margin-bottom:1rem;color:inherit;border-left:.25em solid #d1d9e0}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:#0969da}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:#0969da}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:#8250df}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:#8250df}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:#9a6700}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#9a6700}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#1a7f37}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:#cf222e}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#d1242f}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.oct-topo,.markdown-body .oct-topo{--oct-accent: #a8741e;--ot-line: color-mix(in srgb, var(--ink) 42%, transparent);margin:1.4rem 0 2rem;display:flex;flex-direction:column;align-items:stretch}[data-theme=night] .oct-topo{--oct-accent: #d9a441}.dy-topo{--oct-accent: #3f7a5f}[data-theme=night] .dy-topo{--oct-accent: #6fae8f}.ot-me{align-self:center;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ink);border-radius:50%;font-weight:600;font-size:.95rem;background:var(--bg)}.ot-link{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.45rem 0}.ot-arrow2{position:relative;width:1.5px;height:26px;background:var(--ot-line)}.ot-arrow2:before,.ot-arrow2:after{content:"";position:absolute;left:-3.5px;border:4px solid transparent}.ot-arrow2:before{top:-2px;border-bottom-color:var(--mid)}.ot-arrow2:after{bottom:-2px;border-top-color:var(--mid)}.ot-link-label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:var(--mid);text-align:center;max-width:52ch}.ot-arrow1{position:relative;width:1.5px;height:26px;background:var(--ot-line)}.ot-arrow1:after{content:"";position:absolute;bottom:-2px;left:-3.5px;border:4px solid transparent;border-top-color:var(--mid)}.ot-down{position:relative;width:1.5px;height:20px;margin:0 auto;background:var(--ot-line)}.ot-down:after{content:"";position:absolute;bottom:-1px;left:-3.5px;border:4px solid transparent;border-top-color:var(--mid)}.ot-channels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.ot-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);padding:.6rem .9rem;text-align:center}.ot-chip strong{font-size:.88rem;font-weight:600;letter-spacing:.01em}.ot-chip span{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;color:var(--mid)}.ot-five{grid-template-columns:repeat(5,minmax(0,1fr))}.oct-topo .ot-center{align-self:center;width:min(30rem,100%);text-align:center}.ot-row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.ot-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;align-items:stretch}.ot-band{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--ink) 2.5%,var(--bg-2));padding:1rem 1.05rem 1.1rem}.ot-band-title{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--mid);margin:0 0 .85rem}.ot-box{border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:.7rem .9rem;width:100%}.ot-box strong{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem}.ot-box span{display:block;font-family:var(--font-mono);font-size:.71rem;line-height:1.55;color:var(--mid)}.ot-role{border-left:2px solid var(--oct-accent)}.ot-deliver{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;width:100%;border:1px dashed var(--line);border-radius:10px;background:transparent;padding:.6rem .9rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.04em;color:var(--mid);text-align:center}.ot-chip-mini{font-style:normal;font-family:inherit;font-size:.72rem;font-weight:600;color:var(--ink);border:1px solid var(--line);border-radius:999px;background:var(--bg-2);padding:.12rem .6rem}.ot-node-links,.ot-mem-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;padding:.5rem 0}.ot-shared-mem{align-self:center;min-width:min(30rem,100%);border:1px solid var(--line);border-radius:999px;background:var(--bg);padding:.8rem 1.6rem;text-align:center}.ot-shared-mem strong{display:block;font-size:.9rem;font-weight:600;margin-bottom:.2rem}.ot-shared-mem span{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.05em;color:var(--oct-accent)}.mv-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%}.mv-server{width:min(30rem,100%);text-align:center}.mv-side{display:flex;align-items:center;justify-self:start}.mv-side .ot-mem{min-width:0;width:auto}.ot-arrow2h{position:relative;width:30px;height:1.5px;background:var(--ot-line);flex:none}.ot-arrow2h:before,.ot-arrow2h:after{content:"";position:absolute;top:-3.5px;border:4px solid transparent}.ot-arrow2h:before{left:-2px;border-right-color:var(--mid)}.ot-arrow2h:after{right:-2px;border-left-color:var(--mid)}.mv-diag{position:relative;width:100%;height:38px}.mv-diag svg{position:absolute;inset:0;width:100%;height:100%}.mv-diag line{stroke:var(--ot-line);stroke-width:1.5;vector-effect:non-scaling-stroke}.mv-diag:after{content:"";position:absolute;left:calc(16.5% - 3.5px);bottom:-1px;border:4px solid transparent;border-top-color:var(--mid)}.mv-diag-label{position:absolute;left:36%;top:28%;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;color:var(--mid)}.mv-chain{display:flex;align-items:center;gap:0}.mv-chain .ot-box{flex:1;min-width:0}.ot-arrow1h{position:relative;width:26px;height:1.5px;background:var(--ot-line);flex:none}.ot-arrow1h:after{content:"";position:absolute;top:-3.5px;right:-2px;border:4px solid transparent;border-left-color:var(--mid)}.dy-fan{width:100%;height:30px;display:block}.dy-fan line{stroke:var(--ot-line);stroke-width:1.5;vector-effect:non-scaling-stroke}.dy-fan-narrow,.dy-grid2{width:min(36rem,100%);align-self:center}.dy-fan-label{align-self:center;margin:-.2rem 0 .4rem}.dy-grid3{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:0 .9rem;align-items:start}.dy-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .9rem;align-items:start}.dy-grid3 .ot-mem{justify-self:center;min-width:0;width:auto}.oct-topo .dy-store{align-self:center;width:min(18rem,100%);text-align:center}.dy-wide{align-self:center;width:min(36rem,100%);text-align:center}.oct-topo .dy-drop{border:1.5px dashed color-mix(in srgb,var(--ink) 45%,transparent);background:transparent}.dy-x{font-style:normal;color:color-mix(in srgb,var(--ink) 55%,transparent)}.oct-topo .dy-gate{border:2px solid var(--oct-accent);background:color-mix(in srgb,var(--oct-accent) 7%,var(--bg))}.dy-gate strong{font-size:.95rem}.ot-center span,.dy-wide span,.dy-store span{text-align:center}@media (max-width: 640px){.ot-channels,.ot-five{grid-template-columns:repeat(2,minmax(0,1fr))}.ot-row2{grid-template-columns:1fr}.dy-fan{display:none}.mv-row{display:flex;flex-direction:column;gap:.3rem}.ot-arrow2h{transform:rotate(90deg);margin:10px 0}.mv-chain{flex-direction:column;gap:.3rem}.mv-chain .ot-box{width:100%}.ot-arrow1h{transform:rotate(90deg);margin:10px 0}.mv-diag svg{display:none}.mv-diag:before{content:"";position:absolute;left:calc(50% - .75px);top:0;width:1.5px;height:100%;background:var(--ot-line)}.mv-diag:after{left:calc(50% - 3.5px)}.mv-diag-label{left:54%;top:30%}.dy-grid3,.dy-grid2{grid-template-columns:1fr;gap:.6rem;margin:.6rem 0}.ot-nodes,.ot-mem-links,.ot-node-links{grid-template-columns:1fr}.ot-mem-links .ot-arrow2:last-child,.ot-node-links .ot-arrow2:last-child{display:none}}.showroom{position:relative;padding-bottom:var(--sp-md)}.show-head{flex:none;width:100%;max-width:1180px;margin:0 auto;padding:clamp(3.5rem,8vh,5.5rem) var(--sp-md) 0 clamp(5.5rem,7vw,7rem)}.show-head-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.show-count{font-family:var(--font-mono);font-size:.8rem;color:var(--mid);letter-spacing:.1em}.show-count span{color:var(--ink)}.show-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.2rem}.show-tabs button{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--mid);background:none;border:1px solid var(--line);border-radius:22px;padding:.5rem 1.1rem;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.show-tabs button:hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 30%,transparent)}.show-tabs button.active{color:var(--bg);background:var(--ink);border-color:var(--ink)}.show-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.show-find{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.show-search{font-family:var(--font-mono);font-size:.78rem;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:22px;padding:.5rem 1rem;width:clamp(150px,16vw,210px);transition:border-color .2s}.show-search::placeholder{color:var(--mid)}.show-search:focus{outline:none;border-color:color-mix(in srgb,var(--ink) 45%,transparent)}.show-tech-select{font-family:var(--font-mono);font-size:.78rem;color:var(--ink);background:var(--bg-2);border:1px solid var(--line);border-radius:22px;padding:.5rem 2rem .5rem 1rem;cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.05rem) 55%,calc(100% - .8rem) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;transition:border-color .2s}.show-tech-select:hover{border-color:color-mix(in srgb,var(--ink) 35%,transparent)}.show-tech-select option{color:#1c1c1a;background:#fff}.show-filter-note{display:flex;align-items:center;gap:.6rem;margin-top:.9rem;font-size:.86rem;color:var(--mid)}.show-filter-note strong{color:var(--ink);font-weight:600}.show-filter-note button{font-family:var(--font-mono);font-size:.7rem;color:var(--mid);background:none;border:none;border-bottom:1px solid var(--line);padding:0 0 1px;cursor:pointer;transition:color .2s,border-color .2s}.show-filter-note button:hover{color:var(--ink);border-color:var(--ink)}.show-foot{flex:none;width:100%;max-width:1180px;margin:0 auto;padding:0 var(--sp-md) clamp(1.2rem,3vh,2rem) clamp(5.5rem,7vw,7rem);display:flex;align-items:center;justify-content:flex-end;gap:1.5rem}.show-hint{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:var(--mid)}.show-next{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--mid);background:none;border:1px solid var(--line);border-radius:22px;padding:.5rem 1rem;cursor:pointer;transition:color .2s,border-color .2s}.show-next:hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 35%,transparent)}.show-next svg{transform:rotate(90deg)}.show-empty{display:flex;align-items:center;justify-content:center;padding:4rem 0;color:var(--mid);font-family:var(--font-mono);font-size:.85rem}.grid-sep{width:100%;max-width:1180px;margin:0 auto;padding:1.8rem var(--sp-md) 0 clamp(5.5rem,7vw,7rem);display:flex;align-items:center;gap:.8rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid)}.grid-sep:after{content:"";flex:1;height:1px;background:var(--line)}.show-grid{width:100%;max-width:1180px;margin:0 auto;padding:1.6rem var(--sp-md) 1.6rem clamp(5.5rem,7vw,7rem);display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem}.grid-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:1rem 1rem 1.15rem;cursor:pointer;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}.grid-card:hover,.grid-card:focus-visible{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ink) 30%,transparent);box-shadow:0 14px 34px color-mix(in srgb,var(--ink) 8%,transparent)}.grid-card:focus-visible{outline:2px solid color-mix(in srgb,var(--ink) 45%,transparent);outline-offset:2px}.gc-visual{position:relative;aspect-ratio:1.618 / 1;border-radius:9px;overflow:hidden;background:linear-gradient(140deg,var(--bg),color-mix(in srgb,var(--ink) 6%,var(--bg)));display:flex;align-items:center;justify-content:center;margin:0 0 .9rem}.gc-visual img{width:100%;height:100%;object-fit:contain}.gc-icon{font-size:2.4rem;opacity:.55}.gc-cat{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin:0 0 .45rem}.gc-title{font-size:1.08rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin:0 0 .5rem}.gc-desc{color:var(--mid);font-size:.88rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 .7rem}.gc-stack{font-family:var(--font-mono);font-size:.68rem;line-height:1.6;color:var(--mid);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 .95rem}.gc-view{margin-top:auto;display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.05em;color:var(--ink)}.gc-view svg{transition:transform .2s var(--ease)}.grid-card:hover .gc-view svg{transform:translate(3px)}.pd{position:fixed;inset:0;z-index:100}.pd-panel{position:absolute;inset:0;background:var(--bg);will-change:transform;overflow:hidden}.pd-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden}.pd-content{max-width:760px;margin:0 auto;padding:clamp(5rem,12vh,9rem) clamp(1.4rem,5vw,2rem) 30vh}.pd-close{position:fixed;top:1.6rem;right:clamp(1.2rem,5vw,2.2rem);z-index:2;display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:22px;padding:.55rem 1rem;cursor:pointer;transition:color .2s,border-color .2s}.pd-close:hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 40%,transparent)}.pd-cat{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}.pd-title{font-size:clamp(2rem,5.4vw,3.4rem);font-weight:600;letter-spacing:-.025em;line-height:1.08;margin:.7rem 0 1.2rem}.pd-tech{display:flex;flex-wrap:wrap;gap:.5rem}.pd-block{margin-top:4rem}.pd-story{--oct-accent: #a8741e;position:relative;padding-left:clamp(2.8rem,7vw,4.2rem)}[data-theme=night] .pd-story{--oct-accent: #d9a441}.pd-story:before{content:"“";position:absolute;top:.9rem;left:-.5rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.5rem,8vw,6.5rem);line-height:1;color:color-mix(in srgb,var(--oct-accent) 55%,transparent);pointer-events:none}.pd-story .pd-block-label:before{background:var(--oct-accent)}.pd-story-text{font-size:clamp(1.28rem,2.2vw,1.58rem);line-height:1.75;max-width:33em;color:color-mix(in srgb,var(--ink) 94%,transparent)}.pd-story-text+.pd-story-text{margin-top:1.6rem}.pd-story-text:last-child{display:flex;align-items:center;gap:.9rem;margin-top:2.2rem;font-size:1.05rem;font-style:italic;letter-spacing:.04em;color:var(--mid)}.pd-story-text:last-child:before{content:"";width:2.6rem;height:1px;background:var(--oct-accent);flex:none}.pd-block-label{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}.pd-block-label:before{content:"";width:26px;height:1px;background:var(--line)}.pd-block-body{font-size:1.15rem;line-height:1.7;color:color-mix(in srgb,var(--ink) 84%,transparent)}.pd-bullets{display:flex;flex-direction:column;gap:.9rem}.pd-bullets li{position:relative;padding-left:1.5rem;font-size:1.02rem;line-height:1.65;color:color-mix(in srgb,var(--ink) 78%,transparent)}.pd-bullets li:before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--mid)}.pd-meta{margin-top:2.4rem;font-family:var(--font-mono);font-size:.85rem;color:var(--mid)}.pd-links{display:flex;gap:.9rem}.pd-iconlink{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;color:color-mix(in srgb,var(--ink) 80%,transparent);transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}.pd-iconlink:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:translateY(-3px)}.pd-spec{--spec-w: min(980px, calc(100vw - (2*clamp(1.4rem, 5vw, 2rem))) );width:var(--spec-w);margin-left:calc((var(--spec-w) - 100%) / -2)}.pd-spec .markdown-body{background:var(--bg-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:clamp(1.4rem,4vw,2.4rem);overflow-x:auto}[data-theme=night] .pd-spec .markdown-body{color-scheme:dark}.pd-spec .markdown-body h1,.pd-spec .markdown-body h2{border-bottom-color:var(--line)}.pd-spec .markdown-body a{color:var(--ink)}.pd-spec .markdown-body blockquote{color:var(--mid);border-left-color:var(--line)}.pd-spec .markdown-body hr{background-color:var(--line)}.pd-spec .markdown-body table th,.pd-spec .markdown-body table td{border-color:var(--line)}.pd-spec .markdown-body table tr{background-color:transparent;border-top-color:var(--line)}.pd-spec .markdown-body table tr:nth-child(2n){background-color:color-mix(in srgb,var(--ink) 5%,transparent)}.pd-spec .markdown-body .highlight pre,.pd-spec .markdown-body pre{background-color:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.pd-spec .markdown-body code:not(pre code){background-color:color-mix(in srgb,var(--ink) 9%,transparent);color:var(--ink)}.pd-spec .markdown-body ul{list-style-type:disc}.pd-spec .markdown-body ul ul{list-style-type:circle}@media (max-height: 860px){.show-head{padding-top:clamp(2.4rem,5vh,3.4rem)}}@media (max-width: 900px){.showroom{padding-bottom:var(--sp-xl)}.show-head{padding-top:var(--sp-xl)}.show-grid{padding:1.4rem var(--sp-md) 1rem;grid-template-columns:1fr}.grid-sep{padding-left:var(--sp-md)}.show-foot{padding-left:var(--sp-md);justify-content:space-between}}.tool-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:var(--sp-sm) 0 var(--sp-md);border-bottom:1px solid var(--line);padding-bottom:.8rem}.tool-tabs button{position:relative;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--mid);background:none;border:none;cursor:pointer;padding:.5rem .9rem;border-radius:8px;transition:color .2s,background .2s}.tool-tabs button:hover{color:var(--ink)}.tool-tabs button.active{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.9rem}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1.5rem .8rem;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;text-align:center;transition:border-color .25s,transform .25s var(--ease),background .25s;will-change:transform,opacity}.tool:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ink) 26%,transparent);background:color-mix(in srgb,var(--ink) 4%,var(--bg-2))}.tool-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;filter:grayscale(.25);transition:filter .25s,transform .25s var(--ease)}.tool:hover .tool-icon{filter:grayscale(0);transform:scale(1.08)}.tool-name{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;color:var(--mid);line-height:1.3}.tool:hover .tool-name{color:var(--ink)}@media (max-width: 520px){.tool-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.tool{padding:1.1rem .5rem}}.footer{position:relative;z-index:1;text-align:center;padding:var(--sp-lg) var(--sp-md) var(--sp-md);border-top:1px solid var(--line)}.footer-logo{font-family:var(--font-mono);font-size:1.2rem;color:var(--ink);margin-bottom:1.2rem}.footer-social{display:flex;justify-content:center;gap:1.4rem;margin-bottom:1.2rem}.footer-social a{color:var(--mid);transition:color .2s,transform .2s var(--ease)}.footer-social a:hover{color:var(--ink);transform:translateY(-2px)}.footer-text{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;color:var(--mid)}
