/* julienjimenez.dev : fichier généré, sources dans _src/ */
:root{color-scheme:light;--bg: #FFFFFF;--surface: #F6F8FA;--surface-2: #EEF1F4;--ink: #24292F;--muted: #57606A;--comment: #636C76;--faint: #8C959F;--line: #D8DEE4;--line-soft: #E8ECF0;--primary: #0969DA;--primary-ink: #0550AE;--primary-soft: #DDF4FF;--primary-tint: #F1F8FF;--secondary: #8250DF;--secondary-ink: #6639BA;--secondary-soft: #FBEFFF;--accent: #1A7F37;--accent-ink: #116329;--accent-soft: #DAFBE1;--add-bg: #E6FFEC;--add-strong: #ACEEBB;--danger: #CF222E;--danger-soft: #FFEBE9;--danger-strong: #FFCECB;--attention: #9A6700;--attention-soft: #FFF8C5;--navy: #0A3069;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--font-sans: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--fs-2xs: .6875rem;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .9375rem;--fs-base: clamp(1rem, .97rem + .15vw, 1.0625rem);--fs-lead: clamp(1.0625rem, 1rem + .4vw, 1.25rem);--fs-h3: clamp(1.0625rem, 1rem + .3vw, 1.25rem);--fs-h2: clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem);--fs-h1: clamp(2.25rem, 1.2rem + 3vw, 4rem);--lh: 1.65;--r: 6px;--r-sm: 4px;--header-h: 52px;--status-h: 28px;--explorer-w: 232px;--container: 1200px;--gutter: 24px;--gut: 52px;--pad-x: clamp(16px, 3.4vw, 52px);--pad-y: clamp(28px, 3.4vw, 56px);--space-section: clamp(72px, 4rem + 4vw, 128px);--pop: 0 8px 24px rgba(36, 41, 47, .12);--ease: cubic-bezier(.2, .7, .2, 1);--lines: "1\a 2\a 3\a 4\a 5\a 6\a 7\a 8\a 9\a 10\a 11\a 12\a 13\a 14\a 15\a 16\a 17\a 18\a 19\a 20\a 21\a 22\a 23\a 24\a 25\a 26\a 27\a 28\a 29\a 30\a 31\a 32\a 33\a 34\a 35\a 36\a 37\a 38\a 39\a 40\a 41\a 42\a 43\a 44\a 45\a 46\a 47\a 48\a 49\a 50\a 51\a 52\a 53\a 54\a 55\a 56\a 57\a 58\a 59\a 60\a 61\a 62\a 63\a 64\a 65\a 66\a 67\a 68\a 69\a 70"}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 20px);scrollbar-width:thin;scrollbar-color:#C4CCD4 transparent;background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh);font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c4ccd4;border-radius:10px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--faint)}html:focus-within{scroll-behavior:smooth}::selection{background:#ddf4ff;color:var(--ink)}img,svg,video{display:block;max-width:100%}img{height:auto}h1,h2,h3,h4{margin:0;font-weight:700;text-wrap:balance}p{margin:0}ul,ol{margin:0;padding:0}p,li,dd,blockquote{text-wrap:pretty}a{color:var(--primary);text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}a:hover{text-decoration-style:solid;color:var(--primary-ink)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}code,kbd,pre,samp{font-family:var(--font-mono)}button{font:inherit;color:inherit}strong{font-weight:700}mark{color:inherit}sup{font-size:.55em;vertical-align:.9em;line-height:0}[hidden]{display:none!important}.sprite{position:absolute;width:0;height:0;overflow:hidden}.ico{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;vertical-align:-.15em}.ico--20{width:20px;height:20px}.ico--14{width:14px;height:14px}.ft-md{color:var(--primary)}.ft-svg{color:var(--secondary)}.ft-log{color:var(--attention)}.ft-git{color:var(--danger)}.ft-diff{color:var(--accent)}.ft-ts{color:var(--primary-ink)}.ft-yml{color:var(--secondary-ink)}.ft-sh{color:var(--accent-ink)}.ft-dir{color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:10px;z-index:100;padding:10px 14px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font:600 var(--fs-sm)/1 var(--font-mono);text-decoration:none;transform:translateY(-160%);transition:transform .2s ease}.skip-link:focus{transform:none;color:#fff}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.8em;height:1.8em;padding:0 .45em;font:600 .72rem/1 var(--font-mono);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-bottom-width:3px;border-radius:var(--r-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-sm);font:600 var(--fs-md)/1.2 var(--font-mono);letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s var(--ease)}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:none}.btn--primary{background:var(--primary);border-color:var(--primary-ink);color:#fff}.btn--primary:hover{background:var(--primary-ink);color:#fff}.btn--primary .ps1{color:#bfe3ff}.btn--ghost{background:var(--bg);border-color:var(--line);color:var(--ink)}.btn--ghost:hover{border-color:var(--primary);color:var(--primary-ink)}.btn-copy{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--muted);font:500 var(--fs-xs)/1 var(--font-mono);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.btn-copy:hover{color:var(--primary-ink);border-color:var(--primary)}.btn-copy.is-done{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);font:500 var(--fs-sm)/1 var(--font-mono);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.chip:hover{border-color:var(--primary);color:var(--primary-ink)}.chip[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-ink)}.chip .dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.dot-ok{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 3px var(--accent-soft)}.lint{position:relative;text-decoration:underline wavy var(--secondary);text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-skip-ink:none;cursor:help;border-radius:2px}.lint:hover,.lint:focus-visible{background:var(--secondary-soft)}.lint-tip{display:none;position:absolute;z-index:30;left:50%;bottom:calc(100% + 10px);width:max-content;max-width:280px;transform:translate(calc(-50% + var(--shift, 0px)));padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);box-shadow:var(--pop);font:400 var(--fs-sm)/1.5 var(--font-sans);color:var(--ink);text-align:left;white-space:normal;letter-spacing:0}.lint-tip:before{content:"info";display:block;margin-bottom:4px;font:600 var(--fs-2xs)/1 var(--font-mono);color:var(--secondary-ink);letter-spacing:.04em}.lint:hover .lint-tip,.lint:focus .lint-tip{display:block}.titlebar{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:#fffffff0;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}.titlebar-in{display:flex;align-items:stretch;height:100%;max-width:calc(var(--explorer-w) + 32px + var(--container) + 48px);margin:0 auto;padding:0 24px}.brand{display:flex;align-items:center;gap:14px;flex:none;padding-right:18px;margin-right:4px;color:var(--ink);text-decoration:none;font:500 var(--fs-sm)/1 var(--font-mono)}.brand:hover{color:var(--ink)}.dots{display:inline-flex;gap:7px}.dots i{width:11px;height:11px;border-radius:50%;background:var(--line);border:1px solid #C9D1D9}.brand:hover .dots i:nth-child(1){background:#ffcecb;border-color:#ff8182}.brand:hover .dots i:nth-child(2){background:#fff8c5;border-color:#d4a72c}.brand:hover .dots i:nth-child(3){background:#aceebb;border-color:#4ac26b}.brand-path{white-space:nowrap}.brand-path .host{color:var(--ink);font-weight:700}.brand-path .sep{color:var(--faint);padding:0 .35em}.brand-path .file{color:var(--muted)}.tabs{display:none;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs ul{display:flex;list-style:none;height:100%}.tabs a{position:relative;display:flex;align-items:center;gap:7px;height:100%;padding:0 11px;border-left:1px solid var(--line-soft);color:var(--muted);text-decoration:none;font:500 var(--fs-sm)/1 var(--font-mono);transition:color .15s ease,background-color .15s ease}.tabs li:last-child a{border-right:1px solid var(--line-soft)}.tabs a:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--primary);transform:scaleX(0);transition:transform .2s var(--ease)}.tabs a:hover{color:var(--ink);background:var(--surface)}.tabs a.is-active{color:var(--ink);background:var(--bg)}.tabs a.is-active:before{transform:none}.tabs .tab-dot{width:7px;height:7px;border-radius:2px;background:currentColor;opacity:.55}.tabs a.is-active .tab-dot{background:var(--primary);opacity:1}.tb-actions{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:12px}.tb-notes{display:none;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font:600 var(--fs-sm)/1 var(--font-mono);transition:border-color .15s ease,color .15s ease}.tb-notes:hover,.tb-notes[aria-current=page]{border-color:var(--primary);color:var(--primary-ink)}.tb-palette{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 6px 0 8px;border:1px solid transparent;border-radius:var(--r-sm);background:none;cursor:pointer;color:var(--muted)}.tb-palette:hover{border-color:var(--line);background:var(--surface)}.tb-menu{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);font:600 var(--fs-sm)/1 var(--font-mono);color:var(--ink);cursor:pointer}.tb-menu[aria-expanded=true]{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-tint)}.tb-menu .i-open{display:block}.tb-menu .i-close,.tb-menu[aria-expanded=true] .i-open{display:none}.tb-menu[aria-expanded=true] .i-close{display:block}.shell{display:grid;grid-template-columns:minmax(0,1fr);max-width:calc(var(--explorer-w) + 32px + var(--container) + 48px);margin:0 auto;padding:calc(var(--header-h) + 24px) 24px 0}.shell>main{min-width:0;width:100%;max-width:var(--container);margin:0 auto}.explorer{display:none}.ex-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;padding:0 8px;font:600 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.tree,.tree ul{list-style:none}.tree ul{padding-left:14px;border-left:1px solid var(--line-soft);margin:2px 0 6px 15px}.tree-row{display:flex;align-items:center;gap:6px;padding:5px 8px;font:600 var(--fs-sm)/1.2 var(--font-mono);color:var(--ink)}.tree-row .chev{color:var(--muted);transform:rotate(90deg)}.tree a{position:relative;display:flex;align-items:center;gap:8px;min-height:30px;padding:4px 8px;border-radius:var(--r-sm);color:var(--muted);text-decoration:none;font:400 var(--fs-sm)/1.25 var(--font-mono);transition:background-color .15s ease,color .15s ease}.tree a:hover{background:var(--surface);color:var(--ink)}.tree a.is-active,.tree a[aria-current=page]{background:var(--primary-soft);color:var(--ink);font-weight:600}.tree a.is-active:before,.tree a[aria-current=page]:before{content:"";position:absolute;left:-15px;top:6px;bottom:6px;width:2px;background:var(--primary)}.tree .t-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-box{margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font:400 var(--fs-xs)/1.55 var(--font-mono);color:var(--muted)}.ex-box strong{display:block;margin-bottom:6px;color:var(--ink);font-weight:600}.ex-box a{color:var(--primary-ink);overflow-wrap:anywhere}.sec{margin-top:var(--space-section);scroll-margin-top:calc(var(--header-h) + 16px)}.panel{position:relative;isolation:isolate;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}.panel--surface{background:var(--surface)}.panel-bar{display:flex;align-items:stretch;justify-content:space-between;gap:12px;height:40px;border-bottom:1px solid var(--line);background:var(--surface);border-radius:var(--r) var(--r) 0 0}.panel--surface>.panel-bar{background:var(--surface-2)}.ptab{position:relative;display:inline-flex;align-items:center;gap:8px;margin:-1px 0 -1px -1px;padding:0 18px;border:1px solid var(--line);border-bottom-color:var(--bg);border-top:2px solid var(--primary);border-radius:var(--r) 0 0 0;background:var(--bg);color:var(--ink);font:500 var(--fs-sm)/1 var(--font-mono);white-space:nowrap}.panel--surface .ptab{background:var(--surface);border-bottom-color:var(--surface)}.ptab .x{margin-left:6px;color:var(--faint);font-weight:400}.pmeta{display:flex;align-items:center;gap:14px;padding:0 14px;min-width:0;font:400 var(--fs-xs)/1 var(--font-mono);color:var(--muted);white-space:nowrap;overflow:hidden}.pmeta .sep{color:var(--line)}.panel-body{position:relative;padding:var(--pad-y) var(--pad-x) calc(var(--pad-y) + 8px) calc(var(--gut) + var(--pad-x))}.panel-body:before{content:var(--lines) / "";position:absolute;left:0;top:var(--pad-y);bottom:0;width:var(--gut);padding-right:12px;overflow:hidden;font:400 12px/28px var(--font-mono);color:var(--faint);text-align:right;white-space:pre;-webkit-mask-image:linear-gradient(#000 0,#000 55%,transparent 96%);mask-image:linear-gradient(#000 0,#000 55%,transparent 96%);pointer-events:none;-webkit-user-select:none;user-select:none}.panel-body:after{content:"";position:absolute;left:var(--gut);top:0;bottom:0;width:1px;background:var(--line-soft)}.panel--surface>.panel-body:after{background:var(--line);opacity:.6}.sec-head{position:relative;margin-bottom:clamp(28px,3.2vw,48px)}.sec-head>*{position:relative;max-width:62ch}.sec-head:before{content:attr(data-mark);position:absolute;right:-8px;top:-.42em;z-index:-1;font:800 clamp(6rem,4rem + 9vw,13rem)/1 var(--font-mono);letter-spacing:-.06em;color:#0969da0e;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.panel--surface .sec-head:before{color:#8250df11}.sec-num{display:flex;align-items:center;gap:12px;margin-bottom:14px;font:500 var(--fs-sm)/1 var(--font-mono);color:var(--muted);letter-spacing:.01em}.sec-num:after{content:"";width:44px;height:1px;background:var(--line)}.sec-num b{color:var(--ink);font-weight:700}.sec-head h2{font:700 var(--fs-h2)/1.14 var(--font-mono);letter-spacing:-.035em;color:var(--ink)}.sec-head h2 .cmd{color:var(--primary)}.sec-head h2 .cmd .ps1{color:var(--accent)}.sec-head h2:after{content:"";display:inline-block;width:.5em;height:.95em;margin-left:.18em;vertical-align:-.1em;background:var(--primary);opacity:0;border-radius:1px}.sec.is-current .sec-head h2:after{opacity:.9;animation:blink 1.1s steps(1,end) infinite}.sec-intro{margin-top:18px;max-width:64ch;font-size:var(--fs-lead);color:var(--muted);line-height:1.6}.sec-intro strong{color:var(--ink);font-weight:600}.flow>*+*{margin-top:1.05em}.flow p{max-width:68ch}.tk-k{color:var(--secondary)}.tk-f{color:var(--primary)}.tk-s{color:var(--navy)}.tk-c{color:var(--comment);font-style:italic}.tk-n{color:var(--primary-ink)}.tk-t{color:var(--accent-ink)}.tk-a{color:var(--primary-ink)}.tk-v{color:var(--ink)}.tk-o{color:var(--muted)}.tk-p{color:var(--accent)}[data-lit] [class^=tk-]{transition:color .7s ease}.js [data-lit]:not(.lit) [class^=tk-]{color:var(--faint)}.fold{display:flex;align-items:center;gap:12px;font:400 var(--fs-xs)/1 var(--font-mono);color:var(--comment)}.fold:before,.fold:after{content:"";flex:1;height:0;border-top:1px dashed var(--line)}.fold span{padding:4px 10px;border:1px dashed var(--line);border-radius:var(--r-sm);background:var(--bg)}.codebox{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden}.codebox-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:3px 6px 3px 12px;border-bottom:1px solid var(--line);background:var(--surface);font:500 var(--fs-xs)/1.2 var(--font-mono);color:var(--muted)}.codebox-bar>span{display:inline-flex;align-items:center;gap:8px;min-width:0}.codebox pre,.code{margin:0;padding:14px 16px;font:400 var(--fs-sm)/1.7 var(--font-mono);color:var(--ink);white-space:break-spaces;overflow-wrap:anywhere}.quote{position:relative;margin:0;padding:18px 20px 18px 22px;border:1px solid var(--line);border-left:3px solid var(--secondary);border-radius:0 var(--r) var(--r) 0;background:var(--secondary-soft)}.quote p{font:500 clamp(1.05rem,1rem + .35vw,1.25rem)/1.5 var(--font-mono);letter-spacing:-.015em;color:var(--ink)}.quote figcaption{display:block;margin-top:10px;font:400 var(--fs-xs)/1 var(--font-mono);font-style:normal;color:var(--secondary-ink)}.quote figcaption:before{content:"// "}.hero{margin-top:0}.ide{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden}.ide-tabs{display:flex;align-items:stretch;height:40px;border-bottom:1px solid var(--line);background:var(--surface)}.ide-tab{display:inline-flex;align-items:center;gap:8px;padding:0 16px;border-right:1px solid var(--line);font:500 var(--fs-sm)/1 var(--font-mono);color:var(--muted);white-space:nowrap}.ide-tab.is-active{margin-bottom:-1px;background:var(--bg);color:var(--ink);box-shadow:inset 0 2px 0 var(--primary)}.ide-tab .x{color:var(--faint);margin-left:4px}.ide-tabs .ide-actions{margin-left:auto;display:flex;align-items:center;gap:14px;padding:0 14px;color:var(--faint)}.ide-body{display:grid;grid-template-columns:var(--gut) minmax(0,7fr) minmax(0,5fr)}.ide-gutter{position:relative;border-right:1px solid var(--line-soft)}.ide-gutter:before{content:var(--lines) / "";position:absolute;inset:34px 0 0;padding-right:12px;overflow:hidden;font:400 12px/28px var(--font-mono);color:var(--faint);text-align:right;white-space:pre;-webkit-mask-image:linear-gradient(#000 70%,transparent 100%);mask-image:linear-gradient(#000 70%,transparent 100%)}.ide-editor{position:relative;container-type:inline-size;padding:34px 84px 40px 32px}.code-comment{font:400 var(--fs-sm)/1.5 var(--font-mono);color:var(--comment);font-style:italic}.hero h1{margin-top:18px;font-family:var(--font-mono);color:var(--ink);text-wrap:initial}.h1-pre{display:block;font-size:clamp(1rem,.8rem + .9vw,1.375rem);font-weight:600;line-height:1.35;letter-spacing:-.02em;color:var(--ink)}.h1-pre .tk-k{font-weight:700}.h1-main{display:block;margin-top:10px;font-size:clamp(2.25rem,9.2cqi,4rem);font-weight:800;line-height:1.04;letter-spacing:-.045em}.h1-main .tok{transition:color .8s ease}.tok-b{color:var(--primary)}.tok-v{color:var(--secondary)}.tok-g{color:var(--accent)}.h1-end{color:var(--muted);font-weight:700}.hero-lead{margin-top:26px;max-width:58ch;font-size:var(--fs-lead);line-height:1.6;color:var(--ink)}.hero-sub{margin-top:12px;max-width:58ch;color:var(--muted)}.term{margin-top:28px;border:1px solid var(--line);border-radius:var(--r);background:#fbfcfd;overflow:hidden}.term-bar{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface);font:500 var(--fs-xs)/1 var(--font-mono);color:var(--muted)}.term-bar .sp{margin-left:auto;color:var(--faint)}.term-body{display:block;margin:0;padding:14px 16px 16px;font:400 var(--fs-sm)/1.7 var(--font-mono);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.term .ps1{color:var(--accent);font-weight:700}.term .t-bin{color:var(--primary);font-weight:600}.term .t-flag{color:var(--secondary)}.term .t-str{color:var(--navy)}.term .t-url{color:var(--primary-ink);text-decoration:underline dotted;text-underline-offset:3px}.term .rl{display:block}.term .rl .k{color:var(--primary-ink)}.term .rl .ok{color:var(--accent);font-weight:700}.term .rl.cm{color:var(--comment);font-style:italic}.term .rl.first{margin-top:6px}.js .term.typing .rl:not(.on){visibility:hidden}.cursor{display:inline-block;width:.62em;height:1.2em;margin-left:1px;vertical-align:-.25em;background:var(--ink);animation:blink 1.06s steps(1,end) infinite}.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}.kbd-hint{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;border:0;background:none;cursor:pointer;font:400 var(--fs-xs)/1 var(--font-mono);color:var(--muted)}.kbd-hint:hover{color:var(--ink)}.minimap{position:absolute;top:34px;right:18px;bottom:40px;width:44px;display:flex;flex-direction:column;gap:5px;border-left:1px solid var(--line-soft);padding:2px 0 2px 8px}.minimap i{display:block;height:3px;border-radius:1px;background:var(--line)}.minimap i.b{background:#b6d7fa}.minimap i.v{background:#d8c6f5}.minimap i.g{background:#b4e2c0}.minimap i.gap{background:none;height:6px}.minimap:after{content:"";position:absolute;left:4px;right:-6px;top:0;height:34%;background:#0969da12;border:1px solid rgba(9,105,218,.18);border-radius:2px}.ide-preview{display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--surface)}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;height:38px;padding:0 14px;border-bottom:1px solid var(--line);font:500 var(--fs-xs)/1 var(--font-mono);color:var(--muted)}.preview-bar b{color:var(--ink);font-weight:600}.preview-frame{margin:20px 20px 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg)}.preview-url{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;border-bottom:1px solid var(--line);background:var(--bg);font:400 var(--fs-2xs)/1 var(--font-mono);color:var(--muted)}.preview-url .lock{color:var(--accent)}.preview-frame img{width:100%;aspect-ratio:3 / 2;object-fit:cover}.status-list{list-style:none;display:grid;gap:8px;margin:16px 20px 20px}.status-list li{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);font:500 var(--fs-sm)/1.2 var(--font-mono);color:var(--ink)}.status-list .val{margin-left:auto;color:var(--muted);font-weight:400;font-size:var(--fs-xs)}.preview-note{margin:auto 20px 18px;font:400 var(--fs-2xs)/1.5 var(--font-mono);color:var(--comment)}.who-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);align-items:start}.who-media{display:grid;gap:20px}.imgview{margin:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg)}.imgview-bar{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface);font:500 var(--fs-xs)/1 var(--font-mono);color:var(--ink)}.imgview-bar .zoom{margin-left:auto;color:var(--muted);font-weight:400}.imgview-stage{display:grid;place-items:center;padding:clamp(18px,2.4vw,32px);background-color:#fff;background-image:conic-gradient(#eff2f5 25%,#fff 0 50%,#eff2f5 0 75%,#fff 0);background-size:18px 18px}.imgview-stage img{width:100%;max-width:400px;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:var(--r)}.imgview-meta{display:flex;flex-wrap:wrap;gap:4px 10px;padding:10px 12px;border-top:1px solid var(--line);background:var(--bg);font:400 var(--fs-xs)/1.4 var(--font-mono);color:var(--muted)}.imgview-meta b{color:var(--ink);font-weight:600}.cfg{margin:0}.cfg pre{font-size:var(--fs-xs);line-height:1.8}.who-text .flow{margin-top:4px}.who-text .flow p{color:var(--ink)}.who-text .quote{margin-top:1.6em;margin-bottom:1.6em}.link-ext{display:inline-flex;align-items:center;gap:8px;font:600 var(--fs-sm)/1.3 var(--font-mono)}.pipeline{--sel: 0}.pipe-steps{position:relative;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:28px}.pipe-steps:before,.pipe-steps:after{content:"";position:absolute;top:28px;left:10%;height:2px}.pipe-steps:before{right:10%;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 11px)}.pipe-steps:after{width:0;background:var(--primary);transition:width .45s var(--ease)}.is-tabs .pipe-steps:after{width:calc(var(--sel) * 20%)}.pipe-steps li{position:relative;z-index:1}.pipe-steps a{display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;padding:0 6px 14px;text-align:center;text-decoration:none;color:var(--ink);border-bottom:2px solid transparent;transition:border-color .2s ease}.pipe-node{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--muted);transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .25s var(--ease)}.pipe-n{font:500 var(--fs-xs)/1 var(--font-mono);color:var(--muted)}.pipe-label{font:700 var(--fs-md)/1.2 var(--font-mono);letter-spacing:-.02em}.pipe-desc{font-size:var(--fs-sm);line-height:1.4;color:var(--muted);max-width:20ch}.pipe-steps a:hover .pipe-node{border-color:var(--primary);color:var(--primary)}.pipe-steps a[aria-selected=true]{border-bottom-color:var(--primary)}.pipe-steps a[aria-selected=true] .pipe-node{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink);transform:translateY(-2px)}.pipe-steps a[aria-selected=true] .pipe-n{color:var(--primary-ink)}.pipe-panels{display:grid;gap:16px}.pipe-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);padding:clamp(20px,2.6vw,32px)}.pipe-panel:focus-visible{outline-offset:3px}.is-tabs .pipe-panel:not([hidden]){animation:panelIn .35s var(--ease)}.pipe-panel h3{display:flex;align-items:baseline;gap:12px;font:700 var(--fs-h3)/1.3 var(--font-mono);letter-spacing:-.02em}.pipe-panel h3 .n{flex:none;font-size:var(--fs-sm);color:var(--primary-ink);padding:3px 7px;border:1px solid var(--primary-soft);background:var(--primary-tint);border-radius:var(--r-sm)}.pp-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3vw,40px);margin-top:20px}.pp-label{display:flex;align-items:center;gap:8px;margin-bottom:10px;font:600 var(--fs-xs)/1 var(--font-mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.pp-breaks{list-style:none;display:grid;gap:10px}.pp-breaks li{position:relative;padding-left:26px;font-size:var(--fs-md);line-height:1.55}.pp-breaks li:before{content:"-";position:absolute;left:0;top:.05em;width:18px;height:18px;display:grid;place-items:center;font:700 var(--fs-sm)/1 var(--font-mono);color:var(--danger);background:var(--danger-soft);border-radius:3px}.pp-signal{padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font-size:var(--fs-md);line-height:1.55}.pp-code{margin-top:18px}.pp-code pre{font-size:var(--fs-xs)}.pipe-note{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:14px 16px;border:1px dashed var(--secondary);border-radius:var(--r);background:var(--bg);font-size:var(--fs-md);color:var(--ink)}.pipe-note .ico{color:var(--secondary);margin-top:3px}.mods{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.mod{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);transition:border-color .2s ease,transform .25s var(--ease)}.mod:hover{border-color:#b6c2cd;transform:translateY(-2px)}.mod-bar{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-bottom:1px solid var(--line);background:var(--surface);border-radius:var(--r) var(--r) 0 0;font:600 var(--fs-sm)/1 var(--font-mono)}.mod-ext{margin-left:auto;padding:4px 7px;border-radius:var(--r-sm);font:600 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.02em;background:var(--primary-soft);color:var(--primary-ink)}.mod-ext.v{background:var(--secondary-soft);color:var(--secondary-ink)}.mod-ext.g{background:var(--accent-soft);color:var(--accent-ink)}.mod-ext.y{background:var(--attention-soft);color:var(--attention)}.mod-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}.mod h3{font:700 1.0625rem/1.3 var(--font-mono);letter-spacing:-.02em;margin-bottom:10px}.mod p{font-size:var(--fs-md);line-height:1.6}.mod-list{list-style:none;display:grid;gap:7px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.mod-list li{position:relative;padding-left:18px;font:400 var(--fs-sm)/1.5 var(--font-mono);color:var(--ink)}.mod-list li:before{content:">";position:absolute;left:0;color:var(--primary);font-weight:700}.mod-link{margin-top:auto;padding-top:16px;font:600 var(--fs-sm)/1.4 var(--font-mono)}.mod-link a{display:inline-flex;gap:8px;align-items:baseline}.prereq{display:flex;align-items:flex-start;gap:12px;margin-top:22px;padding:14px 16px;border:1px solid #E6D18A;border-radius:var(--r);background:var(--attention-soft);font:400 var(--fs-sm)/1.6 var(--font-mono);color:var(--ink)}.prereq .ico{color:var(--attention);margin-top:3px}.prereq b{color:var(--attention)}.logs-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}.logs-text{grid-column:1 / span 7}.logs-text .flow p{color:var(--ink)}.logs-band{grid-column:8 / -1;position:relative;margin:0;min-height:280px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg)}.logs-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.logs-band figcaption{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fffffff0;font:500 var(--fs-2xs)/1 var(--font-mono);color:var(--ink)}.logview{grid-column:1 / span 8;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden}.readings{grid-column:9 / -1}.lv-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:42px;padding:4px 8px 4px 14px;border-bottom:1px solid var(--line);background:var(--surface);font:500 var(--fs-xs)/1.3 var(--font-mono);color:var(--muted)}.lv-bar .t{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:600}.lv-bar .fict{padding:3px 7px;border-radius:var(--r-sm);background:var(--attention-soft);color:var(--attention);font-weight:600}.lv-pause{margin-left:auto}.lv-filters{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}.lv-filters .lbl{align-self:center;margin-right:4px;font:500 var(--fs-xs)/1 var(--font-mono);color:var(--muted)}.chip.f-g .dot{background:var(--accent)}.chip.f-x .dot{background:var(--danger)}.chip.f-ia .dot{background:var(--secondary)}.chip.f-3 .dot{background:var(--attention)}.chip.f-4 .dot{background:var(--danger)}.chip.f-st .dot{background:var(--primary)}.lv-screen{position:relative;height:25rem;overflow:auto;overscroll-behavior:contain}.logview.is-looping .lv-screen{overflow:hidden}.lv-screen:focus-visible{outline-offset:-3px}.lv-track{list-style:none;margin:0;padding:0}.lv-track .dup{display:none}.logview.is-looping .lv-track .dup{display:grid}.logview.is-looping .lv-track{animation:logscroll var(--dur, 60s) linear infinite}.logview.is-looping .lv-screen:hover .lv-track,.logview.is-looping:focus-within .lv-track,.logview.is-paused .lv-track{animation-play-state:paused}.lv-line{display:grid;grid-template-columns:3ch minmax(0,1fr);gap:12px;padding:5px 14px 5px 10px;border-left:3px solid transparent;font:400 var(--fs-xs)/1.6 var(--font-mono);color:var(--muted);transition:opacity .25s ease,background-color .25s ease,border-color .25s ease}.lv-line+.lv-line{border-top:1px solid var(--line-soft)}.lv-line .n{color:var(--faint);text-align:right;-webkit-user-select:none;user-select:none}.lv-line .l{white-space:pre-wrap;overflow-wrap:anywhere}.lv-line .ip{color:var(--secondary-ink);font-weight:600}.lv-line .dt{color:var(--comment)}.lv-line .rq{color:var(--ink)}.lv-line .s2{color:var(--accent);font-weight:700}.lv-line .s3{color:var(--attention);font-weight:700}.lv-line .s4{color:var(--danger);font-weight:700}.lv-line .ua{color:var(--muted)}.logview.filtering .lv-line{opacity:.4}.logview.filtering .lv-line.hit{opacity:1;background:var(--primary-tint);border-left-color:var(--primary)}.lv-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:9px 14px;border-top:1px solid var(--line);background:var(--surface);font:400 var(--fs-2xs)/1.4 var(--font-mono);color:var(--muted)}.readings h3{display:flex;align-items:center;gap:8px;margin-bottom:12px;font:700 var(--fs-md)/1.3 var(--font-mono)}.readings ol{list-style:none;display:grid;gap:8px}.readings li{padding:11px 13px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);font-size:var(--fs-sm);line-height:1.55;transition:border-color .2s ease,background-color .2s ease,opacity .2s ease}.readings .rd-tag{display:inline-flex;align-items:center;gap:6px;margin-bottom:4px;font:600 var(--fs-2xs)/1 var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.readings .rd-tag:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c, var(--faint))}.readings li p{color:var(--ink)}.readings.filtering li{opacity:.5}.readings li.is-on{opacity:1;border-color:var(--primary);background:var(--primary-tint)}.verify{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden}.verify-text{padding:clamp(20px,2.6vw,32px);border-left:1px solid var(--line)}.verify-text h3{display:flex;align-items:center;gap:10px;font:700 var(--fs-h3)/1.3 var(--font-mono);letter-spacing:-.02em;margin-bottom:12px}.verify-text h3 .ico{color:var(--accent)}.verify-text p+p{margin-top:.9em}.verify .codebox{border:0;border-radius:0}.verify .codebox pre{font-size:var(--fs-xs)}.git{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,64px);align-items:start}.git-cmd{margin-bottom:22px;font:500 var(--fs-sm)/1.5 var(--font-mono);color:var(--muted)}.git-cmd .ps1{color:var(--accent);font-weight:700}.graph{list-style:none;position:relative}.graph:before{content:"";position:absolute;left:11px;top:14px;bottom:30px;width:2px;background:linear-gradient(var(--primary),var(--secondary) 60%,var(--accent));opacity:.55}.commit{position:relative;padding:0 0 34px 46px}.commit:last-child{padding-bottom:0}.commit:before{content:"";position:absolute;left:3px;top:4px;width:18px;height:18px;border:2px solid var(--primary);border-radius:50%;background:var(--bg);box-shadow:0 0 0 4px var(--bg)}.commit:nth-child(2):before{border-color:var(--secondary)}.commit:nth-child(3):before{border-color:var(--secondary)}.commit:last-child:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--accent-soft)}.commit-sha{font:500 var(--fs-xs)/1.4 var(--font-mono);color:var(--attention)}.commit-sha .ref{margin-left:8px;padding:2px 6px;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.commit h3{margin:6px 0 8px;font:700 var(--fs-h3)/1.3 var(--font-mono);letter-spacing:-.02em}.commit h3 .st{color:var(--primary)}.commit p{max-width:60ch}.commit-files{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;list-style:none}.commit-files li{padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font:400 var(--fs-2xs)/1.2 var(--font-mono);color:var(--muted)}.git-side{position:sticky;top:calc(var(--header-h) + 28px);display:grid;gap:20px}.values pre{font-size:var(--fs-xs);line-height:1.85}.diff-wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,3vw,40px);align-items:start}.diff{margin:0;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden}.diff-bar{display:flex;align-items:center;gap:12px;min-height:42px;padding:4px 8px 4px 14px;border-bottom:1px solid var(--line);background:var(--bg);font:600 var(--fs-xs)/1.3 var(--font-mono);color:var(--ink)}.diff-bar .stat{display:inline-flex;gap:6px;font-weight:600}.diff-bar .plus{color:var(--accent)}.diff-bar .minus{color:var(--danger)}.diff-bar .btn-copy{margin-left:auto}.diff-code{padding:6px 0;font:400 var(--fs-xs)/1.75 var(--font-mono)}.dl{display:grid;grid-template-columns:3ch 2ch minmax(0,1fr) auto;gap:0 8px;padding:0 12px 0 8px;align-items:start}.dl .ln{color:var(--faint);text-align:right;-webkit-user-select:none;user-select:none}.dl .sg{color:var(--faint);-webkit-user-select:none;user-select:none;font-weight:700;text-align:center}.dl .txt{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.dl.meta .txt{color:var(--muted);font-weight:700}.dl.hunk{background:var(--primary-tint)}.dl.hunk .txt{color:var(--primary-ink)}.dl.del{background:var(--danger-soft)}.dl.del .sg{color:var(--danger)}.dl.add{background:var(--add-bg)}.dl.add .sg{color:var(--accent)}.dl.del .txt{text-decoration:line-through;text-decoration-color:#cf222e99;text-decoration-thickness:1px}.js .dl.del .txt{text-decoration-color:transparent;transition:text-decoration-color .45s ease calc(var(--i, 0) * 90ms + .2s),opacity .5s ease calc(var(--i, 0) * 90ms + .65s)}.js .diff.play .dl.del .txt{text-decoration-color:#cf222ea6;opacity:.62}.js .dl.add{opacity:0;transform:translate(-16px);background:transparent;transition:opacity .45s ease,transform .5s var(--ease),background-color .6s ease;transition-delay:calc(var(--i, 0) * 90ms + .7s)}.js .diff.play .dl.add{opacity:1;transform:none;background:var(--add-bg)}.mk{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:6px;align-self:center;border-radius:var(--r-sm);background:var(--ink);color:#fff;font:700 var(--fs-2xs)/1 var(--font-mono)}.annot{list-style:none;display:grid;gap:12px}.annot li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}.annot .mk{width:26px;height:26px;margin:0;font-size:var(--fs-xs);align-self:start}.annot h3{font:700 var(--fs-md)/1.35 var(--font-mono);letter-spacing:-.01em;margin-bottom:4px}.annot p{font-size:var(--fs-md);line-height:1.55;color:var(--ink)}.diff-note{margin-top:16px;font:400 var(--fs-xs)/1.5 var(--font-mono);color:var(--comment)}.releases{list-style:none;border-top:1px solid var(--line)}.rel{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:26px 0;border-bottom:1px dashed var(--line)}.rel-side{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:2px}.tag{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);font:700 var(--fs-sm)/1 var(--font-mono);color:var(--primary-ink)}.tag--branch{color:var(--secondary-ink);border-style:dashed}.tag--head{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.rel-when{font:400 var(--fs-xs)/1.3 var(--font-mono);color:var(--muted)}.rel-card h3{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:700 var(--fs-h3)/1.3 var(--font-mono);letter-spacing:-.02em;margin-bottom:8px}.rel-card h3 .latest{padding:3px 8px;border:1px solid var(--accent);border-radius:999px;font:600 var(--fs-2xs)/1 var(--font-mono);color:var(--accent-ink)}.rel-card p{max-width:70ch}.rel-src{margin-top:8px;font:400 var(--fs-xs)/1.4 var(--font-mono);color:var(--comment)}.rel-fold{padding:12px 0;border-bottom:1px dashed var(--line)}.rel-fold.fold:before,.rel-fold.fold:after{border-top:0}.consts{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden}.const{position:relative;display:flex;flex-direction:column;padding:24px 24px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .3s ease}.const:nth-child(3n){border-right:0}.const:nth-last-child(-n+3){border-bottom:0}.const:hover{background:var(--primary-tint)}.const.ticking{background:var(--attention-soft)}.const-decl{font:400 var(--fs-sm)/1.4 var(--font-mono)}.const-type{position:absolute;top:20px;right:18px;padding:3px 7px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font:500 var(--fs-2xs)/1 var(--font-mono);color:var(--muted)}.const-val{display:block;margin:14px 0 10px;font:800 clamp(2.25rem,1.5rem + 2.2vw,3.5rem)/1 var(--font-mono);letter-spacing:-.05em;color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap}.const:nth-child(2) .const-val,.const:nth-child(5) .const-val{color:var(--secondary)}.const:nth-child(3) .const-val,.const:nth-child(6) .const-val{color:var(--accent)}.const-val .q{color:var(--faint);font-weight:500}.const-cmt{font:400 var(--fs-xs)/1.55 var(--font-mono);color:var(--comment);font-style:italic}.bench{margin-top:18px;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--r);background:var(--bg);font:400 var(--fs-xs)/1.7 var(--font-mono);color:var(--comment)}.bench b{color:var(--ink);font-weight:600}.pr-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:22px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);font:400 var(--fs-sm)/1.5 var(--font-mono);color:var(--muted)}.pr-head .state{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;font-size:var(--fs-xs)}.pr-head .state .ico{color:#fff}.pr-head b{color:var(--ink)}.reviews{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:20px;align-items:start}.rv-stack{display:grid;gap:20px}.review{border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}.review-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface);border-radius:var(--r) var(--r) 0 0}.avatar{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:50%;background:var(--bg);font:700 var(--fs-xs)/1 var(--font-mono);color:var(--primary-ink)}.review-who{min-width:0;flex:1 1 180px}.review-who strong{display:block;font:700 var(--fs-md)/1.3 var(--font-sans);color:var(--ink)}.review-who span{display:block;font-size:var(--fs-sm);line-height:1.4;color:var(--muted)}.approved{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid #A6DDB5;border-radius:999px;background:var(--accent-soft);font:600 var(--fs-2xs)/1 var(--font-mono);color:var(--accent-ink)}.review-body{margin:0;padding:18px 20px 6px}.review-body p{font-size:var(--fs-md);line-height:1.7;color:var(--ink)}.review--lead .review-body p{font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.7}.review mark{background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary-soft);border-radius:2px}.review-foot{padding:6px 20px 16px;font:400 var(--fs-2xs)/1.4 var(--font-mono);color:var(--comment)}.reviews-more{margin-top:22px;font:600 var(--fs-sm)/1.5 var(--font-mono)}.notes-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.note-card{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);transition:border-color .2s ease,transform .25s var(--ease)}.note-card:hover{border-color:var(--primary);transform:translateY(-3px)}.note-card:focus-within{border-color:var(--primary)}.nc-bar{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--surface);border-radius:var(--r) var(--r) 0 0;font:500 var(--fs-xs)/1 var(--font-mono);color:var(--ink)}.nc-bar .t-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-front{margin:0;padding:12px 14px;border-bottom:1px dashed var(--line);font:400 var(--fs-xs)/1.75 var(--font-mono);color:var(--muted)}.nc-front .k{color:var(--primary-ink)}.nc-front .v{color:var(--ink)}.nc-front .hr{color:var(--faint)}.nc-img{aspect-ratio:3 / 2;overflow:hidden;border-bottom:1px solid var(--line);background:var(--surface)}.nc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.note-card:hover .nc-img img{transform:scale(1.03)}.nc-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:18px 16px}.nc-body h3{font:700 1.0625rem/1.38 var(--font-mono);letter-spacing:-.02em}.nc-body h3 a{color:var(--ink);text-decoration:none}.nc-body h3 a:after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--r)}.nc-body h3 a:focus-visible{outline:none}.note-card:has(h3 a:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.nc-body p{font-size:var(--fs-md);line-height:1.6;color:var(--muted)}.nc-more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;font:600 var(--fs-sm)/1 var(--font-mono);color:var(--primary)}.nc-more .ico{transition:transform .25s var(--ease)}.note-card:hover .nc-more .ico{transform:translate(4px)}.notes-all{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px dashed var(--line)}.notes-all p{font:400 var(--fs-xs)/1.5 var(--font-mono);color:var(--comment)}.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,4vw,56px);align-items:start}.faq-aside{position:sticky;top:calc(var(--header-h) + 28px)}.faq-aside .sec-head{margin-bottom:20px}.faq-aside p.sec-intro{font-size:var(--fs-md)}.faq-aside .codebox{margin-top:22px}.faq-list{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);overflow:hidden}.faq-item+.faq-item{border-top:1px solid var(--line)}.faq-item summary{display:grid;grid-template-columns:2.4ch 16px minmax(0,1fr) auto;align-items:start;gap:12px;padding:17px 18px;cursor:pointer;list-style:none;transition:background-color .15s ease}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{background:var(--surface)}.faq-ln{font:400 var(--fs-xs)/1.9 var(--font-mono);color:var(--faint);text-align:right}.faq-chev{margin-top:5px;color:var(--muted);transition:transform .2s var(--ease)}.faq-item[open] .faq-chev{transform:rotate(90deg);color:var(--primary)}.faq-q{font:600 var(--fs-md)/1.5 var(--font-mono);letter-spacing:-.01em;color:var(--ink)}.faq-fold{align-self:center;padding:3px 8px;border:1px dashed var(--line);border-radius:var(--r-sm);font:400 var(--fs-2xs)/1 var(--font-mono);color:var(--comment);white-space:nowrap}.faq-item[open] .faq-fold{visibility:hidden}.faq-item[open] summary{background:var(--primary-tint)}.faq-a{padding:4px 22px 22px calc(58px + 2.4ch);border-left:2px solid var(--primary-soft);margin-left:0}.faq-a p{max-width:66ch;color:var(--ink)}.faq-item[open] .faq-a{animation:panelIn .3s var(--ease)}.contact{container-type:inline-size}.prompt-line{font:500 var(--fs-sm)/1.5 var(--font-mono);color:var(--muted);overflow-wrap:anywhere}.prompt-line .ps1{color:var(--accent);font-weight:700}.prompt-line .t-str{color:var(--navy)}.mail-big{display:inline-block;margin-top:10px;font:800 clamp(1.05rem,6.1cqi,3.6rem)/1.15 var(--font-mono);letter-spacing:-.045em;color:var(--ink);text-decoration:none;overflow-wrap:anywhere;background-image:linear-gradient(var(--primary),var(--primary));background-size:0 3px;background-repeat:no-repeat;background-position:0 100%;transition:color .2s ease,background-size .35s var(--ease);padding-bottom:6px}.mail-big:hover{color:var(--primary-ink);background-size:100% 3px}.mail-big .at{color:var(--secondary)}.contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4vw,56px);margin-top:32px;align-items:start}.contact-text p{max-width:60ch}.contact-text p+p{margin-top:.9em}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.contact-actions .btn-copy{min-height:46px;padding:0 16px;font-size:var(--fs-sm)}.reply{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font:500 var(--fs-sm)/1.4 var(--font-mono);color:var(--ink)}.attach{border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}.attach h3{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);font:700 var(--fs-sm)/1.3 var(--font-mono);background:var(--bg);border-radius:var(--r) var(--r) 0 0}.checklist{list-style:none;display:grid;gap:0;padding:6px 0}.checklist li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding:9px 16px;font-size:var(--fs-md);line-height:1.5}.checklist li:before{content:"";width:16px;height:16px;margin-top:3px;border:1.5px solid var(--faint);border-radius:3px;background:var(--bg)}.checklist li.opt:before{border-style:dashed}.attach .cm{padding:10px 16px 14px;border-top:1px dashed var(--line);font:400 var(--fs-xs)/1.5 var(--font-mono);color:var(--comment);font-style:italic}.site-footer{margin-top:var(--space-section);border-top:1px solid var(--line);background:var(--surface)}.footer-in{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:32px clamp(24px,3vw,48px);max-width:calc(var(--explorer-w) + 32px + var(--container) + 48px);margin:0 auto;padding:56px 24px calc(28px + var(--status-h))}.f-logo{display:inline-flex;align-items:center;gap:10px;font:700 var(--fs-md)/1 var(--font-mono);color:var(--ink);text-decoration:none}.f-logo svg{width:26px;height:26px}.f-brand p{margin-top:14px;max-width:46ch;font-size:var(--fs-sm);line-height:1.6;color:var(--muted)}.f-brand .f-mail{margin-top:16px;font:600 var(--fs-sm)/1.4 var(--font-mono)}.f-brand .f-mail a{overflow-wrap:anywhere}.f-title{margin-bottom:12px;font:600 var(--fs-xs)/1 var(--font-mono);color:var(--ink);letter-spacing:.02em}.f-title:before{content:"~/";color:var(--faint)}.f-col ul{list-style:none;display:grid;gap:7px}.f-col a{font:400 var(--fs-sm)/1.45 var(--font-mono);color:var(--muted);text-decoration:none}.f-col a:hover{color:var(--primary-ink);text-decoration:underline dotted}.network-links{list-style:none;display:grid;gap:7px;padding:0;margin:0}.network-links li{display:flex;align-items:center;gap:8px}.network-links li:before{content:"";width:6px;height:6px;border:1.5px solid var(--primary);border-left:0;border-bottom:0;transform:rotate(45deg);flex:none}.network-links a{font:400 var(--fs-sm)/1.45 var(--font-mono);color:var(--muted);text-decoration:none;overflow-wrap:anywhere}.network-links a:hover{color:var(--primary-ink);text-decoration:underline dotted}.f-legal{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 32px;padding-top:22px;border-top:1px dashed var(--line);font-size:var(--fs-xs);line-height:1.6;color:var(--muted)}.f-legal p:first-child{max-width:92ch}.f-legal .tk-c{font-family:var(--font-mono)}.statusbar{position:fixed;inset:auto 0 0;z-index:40;height:var(--status-h);display:none;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-top:1px solid var(--line);background:#f6f8faf5;font:400 var(--fs-2xs)/1 var(--font-mono);color:var(--muted);white-space:nowrap}.sb-group{display:flex;align-items:center;gap:18px;min-width:0}.sb-item{display:inline-flex;align-items:center;gap:6px}.sb-item .dot-ok{width:7px;height:7px;box-shadow:none}.sb-file{color:var(--ink);font-weight:600}.palette{width:min(640px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 120px));margin:12vh auto auto;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--ink);box-shadow:var(--pop);overflow:hidden}.palette[open]{display:flex;flex-direction:column;animation:palIn .18s var(--ease)}.palette::backdrop{background:#f6f8fac7}.pal-search{display:flex;align-items:center;gap:10px;height:54px;padding:0 14px;border-bottom:1px solid var(--line)}.pal-search:focus-within{box-shadow:inset 0 -2px 0 var(--primary)}.pal-search .ico{color:var(--muted)}.pal-input{flex:1;min-width:0;height:100%;border:0;background:none;font:400 var(--fs-md)/1 var(--font-mono);color:var(--ink)}.pal-input:focus{outline:none}.pal-input::placeholder{color:var(--faint)}.pal-list{list-style:none;margin:0;padding:6px;overflow:auto;flex:1}.pal-group{padding:10px 10px 6px;font:600 var(--fs-2xs)/1 var(--font-mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.pal-opt{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:var(--r-sm);cursor:pointer;font:400 var(--fs-sm)/1.3 var(--font-mono);color:var(--ink)}.pal-opt .hint{margin-left:auto;padding-left:12px;font-size:var(--fs-2xs);color:var(--muted);white-space:nowrap}.pal-opt[aria-selected=true]{background:var(--primary-soft)}.pal-opt[aria-selected=true] .ico{color:var(--primary-ink)}.pal-empty{padding:18px 12px;font:400 var(--fs-sm)/1.4 var(--font-mono);color:var(--muted)}.pal-foot{display:flex;flex-wrap:wrap;gap:6px 16px;padding:9px 14px;border-top:1px solid var(--line);background:var(--surface);font:400 var(--fs-2xs)/1.6 var(--font-mono);color:var(--muted)}.pal-foot kbd{height:1.7em;font-size:.64rem}.drawer{position:fixed;inset:var(--header-h) 0 0 0;z-index:45;overflow:auto;overscroll-behavior:contain;padding:20px 16px 40px;background:var(--bg)}.drawer:not([hidden]){animation:drawerIn .22s var(--ease)}.drawer .tree a{min-height:44px;font-size:var(--fs-md)}.drawer .tree-row{font-size:var(--fs-md);padding:8px}.drawer-foot{margin-top:20px;display:grid;gap:10px}.drawer-foot .btn{width:100%}.drawer-open body{overflow:hidden}.read-progress{position:fixed;left:0;right:0;top:var(--header-h);z-index:49;height:2px;background:linear-gradient(90deg,var(--primary),var(--secondary));transform-origin:0 50%;transform:scaleX(0)}.crumbs{font:400 var(--fs-sm)/1.5 var(--font-mono);color:var(--muted)}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center}.crumbs li{display:inline-flex;align-items:center}.crumbs li+li:before{content:"/";padding:0 .4em;color:var(--faint)}.crumbs a{color:var(--primary-ink);text-decoration:none}.crumbs a:hover{text-decoration:underline dotted}.crumbs [aria-current]{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.page-head .crumbs{margin-bottom:22px}.page-head h1{font:800 clamp(2rem,1.3rem + 2.6vw,3.5rem)/1.08 var(--font-mono);letter-spacing:-.045em;max-width:24ch}.page-head .lede{margin-top:18px;max-width:64ch;font-size:var(--fs-lead);line-height:1.6;color:var(--muted)}.kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:4px 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font:600 var(--fs-xs)/1 var(--font-mono);color:var(--secondary-ink)}.mag-intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:clamp(28px,3vw,40px)}.mag-intro .flow p{color:var(--ink)}.mag-side{display:grid;gap:16px}.sec--top{margin-top:0}.note-body{margin-top:20px}.panel-body--doc{padding-left:var(--pad-x)}.panel-body--doc:before,.panel-body--doc:after{content:none}.codebox-bar .lang{color:var(--faint);font-weight:400}.mag-list{margin-top:clamp(36px,4vw,56px)}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:22px;font:400 var(--fs-sm)/1.4 var(--font-mono);color:var(--muted)}.article-meta span{display:inline-flex;align-items:center;gap:7px}.article-meta b{color:var(--ink);font-weight:600}.article-cover{margin:28px 0 0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}.article-cover img{width:100%;aspect-ratio:3 / 2;object-fit:cover}.article-cover figcaption{padding:9px 12px;border-top:1px solid var(--line);font:400 var(--fs-xs)/1.5 var(--font-mono);color:var(--muted);background:var(--bg)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:clamp(32px,4vw,56px);align-items:start}.toc{position:sticky;top:calc(var(--header-h) + 24px);max-height:calc(100vh - var(--header-h) - var(--status-h) - 48px);overflow:auto}.toc-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;font:600 var(--fs-2xs)/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);cursor:pointer;list-style:none}.toc-title::-webkit-details-marker{display:none}.toc-n{margin-left:auto;letter-spacing:0;text-transform:none;font-weight:400;color:var(--faint)}.toc ol{list-style:none;display:grid;gap:2px;counter-reset:toc;border-left:1px solid var(--line)}.toc li{counter-increment:toc}.toc a{display:grid;grid-template-columns:2.2ch minmax(0,1fr);gap:8px;margin-left:-1px;padding:6px 10px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font:400 var(--fs-xs)/1.45 var(--font-mono);transition:color .15s ease,background-color .15s ease,border-color .15s ease}.toc a:before{content:counter(toc,decimal-leading-zero);color:var(--faint)}.toc a:hover{color:var(--ink);background:var(--surface)}.toc a.is-active{color:var(--ink);border-left-color:var(--primary);background:var(--primary-tint);font-weight:600}.prose{max-width:72ch;font-size:clamp(1.03rem,1rem + .2vw,1.125rem);line-height:1.78;color:var(--ink)}.prose>*+*{margin-top:1.15em}.prose h2{margin-top:2.4em;scroll-margin-top:calc(var(--header-h) + 24px);font:700 clamp(1.35rem,1.1rem + 1vw,1.8rem)/1.25 var(--font-mono);letter-spacing:-.03em}.prose h2:before{content:"## ";color:var(--faint);font-weight:500}.prose h3{margin-top:1.9em;scroll-margin-top:calc(var(--header-h) + 24px);font:700 clamp(1.08rem,1rem + .4vw,1.25rem)/1.35 var(--font-mono);letter-spacing:-.02em}.prose h3:before{content:"### ";color:var(--faint);font-weight:500}.prose h2+*,.prose h3+*{margin-top:.7em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.45em}.prose ul li::marker{color:var(--primary)}.prose ol li::marker{color:var(--primary-ink);font-family:var(--font-mono);font-weight:600;font-size:.9em}.prose a{color:var(--primary-ink)}.prose strong{font-weight:700}.prose code{padding:.12em .38em;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--surface);font-size:.86em;overflow-wrap:anywhere}.prose pre code,.prose .codebox code{padding:0;border:0;background:none;font-size:inherit}.prose .codebox{margin-top:1.5em;margin-bottom:1.5em}.table-wrap{margin:1.6em 0;border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-md);line-height:1.5}.prose caption{padding:10px 14px;text-align:left;font:600 var(--fs-xs)/1.4 var(--font-mono);color:var(--muted);border-bottom:1px solid var(--line);background:var(--surface)}.prose th,.prose td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.prose th{font:600 var(--fs-xs)/1.4 var(--font-mono);color:var(--ink);background:var(--surface)}.prose tr:last-child td{border-bottom:0}.prose td+td,.prose th+th{border-left:1px solid var(--line-soft)}.checks{list-style:none;padding-left:0!important;display:grid;gap:8px}.checks li{position:relative;margin:0!important;padding:10px 14px 10px 44px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}.checks li:before{content:"";position:absolute;left:14px;top:13px;width:16px;height:16px;border:1.5px solid var(--accent);border-radius:3px;background:var(--accent-soft)}.checks li:after{content:"";position:absolute;left:19px;top:15px;width:5px;height:9px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(45deg)}.callout{margin:1.8em 0!important;padding:16px 18px 18px;border:1px solid var(--line);border-left:3px solid var(--c, var(--primary));border-radius:0 var(--r) var(--r) 0;background:var(--cb, var(--primary-tint))}.callout-title{display:flex;align-items:center;gap:8px;margin-bottom:6px;font:700 var(--fs-sm)/1.3 var(--font-mono);color:var(--ct, var(--primary-ink))}.callout p{font-size:.97em;line-height:1.65}.callout p+p,.callout ul{margin-top:.6em}.callout--tip{--c: var(--primary);--cb: var(--primary-tint);--ct: var(--primary-ink)}.callout--error{--c: var(--danger);--cb: #FFF5F4;--ct: var(--danger)}.callout--approach{--c: var(--secondary);--cb: var(--secondary-soft);--ct: var(--secondary-ink);display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px}.callout--approach img{width:64px;height:64px;border-radius:var(--r);border:1px solid var(--line);object-fit:cover}.faq-block{margin-top:2.4em}.faq-block .faq-list{margin-top:1em}.author-box{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;margin-top:3em;padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.author-box img{width:96px;height:96px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line)}.author-box .who{font:700 var(--fs-md)/1.3 var(--font-mono)}.author-box .role{font:400 var(--fs-xs)/1.4 var(--font-mono);color:var(--muted);margin-top:2px}.author-box p.bio{margin-top:10px;font-size:var(--fs-md);line-height:1.65}.author-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font:600 var(--fs-sm)/1.4 var(--font-mono)}.related{margin-top:3.2em}.related-title{margin-bottom:16px;font:700 var(--fs-h3)/1.3 var(--font-mono)}.related-title .ps1{color:var(--accent)}.related .notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.http-resp{max-width:820px}.http-resp>*+*{margin-top:20px}.http-resp .codebox pre{font-size:var(--fs-sm);line-height:1.8}.http-status{font:800 clamp(2.25rem,1.4rem + 3vw,4rem)/1.05 var(--font-mono);letter-spacing:-.045em}.http-status .code{color:var(--danger);padding:0;font:inherit;white-space:normal}.nf-links{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.nf-links a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);text-decoration:none;color:var(--ink);transition:border-color .2s ease,transform .25s var(--ease)}.nf-links a:hover{border-color:var(--primary);transform:translateY(-2px)}.nf-links .p{font:600 var(--fs-xs)/1 var(--font-mono);color:var(--primary-ink)}.nf-links .t{font:700 var(--fs-md)/1.3 var(--font-mono)}.nf-links .d{font-size:var(--fs-sm);color:var(--muted)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes logscroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes palIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes panelIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes drawerIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.js .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s var(--ease);transition-delay:calc(var(--d, 0) * 90ms)}.js .rv.in{opacity:1;transform:none}@media(min-width:900px){.statusbar{display:flex}.tb-notes{display:inline-flex}}@media(min-width:1200px){.shell{grid-template-columns:var(--explorer-w) minmax(0,1fr);column-gap:32px}.explorer{display:block;position:sticky;top:calc(var(--header-h) + 24px);align-self:start;max-height:calc(100vh - var(--header-h) - var(--status-h) - 40px);overflow:auto;padding:0 4px 16px 0}.tb-menu{display:none}.brand{min-width:calc(var(--explorer-w) + 32px)}}@media(min-width:1440px){.tabs{display:flex}.brand-path .file{display:inline-block;max-width:22ch;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}}@media(max-width:1199px){.ide-editor{padding-right:32px}.minimap{display:none}}@media(max-width:1100px){.ide-body{grid-template-columns:var(--gut) minmax(0,1fr)}.ide-preview{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto 1fr auto}.preview-bar{grid-column:1 / -1}.preview-frame{margin:20px 0 20px 20px}.status-list{margin:20px 20px 0;align-content:start}.preview-note{grid-column:2;margin:12px 20px 20px}.mods,.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-grid>li:last-child:nth-child(odd){grid-column:1 / -1}.notes-grid>li:last-child:nth-child(odd) .note-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr}.notes-grid>li:last-child:nth-child(odd) .nc-bar{grid-column:1 / -1}.notes-grid>li:last-child:nth-child(odd) .nc-img{grid-column:1;grid-row:2 / 4;border-bottom:0;border-right:1px solid var(--line);aspect-ratio:auto}.notes-grid>li:last-child:nth-child(odd) .nc-front{grid-column:2;grid-row:2}.notes-grid>li:last-child:nth-child(odd) .nc-body{grid-column:2;grid-row:3}.logs-text{grid-column:1 / -1}.logs-band{grid-column:1 / -1;min-height:0;aspect-ratio:21 / 8}.logview,.readings{grid-column:1 / -1}.readings ol,.consts{grid-template-columns:repeat(2,minmax(0,1fr))}.const:nth-child(3n){border-right:1px solid var(--line)}.const:nth-child(2n){border-right:0}.const:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.const:nth-last-child(-n+2){border-bottom:0}.article-layout{grid-template-columns:minmax(0,1fr)}.toc{position:static;order:-1;max-height:none;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.toc-title{min-height:46px;margin:0}.toc[open] ol{margin-bottom:12px}}@media(max-width:899px){:root{--gut: 40px}.who-grid,.git,.diff-wrap,.reviews,.faq-grid,.contact-grid,.mag-intro{grid-template-columns:minmax(0,1fr)}.who-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.who-text{grid-row:1}.git-side,.faq-aside{position:static}.pp-grid,.verify{grid-template-columns:minmax(0,1fr)}.verify-text{border-left:0;border-top:1px solid var(--line);grid-row:1}.pipe-desc{display:none}.rel{grid-template-columns:minmax(0,1fr);gap:12px}.rel-side{flex-direction:row;align-items:center;gap:12px}.footer-in{grid-template-columns:repeat(2,minmax(0,1fr))}.f-brand{grid-column:1 / -1}.nf-links{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){:root{--gut: 30px;--pad-x: 16px;--pad-y: 26px;--header-h: 56px}body{font-size:1rem}.shell{padding:calc(var(--header-h) + 16px) 16px 0}.titlebar-in{padding:0 8px 0 16px}.brand{gap:10px;padding-right:8px}.brand-path .sep,.brand-path .file,.tb-palette{display:none}.panel-body:before,.ide-gutter:before{font-size:10px;padding-right:6px}.panel-body{padding-right:16px}.panel-bar{height:38px}.ptab{padding:0 12px;font-size:var(--fs-xs)}.pmeta{display:none}.ide-tab{padding:0 12px;font-size:var(--fs-xs)}.ide-tab:nth-child(n+3),.ide-tabs .ide-actions{display:none}.ide-editor{padding:24px 16px 28px 14px}.ide-preview{display:flex}.preview-frame{margin:16px 16px 0}.status-list{margin:14px 16px 16px}.preview-note{margin:0 16px 16px}.h1-main{font-size:clamp(2.1rem,12.4cqi,2.8rem)}.hero-cta .btn{width:100%}.kbd-hint{display:none}.who-media{grid-template-columns:minmax(0,1fr)}.imgview-stage img{max-width:100%}.pipe-steps:before,.pipe-steps:after{top:21px}.pipe-node{width:44px;height:44px}.pipe-node .ico{width:18px;height:18px}.pipe-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pipe-steps a{padding:0 1px 12px;gap:6px}.mods,.notes-grid,.related .notes-grid{grid-template-columns:minmax(0,1fr)}.notes-grid>li:last-child:nth-child(odd) .note-card{display:flex}.notes-grid>li:last-child:nth-child(odd) .nc-img{border-right:0;border-bottom:1px solid var(--line);aspect-ratio:3 / 2}.readings ol{grid-template-columns:minmax(0,1fr)}.lv-screen{height:22rem}.lv-line{grid-template-columns:minmax(0,1fr);padding-left:10px}.lv-line .n{display:none}.chip{min-height:44px}.logs-band{aspect-ratio:4 / 3}.consts{grid-template-columns:minmax(0,1fr)}.const{border-right:0!important;border-bottom:1px solid var(--line)!important}.const:last-child{border-bottom:0!important}.dl{grid-template-columns:2ch 1.5ch minmax(0,1fr) auto;gap:0 6px;padding:0 8px 0 4px}.diff-bar{flex-wrap:wrap}.faq-item summary{grid-template-columns:16px minmax(0,1fr);gap:10px;padding:15px 14px}.faq-ln,.faq-fold{display:none}.faq-a{padding:0 16px 18px 40px}.contact-actions .btn,.contact-actions .btn-copy{width:100%;justify-content:center}.footer-in{grid-template-columns:minmax(0,1fr);padding:44px 16px 32px}.f-legal{flex-direction:column}.callout--approach,.author-box{grid-template-columns:minmax(0,1fr)}.prose .table-wrap{border:0;overflow:visible}.prose table,.prose tbody,.prose tr,.prose td,.prose caption{display:block}.prose thead{display:none}.prose caption{border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0}.prose tr{padding:6px 0;border:1px solid var(--line);border-top:0}.prose tr:last-child{border-radius:0 0 var(--r) var(--r)}.prose td{padding:4px 14px;border:0!important}.prose td:before{content:attr(data-label);display:block;font:600 var(--fs-2xs)/1.5 var(--font-mono);color:var(--muted)}.prose td:first-child{font-weight:700}.lint-tip{position:fixed;inset:auto 16px 16px;width:auto;max-width:none;transform:none}.sec-head:before{right:-4px}}@media(pointer:coarse){.chip,.btn-copy,.tree a{min-height:44px}}@media(prefers-reduced-motion:reduce){html,html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}.js .rv{opacity:1;transform:none}.cursor,.sec.is-current .sec-head h2:after{animation:none}.logview .lv-track{animation:none!important}.js .dl.add{opacity:1;transform:none;background:var(--add-bg)}.js .dl.del .txt{text-decoration-color:#cf222ea6;opacity:.62}.btn:hover,.mod:hover,.note-card:hover,.nf-links a:hover,.note-card:hover .nc-img img{transform:none}}
