:root{
  --sw-bg:#0b1220;--sw-bg2:#0f172a;--sw-panel:#101a2e;--sw-line:#243247;--sw-line2:#334155;
  --sw-fg:#e2e8f0;--sw-dim:#94a3b8;--sw-cy:#22d3ee;--sw-ok:#4ade80;--sw-mg:#e879f9;
  --sw-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
.sw-body{margin:0;background:var(--sw-bg);color:var(--sw-fg);font-family:var(--sw-mono);font-size:15px;line-height:1.7;
  background-image:linear-gradient(var(--sw-line) 1px,transparent 1px),linear-gradient(90deg,var(--sw-line) 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px;background-attachment:fixed}
.sw-body::before{content:"";position:fixed;inset:0;background:rgba(11,18,32,.93);pointer-events:none;z-index:-1}
.sw-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 20px}
.sw-narrow{max-width:820px;margin:0 auto;padding:0 20px}
.sw-narrow-in{max-width:760px}
a{color:var(--sw-cy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#a5f3fc;background:rgba(34,211,238,.1)}
:focus-visible{outline:2px dashed var(--sw-mg);outline-offset:3px}
.sw-skip{position:absolute;left:-999px;top:0;background:var(--sw-cy);color:#04141a;padding:8px 14px;z-index:99}
.sw-skip:focus{left:0}
.sw-dim{color:var(--sw-dim)}.sw-ok{color:var(--sw-ok)}.sw-bad{color:var(--sw-mg)}
/* header */
.sw-top{background:var(--sw-bg2);border-bottom:1px solid var(--sw-cy);position:sticky;top:0;z-index:20}
.sw-top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.sw-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--sw-fg)}
.sw-brand:hover{background:none}
.sw-word{font-size:19px;letter-spacing:.04em;text-transform:uppercase;font-weight:400}
.sw-word b{color:var(--sw-cy);font-weight:700}
.sw-caret{display:inline-block;width:.6em;height:1.05em;background:var(--sw-cy);margin-left:4px;vertical-align:-3px;animation:swblink 1.1s steps(1) infinite}
@keyframes swblink{50%{opacity:0}}
.sw-nav{display:flex;gap:4px;flex-wrap:wrap}
.sw-nav-a{color:var(--sw-dim);text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.08em;padding:6px 8px;border:1px solid transparent}
.sw-nav-a span{color:var(--sw-line2)}
.sw-nav-a:hover,.sw-nav-a.is-on{color:var(--sw-cy);border-color:var(--sw-line2);background:rgba(34,211,238,.07)}
.sw-nav-a:hover span,.sw-nav-a.is-on span{color:var(--sw-cy)}
.sw-statusline{border-top:1px solid var(--sw-line);font-size:12px;color:var(--sw-dim);padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-statusline .sw-wrap{overflow:hidden;text-overflow:ellipsis}
.sw-cwd{color:var(--sw-cy)}
/* type */
.sw-main{display:block;min-height:60vh;padding-bottom:56px}
.sw-h1{font-size:clamp(26px,4.4vw,42px);line-height:1.15;font-weight:700;letter-spacing:-.01em;margin:22px 0 16px;color:#f8fafc;text-wrap:balance}
.sw-h1::before{content:"# ";color:var(--sw-cy)}
.sw-kicker{color:var(--sw-mg);font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0}
.sw-sech{font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--sw-cy);font-weight:700;margin:40px 0 16px;display:flex;align-items:center;gap:12px}
.sw-sech::after{content:"";flex:1;border-top:1px dashed var(--sw-line2)}
.sw-meta{color:var(--sw-dim);font-size:13px;margin:-6px 0 14px}
.sw-crumbs{font-size:12px;color:var(--sw-dim);padding-top:18px;text-transform:lowercase}
.sw-crumbs a{color:var(--sw-dim)}
.sw-crumbs span{color:var(--sw-fg)}
/* panels */
.sw-panel{background:var(--sw-panel);border:1px solid var(--sw-line2);padding:20px 22px;margin:18px 0;position:relative}
.sw-ptitle{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--sw-cy);font-weight:700;margin:-33px 0 14px -6px;background:var(--sw-bg);display:inline-block;padding:2px 8px;border:1px solid var(--sw-line2);line-height:1.5}
/* prose */
.sw-prose{font-size:15.5px;max-width:74ch}
.sw-panel .sw-prose,.sw-prose.sw-panel{max-width:none}
.sw-prose h2{font-size:19px;line-height:1.35;margin:2.1em 0 .6em;color:#f8fafc;font-weight:700;padding-top:.5em;border-top:1px dashed var(--sw-line2)}
.sw-prose h2::before{content:"## ";color:var(--sw-cy)}
.sw-prose h3{font-size:16px;margin:1.6em 0 .4em;color:var(--sw-mg);text-transform:uppercase;letter-spacing:.05em}
.sw-prose h3::before{content:"### ";opacity:.6}
.sw-prose p,.sw-prose li{color:#cbd5e1}
.sw-prose ul,.sw-prose ol{padding-left:1.4em}
.sw-prose ul{list-style:none;padding-left:1.2em}
.sw-prose ul li{position:relative}
.sw-prose ul li::before{content:">";position:absolute;left:-1.2em;color:var(--sw-ok)}
.sw-prose ol li::marker{color:var(--sw-cy);font-weight:700}
.sw-prose li{margin:.35em 0}
.sw-prose strong{color:#f8fafc}
.sw-prose code{background:#0b1626;border:1px solid var(--sw-line2);padding:1px 6px;color:var(--sw-ok);font-size:.92em}
.sw-prose blockquote{margin:1.4em 0;padding:8px 16px;border-left:3px solid var(--sw-mg);background:rgba(232,121,249,.06);color:#e2e8f0}
.short-answer{font-size:16.5px;line-height:1.65;color:#f1f5f9!important;border:1px solid var(--sw-ok);border-left-width:6px;background:rgba(74,222,128,.07);padding:14px 18px;margin:0 0 1.6em}
.short-answer::before{content:"$ answer --short";display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sw-ok);margin-bottom:6px}
.sw-prose table,.sw-panel table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:14px;display:block;overflow-x:auto}
.sw-prose th,.sw-prose td{border:1px solid var(--sw-line2);padding:8px 12px;text-align:left;vertical-align:top}
.sw-prose th{background:#0b1626;color:var(--sw-cy);text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.sw-prose tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.sw-prose a[rel~=noopener]::after{content:" \2197";font-size:.85em}
/* article layout */
.sw-art-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:start}
.sw-article{min-width:0}
.sw-log{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--sw-line2);margin:0 0 28px;font-size:12.5px}
.sw-log div{padding:8px 12px;border-right:1px solid var(--sw-line2);border-bottom:1px solid var(--sw-line2);margin:-0px -1px -1px 0}
.sw-log dt{color:var(--sw-dim);text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;font-weight:400}
.sw-log dd{margin:0;color:var(--sw-fg)}
.sw-side{position:sticky;top:96px;padding-top:34px}
.sw-side .sw-panel{margin:30px 0}
.sw-flist{list-style:none;margin:0;padding:0;font-size:13.5px}
.sw-flist li{padding:6px 0;border-bottom:1px dashed var(--sw-line2);line-height:1.45}
.sw-flist li:last-child{border:0}
.sw-faq details{border:1px solid var(--sw-line2);margin:8px 0;background:var(--sw-panel)}
.sw-faq summary{cursor:pointer;padding:10px 14px;color:var(--sw-fg);font-weight:700;list-style:none}
.sw-faq summary::before{content:"[+] ";color:var(--sw-cy)}
.sw-faq details[open] summary::before{content:"[-] "}
.sw-faq summary::-webkit-details-marker{display:none}
.sw-faq details p{margin:0;padding:0 14px 14px;color:#cbd5e1}
.sw-byline{display:flex;gap:18px;align-items:center;margin-top:48px}
.sw-byline svg,.sw-who svg{flex:none;width:72px;height:72px}
.sw-byline p{margin:0;font-size:14px}
.sw-byline .sw-ptitle,.sw-who .sw-ptitle{margin-top:-33px}
.sw-who{display:flex;gap:20px;align-items:flex-start;margin-top:36px}
.sw-who svg{width:96px;height:96px}
.sw-role{color:var(--sw-mg);font-size:13px;margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em}
.sw-loglist{list-style:none;padding:0;margin:0}
.sw-loglist li{display:flex;gap:18px;padding:8px 0;border-bottom:1px dashed var(--sw-line2)}
.sw-loglist time{color:var(--sw-dim);flex:none}
/* hero */
.sw-hero{border-bottom:1px solid var(--sw-line2);background:linear-gradient(180deg,rgba(34,211,238,.06),transparent 70%)}
.sw-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:40px;padding-bottom:44px}
.sw-hero .sw-h1{font-size:clamp(28px,4.6vw,46px)}
.sw-hero-fig{margin:0}
.sw-hero-fig svg{width:100%;height:auto;display:block;background:var(--sw-bg2)}
.sw-hero-fig figcaption{font-size:12px;margin-top:8px}
.sw-hint{font-size:13px;margin-top:12px}
/* prompt form */
.sw-prompt{display:flex;align-items:stretch;border:1px solid var(--sw-cy);background:#06101c;margin:22px 0 0;flex-wrap:wrap}
.sw-prompt-l{display:flex;align-items:center;padding:0 12px;color:var(--sw-fg);white-space:nowrap;font-size:14px;margin:0;gap:8px}
.sw-prompt input{flex:1;min-width:140px;background:transparent;border:0;color:var(--sw-cy);font:inherit;font-size:17px;padding:13px 8px;caret-color:var(--sw-cy);border-radius:0}
.sw-prompt input::placeholder{color:#3f566b}
.sw-prompt input:focus{outline:none;background:rgba(34,211,238,.06)}
.sw-prompt:focus-within{box-shadow:0 0 0 2px rgba(34,211,238,.35)}
.sw-prompt button,.sw-form button{background:var(--sw-cy);color:#04141a;border:0;border-radius:0;font:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px;padding:0 20px;cursor:pointer;min-height:46px}
.sw-prompt button:hover,.sw-form button:hover{background:#a5f3fc}
.sw-prompt-s{margin-top:0}.sw-prompt-s .sw-prompt-l{width:100%;padding:8px 12px 0;font-size:12px;color:var(--sw-dim)}
.sw-prompt-s input{font-size:15px}
.sw-prompt-big{margin:6px 0 24px}
/* cards */
.sw-sec{padding-top:8px}
.sw-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:0;border-top:1px solid var(--sw-line2);border-left:1px solid var(--sw-line2)}
.sw-card{display:flex;flex-direction:column;gap:6px;padding:20px;border-right:1px solid var(--sw-line2);border-bottom:1px solid var(--sw-line2);text-decoration:none;color:var(--sw-fg);background:rgba(16,26,46,.7);transition:background .15s}
.sw-card:hover{background:rgba(34,211,238,.08);color:var(--sw-fg)}
.sw-card-ic{color:var(--sw-cy)}.sw-card:nth-child(2n) .sw-card-ic{color:var(--sw-mg)}.sw-card:nth-child(3n) .sw-card-ic{color:var(--sw-ok)}
.sw-card-meta{font-size:11px;color:var(--sw-dim);text-transform:uppercase;letter-spacing:.12em}
.sw-card-t{font-weight:700;font-size:16.5px;line-height:1.35}
.sw-card:hover .sw-card-t{color:var(--sw-cy);text-decoration:underline}
.sw-card-d{font-size:13px;color:var(--sw-dim);line-height:1.55}
.sw-prose-wrap{margin-top:46px}
/* kv, results */
.sw-kv{margin:0;display:grid;gap:0}
.sw-kv div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:6px 0;border-bottom:1px dashed var(--sw-line2)}
.sw-kv div:last-child{border:0}
.sw-kv dt{color:var(--sw-dim);text-transform:uppercase;font-size:12px;letter-spacing:.1em;padding-top:2px;font-weight:400}
.sw-kv dd{margin:0}
.sw-notes{list-style:none;margin:16px 0;padding:0}
.sw-notes li{border-left:3px solid var(--sw-mg);padding:4px 12px;margin:8px 0;background:rgba(232,121,249,.06)}
.sw-result{margin-top:36px;border-color:var(--sw-ok)}
.sw-chips{display:flex;flex-wrap:wrap;gap:6px}
.sw-chips a{border:1px solid var(--sw-line2);padding:2px 10px;text-decoration:none}
/* areas */
.sw-jump{display:flex;flex-wrap:wrap;gap:4px;margin:22px 0 10px}
.sw-jump a{font-size:12px;border:1px solid var(--sw-line2);padding:1px 8px;text-decoration:none;color:var(--sw-dim)}
.sw-jump a:hover{color:var(--sw-cy);border-color:var(--sw-cy)}
.sw-states{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:34px 18px;margin-top:34px}
.sw-state{margin:0;padding:18px 14px 12px}
.sw-codes{list-style:none;margin:0;padding:0;font-size:13px}
.sw-codes a{display:flex;gap:10px;padding:2px 4px;text-decoration:none;color:var(--sw-dim);line-height:1.5}
.sw-codes b{color:var(--sw-cy);flex:none}
.sw-codes a:hover{color:var(--sw-fg)}
/* form */
.sw-form{display:flex;flex-direction:column;gap:6px;margin-top:40px}
.sw-form label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--sw-dim);margin-top:8px}
.sw-form input,.sw-form select,.sw-form textarea{background:#06101c;border:1px solid var(--sw-line2);color:var(--sw-fg);font:inherit;padding:10px 12px;border-radius:0;width:100%}
.sw-form input:focus,.sw-form select:focus,.sw-form textarea:focus{border-color:var(--sw-cy);outline:none;box-shadow:0 0 0 2px rgba(34,211,238,.3)}
.sw-form button{align-self:flex-start;margin-top:14px;padding:12px 26px}
.sw-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sw-errbox{border-color:var(--sw-mg);margin-top:40px}.sw-errbox ul{margin:0;padding-left:18px;color:var(--sw-mg)}
.sw-sent{border-color:var(--sw-ok);margin-top:40px}
/* footer */
.sw-foot{border-top:1px solid var(--sw-cy);background:var(--sw-bg2);padding:40px 0 22px;font-size:13.5px}
.sw-foot-grid{display:grid;grid-template-columns:1.2fr 1.4fr .8fr;gap:34px 20px}
.sw-foot .sw-panel{background:transparent;margin:0;padding:18px 16px 14px}
.sw-foot p{margin:0 0 8px}
.sw-legal{margin:28px 0 0;color:var(--sw-dim);font-size:12px;border-top:1px dashed var(--sw-line2);padding-top:14px}
/* responsive */
@media (max-width:900px){
  .sw-art-grid,.sw-hero-grid{grid-template-columns:1fr}
  .sw-side{position:static;padding-top:0}
  .sw-foot-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .sw-body{font-size:14.5px}
  .sw-top{position:static}
  .sw-nav-a{font-size:11px;padding:4px 5px}
  .sw-kv div{grid-template-columns:1fr;gap:0}
  .sw-who,.sw-byline{flex-direction:column;align-items:flex-start}
  .sw-panel{padding:18px 14px}
  .sw-loglist li{flex-direction:column;gap:0}
  .sw-prompt-l{width:100%;padding:8px 12px 0}
  .sw-prompt button{width:100%}
  .sw-cards{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.sw-caret{animation:none}html{scroll-behavior:auto}}
.sw-slot{margin:18px 0 6px}
.sw-slot .sw-prompt{margin:0}
.sw-slot-big{margin:22px 0 0}
.sw-slot-big .sw-prompt{border-width:2px;box-shadow:6px 6px 0 rgba(34,211,238,.18)}
.sw-slot-big .sw-prompt input{font-size:19px;padding:16px 8px}
.sw-slot:not(.sw-slot-big) .sw-prompt input{font-size:15px;padding:9px 8px}
.sw-slot:not(.sw-slot-big) .sw-prompt button{min-height:40px}
.sw-side .sw-slot{margin:0}
.sw-side .sw-prompt-l{width:100%;padding:8px 12px 0;font-size:12px;color:var(--sw-dim)}
/* format elements: dl, pre, quotes, flows, mistakes, myths, steps, tiles, clauses, blocks */
.sw-prose dl{margin:1.2em 0}
.sw-prose dt{color:var(--sw-cy);font-weight:700;margin-top:1.1em}
.sw-prose dt::before{content:"$ ";color:var(--sw-ok)}
.sw-prose dd{margin:.25em 0 0;padding-left:14px;border-left:2px solid var(--sw-line2);color:#cbd5e1}
.sw-prose pre{margin:1em 0;padding:10px 14px;background:#06101c;border:1px solid var(--sw-line2);border-left:3px solid var(--sw-ok);color:var(--sw-ok);font:inherit;font-size:13.5px;overflow-x:auto;white-space:pre-wrap}
.sw-prose blockquote p{margin:.3em 0}
.sw-prose td blockquote{margin:0;padding:0 0 0 10px;background:none}
.sw-tldr{border:1px dashed var(--sw-cy);padding:10px 14px;background:rgba(34,211,238,.05);color:#f1f5f9!important}
.sw-prose ul.sw-flow{padding-left:0}
.sw-flow>li{border:1px solid var(--sw-line2);background:var(--sw-panel);padding:10px 14px;margin:10px 0}
.sw-flow>li::before{content:none!important}
.sw-flow>li>strong{display:block;color:var(--sw-cy)}
.sw-flow ul{margin:6px 0 2px;padding-left:16px;border-left:2px dashed var(--sw-cy)}
.sw-prose .sw-flow ul li::before{content:"\2192";color:var(--sw-mg)}
.sw-prose ol.sw-mistakes{padding-left:2em}
.sw-mistakes>li{margin:1.4em 0;padding-left:6px}
.sw-mistakes>li::marker{color:var(--sw-mg);font-weight:700;font-size:1.5em}
.sw-mistakes p{margin:.3em 0}
.sw-mistakes em{color:var(--sw-ok);font-style:normal;text-transform:uppercase;font-size:.85em;letter-spacing:.06em}
.sw-myth{border:1px solid var(--sw-line2);margin:14px 0;background:var(--sw-panel)}
.sw-myth p{margin:0;padding:8px 14px}
.sw-myth .sw-myth-q{background:rgba(232,121,249,.08);border-bottom:1px solid var(--sw-line2)}
.sw-myth-q strong{color:var(--sw-mg)}
.sw-myth p:last-child strong{color:var(--sw-ok)}
.sw-steps>li{margin:1.3em 0;padding-left:4px}
.sw-steps>li::marker{color:var(--sw-cy);font-weight:700;font-size:1.3em}
.sw-compact{font-size:14.5px}
.sw-compact li{margin:.2em 0}
.sw-timeline{list-style:none;padding-left:0!important;border-left:2px solid var(--sw-line2);margin-left:6px}
.sw-timeline li{padding-left:16px;position:relative}
.sw-timeline li::before{content:"";position:absolute;left:-6px;top:.7em;width:10px;height:10px;background:var(--sw-cy)}
.sw-timeline time{color:var(--sw-mg);margin-right:8px;white-space:nowrap}
.sw-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;border-top:1px solid var(--sw-line2);border-left:1px solid var(--sw-line2);margin:6px 0 10px}
.sw-tile{padding:14px 16px;border-right:1px solid var(--sw-line2);border-bottom:1px solid var(--sw-line2);background:rgba(16,26,46,.7)}
.sw-prose .sw-tile h2,.sw-prose .sw-blk h2{margin:0 0 .4em;padding:0;border:0;font-size:15px;color:var(--sw-cy)}
.sw-prose .sw-tile h2::before,.sw-prose .sw-blk h2::before{content:"[ ";color:var(--sw-dim)}
.sw-prose .sw-tile h2::after,.sw-prose .sw-blk h2::after{content:" ]";color:var(--sw-dim)}
.sw-tile p,.sw-blk p{margin:0}
.sw-prose ol.sw-clauses{padding-left:2em}
.sw-clauses>li{margin:.9em 0;padding-left:4px}
.sw-clauses>li::marker{color:var(--sw-cy);font-weight:700}
.sw-clauses ol[type=a]{margin:.4em 0}
.sw-clauses ol[type=a] li::marker{color:var(--sw-mg)}
.sw-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:8px 0}
.sw-blk{border:1px solid var(--sw-line2);border-left:4px solid var(--sw-mg);padding:12px 16px;background:rgba(16,26,46,.7)}
.sw-blk:last-child:nth-child(odd){grid-column:1/-1}
.sw-blk:nth-child(3n+2){border-left-color:var(--sw-cy)}
.sw-blk:nth-child(3n){border-left-color:var(--sw-ok)}
.sw-datatable th[scope=row]{font-weight:400;color:#e2e8f0;text-transform:none;letter-spacing:0;font-size:13.5px;background:#0b1626;min-width:200px}
.sw-matrix th[scope=row]{color:var(--sw-fg);text-transform:none;letter-spacing:0;font-size:13.5px;min-width:150px}
