:root{--blue:#1c4c84;--blue-deep:#163c68;--blue-mid:#3e6bb0;--blue-soft:#edf2f9;--orange:#e0451e;--orange-deep:#c53c18;--gold:#e9991f;--gold-soft:#fbf0da;--paper:#faf8f3;--card:#fff;--ink:#1b2a3a;--muted:#6a6356;--hair:#e6e1d6;--display:"League Spartan",system-ui,sans-serif;--body:"Source Serif 4",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55}a{color:var(--blue)}button{font-family:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}.bar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--blue);color:#fff;border-bottom:3px solid var(--gold)}.bar-in{max-width:1120px;margin:0 auto;padding:11px 22px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}.logo-chip{background:#fff;border-radius:9px;padding:6px 11px;display:inline-flex;align-items:center;cursor:pointer;line-height:0}.logo-chip img{height:28px;display:block}.ver{font-family:var(--mono);font-size:11px;color:#cfe0f2;border:1px solid #3a64a0;border-radius:999px;padding:4px 10px;letter-spacing:.02em}.bar-spacer{flex:1 1}.navlink{background:none;border:none;color:#fff;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:13px;cursor:pointer;padding:8px 6px;opacity:.92}.navlink:hover{opacity:1;color:var(--gold)}.ghost{font-family:var(--display);font-weight:600;letter-spacing:.04em;font-size:13px;text-transform:uppercase;background:transparent;color:#fff;border:1.5px solid var(--gold);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .12s ease}.ghost:hover{background:rgba(233,153,31,.18)}.menu{position:relative}.dl{font-family:var(--display);font-weight:600;letter-spacing:.04em;font-size:13px;text-transform:uppercase;background:var(--orange);color:#fff;border:none;padding:9px 15px;border-radius:999px;cursor:pointer;transition:background .12s ease,transform .12s ease}.dl:hover{background:var(--orange-deep);transform:translateY(-1px)}.pop{position:absolute;right:0;top:48px;background:#fff;color:var(--ink);border:1px solid var(--hair);border-radius:10px;box-shadow:0 18px 40px -18px rgba(0,0,0,.5);padding:6px;min-width:262px;display:none}.pop button,.pop.open{display:block}.pop button{width:100%;text-align:left;background:none;border:none;padding:11px 12px;border-radius:7px;cursor:pointer;font-family:var(--body);font-size:15px;color:var(--ink)}.pop button:hover{background:var(--blue-soft)}.pop .lbl{font-size:11px;color:var(--muted);padding:8px 12px 4px;text-transform:uppercase;letter-spacing:.08em}.pop .lbl,.pop code{font-family:var(--mono)}.pop code{font-size:12px;color:var(--blue)}.hero{max-width:1120px;margin:0 auto;padding:50px 22px 22px}.kicker{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin:0 0 14px}.h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,7vw,76px);line-height:.96;letter-spacing:-.01em;margin:0;color:var(--blue)}.h1 em{font-style:normal;color:var(--ink);font-weight:500}.lede{max-width:60ch;margin:18px 0 0;font-size:18px;color:#3b3a36}.searchwrap{max-width:1120px;margin:24px auto 0;padding:0 22px}.search{display:flex;align-items:center;gap:12px;background:var(--card);border:1.5px solid var(--hair);border-radius:14px;padding:14px 18px}.search:focus-within{border-color:var(--blue)}.search svg{flex:0 0 auto;opacity:.55}.search input{flex:1 1;border:none;outline:none;font-family:var(--body);font-size:19px;background:transparent;color:var(--ink)}.search input::placeholder{color:#9c9486}.hint{margin:10px auto 0;padding:0 24px;font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--muted)}.hint,main{max-width:1120px}main{margin:0 auto;padding:26px 22px 80px}.section-label{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--muted);margin:18px 0 16px;display:flex;align-items:center;gap:12px}.section-label:after{content:"";height:1px;flex:1 1;background:var(--hair)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}.cat{position:relative;text-align:left;background:var(--card);border:1px solid var(--hair);border-radius:12px;padding:20px 20px 20px 26px;cursor:pointer;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.cat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--spine)}.cat:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(28,76,132,.5);border-color:var(--spine)}.cat-code{font-family:var(--mono);font-size:12px;color:var(--muted)}.cat-name{font-family:var(--display);font-weight:700;font-size:21px;line-height:1.05;margin:6px 0 8px;color:var(--blue)}.cat-def{font-size:14.5px;color:#4f4d47;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cat-count{margin-top:12px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}.results{display:flex;flex-direction:column;gap:2px}.res{display:grid;grid-template-columns:auto 1fr;grid-gap:16px;gap:16px;align-items:start;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--hair);padding:15px 8px;cursor:pointer;transition:background .1s ease;width:100%}.chip,.res:hover{background:#fff}.chip{font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--ink);border:1px solid var(--hair);border-left:5px solid var(--spine);padding:5px 9px;border-radius:6px;white-space:nowrap}.r-name{font-family:var(--display);font-weight:600;font-size:18px;color:var(--blue);line-height:1.15}.r-def{font-size:14.5px;color:#56544d;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.r-prompt{font-size:14px;color:#9a5a2c;margin-top:5px;font-style:italic}.r-meta{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:7px;text-transform:uppercase;letter-spacing:.05em;display:flex;gap:10px;flex-wrap:wrap}.r-meta .why{color:var(--orange)}.empty{padding:40px 8px;font-style:italic}.back,.empty{color:var(--muted)}.back{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:6px 0;margin-bottom:18px}.legal{max-width:760px;margin:0 auto;padding:30px 0 80px}.legal h1{font-family:var(--display);font-weight:800;font-size:32px;color:var(--blue);margin:0 0 6px}.legal .updated{font-family:var(--mono);font-size:12px}.legal .intro,.legal .updated{color:var(--muted);margin:0 0 22px}.legal .intro{font-size:18px}.legal h2{font-family:var(--display);font-weight:700;font-size:19px;color:var(--ink);margin:28px 0 8px}.legal p{margin:0 0 12px;line-height:1.65}.legal ul{margin:0 0 14px;padding-left:22px}.legal li{margin:0 0 7px;line-height:1.6}.legal a{color:var(--blue)}.foot-legal{margin-top:12px;border-top:1px solid var(--hair);padding-top:12px;font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.foot-legal,.foot-legal a{color:var(--muted)}.back:hover,.foot-legal a:hover{color:var(--blue)}.codepath{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px}.seg{font-family:var(--mono);font-size:13px;font-weight:500;padding:6px 11px;border-radius:7px;border:1px solid var(--hair);background:#fff;cursor:pointer;color:var(--ink)}.seg:hover{border-color:var(--blue)}.seg.is-current{background:var(--spine);border-color:var(--spine);color:var(--segtext);cursor:default}.seg-sep{color:#bbb;font-family:var(--mono)}.d-name{font-family:var(--display);font-weight:800;font-size:clamp(30px,5vw,46px);line-height:1;letter-spacing:-.01em;color:var(--blue);margin:6px 0 14px}.codecopy{display:inline-flex;align-items:stretch;margin:0 0 20px;border:1.5px solid var(--hair);border-left:6px solid var(--spine);border-radius:9px;overflow:hidden;background:#fff}.codecopy .cc-code{font-family:var(--mono);font-size:17px;color:var(--ink);padding:10px 14px;letter-spacing:.01em;display:flex}.codecopy .cc-code,.copybtn{font-weight:600;align-items:center}.copybtn{display:inline-flex;gap:7px;font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:12px;color:var(--blue);background:var(--blue-soft);border:none;border-left:1px solid var(--hair);padding:0 14px;cursor:pointer;transition:background .12s ease}.copybtn:hover{background:#dfeaf6}.copybtn.copied{color:#0a7d3c;background:#e6f6ec}.copybtn svg{width:15px;height:15px;flex:0 0 auto}.d-updated{letter-spacing:.02em;margin:0 0 18px}.d-tag,.d-updated{font-family:var(--mono);font-size:12px;color:var(--muted)}.d-tag{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:20px}.d-tag .dot{width:11px;height:11px;border-radius:50%;background:var(--spine)}.d-def{font-size:20px;line-height:1.6;color:#33322e;max-width:68ch;white-space:pre-line}.block{margin-top:30px;border-top:1px solid var(--hair);padding-top:22px}.block h3{font-weight:700;letter-spacing:.1em;font-size:12px;color:var(--muted);margin:0 0 14px;display:flex;align-items:center;gap:12px;justify-content:space-between}.block h3,.block h3 .req{font-family:var(--display);text-transform:uppercase}.block h3 .req{font-weight:600;font-size:11px;color:var(--orange);cursor:pointer;letter-spacing:.06em}.block h3 .req:hover{text-decoration:underline}.prompt{background:var(--gold-soft);border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:12px 16px;margin:0 0 10px;font-size:16px;color:#5a4326;font-style:italic;max-width:70ch}.xrow{display:flex;align-items:baseline;gap:14px;padding:9px 0;border-bottom:1px dashed var(--hair);max-width:62ch}.xtax{font-family:var(--body);font-size:15.5px;color:#3b3a36;flex:1 1}.xcode{font-family:var(--mono);font-size:13px;color:var(--blue);background:var(--blue-soft);padding:3px 9px;border-radius:6px;white-space:nowrap}.children{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:10px;gap:10px}.child{text-align:left;background:#fff;border:1px solid var(--hair);border-left:5px solid var(--spine);border-radius:8px;padding:13px 15px;cursor:pointer}.child:hover{box-shadow:0 8px 18px -14px rgba(28,76,132,.5)}.child .c-code{font-family:var(--mono);font-size:11.5px;color:var(--muted)}.child .c-name{font-family:var(--display);font-weight:600;font-size:16px;color:var(--blue);margin-top:4px;line-height:1.15}.suggest{margin-top:30px;background:var(--blue);color:#fff;border-radius:12px;padding:20px 22px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.suggest .txt{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:.01em}.suggest .sub{font-size:13.5px;color:#cfe0f2;margin-top:2px;font-family:var(--body)}.faq h1{font-family:var(--display);font-weight:800;font-size:clamp(32px,5vw,52px);color:var(--blue);letter-spacing:-.01em;margin:6px 0 8px}.faq .intro{font-size:18px;color:#3b3a36;max-width:64ch;margin-bottom:8px}.qa{border-top:1px solid var(--hair);padding:22px 0}.qa .q{font-family:var(--display);font-weight:700;font-size:21px;color:var(--ink);margin-bottom:8px}.qa .a{font-size:17px;color:#33322e;max-width:70ch}.qa .a a{color:var(--orange)}footer{border-top:1px solid var(--hair);background:#fff}.foot{max-width:1120px;margin:0 auto;padding:24px 22px;font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}@media (max-width:640px){body{font-size:16px}.res{grid-template-columns:1fr;gap:8px}.hero{padding-top:34px}.navlink{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}