/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:"Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--leading-tight:1.25;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Unbounded", ui-sans-serif, system-ui, sans-serif;--animate-glow:glowShift 20s ease-in-out infinite;--animate-pulse-dot:pulseDot 1.8s ease-in-out infinite;--color-bg:var(--bg);--color-card:var(--bg-card);--color-card-hover:var(--bg-hover);--color-ink:var(--text);--color-ink-2:var(--text-2);--color-ink-3:var(--text-3);--color-ink-4:var(--muted);--color-ink-4b:var(--text-6);--color-ink-nav:var(--text-4);--color-faint:var(--text-6);--color-violet:var(--violet);--color-violet-light:var(--violet-light);--color-lime:var(--lime)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{background:var(--color-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}[id]{scroll-margin-top:96px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}*{box-sizing:border-box}a{color:var(--color-violet-light);text-decoration:none}a:hover{color:var(--lime-ink)}::selection{background:var(--color-lime);color:var(--on-accent)}input[type=range]{accent-color:var(--cta)}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}button{font-family:inherit}:focus-visible{outline:2px solid var(--lime-ink);outline-offset:2px}.skip-link{z-index:100;background:var(--color-lime);color:var(--on-accent);border-radius:10px;padding:10px 14px;font-weight:800;position:absolute;top:12px;left:-9999px}.skip-link:focus{left:12px}}@layer components{.vr{--vr-gutter:clamp(16px, 4vw, 32px)}.vr-wrap{max-width:1320px;padding-left:var(--vr-gutter);padding-right:var(--vr-gutter);margin:0 auto}.vr-mono{font-family:var(--font-mono)}.vr-kicker{font-family:var(--font-mono);letter-spacing:2.2px;color:var(--violet-ink);font-size:11px}.vr-h2{font-family:var(--font-display);font-weight:var(--h2-w);font-size:calc(clamp(22px, 3vw, 34px) * var(--h2-k));letter-spacing:-1.3px;margin:12px 0 0;line-height:1.1}.vr-h2--sm{font-size:calc(clamp(20px, 2.6vw, 28px) * var(--h2-k));letter-spacing:-1px;margin:0}.vr-crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.vr-crumbs a{color:var(--muted)}.vr-crumbs a:hover{color:var(--text)}.vr-crumbs i{color:var(--hair);font-style:normal}.vr-crumbs [aria-current]{color:var(--text-4)}.vr-badge{font-family:var(--font-mono);letter-spacing:.8px;white-space:nowrap;border:1px solid;border-radius:7px;flex:none;align-items:center;padding:5px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.vr-st-active{color:var(--green)}.vr-st-security{color:var(--amber)}.vr-st-eol{color:var(--red)}.vr-hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.vr-hero:before{content:"";pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:52px 52px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 100% at 15% 20%,#000 22%,#0000 78%);mask-image:radial-gradient(85% 100% at 15% 20%,#000 22%,#0000 78%)}.vr-hero__glow{pointer-events:none;background:radial-gradient(ellipse at center, var(--glow-violet-soft), transparent 62%);filter:blur(28px);width:900px;height:640px;position:absolute;top:-260px;left:-150px}.vr-hero__in{padding-top:clamp(20px,3vw,32px);padding-bottom:clamp(28px,4vw,44px);position:relative}.vr-h1{font-family:var(--font-display);letter-spacing:clamp(-2.4px,-.32vw,-1px);margin:16px 0 0;font-size:clamp(28px,4.6vw,54px);font-weight:700;line-height:1.03}.vr-lead{color:var(--text-3);text-wrap:pretty;max-width:660px;margin:14px 0 0;font-size:clamp(15px,1.9vw,18px);font-weight:500;line-height:1.6}.vr-stats{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:1px;max-width:940px;margin-top:22px;display:grid;overflow:hidden}.vr-stats a,.vr-stats div{background:var(--bg-card);color:var(--text);padding:16px 18px;display:block}.vr-stats a:hover{background:var(--bg-hover);color:var(--text)}.vr-stats small{font-family:var(--font-mono);letter-spacing:1.3px;color:var(--faint);font-size:10px;display:block}.vr-stats b{font-family:var(--font-display);letter-spacing:-.8px;margin-top:9px;font-size:22px;font-weight:700;display:block}.vr-stats span{color:var(--text-5);margin-top:6px;font-size:12.5px;font-weight:600;display:block}.vr-check{border:1px solid var(--tint-violet-b);background:var(--bg-card);border-radius:24px;overflow:hidden}.vr-check__top{padding:clamp(18px,2.6vw,26px)}.vr-picks{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.vr-pick{cursor:pointer;min-height:44px;font-family:var(--font-mono);background:var(--fill);color:var(--text-3);border:1px solid var(--line-3);border-radius:12px;align-items:center;gap:8px;padding:0 15px;font-size:14px;font-weight:700;display:inline-flex}.vr-pick i{background:currentColor;border-radius:50%;width:7px;height:7px}.vr-pick[aria-checked=true]{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.vr-check__out{background:var(--bg-panel);border-top:1px solid var(--line);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,32px);padding:clamp(18px,2.6vw,26px);display:grid}.vr-check__ver{font-family:var(--font-display);letter-spacing:-1.6px;font-size:clamp(30px,5vw,48px);font-weight:700;line-height:1}.vr-check__verdict{color:var(--text-2);text-wrap:pretty;max-width:560px;margin:14px 0 0;font-size:15.5px;font-weight:600;line-height:1.6}.vr-check__advice{color:var(--text-5);text-wrap:pretty;max-width:560px;margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.6}.vr-check__big{font-family:var(--font-display);letter-spacing:-2px;font-size:clamp(38px,6vw,64px);font-weight:800;line-height:1}.vr-life{background:var(--fill-3);border-radius:999px;height:10px;margin-top:16px;position:relative;overflow:hidden}.vr-life span{position:absolute;top:0;bottom:0}.vr-life__active{background:var(--green);opacity:.85;left:0}.vr-life__sec{background:var(--amber);opacity:.7}.vr-life__today{background:var(--text);width:2px;top:-3px!important;bottom:-3px!important}.vr-legend{color:var(--text-4);flex-wrap:wrap;gap:16px;margin-top:14px;font-size:13px;font-weight:600;display:flex}.vr-legend span{align-items:center;gap:8px;display:inline-flex}.vr-legend i{border-radius:3px;width:18px;height:8px}.vr-chart{border:1px solid var(--line-2);background:var(--bg-card);border-radius:20px;margin-top:18px;overflow:hidden}.vr-chart__axis{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);display:grid}.vr-chart__years{height:34px;position:relative}.vr-chart__years span{border-left:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--faint);padding:10px 0 0 6px;font-size:10.5px;position:absolute;top:0;bottom:0}.vr-row{border-bottom:1px solid var(--line-soft);color:var(--text);grid-template-columns:120px minmax(0,1fr);align-items:center;padding:12px clamp(14px,2vw,18px);display:grid}.vr-row:last-child{border-bottom:0}a.vr-row:hover{background:var(--bg-hover);color:var(--text)}.vr-row__v{min-width:0;font-family:var(--font-display);letter-spacing:-.5px;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.vr-row__now{font-family:var(--font-mono);letter-spacing:.8px;color:var(--on-accent);background:var(--lime);border-radius:5px;padding:3px 6px;font-size:9px;font-weight:700}.vr-row__bar{min-width:0;height:22px;position:relative}.vr-row__bar>span{position:absolute;top:0;bottom:0}.vr-row__track{background:var(--fill);border-radius:6px;inset:0}.vr-row__a{background:var(--green);transform-origin:0;border-radius:6px 0 0 6px;animation:.7s cubic-bezier(.4,0,.2,1) both vrBar}.vr-row__s{background:var(--amber);transform-origin:0;border-radius:0 6px 6px 0;animation:.7s cubic-bezier(.4,0,.2,1) .15s both vrBar}.vr-row--eol .vr-row__a,.vr-row--eol .vr-row__s{opacity:.35}.vr-row__today{background:var(--text);border-radius:2px;width:2px;top:-6px!important;bottom:-6px!important}.vr-row__meta{color:var(--text-5);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;font-weight:600;display:none}.vr-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:12px;margin-top:20px;display:grid}.vr-card{border:1px solid var(--line-2);background:var(--bg-card);color:var(--text);border-radius:20px;flex-direction:column;padding:20px;transition:transform .16s,border-color .16s;display:flex}a.vr-card:hover{border-color:var(--tint-violet-b2);color:var(--text);transform:translateY(-2px)}.vr-card--current{border-color:var(--tint-violet-b2);box-shadow:var(--featured-top)}.vr-card__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.vr-card__v{font-family:var(--font-display);letter-spacing:-2px;font-size:44px;font-weight:800;line-height:.95}.vr-card--eol .vr-card__v{color:var(--text-5)}.vr-card__when{font-family:var(--font-mono);color:var(--faint);margin-top:12px;font-size:11.5px;display:block}.vr-card__top3{flex-direction:column;gap:7px;margin-top:16px;display:flex}.vr-card__top3 span{color:var(--text-2);align-items:flex-start;gap:10px;font-size:14px;font-weight:600;display:flex}.vr-card__top3 span:before{content:"+";font-family:var(--font-mono);color:var(--violet-ink);margin-top:2px;font-size:11px}.vr-card__foot{color:var(--violet-ink);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:16px;font-size:13.5px;font-weight:700;display:flex}.vr-card__foot small{font-family:var(--font-mono);color:var(--faint);font-size:10.5px;font-weight:500}.vr-links{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1px;display:grid;overflow:hidden}.vr-links a{background:var(--bg-card);color:var(--text);padding:16px 18px;display:block}.vr-links a:hover{background:var(--bg-hover);color:var(--text)}.vr-links small{font-family:var(--font-mono);letter-spacing:1.3px;font-size:10px;display:block}.vr-links b{margin-top:8px;font-size:14.5px;font-weight:700;display:block}.vr-poster{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:end;gap:clamp(20px,4vw,48px);margin-top:clamp(16px,2.4vw,24px);display:grid}.vr-poster__kicker{font-family:var(--font-mono);letter-spacing:3px;color:var(--violet-ink);font-size:12px}.vr-poster h1{margin:10px 0 0;line-height:.86}.vr-poster__num{font-family:var(--font-display);letter-spacing:clamp(-5px,-.6vw,-2px);background:linear-gradient(110deg, var(--grad-h1-a) 0%, var(--grad-h1-b) 45%, var(--grad-h1-c) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(84px,16vw,200px);font-weight:800;display:block}.vr-poster__tail{font-family:var(--font-display);letter-spacing:-1px;color:var(--text);margin-top:clamp(8px,1.4vw,16px);font-size:clamp(20px,2.8vw,32px);font-weight:600;display:block}.vr-keys{flex-direction:column;gap:10px;max-width:620px;margin:22px 0 0;padding:0;list-style:none;display:flex}.vr-keys li{color:var(--text-2);text-wrap:pretty;align-items:baseline;gap:14px;font-size:clamp(15px,1.8vw,17px);font-weight:600;line-height:1.5;display:flex}.vr-keys b{font-family:var(--font-mono);color:var(--lime-ink);flex:none;font-size:12px;font-weight:500}.vr-status{border:1px solid var(--line-3);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);border-radius:22px;overflow:hidden}.vr-status__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;display:flex}.vr-status__head small{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--faint);font-size:10.5px}.vr-status dl{margin:0}.vr-status dl div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:14px;padding:12px 18px;display:flex}.vr-status dt{color:var(--text-5);font-size:13.5px;font-weight:600}.vr-status dd{font-family:var(--font-mono);color:var(--text);text-align:right;margin:0;font-size:13px;font-weight:700}.vr-status__jumps{flex-wrap:wrap;gap:8px;padding:14px 18px;display:flex}.vr-status__jumps a{border:1px solid var(--line-3);border-radius:10px;align-items:center;min-height:40px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.vr-shell{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:clamp(18px,3vw,40px);padding-top:clamp(22px,3.2vw,36px);display:grid}.vr-toc{min-width:0;position:sticky;top:96px}.vr-toc__title{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);margin-bottom:10px;font-size:10px;display:block}.vr-toc nav{flex-direction:column;gap:2px;display:flex}.vr-toc nav a{min-height:40px;color:var(--text-4);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 -12px;padding:0 12px;font-size:14px;font-weight:700;transition:background .15s,color .15s;display:flex}.vr-toc nav a:hover{background:var(--fill-hover);color:var(--text)}.vr-toc nav a>span{white-space:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.vr-toc nav a>span:before{content:"";background:var(--line-3);border-radius:2px;flex:none;width:3px;height:18px}.vr-toc nav a.is-on{color:var(--text);background:var(--fill-2)}.vr-toc nav a.is-on>span:before{background:var(--acc,var(--violet))}.vr-toc nav small{font-family:var(--font-mono);color:var(--faint);font-size:11px}.vr-toc__toggle{border:1px solid var(--line-3);background:var(--bg-card);width:100%;min-height:48px;color:var(--text);cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;padding:0 16px;font-size:14.5px;font-weight:800;display:none}.vr-body{flex-direction:column;gap:clamp(40px,6vw,72px);min-width:0;display:flex}.vr-chapter{border-top:1px solid var(--line-2);padding-top:clamp(26px,3.6vw,40px);scroll-margin-top:96px;position:relative}.vr-chapter__head{align-items:flex-end;gap:clamp(14px,2.4vw,24px);display:flex}.vr-chapter__n{font-family:var(--font-display);letter-spacing:-4px;color:#0000;-webkit-text-stroke:1.5px var(--acc);opacity:.9;flex:none;font-size:clamp(56px,9vw,104px);font-weight:800;line-height:.8}.vr-chapter__kicker{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--acc-ink);align-items:center;gap:8px;font-size:10.5px;display:flex}.vr-chapter__kicker:before{content:"";background:var(--acc);border-radius:2px;width:8px;height:8px}.vr-chapter h2{font-family:var(--font-display);letter-spacing:-1.3px;margin:8px 0 0;font-size:clamp(22px,3.2vw,36px);font-weight:700;line-height:1.08}.vr-chapter__list{flex-direction:column;gap:clamp(22px,3vw,34px);margin-top:clamp(20px,2.8vw,30px);display:flex}.vr-acc-features{--acc:var(--violet);--acc-ink:var(--violet-ink)}.vr-acc-syntax{--acc:var(--blue);--acc-ink:var(--blue)}.vr-acc-functions{--acc:var(--green);--acc-ink:var(--green)}.vr-acc-performance{--acc:var(--amber);--acc-ink:var(--amber)}.vr-acc-security{--acc:var(--orange);--acc-ink:var(--orange)}.vr-feat{flex-direction:column;align-items:stretch;gap:clamp(16px,2.6vw,32px);scroll-margin-top:96px;display:flex}.vr-feat__text{border-left:2px solid var(--acc,var(--violet));flex-direction:column;min-width:0;padding:4px 0 0 18px;display:flex}.vr-feat__idx{font-family:var(--font-mono);color:var(--acc-ink,var(--violet-ink));letter-spacing:1px;font-size:11px}.vr-feat h3{font-family:var(--font-display);letter-spacing:-.8px;text-wrap:balance;overflow-wrap:anywhere;margin:10px 0 0;font-size:clamp(19px,2.3vw,24px);font-weight:600;line-height:1.18}.vr-feat__why{color:var(--text-2);text-wrap:pretty;max-width:560px;margin:12px 0 0;font-size:clamp(15px,1.7vw,16.5px);font-weight:500;line-height:1.72}.vr-feat__acts{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:auto;padding-top:16px;display:flex}.vr-run{background:var(--cta);min-height:44px;color:var(--on-cta);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:0 16px;font-size:13.5px;font-weight:800;display:inline-flex}.vr-run:hover{background:var(--cta-hover);color:var(--on-cta)}.vr-ref{min-height:44px;color:var(--violet-ink);align-items:center;font-size:13.5px;font-weight:700;display:inline-flex}.vr-code{background:var(--ide-bg);border:1px solid var(--ide-line-2);border-radius:18px;min-width:0;overflow:hidden;box-shadow:0 18px 50px #00000038}.vr-code__bar{border-bottom:1px solid var(--ide-line);align-items:center;gap:8px;padding:10px 14px;display:flex}.vr-code__bar b{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--ide-lime);font-size:10.5px;font-weight:700}.vr-code__bar i{border-radius:50%;width:9px;height:9px}.vr-code pre{font-family:var(--font-mono);font-variant-ligatures:none;white-space:pre;scrollbar-width:thin;scrollbar-color:#ffffff24 transparent;margin:0;overflow-x:auto}.vr-code pre::-webkit-scrollbar{height:6px}.vr-code pre::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:6px}.vr-code__after{color:var(--ide-text);box-shadow:inset 3px 0 0 var(--ide-lime);padding:16px 16px 18px;font-size:clamp(13px,1.5vw,14.5px);line-height:1.75}.vr-code__was{border-top:1px dashed var(--ide-line-2);font-family:var(--font-mono);letter-spacing:1.2px;color:var(--ide-muted);background:#00000040;align-items:center;gap:8px;padding:9px 14px;font-size:10.5px;display:flex}.vr-code__before{color:var(--ide-muted);background:#00000040;padding:12px 16px 14px;font-size:12.5px;line-height:1.7}@media (width>=1180px){.vr-feat{flex-direction:row;align-items:flex-start}.vr-feat:nth-child(2n){flex-direction:row-reverse}.vr-feat__text{flex:38%;align-self:stretch}.vr-feat .vr-code{flex:58%}}.vr-chip{text-align:left;border:1px solid var(--ide-line);background:var(--ide-fill);width:100%;min-height:44px;color:var(--ide-text);cursor:pointer;font:inherit;border-radius:12px;padding:11px 12px;transition:border-color .14s,background .14s;display:block}.vr-chip:hover{border-color:var(--ide-violet);background:var(--ide-fill-2)}.vr-chip:focus-visible{outline:2px solid var(--ide-lime);outline-offset:2px}.vr-chip--static{cursor:default;border-style:dashed;border-color:var(--ide-line-2);background:0 0}.vr-chip--static:hover{border-color:var(--ide-line-2);background:0 0}.vr-chip__top{align-items:baseline;gap:8px;display:flex}.vr-chip__name{min-width:0;font-family:var(--font-mono);color:var(--ide-text);overflow-wrap:anywhere;font-size:13px;font-weight:700}.vr-chip--old .vr-chip__name{color:var(--ide-orange)}.vr-chip__act{font-family:var(--font-mono);color:var(--ide-faint);flex:none;margin-left:auto;font-size:10px}.vr-chip__sum{color:var(--ide-text-3);margin-top:5px;font-size:12.5px;line-height:1.5;display:block}.vr-list{border:1px solid var(--line-3);background:var(--bg-card);border-radius:20px;padding:clamp(18px,2.6vw,26px);scroll-margin-top:96px}.vr-list--dep{border-left:3px solid var(--orange)}.vr-list--brk{border-left:3px solid var(--red)}.vr-list__head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.vr-list__head small{font-family:var(--font-mono);letter-spacing:2px;font-size:11px}.vr-list--dep .vr-list__head small{color:var(--orange)}.vr-list--brk .vr-list__head small{color:var(--red)}.vr-list>p{color:var(--text-5);margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.6}.vr-list__rows{background:var(--line-2);border-radius:14px;flex-direction:column;gap:1px;margin-top:16px;display:flex;overflow:hidden}.vr-list__rows div{background:var(--bg-card);grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:8px 18px;padding:14px 16px;display:grid}.vr-list__rows code{font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere;font-size:13px;font-weight:700}.vr-list__rows span{color:var(--text-3);font-size:14px;font-weight:500;line-height:1.55}.vr-upgrade{border:1px solid var(--tint-lime-b);background:var(--panel-lime-a);border-radius:20px;padding:clamp(18px,2.6vw,26px);scroll-margin-top:96px}.vr-upgrade__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.vr-upgrade__head small{font-family:var(--font-mono);color:var(--lime-ink);font-size:12px}.vr-steps{flex-direction:column;gap:6px;margin-top:16px;display:flex}.vr-step{text-align:left;border:1px solid var(--line-2);background:var(--bg-card);cursor:pointer;width:100%;min-height:48px;font:inherit;color:var(--text);border-radius:13px;align-items:flex-start;gap:14px;padding:12px 14px;display:flex}.vr-step__box{border:1.5px solid var(--line-4);width:22px;height:22px;color:var(--on-accent);border-radius:7px;flex:none;place-items:center;margin-top:1px;font-size:13px;font-weight:800;display:grid}.vr-step[aria-checked=true] .vr-step__box{background:var(--lime);border-color:var(--lime)}.vr-step[aria-checked=true] .vr-step__t{color:var(--text-5);text-decoration:line-through}.vr-step__t{font-size:14.5px;font-weight:700;line-height:1.45;display:block}.vr-step code{font-family:var(--font-mono);color:var(--text-4);background:var(--fill-3);overflow-wrap:anywhere;border-radius:7px;margin-top:6px;padding:4px 8px;font-size:12.5px;display:inline-block}.vr-pn{grid-template-columns:1fr 1fr;gap:12px;display:grid}.vr-pn a{border:1px solid var(--line-2);background:var(--bg-card);color:var(--text);border-radius:18px;padding:18px 20px;display:block}.vr-pn a:hover{border-color:var(--tint-violet-b2);color:var(--text)}.vr-pn a:last-child{text-align:right}.vr-pn small{font-family:var(--font-mono);letter-spacing:1.3px;color:var(--faint);font-size:10.5px;display:block}.vr-pn b{font-family:var(--font-display);letter-spacing:-.6px;margin-top:8px;font-size:20px;font-weight:600;display:block}.vr-progress{z-index:70;background:linear-gradient(90deg, var(--violet), var(--lime));pointer-events:none;width:0;height:2px;position:fixed;top:0;left:0}@media (width<=899px){.vr-poster,.vr-shell,.vr-check__out,.vr-pn{grid-template-columns:1fr}.vr-pn a:last-child{text-align:left}.vr-toc{position:static}.vr-toc__toggle{display:flex}.vr-toc__title{display:none}.vr-toc nav{margin-top:10px}.vr-toc:not(.is-open) nav{display:none}.vr-list__rows div{grid-template-columns:1fr}}@media (width<=759px){.vr-chart__axis{display:none}.vr-row{grid-template-columns:1fr;gap:9px}.vr-row__bar{height:12px}.vr-row__meta{display:flex}}@media (prefers-reduced-motion:reduce){.vr-row__a,.vr-row__s{animation:none}.vr-card{transition:none}}.rel{isolation:isolate;border:1px solid var(--tint-violet-b2);background:radial-gradient(130% 150% at 0% 0%, var(--glow-violet-soft), transparent 52%), radial-gradient(90% 120% at 100% 100%, #d9ff5712, transparent 60%), var(--bg-card);border-radius:26px;grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(22px,3vw,40px);padding:clamp(22px,3.6vw,44px);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 90px -46px #6c5ce7b3}.rel:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 90% at 12% 10%,#000 25%,#0000 75%);mask-image:radial-gradient(70% 90% at 12% 10%,#000 25%,#0000 75%)}.rel__main{min-width:0}.rel__kicker{font-family:var(--font-mono);letter-spacing:2.4px;color:var(--violet-ink);font-size:11px}.rel__title{flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:12px 0 0;line-height:.86;display:flex}.rel__pre{font-family:var(--font-display);letter-spacing:-1px;color:var(--text);font-size:clamp(22px,3vw,34px);font-weight:600}.rel__num{font-family:var(--font-display);letter-spacing:clamp(-6px,-.5vw,-2px);background:linear-gradient(110deg, var(--grad-h1-a) 0%, var(--grad-h1-b) 45%, var(--grad-h1-c) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(78px,12vw,150px);font-weight:800}.rel__meta{color:var(--text-3);margin:16px 0 0;font-size:15px;font-weight:500;line-height:1.6}.rel__hl{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.rel__hl li{font-family:var(--font-mono);color:var(--text-2);border:1px solid var(--tint-violet-b);background:var(--fill);border-radius:9px;padding:7px 11px;font-size:12.5px}.rel__acts{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.rel__btn{border:1px solid var(--line-3);background:var(--fill);min-height:48px;color:var(--text);white-space:nowrap;border-radius:13px;align-items:center;gap:9px;padding:0 18px;font-size:14px;font-weight:700;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.rel__btn:hover{color:var(--text);border-color:var(--tint-violet-b2);transform:translateY(-2px)}.rel__btn--primary{background:var(--lime);color:var(--on-accent);box-shadow:0 10px 30px -12px var(--tint-lime-b2);border-color:#0000}.rel__btn--primary:hover{color:var(--on-accent);background:var(--lime-hover);border-color:#0000}.rel__btn--ide{border-color:var(--ide-line-2);background:var(--ide-bg);color:var(--ide-text);font-family:var(--font-mono);font-size:13px}.rel__btn--ide:hover{color:var(--ide-text);border-color:var(--ide-violet)}.rel__btn--ide i{color:var(--ide-lime);font-style:normal}.rel__console{border:1px solid var(--ide-line-2);background:var(--ide-bg);min-width:0;color:var(--ide-text);border-radius:20px;overflow:hidden;box-shadow:0 26px 70px -34px #000000a6}.rel__bar{background:var(--ide-bar);border-bottom:1px solid var(--ide-line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.rel__dots{gap:6px;display:flex}.rel__dots i{border-radius:50%;width:10px;height:10px}.rel__bar-title{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--ide-text-2);font-size:10.5px}.rel__legend{font-family:var(--font-mono);color:var(--ide-muted);align-items:center;gap:6px;margin-left:auto;font-size:10.5px;display:inline-flex}.rel__legend i{border-radius:3px;width:9px;height:9px;margin-left:6px}.rel__legend i.is-a{background:var(--ide-green)}.rel__legend i.is-s{background:var(--ide-amber)}.rel__chart{padding:10px 16px 14px}.rel__years{height:18px;margin:0 102px 4px 64px;position:relative}.rel__years span{font-family:var(--font-mono);color:var(--ide-faint);font-size:10px;position:absolute;top:0;transform:translate(-50%)}.rel__row{min-height:44px;color:var(--ide-text);border-radius:10px;grid-template-columns:54px minmax(0,1fr) 92px;align-items:center;column-gap:10px;margin:0 -8px;padding:0 8px;display:grid}a.rel__row:hover{background:var(--ide-fill);color:var(--ide-text)}.rel__v{font-family:var(--font-display);letter-spacing:-.5px;font-size:16px;font-weight:700}.rel__track{background:var(--ide-fill);border-radius:5px;height:14px;position:relative}.rel__track>span{position:absolute;top:0;bottom:0}.rel__a{background:var(--ide-green);transform-origin:0;border-radius:5px 0 0 5px;animation:.8s cubic-bezier(.4,0,.2,1) both vrBar}.rel__s{background:var(--ide-amber);opacity:.85;transform-origin:0;border-radius:0 5px 5px 0;animation:.8s cubic-bezier(.4,0,.2,1) .18s both vrBar}.rel__today{background:var(--ide-lime);border-radius:2px;width:2px;box-shadow:0 0 10px #d9ff5799;top:-7px!important;bottom:-7px!important}.rel__until{text-align:right;font-family:var(--font-mono);color:var(--ide-text-3);white-space:nowrap;font-size:11px}.rel__until.is-active{color:var(--ide-green)}.rel__until.is-security{color:var(--ide-amber)}.rel__ending{border-top:1px dashed var(--ide-line-2);color:var(--ide-text-3);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.rel__ending i{background:var(--ide-amber);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #ffd16624}.rel__ending span{flex:1;min-width:200px}.rel__ending b{color:var(--ide-text)}.rel__ending a{font-family:var(--font-mono);color:var(--ide-lime);white-space:nowrap;font-size:12px;font-weight:700}.rel__ending a:hover{color:var(--ide-lime);text-decoration:underline}.rel--laravel{background:radial-gradient(130% 150% at 0% 0%, #ff6b5b29, transparent 52%), radial-gradient(90% 120% at 100% 100%, #ffd16612, transparent 60%), var(--bg-card);border-color:#ff6b5b73;box-shadow:0 34px 90px -46px #ff5a4699}.rel--laravel .rel__num{background:linear-gradient(110deg,#ff6b5b 0%,#ff8a5b 48%,#ffd166 100%);-webkit-background-clip:text;background-clip:text}.rel--laravel .rel__kicker{color:var(--red)}.rel--laravel .rel__hl li{border-color:#ff6b5b52}[data-theme=light] .rel--laravel .rel__num{background:linear-gradient(110deg,#d63a2a 0%,#ea5b2d 50%,#c9821f 100%);-webkit-background-clip:text;background-clip:text}.rel--symfony{background:radial-gradient(130% 150% at 0% 0%, #edebf517, transparent 52%), radial-gradient(90% 120% at 100% 100%, #5bd0ff0d, transparent 60%), var(--bg-card);border-color:#edebf552;box-shadow:0 34px 90px -46px #edebf540}.rel--symfony .rel__num{background:linear-gradient(110deg,#fff 0%,#c7c3d8 50%,#7c7891 100%);-webkit-background-clip:text;background-clip:text}.rel--symfony .rel__kicker{color:var(--text-2)}.rel--symfony .rel__hl li{border-color:var(--line-4)}[data-theme=light] .rel--symfony{border-color:#0b0b1247;box-shadow:0 34px 90px -50px #0b0b1259}[data-theme=light] .rel--symfony .rel__num{background:linear-gradient(110deg,#0b0b12 0%,#332f47 50%,#7c7891 100%);-webkit-background-clip:text;background-clip:text}.vr--laravel .vr-poster__num{background:linear-gradient(110deg,#ff6b5b 0%,#ff8a5b 48%,#ffd166 100%);-webkit-background-clip:text;background-clip:text}.vr--laravel .vr-hero__glow{background:radial-gradient(#ff6b5b38,#0000 62%)}.vr--laravel .vr-poster__kicker{color:var(--red)}[data-theme=light] .vr--laravel .vr-poster__num{background:linear-gradient(110deg,#d63a2a 0%,#ea5b2d 50%,#c9821f 100%);-webkit-background-clip:text;background-clip:text}.vr--symfony .vr-poster__num{background:linear-gradient(110deg,#fff 0%,#c7c3d8 50%,#7c7891 100%);-webkit-background-clip:text;background-clip:text}.vr--symfony .vr-hero__glow{background:radial-gradient(#edebf51f,#0000 62%)}.vr--symfony .vr-poster__kicker{color:var(--text-2)}[data-theme=light] .vr--symfony .vr-poster__num{background:linear-gradient(110deg,#0b0b12 0%,#332f47 50%,#7c7891 100%);-webkit-background-clip:text;background-clip:text}[data-theme=light] .vr--symfony .vr-hero__glow{background:radial-gradient(#0b0b1214,#0000 62%)}@media (width>=980px){.rel{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}}@media (width<=479px){.rel__legend{display:none}.rel__row{grid-template-columns:40px minmax(0,1fr) 78px}.rel__years{margin:0 88px 4px 50px}.rel__years span:nth-child(2n){display:none}.rel__until{font-size:10px}.rel__btn{flex:auto;justify-content:center}}@media (prefers-reduced-motion:reduce){.rel__a,.rel__s{animation:none}.rel__btn{transition:none}}.sb-top{max-width:1360px;margin:0 auto;padding:clamp(18px,2.6vw,28px) clamp(12px,3vw,32px) 0}.sb-top>.vr-crumbs{padding:0 4px}.sb-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:12px;padding:0 4px;display:flex}.sb-h1{font-family:var(--font-display);letter-spacing:clamp(-2px,-.3vw,-1px);margin:0;font-size:clamp(26px,4vw,44px);font-weight:700;line-height:1.04}.sb-lead{color:var(--text-3);text-wrap:pretty;max-width:640px;margin:10px 0 0;font-size:clamp(14.5px,1.8vw,17px);font-weight:500;line-height:1.55}.sb-pills{flex-wrap:wrap;gap:8px;display:flex}.sb-pill{font-family:var(--font-mono);letter-spacing:1px;color:var(--text-5);border:1px solid var(--line-3);border-radius:7px;padding:6px 9px;font-size:10.5px}.sb-pill--ok{color:var(--green)}.sb-ide{border:1px solid var(--ide-line-2);background:var(--ide-bg);color:var(--ide-text);border-radius:clamp(16px,2vw,22px);margin-top:clamp(16px,2.4vw,22px);scroll-margin-top:96px;overflow:hidden;box-shadow:0 30px 80px #00000059}.sb-grow{flex:1}.sb-lime{color:var(--ide-lime)}.sb-narrow{display:none}.sb-scroll{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent}.sb-scroll::-webkit-scrollbar{width:8px;height:8px}.sb-scroll::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:8px}.sb-btn{border:1px solid var(--ide-line-2);min-height:44px;color:var(--ide-text-2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:0 13px;font-family:inherit;font-size:13px;font-weight:700;display:inline-flex}.sb-btn:hover{color:var(--ide-text);border-color:#fff3}.sb-btn.is-on{background:var(--ide-fill-2);color:var(--ide-text)}.sb-btn:focus-visible,.sb-ver:focus-visible,.sb-example:focus-visible,.sb-tabs button:focus-visible,.sb-switch:focus-visible{outline:2px solid var(--ide-lime);outline-offset:2px}.sb-btn--run{background:var(--ide-lime);color:#09090f;border:none;font-weight:800}.sb-btn--run:hover{color:#09090f;filter:brightness(1.06)}.sb-btn--run.is-busy{opacity:.55;cursor:default}.sb-btn--stop i{background:currentColor;border-radius:2px;width:9px;height:9px}.sb-btn--stop:disabled{opacity:.4;cursor:default}.sb-btn--stop.is-live{color:var(--ide-red);border-color:#ff6b5b73}.sb-btn--ghost{background:var(--ide-fill);color:var(--ide-text);margin-top:14px}.sb-key{font-family:var(--font-mono);opacity:.7;font-size:11px}.sb-bar{background:var(--ide-bar);border-bottom:1px solid var(--ide-line);align-items:center;gap:8px;min-height:58px;padding:0 8px 0 16px;display:flex}.sb-bar .sb-btn{padding:0 12px}.sb-dots{flex:none;gap:7px;display:flex}.sb-dots i{border-radius:50%;width:11px;height:11px}.sb-file{border-left:1px solid var(--ide-line);border-right:1px solid var(--ide-line);background:var(--ide-bg);font-family:var(--font-mono);color:var(--ide-text-2);align-self:stretch;align-items:center;gap:8px;margin-left:8px;padding:0 14px;font-size:12.5px;display:inline-flex}.sb-file i{background:var(--ide-violet);border-radius:2px;width:7px;height:7px}.sb-file b{background:var(--ide-amber);border-radius:50%;width:6px;height:6px}.sb-settings{background:var(--ide-panel);border-bottom:1px solid var(--ide-line);flex-wrap:wrap;align-items:center;gap:clamp(14px,3vw,32px);padding:10px 16px;display:flex}.sb-switch{cursor:pointer;min-height:44px;font-family:var(--font-mono);color:var(--ide-text-2);background:0 0;border:none;align-items:center;gap:10px;padding:0;font-size:12.5px;display:flex}.sb-switch__track{background:var(--ide-line-2);border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.sb-switch__track span{background:var(--ide-text);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.sb-switch__track.is-on{background:var(--ide-violet)}.sb-switch__track.is-on span{left:18px}.sb-levels{align-items:center;gap:10px;display:flex}.sb-levels>span{font-family:var(--font-mono);letter-spacing:1px;color:var(--ide-muted);font-size:11px}.sb-levels div{border:1px solid var(--ide-line-2);border-radius:10px;display:flex;overflow:hidden}.sb-levels button{min-height:40px;color:var(--ide-muted);cursor:pointer;font-family:var(--font-mono);background:0 0;border:none;padding:0 13px;font-size:12px}.sb-levels button[aria-checked=true]{background:var(--ide-fill-2);color:var(--ide-text)}.sb-versions{border-bottom:1px solid var(--ide-line);flex-wrap:wrap;align-items:center;gap:clamp(10px,2vw,20px);padding:12px 16px;display:flex}.sb-picker{flex:1;align-items:start;min-width:min(100%,300px);display:grid;position:relative}.sb-picker__track,.sb-picker__fill{height:2px;position:absolute;top:14px}.sb-picker__track{background:var(--ide-line-2)}.sb-picker__fill{background:linear-gradient(90deg, var(--ide-violet), var(--ide-lime));transition:width .25s}.sb-ver{cursor:pointer;min-height:52px;font-family:var(--font-mono);color:var(--ide-muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex;position:relative}.sb-ver i{z-index:1;background:var(--ide-bg);border:2px solid var(--ide-line-2);border-radius:50%;width:12px;height:12px;margin-top:9px;transition:all .2s;position:relative}.sb-ver b{font-size:13px;font-weight:700}.sb-ver small{color:var(--ide-faint);letter-spacing:.5px;font-size:9.5px}.sb-ver.is-past{color:var(--ide-text-2)}.sb-ver.is-past i{background:var(--ide-violet);border-color:var(--ide-violet)}.sb-ver.is-on{color:var(--ide-lime)}.sb-ver.is-on i{background:var(--ide-lime);border:none;width:18px;height:18px;margin-top:6px;box-shadow:0 0 0 5px #d9ff5729,0 0 18px #d9ff5773}.sb-examples{border-bottom:1px solid var(--ide-line);gap:7px;padding:10px 16px;display:flex;overflow-x:auto}.sb-example{border:1px solid var(--ide-line-2);min-height:40px;color:var(--ide-text-3);cursor:pointer;font-family:var(--font-mono);white-space:nowrap;background:0 0;border-radius:10px;flex:none;padding:0 13px;font-size:12.5px}.sb-example:hover{color:var(--ide-text)}.sb-example.is-on{color:var(--ide-text);background:#8a7dff24;border-color:#8a7dff8c}.sb-grid{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.sb-main{flex-direction:column;min-width:0;display:flex}.sb-editor{--sb-fs:14px;--sb-lh:22px;background:var(--ide-bg);min-height:220px;max-height:440px;position:relative;overflow:auto}.sb-editor__in{width:max-content;min-width:100%;min-height:100%;display:flex}.sb-gutter{z-index:2;background:var(--ide-gutter-bg);border-right:1px solid var(--ide-line);text-align:right;font-family:var(--font-mono);font-size:var(--sb-fs);line-height:var(--sb-lh);color:var(--ide-gutter);-webkit-user-select:none;user-select:none;flex:none;padding:14px 12px 14px 14px;position:sticky;left:0}.sb-gutter .is-err{color:var(--ide-red)}.sb-code{flex:1;min-width:0;position:relative}.sb-pre,.sb-ta{font-family:var(--font-mono);font-size:var(--sb-fs);line-height:var(--sb-lh);white-space:pre;tab-size:4;font-variant-ligatures:none;margin:0;padding:14px 18px 14px 14px}.sb-pre{color:var(--ide-text-2);pointer-events:none}.sb-pre>div{min-height:var(--sb-lh)}.sb-pre .is-err{box-shadow:inset 2px 0 0 var(--ide-red);background:#ff6b5b14}.sb-ta{resize:none;color:#0000;-webkit-text-fill-color:transparent;width:100%;height:100%;caret-color:var(--ide-lime);background:0 0;border:none;outline:none;position:absolute;inset:0;overflow:hidden}.sb-ta::selection{background:var(--ide-sel);color:#0000}.hl-kw{color:var(--ide-violet-l)}.hl-str{color:var(--ide-green)}.hl-var{color:var(--ide-blue)}.hl-num{color:var(--ide-orange)}.hl-com{color:var(--ide-faint);font-style:italic}.hl-tag{color:var(--ide-violet)}.hl-fn{color:var(--ide-amber)}.hl-ty{color:var(--ide-lime)}.hl-op{color:var(--ide-text-3)}@media (pointer:coarse),(width<=979px){.sb-editor{--sb-fs:16px;--sb-lh:25px;max-height:360px}}.sb-runbar{background:var(--ide-bar);border-top:1px solid var(--ide-line);border-bottom:1px solid var(--ide-line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.sb-status{font-family:var(--font-mono);color:var(--ide-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.sb-status .is-main{color:var(--ide-text-2)}.sb-status .is-strict{color:var(--ide-violet-l)}.sb-status .is-faint{color:var(--ide-faint)}.sb-status__dot{background:var(--ide-faint);border-radius:50%;width:7px;height:7px}.sb-status__dot.is-ok{background:var(--ide-green)}.sb-status__dot.is-bad{background:var(--ide-red)}.sb-status__dot.is-load{background:var(--ide-amber);animation:1s ease-in-out infinite sbPulse}.sb-status__dot.is-run{background:var(--ide-lime);animation:1s ease-in-out infinite sbPulse}.sb-console{background:var(--ide-panel);min-height:170px;max-height:420px;font-family:var(--font-mono);overflow:auto}.sb-state{padding:18px;animation:.16s sbIn}.sb-state__title{color:var(--ide-text);align-items:center;gap:10px;font-size:13px;display:flex}.sb-state__text{font-family:var(--font-sans);color:var(--ide-text-3);max-width:520px;margin:8px 0 0;font-size:13.5px;line-height:1.6}.sb-idle{flex-wrap:wrap;align-items:flex-start;gap:16px;padding:22px 18px;display:flex}.sb-idle>div{flex:1;min-width:220px}.sb-idle__mark{color:var(--ide-violet);font-size:22px;line-height:1}.sb-red-dot{background:var(--ide-red);border-radius:50%;width:8px;height:8px}.sb-load__head{color:var(--ide-text);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.sb-load__head .sb-lime{font-size:12px}.sb-cells{grid-template-columns:repeat(32,1fr);gap:3px;margin-top:14px;display:grid}.sb-cells span{background:var(--ide-fill-2);border-radius:3px;height:14px;transition:background .15s}.sb-cells span.is-on{background:var(--ide-lime)}.sb-cells span.is-on.is-violet{background:var(--ide-violet)}.sb-steps{flex-direction:column;gap:7px;margin-top:16px;display:flex}.sb-steps div{color:var(--ide-faint);align-items:center;gap:10px;font-size:12.5px;display:flex}.sb-steps div.is-on{color:var(--ide-text)}.sb-steps div.is-done{color:var(--ide-green)}.sb-steps i{text-align:center;width:16px;font-style:normal}.sb-steps small{color:var(--ide-faint);font-size:12px}.sb-scan{background:var(--ide-line);border-radius:2px;height:2px;position:relative;overflow:hidden}.sb-scan span{background:linear-gradient(90deg, transparent, var(--ide-lime), transparent);width:40%;animation:1.1s linear infinite sbScan;position:absolute;inset:0}.sb-ask{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.sb-out{padding:14px 18px 6px;animation:.16s sbIn}.sb-out small{letter-spacing:1.4px;color:var(--ide-faint);font-size:10px}.sb-out pre{font-family:var(--font-mono);color:var(--ide-text);white-space:pre-wrap;word-break:break-word;margin:8px 0 0;font-size:13.5px;line-height:1.7}.sb-out--empty{color:var(--ide-faint);font-size:12.5px}.sb-diags{flex-direction:column;gap:8px;padding:10px 14px 14px;display:flex}.sb-diag{border:1px solid var(--ide-line-2);border-radius:12px;padding:11px 13px}.sb-diag__head{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.sb-diag__level{letter-spacing:.8px;border-radius:6px;padding:3px 7px;font-size:10.5px;font-weight:700}.sb-diag__where{color:var(--ide-muted);font-size:11.5px}.sb-diag__msg{color:var(--ide-text-2);word-break:break-word;white-space:pre-wrap;margin-top:7px;font-size:13px;line-height:1.6}.sb-diag.is-fatal-error,.sb-diag.is-parse-error{background:#ff6b5b12;border-color:#ff6b5b59}.sb-diag.is-fatal-error .sb-diag__level,.sb-diag.is-parse-error .sb-diag__level{background:var(--ide-red);color:#09090f}.sb-diag.is-warning{background:#ffd1660d;border-color:#ffd16647}.sb-diag.is-warning .sb-diag__level{color:var(--ide-amber);border:1px solid #ffd16680}.sb-diag.is-notice{border-color:#5bd0ff38}.sb-diag.is-notice .sb-diag__level{color:var(--ide-blue);border:1px solid #5bd0ff66}.sb-diag.is-deprecated{border:1px dashed #b9afff59}.sb-diag.is-deprecated .sb-diag__level{color:var(--ide-violet-l);border:1px dashed #b9afff8c}.sb-diag.is-stopped{background:var(--ide-fill)}.sb-diag.is-stopped .sb-diag__level{background:var(--ide-text-3);color:#09090f}.sb-diag__hint{border-top:1px dashed var(--ide-line-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.sb-diag__hint span{font-family:var(--font-sans);color:var(--ide-lime);font-size:13px;font-weight:700}.sb-diag__hint button{min-height:44px;color:var(--ide-lime);font-family:var(--font-mono);cursor:pointer;background:#d9ff5714;border:1px solid #d9ff5766;border-radius:10px;padding:0 13px;font-size:12.5px;font-weight:700}.sb-cmp__bar{border-bottom:1px solid var(--ide-line);color:var(--ide-muted);align-items:center;gap:10px;padding:8px 16px;font-size:11px;display:flex}.sb-cmp__bar .sb-lime{letter-spacing:1.2px}.sb-x{border:1px solid var(--ide-line-2);width:44px;height:44px;color:var(--ide-text-3);cursor:pointer;background:0 0;border-radius:10px}.sb-cmp{background:var(--ide-line);grid-template-columns:minmax(0,1fr);gap:1px;display:grid}.sb-cmp__col{background:var(--ide-panel);min-width:0}.sb-cmp__head{border-bottom:1px solid var(--ide-line);align-items:center;gap:8px;padding:10px 14px;display:flex}.sb-cmp__head b{color:var(--ide-text-2);font-size:12.5px}.sb-cmp__head small{letter-spacing:1px;font-size:10px}.sb-cmp__head .is-ok{color:var(--ide-green)}.sb-cmp__head .is-bad{color:var(--ide-red)}.sb-cmp__rows{padding:10px 0 12px}.sb-cmp__rows div{white-space:pre-wrap;word-break:break-word;color:var(--ide-text);padding:2px 14px;font-size:12.5px;line-height:1.65}.sb-cmp__rows .is-diff{background:var(--ide-diff);box-shadow:inset 2px 0 0 var(--ide-lime)}.sb-cmp__rows .is-err{color:var(--ide-red)}.sb-panel{background:var(--ide-panel);border-top:1px solid var(--ide-line);flex-direction:column;min-width:0;display:flex}.sb-tabs{border-bottom:1px solid var(--ide-line);display:flex}.sb-tabs button{min-height:46px;color:var(--ide-muted);cursor:pointer;font-family:var(--font-mono);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:0 10px;font-size:12px}.sb-tabs button.is-on{color:var(--ide-text);border-bottom-color:var(--ide-lime)}.sb-tabs button.is-on.is-old{border-bottom-color:var(--ide-orange)}.sb-panel__body{max-height:520px;padding:14px;overflow:auto}.sb-panel__list{flex-direction:column;gap:8px;display:flex}.sb-panel__foot{color:var(--ide-muted);margin:0;padding:10px 2px 0;font-size:12px;line-height:1.55}@media (width>=980px){.sb-grid{grid-template-columns:minmax(0,1fr) 320px}.sb-main{border-right:1px solid var(--ide-line)}.sb-panel{border-top:none}.sb-panel__body{flex:1 1 0;min-height:0;max-height:none}.sb-cmp{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=979px){.sb-wide{display:none}.sb-narrow{display:inline}.sb-console{min-height:150px}}@media (width<=420px){.sb-file,.sb-dots{display:none}.sb-bar{gap:6px;padding-left:8px}.sb-bar .sb-btn{padding:0 10px}}.sb-section{padding-top:clamp(44px,6vw,68px);scroll-margin-top:96px}.sb-sub{color:var(--text-5);max-width:680px;margin:12px 0 0;font-size:15px;font-weight:500;line-height:1.65}.sb-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px;margin-top:22px;display:grid}.sb-card{text-align:left;border:1px solid var(--line-2);background:var(--bg-card);cursor:pointer;font:inherit;color:var(--text);border-radius:20px;flex-direction:column;padding:0;transition:transform .16s,border-color .16s;display:flex;overflow:hidden}.sb-card:hover{border-color:var(--tint-violet-b2);transform:translateY(-3px)}.sb-card:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.sb-card__text{flex-direction:column;padding:18px 20px 14px;display:flex}.sb-card__top{align-items:center;gap:10px;display:flex}.sb-card__top b{font-family:var(--font-mono);color:var(--violet-ink);border:1px solid var(--tint-violet-b);border-radius:7px;padding:3px 8px;font-size:12px;font-weight:700}.sb-card__top small{font-family:var(--font-mono);color:var(--faint);font-size:11px}.sb-card__name{font-family:var(--font-display);letter-spacing:-.6px;color:var(--text);margin-top:14px;font-size:17px;font-weight:500}.sb-card__desc{color:var(--text-5);text-wrap:pretty;margin-top:7px;font-size:13.5px;font-weight:500;line-height:1.55}.sb-card__code{background:var(--ide-bg);border-top:1px solid var(--ide-line);min-height:calc(6.8em + 24px);font-family:var(--font-mono);color:var(--ide-text-2);font-variant-ligatures:none;margin-top:auto;padding:12px 16px;font-size:12px;line-height:1.7;display:block;overflow:hidden}.sb-card__code span{white-space:pre;text-overflow:ellipsis;display:block;overflow:hidden}.sb-how{grid-template-columns:minmax(0,1fr);gap:clamp(16px,2.4vw,24px);display:grid}@media (width>=980px){.sb-how{grid-template-columns:1fr 1fr}}.sb-box{border:1px solid var(--line-2);background:var(--bg-card);border-radius:22px;padding:clamp(20px,3vw,30px)}.sb-box p{color:var(--text-3);text-wrap:pretty;margin:14px 0 0;font-size:15px;font-weight:500;line-height:1.7}.sb-limits{flex-direction:column;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.sb-limits li{color:var(--text-3);align-items:flex-start;gap:12px;font-size:14.5px;font-weight:500;line-height:1.6;display:flex}.sb-limits li>span:first-child{font-family:var(--font-mono);color:var(--orange);flex:none;margin-top:2px;font-size:12px}.sb-limits b{color:var(--text);font-weight:700}.sb-faq{background:var(--line-2);border:1px solid var(--line-2);border-radius:20px;flex-direction:column;gap:1px;margin-top:20px;display:flex;overflow:hidden}.sb-faq>div{background:var(--bg-card);padding:18px 20px}.sb-faq h3{color:var(--text);margin:0;font-size:16px;font-weight:800;line-height:1.4}.sb-faq p{color:var(--text-3);text-wrap:pretty;max-width:820px;margin:9px 0 0;font-size:14.5px;font-weight:500;line-height:1.7}.sb-related{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1px;margin-top:16px;display:grid;overflow:hidden}.sb-related a{background:var(--bg-card);color:var(--text);padding:18px 20px;display:block}.sb-related a:hover{background:var(--bg-hover);color:var(--text)}.sb-related small{font-family:var(--font-mono);letter-spacing:1.3px;font-size:10px;display:block}.sb-related b{margin-top:9px;font-size:15px;font-weight:700;display:block}.sb-related span{font-family:var(--font-mono);color:var(--faint);overflow-wrap:anywhere;margin-top:8px;font-size:11px;display:block}.sb-credit{color:var(--text-6);margin:18px 0 0;font-size:12.5px;font-weight:500}@keyframes sbIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes sbPulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes sbScan{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.sb-state,.sb-out,.sb-scan span,.sb-status__dot,.sb-card{transition:none!important;animation:none!important}}.hero-grid{pointer-events:none;background-image:linear-gradient(var(--fill) 1px, transparent 1px), linear-gradient(90deg, var(--fill) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 90% at 20% 0,#000 20%,#0000 75%);mask-image:radial-gradient(80% 90% at 20% 0,#000 20%,#0000 75%)}.hero-glow{pointer-events:none;background:radial-gradient(ellipse at center, var(--glow-violet), transparent 62%);filter:blur(20px);width:900px;height:640px;animation:var(--animate-glow);position:absolute;top:-320px;left:-140px}.chip{cursor:pointer;font-family:var(--font-sans);background:var(--fill-2);color:var(--color-ink-nav);border:1px solid var(--line-dash);border-radius:10px;align-items:center;gap:7px;min-height:36px;padding:8px 13px;font-size:13px;font-weight:700;line-height:1.2;transition:all .16s;display:inline-flex}.chip:hover{color:var(--color-ink);border-color:var(--line-5)}.chip.is-active{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.chip.is-active:hover{color:var(--chip-on-fg)}.chip.is-empty{opacity:.38;cursor:not-allowed}.chip .count{font-family:var(--font-mono);opacity:.75;font-size:11px}.card{background:var(--color-card);border:1px solid var(--line-2);color:var(--color-ink);border-radius:20px;transition:transform .18s,border-color .18s,background .18s;display:block}.card:hover{border-color:var(--line-5);background:var(--color-card-hover);color:var(--color-ink);transform:translateY(-3px)}.btn-primary{background:var(--cta);height:46px;color:var(--on-cta);cursor:pointer;border:none;border-radius:12px;place-items:center;padding:0 20px;font-size:14px;font-weight:800;transition:background .16s;display:inline-grid}.btn-primary:hover{background:var(--cta-hover);color:var(--on-cta)}.btn-ghost{border:1px solid var(--line-4);background:var(--fill);height:46px;color:var(--color-ink);cursor:pointer;border-radius:12px;place-items:center;padding:0 18px;font-size:14px;font-weight:700;transition:background .16s,border-color .16s;display:inline-grid}.btn-ghost:hover{background:var(--line);color:var(--color-ink)}.mono-label{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--color-faint);text-transform:uppercase;font-size:10.5px}.tag{background:var(--fill-3);border:1px solid var(--line-2);color:var(--color-ink-3);border-radius:7px;padding:5px 9px;font-size:12px;font-weight:600;display:inline-block}.prose-job{color:var(--color-ink-2);font-size:15.5px;font-weight:500;line-height:1.7}.prose-job p{margin:0 0 14px}.prose-job h2,.prose-job h3,.prose-job strong{color:var(--color-ink)}.prose-job h2,.prose-job h3{font-family:var(--font-display);letter-spacing:-.4px;margin:24px 0 10px;font-size:17px;font-weight:600}.prose-job ul,.prose-job ol{margin:0 0 14px;padding-left:20px}.prose-job li{margin:4px 0}.prose-job code{font-family:var(--font-mono);background:var(--line-soft);border-radius:5px;padding:1px 5px;font-size:13px}.prose-job a{color:var(--color-violet-light)}.prose-job pre,.code-block{background:var(--bg-panel);border:1px solid var(--line-2);border-radius:14px;margin:0 0 14px;padding:14px 16px;overflow-x:auto}.prose-job pre code,.code-block code{font-family:var(--font-mono);color:var(--color-ink);white-space:pre;background:0 0;padding:0;font-size:13px;line-height:1.65;display:block}.prose-article{color:var(--text-2);font-size:17px;font-weight:450;line-height:1.75}.prose-article p{text-wrap:pretty;margin:0 0 26px}.prose-article h2{font-family:var(--font-display);letter-spacing:-1.1px;color:var(--color-ink);margin:38px 0 18px;scroll-margin-top:96px;font-size:clamp(21px,2.6vw,27px);font-weight:600;line-height:1.2}.prose-article h3{font-family:var(--font-display);letter-spacing:-.7px;color:var(--color-ink);margin:30px 0 14px;scroll-margin-top:96px;font-size:clamp(18px,2vw,21px);font-weight:600}.prose-article ul,.prose-article ol{margin:0 0 26px;padding-left:22px}.prose-article li{margin:0 0 11px;font-size:16.5px;line-height:1.7}.prose-article li::marker{color:var(--color-violet)}.prose-article blockquote{border-left:3px solid var(--violet);color:var(--color-ink);margin:0 0 26px;padding:4px 0 4px 20px;font-size:18px;font-style:italic;font-weight:500;line-height:1.65}.prose-article blockquote p{margin:0}.prose-article strong{color:var(--color-ink)}.prose-article a{color:var(--color-violet-light);text-underline-offset:3px;text-decoration:underline}.prose-article a:hover{color:var(--lime-ink)}.prose-article code{font-family:var(--font-mono);background:var(--line-soft);border-radius:6px;padding:1px 6px;font-size:14px}.prose-article pre{background:var(--bg-card);border:1px solid var(--line-2);border-radius:16px;margin:0 0 26px;padding:20px;overflow-x:auto}.prose-article pre code{color:var(--text-2);white-space:pre;background:0 0;padding:0;font-size:13px;line-height:1.75;display:block}.prose-article table{border-collapse:collapse;width:100%;margin:0 0 26px;font-size:15px}.prose-article th,.prose-article td{text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top;padding:10px 12px}.prose-docs{font-size:16.5px}.prose-docs h4{font-family:var(--font-display);letter-spacing:-.4px;color:var(--color-ink);margin:26px 0 12px;scroll-margin-top:96px;font-size:17px;font-weight:600}.prose-docs h2{margin-top:44px}.prose-docs blockquote{border-left:2px solid var(--violet);background:var(--glow-violet-soft);color:var(--text-2);border-radius:16px;padding:15px 18px;font-size:15px;font-style:normal;font-weight:450;line-height:1.65}.prose-docs blockquote:before{content:"ЗВЕРНІТЬ УВАГУ";font-family:var(--font-mono);letter-spacing:1.6px;color:var(--violet-light);margin-bottom:9px;font-size:10.5px;display:block}.prose-docs .untranslated{color:var(--text-5);border-left:2px solid #ff8a5b59;padding-left:16px;font-size:16px;font-style:italic}.prose-article th{font-family:var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--color-faint);font-size:11px;font-weight:500}.prose-article hr{border:0;border-top:1px solid var(--line-2);margin:34px 0}.toc-link{color:var(--text-6);border-left:2px solid var(--line-dash);padding-left:12px;font-size:13.5px;font-weight:600;line-height:1.4;display:block}.toc-link.is-sub{padding-left:24px;font-size:12.5px}.toc-link:hover,.toc-link.is-active{color:var(--lime-ink);border-color:var(--lime-ink)}.card-section{margin-top:26px}.card-section-label{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:10px;font-size:10.5px;display:flex}.card-section-label:after{content:"";background:var(--line-2);flex:1;height:1px}.card-check,.card-cross{color:var(--color-ink-2);align-items:flex-start;gap:12px;font-size:15px;font-weight:500;line-height:1.6;display:flex}.card-check+.card-check,.card-cross+.card-cross{margin-top:10px}.card-check:before,.card-cross:before{font-family:var(--font-mono);border-radius:7px;flex:none;place-items:center;width:22px;height:22px;margin-top:2px;font-size:12px;font-weight:700;display:grid}.card-check:before{content:"✓";color:var(--on-accent);background:var(--color-lime)}.card-cross:before{content:"✗";color:var(--red);background:#ff6b5b24;border:1px solid #ff6b5b59}.card-asked{color:var(--color-ink-3);align-items:flex-start;gap:10px;font-size:14.5px;font-weight:500;line-height:1.55;display:flex}.card-asked:before{content:"“";color:var(--color-violet-light);font-family:var(--font-display);margin-top:1px;font-size:22px;line-height:1}.card-asked+.card-asked{margin-top:8px}.follow-up{border:1px solid var(--line-2);background:var(--fill);border-radius:14px}.follow-up+.follow-up{margin-top:8px}.follow-up button{text-align:left;width:100%;color:var(--color-ink);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:13px 16px;font-size:14.5px;font-weight:600;display:flex}.follow-up button:hover{color:var(--lime-ink)}.follow-up-answer{color:var(--color-ink-2);padding:0 16px 14px;font-size:14.5px;font-weight:500;line-height:1.65}.follow-up-answer:before{content:"Відповідь";font-family:var(--font-mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--lime-ink);margin-bottom:6px;font-size:10px;display:block}.page-h1{font-family:var(--font-display);letter-spacing:clamp(-2.4px,-.32vw,-1px);margin:0;font-size:clamp(28px,4.8vw,58px);font-weight:700;line-height:1.03}.section-h2{font-family:var(--font-display);letter-spacing:-1.1px;margin:0;font-size:clamp(21px,2.8vw,27px);font-weight:600}.lead{color:var(--color-ink-3);margin:0;font-size:clamp(15px,2vw,18px);font-weight:500;line-height:1.6}.hp-proj{border:1px solid var(--tint-violet-b2);background:radial-gradient(ellipse 55% 65% at 100% 0%, var(--glow-violet-soft), transparent 70%), linear-gradient(165deg, var(--panel-violet-a), var(--bg-card) 62%);box-shadow:0 34px 90px -46px var(--glow-violet);border-radius:26px;position:relative;overflow:hidden}.hp-proj:after{content:"";pointer-events:none;background:linear-gradient(90deg, var(--violet), var(--lime) 55%, transparent 90%);height:2px;position:absolute;top:0;left:0;right:0}.hp-proj:before{content:"";pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 80% at 0 0,#000 0%,#0000 75%);mask-image:radial-gradient(70% 80% at 0 0,#000 0%,#0000 75%)}.hp-proj__in{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(24px,3.6vw,44px);padding:clamp(22px,3.6vw,40px);display:grid;position:relative}.hp-log{margin:0;padding:0;list-style:none}.hp-log__item{grid-template-columns:22px minmax(0,1fr);gap:14px;padding-bottom:22px;display:grid;position:relative}.hp-log__item:before{content:"";background:var(--line-3);width:2px;position:absolute;top:20px;bottom:-2px;left:10px}.hp-log__item:last-child{padding-bottom:0}.hp-log__item:last-child:before{display:none}.hp-log__item--ghost:before,.hp-log__item--open:before{border-left:2px dashed var(--line-dash);background:0 0;width:0}.hp-log__item--open:last-child:before{display:none}.hp-log__dot{border:2px solid var(--bg-card);width:22px;height:22px;box-shadow:0 0 0 1px var(--line-4);border-radius:50%;place-items:center;margin-top:1px;display:grid}.hp-log__dot i{background:var(--on-accent);opacity:.55;border-radius:50%;width:8px;height:8px}.hp-log__name{font-family:var(--font-display);letter-spacing:-.6px;color:var(--color-ink);font-size:clamp(17px,1.8vw,20px);font-weight:700;line-height:1.25}.hp-log__name:hover{color:var(--lime-ink)}.hp-log__chips{flex-wrap:wrap;gap:6px;margin-top:11px;display:flex}.hp-chip{font-family:var(--font-mono);border:1px solid var(--line-3);background:var(--fill);color:var(--color-ink-2);border-radius:7px;padding:5px 9px;font-size:11px;line-height:1}.hp-log__author{border:1px solid var(--tint-violet-b);background:var(--panel-violet-b);max-width:100%;color:var(--color-ink);border-radius:999px;align-items:center;gap:10px;margin-top:14px;padding:5px 16px 5px 5px;display:inline-flex}a.hp-log__author:hover{border-color:var(--tint-violet-b3);color:var(--color-ink)}.hp-log__avatar{width:34px;height:34px;font-family:var(--font-display);color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid;overflow:hidden}.hp-log__avatar img{object-fit:cover;width:100%;height:100%}.hp-log__who{flex-direction:column;min-width:0;line-height:1.2;display:flex}.hp-log__who b{font-size:14.5px;font-weight:700}.hp-log__who small{color:var(--violet-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.hp-log__open{font-family:var(--font-mono);color:var(--green);vertical-align:middle;align-items:center;gap:6px;margin:13px 0 0 10px;font-size:11px;display:inline-flex}.hp-log__open:before{content:"";background:var(--green);border-radius:50%;width:7px;height:7px}.hp-log__pitch{color:var(--color-ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:14.5px;font-weight:500;line-height:1.55;display:-webkit-box;overflow:hidden}.hp-term{border:1px solid var(--tint-violet-b2);background:var(--bg-panel);box-shadow:0 26px 70px -24px var(--glow-violet);border-radius:18px;overflow:hidden}.hp-term__bar{border-bottom:1px solid var(--line-2);background:var(--panel-violet-b);align-items:center;gap:7px;padding:12px 16px;display:flex}.hp-term__bar span{border-radius:50%;width:10px;height:10px}.hp-term__bar b{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--muted);margin-left:8px;font-size:10.5px;font-weight:500}.hp-term__body{font-family:var(--font-mono);color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:18px 18px 20px;font-size:clamp(12px,1.3vw,13.5px);line-height:2}.hp-t-prompt{color:var(--lime-ink);font-weight:700}.hp-t-cmd{color:var(--text);font-weight:700}.hp-t-sub,.hp-t-url{color:var(--violet-light)}.hp-t-q{color:var(--amber);font-weight:700}.hp-t-key{color:var(--blue)}.hp-t-str{color:var(--green)}.hp-t-dim{color:var(--text-5)}.hp-t-ok2{color:var(--lime-ink);font-weight:700}[data-theme=light] .hp-term{--bg-panel:#0b0a11;--panel-violet-b:#1a1636;--line-2:#ffffff14;--tint-violet-b2:#8a7dff80;--text:#edebf5;--text-2:#c7c3d8;--text-5:#8b879e;--muted:#6f6b85;--lime-ink:#d9ff57;--violet-light:#b9afff;--green:#7be0a6;--blue:#5bd0ff;--amber:#ffd166}.hp-term__cursor{vertical-align:-3px;background:var(--lime-ink);width:8px;height:1.1em;animation:1.1s step-end infinite hpBlink;display:inline-block}@media (prefers-reduced-motion:reduce){.hp-term__cursor{animation:none}}.container-x{max-width:1420px;margin:0 auto;padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px)}.section-y{padding-top:clamp(28px,5vw,44px);padding-bottom:clamp(28px,5vw,44px)}.eco-card{background:linear-gradient(165deg, var(--eco-tint), var(--bg-card) 72%)}.eco-hero-bg{background:linear-gradient(160deg, var(--eco-tint), var(--bg) 66%)}[data-theme=light] .eco-card{background:linear-gradient(165deg, var(--eco-color), var(--bg-card) 72%)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .eco-card{background:linear-gradient(165deg, color-mix(in srgb, var(--eco-color) 18%, var(--bg-card)), var(--bg-card) 72%)}}[data-theme=light] .eco-hero-bg{background:linear-gradient(160deg, var(--eco-color), var(--bg) 66%)}@supports (color:color-mix(in lab, red, red)){[data-theme=light] .eco-hero-bg{background:linear-gradient(160deg, color-mix(in srgb, var(--eco-color) 16%, var(--bg)), var(--bg) 66%)}}.art-tags{flex-wrap:wrap;gap:6px;display:flex}.art-tag{border:1px solid var(--line-3);background:var(--fill);min-height:34px;color:var(--text-4);border-radius:10px;align-items:center;gap:7px;padding:5px 11px;font-size:12.5px;font-weight:600;line-height:1.2;transition:color .14s,border-color .14s,background .14s,transform .14s;display:inline-flex}.art-tag b{font-family:var(--font-mono);color:var(--text-5);font-size:10px;font-weight:600}.art-tag:hover{color:var(--text);border-color:var(--tint-violet-b2);background:var(--fill-3);transform:translateY(-1px)}.art-tag.is-hot{color:var(--text-2);border-color:var(--tint-violet-b);background:var(--violet)}@supports (color:color-mix(in lab, red, red)){.art-tag.is-hot{background:color-mix(in srgb, var(--violet) 9%, transparent)}}.art-tag.is-hot b{color:var(--violet-ink)}.art-tag.is-on{color:var(--on-violet);background:var(--violet);border-color:#0000}.art-tag.is-on b{color:inherit;opacity:.8}.art-tags__more{border:1px dashed var(--line-4);width:100%;min-height:42px;color:var(--violet-ink);cursor:pointer;background:0 0;border-radius:12px;margin-top:14px;font-size:13px;font-weight:700}.art-tags__more:hover{border-style:solid;border-color:var(--tint-violet-b2)}@media (prefers-reduced-motion:reduce){.art-tag{transition:none}}.exp-x{background:0 0;transition:background-color .15s}.exp-x:hover{background:var(--fill-3)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.left-0{left:0}.isolate{isolation:isolate}.z-60{z-index:60}.z-\[55\]{z-index:55}.container{width:100%}@media (width>=1021px){.container{max-width:1021px}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.list-item{display:list-item}.table{display:table}.h-full{height:100%}.max-h-\[calc\(100dvh-110px\)\]{max-height:calc(100dvh - 110px)}.min-h-screen{min-height:100vh}.w-full{width:100%}.w-max{width:max-content}.min-w-0{min-width:0}.flex-1{flex:1}.flex-none{flex:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.animate-pulse-dot{animation:var(--animate-pulse-dot)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[2px\]{gap:2px}.gap-\[5px\]{gap:5px}.gap-\[6px\]{gap:6px}.gap-\[7px\]{gap:7px}.gap-\[8px\]{gap:8px}.gap-\[9px\]{gap:9px}.gap-\[10px\]{gap:10px}.gap-\[11px\]{gap:11px}.gap-\[12px\]{gap:12px}.gap-\[13px\]{gap:13px}.gap-\[14px\]{gap:14px}.gap-\[16px\]{gap:16px}.gap-\[18px\]{gap:18px}.gap-\[22px\]{gap:22px}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:var(--spacing)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--tint-lime-b2\)\]{border-color:var(--tint-lime-b2)}.border-chip-on-border{border-color:var(--chip-on-border)}.border-cta{border-color:var(--cta)}.border-current{border-color:currentColor}.border-lime-ink{border-color:var(--lime-ink)}.border-warning{border-color:var(--orange)}.hairline-6{border-color:rgb(var(--ink-rgb) / calc(6 / 100 * var(--line-k)))}.hairline-7{border-color:rgb(var(--ink-rgb) / calc(7 / 100 * var(--line-k)))}.hairline-8{border-color:rgb(var(--ink-rgb) / calc(8 / 100 * var(--line-k)))}.hairline-10{border-color:rgb(var(--ink-rgb) / calc(10 / 100 * var(--line-k)))}.hairline-11{border-color:rgb(var(--ink-rgb) / calc(11 / 100 * var(--line-k)))}.hairline-12{border-color:rgb(var(--ink-rgb) / calc(12 / 100 * var(--line-k)))}.hairline-13{border-color:rgb(var(--ink-rgb) / calc(13 / 100 * var(--line-k)))}.hairline-14{border-color:rgb(var(--ink-rgb) / calc(14 / 100 * var(--line-k)))}.bg-\[var\(--glow-lime\)\]{background-color:var(--glow-lime)}.bg-bg{background-color:var(--bg)}.bg-card{background-color:var(--bg-card)}.bg-card-alt{background-color:var(--bg-card-2)}.bg-chip-on-bg{background-color:var(--chip-on-bg)}.bg-cta{background-color:var(--cta)}.bg-drawer{background-color:var(--bg-panel)}.bg-ink{background-color:var(--text)}.bg-lime{background-color:var(--lime)}.bg-transparent{background-color:#0000}.bg-violet{background-color:var(--violet)}.fill-3{background-color:rgb(var(--ink-rgb) / calc(3 / 100))}.fill-4{background-color:rgb(var(--ink-rgb) / calc(4 / 100))}.fill-5{background-color:rgb(var(--ink-rgb) / calc(5 / 100))}.p-0{padding:0}.pb-\[3px\]{padding-bottom:3px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-chip-on-fg{color:var(--chip-on-fg)}.text-deco{color:var(--dim)}.text-deco-2,.text-deco-3{color:var(--hair)}.text-faint{color:var(--text-6)}.text-figure{color:var(--figure)}.text-ink{color:var(--text)}.text-ink-2{color:var(--text-2)}.text-ink-3{color:var(--text-3)}.text-ink-3b{color:var(--text-5)}.text-ink-4{color:var(--muted)}.text-ink-4b{color:var(--text-6)}.text-ink-nav{color:var(--text-4)}.text-lime-ink{color:var(--lime-ink)}.text-on-accent{color:var(--on-accent)}.text-on-cta{color:var(--on-cta)}.text-on-violet{color:var(--on-violet)}.text-violet{color:var(--violet)}.text-violet-light{color:var(--violet-light)}.text-warning{color:var(--orange)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,transform\]{transition-property:border-color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\]{transition-property:left;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\[\.18s\]{--tw-duration:.18s;transition-duration:.18s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[wire\:model\=\"\'\+i\+\'\"\]{wire:model="'+i+'"}.\[wire\:model\=\\\"\'\+expression\+\'\\\"\]{wire:model=\""+expression+"\"}.\[wire\:model\]{wire:model}.\[wire\:transition\]{wire:transition}@media (hover:hover){.group-hover\:text-lime-hover:is(:where(.group):hover *){color:var(--lime-hover)}}.placeholder\:text-deco::placeholder{color:var(--dim)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-\[var\(--tint-violet-b3\)\]:focus-within{border-color:var(--tint-violet-b3)}@media (hover:hover){.hover\:-translate-y-\[2px\]:hover{--tw-translate-y:calc(2px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:-translate-y-\[3px\]:hover{--tw-translate-y:calc(3px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-\[rgba\(255\,138\,91\,\.5\)\]:hover{border-color:#ff8a5b80}.hover\:border-\[var\(--tint-lime-b2\)\]:hover{border-color:var(--tint-lime-b2)}.hover\:border-\[var\(--tint-violet-b2\)\]:hover{border-color:var(--tint-violet-b2)}.hover\:border-\[var\(--tint-violet-b3\)\]:hover{border-color:var(--tint-violet-b3)}.hover\:bg-\[var\(--fill-2\)\]:hover{background-color:var(--fill-2)}.hover\:bg-card-hover:hover{background-color:var(--bg-hover)}.hover\:bg-cta-hover:hover{background-color:var(--cta-hover)}.hover\:fill-8:hover{background-color:rgb(var(--ink-rgb) / calc(8 / 100))}.hover\:fill-10:hover{background-color:rgb(var(--ink-rgb) / calc(10 / 100))}.hover\:text-ink:hover{color:var(--text)}.hover\:text-lime-hover:hover{color:var(--lime-hover)}.hover\:text-lime-ink:hover{color:var(--lime-ink)}.hover\:text-on-cta:hover{color:var(--on-cta)}}@media (width>=1021px){.wide\:sticky{position:sticky}.wide\:block{display:block}.wide\:contents{display:contents}.wide\:flex{display:flex}.wide\:hidden{display:none}.wide\:inline-grid{display:inline-grid}.wide\:max-h-\[calc\(100dvh-110px\)\]{max-height:calc(100dvh - 110px)}.wide\:w-auto{width:auto}.wide\:flex-1{flex:1}.wide\:flex-none{flex:none}.wide\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.wide\:grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.wide\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.wide\:grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.wide\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.wide\:grid-cols-\[minmax\(0\,1\.6fr\)_minmax\(0\,280px\)\]{grid-template-columns:minmax(0,1.6fr) minmax(0,280px)}.wide\:grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.wide\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.wide\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.wide\:grid-cols-\[minmax\(0\,1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.wide\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.wide\:items-end{align-items:flex-end}.wide\:justify-end{justify-content:flex-end}.wide\:overflow-y-auto{overflow-y:auto}.wide\:overscroll-contain{overscroll-behavior:contain}.wide\:text-right{text-align:right}}@media (width>=1240px){.min-\[1240px\]\:block{display:block}.min-\[1240px\]\:flex{display:flex}.min-\[1240px\]\:hidden{display:none}.min-\[1240px\]\:inline-grid{display:inline-grid}}@media (width>=40rem){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-\[7px\]{gap:7px}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090f;--bg-card:#0c0b12;--bg-card-2:#0c0b13;--bg-hover:#101018;--bg-hover-2:#111019;--bg-panel:#0b0a11;--bg-deep:#12111b;--text:#edebf5;--text-2:#c7c3d8;--text-3:#9c98b0;--text-4:#a5a1b8;--text-5:#8b879e;--text-6:#7c7891;--muted:#6f6b85;--faint:#5c5872;--dim:#413e56;--hair:#3a3750;--violet:#8a7dff;--violet-ink:#8a7dff;--violet-light:#b9afff;--violet-deep:#5b4bd6;--lime:#d9ff57;--lime-ink:#d9ff57;--lime-hover:#eaff8c;--cta:#d9ff57;--cta-hover:#eaff8c;--on-cta:#09090f;--figure:#d9ff57;--green:#7be0a6;--orange:#ff8a5b;--blue:#5bd0ff;--red:#ff6b5b;--amber:#ffd166;--on-accent:#09090f;--on-violet:#09090f;--ink-solid:#edebf5;--on-ink:#09090f;--line:#ffffff12;--line-2:#ffffff14;--line-3:#ffffff1f;--line-4:#ffffff24;--line-5:#ffffff29;--line-soft:#ffffff0f;--line-dash:#ffffff1a;--fill:#ffffff08;--fill-2:#ffffff0a;--fill-3:#ffffff0d;--fill-hover:#ffffff17;--fill-strong:#ffffff26;--grid-line:#ffffff09;--header-bg:#09090fbf;--glow-violet:#8a7dff52;--glow-violet-soft:#8a7dff40;--glow-lime:#d9ff571f;--panel-violet-a:#171331;--panel-violet-b:#1a1636;--panel-lime-a:#1e2412;--panel-green-a:#122019;--panel-card-violet:#161327;--tint-violet-b:#8a7dff4d;--tint-violet-b2:#8a7dff80;--tint-violet-b3:#8a7dffa6;--tint-lime-b:#d9ff5747;--tint-lime-b2:#d9ff5773;--tint-lime-b3:#d9ff5799;--tint-lime-b4:#d9ff5766;--shadow-logo:0 6px 22px #8a7dff73;--shadow-cta:0 12px 40px #d9ff5733;--grad-h1-a:#8a7dff;--grad-h1-b:#b9afff;--grad-h1-c:#d9ff57;--swatch-lime:#d9ff57;--swatch-violet:#8a7dff;--swatch-violet-2:#b9afff;--swatch-green:#7be0a6;--swatch-orange:#ff8a5b;--swatch-blue:#5bd0ff;--swatch-amber:#ffd166;--swatch-red:#ff6b5b;--swatch-ink:#edebf5;--chip-on-bg:#edebf5;--chip-on-fg:#09090f;--chip-on-border:#edebf5;--band-bg:#0b0a11;--band-text:#3a3750;--h2-k:1;--h2-w:700;--tile-border:#ffffff14;--tile-shadow:none;--pv-fill:linear-gradient(165deg,#171331,#0c0b12 74%);--pl-fill:linear-gradient(165deg,#1e2412,#0c0b12 74%);--pv-top:none;--pl-top:none;--featured-top:inset 0 3px 0 #8a7dff;--focus-ring:0 0 0 3px #8a7dff73;--ide-bg:#09080f;--ide-panel:#0d0c15;--ide-bar:#0b0a12;--ide-gutter-bg:#0b0a12;--ide-line:#ffffff12;--ide-line-2:#ffffff1f;--ide-fill:#ffffff0a;--ide-fill-2:#ffffff14;--ide-text:#edebf5;--ide-text-2:#c7c3d8;--ide-text-3:#9c98b0;--ide-muted:#6f6b85;--ide-faint:#4a4762;--ide-gutter:#3a3750;--ide-lime:#d9ff57;--ide-violet:#8a7dff;--ide-violet-l:#b9afff;--ide-green:#7be0a6;--ide-amber:#ffd166;--ide-red:#ff6b5b;--ide-blue:#5bd0ff;--ide-orange:#ff8a5b;--ide-sel:#8a7dff52;--ide-diff:#d9ff571a}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f7fa;--bg-card:#fff;--bg-card-2:#fff;--bg-hover:#f2f2f6;--bg-hover-2:#f2f2f6;--bg-panel:#f2f2f6;--bg-deep:#f2f2f6;--text:#0b0b12;--text-2:#332f47;--text-3:#4e4a63;--text-4:#4e4a63;--text-5:#615d77;--text-6:#615d77;--muted:#625e78;--faint:#74708a;--dim:#9894ac;--hair:#c6c2d3;--violet:#6c5ce7;--violet-ink:#5647c4;--violet-light:#5647c4;--violet-deep:#4a3bc0;--lime:#d9ff57;--lime-ink:#4c6800;--lime-hover:#c9f03d;--cta:#6c5ce7;--cta-hover:#5a4ad6;--on-cta:#fff;--figure:#0b0b12;--green:#0b7f55;--orange:#c0521f;--blue:#0a6e9e;--red:#c42d20;--amber:#8a6200;--on-accent:#09090f;--on-violet:#fff;--ink-solid:#16151e;--on-ink:#fff;--line:#0b0b1212;--line-2:#0b0b121a;--line-3:#0b0b1221;--line-4:#0b0b122b;--line-5:#0b0b1238;--line-soft:#0b0b120f;--line-dash:#0b0b1224;--fill:#16151e08;--fill-2:#16151e0a;--fill-3:#16151e0d;--fill-hover:#16151e14;--fill-strong:#16151e1f;--grid-line:#16151e0d;--header-bg:#f7f7fad6;--glow-violet:#6c5ce729;--glow-violet-soft:#6c5ce71f;--glow-lime:#9abe001f;--panel-violet-a:#f7f6ff;--panel-violet-b:#f3f1ff;--panel-lime-a:#f9fbf0;--panel-green-a:#f1faf5;--panel-card-violet:#f7f6ff;--tint-violet-b:#6c5ce747;--tint-violet-b2:#6c5ce773;--tint-violet-b3:#6c5ce799;--tint-lime-b:#9abe0066;--tint-lime-b2:#9abe0099;--tint-lime-b3:#9abe00bf;--tint-lime-b4:#9abe008c;--shadow-logo:0 6px 20px #6c5ce74d;--shadow-cta:0 10px 28px #9abe0047;--grad-h1-a:#6c5ce7;--grad-h1-b:#5647c4;--grad-h1-c:#42349e;--swatch-lime:#d9ff57;--swatch-violet:#8a7dff;--swatch-violet-2:#b9afff;--swatch-green:#7be0a6;--swatch-orange:#ff8a5b;--swatch-blue:#5bd0ff;--swatch-amber:#ffd166;--swatch-red:#ff6b5b;--swatch-ink:#edebf5;--chip-on-bg:#5647c4;--chip-on-fg:#fff;--chip-on-border:#5647c4;--band-bg:#f1f0ff;--band-text:#9a93cf;--h2-k:.8;--h2-w:600;--tile-border:#0b0b120f;--tile-shadow:0 1px 2px #0b0b120a,0 8px 22px #0b0b120d;--pv-fill:#fff;--pl-fill:#fff;--pv-top:inset 0 3px 0 #6c5ce7;--pl-top:inset 0 3px 0 #9abe00;--featured-top:inset 0 3px 0 #6c5ce7;--focus-ring:0 0 0 3px #5647c459}[data-theme]{transition:background-color .2s,color .2s}html[data-theme-boot]{transition:none!important}:root{--bg-page:var(--bg);--bg-surface:var(--bg-card);--bg-muted:var(--bg-panel);--bg-accent-violet:var(--panel-violet-a);--bg-accent-lime:var(--panel-lime-a);--text-primary:var(--text);--text-secondary:var(--text-3);--text-muted:var(--muted);--text-inverse:var(--on-ink);--border-subtle:var(--line);--border-default:var(--line-3);--border-strong:var(--line-5);--brand-violet:var(--violet);--brand-lime:var(--lime);--success:var(--green);--warning:var(--amber);--danger:var(--red)}:focus-visible{box-shadow:var(--focus-ring);outline:none}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/unbounded-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Unbounded;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/unbounded-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@keyframes toolsGlow{0%,to{transform:translate(-8%,-6%)scale(1)}50%{transform:translate(8%,6%)scale(1.12)}}.tools-scope{--font-display:Unbounded, sans-serif;--font-body:Manrope, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--r-sm:8px;--r-chip:11px;--r-btn:13px;--r-panel:16px;--r-card:20px;--r-lg:24px;--pad-x:clamp(16px, 4vw, 32px);--shell:1420px;--header-h:74px;color:var(--text);font-family:var(--font-body)}.tools-scope .mono{font-family:var(--font-mono)}.tools-scope .shell{max-width:var(--shell);padding:0 var(--pad-x,clamp(16px, 4vw, 32px));margin:0 auto}.tools-scope .sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tools-scope a{color:var(--violet-light);text-decoration:none}.tools-scope a:hover{color:var(--lime-ink)}.tools-scope input,.tools-scope textarea,.tools-scope select,.tools-scope button{font:inherit}.tools-scope input::placeholder,.tools-scope textarea::placeholder{color:var(--placeholder);opacity:1}.tools-scope [id]{scroll-margin-top:96px}.tools-scope .hero{position:relative;overflow:hidden}.tools-scope .hero--bordered{border-bottom:1px solid var(--line)}.tools-scope .hero__inner{padding-block:clamp(26px,4vw,42px) clamp(30px,4.5vw,46px);position:relative}.tools-scope .hero__grid{pointer-events:none;background-image:linear-gradient(var(--fill) 1px, transparent 1px), linear-gradient(90deg, var(--fill) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 70% at 30% 0,#000 25%,#0000 78%);mask-image:radial-gradient(85% 70% at 30% 0,#000 25%,#0000 78%)}.tools-scope .hero__glow{pointer-events:none;background:radial-gradient(ellipse at center, var(--glow-violet), transparent 62%);filter:blur(24px);width:900px;height:600px;animation:20s ease-in-out infinite toolsGlow;position:absolute;top:-280px;left:-100px}.tools-scope .crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.tools-scope .crumbs a{color:var(--muted)}.tools-scope .crumbs a:hover{color:var(--lime-ink)}.tools-scope .crumbs__sep{color:var(--hair)}.tools-scope .crumbs__current{color:var(--text-5)}.tools-scope .h1{font-family:var(--font-display);letter-spacing:clamp(-2.4px,-.32vw,-1px);text-wrap:balance;max-width:900px;margin:20px 0 0;font-size:clamp(28px,4.8vw,58px);font-weight:700;line-height:1.03}.tools-scope .h1--tool{letter-spacing:clamp(-2px,-.28vw,-.9px);margin-top:18px;font-size:clamp(24px,3.8vw,44px);line-height:1.06}.tools-scope .lede{color:var(--text-3);text-wrap:pretty;max-width:700px;margin:16px 0 0;font-size:clamp(15px,2vw,18px);font-weight:500;line-height:1.65}.tools-scope .lede--tool{max-width:680px;margin-top:14px;font-size:clamp(14.5px,1.9vw,17px);line-height:1.6}.tools-scope .meta-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.tools-scope .pill{font-family:var(--font-mono);letter-spacing:1px;border:1px solid var(--line-3);color:var(--text-5);border-radius:7px;padding:5px 9px;font-size:10px}.tools-scope .pill--browser{color:var(--green);border-color:#7be0a647}.tools-scope .pill--server{color:var(--orange);border-color:#ff8a5b4d}.tools-scope .pill--faint{color:var(--muted);border-color:var(--line-dash)}.tools-scope .search{border-radius:var(--r-btn);border:1px solid var(--line-5);background:var(--fill-2);align-items:center;gap:11px;max-width:520px;height:52px;margin-top:clamp(24px,3.4vw,34px);padding:0 16px;display:flex}.tools-scope .search__icon{color:var(--muted);flex:none;font-size:16px}.tools-scope .search__input{min-width:0;height:100%;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.tools-scope .search__clear{border-radius:var(--r-chip);border:1px solid var(--line-3);background:var(--fill-2);width:44px;height:44px;color:var(--text-5);cursor:pointer;flex:none;font-size:13px}.tools-scope .search__clear:hover{color:var(--text);border-color:var(--line-5)}.tools-scope .chips{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.tools-scope .chip{cursor:pointer;font-family:var(--font-body);border-radius:var(--r-chip);background:var(--fill-2);min-height:44px;color:var(--text-5);border:1px solid var(--line-3);padding:11px 15px;font-size:13.5px;font-weight:700;transition:all .16s}.tools-scope .chip:hover:not(:disabled){color:var(--text);border-color:var(--line-5)}.tools-scope .chip.is-active{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.tools-scope .chip:disabled{opacity:.45;cursor:not-allowed}.tools-scope .chip__count{font-family:var(--font-mono);color:var(--text-5);margin-left:8px;font-size:11px}.tools-scope .chip.is-active .chip__count{color:var(--faint)}.tools-scope .chip:disabled .chip__count{color:var(--dim)}.tools-scope .chip--sm{border-radius:10px;min-height:40px;padding:9px 13px;font-size:13px}.tools-scope .chip--sm.is-active{background:var(--chip-on-bg);color:var(--chip-on-fg)}.tools-scope .chip--flag{font-family:var(--font-mono);width:40px;height:40px;min-height:40px;color:var(--text-5);border-radius:10px;padding:0;font-size:12.5px;font-weight:700}.tools-scope .chip--flag.is-active{background:var(--violet);color:var(--on-violet);border-color:var(--violet)}.tools-scope .section{padding-top:clamp(26px,4vw,40px)}.tools-scope .section--gap{padding-top:clamp(34px,5vw,56px)}.tools-scope .kicker{font-family:var(--font-mono);letter-spacing:2.2px;color:var(--violet);font-size:11.5px}.tools-scope .kicker--sm{letter-spacing:2px;font-size:10.5px}.tools-scope .kicker--quiet{color:var(--faint)}.tools-scope .kicker--lime{color:var(--lime-ink)}.tools-scope .h2{font-family:var(--font-display);letter-spacing:-1.1px;text-wrap:balance;margin:14px 0 0;font-size:clamp(20px,2.6vw,26px);font-weight:600;line-height:1.2}.tools-scope .h2--big{letter-spacing:clamp(-1.6px,-.22vw,-.9px);font-size:clamp(22px,3.2vw,34px);font-weight:700;line-height:1.1}.tools-scope .result-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.tools-scope .result-scope{color:var(--muted);font-size:13px;font-weight:500}.tools-scope .card{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--bg-card);padding:clamp(22px,3.2vw,34px)}.tools-scope .card--flush{padding:0;overflow:hidden}.tools-scope .card--tint-lime{border-color:var(--tint-lime-b);background:linear-gradient(160deg, var(--panel-lime-a), var(--bg-card) 72%)}.tools-scope .card--tint-violet{border-color:var(--tint-violet-b);background:linear-gradient(165deg, var(--panel-violet-a), var(--bg-card) 74%)}.tools-scope .body-text{color:var(--text-3);text-wrap:pretty;max-width:780px;margin:16px 0 0;font-size:clamp(14.5px,1.8vw,16.5px);font-weight:500;line-height:1.7}.tools-scope .snippet{border-radius:var(--r-panel);border:1px solid var(--fill-hover);background:var(--bg-panel);font-family:var(--font-mono);color:var(--text-2);margin:18px 0 0;padding:clamp(16px,2.4vw,22px);font-size:clamp(11.5px,1.6vw,13px);line-height:1.85;overflow-x:auto}.tools-scope .callout{border-radius:var(--r-panel);border-left:2px solid var(--violet);background:var(--glow-violet-soft);margin-top:18px;padding:16px 18px}.tools-scope .callout--warn{border-left-color:var(--orange);background:#ff8a5b0f}.tools-scope .callout--error{border-left-color:var(--red);background:#ff5f5714}.tools-scope .callout--ok{border-left-color:var(--green);background:#7be0a60f}.tools-scope .callout--lime{border-left-color:var(--lime-ink);background:var(--glow-lime)}.tools-scope .callout--quiet{border-left-color:var(--muted);background:var(--fill)}.tools-scope .callout__label{font-family:var(--font-mono);letter-spacing:1.6px;font-size:10px}.tools-scope .callout p{color:var(--text-2);text-wrap:pretty;margin:9px 0 0;font-size:14px;font-weight:500;line-height:1.65}.tools-scope .tool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px;margin-top:22px;display:grid}.tools-scope .tool-card{border:1px solid var(--line-2);border-radius:var(--r-card);background:var(--bg-card);color:var(--text);padding:22px;transition:transform .18s,border-color .18s;display:block}.tools-scope .tool-card:hover{border-color:var(--tint-lime-b2);color:var(--text);transform:translateY(-3px)}.tools-scope .tool-card__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.tools-scope .tool-card__group{align-items:center;gap:9px;min-width:0;display:flex}.tools-scope .tool-card__dot{border-radius:50%;flex:none;width:7px;height:7px}.tools-scope .tool-card__group-name{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--muted);font-size:10px}.tools-scope .tool-card__flags{flex:none;gap:6px;display:flex}.tools-scope .tool-card__name{font-family:var(--font-display);letter-spacing:-.6px;margin-top:16px;font-size:17px;font-weight:500;line-height:1.25;display:block}.tools-scope .tool-card__desc{color:var(--text-5);text-wrap:pretty;margin-top:9px;font-size:13.5px;font-weight:500;line-height:1.55;display:block}.tools-scope .tool-card__foot{border-top:1px dashed var(--fill-hover);justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.tools-scope .tool-card__slug{font-family:var(--font-mono);color:var(--faint);font-size:11px}.tools-scope .tool-card__arrow{color:var(--faint)}.tools-scope .empty{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--bg-card);text-align:center;margin-top:22px;padding:clamp(30px,5vw,52px)}.tools-scope .empty--inset{background:var(--bg-panel);border-radius:18px;padding:clamp(26px,4vw,40px)}.tools-scope .empty__label{font-family:var(--font-mono);letter-spacing:2px;color:var(--faint);font-size:11px}.tools-scope .empty__title{font-family:var(--font-display);letter-spacing:-.9px;margin-top:16px;font-size:clamp(18px,2.6vw,24px);font-weight:500;line-height:1.3}.tools-scope .empty p{color:var(--text-5);max-width:420px;margin:12px auto 0;font-size:14.5px;font-weight:500;line-height:1.6}.tools-scope .empty__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.tools-scope .split{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,36px);display:grid}.tools-scope .split>*{min-width:0}.tools-scope .split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tools-scope .split--wide-left{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.tools-scope .card--tint-lime .body-text{color:var(--text-2);font-size:clamp(14.5px,1.9vw,17px);line-height:1.65}.tools-scope .rows{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.tools-scope .rows--panel{border-radius:var(--r-panel)}.tools-scope .row{background:var(--fill-2);flex-wrap:wrap;align-items:flex-start;gap:14px;padding:15px 18px;display:flex}.tools-scope .row--dark{background:var(--bg-panel)}.tools-scope .row__label{font-family:var(--font-mono);letter-spacing:1.2px;flex:none;width:92px;font-size:10px}.tools-scope .row__text{min-width:min(100%,180px);color:var(--text-2);flex:1;font-size:13.5px;font-weight:500;line-height:1.55}.tools-scope .checklist{flex-direction:column;gap:10px;margin-top:14px;display:flex}.tools-scope .checklist li{align-items:flex-start;gap:11px;list-style:none;display:flex}.tools-scope .checklist__mark{font-family:var(--font-mono);color:var(--lime-ink);flex:none;margin-top:3px;font-size:11px}.tools-scope .checklist span:last-child{color:var(--text-2);font-size:13.5px;font-weight:500;line-height:1.55}.tools-scope ul.checklist{margin:14px 0 0;padding:0}.tools-scope .cross-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;display:grid}.tools-scope .cross{border:1px solid var(--line-dash);border-radius:var(--r-card);background:var(--bg-card);color:var(--text);padding:22px 24px;transition:border-color .18s;display:block}.tools-scope .cross:hover{border-color:var(--line-5);color:var(--text)}.tools-scope .cross--violet{border-color:var(--tint-violet-b);background:linear-gradient(165deg, var(--panel-violet-a), var(--bg-card) 74%)}.tools-scope .cross--violet:hover{border-color:var(--tint-violet-b3)}.tools-scope .cross--lime{border-color:var(--tint-lime-b);background:linear-gradient(165deg, var(--panel-lime-a), var(--bg-card) 74%)}.tools-scope .cross--lime:hover{border-color:var(--tint-lime-b3)}.tools-scope .cross__kicker{font-family:var(--font-mono);letter-spacing:1.6px;font-size:10px}.tools-scope .cross__title{font-family:var(--font-display);letter-spacing:-.6px;margin-top:12px;font-size:17px;font-weight:500;line-height:1.3;display:block}.tools-scope .cross__foot{align-items:center;gap:9px;margin-top:14px;display:flex}.tools-scope .cross__url{font-family:var(--font-mono);color:var(--muted);font-size:11.5px}.tools-scope .tool-shell{max-width:var(--shell);padding:clamp(22px, 3.4vw, 36px) var(--pad-x) 0;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:clamp(18px,2.4vw,28px);margin:0 auto;display:grid}.tools-scope .tool-main{flex-direction:column;gap:clamp(16px,2.4vw,24px);min-width:0;display:flex}.tools-scope .tool-aside{flex-direction:column;gap:16px;display:flex;position:sticky;top:150px}@media (width<=1020px){.tools-scope .tool-shell{grid-template-columns:1fr}.tools-scope .tool-aside{display:none}}.tools-scope .zone{border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--bg-card);overflow:hidden}.tools-scope .zone__bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px clamp(16px,2.4vw,22px);display:flex}.tools-scope .zone__bar-label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--text-5);font-size:10.5px}.tools-scope .zone__bar-spacer{flex:1}.tools-scope .zone__actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=820px){.tools-scope .zone__bar{flex-direction:column;align-items:stretch;gap:14px}.tools-scope .zone__bar-spacer{display:none}.tools-scope .zone__actions{gap:8px}.tools-scope .zone__actions .action{flex:auto;min-width:0}}.tools-scope .zone__body{padding:clamp(16px,2.4vw,24px)}.tools-scope .zone__panel[hidden]{display:none}.tools-scope .action{cursor:pointer;font-family:var(--font-body);background:var(--fill-2);min-height:44px;color:var(--text-5);border:1px solid var(--line-3);border-radius:10px;padding:0 15px;font-size:12.5px;font-weight:700;transition:all .16s}.tools-scope .action:hover{color:var(--text);border-color:var(--line-5)}.tools-scope .action--primary{background:var(--cta);color:var(--on-cta);border:none}.tools-scope .action--primary:hover{background:var(--cta-hover);color:var(--on-cta)}.tools-scope .field{display:block}.tools-scope .field__label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10.5px;display:block}.tools-scope .field__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tools-scope .field__meta{font-family:var(--font-mono);color:var(--faint);font-size:11px}.tools-scope .field__meta.is-warn{color:var(--orange)}.tools-scope .input,.tools-scope .textarea{border-radius:var(--r-btn);border:1px solid var(--line-5);background:var(--fill-2);width:100%;height:48px;color:var(--text);font-family:var(--font-mono);outline:none;margin-top:11px;padding:0 16px;font-size:13.5px}.tools-scope .input:focus,.tools-scope .textarea:focus{border-color:var(--tint-violet-b2)}.tools-scope .textarea{height:auto;min-height:220px;color:var(--text-2);resize:vertical;padding:14px 16px;font-size:12.5px;line-height:1.75}.tools-scope .textarea--sm{min-height:170px;font-size:13px;line-height:1.7}.tools-scope .textarea--token{min-height:100px;color:var(--text-5);word-break:break-all}.tools-scope .textarea.is-error{border-color:#ff5f5766}.tools-scope .textarea.is-warn{border-color:#ff8a5b66}.tools-scope .io{grid-template-columns:1fr 1fr;gap:14px;display:grid}.tools-scope .io>*{min-width:0}.tools-scope .output{border:1px solid var(--tint-lime-b);background:var(--fill-2);width:100%;min-height:220px;font-family:var(--font-mono);white-space:pre-wrap;color:var(--lime-ink);border-radius:14px;margin-top:11px;margin-bottom:0;padding:14px 16px;font-size:12.5px;line-height:1.75;overflow-x:auto}.tools-scope .output.is-placeholder{border-color:var(--line-2);color:var(--placeholder)}.tools-scope .output.is-blank{color:var(--hair)}.tools-scope .state-tag{font-family:var(--font-mono);letter-spacing:1px;font-size:10px}.tools-scope .state-tag--ok{color:var(--green)}.tools-scope .state-tag--sample{color:var(--faint)}.tools-scope .state-tag--error{color:var(--red)}.tools-scope .state-tag--warn{color:var(--orange)}.tools-scope .opts{border-top:1px solid var(--line);flex-wrap:wrap;gap:20px;margin-top:20px;padding-top:18px;display:flex}.tools-scope .opts--flush{border-top:none;margin-top:22px;padding-top:0}.tools-scope .opt__title{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10px}.tools-scope .opt__items{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.tools-scope .error-box{margin-top:14px}.tools-scope .error-box__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tools-scope .error-box__at{font-family:var(--font-mono);color:var(--text-2);font-size:11.5px}.tools-scope .error-box pre{border-radius:var(--r-chip);background:var(--bg-panel);font-family:var(--font-mono);color:var(--text-5);margin:12px 0 0;padding:12px 14px;font-size:12px;line-height:1.7;overflow-x:auto}.tools-scope .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;display:grid}.tools-scope .result-block{margin-top:22px}.tools-scope .result-value{border:1px solid var(--line-dash);background:var(--fill-2);font-family:var(--font-mono);color:var(--lime-ink);word-break:break-all;border-radius:14px;margin-top:11px;padding:16px;font-size:13px;line-height:1.7}.tools-scope .verify{border-radius:var(--r-btn);border-left:2px solid var(--faint);background:var(--fill);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:13px 16px;display:flex}.tools-scope .verify.is-ok{border-left-color:var(--green);background:#7be0a612}.tools-scope .verify__label{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--faint);flex:none;font-size:10px}.tools-scope .verify.is-ok .verify__label{color:var(--green)}.tools-scope .verify__text{min-width:min(100%,200px);color:var(--text-2);flex:1;font-size:13.5px;font-weight:500;line-height:1.55}.tools-scope .gen-opts{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.tools-scope .gen-rows{margin-top:22px}.tools-scope .gen-row{background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:14px;padding:13px 16px;display:flex}.tools-scope .gen-row__n{font-family:var(--font-mono);color:var(--dim);flex:none;width:22px;font-size:10.5px}.tools-scope .gen-row__value{min-width:min(100%,200px);font-family:var(--font-mono);color:var(--text-2);word-break:break-all;flex:1;font-size:13px}.tools-scope .copy-btn{border-radius:var(--r-chip);border:1px solid var(--line-3);background:var(--fill-2);min-height:44px;color:var(--text-5);font-family:var(--font-body);cursor:pointer;flex:none;padding:0 14px;font-size:12px;font-weight:700}.tools-scope .copy-btn:hover{border-color:var(--tint-lime-b2);color:var(--lime-ink)}.tools-scope .cron-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.tools-scope .cron-grid>*{min-width:0}.tools-scope .cron-input{border-radius:var(--r-btn);border:1px solid var(--tint-lime-b);background:var(--fill-2);width:100%;height:56px;color:var(--lime-ink);font-family:var(--font-mono);letter-spacing:2px;outline:none;margin-top:11px;padding:0 16px;font-size:18px}.tools-scope .cron-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,58px),1fr));gap:6px;margin-top:10px;display:grid}.tools-scope .cron-field{text-align:center;background:var(--fill);border:1px solid var(--line);border-radius:9px;padding:8px 4px}.tools-scope .cron-field__value{font-family:var(--font-mono);color:var(--text);font-size:13px}.tools-scope .cron-field__label{font-family:var(--font-mono);letter-spacing:.6px;color:var(--faint);margin-top:5px;font-size:9px}.tools-scope .cron-human{border:1px solid var(--tint-lime-b);background:var(--glow-lime);border-radius:18px;margin-top:22px;padding:18px 20px}.tools-scope .cron-human p{font-family:var(--font-display);letter-spacing:-.7px;color:var(--text);margin:12px 0 0;font-size:clamp(16px,2.2vw,20px);font-weight:500;line-height:1.35}.tools-scope .run-row{background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 15px;display:flex}.tools-scope .run-row__at{font-family:var(--font-mono);color:var(--text-2);flex:1;min-width:min(100%,150px);font-size:13px}.tools-scope .run-row__rel{color:var(--muted);flex:none;font-size:12px;font-weight:600}.tools-scope .code-box{border:1px solid var(--fill-hover);background:var(--bg-panel);font-family:var(--font-mono);color:var(--text-2);border-radius:14px;margin:11px 0 0;padding:16px;font-size:12.5px;line-height:1.75;overflow-x:auto}.tools-scope .rx-head{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.tools-scope .rx-pattern-wrap{flex:1;min-width:min(100%,260px)}.tools-scope .rx-pattern{border-radius:var(--r-btn);border:1px solid var(--tint-violet-b);background:var(--fill-2);width:100%;height:52px;color:var(--violet-light);font-family:var(--font-mono);outline:none;margin-top:11px;padding:0 16px;font-size:15px}.tools-scope .rx-flags{gap:6px;margin-top:11px;display:flex}.tools-scope .rx-matches{border:1px solid var(--tint-lime-b);background:var(--fill-2);min-height:170px;font-family:var(--font-mono);color:var(--text-5);border-radius:14px;margin-top:11px;padding:14px 16px;font-size:13px;line-height:1.9;overflow-x:auto}.tools-scope .rx-hit{background:var(--glow-lime);color:var(--lime-ink);box-shadow:inset 0 0 0 1px var(--tint-lime-b);border-radius:4px;padding:2px 3px}.tools-scope .rx-table{border:1px solid var(--line-2);border-radius:14px;margin-top:11px;overflow:hidden}.tools-scope .rx-table__row{border-bottom:1px solid var(--fill-3);grid-template-columns:36px 84px 1fr 96px;gap:12px;padding:11px 15px;display:grid}.tools-scope .rx-table__row--head{background:var(--fill);border-bottom:1px solid var(--line)}.tools-scope .rx-table__row--head span{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--faint);font-size:9.5px}.tools-scope .rx-table__row span{font-family:var(--font-mono);font-size:12.5px}.tools-scope .rx-table__n{color:var(--violet)}.tools-scope .rx-table__name{color:var(--text-3)}.tools-scope .rx-table__value{color:var(--lime-ink);word-break:break-all}.tools-scope .rx-table__at{color:var(--muted)}@media (width<=700px){.tools-scope .rx-table__row{grid-template-columns:28px 1fr}.tools-scope .rx-table__row>span:nth-child(2),.tools-scope .rx-table__row>span:nth-child(4){display:none}}.tools-scope .ref-search{border-radius:var(--r-btn);border:1px solid var(--line-5);background:var(--fill-2);align-items:center;gap:11px;height:50px;padding:0 16px;display:flex}.tools-scope .ref-search input{min-width:0;height:100%;color:var(--text);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;font-size:15px}.tools-scope .ref-search__count{font-family:var(--font-mono);color:var(--faint);flex:none;font-size:11px}.tools-scope .ref-table{border:1px solid var(--line-2);border-radius:var(--r-panel);margin-top:18px;overflow:hidden}.tools-scope .ref-item{border-bottom:1px solid var(--fill-3)}.tools-scope .ref-item:last-child{border-bottom:none}.tools-scope .ref-item__btn{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:14px;padding:13px 16px;display:flex}.tools-scope .ref-item__btn:hover{background:var(--fill)}.tools-scope .ref-item__code{font-family:var(--font-mono);flex:none;width:44px;font-size:14px;font-weight:700}.tools-scope .ref-item__name{min-width:min(100%,160px);color:var(--text);flex:1;font-size:14px;font-weight:700}.tools-scope .ref-item__hint{color:var(--muted);flex:none;font-size:12.5px;font-weight:500}.tools-scope .ref-item__icon{font-family:var(--font-mono);color:var(--faint);flex:none;font-size:13px}.tools-scope .ref-item.is-open .ref-item__icon{color:var(--lime-ink)}.tools-scope .ref-item__body{padding:0 16px 16px}.tools-scope .ref-item__body[hidden]{display:none}.tools-scope .ref-item__body p{color:var(--text-3);text-wrap:pretty;max-width:760px;margin:0;font-size:13.5px;font-weight:500;line-height:1.65}.tools-scope .ref-item__body pre{border-radius:var(--r-chip);background:var(--bg-panel);font-family:var(--font-mono);color:var(--text-2);margin:12px 0 0;padding:13px 15px;font-size:12px;line-height:1.75;overflow-x:auto}.tools-scope .cls-2xx{color:var(--green)}.tools-scope .cls-3xx{color:var(--blue)}.tools-scope .cls-4xx{color:var(--orange)}.tools-scope .cls-5xx{color:var(--red)}.tools-scope .jwt-legend{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tools-scope .jwt-legend span{font-family:var(--font-mono);letter-spacing:1px;border:1px solid var(--line-dash);border-radius:7px;align-items:center;gap:7px;padding:5px 9px;font-size:10px;display:inline-flex}.tools-scope .jwt-legend i{border-radius:2px;width:7px;height:7px}.tools-scope .jwt-sections{flex-direction:column;gap:12px;margin-top:20px;display:flex}.tools-scope .jwt-section{border:1px solid var(--line-2);background:var(--fill-2);border-radius:18px;overflow:hidden}.tools-scope .jwt-section--header{border-color:#ff8a5b40}.tools-scope .jwt-section--payload{border-color:var(--tint-violet-b)}.tools-scope .jwt-section--signature{border-color:#5bd0ff40}.tools-scope .jwt-section__bar{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:11px;padding:12px 16px;display:flex}.tools-scope .jwt-section__swatch{border-radius:2px;flex:none;width:8px;height:8px}.tools-scope .jwt-section__title{font-family:var(--font-mono);letter-spacing:1.6px;font-size:10.5px}.tools-scope .jwt-section__note{color:var(--muted);font-size:12px;font-weight:600}.tools-scope .jwt-section pre{font-family:var(--font-mono);color:var(--text-2);margin:0;padding:16px;font-size:12.5px;line-height:1.8;overflow-x:auto}.tools-scope .jwt-claims{padding:0 16px 16px}.tools-scope .claim-row{background:var(--bg-panel);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.tools-scope .claim-row__key{font-family:var(--font-mono);color:var(--violet);flex:none;width:64px;font-size:11.5px}.tools-scope .claim-row__value{min-width:min(100%,160px);font-family:var(--font-mono);color:var(--text-2);flex:1;font-size:12px}.tools-scope .claim-row__state{font-family:var(--font-mono);letter-spacing:1px;flex:none;font-size:10px}.tools-scope .faq{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;flex-direction:column;gap:1px;margin-top:20px;display:flex;overflow:hidden}.tools-scope .faq__item{background:var(--bg-panel);padding:16px 18px}.tools-scope .faq__q{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);background:0 0;border:none;align-items:flex-start;gap:14px;padding:0;display:flex}.tools-scope .faq__q span:first-child{min-width:0;color:var(--text);flex:1;font-size:15.5px;font-weight:700;line-height:1.4}.tools-scope .faq__icon{font-family:var(--font-mono);color:var(--faint);flex:none;font-size:15px}.tools-scope .faq__item.is-open .faq__icon{color:var(--lime-ink)}.tools-scope .faq__a{color:var(--text-3);text-wrap:pretty;max-width:760px;margin:14px 0 0;font-size:14px;font-weight:500;line-height:1.7}.tools-scope .faq__a[hidden]{display:none}.tools-scope .related{background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r-panel);flex-direction:column;gap:1px;margin-top:18px;display:flex;overflow:hidden}.tools-scope .related a{background:var(--bg-panel);color:var(--text);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.tools-scope .related a:hover{background:var(--bg-hover);color:var(--text)}.tools-scope .related__kind{font-family:var(--font-mono);letter-spacing:1.2px;flex:none;width:96px;font-size:9.5px}.tools-scope .related__label{flex:1;min-width:min(100%,160px);font-size:14px;font-weight:600;line-height:1.4}.tools-scope .related__url{font-family:var(--font-mono);color:var(--faint);flex:none;font-size:11px}.tools-scope .aside-card{border:1px solid var(--line-2);background:var(--bg-card);border-radius:22px;padding:22px}.tools-scope .aside-card--lime{border-color:var(--tint-lime-b);background:linear-gradient(165deg, var(--panel-lime-a), var(--bg-card) 74%);padding:24px}.tools-scope .aside-card__head{align-items:center;gap:9px;display:flex}.tools-scope .aside-card__dot{border-radius:50%;flex:none;width:7px;height:7px}.tools-scope .aside-card__group{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--text-5);font-size:10.5px}.tools-scope .aside-card__title{font-family:var(--font-display);letter-spacing:-.7px;margin-top:13px;font-size:18px;font-weight:500;line-height:1.3}.tools-scope .aside-card p{color:var(--text-3);margin:11px 0 0;font-size:13.5px;font-weight:500;line-height:1.6}.tools-scope .aside-card--quiet p{color:var(--muted);margin:0;font-size:13px}.tools-scope .sibling-list{flex-direction:column;gap:2px;margin-top:16px;display:flex}.tools-scope .sibling-list a{color:var(--text-5);border-radius:10px;align-items:center;gap:10px;min-height:44px;margin:0 -12px;padding:10px 12px;font-size:13.5px;font-weight:600;line-height:1.35;display:flex}.tools-scope .sibling-list a:hover{background:var(--fill-3);color:var(--text)}.tools-scope .sibling-list a.is-current{color:var(--text)}.tools-scope .sibling-list__here{font-family:var(--font-mono);letter-spacing:.8px;color:var(--lime-ink);flex:none;font-size:9px}@media (width<=1020px){.tools-scope .io,.tools-scope .cron-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tools-scope .hero__glow{animation:none}}.tag-new{font-family:var(--font-mono);letter-spacing:1px;background:var(--lime);color:var(--on-accent);border-radius:6px;align-items:center;padding:4px 7px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.nav-menu-btn{cursor:pointer;font:inherit;color:var(--color-ink-nav);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 0 3px;font-weight:600;transition:color .15s;display:inline-flex}.nav-menu-btn:hover,.nav-menu-btn[aria-expanded=true]{color:var(--color-ink)}.nav-menu-btn.is-active{color:var(--color-ink);border-bottom-color:var(--lime-ink)}.nav-caret{color:var(--lime-ink);font-size:9px}.nav-dropdown{z-index:70;border:1px solid var(--line-3);background:var(--bg-panel);border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;width:640px;padding:14px;display:grid;position:absolute;top:calc(100% + 22px);left:-24px;box-shadow:0 24px 60px #00000047}.nav-dropdown:before{content:"";height:22px;position:absolute;top:-22px;left:0;right:0}.nav-dropdown--wide{grid-template-columns:minmax(0,1fr) minmax(0,2fr);width:860px;left:50%;translate:-50%}.nav-dropdown__group{flex-direction:column;gap:2px;min-width:0;display:flex}.nav-dropdown__group--cols{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:auto repeat(var(--rows), auto);align-content:start;gap:2px 4px;display:grid}.nav-dropdown__group--cols .nav-dropdown__head{grid-area:1/1/auto/-1}.nav-dropdown__group+.nav-dropdown__group{border-left:1px solid var(--line-2);padding-left:12px}.nav-dropdown__head{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--text-5);align-items:center;gap:8px;padding:6px 14px 8px;font-size:10.5px;display:flex}.nav-dropdown__head span{border-radius:50%;flex:none;width:6px;height:6px}.nav-dropdown__item{color:var(--color-ink);border:1px solid #0000;border-radius:13px;flex-direction:column;padding:10px 14px;display:flex}.nav-dropdown__item:hover{background:var(--fill-3);color:var(--color-ink)}.nav-dropdown__item.is-active{background:var(--panel-lime-a);border-color:var(--tint-lime-b);box-shadow:inset 3px 0 0 var(--lime)}.nav-dropdown__label{color:var(--text);align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.nav-dropdown__note{color:var(--text-5);margin-top:3px;font-size:12.5px;font-weight:500;display:block}.nav-new{font-family:var(--font-mono);letter-spacing:.8px;color:var(--lime-ink);border:1px solid var(--tint-lime-b2);border-radius:5px;padding:1px 6px;font-size:9.5px;font-weight:700}.mega-panel{z-index:65;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--bg-panel);box-shadow:0 30px 70px var(--bg-panel);padding:clamp(22px,2.6vw,30px) 0 22px;position:absolute;top:100%;left:0;right:0}.mega-cols{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,28px);display:grid}.mega-head{align-items:center;gap:9px;display:flex}.mega-dot{border-radius:50%;flex:none;width:7px;height:7px}.mega-group{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--color-ink-4);font-size:10.5px}.mega-count{font-family:var(--font-mono);color:var(--dim);font-size:10px}.mega-list{flex-direction:column;gap:2px;margin-top:14px;display:flex}.mega-list a{color:var(--color-ink-2);border-radius:9px;margin:0 -10px;padding:8px 10px;font-size:13.5px;font-weight:600;line-height:1.35;display:block}.mega-list a:hover{background:var(--fill-3);color:var(--color-ink)}.mega-list a.is-active{color:var(--lime-ink)}.mega-new{font-family:var(--font-mono);letter-spacing:1px;color:var(--lime-ink);margin-left:7px;font-size:9px;font-weight:700}.mega-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:18px;display:flex}.mega-note{color:var(--muted);font-size:13px;font-weight:500}.mega-all{color:var(--lime-ink);align-items:center;gap:9px;font-size:13.5px;font-weight:700;display:inline-flex}.mega-all:hover{color:var(--color-ink)}.drawer-link,.drawer-toggle{width:100%;min-height:44px;color:var(--color-ink);letter-spacing:-.4px;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-family:inherit;font-size:19px;font-weight:700;display:flex}.drawer-arrow{font-family:var(--font-mono);color:var(--muted);font-size:15px}.drawer-panel{border-bottom:1px solid var(--line-soft);padding:6px 0 14px}.drawer-group{padding:12px 0 4px}.drawer-group__head{align-items:center;gap:9px;margin-bottom:6px;display:flex}.drawer-group__head span:first-child{border-radius:50%;flex:none;width:6px;height:6px}.drawer-group__head span:last-child{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--muted);font-size:10px}.drawer-know{min-height:52px;color:var(--color-ink-2);flex-direction:column;justify-content:center;padding:8px 0;display:flex}.drawer-know.is-active{box-shadow:inset 3px 0 0 var(--lime);padding-left:12px}.drawer-know__label{color:var(--text-2);align-items:center;gap:8px;font-size:15.5px;font-weight:600;display:flex}.drawer-know.is-active .drawer-know__label{color:var(--lime-ink);font-weight:800}.drawer-know__note{color:var(--text-5);margin-top:2px;font-size:12.5px;font-weight:500}.drawer-sub{color:var(--color-ink-2);min-height:44px;padding:11px 0;font-size:15.5px;font-weight:600;display:block}.drawer-all{border:1px solid var(--tint-lime-b);min-height:48px;color:var(--lime-ink);border-radius:12px;justify-content:center;align-items:center;gap:9px;margin-top:12px;font-size:14.5px;font-weight:700;display:flex}.mega-body.has-spot{grid-template-columns:268px minmax(0,1fr);align-items:start;gap:clamp(20px,2.4vw,34px);display:grid}.spot{isolation:isolate;border:1px solid var(--tint-violet-b2);background:radial-gradient(120% 90% at 0% 0%, var(--glow-violet-soft), transparent 60%), var(--bg-card);color:var(--color-ink);border-radius:18px;flex-direction:column;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 60px -34px #6c5ce7cc}.spot:hover{color:var(--color-ink);border-color:var(--tint-violet-b3);transform:translateY(-2px);box-shadow:0 26px 70px -30px #6c5ce7e6}.spot:focus-visible{outline:2px solid var(--violet);outline-offset:3px}.spot[hidden]{display:none}.spot__text{flex-direction:column;display:flex}.spot__kicker{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--violet-ink);align-items:center;gap:8px;font-size:10.5px;display:inline-flex}.spot__kicker i{background:var(--lime);width:7px;height:7px;box-shadow:0 0 10px var(--tint-lime-b2);border-radius:50%}.spot__kicker b{background:var(--lime);color:var(--on-accent);letter-spacing:1px;border-radius:5px;margin-left:2px;padding:2px 6px;font-size:9px}.spot__name{font-family:var(--font-display);letter-spacing:-.8px;align-items:center;gap:10px;margin-top:12px;font-size:21px;font-weight:700;line-height:1.1;display:flex}.spot__desc{color:var(--color-ink-3);text-wrap:pretty;margin-top:8px;font-size:13px;font-weight:500;line-height:1.55}.spot__ide{background:var(--ide-bg);border:1px solid var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-text-2);font-variant-ligatures:none;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-size:12px;line-height:1.6;display:flex}.spot__code{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spot__out{color:var(--ide-lime)}.spot__vers{border-top:1px dashed var(--ide-line-2);gap:4px;margin-top:6px;padding-top:8px;display:flex}.spot__vers i{text-align:center;color:var(--ide-muted);background:var(--ide-fill);border-radius:5px;flex:1;padding:3px 0;font-size:10px;font-style:normal}.spot__vers i.is-on{color:#09090f;background:var(--ide-lime);font-weight:700}.spot__go{color:var(--violet-ink);align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:inline-flex}.spot__go span{transition:transform .16s}.spot:hover .spot__go span{transform:translate(3px)}.spot--menu{gap:14px;padding:18px}.spot--menu .spot__ide{margin-top:2px}.spot--drawer{margin:6px 0 4px;padding:14px 16px}.spot--drawer .spot__name{justify-content:space-between;margin-top:10px;font-size:19px}.spot--drawer .spot__name span{color:var(--violet-ink)}.spot--hub{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:clamp(18px,2.4vw,26px);padding:clamp(18px,2.6vw,26px);display:grid}.spot--hub .spot__name{font-size:clamp(22px,2.6vw,28px)}.spot--hub .spot__desc{max-width:520px;font-size:14.5px}.spot--hub .spot__go{margin-top:16px}@media (width>=760px){.spot--hub{grid-template-columns:minmax(0,1fr) minmax(0,380px);align-items:center}}@media (prefers-reduced-motion:reduce){.spot,.spot__go span{transition:none}}.hdr-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.hdr-search,.hdr-sep,.hdr-login,.hdr-join,.hdr-account{display:none}@media (width>=1240px){.hdr-search,.hdr-login,.hdr-join,.hdr-account{display:inline-flex}.hdr-sep{display:block}}.hdr-search{border:1px solid var(--line-3);background:var(--fill-3);min-width:176px;height:40px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:0 8px 0 12px;font-size:13.5px;font-weight:600;transition:border-color .16s,color .16s,box-shadow .16s,background .16s}.hdr-search:hover{color:var(--color-ink);border-color:var(--tint-violet-b2);background:var(--fill);box-shadow:0 0 0 4px var(--tint-violet-b), 0 10px 28px -14px var(--glow-violet)}.hdr-search__icon{color:var(--violet-ink);font-size:15px}.hdr-search__label{flex:1}.hdr-kbd{font-family:var(--font-mono);letter-spacing:.3px;border:1px solid var(--line-3);background:var(--bg-card);color:var(--text-4);white-space:nowrap;border-bottom-width:2px;border-radius:7px;padding:3px 7px;font-size:10.5px;font-weight:600}@media (width>=1240px) and (width<=1379px){.hdr-search{justify-content:center;width:40px;min-width:0;padding:0}.hdr-search__label,.hdr-kbd{display:none}}.hdr-sep{background:var(--line-3);width:1px;height:22px;margin:0 4px}.hdr-login{height:40px;color:var(--color-ink);border-radius:12px;align-items:center;padding:0 14px;font-size:14px;font-weight:700;transition:background .16s}.hdr-login:hover{background:var(--fill-3);color:var(--color-ink)}.hdr-join{isolation:isolate;background:var(--cta);height:40px;color:var(--on-cta);box-shadow:0 10px 26px -12px var(--cta), inset 0 1px 0 #ffffff59;border-radius:12px;align-items:center;gap:8px;padding:0 16px 0 18px;font-size:14px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;position:relative;overflow:hidden}.hdr-join:after{content:"";z-index:-1;background:linear-gradient(110deg,#0000 30%,#ffffff73 50%,#0000 70%);transition:transform .6s;position:absolute;inset:0;transform:translate(-120%)}.hdr-join:hover{color:var(--on-cta);background:var(--cta-hover);box-shadow:0 14px 32px -12px var(--cta), inset 0 1px 0 #ffffff59;transform:translateY(-1px)}.hdr-join:hover:after{transform:translate(120%)}.hdr-join span{transition:transform .16s}.hdr-join:hover span{transform:translate(3px)}.hdr-account{border:1px solid var(--tint-violet-b2);background:var(--fill-3);height:40px;color:var(--color-ink);border-radius:999px;align-items:center;gap:9px;padding:0 14px 0 5px;font-size:14px;font-weight:700;transition:border-color .16s,background .16s}.hdr-account:hover{color:var(--color-ink);border-color:var(--tint-violet-b3);background:var(--fill)}.hdr-avatar{background:linear-gradient(145deg, var(--violet), var(--violet-deep));color:#fff;width:30px;height:30px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;overflow:hidden}.hdr-avatar img{object-fit:cover;width:100%;height:100%}.tg{border:1px solid var(--line-3);background:var(--fill-3);cursor:pointer;border-radius:999px;flex:none;justify-content:space-between;align-items:center;width:72px;height:44px;padding:0 6px;transition:border-color .16s,box-shadow .16s;display:inline-flex;position:relative}.tg:hover{border-color:var(--tint-violet-b2);box-shadow:0 0 0 4px var(--tint-violet-b)}.tg:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.tg__i{z-index:1;width:30px;height:30px;color:var(--muted);place-items:center;font-size:15px;line-height:1;transition:color .2s;display:grid;position:relative}.tg__knob{background:linear-gradient(145deg, var(--violet), var(--violet-deep));width:30px;height:30px;box-shadow:0 0 14px var(--glow-violet), inset 0 1px 0 #ffffff4d;border-radius:50%;transition:left .28s cubic-bezier(.4,0,.2,1),background .28s,box-shadow .28s;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.tg__moon{color:#fff}[data-theme=light] .tg__knob{background:linear-gradient(145deg,#ffd166,#ff9f43);left:calc(100% - 36px);box-shadow:0 0 14px #ff9f438c,inset 0 1px #ffffff80}[data-theme=light] .tg__moon{color:var(--muted)}[data-theme=light] .tg__sun{color:#3a2600}@media (width>=1240px){.tg{width:68px;height:40px;padding:0 5px}.tg__knob{width:28px;height:28px;left:5px}.tg__i{width:28px;height:28px}[data-theme=light] .tg__knob{left:calc(100% - 33px)}}@media (prefers-reduced-motion:reduce){.tg__knob,.hdr-join,.hdr-join:after,.hdr-join span{transition:none}}@keyframes pagesGlow{0%,to{transform:translate(-8%,-6%)scale(1)}50%{transform:translate(8%,6%)scale(1.12)}}.pages-scope{--font-display:Unbounded, sans-serif;--font-body:Manrope, system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--shell:1420px;--gutter:clamp(16px, 4vw, 32px);--header-h:74px;color:var(--text);font-family:var(--font-body)}.pages-scope a{color:var(--violet-light);text-decoration:none}.pages-scope a:hover{color:var(--lime-ink)}.pages-scope button,.pages-scope input,.pages-scope textarea{font-family:var(--font-body)}.pages-scope input::placeholder,.pages-scope textarea::placeholder{color:var(--placeholder);opacity:1}.pages-scope [id]{scroll-margin-top:96px}.pages-scope [hidden]{display:none}.pages-scope .mono{font-family:var(--font-mono)}.pages-scope .shell{max-width:var(--shell);padding-inline:var(--gutter,clamp(16px, 4vw, 32px));margin:0 auto}.pages-scope .section{padding-top:clamp(34px,5vw,56px)}.pages-scope .section--tight{padding-top:clamp(30px,4.5vw,48px)}.pages-scope .kicker{font-family:var(--font-mono);letter-spacing:2.2px;color:var(--violet);font-size:11.5px}.pages-scope .kicker--sm{letter-spacing:1.8px;color:var(--faint);font-size:10.5px}.pages-scope .h1{font-family:var(--font-display);letter-spacing:clamp(-2.4px,-.32vw,-1px);text-wrap:balance;margin:16px 0 0;font-size:clamp(28px,4.8vw,58px);font-weight:700;line-height:1.03}.pages-scope .h2{font-family:var(--font-display);letter-spacing:clamp(-1.6px,-.22vw,-.9px);text-wrap:balance;margin:16px 0 0;font-size:clamp(22px,3.2vw,34px);font-weight:700;line-height:1.1}.pages-scope .h2--doc{letter-spacing:-1.2px;margin:0;font-size:clamp(21px,2.8vw,28px);font-weight:600;line-height:1.2}.pages-scope .lead{color:var(--text-3);text-wrap:pretty;margin:18px 0 0;font-size:clamp(15px,2vw,18px);font-weight:500;line-height:1.65}.pages-scope .prose{color:var(--text-2);text-wrap:pretty;margin:16px 0 0;font-size:clamp(14.5px,1.9vw,17px);font-weight:500;line-height:1.7}.pages-scope .card{border:1px solid var(--line-2);background:var(--bg-card);border-radius:20px;padding:24px}.pages-scope .card--lg{border-radius:24px;padding:clamp(22px,3.2vw,34px)}.pages-scope .card--xl{border-radius:26px;padding:clamp(24px,3.6vw,38px)}.pages-scope .card-link{color:var(--text);transition:transform .18s,border-color .18s;display:block}.pages-scope .card-link:hover{color:var(--text);border-color:var(--tint-lime-b2);transform:translateY(-3px)}.pages-scope .card--violet{border-color:var(--tint-violet-b);background:linear-gradient(165deg, var(--panel-violet-a), var(--bg-card) 74%)}.pages-scope .card--violet:hover{border-color:var(--tint-violet-b3)}.pages-scope .card--lime{border-color:var(--tint-lime-b);background:linear-gradient(165deg, var(--panel-lime-a), var(--bg-card) 74%)}.pages-scope .card--lime:hover{border-color:var(--tint-lime-b3)}.pages-scope .card-title{font-family:var(--font-display);letter-spacing:-.6px;font-size:17px;font-weight:500;display:block}.pages-scope .card-text{color:var(--text-3);text-wrap:pretty;margin-top:14px;font-size:14px;font-weight:500;line-height:1.65;display:block}.pages-scope .card-foot{border-top:1px dashed var(--fill-hover);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.pages-scope .grid{gap:14px;display:grid}.pages-scope .grid--auto{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.pages-scope .grid--fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.pages-scope .grid--cta{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.pages-scope .rows{background:var(--line-2);border:1px solid var(--line-2);border-radius:16px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.pages-scope .rows>*{background:var(--bg-panel);flex-wrap:wrap;align-items:flex-start;gap:14px;padding:15px 18px;display:flex}.pages-scope .rows--onGlass>*{background:var(--fill-2)}.pages-scope .btn{cursor:pointer;text-align:center;border:none;border-radius:13px;place-items:center;min-height:48px;padding-inline:22px;font-size:14.5px;font-weight:800;transition:background .16s,border-color .16s,color .16s;display:inline-grid}.pages-scope .btn--primary{background:var(--cta);color:var(--on-cta)}.pages-scope .btn--primary:hover{background:var(--cta-hover);color:var(--on-cta)}.pages-scope .btn--ghost{border:1px solid var(--line-5);background:var(--fill-3);color:var(--text)}.pages-scope .btn--ghost:hover{background:var(--line-3);color:var(--text)}.pages-scope .btn--lg{min-height:52px;padding-inline:26px;font-size:15px}.pages-scope .btn:disabled,.pages-scope .btn[aria-disabled=true]{background:var(--line);color:var(--faint);cursor:not-allowed}.pages-scope .chip{cursor:pointer;background:var(--fill-2);min-height:44px;color:var(--text-4);border:1px solid var(--line-3);border-radius:11px;padding:11px 15px;font-size:13.5px;font-weight:700;transition:background .16s,border-color .16s,color .16s}.pages-scope .chip:hover{color:var(--text)}.pages-scope .chip[aria-pressed=true],.pages-scope .chip.is-active{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.pages-scope .chip-row{flex-wrap:wrap;gap:9px;display:flex}.pages-scope .url-pill{font-family:var(--font-mono);color:var(--text-5);border:1px solid var(--line-dash);border-radius:8px;padding:6px 10px;font-size:12px}.pages-scope .index-flag{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--lime-ink);font-size:10.5px}.pages-scope .mono-label{font-family:var(--font-mono);letter-spacing:1.6px;font-size:10px}.pages-scope .dot{border-radius:50%;flex:none;width:7px;height:7px}.pages-scope .arrow-link{align-items:center;gap:9px;font-size:13.5px;font-weight:700;display:inline-flex}.pages-scope .note{border-left:2px solid var(--violet);background:var(--glow-violet-soft);color:var(--text-2);border-radius:14px;margin-top:18px;padding:14px 16px;font-size:13.5px;font-weight:500;line-height:1.65}.pages-scope .note--lime{border-left-color:var(--lime-ink);background:var(--glow-lime)}.pages-scope .note--orange{border-left-color:var(--orange);background:#ff8a5b0f}.pages-scope .note--grey{border-left-color:var(--muted);background:var(--fill);color:var(--text-5)}.pages-scope .note p{margin:8px 0 0}.pages-scope .only-desktop,.pages-scope .only-mobile{display:none}@media (width>=1024px){.pages-scope .only-desktop{display:flex}}@media (width<=1023px){.pages-scope .only-mobile{display:grid}}.pages-scope .hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.pages-scope .hero__grid{background-image:linear-gradient(var(--fill) 1px, transparent 1px), linear-gradient(90deg, var(--fill) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 70% at 30% 0,#000 25%,#0000 78%);mask-image:radial-gradient(85% 70% at 30% 0,#000 25%,#0000 78%)}.pages-scope .hero__glow{background:radial-gradient(ellipse at center, var(--glow-violet), transparent 62%);filter:blur(24px);pointer-events:none;width:900px;height:600px;animation:20s ease-in-out infinite pagesGlow;position:absolute;top:-280px;left:-100px}.pages-scope .hero__inner{max-width:var(--shell);padding:clamp(26px, 4vw, 42px) var(--gutter) clamp(30px, 4.5vw, 46px);margin:0 auto;position:relative}.pages-scope .crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.pages-scope .crumbs a{color:var(--text-5)}.pages-scope .crumbs a:hover{color:var(--lime-ink)}.pages-scope .crumbs__sep{color:var(--hair)}.pages-scope .crumbs__here{color:var(--text-4)}.pages-scope .meta-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.pages-scope .founder{border:1px solid var(--line-2);background:var(--bg-card);border-radius:20px;align-items:flex-start;gap:clamp(16px,2.4vw,20px);max-width:520px;margin-top:clamp(22px,3vw,28px);padding:clamp(20px,2.6vw,26px);display:flex}.pages-scope .founder__mono{background:linear-gradient(150deg, var(--violet), var(--violet-deep));width:clamp(52px,7vw,62px);height:clamp(52px,7vw,62px);font-family:var(--font-display);color:var(--on-accent);letter-spacing:-.5px;border-radius:16px;flex:none;place-items:center;font-size:clamp(17px,2.2vw,20px);font-weight:700;display:grid}.pages-scope .founder__body{min-width:0}.pages-scope .founder__name{font-family:var(--font-display);letter-spacing:-.7px;font-size:clamp(17px,2.2vw,20px);font-weight:500;line-height:1.25}.pages-scope .founder__role{color:var(--text-5);margin-top:8px;font-size:13.5px;font-weight:600}.pages-scope .founder__text{color:var(--text-3);text-wrap:pretty;margin:14px 0 0;font-size:14.5px;font-weight:500;line-height:1.65}.pages-scope .media-logos{grid-template-columns:repeat(var(--count,3), minmax(0, 1fr));gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.pages-scope .media-logos__item{border:1px solid var(--line-3);background:var(--fill-2);height:136px;color:var(--text-4);border-radius:20px;place-items:center;transition:color .2s,border-color .2s,background-color .2s,transform .2s;display:grid;position:relative}.pages-scope .media-logos__item:hover,.pages-scope .media-logos__item:focus-visible{color:var(--text);border-color:var(--tint-lime-b2);background:var(--fill-3);transform:translateY(-2px)}.pages-scope .media-logos__logo{height:var(--h);aspect-ratio:var(--ratio);max-width:78%;-webkit-mask:var(--logo) center / contain no-repeat;-webkit-mask:var(--logo) center / contain no-repeat;-webkit-mask:var(--logo) center / contain no-repeat;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat;background:currentColor;display:block}.pages-scope .media-logos__go{color:var(--lime-ink);opacity:0;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;transition:opacity .2s,transform .2s;position:absolute;top:14px;right:16px}.pages-scope .media-logos__item:hover .media-logos__go,.pages-scope .media-logos__item:focus-visible .media-logos__go{opacity:1;transform:translate(2px,-2px)}@media (width<=720px){.pages-scope .media-logos{grid-template-columns:1fr;gap:10px}.pages-scope .media-logos__item{height:96px}}@media (prefers-reduced-motion:reduce){.pages-scope .media-logos__item,.pages-scope .media-logos__go{transition:none}.pages-scope .media-logos__item:hover,.pages-scope .media-logos__item:focus-visible{transform:none}}.pages-scope .dev-block{grid-template-columns:minmax(0,1fr) minmax(0,220px);align-items:center;gap:clamp(20px,3vw,36px);display:grid}@media (width<=1023px){.pages-scope .dev-block{grid-template-columns:1fr}}.pages-scope .no-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-top:16px;display:grid}.pages-scope .no-list__item{border-left:2px solid var(--orange);background:#ff8a5b0d;border-radius:18px;padding:20px 22px}.pages-scope .no-list__item b{color:var(--text);font-size:15px;font-weight:700}.pages-scope .no-list__item p{color:var(--text-3);text-wrap:pretty;margin:10px 0 0;font-size:13.5px;font-weight:500;line-height:1.65}.pages-scope .how-col{border:1px solid var(--line-2);background:var(--bg-card);border-radius:22px;padding:clamp(22px,3vw,28px)}.pages-scope .how-col__kicker{font-family:var(--font-mono);letter-spacing:2px;font-size:11px}.pages-scope .how-col p{color:var(--text-2);text-wrap:pretty;margin:16px 0 0;font-size:14.5px;font-weight:500;line-height:1.7}.pages-scope .how-col a{align-items:center;gap:8px;margin-top:16px;font-size:13px;font-weight:700;display:inline-flex}.pages-scope .open-block{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(20px,3vw,36px);display:grid}@media (width<=1023px){.pages-scope .open-block{grid-template-columns:1fr}}.pages-scope .card--limeSoft{border:1px solid var(--tint-lime-b);background:linear-gradient(160deg, var(--panel-lime-a), var(--bg-card) 72%);border-radius:26px;padding:clamp(24px,3.6vw,38px)}.pages-scope .card--violetSoft{border:1px solid var(--tint-violet-b);background:linear-gradient(165deg, var(--panel-violet-a), var(--bg-card) 74%);border-radius:22px;padding:clamp(22px,3vw,30px)}.pages-scope .row-label{font-family:var(--font-mono);letter-spacing:1.2px;flex:none;width:104px;font-size:10px}.pages-scope .row-text{min-width:min(100%,180px);color:var(--text-2);flex:1;font-size:13.5px;font-weight:500;line-height:1.6}.pages-scope .link-chips{border-top:1px dashed var(--fill-hover);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;display:flex}.pages-scope .link-chip{border:1px solid var(--line-3);background:var(--fill);min-height:44px;font-family:var(--font-mono);color:var(--violet-light);border-radius:11px;align-items:center;padding:10px 14px;font-size:12px;font-weight:700;display:inline-flex}.pages-scope .link-chip:hover{border-color:var(--tint-lime-b2);color:var(--lime-ink)}.pages-scope .cta-card__kicker{font-family:var(--font-mono);letter-spacing:1.6px;font-size:10px}.pages-scope .cta-card__title{font-family:var(--font-display);letter-spacing:-1px;margin-top:14px;font-size:clamp(19px,2.4vw,25px);font-weight:600;line-height:1.2;display:block}.pages-scope .cta-card__text{color:var(--text-3);margin-top:12px;font-size:14.5px;font-weight:500;line-height:1.65;display:block}.pages-scope .cta-card__foot{align-items:center;gap:9px;margin-top:18px;display:flex}.pages-scope .cta-card__foot .mono{font-family:var(--font-mono);color:var(--muted);font-size:11.5px}.pages-scope .contact-shell{max-width:var(--shell);padding:clamp(26px, 4vw, 40px) var(--gutter) 0;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:clamp(18px,2.4vw,28px);margin:0 auto;display:grid}@media (width<=1023px){.pages-scope .contact-shell{grid-template-columns:1fr}.pages-scope .contact-aside{position:static!important}}.pages-scope .contact-aside{flex-direction:column;gap:14px;min-width:0;display:flex;position:sticky;top:96px}.pages-scope .field{display:block}.pages-scope .field__label{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--faint);font-size:10.5px;display:block}.pages-scope .field__input,.pages-scope .field__textarea{border:1px solid var(--line-4);background:var(--fill-2);width:100%;height:48px;color:var(--text);border-radius:13px;outline:none;margin-top:11px;padding:0 16px;font-size:15px}.pages-scope .field__textarea{resize:vertical;height:auto;min-height:170px;padding:14px 16px;line-height:1.65}.pages-scope .field__input:focus,.pages-scope .field__textarea:focus{border-color:var(--tint-lime-b2)}.pages-scope .field__input[aria-invalid=true],.pages-scope .field__textarea[aria-invalid=true]{border-color:var(--red)}.pages-scope .field__hint{color:var(--muted);margin-top:9px;font-size:12.5px;font-weight:500;line-height:1.5;display:block}.pages-scope .field__error{color:var(--red);margin-top:8px;font-size:12.5px;font-weight:600;display:block}.pages-scope .field__error[hidden]{display:none}.pages-scope .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-top:26px;display:grid}.pages-scope .honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.pages-scope .counter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.pages-scope .counter{font-family:var(--font-mono);color:var(--faint);font-size:11.5px}.pages-scope .counter.is-near{color:var(--orange)}.pages-scope .submit-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;display:flex}.pages-scope .submit-row p{color:var(--muted);flex:1;min-width:min(100%,220px);margin:0;font-size:12.5px;font-weight:500;line-height:1.5}.pages-scope .sent{border:1px solid var(--tint-lime-b);background:linear-gradient(160deg, var(--panel-lime-a), var(--bg-card) 72%);border-radius:26px;padding:clamp(26px,4vw,44px)}.pages-scope .sent[hidden]{display:none}.pages-scope .sent h2{font-family:var(--font-display);letter-spacing:-1.4px;text-wrap:balance;margin:18px 0 0;font-size:clamp(22px,3.4vw,34px);font-weight:700;line-height:1.1}.pages-scope .sent p{color:var(--text-3);text-wrap:pretty;max-width:520px;margin:14px 0 0;font-size:clamp(14.5px,1.9vw,17px);font-weight:500;line-height:1.65}.pages-scope .sent__actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.pages-scope .aside-card{border:1px solid var(--line-2);background:var(--bg-card);border-radius:22px;padding:24px}.pages-scope .aside-card__head{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10px}.pages-scope .aside-card p{color:var(--text-3);text-wrap:pretty;margin:13px 0 0;font-size:13.5px;font-weight:500;line-height:1.65}.pages-scope .aside-card__mail{font-family:var(--font-mono);margin-top:13px;font-size:15px;display:block}.pages-scope .aside-card--lime{border-color:var(--tint-lime-b);background:linear-gradient(165deg, var(--panel-lime-a), var(--bg-card) 74%)}.pages-scope .aside-card--lime p{color:var(--text-2)}.pages-scope .tick-list{flex-direction:column;gap:9px;margin-top:14px;display:flex}.pages-scope .tick-list li{color:var(--text-2);align-items:flex-start;gap:10px;font-size:13px;font-weight:500;line-height:1.55;display:flex}.pages-scope .tick-list li:before{content:"→";font-family:var(--font-mono);color:var(--lime-ink);flex:none;margin-top:3px;font-size:11px}.pages-scope ul.tick-list{margin:14px 0 0;padding:0;list-style:none}.pages-scope .doc-shell{max-width:var(--shell);padding:clamp(26px, 4vw, 40px) var(--gutter) 0;grid-template-columns:236px minmax(0,1fr);align-items:start;gap:clamp(18px,2.4vw,32px);margin:0 auto;display:grid}@media (width<=1023px){.pages-scope .doc-shell{grid-template-columns:1fr}}.pages-scope .toc{min-width:0;position:sticky;top:96px}.pages-scope .toc__list{flex-direction:column;gap:1px;margin-top:14px;display:flex}.pages-scope .toc__list a{color:var(--text-4);border-radius:9px;margin-inline:-12px;padding:9px 12px;font-size:13.5px;font-weight:600;line-height:1.35;display:block}.pages-scope .toc__list a:hover{background:var(--fill-3);color:var(--text)}.pages-scope .toc__list a.is-current{background:var(--glow-lime);color:var(--lime-ink)}.pages-scope .toc-mobile{border:1px solid var(--line-2);background:var(--bg-card);border-radius:20px;padding:20px}.pages-scope .toc-mobile__chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pages-scope .toc-mobile__chips a{border:1px solid var(--line-3);background:var(--fill);min-height:40px;color:var(--text-4);border-radius:10px;align-items:center;padding:8px 13px;font-size:13px;font-weight:600;display:inline-flex}.pages-scope .doc-body{flex-direction:column;gap:clamp(14px,2vw,20px);min-width:0;display:flex}.pages-scope .rule-list{flex-direction:column;gap:16px;margin-top:20px;display:flex}.pages-scope .rule{align-items:flex-start;gap:14px;display:flex}.pages-scope .rule:before{content:"→";font-family:var(--font-mono);color:var(--bullet,var(--violet));flex:none;margin-top:5px;font-size:11px}.pages-scope .rule p{min-width:0;color:var(--text-2);text-wrap:pretty;flex:1;margin:0;font-size:clamp(14px,1.8vw,15.5px);font-weight:500;line-height:1.7}.pages-scope .rule b{color:var(--text);font-weight:700}.pages-scope .src-name{font-family:var(--font-mono);flex:none;width:96px;font-size:11.5px;font-weight:700}.pages-scope .src-freq{font-family:var(--font-mono);letter-spacing:1px;color:var(--faint);flex:none;font-size:10px}.pages-scope .closing{border:1px solid var(--tint-lime-b);background:linear-gradient(160deg, var(--panel-lime-a), var(--bg-card) 72%);border-radius:24px;padding:clamp(22px,3.2vw,32px)}.pages-scope .closing p{color:var(--text);text-wrap:pretty;margin:0;font-size:clamp(15px,2vw,17.5px);font-weight:600;line-height:1.65}.pages-scope .closing .btn{margin-top:18px}@media (width>=1024px){.pages-scope .toc.only-desktop{display:block}}@media (width<=1023px){.pages-scope .toc-mobile.only-mobile{display:block}}@media (prefers-reduced-motion:reduce){.pages-scope .hero__glow{animation:none}}@keyframes rm-glow{0%,to{transform:translate(-8%,-6%)scale(1)}50%{transform:translate(8%,6%)scale(1.12)}}@keyframes rm-draw{to{stroke-dashoffset:0}}@keyframes rm-node-in{0%{opacity:0;transform:translateY(10px)scale(.94)}to{opacity:1;transform:none}}@keyframes rm-panel-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes rm-panel-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes tr-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}html:not(.is-loaded) .rm-hero__glow{animation-play-state:paused}.pages-scope.roadmap .btn--lime-outline{border:1px solid var(--tint-lime-b);color:var(--lime-ink);background:0 0}.pages-scope.roadmap .btn--lime-outline:hover{background:var(--glow-lime);color:var(--lime-ink)}.pages-scope.roadmap .rm-hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.pages-scope.roadmap .rm-hero__grid{background-image:linear-gradient(var(--fill) 1px, transparent 1px), linear-gradient(90deg, var(--fill) 1px, transparent 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 80% at 25% 0,#000 22%,#0000 76%);mask-image:radial-gradient(90% 80% at 25% 0,#000 22%,#0000 76%)}.pages-scope.roadmap .rm-hero__glow{pointer-events:none;background:radial-gradient(ellipse at center, var(--glow,var(--glow-violet)), transparent 62%);filter:blur(26px);will-change:transform;width:980px;height:640px;animation:22s ease-in-out infinite rm-glow;position:absolute;top:-300px;left:-140px}.pages-scope.roadmap .rm-hero__glow--lime{background:radial-gradient(circle, var(--glow-lime), transparent 66%);filter:blur(30px);width:620px;height:620px;animation:none;top:120px;left:auto;right:-160px}.pages-scope.roadmap .rm-hero__inner{max-width:var(--shell);padding:clamp(22px, 3vw, 36px) var(--gutter) clamp(28px, 4vw, 44px);margin:0 auto;position:relative}.pages-scope.roadmap .rm-hero__cols{align-items:end;gap:clamp(20px,3vw,44px);margin-top:22px;display:grid}@media (width>=1180px){.pages-scope.roadmap .rm-hero__cols{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.pages-scope.roadmap .rm-title{font-family:var(--font-display);letter-spacing:clamp(-2.6px,-.36vw,-1.1px);text-wrap:balance;max-width:880px;margin:0;font-size:clamp(28px,5vw,60px);font-weight:700;line-height:1.02}.pages-scope.roadmap .rm-title em{letter-spacing:-.02em;background:linear-gradient(100deg,var(--grad-h1-a) 0%,var(--grad-h1-b) 40%,var(--grad-h1-c) 94%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:.62em;font-style:normal;font-weight:500;display:inline-block}.pages-scope.roadmap .rm-lead{color:var(--text-3);text-wrap:pretty;max-width:660px;margin:20px 0 0;font-size:clamp(15px,2vw,18px);font-weight:500;line-height:1.65}.pages-scope.roadmap .rm-chips{flex-wrap:wrap;gap:8px;display:flex}.pages-scope.roadmap .rm-chip{min-height:44px;font-family:var(--font-body);background:var(--fill-2);color:var(--text-3);border:1px solid var(--line-3);cursor:pointer;border-radius:11px;align-items:center;gap:9px;padding:10px 15px;font-size:13.5px;font-weight:700;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.pages-scope.roadmap .rm-chip:hover{color:var(--text)}.pages-scope.roadmap .rm-chip[aria-pressed=true]{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.pages-scope.roadmap .rm-chip__dot{border-radius:50%;flex:none;width:7px;height:7px}.pages-scope.roadmap .rm-chip--accent[aria-pressed=true]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .rm-chip--accent[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.pages-scope.roadmap .rm-chip--accent[aria-pressed=true]{color:var(--text);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .rm-chip--accent[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 50%, transparent)}}.pages-scope.roadmap .rm-note{color:var(--muted);max-width:400px;margin:14px 0 0;font-size:13px;font-weight:500;line-height:1.6}.pages-scope.roadmap .rm-map{border-bottom:1px solid var(--line);background:linear-gradient(180deg, var(--bg-panel), var(--bg))}.pages-scope.roadmap .rm-map__inner{max-width:var(--shell);padding:clamp(22px, 3vw, 40px) var(--gutter);margin:0 auto}.pages-scope.roadmap .rm-map__stage{height:340px;display:none;position:relative}.pages-scope.roadmap .rm-map__svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pages-scope.roadmap .rm-spine{stroke-dasharray:2400;stroke-dashoffset:2400px;animation:2.2s cubic-bezier(.4,0,.2,1) .25s forwards rm-draw}.pages-scope.roadmap .rm-branch{stroke-dasharray:520;stroke-dashoffset:520px;animation:1.1s cubic-bezier(.4,0,.2,1) forwards rm-draw}.pages-scope.roadmap .rm-tline{stroke-dasharray:1600;stroke-dashoffset:1600px;animation:1.8s cubic-bezier(.4,0,.2,1) .2s forwards rm-draw}.pages-scope.roadmap .rm-node{text-align:left;width:150px;color:var(--text-2);animation:.5s cubic-bezier(.4,0,.2,1) both rm-node-in;display:block;position:absolute}.pages-scope.roadmap .rm-node:hover{color:var(--text)}.pages-scope.roadmap .rm-node__dot{width:46px;height:46px;font-family:var(--font-mono);color:var(--on-accent);box-shadow:0 8px 22px var(--bg-panel);border-radius:14px;place-items:center;font-size:15px;font-weight:700;display:grid}.pages-scope.roadmap .rm-node[aria-current=true] .rm-node__dot{box-shadow:0 0 0 5px var(--glow-lime), 0 10px 30px var(--bg-panel)}.pages-scope.roadmap .rm-node__title{font-family:var(--font-display);letter-spacing:-.6px;margin-top:12px;font-size:16px;font-weight:600;display:block}.pages-scope.roadmap .rm-node[aria-current=true] .rm-node__title{color:var(--text)}.pages-scope.roadmap .rm-node__meta{font-family:var(--font-mono);color:var(--muted);margin-top:7px;font-size:11px;display:block}.pages-scope.roadmap .rm-track-pin{background:var(--bg-card);width:260px;height:44px;color:var(--text);border:1px solid var(--accent);border-radius:12px;align-items:center;gap:8px;padding:0 12px;animation:.5s cubic-bezier(.4,0,.2,1) both rm-node-in;display:flex;position:absolute;left:73.6%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .rm-track-pin{border:1px solid color-mix(in srgb, var(--accent) 27%, transparent)}}.pages-scope.roadmap .rm-track-pin{transition:border-color .16s}.pages-scope.roadmap .rm-track-pin:hover{color:var(--text);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .rm-track-pin:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}}.pages-scope.roadmap .rm-track-pin__dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.pages-scope.roadmap .rm-track-pin__title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.pages-scope.roadmap .rm-track-pin__meta{font-family:var(--font-mono);color:var(--text-5);white-space:nowrap;flex:none;font-size:11px}.pages-scope.roadmap .rm-stack{flex-direction:column;gap:10px;display:flex}.pages-scope.roadmap .rm-stack__row{border:1px solid var(--line-2);background:var(--bg-card);width:100%;min-height:44px;color:var(--text);text-align:left;border-radius:18px;align-items:center;gap:14px;padding:16px 18px;display:flex}.pages-scope.roadmap .rm-stack__row:hover{color:var(--text);border-color:var(--line-4)}.pages-scope.roadmap .rm-stack__row[aria-current=true]{border-color:var(--tint-lime-b);background:linear-gradient(160deg, var(--panel-lime-a), var(--bg-card) 70%)}.pages-scope.roadmap .rm-stack__dot{width:36px;height:36px;font-family:var(--font-mono);color:var(--on-accent);border-radius:11px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.pages-scope.roadmap .rm-stack__title{font-family:var(--font-display);letter-spacing:-.6px;font-size:16px;font-weight:600;display:block}.pages-scope.roadmap .rm-stack__meta{font-family:var(--font-mono);color:var(--muted);margin-top:6px;font-size:11px;display:block}.pages-scope.roadmap .rm-stack__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:9px;display:grid}.pages-scope.roadmap .rm-stack__hint{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);align-items:center;gap:10px;padding:2px 6px;font-size:10px;display:flex}.pages-scope.roadmap .rm-stack__hint span:first-child{background:linear-gradient(180deg, var(--violet), transparent);width:2px;height:22px;margin-left:16px}.pages-scope.roadmap .rm-stack__track{border-radius:16px;padding:14px 16px;display:block}.pages-scope.roadmap .rm-stack__track-name{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}@media (width>=1180px){.pages-scope.roadmap .rm-map__stage{display:block}.pages-scope.roadmap .rm-map__inner>.rm-stack{display:none}}.pages-scope.roadmap .rm-shell{max-width:var(--shell);padding:clamp(26px, 4vw, 44px) var(--gutter) 0;align-items:start;gap:clamp(18px,2.4vw,28px);margin:0 auto;display:grid}@media (width>=1180px){.pages-scope.roadmap .rm-shell--rail{grid-template-columns:190px minmax(0,1fr)}}.pages-scope.roadmap .rm-rail{top:calc(var(--header-h) + 24px);display:none;position:sticky}@media (width>=1180px){.pages-scope.roadmap .rm-rail{display:block}}.pages-scope.roadmap .rm-rail__head{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--dim);font-size:10px}.pages-scope.roadmap .rm-rail__list{flex-direction:column;gap:2px;margin-top:14px;display:flex}.pages-scope.roadmap .rm-rail a{color:var(--muted);border-radius:10px;align-items:center;gap:11px;margin:0 -11px;padding:9px 11px;font-size:13.5px;font-weight:700;display:flex}.pages-scope.roadmap .rm-rail a[aria-current=true]{background:var(--glow-lime);color:var(--text)}.pages-scope.roadmap .rm-rail__dot{background:var(--hair);border-radius:50%;flex:none;width:7px;height:7px}.pages-scope.roadmap .rm-rail a[aria-current=true] .rm-rail__dot{background:var(--lime)}.pages-scope.roadmap .rm-col{flex-direction:column;gap:clamp(18px,2.6vw,28px);min-width:0;display:flex}.pages-scope.roadmap .rm-card{border:1px solid var(--line-2);background:var(--bg-card);border-radius:24px;padding:clamp(20px,3vw,32px)}.pages-scope.roadmap .rm-card--stage{border-radius:26px}.pages-scope.roadmap .rm-kicker{font-family:var(--font-mono);letter-spacing:2px;font-size:10.5px}.pages-scope.roadmap .rm-h2{font-family:var(--font-display);letter-spacing:-1.1px;margin:13px 0 0;font-size:clamp(19px,2.6vw,26px);font-weight:600}.pages-scope.roadmap .rm-h2--big{letter-spacing:-1.3px;text-wrap:balance;font-size:clamp(21px,3vw,30px);line-height:1.14}.pages-scope.roadmap .rm-text{color:var(--text-3);text-wrap:pretty;max-width:760px;margin:16px 0 0;font-size:clamp(14.5px,1.8vw,16.5px);font-weight:500;line-height:1.7}.pages-scope.roadmap .rm-text--sm{color:var(--text-5);max-width:680px;font-size:14.5px;line-height:1.65}.pages-scope.roadmap .rm-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.pages-scope.roadmap .rm-side-note{color:var(--muted);font-size:12.5px;font-weight:600}.pages-scope.roadmap .rm-stats{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(min(50%,150px),1fr));gap:1px;margin-top:20px;display:grid;overflow:hidden}.pages-scope.roadmap .rm-stat{background:var(--bg-panel);color:var(--text);padding:clamp(16px,2.2vw,20px);display:block}.pages-scope.roadmap .rm-stat:hover{background:var(--bg-hover);color:var(--text)}.pages-scope.roadmap .rm-stat__value{font-family:var(--font-display);letter-spacing:-1.3px;font-size:clamp(20px,2.8vw,28px);font-weight:700;display:block}.pages-scope.roadmap .rm-stat__label{color:var(--text-5);margin-top:8px;font-size:12.5px;font-weight:600;line-height:1.4;display:block}.pages-scope.roadmap .rm-stat__url{font-family:var(--font-mono);color:var(--faint);align-items:center;gap:7px;margin-top:11px;font-size:10.5px;display:flex}.pages-scope.roadmap .rm-tagrow{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:16px;display:flex}.pages-scope.roadmap .rm-tagrow__label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);flex:none;margin-top:8px;font-size:10px}.pages-scope.roadmap .rm-tagcounts{flex-wrap:wrap;flex:1;gap:6px;min-width:min(100%,240px);display:flex}.pages-scope.roadmap .rm-tagcounts span{color:var(--text-2);border:1px solid var(--line-3);border-radius:9px;align-items:center;gap:7px;padding:6px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.pages-scope.roadmap .rm-tagcounts span b{font-family:var(--font-mono);color:var(--text-5);font-size:10.5px;font-weight:500}.pages-scope.roadmap .rm-stage__head{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.pages-scope.roadmap .rm-stage__num{width:44px;height:44px;font-family:var(--font-mono);color:var(--on-accent);border-radius:13px;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.pages-scope.roadmap .rm-stage__salary{text-align:right;flex:none;max-width:220px}.pages-scope.roadmap .rm-stage__salary b{font-family:var(--font-display);letter-spacing:-1.1px;color:var(--figure);font-size:clamp(18px,2.4vw,24px);font-weight:700;display:block}.pages-scope.roadmap .rm-stage__salary span{color:var(--muted);margin-top:6px;font-size:11.5px;font-weight:600;line-height:1.4;display:block}.pages-scope.roadmap .rm-divider{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.pages-scope.roadmap .rm-divider__label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10px}.pages-scope.roadmap .rm-divider__line{background:var(--line);flex:1;min-width:20px;height:1px}.pages-scope.roadmap .rm-divider__count{color:var(--faint);font-size:12px;font-weight:600}.pages-scope.roadmap .rm-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px;margin-top:14px;display:grid}.pages-scope.roadmap .rm-tile{text-align:left;border:1px solid var(--fill-hover);background:var(--fill-2);cursor:pointer;font-family:var(--font-body);min-height:44px;color:var(--text);border-radius:16px;padding:15px 16px;transition:border-color .16s,transform .16s}.pages-scope.roadmap .rm-tile:hover{border-color:var(--line-4);transform:translateY(-2px)}.pages-scope.roadmap .rm-tile__row{align-items:center;gap:9px;display:flex}.pages-scope.roadmap .rm-tile__mark{border-radius:50%;flex:none;width:9px;height:9px}.pages-scope.roadmap .rm-tile__mark--core{background:var(--lime)}.pages-scope.roadmap .rm-tile__mark--recommended{border:1.5px solid var(--violet)}.pages-scope.roadmap .rm-tile__mark--optional{border:1.5px dashed var(--muted)}.pages-scope.roadmap .rm-tile__mark--next{border:1.5px solid var(--lime-ink)}.pages-scope.roadmap .rm-tile__kind{font-family:var(--font-mono);letter-spacing:1.2px;font-size:9.5px}.pages-scope.roadmap .rm-tile__kind--core{color:var(--lime-ink)}.pages-scope.roadmap .rm-tile__kind--recommended{color:var(--violet)}.pages-scope.roadmap .rm-tile__kind--optional,.pages-scope.roadmap .rm-tile__kind--next{color:var(--muted)}.pages-scope.roadmap .rm-tile__name{letter-spacing:-.3px;color:var(--text);margin-top:11px;font-size:14.5px;font-weight:700;line-height:1.35;display:block}.pages-scope.roadmap .rm-tile__demand{font-family:var(--font-mono);color:var(--text-5);margin-top:9px;font-size:11px;display:block}.pages-scope.roadmap .rm-badge-test{font-family:var(--font-mono);letter-spacing:.8px;color:var(--on-accent);background:var(--lime);border-radius:4px;margin-left:auto;padding:2px 5px;font-size:9px;font-weight:700}.pages-scope.roadmap .rm-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.pages-scope.roadmap .rm-tracks{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-top:24px;display:grid}.pages-scope.roadmap .rm-track-card{color:var(--text);background:var(--bg-panel);border:1px solid var(--accent);border-radius:20px;padding:22px;display:block}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .rm-track-card{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent)}}.pages-scope.roadmap .rm-track-card{transition:transform .18s,border-color .18s}.pages-scope.roadmap .rm-track-card:hover{color:var(--text);border-color:var(--accent);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .rm-track-card:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}}.pages-scope.roadmap .rm-track-card__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.pages-scope.roadmap .rm-track-card__kicker{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--accent);align-items:center;gap:9px;font-size:10px;display:flex}.pages-scope.roadmap .rm-track-card__kicker i{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.pages-scope.roadmap .rm-track-card__meta{font-family:var(--font-mono);color:var(--muted);font-size:11px}.pages-scope.roadmap .rm-track-card__title{font-family:var(--font-display);letter-spacing:-.7px;margin-top:16px;font-size:18px;font-weight:500;line-height:1.25;display:block}.pages-scope.roadmap .rm-track-card__who{color:var(--text-5);text-wrap:pretty;margin-top:10px;font-size:13.5px;font-weight:500;line-height:1.6;display:block}.pages-scope.roadmap .rm-tags{flex-wrap:wrap;gap:6px;margin-top:15px;display:flex}.pages-scope.roadmap .rm-tags span{color:var(--text-3);background:var(--fill-3);border-radius:7px;padding:4px 9px;font-size:11.5px;font-weight:600}.pages-scope.roadmap .rm-track-card__go{border-top:1px dashed var(--line-3);color:var(--accent);align-items:center;gap:9px;margin-top:16px;padding-top:14px;font-size:13.5px;font-weight:700;display:flex}.pages-scope.roadmap .rm-url{font-family:var(--font-mono);color:var(--dim);margin-left:auto;font-size:11px}.pages-scope.roadmap .rm-faq{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;flex-direction:column;gap:1px;margin-top:22px;display:flex;overflow:hidden}.pages-scope.roadmap .rm-faq__item{background:var(--bg-panel);padding:clamp(16px,2.4vw,20px)}.pages-scope.roadmap .rm-faq__q{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);min-height:32px;color:var(--text);background:0 0;border:none;align-items:flex-start;gap:14px;padding:0;display:flex}.pages-scope.roadmap .rm-faq__q span:first-child{flex:1;min-width:0;font-size:15.5px;font-weight:700;line-height:1.4}.pages-scope.roadmap .rm-faq__icon{font-family:var(--font-mono);color:var(--faint);flex:none;font-size:15px}.pages-scope.roadmap .rm-faq__q[aria-expanded=true] .rm-faq__icon{color:var(--lime-ink)}.pages-scope.roadmap .rm-faq__a{color:var(--text-3);text-wrap:pretty;max-width:760px;margin:14px 0 0;font-size:14px;font-weight:500;line-height:1.7}.pages-scope.roadmap .rm-panel-wrap{z-index:80;background:var(--fill-strong);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=1081px){.pages-scope.roadmap .rm-panel-wrap{-webkit-backdrop-filter:none;backdrop-filter:none;padding:calc(var(--header-h) + 12px) 20px 20px;background:0 0;align-items:stretch;inset:0 0 0 auto}}.pages-scope.roadmap .rm-panel{border:1px solid var(--line-dash);background:var(--bg-card);border-bottom:none;border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-height:86vh;animation:.22s cubic-bezier(.4,0,.2,1) rm-panel-up;display:flex}@media (width>=1081px){.pages-scope.roadmap .rm-panel{border-bottom:1px solid var(--line-3);width:min(430px,42vw);max-height:none;box-shadow:0 30px 80px var(--bg-panel);border-radius:24px;animation:.22s cubic-bezier(.4,0,.2,1) rm-panel-in}}.pages-scope.roadmap .rm-panel__head{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:clamp(18px,2.4vw,24px);display:flex}.pages-scope.roadmap .rm-panel__meta{font-family:var(--font-mono);color:var(--faint);flex-wrap:wrap;align-items:center;gap:9px;font-size:10.5px;display:flex}.pages-scope.roadmap .rm-panel__kind{letter-spacing:1.4px;font-size:9.5px}.pages-scope.roadmap .rm-panel__title{font-family:var(--font-display);letter-spacing:-.9px;text-wrap:balance;margin:12px 0 0;font-size:clamp(18px,2.4vw,22px);font-weight:600;line-height:1.25}.pages-scope.roadmap .rm-panel__body{flex:1;min-height:0;padding:clamp(18px,2.4vw,24px);overflow-y:auto}.pages-scope.roadmap .rm-panel__text{color:var(--text-2);text-wrap:pretty;margin:0;font-size:15px;font-weight:500;line-height:1.7}.pages-scope.roadmap .rm-panel__close{border:1px solid var(--line-3);background:var(--fill-2);width:44px;height:44px;color:var(--text-5);cursor:pointer;font-size:15px;font-family:var(--font-body);border-radius:12px;flex:none}.pages-scope.roadmap .rm-panel__close:hover{color:var(--text)}.pages-scope.roadmap .rm-panel__nav{flex-wrap:wrap;gap:10px;padding:0 clamp(18px,2.4vw,24px) clamp(18px,2.4vw,24px);display:flex}.pages-scope.roadmap .rm-panel__nav button{min-width:120px;min-height:44px;font-family:var(--font-body);border:1px solid var(--line-3);background:var(--fill-2);color:var(--text-3);cursor:pointer;border-radius:12px;flex:1;padding:0 14px;font-size:13px;font-weight:700}.pages-scope.roadmap .rm-panel__nav button:disabled{background:var(--fill);color:var(--dim);cursor:not-allowed}.pages-scope.roadmap .rm-links-head{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);margin-top:24px;font-size:10px}.pages-scope.roadmap .rm-callout{border-left:2px solid var(--violet);background:var(--glow-violet-soft);border-radius:14px;margin-top:16px;padding:14px 16px}.pages-scope.roadmap .rm-callout--accent{border-left-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .rm-callout--accent{background:color-mix(in srgb, var(--accent) 7%, transparent)}}.pages-scope.roadmap .rm-callout--lime{border:1px solid var(--tint-lime-b);background:var(--glow-lime);border-left:none;border-radius:16px;padding:16px 18px}.pages-scope.roadmap .rm-callout__label{font-family:var(--font-mono);letter-spacing:1.4px;font-size:10px}.pages-scope.roadmap .rm-callout p{color:var(--text-2);margin:9px 0 0;font-size:13.5px;font-weight:500;line-height:1.65}.pages-scope.roadmap .rm-demand{flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:11px;display:flex}.pages-scope.roadmap .rm-demand b{font-family:var(--font-display);letter-spacing:-1.3px;color:var(--figure);font-size:26px;font-weight:700}.pages-scope.roadmap .rm-demand span{color:var(--text-2);font-size:13.5px;font-weight:600}.pages-scope.roadmap .rm-demand-link{color:var(--lime-ink);margin-top:12px;font-size:13px;font-weight:700;display:inline-block}.pages-scope.roadmap .rm-links{background:var(--line-2);border:1px solid var(--line-2);border-radius:14px;flex-direction:column;gap:1px;margin-top:12px;display:flex;overflow:hidden}.pages-scope.roadmap .rm-links a{background:var(--bg-panel);color:var(--text);flex-wrap:wrap;align-items:center;gap:12px;padding:13px 15px;display:flex}.pages-scope.roadmap .rm-links a:hover{background:var(--bg-hover-2);color:var(--text)}.pages-scope.roadmap .rm-links__kind{font-family:var(--font-mono);letter-spacing:1.2px;flex:none;width:88px;font-size:9.5px}.pages-scope.roadmap .rm-links__label{flex:1;min-width:min(100%,140px);font-size:13.5px;font-weight:600;line-height:1.4}.pages-scope.roadmap .rm-links__arrow{color:var(--faint);flex:none}.pages-scope.roadmap .tr-panel{border:1px solid var(--accent);border-radius:22px;padding:clamp(18px,2.4vw,24px)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .tr-panel{border:1px solid color-mix(in srgb, var(--accent) 24%, transparent)}}.pages-scope.roadmap .tr-panel{background:linear-gradient(165deg, var(--accent), var(--bg-card) 72%)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .tr-panel{background:linear-gradient(165deg, color-mix(in srgb, var(--accent) 8%, transparent), var(--bg-card) 72%)}}.pages-scope.roadmap .tr-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.pages-scope.roadmap .tr-list__row{align-items:flex-start;gap:11px;display:flex}.pages-scope.roadmap .tr-list__row i{font-family:var(--font-mono);flex:none;margin-top:3px;font-size:11px;font-style:normal}.pages-scope.roadmap .tr-list__row span{font-size:13.5px;font-weight:500;line-height:1.55}.pages-scope.roadmap .tr-sep{border-top:1px dashed var(--line-3);margin-top:20px;padding-top:16px}.pages-scope.roadmap .tr-label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10px}.pages-scope.roadmap .tr-line{height:200px;display:none;position:relative}@media (width>=1081px){.pages-scope.roadmap .tr-line{display:block}.pages-scope.roadmap .tr-line+.rm-stack{display:none}}.pages-scope.roadmap .tr-milestone{width:150px;position:absolute;transform:translate(-19px)}.pages-scope.roadmap .tr-milestone__dot{width:38px;height:38px;font-family:var(--font-mono);color:var(--on-accent);border-radius:12px;place-items:center;font-size:12px;font-weight:700;display:grid}.pages-scope.roadmap .tr-milestone__title{font-family:var(--font-display);letter-spacing:-.5px;margin-top:11px;font-size:15px;font-weight:600}.pages-scope.roadmap .tr-milestone__meta{font-family:var(--font-mono);color:var(--muted);margin-top:6px;font-size:10.5px}.pages-scope.roadmap .tr-axes{flex-direction:column;gap:20px;margin-top:24px;display:flex}.pages-scope.roadmap .tr-axis__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pages-scope.roadmap .tr-axis__name{color:var(--text);font-size:14px;font-weight:700}.pages-scope.roadmap .tr-axis__note{color:var(--muted);font-size:12.5px;font-weight:500}.pages-scope.roadmap .tr-axis__rows{flex-direction:column;gap:8px;margin-top:12px;display:flex}.pages-scope.roadmap .tr-bar-row{align-items:center;gap:12px;display:flex}.pages-scope.roadmap .tr-bar-row__label{white-space:nowrap;text-overflow:ellipsis;flex:none;width:min(30%,120px);font-size:12.5px;font-weight:600;overflow:hidden}.pages-scope.roadmap .tr-bar-row__track{background:var(--fill-3);border-radius:999px;flex:1;min-width:40px;height:9px;overflow:hidden}.pages-scope.roadmap .tr-bar-row__fill{transform-origin:0;border-radius:999px;height:100%;animation:.9s cubic-bezier(.4,0,.2,1) both tr-grow;display:block}.pages-scope.roadmap .tr-bar-row__value{text-align:right;width:88px;font-family:var(--font-mono);flex:none;font-size:12.5px}.pages-scope.roadmap .tr-nodes{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;flex-direction:column;gap:1px;margin-top:22px;display:flex;overflow:hidden}.pages-scope.roadmap .tr-node{background:var(--bg-panel)}.pages-scope.roadmap .tr-node__btn{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);min-height:44px;color:var(--text);background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:14px;padding:clamp(15px,2vw,18px);display:flex}.pages-scope.roadmap .tr-node__mark{border-radius:50%;flex:none;width:10px;height:10px}.pages-scope.roadmap .tr-node__name{flex:1;min-width:min(100%,180px)}.pages-scope.roadmap .tr-node__name h3{letter-spacing:-.3px;color:var(--text);margin:0;font-size:15px;font-weight:700;line-height:1.35}.pages-scope.roadmap .tr-node__kind{font-family:var(--font-mono);letter-spacing:1.2px;margin-top:7px;font-size:10.5px;display:block}.pages-scope.roadmap .tr-node__demand{font-family:var(--font-mono);color:var(--text-5);flex:none;font-size:11.5px}.pages-scope.roadmap .tr-node__icon{font-family:var(--font-mono);color:var(--faint);flex:none;font-size:15px}.pages-scope.roadmap .tr-node__btn[aria-expanded=true] .tr-node__icon{color:var(--accent)}.pages-scope.roadmap .tr-node__body{padding:0 clamp(15px,2vw,18px) clamp(18px,2.4vw,22px)}.pages-scope.roadmap .tr-node__body p{color:var(--text-2);text-wrap:pretty;max-width:760px;margin:0;font-size:14.5px;font-weight:500;line-height:1.7}.pages-scope.roadmap .tr-pills{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pages-scope.roadmap .tr-pill{border:1px solid var(--line-3);background:var(--fill-2);min-height:40px;color:var(--text-2);border-radius:11px;align-items:center;gap:9px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.pages-scope.roadmap .tr-pill:hover{border-color:var(--tint-lime-b2);color:var(--lime-ink)}.pages-scope.roadmap .tr-pill i{font-family:var(--font-mono);letter-spacing:1.2px;font-size:9.5px;font-style:normal}.pages-scope.roadmap .tr-day{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin-top:22px;display:grid}.pages-scope.roadmap .tr-day__card{border:1px solid var(--fill-hover);background:var(--fill-2);border-radius:18px;padding:18px 20px}.pages-scope.roadmap .tr-day__tag{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--accent);font-size:10px}.pages-scope.roadmap .tr-day__card p{color:var(--text-2);text-wrap:pretty;margin:11px 0 0;font-size:14px;font-weight:500;line-height:1.65}.pages-scope.roadmap .tr-related{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:18px;display:grid}.pages-scope.roadmap .tr-related a{border:1px solid var(--fill-hover);background:var(--bg-panel);color:var(--text);border-radius:18px;padding:20px 22px;display:block}.pages-scope.roadmap .tr-related a:hover{border-color:var(--tint-lime-b2);color:var(--text)}.pages-scope.roadmap .tr-related__kind{font-family:var(--font-mono);letter-spacing:1.4px;font-size:9.5px}.pages-scope.roadmap .tr-related__label{margin-top:11px;font-size:15px;font-weight:700;line-height:1.4;display:block}.pages-scope.roadmap .tr-related__url{font-family:var(--font-mono);color:var(--text-5);align-items:center;gap:8px;margin-top:12px;font-size:11.5px;display:flex}.pages-scope.roadmap .tr-prevnext{gap:12px;display:grid}@media (width>=720px){.pages-scope.roadmap .tr-prevnext{grid-template-columns:1fr 1fr}}.pages-scope.roadmap .tr-prevnext a{border:1px solid var(--fill-hover);background:var(--bg-card);color:var(--text);border-radius:20px;min-height:44px;padding:20px 22px;display:block}.pages-scope.roadmap .tr-prevnext a:hover{border-color:var(--line-5);color:var(--text)}.pages-scope.roadmap .tr-prevnext__label{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--faint);font-size:10px;display:block}.pages-scope.roadmap .tr-prevnext__title{font-family:var(--font-display);letter-spacing:-.6px;align-items:center;gap:9px;margin-top:11px;font-size:17px;font-weight:500;display:flex}.pages-scope.roadmap .tr-prevnext__title i{border-radius:50%;flex:none;width:7px;height:7px}.pages-scope.roadmap .tr-prevnext a:last-child{text-align:right}.pages-scope.roadmap .tr-prevnext a:last-child .tr-prevnext__title{justify-content:flex-end}.pages-scope.roadmap .home-map{--pad:clamp(22px, 3.4vw, 36px);padding:var(--pad);border:1px solid var(--tint-violet-b);background:linear-gradient(165deg, var(--panel-card-violet), var(--bg-card) 72%);border-radius:26px;margin-top:clamp(28px,4vw,40px);position:relative;overflow:hidden}.pages-scope.roadmap .home-map__line{left:var(--pad);right:var(--pad);top:calc(var(--pad) - 7px);width:calc(100% - 2 * var(--pad));pointer-events:none;height:60px;display:none;position:absolute}.pages-scope.roadmap .home-map__line path{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:1.8s cubic-bezier(.4,0,.2,1) .2s forwards rm-draw}.pages-scope.roadmap .home-map__stages{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:14px;display:grid;position:relative}@media (width>=900px){.pages-scope.roadmap .home-map__line{display:block}.pages-scope.roadmap .home-map__stages{grid-template-columns:repeat(4,1fr)}}.pages-scope.roadmap .home-map__stage{text-align:center;color:var(--text);flex-direction:column;align-items:center;padding:0 8px;animation:.5s cubic-bezier(.4,0,.2,1) both rm-node-in;display:flex}.pages-scope.roadmap .home-map__stage:hover{color:var(--text)}.pages-scope.roadmap .home-map__stage:hover .home-map__title{color:var(--lime-ink)}.pages-scope.roadmap .home-map__dot{width:46px;height:46px;font-family:var(--font-mono);color:var(--on-accent);box-shadow:0 8px 22px var(--bg-panel);border-radius:14px;place-items:center;font-size:15px;font-weight:700;display:grid}.pages-scope.roadmap .home-map__title{font-family:var(--font-display);letter-spacing:-.6px;margin-top:14px;font-size:17px;font-weight:600;transition:color .16s}.pages-scope.roadmap .home-map__meta{font-family:var(--font-mono);color:var(--muted);margin-top:7px;font-size:11.5px}.pages-scope.roadmap .home-map__tracks{border-top:1px dashed var(--line-3);flex-wrap:wrap;align-items:center;gap:12px;margin-top:clamp(22px,3vw,30px);padding-top:18px;display:flex}.pages-scope.roadmap .home-map__chips{flex-wrap:wrap;flex:480px;align-items:center;gap:8px;min-width:0;display:flex}.pages-scope.roadmap .home-map__label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);margin-right:6px;font-size:10px}.pages-scope.roadmap .home-map__track{background:var(--bg-card);border:1px solid var(--accent);border-radius:11px;align-items:center;gap:8px;min-height:40px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .home-map__track{border:1px solid color-mix(in srgb, var(--accent) 27%, transparent)}}.pages-scope.roadmap .home-map__track{color:var(--text);font-size:13.5px;font-weight:700;transition:border-color .16s}.pages-scope.roadmap .home-map__track:hover{color:var(--text);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.pages-scope.roadmap .home-map__track:hover{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}}.pages-scope.roadmap .home-map__track i{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.pages-scope.roadmap .home-map__track b{font-family:var(--font-mono);color:var(--text-5);margin-left:2px;font-size:11px;font-weight:500}.pages-scope.roadmap .home-map__cta{border-radius:12px;flex:none;min-height:44px;margin-left:auto}@media (width<=720px){.pages-scope.roadmap .home-map__cta{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.pages-scope.roadmap .home-map__line path{stroke-dashoffset:0;animation:none}.pages-scope.roadmap .home-map__stage{animation:none}}.pages-scope.roadmap .rm-cta{border:1px solid var(--tint-lime-b);background:linear-gradient(160deg, var(--panel-lime-a), var(--bg-card) 72%);border-radius:26px;align-items:center;gap:clamp(20px,3vw,36px);padding:clamp(22px,3.4vw,38px);display:grid}@media (width>=900px){.pages-scope.roadmap .rm-cta{grid-template-columns:minmax(0,1.5fr) minmax(0,280px)}}.pages-scope.roadmap .rm-cta h2{font-family:var(--font-display);letter-spacing:-1.5px;text-wrap:balance;margin:14px 0 0;font-size:clamp(21px,3vw,32px);font-weight:700;line-height:1.12}.pages-scope.roadmap .rm-cta p{color:var(--text-2);text-wrap:pretty;margin:14px 0 0;font-size:clamp(14.5px,1.8vw,16.5px);font-weight:500;line-height:1.65}.pages-scope.roadmap .rm-cta__buttons{flex-direction:column;gap:10px;min-width:0;display:flex}@media (prefers-reduced-motion:reduce){.pages-scope.roadmap .rm-spine,.pages-scope.roadmap .rm-branch,.pages-scope.roadmap .rm-tline{stroke-dashoffset:0;animation:none}.pages-scope.roadmap .rm-node,.pages-scope.roadmap .rm-track-pin,.pages-scope.roadmap .rm-panel,.pages-scope.roadmap .rm-hero__glow{animation:none}.pages-scope.roadmap .tr-bar-row__fill{animation:none;transform:none}}@keyframes pj-glow{0%,to{transform:translate(-8%,-6%)scale(1)}50%{transform:translate(8%,6%)scale(1.12)}}@keyframes pj-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}html:not(.is-loaded) .pj-hero__glow{animation-play-state:paused}.pages-scope.projects .visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pages-scope.projects .pj-subnav{top:var(--header-h);z-index:55;background:var(--bg-card);position:sticky}@supports (color:color-mix(in lab, red, red)){.pages-scope.projects .pj-subnav{background:color-mix(in srgb, var(--bg-card) 92%, transparent)}}.pages-scope.projects .pj-subnav{-webkit-backdrop-filter:blur(14px)saturate(1.3);backdrop-filter:blur(14px)saturate(1.3);border-bottom:1px solid var(--line-2);box-shadow:0 10px 30px -22px #00000073}.pages-scope.projects .pj-subnav__in{max-width:var(--shell);padding:0 var(--gutter);align-items:center;gap:clamp(12px,2vw,24px);height:56px;margin:0 auto;display:flex}.pages-scope.projects .pj-mark{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--lime-ink);flex:none;align-items:center;gap:9px;font-size:11px;display:inline-flex}.pages-scope.projects .pj-mark:before{content:"";background:var(--lime);border-radius:2px;width:8px;height:8px}.pages-scope.projects .pj-mark:hover{color:var(--lime-ink)}.pages-scope.projects .pj-sep{background:var(--line-dash);flex:none;width:1px;height:22px}.pages-scope.projects .pj-views{scrollbar-width:none;flex:1;gap:4px;min-width:0;height:100%;display:flex;overflow-x:auto}.pages-scope.projects .pj-views::-webkit-scrollbar{display:none}.pages-scope.projects .pj-view{font-family:var(--font-body);color:var(--text-5);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;align-items:center;gap:7px;padding:0 12px;font-size:13.5px;font-weight:700;display:inline-flex}.pages-scope.projects .pj-view:hover{color:var(--text)}.pages-scope.projects .pj-view span{font-family:var(--font-mono);color:var(--text-5);font-size:10.5px}.pages-scope.projects .pj-view[aria-current=true]{color:var(--text);border-bottom-color:var(--lime-ink)}.pages-scope.projects .pj-view[aria-current=true] span{color:var(--on-accent);background:var(--lime);border-radius:5px;padding:2px 6px}.pages-scope.projects .pj-add{white-space:nowrap;flex:none;align-items:center;gap:4px;height:38px;min-height:38px;padding:0 16px;font-size:13px;display:inline-flex}@media (width<=640px){.pages-scope.projects .pj-add__long{display:none}}.pages-scope.projects .pj-hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.pages-scope.projects .pj-hero:before{content:"";background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 90% at 20% 0,#000 20%,#0000 75%);mask-image:radial-gradient(80% 90% at 20% 0,#000 20%,#0000 75%)}.pages-scope.projects .pj-hero__glow{pointer-events:none;background:radial-gradient(ellipse at center, var(--glow,var(--glow-lime)), transparent 62%);filter:blur(28px);width:960px;height:600px;animation:22s ease-in-out infinite pj-glow;position:absolute;top:-300px;left:-140px}.pages-scope.projects .pj-hero__in{max-width:var(--shell);padding:clamp(22px,3vw,34px) var(--gutter) clamp(20px,2.8vw,28px);margin:0 auto;position:relative}.pages-scope.projects .pj-h1{font-family:var(--font-display);letter-spacing:clamp(-2.4px,-.32vw,-1px);text-wrap:balance;max-width:860px;margin:14px 0 0;font-size:clamp(26px,4.2vw,50px);font-weight:700;line-height:1.04}.pages-scope.projects .pj-lead{color:var(--text-3);text-wrap:pretty;max-width:660px;margin:13px 0 0;font-size:clamp(14.5px,1.8vw,17px);font-weight:500;line-height:1.6}.pages-scope.projects .pj-meta{font-family:var(--font-mono);color:var(--text-5);flex-wrap:wrap;align-items:center;gap:clamp(10px,1.6vw,14px);margin-top:18px;font-size:11.5px;display:flex}.pages-scope.projects .pj-meta__dot{background:var(--hair);border-radius:50%;width:4px;height:4px}.pages-scope.projects .pj-index{letter-spacing:1.2px;font-size:10px}.pages-scope.projects .pj-index--on{color:var(--lime-ink)}.pages-scope.projects .pj-index--off{color:var(--muted)}.pages-scope.projects .pj-xlinks{background:var(--line-2);border:1px solid var(--line-2);border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1px;max-width:980px;margin-top:20px;display:grid;overflow:hidden}.pages-scope.projects .pj-xlinks a{background:var(--bg-card);color:var(--text);padding:14px 16px;display:block}.pages-scope.projects .pj-xlinks a:hover{background:var(--bg-hover-2);color:var(--text)}.pages-scope.projects .pj-xlinks b{font-family:var(--font-mono);letter-spacing:1.3px;font-size:9.5px;font-weight:400;display:block}.pages-scope.projects .pj-xlinks strong{margin-top:7px;font-size:13.5px;display:block}.pages-scope.projects .pj-xlinks small{font-family:var(--font-mono);color:var(--faint);margin-top:6px;font-size:10.5px;display:block}.pages-scope.projects .pj-wrap{max-width:var(--shell);padding:clamp(18px, 2.6vw, 24px) var(--gutter) 0;margin:0 auto}.pages-scope.projects .pj-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pages-scope.projects .pj-types{scrollbar-width:none;flex:1;gap:7px;min-width:min(100%,280px);padding:2px 0;display:flex;overflow-x:auto}.pages-scope.projects .pj-types::-webkit-scrollbar{display:none}.pages-scope.projects .pj-type{border:1px solid var(--line-2);background:var(--grid-line);min-height:42px;color:var(--text-4);font-family:var(--font-body);white-space:nowrap;cursor:pointer;border-radius:11px;flex:none;align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:700;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.pages-scope.projects .pj-type:hover{color:var(--text)}.pages-scope.projects .pj-type i{border-radius:50%;flex:none;width:6px;height:6px}.pages-scope.projects .pj-type span{font-family:var(--font-mono);color:var(--text-5);font-size:10.5px}.pages-scope.projects .pj-type[aria-pressed=true]{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.pages-scope.projects .pj-type[aria-pressed=true] span{color:inherit}.pages-scope.projects .pj-type[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}.pages-scope.projects .pj-search{border:1px solid var(--tint-lime-b);background:var(--glow-lime);border-radius:13px;flex:none;align-items:center;gap:10px;width:min(100%,400px);height:48px;padding:0 8px 0 15px;display:flex}.pages-scope.projects .pj-search:before{content:"⌕";color:var(--lime-ink);flex:none;font-size:16px}.pages-scope.projects .pj-search input{min-width:0;height:100%;color:var(--text);font:500 14.5px var(--font-body);background:0 0;border:none;outline:none;flex:1}.pages-scope.projects .pj-search input::placeholder{color:var(--dim)}.pages-scope.projects .pj-search input::-webkit-search-cancel-button{filter:invert(.6)}.pages-scope.projects .pj-search kbd{font-family:var(--font-mono);color:var(--text-4);border:1px solid var(--line-3);border-radius:6px;flex:none;padding:3px 7px;font-size:10.5px}.pages-scope.projects .pj-stack{flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;display:flex}.pages-scope.projects .pj-stack__label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--text-5);margin-right:4px;font-size:10px}.pages-scope.projects .pj-tech{border:1px solid var(--line-dash);min-height:36px;color:var(--text-5);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:9px;align-items:center;padding:0 11px;font-size:12px;transition:all .16s;display:inline-flex}.pages-scope.projects .pj-tech:hover{color:var(--text)}.pages-scope.projects .pj-tech[aria-pressed=true]{background:var(--glow-violet-soft);color:var(--violet-light);border-color:var(--tint-violet-b2)}.pages-scope.projects .pj-tech[aria-disabled=true]{opacity:.35;cursor:not-allowed;pointer-events:none}.pages-scope.projects .pj-reset{min-height:36px;color:var(--text-5);font:700 12.5px var(--font-body);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-items:center;padding:0 12px;text-decoration:underline;display:inline-flex}.pages-scope.projects .pj-reset:hover{color:var(--text)}.pages-scope.projects .pj-note{border-left:2px solid var(--muted);background:var(--fill);max-width:680px;color:var(--text-5);border-radius:13px;margin-top:14px;padding:12px 16px;font-size:13px;font-weight:500;line-height:1.6}.pages-scope.projects .pj-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(12px,1.4vw,16px);margin-top:18px;display:grid}.pages-scope.projects .pj-card{text-align:left;border:1px solid var(--line-2);background:var(--bg-card);color:var(--text);font-family:var(--font-body);cursor:pointer;border-radius:20px;flex-direction:column;padding:0;transition:transform .18s,border-color .18s;display:flex;overflow:hidden}.pages-scope.projects a.pj-card:hover{border-color:var(--line-5);color:var(--text);transform:translateY(-3px)}.pages-scope.projects .pj-card--hidden{opacity:.55}.pages-scope.projects .pj-shot{aspect-ratio:16/9;border-bottom:1px solid var(--line-soft);background:var(--wash);place-items:center;display:grid;position:relative;overflow:hidden}.pages-scope.projects .pj-shot:before{content:"";background-image:linear-gradient(var(--fill) 1px, transparent 1px), linear-gradient(90deg, var(--fill) 1px, transparent 1px);background-size:30px 30px;position:absolute;inset:0}.pages-scope.projects .pj-shot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pages-scope.projects .pj-shot__mark{font-family:var(--font-display);letter-spacing:-2px;color:var(--muted);font-size:clamp(30px,4vw,46px);font-weight:700;position:relative}.pages-scope.projects .pj-pill{background:var(--header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);letter-spacing:1px;color:var(--text-2);border-radius:999px;align-items:center;gap:7px;padding:5px 10px;font-size:9.5px;display:inline-flex;position:absolute;top:12px}.pages-scope.projects .pj-pill--l{left:12px}.pages-scope.projects .pj-pill--r{border:1px solid;right:12px}.pages-scope.projects .pj-pill i{border-radius:50%;width:6px;height:6px}.pages-scope.projects .pj-term{background:var(--bg-panel);border-bottom:1px solid var(--line-soft);display:block}.pages-scope.projects .pj-term__top{font-family:var(--font-mono);letter-spacing:1px;align-items:center;gap:7px;padding:11px 16px 0;font-size:9.5px;display:flex}.pages-scope.projects .pj-term__top i{background:var(--hair);border-radius:50%;width:8px;height:8px}.pages-scope.projects .pj-term__top .pj-term__type{margin-left:6px}.pages-scope.projects .pj-term__top .pj-term__gap{flex:1}.pages-scope.projects .pj-term__stars{color:var(--text-5);letter-spacing:0;font-size:10.5px}.pages-scope.projects .pj-term__line{font-family:var(--font-mono);gap:9px;padding:10px 16px 13px;font-size:12px;display:flex;overflow:hidden}.pages-scope.projects .pj-term__line b{flex:none;font-weight:400}.pages-scope.projects .pj-term__line span{white-space:nowrap;text-overflow:ellipsis;color:var(--text-4);overflow:hidden}.pages-scope.projects .pj-term__line--muted span{color:var(--faint)}.pages-scope.projects .pj-body{flex-direction:column;flex:1;padding:18px 20px 16px;display:flex}.pages-scope.projects .pj-name{font-family:var(--font-display);letter-spacing:-.8px;overflow-wrap:anywhere;font-size:19px;font-weight:500;line-height:1.2}.pages-scope.projects .pj-pitch{color:var(--text-3);text-wrap:pretty;overflow-wrap:anywhere;margin-top:9px;font-size:14px;font-weight:500;line-height:1.6}.pages-scope.projects .pj-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.pages-scope.projects .pj-chips span{font-family:var(--font-mono);color:var(--text-4);border:1px solid var(--line-dash);border-radius:7px;padding:4px 8px;font-size:11px}.pages-scope.projects .pj-help{background:var(--glow-lime);border:1px solid var(--tint-lime-b);color:var(--lime-ink);border-radius:999px;align-self:flex-start;align-items:center;gap:7px;margin-top:13px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.pages-scope.projects .pj-help:before{content:"";background:var(--lime);border-radius:50%;width:6px;height:6px;animation:1.9s ease-in-out infinite pj-pulse}.pages-scope.projects .pj-author{align-items:center;gap:11px;margin-top:auto;padding-top:16px;display:flex}.pages-scope.projects .pj-avatar{width:30px;height:30px;font:700 10.5px var(--font-display);color:var(--on-accent);border-radius:9px;flex:none;place-items:center;display:grid}.pages-scope.projects .pj-avatar--lg{border-radius:14px;width:48px;height:48px;font-size:15px}.pages-scope.projects .pj-avatar{overflow:hidden}.pages-scope.projects .pj-avatar img{object-fit:cover;width:100%;height:100%}.pages-scope.projects .pj-author__name{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.pages-scope.projects .pj-author__role{color:var(--text-4);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;font-weight:600;display:block;overflow:hidden}.pages-scope.projects .pj-foot{border-top:1px dashed var(--line);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;padding-top:11px;font-size:11px;display:flex}.pages-scope.projects .pj-foot__gap{flex:1}.pages-scope.projects .pj-foot .pj-live{color:var(--lime-ink)}.pages-scope.projects .pj-foot .pj-gh{color:var(--text-2)}.pages-scope.projects .pj-foot .pj-priv{color:var(--text-5)}.pages-scope.projects .pj-foot .pj-trust{color:var(--faint);font-size:10px}.pages-scope.projects .pj-foot .pj-trust--2{color:var(--violet)}.pages-scope.projects .pj-foot .pj-trust--3{color:var(--green)}.pages-scope.projects .pj-empty{border:1px solid var(--line-2);background:var(--bg-card);text-align:center;border-radius:24px;margin-top:20px;padding:clamp(30px,5vw,52px)}.pages-scope.projects .pj-empty h3{font-family:var(--font-display);letter-spacing:-.9px;margin:16px 0 0;font-size:clamp(18px,2.6vw,24px);font-weight:500;line-height:1.3}.pages-scope.projects .pj-empty p{color:var(--text-5);max-width:440px;margin:12px auto 0;font-size:14.5px;font-weight:500;line-height:1.6}.pages-scope.projects .pj-empty__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.pages-scope.projects .pj-bottom{gap:clamp(14px,2vw,20px);display:grid}@media (width>=1100px){.pages-scope.projects .pj-bottom{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.pages-scope.projects .pj-panel{border:1px solid var(--line-2);background:var(--bg-card);border-radius:24px;padding:clamp(22px,3.2vw,32px)}.pages-scope.projects .pj-panel--lime{border-color:var(--tint-lime-b);background:linear-gradient(160deg, var(--panel-lime-a), var(--bg-card) 70%)}.pages-scope.projects .pj-panel--violet{border-color:var(--tint-violet-b);background:linear-gradient(165deg, var(--panel-card-violet), var(--bg-card) 72%)}.pages-scope.projects .pj-kicker{font-family:var(--font-mono);letter-spacing:2px;font-size:10.5px}.pages-scope.projects .pj-h2{font-family:var(--font-display);letter-spacing:-1.4px;text-wrap:balance;margin:14px 0 0;font-size:clamp(20px,2.8vw,30px);font-weight:700;line-height:1.12}.pages-scope.projects .pj-text{color:var(--text-2);text-wrap:pretty;max-width:720px;margin:14px 0 0;font-size:clamp(14.5px,1.8vw,16px);font-weight:500;line-height:1.7}.pages-scope.projects .pj-steps{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.pages-scope.projects .pj-steps span{color:var(--text-2);border:1px solid var(--line-3);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;font-weight:700;display:inline-flex}.pages-scope.projects .pj-steps b{font-family:var(--font-mono);color:var(--lime-ink);font-size:10.5px;font-weight:400}.pages-scope.projects .pj-small{color:var(--text-6);margin:14px 0 0;font-size:12.5px;font-weight:600;line-height:1.55}.pages-scope.projects .pj-legend{flex-direction:column;gap:14px;margin-top:18px;display:flex}.pages-scope.projects .pj-legend>div{align-items:flex-start;gap:12px;display:flex}.pages-scope.projects .pj-legend b{font-family:var(--font-mono);flex:none;width:22px;font-size:12px;font-weight:400}.pages-scope.projects .pj-legend strong{font-family:var(--font-mono);letter-spacing:1.3px;font-size:10px;font-weight:400;display:block}.pages-scope.projects .pj-legend span{color:var(--text-5);margin-top:5px;font-size:13px;font-weight:500;line-height:1.55;display:block}.pages-scope.projects .pd-hero__grid{align-items:end;gap:clamp(18px,3vw,36px);margin-top:clamp(18px,2.6vw,24px);display:grid}@media (width>=1100px){.pages-scope.projects .pd-hero__grid{grid-template-columns:minmax(0,1fr) 260px}}.pages-scope.projects .pd-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pages-scope.projects .pd-tag{font-family:var(--font-mono);letter-spacing:1px;border:1px solid var(--line-3);border-radius:7px;align-items:center;gap:7px;padding:5px 9px;font-size:10.5px;display:inline-flex}.pages-scope.projects .pd-tag i{border-radius:50%;width:6px;height:6px}.pages-scope.projects .pd-by{color:var(--text-5);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;font-size:14px;font-weight:600;display:flex}.pages-scope.projects .pd-by strong{color:var(--text)}.pages-scope.projects .pd-actions{flex-direction:column;gap:9px;min-width:0;display:flex}.pages-scope.projects .pd-actions .btn{width:100%}.pages-scope.projects .pd-private{border:1px dashed var(--line-4);min-height:46px;color:var(--text-5);border-radius:13px;align-items:center;gap:10px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.pages-scope.projects .pd-proof{border:1px solid var(--tint-lime-b);background:linear-gradient(100deg, var(--glow-lime), #0c0b1266 60%);color:var(--text);border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.pages-scope.projects a.pd-proof:hover{border-color:var(--tint-lime-b3);color:var(--text)}.pages-scope.projects .pd-proof__txt{flex:1;min-width:min(100%,220px)}.pages-scope.projects .pd-proof__txt b{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--lime-ink);font-size:10px;font-weight:400;display:block}.pages-scope.projects .pd-proof__txt strong{margin-top:5px;font-size:14.5px;display:block}.pages-scope.projects .pd-proof__go{color:var(--lime-ink);flex:none;font-size:13.5px;font-weight:700}.pages-scope.projects .pd-shell{max-width:var(--shell);padding:clamp(22px, 3.2vw, 34px) var(--gutter) 0;align-items:start;gap:clamp(18px,2.4vw,28px);margin:0 auto;display:grid}@media (width>=1100px){.pages-scope.projects .pd-shell{grid-template-columns:minmax(0,1fr) 330px}}.pages-scope.projects .pd-main,.pages-scope.projects .pd-side{flex-direction:column;gap:clamp(14px,2.2vw,22px);min-width:0;display:flex}.pages-scope.projects .pd-card{border:1px solid var(--line-2);background:var(--bg-card);border-radius:22px;padding:clamp(20px,3vw,28px)}.pages-scope.projects .pd-gallery{background:var(--line);border:1px solid var(--line-2);border-radius:22px;gap:1px;display:grid;overflow:hidden}@media (width>=720px){.pages-scope.projects .pd-gallery{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}}.pages-scope.projects .pd-gallery figure{background:var(--bg-panel);margin:0}.pages-scope.projects .pd-gallery a{display:block}.pages-scope.projects .pd-gallery .pj-shot{aspect-ratio:16/10;border-bottom:1px solid var(--fill-3)}.pages-scope.projects .pd-gallery figcaption{color:var(--text-6);padding:10px 14px;font-size:12px;font-weight:600}.pages-scope.projects .pd-term{border:1px solid var(--line-2);background:var(--bg-panel);border-radius:22px;overflow:hidden}.pages-scope.projects .pd-term__bar{border-bottom:1px solid var(--line);font-family:var(--font-mono);color:var(--faint);align-items:center;gap:9px;padding:12px 18px;font-size:11.5px;display:flex}.pages-scope.projects .pd-term__bar i{border-radius:50%;width:10px;height:10px}.pages-scope.projects .pd-term pre{font-family:var(--font-mono);color:var(--text-2);margin:0;padding:clamp(16px,2.4vw,22px);font-size:clamp(12px,1.6vw,13.5px);line-height:1.85;overflow-x:auto}.pages-scope.projects .pd-body h2{font-family:var(--font-display);letter-spacing:-.8px;margin:24px 0 0;font-size:clamp(16px,2vw,19px);font-weight:600;line-height:1.25}.pages-scope.projects .pd-body p{color:var(--text-2);text-wrap:pretty;overflow-wrap:anywhere;max-width:760px;margin:15px 0 0;font-size:clamp(14.5px,1.8vw,16px);font-weight:500;line-height:1.75}.pages-scope.projects .pd-body>:first-child{margin-top:14px}.pages-scope.projects .pd-body ul{flex-direction:column;gap:11px;margin:11px 0 0;padding:0;list-style:none;display:flex}.pages-scope.projects .pd-body li{color:var(--text-2);overflow-wrap:anywhere;gap:12px;font-size:14.5px;font-weight:500;line-height:1.7;display:flex}.pages-scope.projects .pd-body li:before{content:"→";font-family:var(--font-mono);color:var(--lime-ink);flex:none;margin-top:4px;font-size:11px}.pages-scope.projects .pd-role h3{font-family:var(--font-display);letter-spacing:-.8px;margin:12px 0 0;font-size:clamp(17px,2.2vw,21px);font-weight:600}.pages-scope.projects .pd-features{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:8px;margin-top:16px;display:grid}.pages-scope.projects .pd-features div{border:1px solid var(--line-2);background:var(--bg-panel);color:var(--text-2);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;font-weight:600;line-height:1.35;display:flex}.pages-scope.projects .pd-features div:before{content:"✓";font-family:var(--font-mono);color:var(--lime-ink);flex:none;font-size:11px}.pages-scope.projects .pd-needs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pages-scope.projects .pd-needs span{color:var(--lime-ink);border:1px solid var(--tint-lime-b);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:700}.pages-scope.projects .pd-dev{align-items:center;gap:13px;margin-top:14px;display:flex}.pages-scope.projects .pd-dev strong{font-size:15px;font-weight:800;display:block}.pages-scope.projects .pd-dev span span{color:var(--text-5);margin-top:4px;font-size:12.5px;font-weight:600;line-height:1.4;display:block}.pages-scope.projects .pd-other{border-top:1px dashed var(--fill-hover);margin-top:16px;padding-top:14px}.pages-scope.projects .pd-other a{color:var(--text-2);border-radius:10px;align-items:center;gap:10px;min-height:40px;margin:0 -10px;padding:9px 10px;display:flex}.pages-scope.projects .pd-other a:hover{background:var(--fill-2);color:var(--text)}.pages-scope.projects .pd-other i{border-radius:50%;flex:none;width:6px;height:6px}.pages-scope.projects .pd-other b{flex:1;font-size:13.5px}.pages-scope.projects .pd-other small{font-family:var(--font-mono);color:var(--faint);font-size:10px}.pages-scope.projects .pd-open{color:var(--green);align-items:center;gap:8px;margin-top:14px;font-size:12.5px;font-weight:700;display:flex}.pages-scope.projects .pd-open:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px}.pages-scope.projects .pd-built{background:var(--line);border-radius:14px;flex-direction:column;gap:1px;margin-top:14px;display:flex;overflow:hidden}.pages-scope.projects .pd-built a{background:var(--bg-panel);min-height:42px;color:var(--text);align-items:center;gap:10px;padding:11px 13px;display:flex}.pages-scope.projects .pd-built a:hover{background:var(--bg-hover-2);color:var(--text)}.pages-scope.projects .pd-built b{font:400 12.5px var(--font-mono);flex:1}.pages-scope.projects .pd-built small{font-family:var(--font-mono);color:var(--muted);font-size:10.5px}.pages-scope.projects .pd-facts{background:var(--line);border-radius:12px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.pages-scope.projects .pd-facts div{background:var(--bg-card);justify-content:space-between;gap:12px;padding:11px 2px;font-size:13px;display:flex}.pages-scope.projects .pd-facts span{color:var(--text-6);font-weight:600}.pages-scope.projects .pd-facts b{color:var(--text);text-align:right}.pages-scope.projects .pd-facts b a{color:var(--lime-ink);overflow-wrap:anywhere}.pages-scope.projects .pd-facts b a:hover{text-decoration:underline}.pages-scope.projects .pc-progress{scrollbar-width:none;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.pages-scope.projects .pc-step{min-height:44px;font:700 13px var(--font-body);white-space:nowrap;color:var(--faint);cursor:default;background:0 0;border:none;flex:none;align-items:center;gap:9px;padding:0 10px;display:inline-flex}.pages-scope.projects .pc-step b{width:22px;height:22px;font:700 10.5px var(--font-mono);background:var(--fill-3);color:var(--faint);border-radius:7px;place-items:center;display:grid}.pages-scope.projects .pc-step[data-state=done]{color:var(--text-4);cursor:pointer}.pages-scope.projects .pc-step[data-state=done] b{color:var(--green);background:#7be0a629}.pages-scope.projects .pc-step[data-state=current]{color:var(--text)}.pages-scope.projects .pc-step[data-state=current] b{background:var(--lime);color:var(--on-accent)}.pages-scope.projects .pc-layout{max-width:1320px;padding:clamp(20px, 3vw, 30px) var(--gutter) 0;align-items:start;gap:clamp(18px,2.6vw,32px);margin:0 auto;display:grid}@media (width>=1000px){.pages-scope.projects .pc-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.pages-scope.projects .pc-form{border:1px solid var(--line-2);background:var(--bg-card);border-radius:24px;min-width:0;padding:clamp(20px,3vw,32px)}.pages-scope.projects .pc-kicker{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--lime-ink);align-items:center;gap:12px;font-size:10.5px;display:flex}.pages-scope.projects .pc-kicker:after{content:"";background:var(--line);flex:1;height:1px}.pages-scope.projects .pc-form h2{font-family:var(--font-display);letter-spacing:-1.1px;margin:14px 0 0;font-size:clamp(20px,2.6vw,27px);font-weight:600;line-height:1.15}.pages-scope.projects .pc-hint{color:var(--text-5);max-width:560px;margin:9px 0 0;font-size:14px;font-weight:500;line-height:1.6}.pages-scope.projects .pc-field{margin-top:24px;display:block}.pages-scope.projects .pc-label{font-family:var(--font-mono);letter-spacing:1.8px;color:var(--faint);font-size:10.5px;display:block}.pages-scope.projects .pc-input,.pages-scope.projects .pc-textarea,.pages-scope.projects .pc-select{border:1px solid var(--line-4);background:var(--fill-2);width:100%;color:var(--text);font:500 15px var(--font-body);border-radius:13px;outline:none;margin-top:11px}.pages-scope.projects .pc-input,.pages-scope.projects .pc-select{height:50px;padding:0 16px}.pages-scope.projects .pc-select option{background:var(--bg-card);color:var(--text)}.pages-scope.projects .pc-textarea{resize:vertical;min-height:110px;padding:14px 16px;line-height:1.6}.pages-scope.projects .pc-input::placeholder,.pages-scope.projects .pc-textarea::placeholder{color:var(--placeholder)}.pages-scope.projects .pc-input:focus,.pages-scope.projects .pc-textarea:focus,.pages-scope.projects .pc-select:focus{border-color:var(--tint-lime-b2)}.pages-scope.projects .pc-options{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.pages-scope.projects .pc-opt{border:1px solid var(--line-2);background:var(--grid-line);min-height:44px;color:var(--text-4);font:700 13px var(--font-body);cursor:pointer;border-radius:11px;align-items:center;gap:8px;padding:0 14px;transition:all .16s;display:inline-flex}.pages-scope.projects .pc-opt:hover{color:var(--text)}.pages-scope.projects .pc-opt i{border-radius:50%;width:6px;height:6px}.pages-scope.projects .pc-opt[aria-pressed=true]{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.pages-scope.projects .pc-opt--tech{font:400 12.5px var(--font-mono);min-height:40px;color:var(--text-5);background:0 0;padding:0 12px}.pages-scope.projects .pc-opt--tech[aria-pressed=true]{background:var(--glow-violet-soft);color:var(--violet-light);border-color:var(--tint-violet-b2)}.pages-scope.projects .pc-opt--need{min-height:40px;color:var(--text-5);background:0 0}.pages-scope.projects .pc-opt--need[aria-pressed=true]{background:var(--glow-lime);color:var(--lime-ink);border-color:var(--tint-lime-b2)}.pages-scope.projects .pc-sub{color:var(--text-6);margin-top:11px;font-size:13px;font-weight:500;line-height:1.55}.pages-scope.projects .pc-sub--ok{color:var(--green);font-weight:600}.pages-scope.projects .pc-sub--warn{color:var(--orange);font-weight:600}.pages-scope.projects .pc-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px;margin-top:12px;display:grid}.pages-scope.projects .pc-choice{text-align:left;border:1px solid var(--line-dash);background:var(--fill);cursor:pointer;font-family:var(--font-body);border-radius:15px;min-height:44px;padding:15px 17px}.pages-scope.projects .pc-choice strong{color:var(--text);font-size:14px;display:block}.pages-scope.projects .pc-choice span{color:var(--text-5);margin-top:6px;font-size:12.5px;font-weight:500;line-height:1.5;display:block}.pages-scope.projects .pc-choice[aria-pressed=true]{border-color:var(--tint-lime-b2);background:var(--glow-lime)}.pages-scope.projects .pc-toggle{text-align:left;border:1px solid var(--line-dash);background:var(--fill);cursor:pointer;width:100%;font-family:var(--font-body);border-radius:16px;align-items:center;gap:14px;margin-top:22px;padding:16px 18px;display:flex}.pages-scope.projects .pc-toggle[aria-pressed=true]{border-color:var(--tint-lime-b2);background:var(--glow-lime)}.pages-scope.projects .pc-switch{background:var(--line-4);border-radius:999px;flex:none;width:40px;height:24px;transition:background .16s;position:relative}.pages-scope.projects .pc-switch:after{content:"";background:var(--bg);border-radius:50%;width:18px;height:18px;transition:left .16s;position:absolute;top:3px;left:3px}.pages-scope.projects .pc-toggle[aria-pressed=true] .pc-switch{background:var(--lime)}.pages-scope.projects .pc-toggle[aria-pressed=true] .pc-switch:after{left:19px}.pages-scope.projects .pc-toggle strong{color:var(--text);font-size:14px;display:block}.pages-scope.projects .pc-toggle small{color:var(--text-5);margin-top:4px;font-size:12.5px;font-weight:500;display:block}.pages-scope.projects .pc-callout{border-left:2px solid var(--violet);background:var(--glow-violet-soft);color:var(--text-3);border-radius:13px;margin-top:14px;padding:13px 16px;font-size:13px;font-weight:500;line-height:1.6}.pages-scope.projects .pc-error{border-left:2px solid var(--orange);color:var(--text-2);background:#ff8a5b14;border-radius:13px;margin-top:18px;padding:13px 16px;font-size:13.5px;font-weight:600;line-height:1.55}.pages-scope.projects .pc-ok{border-left:2px solid var(--green);color:var(--text-2);background:#7be0a614;border-radius:13px;margin-top:18px;padding:13px 16px;font-size:13.5px;font-weight:600;line-height:1.55}.pages-scope.projects .pc-nav{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;padding-top:20px;display:flex}.pages-scope.projects .pc-nav__why{color:var(--muted);font-size:13px;font-weight:600}.pages-scope.projects .pc-preview{min-width:0}@media (width>=1000px){.pages-scope.projects .pc-preview{top:calc(var(--header-h) + 74px);position:sticky}}.pages-scope.projects .pc-preview__toggle{display:none}@media (width<=999px){.pages-scope.projects .pc-preview__toggle{border:1px solid var(--line-3);background:var(--bg-card);width:100%;min-height:48px;color:var(--text-2);font:700 13.5px var(--font-body);cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.pages-scope.projects .pc-preview:not([data-open=true]) .pc-preview__body{display:none}.pages-scope.projects .pc-preview__body{margin-top:12px}}.pages-scope.projects .pc-preview .pj-card{cursor:default;box-shadow:0 30px 70px var(--bg-panel)}.pages-scope.projects .pc-empty-text{color:var(--hair)!important}.pages-scope.projects .pc-check{border:1px solid var(--line);background:var(--fill);border-radius:14px;flex-direction:column;gap:9px;margin-top:14px;padding:14px 16px;display:flex}.pages-scope.projects .pc-check div{color:var(--muted);align-items:center;gap:10px;font-size:12.5px;font-weight:600;display:flex}.pages-scope.projects .pc-check b{font:400 11px var(--font-mono);width:14px;color:var(--hair)}.pages-scope.projects .pc-check div[data-ok=true]{color:var(--text-2)}.pages-scope.projects .pc-check div[data-ok=true] b{color:var(--green)}.pages-scope.projects .pc-owner{border-bottom:1px solid var(--line);background:linear-gradient(90deg, var(--glow-lime), transparent 60%)}.pages-scope.projects .pc-owner__in{max-width:var(--shell);padding:12px var(--gutter);flex-wrap:wrap;align-items:center;gap:10px;margin:0 auto;display:flex}.pages-scope.projects .pc-owner__in>span{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--lime-ink);flex:1;min-width:100px;font-size:10px}.pages-scope.projects .pc-owner .btn{height:38px;min-height:38px;padding:0 14px;font-size:13px}.pages-scope.projects .pc-done{max-width:1320px;padding:clamp(28px, 4vw, 48px) var(--gutter) 0;align-items:center;gap:clamp(20px,3vw,40px);margin:0 auto;display:grid}@media (width>=1000px){.pages-scope.projects .pc-done{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}.pages-scope.projects .pc-next{background:var(--line-2);border:1px solid var(--line-2);border-radius:20px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.pages-scope.projects .pc-next a{background:var(--bg-card);color:var(--text);align-items:center;gap:14px;padding:17px 18px;display:flex}.pages-scope.projects .pc-next a:hover{background:var(--bg-hover-2);color:var(--text)}.pages-scope.projects .pc-next i{width:34px;height:34px;font:700 12px var(--font-mono);color:var(--on-accent);border-radius:10px;flex:none;place-items:center;font-style:normal;display:grid}.pages-scope.projects .pc-next strong{font-size:14.5px;display:block}.pages-scope.projects .pc-next small{color:var(--text-6);margin-top:4px;font-size:12.5px;font-weight:600;display:block}.pages-scope.projects .pe-layout{max-width:1320px;padding:clamp(20px, 3vw, 30px) var(--gutter) 0;align-items:start;gap:clamp(18px,2.6vw,32px);margin:0 auto;display:grid}@media (width>=1000px){.pages-scope.projects .pe-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}.pages-scope.projects .pe-main{flex-direction:column;gap:clamp(14px,2.2vw,20px);min-width:0;display:flex}.pages-scope.projects .pe-section{scroll-margin-top:calc(var(--header-h) + 80px)}.pages-scope.projects .pe-section h2{font-family:var(--font-display);letter-spacing:-.9px;margin:12px 0 0;font-size:clamp(18px,2.2vw,22px);font-weight:600;line-height:1.2}.pages-scope.projects .pe-row{gap:12px;display:grid}@media (width>=720px){.pages-scope.projects .pe-row{grid-template-columns:1fr 1fr}}.pages-scope.projects .pe-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.pages-scope.projects .pe-list__row{align-items:center;gap:8px;display:flex}.pages-scope.projects .pe-list__row .pc-input{margin-top:0}.pages-scope.projects .pe-x{border:1px solid var(--line-3);width:44px;height:44px;color:var(--text-5);cursor:pointer;background:0 0;border-radius:12px;flex:none;font-size:16px}.pages-scope.projects .pe-x:hover{color:var(--orange);border-color:#ff8a5b80}.pages-scope.projects .pe-link{min-height:40px;color:var(--violet-light);font:700 13px var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;margin-top:10px;padding:0 2px;display:inline-flex}.pages-scope.projects .pe-link:hover{color:var(--lime-ink)}.pages-scope.projects .pe-shots{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px;margin-top:14px;display:grid}.pages-scope.projects .pe-shot{border:1px solid var(--line-2);background:var(--bg-panel);border-radius:16px;overflow:hidden}.pages-scope.projects .pe-shot img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.pages-scope.projects .pe-shot__row{align-items:center;gap:8px;padding:10px;display:flex}.pages-scope.projects .pe-shot__row .pc-input{height:42px;margin-top:0;font-size:13.5px}.pages-scope.projects .pe-code{border:1px solid var(--line-3);background:var(--bg-panel);font-family:var(--font-mono);color:var(--text-2);white-space:pre;border-radius:12px;margin-top:10px;padding:12px 14px;font-size:12.5px;line-height:1.6;display:block;overflow-x:auto}.pages-scope.projects .pe-steps{color:var(--text-3);flex-direction:column;gap:12px;margin:12px 0 0;padding-left:20px;font-size:14px;font-weight:500;line-height:1.6;display:flex}.pages-scope.projects .pe-steps strong{color:var(--text)}.pages-scope.projects .pe-save{z-index:30;border:1px solid var(--line-3);background:var(--bg-card);border-radius:18px;margin-top:4px;padding:14px clamp(16px,2.4vw,22px);position:sticky;bottom:0}@supports (color:color-mix(in lab, red, red)){.pages-scope.projects .pe-save{background:color-mix(in srgb, var(--bg-card) 94%, transparent)}}.pages-scope.projects .pe-save{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pages-scope.projects .pe-save__state{min-width:160px;color:var(--text-5);flex:1;font-size:13px;font-weight:600}.pages-scope.projects .pe-danger{border-color:#ff8a5b3d}.pages-scope.projects .pe-danger .btn{color:var(--orange);background:0 0;border:1px solid #ff8a5b73}.pages-scope.projects .pe-danger .btn:hover{color:var(--orange);background:#ff8a5b1a}.pages-scope.projects .pm-state{border-top:1px dashed var(--line);color:var(--text-5);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:12.5px;font-weight:600;display:flex}.pages-scope.projects .pm-state a{font-weight:700}.pages-scope.projects .pm-item{border:1px solid var(--line-2);background:var(--bg-card);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.pages-scope.projects .pm-item .pj-card{border:none;border-radius:0}@media (prefers-reduced-motion:reduce){.pages-scope.projects .pj-hero__glow,.pages-scope.projects .pj-help:before{animation:none}.pages-scope.projects .pj-card{transition:none}}@keyframes vrBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lx{max-width:1320px;margin:0 auto;padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px)}.learn{font-variant-ligatures:none}.learn [id]{scroll-margin-top:96px}.l-progress{z-index:61;background:linear-gradient(90deg, var(--violet), var(--lime));pointer-events:none;width:0;height:2px;transition:width .1s linear;position:fixed;top:73px;left:0}.l-hero{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.l-hero__grid{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(85% 100% at 80% 30%,#000 25%,#0000 78%);mask-image:radial-gradient(85% 100% at 80% 30%,#000 25%,#0000 78%)}.l-hero__glow{background:radial-gradient(ellipse at center, var(--glow-lime), transparent 62%);filter:blur(28px);width:820px;height:620px;position:absolute;top:-240px;right:-160px}.l-hero__glow--violet{background:radial-gradient(ellipse at center, var(--glow-violet-soft), transparent 62%);width:900px;height:680px;top:-220px;right:-140px}.l-hero__in{padding-top:clamp(18px,2.6vw,28px);padding-bottom:clamp(30px,4.4vw,52px);position:relative}.l-crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.l-crumbs a{color:var(--muted)}.l-crumbs a:hover{color:var(--text)}.l-crumbs i{color:var(--hair);font-style:normal}.l-crumbs [aria-current]{color:var(--text-4)}.l-hero__cols{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,4vw,56px);margin-top:clamp(18px,2.6vw,30px);display:grid}.l-kicker{font-family:var(--font-mono);letter-spacing:3px;font-size:12px}.l-h1{flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin:14px 0 0;display:flex}.l-h1__ua{font-family:var(--font-display);letter-spacing:clamp(-3.6px,-.4vw,-1.6px);font-size:clamp(40px,7vw,88px);font-weight:800;line-height:.96}.l-h1__en{font-family:var(--font-mono);font-size:clamp(18px,2.4vw,28px);font-weight:500}.l-lead{color:var(--text-2);text-wrap:pretty;max-width:680px;margin:20px 0 0;font-size:clamp(17px,2.1vw,21px);font-weight:600;line-height:1.55}.l-meta{color:var(--text-5);flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:24px;font-size:13px;font-weight:600;display:flex}.l-tag{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--line-4);border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:700}.l-dots{gap:4px;display:inline-flex}.l-dots span{background:var(--line-4);border-radius:50%;width:7px;height:7px}.l-dots span.is-on{background:var(--violet)}.l-glyph-box{aspect-ratio:1;border:1px solid var(--line-3);background:var(--bg-card);width:240px;box-shadow:var(--tile-shadow);border-radius:28px;justify-self:end;place-items:center;display:grid;position:relative}.l-glyph-box>span{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--faint);font-size:10px;position:absolute;top:14px;left:16px}.l-mini-path{align-items:center;gap:5px;display:flex}.l-mini-path a{background:var(--line-4);border-radius:3px;width:14px;height:6px;display:block}.l-mini-path a.is-done{background:var(--green)}.l-mini-path a.is-here{background:var(--lime);width:28px}.l-shell{grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:clamp(18px,3vw,48px);padding-top:clamp(22px,3.2vw,36px);display:grid}.l-shell--concept{gap:clamp(18px,4vw,64px);padding-top:clamp(28px,4vw,48px)}.l-main{flex-direction:column;gap:clamp(48px,6.4vw,80px);min-width:0;display:flex}.l-shell--concept .l-main{gap:clamp(48px,6.4vw,76px);max-width:760px}.l-sec-kicker{font-family:var(--font-mono);letter-spacing:1.8px;font-size:11px}.l-h2{font-family:var(--font-display);font-weight:var(--h2-w);font-size:calc(clamp(22px, 3vw, 34px) * var(--h2-k));letter-spacing:-1.2px;text-wrap:balance;margin:12px 0 0;line-height:1.12}.l-p{color:var(--text-2);text-wrap:pretty;max-width:680px;margin:16px 0 0;font-size:clamp(15.5px,1.8vw,17px);font-weight:500;line-height:1.75}.l-p--long{max-width:none;margin-top:20px;font-size:clamp(16px,1.9vw,17.5px);line-height:1.82}.l-toc{min-width:0;position:sticky;top:96px}.l-toc__toggle{border:1px solid var(--line-3);background:var(--bg-card);width:100%;min-height:48px;color:var(--text);cursor:pointer;border-radius:14px;justify-content:space-between;align-items:center;padding:0 16px;font-size:14.5px;font-weight:800;display:none}.l-toc__toggle span:last-child{font-family:var(--font-mono);color:var(--muted)}.l-toc__head{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);justify-content:space-between;margin-bottom:10px;font-size:10px;display:flex}.l-toc__head span:last-child{color:var(--lime-ink);letter-spacing:0}.l-toc nav{flex-direction:column;gap:2px;display:flex}.l-toc a{min-height:40px;color:var(--text-4);border-radius:10px;align-items:center;gap:10px;margin:0 -12px;padding:0 12px;font-size:14px;font-weight:700;transition:all .15s;display:flex}.l-toc a:before{content:"";background:var(--line-3);border-radius:2px;flex:none;width:3px;height:18px}.l-toc a:hover{background:var(--fill-hover);color:var(--text)}.l-toc a.is-on{color:var(--text);background:var(--fill-2)}.l-toc a.is-on:before{background:var(--lime)}@media (width<=999px){.l-shell{grid-template-columns:1fr}.l-toc{order:-1;position:static}.l-toc__toggle{display:flex}.l-toc__head{display:none}.l-toc nav{margin-top:10px;display:none}.l-toc nav.is-open{display:flex}.l-hero__cols{grid-template-columns:1fr}.l-glyph-box{justify-self:start;width:168px}}.ide{background:var(--ide-bg);border:1px solid var(--ide-line-2);border-radius:18px;min-width:0;overflow:hidden;box-shadow:0 18px 50px #00000038}.ide__bar{border-bottom:1px solid var(--ide-line);background:var(--ide-bar);align-items:center;gap:10px;padding:10px 14px;display:flex}.ide__bar i{border-radius:50%;width:9px;height:9px}.ide__file{font-family:var(--font-mono);color:var(--ide-text-3);margin-left:6px;font-size:12px}.ide__body{padding:12px 0;overflow-x:auto}.ide__lines{min-width:0}.ide__row{font-family:var(--font-mono);align-items:flex-start;font-size:13.5px;line-height:1.8;transition:background .15s,opacity .15s;display:flex}.ide__row.is-bad{background:var(--ide-red)}@supports (color:color-mix(in lab, red, red)){.ide__row.is-bad{background:color-mix(in srgb, var(--ide-red) 9%, transparent)}}.ide__row.is-bad{box-shadow:inset 3px 0 0 var(--ide-red)}.ide__row.is-on{background:var(--ide-diff);box-shadow:inset 3px 0 0 var(--ide-lime)}.ide__row.is-dim{opacity:.55}.ide__num{text-align:right;width:42px;color:var(--ide-gutter);-webkit-user-select:none;user-select:none;flex:none;padding-right:14px}.ide__num--tight{width:38px;padding-right:8px}.ide__code{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;padding-left:var(--hang,2ch);text-indent:calc(-1 * var(--hang,2ch));flex:1;padding-right:20px}.ide__mark{flex:none;justify-content:center;align-items:center;width:22px;margin-right:6px;display:flex}.ide__mark b{background:var(--ide-fill-2);width:18px;height:18px;color:var(--ide-text-2);border-radius:50%;place-items:center;margin:4px 0;font-size:10.5px;font-weight:800;display:grid}.ide__row.is-on .ide__mark b{background:var(--ide-lime);color:var(--ide-bg)}.ide__tag{letter-spacing:.6px;color:var(--ide-lime);white-space:nowrap;margin-left:auto;margin-right:14px;font-size:10.5px}.ide__note{contain:inline-size;background:var(--ide-red);border-radius:10px;align-items:flex-start;gap:10px;margin:2px 14px 8px 56px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.ide__note{background:color-mix(in srgb, var(--ide-red) 10%, transparent)}}.ide__note{border:1px solid var(--ide-red)}@supports (color:color-mix(in lab, red, red)){.ide__note{border:1px solid color-mix(in srgb, var(--ide-red) 30%, transparent)}}@media (width<=999px){.ide__note{max-width:calc(100vw - 2*clamp(16px,4vw,32px) - 72px)}}.ide__note b{background:var(--ide-red);width:20px;height:20px;color:var(--ide-bg);font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.ide__note span{font-family:var(--font-sans);color:var(--ide-text);white-space:normal;font-size:13.5px;font-weight:600;line-height:1.5}.ide__tabs{border-bottom:1px solid var(--ide-line);background:var(--ide-bar);align-items:stretch;display:flex}.ide__tab{cursor:pointer;min-height:44px;font-family:var(--font-mono);color:var(--ide-muted);background:0 0;border:none;padding:0 18px;font-size:12.5px;font-weight:700}.ide__tab[aria-selected=true]{background:var(--ide-bg);color:var(--ide-text);box-shadow:inset 0 -2px 0 var(--ide-lime)}.ide__tab--before[aria-selected=true]{box-shadow:inset 0 -2px 0 var(--ide-red)}.ide__ver{font-family:var(--font-mono);color:var(--ide-muted);align-items:center;margin-left:auto;padding:0 14px;font-size:11px;display:flex}.ide__crumbs{border-bottom:1px solid var(--ide-line);font-family:var(--font-mono);color:var(--ide-muted);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;font-size:11.5px;display:flex}.ide__crumbs i{color:var(--ide-faint);font-style:normal}.ide__crumbs .is-module{color:var(--ide-green)}.ide__crumbs .is-file{color:var(--ide-text)}.ide__filetab{background:var(--ide-bg);min-height:42px;box-shadow:inset 0 2px 0 var(--ide-violet);font-family:var(--font-mono);color:var(--ide-text);align-items:center;gap:8px;padding:0 16px;font-size:12.5px;display:flex}.ide__filetab span{color:var(--ide-violet-l)}.ide-pre{background:var(--ide-bg);border:1px solid var(--ide-line-2);min-width:0;font-family:var(--font-mono);color:var(--ide-text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:14px;margin:16px 0 0;padding:14px 16px;font-size:12.5px;line-height:1.7}.tk-k{color:var(--ide-violet-l)}.tk-t{color:var(--ide-lime)}.tk-s{color:var(--ide-green)}.tk-n{color:var(--ide-orange)}.tk-f{color:var(--ide-blue)}.tk-c{color:var(--ide-muted)}.tk-a{color:var(--ide-amber)}.tk-v{color:var(--ide-text)}.tk-i{color:var(--ide-text-2)}.tk-p{color:var(--ide-text-3)}.run{border-top:1px solid var(--ide-line);background:var(--ide-bar);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.run__btn{min-height:42px;font-family:var(--font-sans);background:var(--ide-lime);color:var(--ide-bg);cursor:pointer;border:none;border-radius:11px;align-items:center;gap:8px;padding:0 18px;font-size:13.5px;font-weight:800;display:inline-flex}.run__btn:disabled{background:var(--ide-fill-2);color:var(--ide-text-3);cursor:progress}.run__hint{font-family:var(--font-mono);color:var(--ide-muted);flex:1;min-width:160px;font-size:11.5px}.run__sandbox{font-family:var(--font-mono);color:var(--ide-violet-l);font-size:11.5px;font-weight:700}.run-out{border-top:1px solid var(--ide-line-2);background:var(--ide-panel)}.run-out__head{border-bottom:1px solid var(--ide-line);font-family:var(--font-mono);align-items:center;gap:10px;padding:9px 14px;display:flex}.run-out__head>span:first-child{letter-spacing:1.4px;color:var(--ide-muted);font-size:10.5px}.run-out__badge{letter-spacing:.8px;border:1px solid;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700}.run-out__meta{color:var(--ide-faint);margin-left:auto;font-size:11px}.run-out__clear{color:var(--ide-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;min-height:32px;font-size:11px}.run-out__load{padding:16px 14px 18px}.run-out__load-row{font-family:var(--font-mono);color:var(--ide-text-2);justify-content:space-between;gap:12px;font-size:12px;display:flex}.run-out__bar{background:var(--ide-fill-2);border-radius:4px;height:6px;margin-top:10px;overflow:hidden}.run-out__bar span{background:var(--ide-lime);border-radius:4px;height:100%;transition:width .12s linear;display:block}.run-out__note{color:var(--ide-muted);margin-top:10px;font-size:12.5px}.run-out__running{font-family:var(--font-mono);color:var(--ide-text-3);padding:16px 14px;font-size:13px}.run-out__lines{padding:12px 0 14px}.run-out__lines div{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--ide-text);padding:2px 14px;font-size:13px;line-height:1.7}.run-out__lines .is-err{color:var(--ide-red)}.run-out__lines .is-warn{color:var(--ide-amber)}.run-out__lines .is-hint{color:var(--ide-muted)}.code-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:clamp(16px,2.4vw,28px);margin-top:24px;display:grid}@media (width<=1239px){.code-grid{grid-template-columns:1fr}}.marks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.marks li.mark{border:1px solid var(--line-2);background:var(--bg-card);border-radius:16px;outline:none;gap:12px;padding:14px;transition:border-color .15s,background .15s;display:flex}.marks li.mark.is-on{border-color:var(--tint-lime-b2);background:var(--panel-lime-a)}.marks li.mark>b{width:24px;height:24px;font-family:var(--font-mono);background:var(--fill-3);color:var(--text-3);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.marks li.mark.is-on>b{background:var(--lime);color:var(--on-accent)}.marks li.mark small{font-family:var(--font-mono);color:var(--muted);font-size:11px;display:block}.marks li.mark p{color:var(--text-2);margin:4px 0 0;font-size:14.5px;font-weight:600;line-height:1.55}.marks li.marks__hint{color:var(--text-6);padding:4px 2px;font-size:12.5px;font-weight:500}.marks__hint .is-touch{display:none}@media (hover:none){.marks__hint .is-touch{display:inline}.marks__hint .is-hover{display:none}}.code-grid--notes{--pin-top:calc(var(--header-h,74px) + 12px);--pin-room:clamp(220px, 36vh, 320px)}.code-grid--notes .ide{top:var(--pin-top);z-index:2;max-height:calc(100vh - var(--pin-top) - var(--pin-room));max-height:calc(100dvh - var(--pin-top) - var(--pin-room));flex-direction:column;display:flex;position:sticky}.code-grid--notes .ide>*{flex:none}.code-grid--notes .ide__body{overscroll-behavior:contain;flex:0 auto;min-height:96px;overflow-y:auto}.code-grid--notes .run-out{max-height:22vh;overflow-y:auto}.code-grid--notes.has-out{--pin-room:150px}@media (width>=1240px){.l-shell:not(.l-shell--concept) .code-grid--notes{--pin-room:16px}}@media (height<=539px){.code-grid--notes .ide{max-height:none;position:static}}.dg{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;outline:none;margin-top:24px;overflow:hidden}.dg:focus-visible{box-shadow:0 0 0 3px var(--tint-violet-b2)}.dg__head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 12px 20px;display:flex}.dg__kicker{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--faint);font-size:10.5px}.dg__nav{align-items:center;gap:6px;display:flex}.dg__btn{border:1px solid var(--line-3);background:var(--fill);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:11px;font-size:15px}.dg__btn--all{width:auto;color:var(--text-4);padding:0 12px;font-size:13px;font-weight:700}.dg__label{text-align:center;min-width:104px;font-family:var(--font-mono);color:var(--text-2);font-size:12.5px;font-weight:700}.dg__body{padding:clamp(18px,3vw,32px) clamp(14px,2.4vw,28px)}.dg__caption{border-top:1px solid var(--line);background:var(--fill);min-height:60px;color:var(--text-2);align-items:center;gap:12px;padding:16px 20px;font-size:15px;font-weight:600;line-height:1.5;display:flex}.dg__caption b{background:var(--lime);width:26px;height:26px;color:var(--on-accent);font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.dg__foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 20px;display:flex}.dg__sw{color:var(--text-5);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.dg__sw i{border-radius:3px;width:10px;height:10px}.dg__textbtn{border:1px solid var(--line-3);background:var(--fill);height:34px;color:var(--text-3);cursor:pointer;font-family:var(--font-mono);border-radius:9px;margin-left:auto;padding:0 12px;font-size:11.5px;font-weight:700}.dg__textbtn[aria-pressed=true]{background:var(--fill-hover)}.dg__text{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin:0;padding:14px 20px 18px 40px;display:flex}.dg__text li{color:var(--text-2);font-size:14px;font-weight:500;line-height:1.5}.dg-m{display:none}@media (width<=639px){.dg-d.has-m,.ah-map__foot .dg-d{display:none!important}.dg-m{display:block}}.steps{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}@media (width<=639px){.steps{grid-template-columns:1fr}}.steps button{cursor:pointer;text-align:left;width:100%;min-height:52px;font-family:var(--font-sans);border:1px solid var(--line-2);background:var(--bg-card);color:var(--text-2);border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:13.5px;font-weight:600;line-height:1.45;display:flex}.steps button b{width:24px;height:24px;font-family:var(--font-mono);border:1.5px solid var(--line-5);color:var(--text-4);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.steps button[aria-pressed=true]{border-color:var(--tint-lime-b2);background:var(--panel-lime-a)}.steps button[aria-pressed=true] b{background:var(--lime);color:var(--on-accent);border-color:var(--lime)}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:24px;display:grid}@media (width<=639px){.two{grid-template-columns:1fr}}.fw-card{border:1px solid var(--line-2);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);border-radius:20px;flex-direction:column;padding:20px;display:flex}.fw-card>span{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10.5px}.fw-card h3{font-family:var(--font-display);letter-spacing:-.6px;margin:8px 0 0;font-size:20px;font-weight:600}.fw-card>p{color:var(--text-3);text-wrap:pretty;margin:10px 0 0;font-size:14.5px;font-weight:500;line-height:1.65}.fw-card__when{border-top:1px dashed var(--line-dash);padding-top:14px;color:var(--text-2)!important;margin-top:auto!important;font-size:13.5px!important;font-weight:600!important;line-height:1.55!important}.fw-card__when b{color:var(--lime-ink);font-weight:600}.box{border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px 28px;padding:clamp(18px,2.6vw,26px);display:grid}@media (width<=639px){.box{grid-template-columns:1fr}}.box--test{border:1px solid var(--green)}@supports (color:color-mix(in lab, red, red)){.box--test{border:1px solid color-mix(in srgb, var(--green) 40%, transparent)}}.box--test{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.box--test{background:color-mix(in srgb, var(--green) 6%, var(--bg-card))}}.box--test{box-shadow:inset 0 3px 0 var(--green)}.box--warn{border:1px solid var(--amber)}@supports (color:color-mix(in lab, red, red)){.box--warn{border:1px solid color-mix(in srgb, var(--amber) 40%, transparent)}}.box--warn{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.box--warn{background:color-mix(in srgb, var(--amber) 6%, var(--bg-card))}}.box .ide-pre{margin:0;font-size:13px}.box__text{color:var(--text);text-wrap:pretty;margin:10px 0 0;font-size:16px;font-weight:600;line-height:1.7}.box__links{color:var(--text-5);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;font-size:13px;font-weight:600;display:flex}.box__links a:first-child{color:var(--green);font-size:14px;font-weight:800}.box__links a:last-child{color:var(--text-5)}.box h2{font-family:var(--font-display);font-weight:var(--h2-w);font-size:calc(clamp(20px, 2.6vw, 28px) * var(--h2-k));letter-spacing:-1px;margin:10px 0 0}.nb-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px;margin-top:24px;display:grid}.nb{color:var(--text);background:var(--bg-card);border:1px solid var(--line-2);box-shadow:var(--tile-shadow);border-radius:20px;padding:18px;display:block}a.nb:hover{border-color:var(--tint-violet-b2);color:var(--text)}.nb.is-here{border-color:var(--tint-lime-b2);box-shadow:inset 0 3px 0 var(--lime)}.nb.is-soon{opacity:.7}.nb__top{align-items:center;gap:14px;display:flex}.nb__glyph{background:var(--fill-2);border:1px solid var(--line);border-radius:14px;flex:none;place-items:center;width:64px;height:64px;display:grid}.nb__ua{font-family:var(--font-display);letter-spacing:-.4px;font-size:16px;font-weight:600}.nb__en{font-family:var(--font-mono);color:var(--muted);margin-top:3px;font-size:11.5px}.nb__badge{font-family:var(--font-mono);letter-spacing:1px;color:var(--on-accent);background:var(--lime);border-radius:6px;margin-left:auto;padding:3px 7px;font-size:9.5px;font-weight:700}.nb__badge--soon{color:var(--faint);border:1px solid var(--line-3);background:0 0}.nb dl{flex-direction:column;gap:12px;margin:16px 0 0;display:flex}.nb dt{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--faint);font-size:10px}.nb dd{color:var(--text-2);margin:4px 0 0;font-size:14px;font-weight:500;line-height:1.5}.qz-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.qz-head a{color:var(--violet-ink);font-size:14px;font-weight:700}.qz{flex-direction:column;gap:10px;margin-top:22px;display:flex}.qz__item{border:1px solid var(--line-2);background:var(--bg-card);border-radius:18px;overflow:hidden}.qz__q{cursor:pointer;text-align:left;width:100%;min-height:60px;font-family:var(--font-sans);color:var(--text);background:0 0;border:none;align-items:center;gap:14px;padding:14px 18px;display:flex}.qz__lvl{font-family:var(--font-mono);letter-spacing:1px;color:var(--green);border:1px solid;border-radius:6px;flex:none;padding:3px 7px;font-size:10px;font-weight:700}.qz__text{flex:1;font-size:15.5px;font-weight:700;line-height:1.4}.qz__icon{font-family:var(--font-mono);color:var(--muted);flex:none;font-size:16px}.qz__a{color:var(--text-2);text-wrap:pretty;margin:0;padding:0 18px 18px;font-size:15px;font-weight:500;line-height:1.7}.nx{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (width<=639px){.nx{grid-template-columns:1fr}}.nx a,.nx>span{border:1px solid var(--line-2);background:var(--bg-card);color:var(--text);border-radius:18px;padding:18px 20px;display:block}.nx a:hover{border-color:var(--tint-violet-b2);color:var(--text)}.nx .is-soon{opacity:.6}.nx small{font-family:var(--font-mono);letter-spacing:1.3px;color:var(--faint);font-size:10.5px;display:block}.nx strong{font-family:var(--font-display);letter-spacing:-.6px;margin-top:8px;font-size:19px;font-weight:600;display:block}.nx .is-right{text-align:right}.rel{background:var(--line-2);border:1px solid var(--line-2);border-radius:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:1px;margin-top:12px;display:grid;overflow:hidden}.rel a,.rel>span{background:var(--bg-card);color:var(--text);padding:16px 18px;display:block}.rel a:hover{background:var(--bg-hover);color:var(--text)}.rel>span{opacity:.6}.rel small{font-family:var(--font-mono);letter-spacing:1.3px;font-size:10px;display:block}.rel strong{margin-top:8px;font-size:14.5px;font-weight:700;display:block}.term{border:none;border-bottom:1.5px dotted var(--violet-ink);color:var(--text);font:inherit;cursor:help;background:0 0;border-radius:3px 3px 0 0;margin:0;padding:0;font-weight:700;display:inline}.term[aria-expanded=true]{background:var(--panel-violet-a)}.term-def{border:1px solid var(--tint-violet-b);background:var(--panel-violet-a);border-radius:14px;gap:12px;margin-top:12px;padding:14px 16px;display:flex}.term-def>span:first-child{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--violet-ink);flex:none;padding-top:3px;font-size:10px}.term-def>span:last-child{color:var(--text-2);font-size:14.5px;font-weight:500;line-height:1.6}.term-def b{color:var(--text)}.l-figure{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;margin:22px 0 0;overflow:hidden}.l-figure figcaption{border-top:1px solid var(--line);background:var(--fill);color:var(--text-2);padding:14px 20px;font-size:14.5px;font-weight:600;line-height:1.55}.rules{flex-direction:column;gap:10px;margin:22px 0 0;padding:0;list-style:none;display:flex}.rules li{border-bottom:1px solid var(--line-2);color:var(--text-2);align-items:baseline;gap:16px;padding:16px 0;font-size:16px;font-weight:500;line-height:1.7;display:flex}.rules b{font-family:var(--font-display);color:var(--lime-ink);flex:none;width:28px;font-size:22px;font-weight:700}.mk{flex-direction:column;gap:12px;margin-top:22px;display:flex}.mk>div{border:1px solid var(--line-2);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:20px;padding:20px 22px}.mk__head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.mk__head span{font-family:var(--font-mono);color:var(--red);font-size:11px}.mk__head h3{font-family:var(--font-display);letter-spacing:-.5px;margin:0;font-size:18px;font-weight:600}.mk p{color:var(--text-3);text-wrap:pretty;margin:10px 0 0;font-size:15.5px;font-weight:500;line-height:1.7}.mk p.mk__fix{color:var(--text-2);border-top:1px dashed var(--line-dash);margin-top:12px;padding-top:12px;font-size:14.5px;font-weight:600;line-height:1.6}.mk__fix b{color:var(--green);font-weight:600}.tree{flex-direction:column;margin-top:22px;display:flex}.tree__q{transition:opacity .2s}.tree__q.is-off{opacity:.35}.tree__card{border:1px solid var(--line-3);background:var(--bg-card);border-radius:18px;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.tree__card.is-now{border-color:var(--tint-violet-b2)}.tree__num{width:30px;height:30px;font-family:var(--font-mono);border:1.5px solid var(--line-5);color:var(--text-3);border-radius:50%;flex:none;place-items:center;font-size:12.5px;font-weight:800;display:grid}.tree__num.is-yes{background:var(--green);color:var(--on-accent);border-color:var(--green)}.tree__num.is-no{background:var(--amber);color:var(--on-accent);border-color:var(--amber)}.tree__text{color:var(--text);text-wrap:pretty;font-size:16.5px;font-weight:800;line-height:1.45}.tree__hint{color:var(--text-5);margin-top:6px;font-size:14px;font-weight:500;line-height:1.55}.tree__btns{gap:8px;margin-top:14px;display:flex}.tree__btns button{cursor:pointer;min-width:72px;min-height:42px;font-family:var(--font-sans);border:1px solid var(--line-4);background:var(--fill);color:var(--text-3);border-radius:11px;padding:0 16px;font-size:14px;font-weight:800}.tree__btns button:disabled{cursor:default}.tree__btns .is-yes[aria-pressed=true]{border-color:var(--green);background:var(--green);color:var(--on-accent)}.tree__btns .is-no[aria-pressed=true]{border-color:var(--amber);background:var(--amber);color:var(--on-accent)}.tree__exit{border:1px dashed var(--line-4);color:var(--text-5);border-radius:12px;gap:10px;margin:8px 0 0 50px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.5;display:flex}.tree__exit.is-on{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.tree__exit.is-on{background:color-mix(in srgb, var(--amber) 14%, var(--bg-card))}}.tree__exit.is-on{border:1px solid var(--amber);color:var(--text)}.tree__exit>span:first-child,.tree__yes>span:first-child{font-family:var(--font-mono);flex:none;padding-top:2px;font-size:11px;font-weight:700}.tree__link{height:30px;font-family:var(--font-mono);color:var(--faint);align-items:center;gap:8px;padding-left:34px;font-size:11px;display:flex}.tree__link:before{content:"";background:var(--line-4);width:2px;height:100%}.tree__yes{border:1px dashed var(--line-4);color:var(--text-5);border-radius:14px;gap:10px;margin-top:14px;padding:14px 18px;font-size:15px;font-weight:700;line-height:1.5;display:flex}.tree__yes.is-on{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.tree__yes.is-on{background:color-mix(in srgb, var(--green) 12%, var(--bg-card))}}.tree__yes.is-on{border:1px solid var(--green);color:var(--text)}.tree__reset{border:1px solid var(--line-3);background:var(--fill);height:38px;color:var(--text-4);cursor:pointer;border-radius:10px;padding:0 14px;font-size:13px;font-weight:700}.gloss{flex-direction:column;margin:16px 0 0;display:flex}.gloss>div{border-bottom:1px solid var(--line-2);grid-template-columns:200px minmax(0,1fr);gap:4px 24px;padding:16px 0;display:grid}@media (width<=639px){.gloss>div{grid-template-columns:1fr}}.gloss dt{color:var(--text);font-size:15.5px;font-weight:800}.gloss dd{color:var(--text-3);margin:0;font-size:15px;font-weight:500;line-height:1.65}.ah-cols{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(28px,4vw,56px);margin-top:clamp(20px,3vw,36px);display:grid}@media (width<=1179px){.ah-cols{grid-template-columns:1fr}}.ah-h1{font-family:var(--font-display);letter-spacing:clamp(-2.4px,-.3vw,-1px);text-wrap:balance;margin:16px 0 0;font-size:clamp(32px,4.6vw,58px);font-weight:700;line-height:1.04}.ah-h1 em{background:linear-gradient(110deg, var(--grad-h1-a), var(--grad-h1-b) 45%, var(--grad-h1-c));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.ah-lead{color:var(--text-3);text-wrap:pretty;max-width:540px;margin:18px 0 0;font-size:clamp(15.5px,1.9vw,18px);font-weight:500;line-height:1.65}.ah-search{max-width:520px;margin-top:28px;position:relative}.ah-search label{color:var(--muted);font-size:17px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.ah-search input{border:1px solid var(--line-4);background:var(--bg-card);width:100%;height:52px;color:var(--text);font-family:var(--font-sans);border-radius:14px;outline:none;padding:0 16px 0 44px;font-size:15px;font-weight:600}.ah-search input:focus{border-color:var(--tint-violet-b2)}.ah-results{z-index:20;border:1px solid var(--line-3);background:var(--bg-panel);border-radius:16px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 20px 50px #00000040}.ah-results a,.ah-results span.is-soon{color:var(--text);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.ah-results a:hover{background:var(--fill-3);color:var(--text)}.ah-results b{font-size:14.5px;font-weight:700}.ah-results em{font-style:normal;font-family:var(--font-mono);color:var(--muted);font-size:12px}.ah-results small{color:var(--text-5);margin-top:2px;font-size:12.5px;display:block}.ah-results i{font-style:normal;font-family:var(--font-mono);letter-spacing:1.2px;flex:none;font-size:10px}.ah-results p{color:var(--text-5);margin:0;padding:14px 12px;font-size:14px}.seg{border:1px solid var(--line-3);background:var(--fill);border-radius:14px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg button{cursor:pointer;min-height:40px;font-family:var(--font-sans);color:var(--text-4);background:0 0;border:1px solid #0000;border-radius:10px;padding:0 14px;font-size:13.5px;font-weight:700}.seg button[aria-checked=true]{border-color:var(--chip-on-border);background:var(--chip-on-bg);color:var(--chip-on-fg)}.ah-fw{margin-top:26px}.ah-fw>div:first-child,.ah-label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10.5px}.ah-fw .seg{margin-top:10px}.ah-fw p{color:var(--text-5);min-height:20px;margin:10px 0 0;font-size:13px;font-weight:500}.ah-map{border:1px solid var(--line-3);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);border-radius:24px;overflow:hidden}.ah-map__head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.ah-map__keys{color:var(--text-5);align-items:center;gap:14px;font-size:12px;font-weight:600;display:flex}.ah-map__keys span{align-items:center;gap:6px;display:flex}.ah-map__keys i{border:1.5px solid var(--line-5);border-radius:6px;width:16px;height:10px}.ah-map__keys i.is-concept{border-color:var(--green)}.ah-map__keys i.is-soon{background:var(--faint);border:none;border-radius:50%;width:7px;height:7px}.ah-map__svg{padding:clamp(14px,2vw,22px)}.ah-map__svg g[data-id]{cursor:pointer}.ah-map__foot{border-top:1px solid var(--line);background:var(--fill);align-items:center;gap:14px;min-height:64px;padding:12px 20px;display:flex}.ah-map__foot .is-layer{font-family:var(--font-mono);letter-spacing:1.4px;flex:none;font-size:10px}.ah-map__foot .is-text{min-width:0;color:var(--text-2);flex:1;font-size:13.5px;font-weight:600;line-height:1.45}.ah-map__foot .is-text b{color:var(--text)}.ah-map__foot .is-cta{color:var(--lime-ink);flex:none;font-size:13px;font-weight:700}.ah-map__foot .is-idle{color:var(--text-5);font-size:13.5px;font-weight:500}.ah-legend{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 22px;padding:18px 0;display:flex}.ah-legend>span:not(:first-child){color:var(--text-3);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ah-legend i{border-radius:4px;width:12px;height:12px}.ah-sec{padding-top:clamp(48px,7vw,84px)}.ah-sec--far{padding-top:clamp(64px,9vw,110px)}.ah-kicker{font-family:var(--font-mono);letter-spacing:2.6px;color:var(--violet-ink);font-size:11.5px}.ah-h2{font-family:var(--font-display);font-weight:var(--h2-w);font-size:calc(clamp(26px, 3.6vw, 44px) * var(--h2-k));letter-spacing:-1.6px;margin:0;line-height:1.06}.ah-sec__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:16px;display:flex}.ah-sec__meta{color:var(--text-5);font-size:14px;font-weight:600}.ah-groups{flex-direction:column;gap:clamp(36px,5vw,56px);margin-top:clamp(26px,3.6vw,40px);display:flex}.ah-group__head{border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:baseline;gap:12px;padding-bottom:14px;display:flex}.ah-group__head h3{font-family:var(--font-display);letter-spacing:-.6px;margin:0;font-size:clamp(18px,2.2vw,22px);font-weight:600}.ah-group__head span{font-family:var(--font-mono);color:var(--faint);font-size:11px}.ah-group__head p{color:var(--text-5);flex-basis:100%;margin:4px 0 0;font-size:13.5px;font-weight:500}.ah-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px;margin-top:16px;display:grid}.pc{border:1px solid var(--line-2);background:var(--bg-card);box-shadow:var(--tile-shadow);color:var(--text);border-radius:20px;flex-direction:column;padding:18px;transition:opacity .2s,border-color .15s;display:flex}a.pc:hover{border-color:var(--tint-violet-b2);color:var(--text)}.pc.is-soon{opacity:.62;cursor:default}.pc.is-off{opacity:.35}.pc.is-soon.is-off{opacity:.3}.pc__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.pc__glyph{background:var(--fill-2);border:1px solid var(--line);border-radius:16px;flex:none;place-items:center;width:80px;height:80px;display:grid}.pc__side{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.pc__soon{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--faint);border:1px solid var(--line-3);border-radius:6px;padding:3px 7px;font-size:9.5px}.pc__name{margin-top:16px}.pc__name strong{font-family:var(--font-display);letter-spacing:-.5px;color:var(--text);font-size:17px;font-weight:600}.pc__name span{font-family:var(--font-mono);color:var(--muted);margin-top:4px;font-size:12px;display:block}.pc>p{color:var(--text-3);text-wrap:pretty;flex:1;margin:10px 0 0;font-size:14px;font-weight:500;line-height:1.55}.pc__fw{background:var(--panel-lime-a);border:1px solid var(--tint-lime-b);color:var(--text-2);border-radius:10px;margin-top:14px;padding:9px 11px;font-size:12.5px;font-weight:600;line-height:1.45}.pc__fw b{font-family:var(--font-mono);color:var(--lime-ink);font-weight:600}.pc__tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.pc__tags span{font-family:var(--font-mono);color:var(--text-4);border:1px solid var(--line-3);border-radius:7px;padding:4px 8px;font-size:10.5px;font-weight:700}.ah-route__side{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.ah-route__meta{font-family:var(--font-mono);color:var(--lime-ink);font-size:12.5px}.ah-route__lead{color:var(--text-3);max-width:620px;margin:14px 0 0;font-size:15.5px;font-weight:500;line-height:1.65}.path{grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 0;margin:clamp(28px,4vw,44px) 0 0;padding:0;list-style:none;display:grid}.path li{flex-direction:column;gap:14px;min-width:0;padding-right:14px;display:flex}.path__rail{align-items:center;display:flex}.path__dot{width:38px;height:38px;font-family:var(--font-mono);background:var(--bg-card);color:var(--text);border:1.5px solid var(--tint-violet-b2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.path__dot.is-test{border-color:var(--green)}.path__dot.is-soon{background:var(--bg);color:var(--faint);border:1.5px dashed var(--line-5)}.path__line{background:var(--line-3);flex:1;height:2px;margin-left:10px;margin-right:-14px}.path li:nth-child(5n) .path__line,.path li:last-child .path__line{opacity:0}.path__body{color:var(--text);min-width:0;display:block}a.path__body:hover{color:var(--text)}.path__body.is-soon{opacity:.6}.path__body small{font-family:var(--font-mono);letter-spacing:1.2px;font-size:10.5px}.path__body strong{text-wrap:balance;margin-top:6px;font-size:15.5px;font-weight:800;line-height:1.3;display:block}.path__body span{color:var(--text-5);margin-top:4px;font-size:13px;font-weight:500;line-height:1.45;display:block}@media (width<=899px){.path{grid-template-columns:1fr;row-gap:0}.path li{flex-direction:row;gap:16px;min-height:84px;padding-right:0}.path__rail{flex-direction:column;flex:none}.path__line{flex:1;width:2px;height:auto;min-height:24px;margin:6px 0}.path li:nth-child(5n) .path__line{opacity:1}.path li:last-child .path__line{opacity:0}.path__body{padding:6px 0 18px}}.ah-teaser{border:1px solid var(--line-3);background:var(--pv-fill);box-shadow:var(--pv-top);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;overflow:hidden}@media (width<=899px){.ah-teaser{grid-template-columns:1fr}}.ah-teaser__text{flex-direction:column;min-width:0;padding:clamp(22px,3.4vw,40px);display:flex}.ah-teaser__text h2{font-family:var(--font-display);font-weight:var(--h2-w);font-size:calc(clamp(22px, 2.8vw, 32px) * var(--h2-k));letter-spacing:-1.2px;text-wrap:balance;margin:14px 0 0;line-height:1.12}.ah-teaser__text p{color:var(--text-3);text-wrap:pretty;margin:16px 0 0;font-size:15.5px;font-weight:500;line-height:1.7}.ah-teaser__btns{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:24px;display:flex}.ah-teaser__btns a,.ah-teaser__btns span{border:1px solid var(--line-4);min-height:46px;color:var(--text);border-radius:12px;align-items:center;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.ah-teaser__btns a.is-cta{background:var(--cta);color:var(--on-cta);border:none;padding:0 18px;font-weight:800}.ah-teaser__btns a.is-cta:hover{background:var(--cta-hover);color:var(--on-cta)}.ah-teaser__btns span{opacity:.55}.ah-teaser__svg{border-left:1px solid var(--line-2);background:var(--bg-card);min-width:0;padding:clamp(16px,2.4vw,28px)}@media (width<=899px){.ah-teaser__svg{border-left:none;border-top:1px solid var(--line-2)}}.ah-road{border:1px solid var(--line-2);background:var(--bg-card);color:var(--text);border-radius:20px;flex-wrap:wrap;align-items:center;gap:16px;padding:18px 22px;display:flex}.ah-road:hover{border-color:var(--tint-lime-b2);color:var(--text)}.ah-road small{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--lime-ink);font-size:10.5px}.ah-road span{flex:1;min-width:220px;font-size:15px;font-weight:700}.ah-road b{color:var(--lime-ink);font-weight:800}.th-glow{background:radial-gradient(ellipse at center, var(--green), transparent 62%);width:900px;height:680px;top:-220px;right:-140px}@supports (color:color-mix(in lab, red, red)){.th-glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--green) 22%, transparent), transparent 62%)}}.th-search input:focus{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.th-search input:focus{border-color:color-mix(in srgb, var(--green) 55%, transparent)}}.th-jump{flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:13.5px;font-weight:700;display:flex}.th-jump a{min-height:44px;color:var(--text-4);align-items:center;display:inline-flex}.th-jump a:hover{color:var(--text)}.th-shape{border:1px solid var(--line-3);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);border-radius:24px;overflow:hidden}.th-shape__head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px 12px 20px;display:flex}.th-shape__head .seg{border-radius:13px;padding:4px}.th-shape__head .seg button{min-height:38px}.th-shape__body{padding:22px clamp(14px,2.4vw,26px) 18px}.th-shape__axis{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--faint);justify-content:space-between;margin-bottom:10px;font-size:10px;display:flex}.th-shape__axis--end{margin:10px 0 0}.th-bars{flex-direction:column;gap:8px;display:flex}.th-bar{border:1px solid var(--ink);background:var(--c);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;min-width:112px;min-height:52px;margin:0 auto;padding:0 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.th-bar{background:color-mix(in srgb, var(--c) 15%, var(--bg-card))}}.th-bar{font-family:var(--font-sans);cursor:pointer;opacity:1;transition:width .3s,min-height .3s,opacity .2s,margin .3s,background .15s,box-shadow .15s;overflow:hidden}.th-bar.is-on{background:var(--c)}@supports (color:color-mix(in lab, red, red)){.th-bar.is-on{background:color-mix(in srgb, var(--c) 34%, var(--bg-card))}}.th-bar.is-on{box-shadow:0 0 0 4px var(--c)}@supports (color:color-mix(in lab, red, red)){.th-bar.is-on{box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 22%, transparent)}}.th-bar:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.th-bar.is-hidden{opacity:0;pointer-events:none;border-width:0;min-width:0;height:0;min-height:0;margin-top:-8px}.th-bar__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.th-bar__share{font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;font-size:11.5px;font-weight:700}.th-shape__note{color:var(--text-4);margin:12px 0 0;font-size:13.5px;font-weight:600;line-height:1.55}.th-shape__caption{color:var(--text-6);margin:6px 0 0;font-size:12px;font-weight:500;line-height:1.5}.th-panel{border-top:1px solid var(--line);background:var(--fill);padding:16px 20px 20px}.th-panel__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.th-panel__sw{border-radius:3px;width:10px;height:10px}.th-panel__name{font-family:var(--font-display);letter-spacing:-.4px;font-size:17px;font-weight:600}.th-panel__time{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--line-4);border-radius:7px;padding:3px 8px;font-size:11.5px;font-weight:700}.th-panel__cols{grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:12px;display:grid}@media (width<=639px){.th-panel__cols{grid-template-columns:1fr}}.th-panel__k{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--faint);font-size:10px}.th-panel__v{color:var(--text-2);margin-top:4px;font-size:14px;font-weight:600;line-height:1.55}.th-panel__code{border-radius:12px;margin-top:14px;padding:12px 14px;font-size:12px}.th-sec{padding-top:clamp(56px,8vw,96px)}.th-stan{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;margin-top:26px;display:grid}@media (width<=1179px){.th-stan{grid-template-columns:1fr}}.th-stan__bar{flex-wrap:wrap}.th-stan__tag{font-family:var(--font-mono);letter-spacing:1px;color:var(--ide-amber);border:1px solid var(--ide-amber);font-size:10px}@supports (color:color-mix(in lab, red, red)){.th-stan__tag{border:1px solid color-mix(in srgb, var(--ide-amber) 45%, transparent)}}.th-stan__tag{border-radius:6px;padding:2px 7px}.th-stan__count{font-family:var(--font-mono);color:var(--ide-red);border:1px solid;border-radius:7px;padding:4px 9px;font-size:11.5px;font-weight:700}.th-stan__count.is-clean{color:var(--ide-green)}.th-wavy{-webkit-text-decoration:underline wavy var(--ide-red);-webkit-text-decoration:underline wavy var(--ide-red);-webkit-text-decoration:underline wavy var(--ide-red);text-decoration:underline wavy var(--ide-red);text-underline-offset:4px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.th-err{contain:inline-size;background:var(--ide-red);border-radius:9px;align-items:flex-start;gap:10px;margin:2px 14px 6px 56px;padding:7px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.th-err{background:color-mix(in srgb, var(--ide-red) 10%, transparent)}}.th-err{border:1px solid var(--ide-red)}@supports (color:color-mix(in lab, red, red)){.th-err{border:1px solid color-mix(in srgb, var(--ide-red) 32%, transparent)}}@media (width<=999px){.th-err{max-width:calc(100vw - 2*clamp(16px,4vw,32px) - 72px)}}@media (width<=639px){.th-err{max-width:calc(100vw - 2*clamp(16px,4vw,32px) - 30px);margin-left:14px}}.th-err b{font-family:var(--font-mono);color:var(--ide-bg);background:var(--ide-red);border-radius:5px;flex:none;padding:2px 6px;font-size:10.5px;font-weight:800}.th-err span{font-family:var(--font-sans);color:var(--ide-text-2);white-space:normal;min-width:0;font-size:13px;font-weight:600;line-height:1.5}.th-err code{font-family:var(--font-mono);color:var(--ide-text);overflow-wrap:anywhere;margin-bottom:3px;font-size:12.5px;font-weight:500;display:block}.th-stan__foot{border-top:1px solid var(--ide-line);background:var(--ide-bar);padding:16px 18px 18px}.th-stan__row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.th-stan__row label{font-family:var(--font-mono);color:var(--ide-text);font-size:13px;font-weight:700}.th-stan__row label span{color:var(--ide-lime)}.th-stan__caption{color:var(--ide-text-3);font-size:13px;font-weight:600}.th-stan__foot input[type=range]{width:100%;accent-color:var(--ide-lime);cursor:pointer;height:28px;margin:14px 0 6px}@media (pointer:coarse){.th-stan__foot input[type=range]{height:44px}}.th-stan__ticks{font-family:var(--font-mono);color:var(--ide-muted);justify-content:space-between;padding:0 4px;font-size:11px;display:flex}.th-stan__ticks .is-on{color:var(--ide-lime);font-weight:800}.th-levels{border:1px solid var(--line-2);background:var(--bg-card);border-radius:18px;margin:0;padding:0;list-style:none;overflow:hidden}.th-levels button{border:none;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;width:100%;min-height:44px;font-family:var(--font-sans);background:0 0;align-items:center;gap:12px;padding:8px 16px;display:flex}.th-levels li:last-child button{border-bottom:none}.th-levels button:hover{background:var(--fill-hover)}.th-levels button.is-here{background:var(--panel-lime-a);box-shadow:inset 3px 0 0 var(--lime)}.th-levels__n{width:24px;height:24px;font-family:var(--font-mono);border:1.5px solid var(--line-4);color:var(--text-6);border-radius:7px;flex:none;place-items:center;font-size:11.5px;font-weight:800;display:grid}.th-levels .is-on .th-levels__n{background:var(--lime);border-color:var(--lime);color:var(--on-accent)}.th-levels__t{min-width:0;color:var(--text-6);flex:1;font-size:13.5px;font-weight:600;line-height:1.4}.th-levels .is-on .th-levels__t{color:var(--text)}.th-levels__add{font-family:var(--font-mono);color:var(--text-6);font-size:10.5px;font-weight:700}.th-levels .is-on .th-levels__add{color:var(--red)}.th-levels__none{font-family:var(--font-mono);color:var(--faint);white-space:nowrap;font-size:10px}.th-pest{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:clamp(20px,4vw,48px);margin-top:16px;display:grid}@media (width<=1179px){.th-pest{grid-template-columns:1fr}}.th-pest .ah-route__lead a{color:var(--green);font-weight:700}.ide__tab.is-red[aria-selected=true]{box-shadow:inset 0 -2px 0 var(--ide-red)}.th-pest .ide__tab[aria-selected=true]:not(.is-red){box-shadow:inset 0 -2px 0 var(--ide-green)}.th-pest__code{font-family:var(--font-mono);color:var(--ide-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:16px 18px;font-size:13px;line-height:1.75}.th-out{padding:14px 0 16px;overflow-x:auto}.th-out__lines{min-width:0}.th-out__row{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ide-text);padding:0 16px;font-size:13px;line-height:1.75}.th-out__row.is-arrow{background:var(--ide-red)}@supports (color:color-mix(in lab, red, red)){.th-out__row.is-arrow{background:color-mix(in srgb, var(--ide-red) 10%, transparent)}}.th-out__row.is-arrow{box-shadow:inset 3px 0 0 var(--ide-red)}.th-o-pass,.th-o-fail{color:var(--ide-bg);border-radius:4px;font-weight:800}.th-o-pass{background:var(--ide-green)}.th-o-fail{background:var(--ide-red)}.th-o-ok{color:var(--ide-green)}.th-o-bad{color:var(--ide-red)}.th-o-strong{font-weight:700}.th-o-text{color:var(--ide-text)}.th-o-dim{color:var(--ide-text-2)}.th-o-muted{color:var(--ide-muted)}.th-o-faint{color:var(--ide-faint)}.th-pest__cmd{border-top:1px solid var(--ide-line);background:var(--ide-bar);font-family:var(--font-mono);color:var(--ide-muted);overflow-wrap:anywhere;padding:10px 14px;font-size:12px}.th-break{border:1px solid var(--line-2);background:var(--bg-card);border-radius:18px;margin-top:22px;padding:16px 18px}.th-break__k{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--red);font-size:10.5px}.th-break .ide-pre{margin-top:10px;font-size:12.5px}.th-break p{color:var(--text-2);text-wrap:pretty;margin:12px 0 0;font-size:14.5px;font-weight:500;line-height:1.65}.th-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;margin-top:16px;display:grid}.th-card{border:1px solid var(--line-2);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);color:var(--text);border-radius:20px;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}a.th-card:hover{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){a.th-card:hover{border-color:color-mix(in srgb, var(--green) 55%, transparent)}}a.th-card:hover{color:var(--text)}.th-card.is-soon{opacity:.62;cursor:default}.th-card__body{flex:1;padding:18px 18px 16px}.th-card__top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.th-card__top strong{font-family:var(--font-display);letter-spacing:-.5px;font-size:17px;font-weight:600}.th-card p{color:var(--text-3);text-wrap:pretty;margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.55}.th-card__snip{background:var(--ide-bg);border-top:1px solid var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-text-2);white-space:nowrap;text-overflow:ellipsis;padding:11px 16px;font-size:12px;overflow:hidden}.th-card__snip span{color:var(--ide-green)}.th-route__keys{gap:14px;font-size:12.5px;font-weight:700;display:flex}.th-route__keys span{align-items:center;gap:6px;display:flex}.th-route__keys i{border-radius:2px;width:8px;height:8px}.th-ours{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:24px;overflow:hidden}.th-ours__head{padding:clamp(22px,3.4vw,36px) clamp(22px,3.4vw,36px) 18px}.th-ours__head h2{font-family:var(--font-display);font-weight:var(--h2-w);font-size:calc(clamp(22px, 2.8vw, 32px) * var(--h2-k));letter-spacing:-1.2px;text-wrap:balance;margin:14px 0 0;line-height:1.12}.th-ours__row{border-top:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:baseline;gap:6px 24px;padding:16px clamp(22px,3.4vw,36px);display:grid}@media (width<=899px){.th-ours__row{grid-template-columns:1fr}}.th-ours__row code{font-family:var(--font-mono);color:var(--lime-ink);word-break:break-all;font-size:12.5px}.th-ours__row span{color:var(--text-2);font-size:15px;font-weight:600;line-height:1.6}.th-var{margin-top:22px}.th-var__tabs button{min-height:44px}.th-var__panel{margin-top:14px}.ide__filetab--green{box-shadow:inset 0 2px 0 var(--ide-green)}.th-var__meta{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 0;display:grid}@media (width<=639px){.th-var__meta{grid-template-columns:1fr}}.th-var__meta>div{border:1px solid var(--line-2);background:var(--bg-card);border-radius:16px;padding:14px 16px}.th-var__meta dt{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--green);font-size:10px}.th-var__meta dd{color:var(--text-2);margin:6px 0 0;font-size:14.5px;font-weight:500;line-height:1.6}.l-shell--concept .code-grid{grid-template-columns:1fr}.l-kicker-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.l-h1__alt{font-family:var(--font-sans);letter-spacing:0;color:var(--text-4);flex-basis:100%;font-size:clamp(16px,2vw,20px);font-weight:700}.learn--security .l-progress{background:linear-gradient(90deg, var(--orange), var(--lime))}.learn--security .l-toc a.is-on:before{background:var(--orange)}.sec-dot{vertical-align:1px;border-radius:2px;width:8px;height:8px;margin-right:9px;display:inline-block}.sec-owasp{font-family:var(--font-mono);color:var(--faint);border:1px solid var(--line-dash);border-radius:6px;padding:3px 8px;font-size:10.5px}.sec-glow{background:radial-gradient(ellipse at center, var(--orange), transparent 62%);width:900px;height:680px;top:-220px;right:-140px}@supports (color:color-mix(in lab, red, red)){.sec-glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--orange) 18%, transparent), transparent 62%)}}.sec-cols{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(28px,4vw,56px);margin-top:clamp(20px,3vw,36px);display:grid}@media (width<=1179px){.sec-cols{grid-template-columns:1fr}}.sec-steps{flex-direction:column;gap:10px;max-width:520px;margin:26px 0 0;padding:0;list-style:none;display:flex}.sec-steps li{color:var(--text-2);gap:12px;font-size:14.5px;font-weight:600;line-height:1.5;display:flex}.sec-steps li>span{font-family:var(--font-mono);color:var(--orange);flex:none}.sec-lab{background:var(--ide-bg);border:1px solid var(--ide-line-2);min-width:0;color:var(--ide-text);border-radius:24px;overflow:hidden;box-shadow:0 24px 60px #00000047}.sec-lab__bar{border-bottom:1px solid var(--ide-line);background:var(--ide-bar);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 12px 18px;display:flex}.sec-lab__title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sec-lab__title>span:first-child{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--ide-text-3);font-size:10.5px}.sec-sim{font-family:var(--font-mono);color:var(--ide-faint);border:1px dashed var(--ide-line-2);border-radius:5px;padding:1px 6px;font-size:10px}.sec-sim--page{color:var(--faint);border-color:var(--line-dash)}.sec-seg{background:var(--ide-fill);border-radius:11px;gap:3px;padding:3px;display:inline-flex}.sec-seg button{cursor:pointer;min-height:34px;font-family:var(--font-sans);color:var(--ide-text-3);background:0 0;border:none;border-radius:9px;padding:0 12px;font-size:12.5px;font-weight:800}.sec-seg button[aria-checked=true]{background:var(--ide-text);color:var(--ide-bg)}.sec-lab__in{padding:18px 18px 0}.sec-lab__in label{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--ide-muted);font-size:10.5px}.sec-lab__in input{border:1px solid var(--ide-line-2);background:var(--ide-panel);width:100%;height:48px;color:var(--ide-text);font-family:var(--font-mono);border-radius:12px;outline:none;margin-top:8px;padding:0 14px;font-size:15px;display:block}.sec-lab__in input:focus{border-color:var(--ide-orange)}.sec-lab__in input::placeholder{color:var(--ide-faint)}.sec-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.sec-chips button{cursor:pointer;min-height:34px;font-family:var(--font-mono);white-space:pre;background:var(--ide-fill);color:var(--ide-text-2);border:1px solid var(--ide-line-2);border-radius:8px;padding:0 10px;font-size:12px;font-weight:700}.sec-chips button.is-on{background:var(--ide-orange)}@supports (color:color-mix(in lab, red, red)){.sec-chips button.is-on{background:color-mix(in srgb, var(--ide-orange) 18%, transparent)}}.sec-chips button.is-on{color:var(--ide-orange);border-color:var(--ide-orange)}.sec-chips--page button{white-space:normal;background:var(--fill);min-height:32px;color:var(--text-3);border-color:var(--line-3);font-size:11.5px}.sec-chips--page button.is-on{background:var(--fill-hover);color:var(--text);border-color:var(--line-5)}.sec-lab__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;padding:16px 18px 18px;display:grid}@media (width<=639px){.sec-lab__grid{grid-template-columns:1fr}}.sec-lab__q,.sec-res{border:1px solid var(--ide-line);background:var(--ide-panel);border-radius:14px;min-width:0;padding:14px}.sec-lab__head{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--ide-muted);justify-content:space-between;gap:10px;font-size:10.5px;display:flex}.sec-verdict{letter-spacing:0}.sec-verdict.is-glued{color:var(--ide-muted)}.sec-verdict.is-injected{color:var(--ide-orange)}.sec-verdict.is-prepared{color:var(--ide-green)}.sec-query{font-family:var(--font-mono);color:var(--ide-text-2);word-break:break-word;white-space:pre-wrap;margin-top:10px;font-size:13.5px;line-height:1.85}.sec-seg-in{color:var(--ide-orange)}.sec-seg-out{color:var(--ide-bg);background:var(--ide-orange);border-radius:3px;font-weight:800}.sec-seg-cut{color:var(--ide-faint);text-decoration:line-through}.sec-seg-param{color:var(--ide-green);font-weight:800}.sec-bind{border-top:1px dashed var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-muted);word-break:break-word;margin-top:10px;padding-top:10px;font-size:12.5px;line-height:1.7}.sec-bind span{color:var(--ide-green);background:var(--ide-green)}@supports (color:color-mix(in lab, red, red)){.sec-bind span{background:color-mix(in srgb, var(--ide-green) 14%, transparent)}}.sec-bind span{white-space:pre-wrap;border-radius:4px;padding:1px 4px}.sec-lab__note{color:var(--ide-text-3);margin:10px 0 0;font-size:12.5px;font-weight:600;line-height:1.5}.sec-res{flex-direction:column;display:flex}.sec-res.is-bad{border-color:var(--ide-orange);background:var(--ide-orange)}@supports (color:color-mix(in lab, red, red)){.sec-res.is-bad{background:color-mix(in srgb, var(--ide-orange) 9%, var(--ide-panel))}}.sec-res.is-ok{border-color:var(--ide-green);background:var(--ide-green)}@supports (color:color-mix(in lab, red, red)){.sec-res.is-ok{background:color-mix(in srgb, var(--ide-green) 8%, var(--ide-panel))}}.sec-res__title{color:var(--ide-text);overflow-wrap:anywhere;margin-top:10px;font-size:15.5px;font-weight:800;line-height:1.45}.sec-res.is-bad .sec-res__title{color:var(--ide-orange)}.sec-res.is-warn .sec-res__title{color:var(--ide-amber)}.sec-res.is-ok .sec-res__title{color:var(--ide-green)}.sec-res__text{color:var(--ide-text-3);overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;font-weight:600;line-height:1.55}.sec-rows{border:1px solid var(--ide-line-2);font-family:var(--font-mono);border-radius:10px;margin-top:12px;font-size:12px;overflow:hidden}.sec-rows>div{justify-content:space-between;gap:10px;padding:6px 10px;display:flex}.sec-rows__head{color:var(--ide-muted);background:var(--ide-fill)}.sec-rows__row{color:var(--ide-text-2);border-top:1px solid var(--ide-line)}.sec-rows__row.is-first{color:var(--ide-orange);font-weight:700}.sec-lab__caption{border-top:1px solid var(--ide-line);color:var(--ide-muted);margin:0;padding:12px 18px 16px;font-size:12.5px;font-weight:600;line-height:1.55}.sec-path{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;margin-top:26px;overflow:hidden}.sec-path__svg{padding:clamp(18px,3vw,32px) clamp(12px,2.4vw,28px)}.sec-path__svg g[data-id^=pin-]{cursor:pointer}.sec-path__foot{border-top:1px solid var(--line);background:var(--fill);flex-wrap:wrap;align-items:center;gap:12px;min-height:60px;padding:12px 20px;display:flex}.sec-path__info{flex-wrap:wrap;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.sec-path__text{color:var(--text-2);flex:1;min-width:200px;font-size:14px;font-weight:600;line-height:1.45}.sec-path__text b{color:var(--text)}.sec-path__cta{color:var(--lime-ink);font-size:13px;font-weight:700}.sec-path__idle{color:var(--text-5);font-size:13.5px;font-weight:500}.sec-pins{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:6px;margin:0;padding:12px 14px 14px;list-style:none;display:grid}.sec-pins a,.sec-pins span.is-soon{border:1px solid var(--line-2);min-height:48px;color:var(--text);border-radius:12px;outline:none;flex-direction:column;justify-content:center;padding:8px 12px;display:flex}.sec-pins a:hover,.sec-pins a:focus-visible,.sec-pins span.is-soon:focus-visible{border-color:var(--orange)}@supports (color:color-mix(in lab, red, red)){.sec-pins a:hover,.sec-pins a:focus-visible,.sec-pins span.is-soon:focus-visible{border-color:color-mix(in srgb, var(--orange) 55%, transparent)}}.sec-pins a:hover,.sec-pins a:focus-visible,.sec-pins span.is-soon:focus-visible{background:var(--fill-2);color:var(--text)}.sec-pins b{font-family:var(--font-mono);color:var(--orange);font-size:12px}.sec-pins span.is-soon b{color:var(--faint)}.sec-pins span span{color:var(--text-5);margin-top:2px;font-size:12.5px;font-weight:600;line-height:1.4}.sec-pins a span{color:var(--text-4);margin-top:2px;font-size:12.5px;font-weight:600;line-height:1.4}.sec-crit{font-family:var(--font-mono);letter-spacing:.8px;border:1px solid;border-radius:6px;flex:none;padding:3px 8px;font-size:10.5px;font-weight:700}.sec-legend{flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:12.5px;font-weight:700;display:flex}.sec-legend>span{align-items:center;gap:6px;display:flex}.sec-legend i{border-radius:2px;width:8px;height:8px}.sec-legend__meta{font-family:var(--font-mono);color:var(--faint);font-size:11.5px;font-weight:500}.sec-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px;margin-top:26px;display:grid}.sec-card{border:1px solid var(--line-2);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);color:var(--text);border-radius:20px;flex-direction:column;padding:18px;transition:border-color .15s;display:flex}a.sec-card:hover{border-color:var(--orange)}@supports (color:color-mix(in lab, red, red)){a.sec-card:hover{border-color:color-mix(in srgb, var(--orange) 55%, transparent)}}a.sec-card:hover{color:var(--text)}.sec-card.is-soon{opacity:.62;cursor:default}.sec-card__top{align-items:center;gap:8px;display:flex}.sec-card__code{font-family:var(--font-mono);color:var(--faint);white-space:nowrap;margin-left:auto;font-size:11px}.sec-card>strong{font-family:var(--font-display);letter-spacing:-.5px;margin-top:14px;font-size:17px;font-weight:600}.sec-card>p{color:var(--text-3);text-wrap:pretty;flex:1;margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.55}.sec-card__freq{border-top:1px dashed var(--line-dash);align-items:center;gap:10px;margin-top:16px;padding-top:12px;display:flex}.sec-card__freq>span:first-child{color:var(--text-5);flex:none;font-size:12px;font-weight:600}.sec-card__freq b{color:var(--text-3);flex:none;font-size:12px;font-weight:700}.sec-freq{flex:1;justify-content:flex-end;gap:3px;display:flex}.sec-freq i{background:var(--line-3);border-radius:2px;width:14px;height:6px}.sec-estimate{color:var(--text-5);max-width:760px;margin:16px 0 0;font-size:12.5px;font-weight:500;line-height:1.55}.sec-demo{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;margin-top:22px;overflow:hidden}.sec-demo__bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 12px 20px;display:flex}.sec-demo__label{align-items:center;gap:10px;display:flex}.sec-demo__label>span:first-child{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--faint);font-size:10.5px}.sec-demo__seg button{min-height:34px;font-size:12.5px;font-weight:800}.sec-demo__cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.sec-demo__edit,.sec-demo__view{min-width:0;padding:18px 20px}.sec-demo__edit{border-right:1px solid var(--line)}@media (width<=639px){.sec-demo__cols{grid-template-columns:1fr}.sec-demo__edit{border-right:none;border-bottom:1px solid var(--line)}}.sec-demo__edit label,.sec-demo__k{color:var(--text-4);font-size:13px;font-weight:700}.sec-demo__edit textarea{border:1px solid var(--line-4);background:var(--bg);width:100%;color:var(--text);font-family:var(--font-mono);resize:vertical;border-radius:12px;outline:none;margin-top:10px;padding:12px 14px;font-size:13.5px;line-height:1.6;display:block}.sec-demo__edit textarea:focus{border-color:var(--orange)}@supports (color:color-mix(in lab, red, red)){.sec-demo__edit textarea:focus{border-color:color-mix(in srgb, var(--orange) 60%, transparent)}}.sec-comment{border:1px solid var(--line-2);background:var(--bg);border-radius:14px;margin-top:10px;overflow:hidden}.sec-comment__head{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;padding:10px 12px;display:flex}.sec-comment__head b{font-size:13px;font-weight:700;display:block}.sec-comment__head small{font-family:var(--font-mono);color:var(--faint);font-size:10.5px;display:block}.sec-avatar{background:var(--panel-violet-a);width:30px;height:30px;color:var(--violet-ink);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.sec-comment__body{color:var(--text-2);overflow-wrap:anywhere;white-space:pre-wrap;min-height:52px;padding:14px 12px;font-size:14.5px;line-height:1.6}.sec-hit{background:var(--red);border-radius:4px;padding:0 6px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.sec-hit{background:color-mix(in srgb, var(--red) 18%, transparent)}}.sec-hit{color:var(--red);font-family:var(--font-mono);white-space:normal;font-size:12px;font-weight:700}.sec-tag{font-family:var(--font-mono);color:var(--text-5);border-bottom:1px dashed var(--line-5);font-size:12.5px}.sec-alert{background:var(--red);border-radius:12px;align-items:flex-start;gap:10px;margin:0 12px 14px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.sec-alert{background:color-mix(in srgb, var(--red) 12%, transparent)}}.sec-alert{border:1px solid var(--red)}@supports (color:color-mix(in lab, red, red)){.sec-alert{border:1px solid color-mix(in srgb, var(--red) 40%, transparent)}}.sec-alert>span:first-child{color:var(--red);flex:none;font-size:15px}.sec-alert>span:last-child{color:var(--text);font-size:13px;font-weight:600;line-height:1.5}.sec-demo__note{color:var(--text-5);margin:12px 0 0;font-size:13px;font-weight:600;line-height:1.55}.sec-traps{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:22px;display:grid}.sec-trap{border:1px solid var(--line-2);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.sec-trap__k{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--amber);padding:12px 16px;font-size:10.5px}.sec-trap__code{background:var(--ide-bg);border:1px solid var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:11px;margin:0 12px;padding:12px 14px;font-size:13px;line-height:1.7}.sec-trap p{color:var(--text-2);text-wrap:pretty;margin:0;padding:12px 16px 14px;font-size:13.5px;font-weight:600;line-height:1.55}.sec-trap p>span{color:var(--orange)}.sec-find{margin-top:20px}.sec-find .ide{box-shadow:0 12px 40px #0000002e}.sec-find__status{font-family:var(--font-mono);color:var(--ide-muted);font-size:11px}.sec-find__status.is-all{color:var(--ide-green)}.sec-find__status.is-part{color:var(--ide-amber)}.sec-find__row{width:100%;font-family:var(--font-mono);text-align:left;color:var(--ide-text);cursor:pointer;background:0 0;border:none;align-items:center;margin:0;padding:0;font-size:13.5px;line-height:1.9;display:flex}.sec-find__row:disabled{cursor:default}.sec-find__row:focus-visible{outline:2px solid var(--ide-amber);outline-offset:-2px}.sec-find__row .ide__num{width:36px;padding-right:12px}.sec-find__flag{text-align:center;width:20px;color:var(--ide-amber);flex:none;font-weight:800}.sec-find__row.is-flag{background:var(--ide-amber)}@supports (color:color-mix(in lab, red, red)){.sec-find__row.is-flag{background:color-mix(in srgb, var(--ide-amber) 10%, transparent)}}.sec-find__row.is-flag{box-shadow:inset 3px 0 0 var(--ide-amber)}.sec-find__row.is-found{box-shadow:inset 3px 0 0 var(--ide-green)}.sec-find__row.is-found .sec-find__flag{color:var(--ide-green)}.sec-find__row.is-fine{box-shadow:inset 3px 0 0 var(--ide-muted)}.sec-find__row.is-fine .sec-find__flag{color:var(--ide-muted)}.sec-find__row.is-missed{box-shadow:inset 3px 0 0 var(--ide-amber)}.sec-find__note{contain:inline-size;font-family:var(--font-sans);white-space:normal;border-radius:9px;margin:0 14px 8px 68px;padding:8px 12px;font-size:13px;font-weight:600;line-height:1.5}@media (width<=999px){.sec-find__note{max-width:calc(100vw - 2*clamp(16px,4vw,32px) - 82px)}}.sec-find__note.is-found{background:var(--ide-green)}@supports (color:color-mix(in lab, red, red)){.sec-find__note.is-found{background:color-mix(in srgb, var(--ide-green) 12%, transparent)}}.sec-find__note.is-found{color:var(--ide-text)}.sec-find__note.is-missed{background:var(--ide-amber)}@supports (color:color-mix(in lab, red, red)){.sec-find__note.is-missed{background:color-mix(in srgb, var(--ide-amber) 12%, transparent)}}.sec-find__note.is-missed{color:var(--ide-text)}.sec-find__note.is-fine{background:var(--ide-fill);color:var(--ide-text-3)}.sec-find__foot{border-top:1px solid var(--ide-line);background:var(--ide-bar);flex-wrap:wrap;gap:10px;padding:12px 16px;display:flex}.sec-find__check{background:var(--ide-lime);min-height:44px;color:var(--ide-bg);font-family:var(--font-sans);cursor:pointer;border:none;border-radius:11px;padding:0 16px;font-size:13.5px;font-weight:800}.sec-find__check:disabled{background:var(--ide-fill-2);color:var(--ide-text-3);cursor:default}.sec-find__reset{border:1px solid var(--ide-line-2);min-height:44px;color:var(--ide-text-3);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:11px;padding:0 14px;font-size:13px;font-weight:700}.sec-find__answers{border:1px solid var(--line-2);background:var(--bg-card);border-radius:14px;margin-top:12px;padding:12px 16px}.sec-find__answers summary{cursor:pointer;font-weight:700}.sec-find__answers li{color:var(--text-2);margin-top:8px;font-size:14.5px;line-height:1.6}@media (pointer:coarse){.sec-find__row{min-height:44px}}.sec-check{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:20px;margin-top:22px;overflow:hidden}.sec-check__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.sec-check__head>span{font-family:var(--font-mono);color:var(--text-5);font-size:11.5px}.sec-check__head button{border:1px solid var(--line-3);background:var(--fill);min-height:44px;color:var(--text-2);cursor:pointer;font-family:var(--font-sans);border-radius:10px;padding:0 14px;font-size:13px;font-weight:700}.sec-check ul{margin:0;padding:6px 18px 14px;list-style:none}.sec-check li{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.sec-check li:last-child{border-bottom:none}.sec-check li>span:first-child{font-family:var(--font-mono);color:var(--green);flex:none}.sec-check li>span:last-child{color:var(--text-2);font-size:14.5px;font-weight:600;line-height:1.55}.sec-also{border:1px solid var(--line-2);background:var(--bg-card);border-radius:16px;margin-top:14px;overflow:hidden}.sec-also>div{border-top:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:baseline;gap:6px 20px;padding:14px 18px;display:grid}.sec-also>div:first-child{border-top:none}@media (width<=899px){.sec-also>div{grid-template-columns:1fr}}.sec-also code{font-family:var(--font-mono);color:var(--lime-ink);word-break:break-all;font-size:12px}.sec-also span{color:var(--text-2);font-size:14.5px;font-weight:600;line-height:1.6}@media (prefers-reduced-motion:reduce){.l-progress,.ide__row,.pc,.tree__q,.th-bar,.th-card,.sec-card{transition:none}}.learn--databases .l-hero{overflow:clip}.learn--databases .l-progress{background:linear-gradient(90deg, var(--blue), var(--lime))}.learn--databases .l-toc a.is-on:before{background:var(--blue)}.learn--databases .l-hero__glow{background:radial-gradient(ellipse at center, var(--blue), transparent 62%);width:860px;top:-240px;left:-160px;right:auto}@supports (color:color-mix(in lab, red, red)){.learn--databases .l-hero__glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--blue) 16%, transparent), transparent 62%)}}.learn--databases .l-hero__glow.db-glow{background:radial-gradient(ellipse at center, var(--blue), transparent 62%);width:900px;height:680px;top:-220px;left:auto;right:-140px}@supports (color:color-mix(in lab, red, red)){.learn--databases .l-hero__glow.db-glow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--blue) 18%, transparent), transparent 62%)}}.db-cols{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;gap:clamp(28px,4vw,56px);margin-top:clamp(20px,3vw,36px);display:grid}@media (width<=1179px){.db-cols{grid-template-columns:1fr}}.db-hero__text{min-width:0;padding-top:clamp(0px,1vw,12px)}.db-jump{margin-top:24px}.db-note{color:var(--text-6);margin:10px 0 0;font-size:13px;font-weight:600;line-height:1.55}.db-seg{border:1px solid var(--line-3);background:var(--fill);border-radius:11px;flex-wrap:wrap;gap:3px;padding:3px;display:inline-flex}.db-seg button{cursor:pointer;min-height:34px;font-family:var(--font-mono);white-space:nowrap;color:var(--text-4);background:0 0;border:none;border-radius:9px;padding:0 12px;font-size:12px;font-weight:700}.db-seg button[aria-checked=true]{background:var(--chip-on-bg);color:var(--chip-on-fg)}.db-seg button:focus-visible,.db-idx__again:focus-visible,.db-book__case:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.db-t{border:1.5px solid var(--tone);background:var(--bg-card);border-radius:12px;min-width:0;overflow:hidden}.db-t__name{height:30px;font-family:var(--font-mono);color:var(--tone);border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;padding:0 10px;font-size:11.5px;font-weight:700;display:flex}.db-t__alias{color:var(--faint);font-weight:500}.db-t__grid{grid-template-columns:var(--cols);align-items:center;display:grid}.db-t__grid>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-left:6px;overflow:hidden}.db-t__grid>span:first-child{padding-left:10px}.db-t__grid>span:last-child{padding-right:6px}.db-t__head{background:var(--fill-3);height:28px;font-family:var(--font-mono);color:var(--text-4);font-size:10.5px;font-weight:700}.db-t__head .is-key{color:var(--lime-ink)}.db-t__head i{margin-right:3px;font-size:9.5px;font-style:normal}.db-t__row{border-top:1px solid var(--line-2);height:30px;font-family:var(--font-mono);color:var(--text-2);font-size:12px;font-weight:600;transition:background .15s,opacity .2s,box-shadow .15s}.db-t__row>.is-key{color:var(--text-4)}.db-t__row.is-dim{opacity:.3}.db-t__row.is-odd{background:var(--panel-violet-a)}.db-t__row.is-null{background:var(--fill-2)}.db-t__row.is-bad{background:var(--orange)}@supports (color:color-mix(in lab, red, red)){.db-t__row.is-bad{background:color-mix(in srgb, var(--orange) 12%, transparent)}}.db-t__row.is-bad{box-shadow:inset 3px 0 0 var(--orange)}.db-t__row.is-hi{background:var(--panel-lime-a);box-shadow:inset 3px 0 0 var(--lime-ink);opacity:1}.db-t__row.is-new{animation:.25s ease-out both dbIn}.db-t__row[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.db-t__more{border-top:1px dashed var(--line-2);font-family:var(--font-mono);color:var(--text-6);padding:6px 10px;font-size:11.5px;font-style:italic}.db-null{color:var(--violet-ink);background:var(--panel-violet-a);border:1px dashed var(--violet);border-radius:5px;padding:0 6px;font-size:10.5px;font-style:italic;font-weight:700;line-height:1.5;display:inline-block}@keyframes dbIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.db-join{border:1px solid var(--line-3);background:var(--bg-card);min-width:0;box-shadow:var(--tile-shadow);border-radius:24px;margin:0;overflow:hidden}.db-join__bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 12px 18px;display:flex}.db-join__label{font-family:var(--font-mono);letter-spacing:1.6px;color:var(--faint);font-size:10.5px}.db-join__sql{background:var(--ide-bg);border:1px solid var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-text-2);white-space:pre;border-radius:12px;margin:14px 16px 0;padding:10px 14px;font-size:12.5px;line-height:1.7;overflow-x:auto}.db-join__sql mark{color:var(--ide-bg);background:var(--ide-lime);border-radius:4px;padding:0 4px;font-weight:700}.db-join__tables{grid-template-columns:minmax(0,.8fr) 64px minmax(0,1.2fr);align-items:start;padding:14px 16px 0;display:grid}.db-join__lines{min-width:0}.db-lines{display:block;overflow:visible}.db-lines--mobile{display:none}.db-line path{fill:none;stroke:var(--text-5);stroke-width:1.5px;transition:stroke .15s,stroke-width .15s}.db-line{transition:opacity .2s}.db-line .is-l{fill:var(--green)}.db-line .is-r{fill:var(--blue)}.db-line.is-off{opacity:0}.db-line.is-on path{stroke:var(--lime-ink);stroke-width:2.5px}.db-join__res{padding:16px}.db-join__res-head{font-family:var(--font-mono);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.db-join__res-head>span:first-child{letter-spacing:1.4px;color:var(--faint);font-size:10.5px}.db-join__res-head>span:last-child{color:var(--lime-ink);font-size:12px;font-weight:700}.db-t--result .db-t__head{background:var(--panel-lime-a)}.db-t--result .db-t__row{color:var(--text);cursor:default}.db-join__note{color:var(--text-4);min-height:40px;margin:12px 0 0;font-size:13px;font-weight:600;line-height:1.55}.db-join__cap{border-top:1px solid var(--line);background:var(--fill);font-family:var(--font-display);letter-spacing:-.3px;color:var(--text);padding:12px 18px;font-size:14px;font-weight:600}@media (width<=639px){.db-join__tables{grid-template-columns:minmax(0,1fr) 36px minmax(0,1.3fr);padding:14px 12px 0}.db-join__sql{margin:12px 12px 0;font-size:11.5px}.db-join__res{padding:16px 12px}.db-lines--desktop{display:none}.db-lines--mobile{display:block}.db-join .db-t__row{font-size:11px}.db-t--left .db-t__grid{grid-template-columns:30px minmax(0,1fr)!important}.db-t--right .db-t__grid{grid-template-columns:30px 70px minmax(0,1fr)!important}.db-t--left .db-t__grid>span:first-child,.db-t--right .db-t__grid>span:first-child{padding-left:6px}.db-join .db-t__grid>span{padding-left:4px}}.db-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px;margin-top:16px;display:grid}.db-card{border:1px solid var(--line-2);background:var(--bg-card);box-shadow:var(--tile-shadow);color:var(--text);border-radius:18px;align-items:center;gap:14px;padding:14px;transition:border-color .15s;display:flex}a.db-card:hover{border-color:var(--blue)}@supports (color:color-mix(in lab, red, red)){a.db-card:hover{border-color:color-mix(in srgb, var(--blue) 55%, transparent)}}a.db-card:hover{color:var(--text)}.db-card.is-soon{opacity:.62;cursor:default}.db-card__glyph{background:var(--fill-2);border:1px solid var(--line);border-radius:14px;flex:none;place-items:center;width:64px;height:64px;display:grid}.db-card__text{flex-direction:column;min-width:0;display:flex}.db-card__title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.db-card__title strong{font-size:15px;font-weight:800;line-height:1.3}.db-card__sum{color:var(--text-4);margin-top:4px;font-size:13px;font-weight:500;line-height:1.5}.db-ours{border:1px solid var(--line-3);background:var(--pv-fill);box-shadow:var(--pv-top);border-radius:24px;overflow:hidden}.db-ours__head{padding:clamp(22px,3.4vw,36px) clamp(22px,3.4vw,36px) 16px}.db-ours__head h2{font-family:var(--font-display);font-weight:var(--h2-w);font-size:calc(clamp(22px, 2.8vw, 32px) * var(--h2-k));letter-spacing:-1.2px;margin:14px 0 0;line-height:1.12}.db-ours__row{border-top:1px solid var(--line-2);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:10px 28px;padding:18px clamp(22px,3.4vw,36px);display:grid}@media (width<=999px){.db-ours__row{grid-template-columns:1fr}}.db-ours__row>div{min-width:0}.db-ours__row h3{font-family:var(--font-sans);margin:0;font-size:15.5px;font-weight:800}.db-ours__row p{color:var(--text-3);text-wrap:pretty;margin:6px 0 0;font-size:14.5px;font-weight:500;line-height:1.65}.db-ours__row code{font-family:var(--font-mono);color:var(--lime-ink);word-break:break-all;margin-top:8px;font-size:11.5px;display:inline-block}.db-ours__row .ide-pre{margin:0}.db-idx{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;margin-top:22px;overflow:hidden}.db-idx__bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.db-idx__again{border:1px solid var(--line-3);background:var(--fill);min-height:34px;color:var(--text-3);cursor:pointer;font-family:var(--font-sans);border-radius:9px;padding:0 12px;font-size:13px;font-weight:700}.db-idx__query{background:var(--ide-bg);border:1px solid var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-text-2);white-space:pre;border-radius:12px;margin:14px 16px 0;padding:10px 14px;font-size:12.5px;line-height:1.6;overflow-x:auto}.db-idx__grid{grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:16px;padding:16px;display:grid}@media (width<=639px){.db-idx__grid{grid-template-columns:1fr}}.db-idx__stage,.db-idx__svg{min-width:0}.db-idx__count{border:1px solid var(--tint-lime-b2);background:var(--panel-lime-a);border-radius:16px;flex-direction:column;gap:6px;padding:16px;display:flex}.db-idx__count.is-slow{border-color:var(--red)}@supports (color:color-mix(in lab, red, red)){.db-idx__count.is-slow{border-color:color-mix(in srgb, var(--red) 40%, transparent)}}.db-idx__count.is-slow{background:var(--red)}@supports (color:color-mix(in lab, red, red)){.db-idx__count.is-slow{background:color-mix(in srgb, var(--red) 7%, var(--bg-card))}}.db-idx__label{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--text-5);font-size:10.5px}.db-idx__num{font-family:var(--font-display);white-space:nowrap;letter-spacing:-1px;color:var(--lime-ink);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.db-idx__count.is-slow .db-idx__num{color:var(--red)}.db-idx__unit{color:var(--text-3);font-size:13px;font-weight:700}.db-idx__example{color:var(--text-6);margin-top:4px;font-size:11.5px;font-weight:600}.db-idx__verdict{border-top:1px solid var(--line);background:var(--fill);align-items:flex-start;gap:12px;padding:14px 20px;display:flex}.db-idx__verdict>span:first-child{font-family:var(--font-mono);color:var(--green);flex:none;padding-top:3px;font-size:10.5px;font-weight:800}.db-idx__verdict>span:first-child.is-slow{color:var(--red)}.db-idx__verdict>span:last-child{color:var(--text);font-size:14.5px;font-weight:600;line-height:1.55}@media (width<=639px){.db-idx__num{font-size:28px}.db-idx__query{margin:12px 12px 0;font-size:11.5px}.db-idx__grid{padding:14px 12px}}.db-book{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=639px){.db-book{grid-template-columns:1fr}}.db-book__case{--c:var(--green);text-align:left;cursor:pointer;background:var(--bg-card);border:1.5px solid var(--line-3);font-family:var(--font-sans);color:var(--text);border-radius:14px;flex-direction:column;padding:14px;display:flex}.db-book__case.is-slow{--c:var(--red)}.db-book__case.is-on{border-color:var(--c);background:var(--c)}@supports (color:color-mix(in lab, red, red)){.db-book__case.is-on{background:color-mix(in srgb, var(--c) 9%, var(--bg-card))}}.db-book__kicker{font-family:var(--font-mono);letter-spacing:.6px;color:var(--c);font-size:11px;font-weight:800}.db-book__where{font-family:var(--font-mono);margin-top:6px;font-size:12.5px}.db-book__rows{border:1px solid var(--line-2);border-radius:10px;flex-direction:column;margin-top:10px;display:flex;overflow:hidden}.db-book__rows>span{border-top:1px solid var(--line-2);font-family:var(--font-mono);color:var(--text-2);grid-template-columns:1fr 1fr;padding:6px 10px;font-size:12px;transition:background .15s;display:grid}.db-book__rows>span:first-child{border-top:none}.db-book__rows>span.is-hit{background:var(--panel-lime-a)}.db-book__rows b{font-weight:500}.db-book__rows b.is-col{font-weight:800}.db-book__index{color:var(--text-4);margin-top:8px;font-size:12.5px;font-weight:600}.db-matrix{border:1px solid var(--line-2);background:var(--bg-card);border-radius:18px;margin-top:20px;overflow:hidden}.db-matrix__head{border-bottom:1px solid var(--line-2);font-family:var(--font-mono);color:var(--text-3);padding:12px 16px;font-size:12.5px}.db-matrix__row{border-top:1px solid var(--line-2);grid-template-columns:minmax(0,1.3fr) 130px minmax(0,1fr);align-items:center;gap:6px 16px;padding:12px 16px;display:grid}.db-matrix__head+.db-matrix__row{border-top:none}@media (width<=639px){.db-matrix__row{grid-template-columns:1fr}}.db-matrix__row code{font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere;font-size:12.5px}.db-badge{font-family:var(--font-mono);white-space:nowrap;border:1px solid;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.db-matrix__text{color:var(--text-3);font-size:13.5px;font-weight:500;line-height:1.5}.db-dl,.db-ex{margin-top:22px}.db-dl__tab[aria-selected=true]{box-shadow:inset 0 -2px 0 var(--ide-blue)}.db-dl__out{border-top:1px dashed var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-muted);white-space:pre;margin:0;padding:10px 16px;font-size:12.5px;line-height:1.6;overflow-x:auto}.db-dl__note{border-top:1px solid var(--ide-line);background:var(--ide-bar);color:var(--ide-text-2);margin:0;padding:10px 16px;font-size:13px;font-weight:600;line-height:1.55}.db-dl__engine{font-family:var(--font-mono);letter-spacing:1.2px;color:var(--ide-muted);padding:10px 16px 0;font-size:11px}.db-ex__run{border-bottom:1px solid var(--ide-line)}.db-ex__query{flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 16px 8px;display:flex}.db-ex__tag{font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--ide-green);flex:none;font-size:10.5px;font-weight:800}.db-ex__run.is-bad .db-ex__tag{color:var(--ide-red)}.db-ex__query code{font-family:var(--font-mono);color:var(--ide-text-2);overflow-wrap:anywhere;font-size:12.5px}.db-ex__scroll{padding:0 4px 10px;overflow-x:auto}.db-ex__table{border-collapse:collapse;table-layout:fixed;width:100%;font-family:var(--font-mono);font-size:12.5px}.db-ex__table th{text-align:left;white-space:nowrap;color:var(--ide-muted);border-bottom:1px solid var(--ide-line);padding:6px 12px;font-size:11.5px;font-weight:700}.db-ex__table td{white-space:nowrap;color:var(--ide-text);padding:8px 12px;font-size:12.5px}.db-ex__table td.is-first{color:var(--ide-green);font-weight:800}.db-ex__run.is-bad td.is-first{color:var(--ide-red)}.db-ex__plan{font-family:var(--font-mono);color:var(--ide-text-2);white-space:pre;margin:0;padding:4px 16px 14px;font-size:12px;line-height:1.65;overflow-x:auto}.db-ex .db-dl__note{border-top:none}.db-fields{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:14px 0 0;display:grid}.db-fields>div{border:1px solid var(--line-2);background:var(--bg-card);border-radius:14px;padding:12px 14px}.db-fields dt{font-family:var(--font-mono);color:var(--lime-ink);font-size:12.5px;font-weight:700}.db-fields dd{color:var(--text-3);margin:6px 0 0;font-size:13.5px;font-weight:500;line-height:1.55}@media (width<=639px),(pointer:coarse){.db-seg button,.db-idx__again,.db-join .ide__tab,.db-dl__tab{min-height:44px}}@media (prefers-reduced-motion:reduce){.db-t__row,.db-line,.db-line path,.db-card,.db-book__rows>span{transition:none}.db-t__row.is-new{animation:none}}.db-t__row.is-drop{opacity:.38;text-decoration:line-through;-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);-webkit-text-decoration-color:var(--text-3);text-decoration-color:var(--text-3)}@supports (color:color-mix(in lab, red, red)){.db-t__row.is-drop{-webkit-text-decoration-color:color-mix(in srgb, var(--text-3) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--text-3) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--text-3) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--text-3) 70%, transparent)}}.db-t--wrap .db-t__row{height:auto;min-height:30px}.db-t--wrap .db-t__grid>span{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;padding-top:5px;padding-bottom:5px;line-height:1.4}.db-seg button[aria-selected=true]{background:var(--chip-on-bg);color:var(--chip-on-fg)}.db-seg .db-short{display:none}@media (width<=639px){.db-seg .db-long{display:none}.db-seg .db-short{display:inline}}.db-step-btn{border:1px solid var(--line-3);background:var(--fill);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:11px;flex:none;font-size:15px}.db-step-btn:disabled{opacity:.4;cursor:default}.db-step-btn:focus-visible,.db-pipe__chip:focus-visible,.db-norm__tab:focus-visible,.db-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.db-pipe:focus-visible,.db-norm:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.db-verdict{border-top:1px solid var(--line);background:var(--fill);align-items:flex-start;gap:12px;padding:14px 20px;display:flex}.db-verdict>span:first-child{font-family:var(--font-mono);letter-spacing:.8px;color:var(--c);flex:none;max-width:42%;padding-top:3px;font-size:10.5px;font-weight:800}.db-verdict>span:not(:first-child){color:var(--text);min-width:0;font-size:14.5px;font-weight:600;line-height:1.55}.db-verdict.is-good{background:var(--panel-lime-a)}@media (width<=639px){.db-verdict{flex-direction:column;gap:6px;padding:14px 16px}.db-verdict>span:first-child{max-width:none}}.db-pipe{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;margin-top:22px;overflow:hidden}.db-pipe__query{border-bottom:1px solid var(--line);padding:16px 18px}.db-pipe__query code{background:var(--ide-bg);border:1px solid var(--ide-line-2);font-family:var(--font-mono);color:var(--ide-faint);overflow-wrap:anywhere;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.85;display:block}.db-pipe__part{white-space:nowrap;border-radius:5px;padding:1px 5px;transition:background .2s,color .2s;display:inline-block}.db-pipe__part.is-done{color:var(--ic)}.db-pipe__part.is-on{background:var(--ic);color:var(--ide-bg);font-weight:700}.db-pipe__chips{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:0;padding:14px 18px;list-style:none;display:flex}.db-pipe__chip{cursor:pointer;min-height:36px;font-family:var(--font-mono);color:var(--text-5);border:1px dashed var(--line-4);background:0 0;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:800;transition:background .2s,border-color .2s,color .2s;display:flex}.db-pipe__chip span{opacity:.75;font-size:10px}.db-pipe__chip.is-done{background:var(--fill-2);color:var(--text-2);border:1px solid var(--c)}.db-pipe__chip.is-on{background:var(--c)}@supports (color:color-mix(in lab, red, red)){.db-pipe__chip.is-on{background:color-mix(in srgb, var(--c) 16%, var(--bg-card))}}.db-pipe__chip.is-on{color:var(--text);border:1.5px solid var(--c)}.db-pipe__chip.is-on span{color:var(--c);opacity:1}.db-pipe__step{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px;padding:18px 18px 0;display:grid}@media (width<=959px){.db-pipe__step{grid-template-columns:1fr}}.db-pipe__side{flex-direction:column;gap:10px;min-width:0;display:flex}.db-pipe__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.db-pipe__tag{font-family:var(--font-mono);color:var(--c);background:var(--c);font-size:11px;font-weight:800}@supports (color:color-mix(in lab, red, red)){.db-pipe__tag{background:color-mix(in srgb, var(--c) 14%, var(--bg-card))}}.db-pipe__tag{border:1px solid var(--c)}@supports (color:color-mix(in lab, red, red)){.db-pipe__tag{border:1px solid color-mix(in srgb, var(--c) 50%, transparent)}}.db-pipe__tag{border-radius:6px;padding:3px 8px}.db-pipe__count{font-family:var(--font-mono);color:var(--text-5);font-size:11.5px}.db-pipe__text{color:var(--text-2);margin:0;font-size:15px;font-weight:600;line-height:1.6}.db-pipe__hint{background:var(--panel-violet-a);border:1px solid var(--tint-violet-b);color:var(--text-2);border-radius:11px;margin:0;padding:10px 12px;font-size:13.5px;font-weight:600;line-height:1.55}.db-pipe__nav{align-items:center;gap:10px;padding:16px 18px 18px;display:flex}.db-pipe__pos{font-family:var(--font-mono);color:var(--text-4);text-align:center;min-width:84px;font-size:12px}@media (width<=639px){.db-pipe__chips,.db-norm__tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.db-pipe__chips li,.db-norm__tabs li{flex:none}.db-pipe__query,.db-pipe__chips{padding-left:12px;padding-right:12px}.db-pipe__query code{font-size:12px}.db-pipe__step{padding:14px 12px 0}.db-pipe__nav{padding:14px 12px 16px}.db-pipe__text{font-size:14.5px}}.db-norm{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;margin-top:22px;overflow:hidden}.db-norm__tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:0;padding:12px 16px;list-style:none;display:flex}.db-norm__tab{cursor:pointer;min-height:34px;font-family:var(--font-mono);white-space:nowrap;color:var(--text-4);border:1px solid var(--line-3);background:0 0;border-radius:9px;padding:0 12px;font-size:12px;font-weight:700}.db-norm__tab.is-on{background:var(--chip-on-bg);color:var(--chip-on-fg);border-color:var(--chip-on-border)}.db-norm__tables{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:start;gap:14px;padding:clamp(16px,2.6vw,24px) clamp(12px,2vw,22px);display:grid}.db-norm__tables.is-one{grid-template-columns:1fr}.db-norm__fig{min-width:0;margin:0}.db-norm__fig figcaption{color:var(--text-5);flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:12px;font-weight:600;display:flex}.db-norm__fig figcaption code{font-family:var(--font-mono);color:var(--blue);font-size:11.5px}.db-norm__nav{border-top:1px solid var(--line);padding-top:14px}.db-mvcc,.db-locks{border:1px solid var(--line-3);background:var(--bg-card);box-shadow:var(--tile-shadow);border-radius:22px;margin-top:22px;overflow:hidden}.db-mvcc__bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.db-mvcc__label{font-family:var(--font-mono);letter-spacing:1.4px;color:var(--faint);font-size:10.5px}.db-mvcc__body{padding:14px clamp(10px,2vw,20px) 18px}.db-mvcc__grid{grid-template-columns:34px minmax(0,1fr) 118px minmax(0,1fr);align-items:stretch;gap:6px 10px;display:grid}.db-locks__grid{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);gap:6px 10px;padding:14px clamp(10px,2vw,20px) 18px;display:grid}.db-mvcc__h{font-family:var(--font-mono);padding:0 4px 2px;font-size:11.5px;font-weight:800}.db-mvcc__h.is-a{color:var(--violet-ink)}.db-mvcc__h.is-b{color:var(--amber)}.db-mvcc__h.is-row{color:var(--text-5);text-align:center;font-size:11px;font-weight:700}.db-mvcc__t{font-family:var(--font-mono);color:var(--faint);padding-top:11px;font-size:10.5px;transition:opacity .25s}.db-lane{--c:var(--violet);border:1px dashed var(--line-2);border-radius:10px;min-width:0;min-height:42px;padding:8px 10px;transition:background .2s,border-color .2s,opacity .25s}.db-lane.is-a,.db-lane.is-b,.db-lane.is-run,.db-lane.is-wait,.db-lane.is-ok,.db-lane.is-err{background:var(--c);border-style:solid}@supports (color:color-mix(in lab, red, red)){.db-lane.is-a,.db-lane.is-b,.db-lane.is-run,.db-lane.is-wait,.db-lane.is-ok,.db-lane.is-err{background:color-mix(in srgb, var(--c) 10%, var(--bg-card))}}.db-lane.is-a,.db-lane.is-b,.db-lane.is-run,.db-lane.is-wait,.db-lane.is-ok,.db-lane.is-err{border-color:var(--c)}@supports (color:color-mix(in lab, red, red)){.db-lane.is-a,.db-lane.is-b,.db-lane.is-run,.db-lane.is-wait,.db-lane.is-ok,.db-lane.is-err{border-color:color-mix(in srgb, var(--c) 42%, transparent)}}.db-lane.is-b{--c:var(--amber)}.db-lane.is-dirty{--c:var(--red)}.db-lane.is-nonrepeatable{--c:var(--orange)}.db-lane.is-phantom{--c:var(--amber)}.db-lane.is-run{--c:var(--blue)}.db-lane.is-ok{--c:var(--green)}.db-lane.is-err{--c:var(--red)}.db-lane.is-wait{--c:var(--amber);background:repeating-linear-gradient(135deg, var(--amber) 0 8px, var(--bg-card) 8px 16px)}@supports (color:color-mix(in lab, red, red)){.db-lane.is-wait{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--amber) 16%, var(--bg-card)) 0 8px, var(--bg-card) 8px 16px)}}.db-lane.is-pending,.db-mvcc__t.is-pending{opacity:.12}.db-lane__op{font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere;font-size:12px;font-weight:700;line-height:1.45;display:block}.db-lane.is-err .db-lane__op{color:var(--red)}.db-lane.is-wait .db-lane__op{color:var(--amber)}.db-lane__res{font-family:var(--font-mono);color:var(--text-3);overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.db-flag{font-family:var(--font-mono);letter-spacing:.6px;background:var(--bg-card);border:1px solid;border-radius:5px;margin-top:5px;padding:2px 6px;font-size:9.5px;font-weight:800;display:inline-block}.db-flag.is-dirty{color:var(--red)}.db-flag.is-nonrepeatable{color:var(--orange)}.db-flag.is-phantom{color:var(--amber)}.db-mvcc__vers{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;display:flex}.db-ver{font-family:var(--font-mono);white-space:nowrap;color:var(--text-2);border:1px solid var(--line-4);background:var(--fill-2);border-radius:6px;padding:2px 6px;font-size:10.5px;font-weight:700}.db-ver.is-uncommitted{color:var(--amber);border:1px dashed var(--amber);background:0 0}.db-ver.is-old{color:var(--text-5);text-decoration:line-through;-webkit-text-decoration-color:var(--text-5);-webkit-text-decoration-color:var(--text-5);-webkit-text-decoration-color:var(--text-5);text-decoration-color:var(--text-5);background:0 0;border-style:dashed}@supports (color:color-mix(in lab, red, red)){.db-ver.is-old{-webkit-text-decoration-color:color-mix(in srgb, var(--text-5) 60%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--text-5) 60%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--text-5) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--text-5) 60%, transparent)}}.db-mvcc__db{border-top:1px solid var(--line);padding:14px 20px 18px}.db-mvcc__note{color:var(--text-2);margin:12px 0 0;font-size:14px;font-weight:500;line-height:1.6}.db-locks__out{background:var(--ide-bg);border:1px solid var(--ide-line-2);border-radius:14px;margin:0 16px 16px;overflow:hidden}.db-locks__pane>.db-verdict+.db-locks__out{margin-top:16px}.db-locks__out.is-bad pre{color:var(--ide-red)}.db-locks__out>span{border-bottom:1px solid var(--ide-line);background:var(--ide-bar);font-family:var(--font-mono);letter-spacing:1px;color:var(--ide-muted);padding:8px 14px;font-size:11px;display:block}.db-locks__out pre{font-family:var(--font-mono);color:var(--ide-text-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px 14px 12px;font-size:12px;line-height:1.65}@media (width<=639px){.db-mvcc__grid{grid-template-columns:22px minmax(0,1fr) 64px minmax(0,1fr);gap:5px 6px}.db-locks__grid{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr);gap:5px 6px}.db-mvcc__body{padding:12px 8px 14px}.db-lane{min-height:38px;padding:7px}.db-lane__op,.db-lane__res{font-size:11px}.db-mvcc__h{padding:0 2px 2px;font-size:10.5px}.db-mvcc__h.is-row{font-size:9.5px}.db-ver{white-space:normal;text-align:center;padding:1px 4px;font-size:9.5px}.db-mvcc__t{font-size:9.5px}.db-mvcc__db{padding:14px 16px 16px}.db-locks__out{margin:0 12px 12px}}.db-eng{margin-top:22px}.db-eng__chips{flex-wrap:wrap;gap:6px;display:flex}.db-chip{cursor:pointer;min-height:38px;font-family:var(--font-mono);border:1px solid var(--line-3);background:var(--fill);color:var(--text-3);border-radius:10px;padding:0 14px;font-size:13px;font-weight:700}.db-chip.is-on{border-color:var(--chip-on-border);background:var(--chip-on-bg);color:var(--chip-on-fg)}.db-eng__grid{grid-template-columns:1fr;align-items:start;gap:16px;margin-top:16px;display:grid}.db-eng__matrix{border:1px solid var(--line-3);background:var(--bg-card);border-radius:20px;min-width:0;overflow:hidden}.db-eng__matrix table{border-collapse:collapse;table-layout:fixed;width:100%}.db-eng__matrix thead{background:var(--fill-3)}.db-eng__matrix thead td{width:34%}.db-eng__matrix th,.db-eng__matrix td{text-align:left;vertical-align:top;overflow-wrap:break-word;padding:10px 8px}.db-eng__label{display:none}.db-eng__matrix thead th{font-family:var(--font-mono);color:var(--text);font-size:12px;font-weight:800}.db-eng__matrix tbody tr{border-top:1px solid var(--line-2)}.db-eng__matrix tbody th{color:var(--text-3);padding-left:12px;font-size:13px;font-weight:700}.db-eng__matrix tbody td{color:var(--text);font-size:13px;font-weight:700;line-height:1.45}.db-eng__matrix td.is-yes{color:var(--green)}.db-eng__matrix td.is-no{color:var(--red)}.db-eng__matrix tr.is-verdict td{color:var(--text-2);background:var(--fill);font-size:12.5px;font-weight:600}@media (width<=639px){.db-eng__matrix table{table-layout:auto}.db-eng__matrix thead td,.db-eng__matrix tbody th{display:none}.db-eng__matrix tr.db-eng__label{border-top:1px solid var(--line-2);display:table-row}.db-eng__matrix tr.db-eng__label+tr{border-top:none}.db-eng__label td{color:var(--text-5);padding:9px 10px 0;font-size:11.5px;font-weight:700}.db-eng__matrix th,.db-eng__matrix td{padding:4px 10px 10px}.db-eng__matrix thead th{padding:10px;font-size:11.5px}.db-eng__matrix tbody td{font-size:12.5px}.db-eng__matrix tr.is-verdict td{background:0 0;font-size:12px}}.db-eng__store{border:1px solid var(--line-3);background:var(--bg-card);border-radius:20px;min-width:0;padding:16px}.db-eng__store-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.db-store{margin-top:14px}.db-store__root{justify-content:center;display:flex}.db-store__root span{border:1.5px solid var(--lime-ink);background:var(--panel-lime-a);font-family:var(--font-mono);color:var(--lime-ink);border-radius:10px;padding:6px 16px;font-size:12px;font-weight:800;position:relative}.db-store__tables{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));align-items:start;gap:10px;display:grid}.db-store__tables:has(.db-store__link){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}@media (width<=639px){.db-store__tables:has(.db-store__link){grid-template-columns:minmax(0,1fr)}}.db-store__tables.is-tree{border-top:1.5px solid var(--line-4);margin-top:18px;padding-top:14px;position:relative}.db-store__tables.is-tree:before{content:"";border-left:1.5px solid var(--line-4);height:18px;position:absolute;top:-19px;left:50%}.db-store__link{font-family:var(--font-mono);color:var(--text-5);place-self:center;font-size:11px;font-weight:700}.db-store__note{color:var(--text-3);margin:12px 0 0;font-size:13.5px;font-weight:600;line-height:1.55}@media (width<=639px),(pointer:coarse){.db-step-btn,.db-pipe__chip,.db-norm__tab,.db-chip{min-height:44px}.db-step-btn{width:44px}.db-mvcc .db-seg button,.db-locks .db-seg button,.db-eng__store .db-seg button{min-height:44px}}@media (prefers-reduced-motion:reduce){.db-pipe__part,.db-pipe__chip,.db-lane,.db-mvcc__t{transition:none}}:root{--ink-rgb:255 255 255;--line-k:1}[data-theme=light]{--ink-rgb:11 11 18;--line-k:1.25}:root{--placeholder:var(--hair)}[data-theme=light]{--placeholder:var(--faint)}:root{--cta-glow:var(--tint-lime-b)}[data-theme=light]{--cta-glow:var(--glow-violet)}@keyframes glowShift{0%,to{transform:translate(-8%,-6%)scale(1)}50%{transform:translate(8%,6%)scale(1.12)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}@keyframes hpBlink{50%{opacity:0}}@keyframes marq{0%{transform:translate(0)}to{transform:translate(-50%)}}html:not(.is-loaded) .hero-glow,html:not(.is-loaded) .hero__glow,html:not(.is-loaded) .marquee-track,html:not(.is-loaded) .animate-pulse-dot{animation-play-state:paused}.hero-glow,.hero__glow,.marquee-track{will-change:transform}[x-cloak]{display:none!important}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}}:where(pre,code) [style="color: #EDEBF5"]{color:var(--text)!important}:where(pre,code) [style="color: #B9AFFF"]{color:var(--violet-light)!important}:where(pre,code) [style="color: #7BE0A6"]{color:var(--green)!important}:where(pre,code) [style="color: #8B879E"]{color:var(--text-5)!important}:where(pre,code) [style="color: #FF8A5B"]{color:var(--orange)!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}
