:root{--paper:#faf8f1;--sheet:#fffefb;--ink:#292920;--muted:#626157;--rule:#dcd8c8;--link:#735016;--clip:#efecdf;--brand:#e9b34d;--brand-hover:#795116;--on-brand:#292516;--col:850px;--r:2px}
body{font-size:17px}h1{font-size:clamp(2rem,3.6vw,3.65rem);line-height:1.07;letter-spacing:-.035em}h2{letter-spacing:-.022em}.xb-wrap{max-width:1180px;padding:0 24px}.xb-bar{border-top:5px solid var(--brand)}.xb-barin{min-height:75px}.xb-brand img{height:23px;width:auto}.xb-brand span{max-width:125px;font-size:12px;line-height:1.25}.xb-menu a{padding:0 9px;font-size:14px}.review-menu{display:none}.xb-hero{padding:45px 0 20px}.xb-part{padding:34px 0}.xb-col{max-width:850px}.xb-part .xb-split{display:block}.xb-part .xb-split:has(figure){display:grid}.xb-split:empty,.xb-pair:empty{display:none}.xb-ex{padding:32px 24px 20px;margin:40px 0 28px;border-top:3px solid var(--ink)}.xb-ex h3{font-size:23px}.xb-ex dt{font-size:11px}.xb-ex dd{padding:11px 0;line-height:1.65}.xb-ex dd a,.xb-part p a{display:inline;min-height:0;min-width:0}.xb-tab{border-radius:0}.xb-end{background:#292920;color:#d8d5c9}.xb-endgrid{grid-template-columns:repeat(3,1fr)}.xb-small{max-width:none}.xb-end a{color:#fffbee}.xb-tile img{object-fit:contain!important;background:#fff}.xb-qa summary::before{content:'+';font-family:monospace;margin-right:12px}.xb-qa details[open] summary::before{content:'−'}.xb-qa summary{list-style:none}.xb-qa p{max-width:75ch}.xb-tool{padding:28px}.xb-opts label:has(input:checked){border-color:var(--ink);background:var(--clip)}.xb-opts input{accent-color:#795116}.xb-out li{padding:16px 0;border-bottom:1px solid var(--rule);line-height:1.65}.xb-out a{display:inline-block;min-height:44px;padding:8px 0}.xb-out textarea{min-height:240px}.xb-tool button:disabled{opacity:.5;cursor:default}.xb-tool p{display:flex;gap:10px;flex-wrap:wrap}.review-copy-status{font-size:14px;min-height:24px}.review-cover{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;padding:54px 0 32px;align-items:start}.review-kicker{font-family:'Red Hat Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.review-intro .xb-lede{margin-top:22px;font-size:18px;max-width:45ch}.xb-find{gap:0}.xb-find label{font-size:13px;margin-bottom:8px}.xb-find input{flex:1 1 200px;border:1px solid var(--ink);border-right:0;min-height:52px;font-size:15px;border-radius:0;padding:0 14px}.xb-find button{padding:0 20px;min-height:52px;border:1px solid var(--ink);border-radius:0;font-size:15px}.review-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:22px}.review-actions a{min-height:44px;display:inline-flex;align-items:center;font-size:15px;font-weight:600}.review-button{display:inline-flex;align-items:center;min-height:46px;padding:9px 16px;background:var(--ink);color:var(--sheet)!important;text-decoration:none;font-weight:700;font-size:15px;border:1px solid var(--ink)}.review-button:hover{background:var(--link)}.review-index{border-top:3px solid var(--ink);padding-top:18px}.review-index h2{font-size:23px;margin-bottom:18px}.review-index>a{display:grid;grid-template-columns:29px 110px 1fr;gap:10px;align-items:start;color:var(--ink);text-decoration:none;padding:13px 0;border-top:1px solid var(--rule);min-height:58px}.review-index>a:hover b{text-decoration:underline}.review-index span{font-family:'Red Hat Mono',monospace;color:var(--link);font-size:13px}.review-index b{font-size:15px}.review-index small{color:var(--muted);font-size:13px;line-height:1.5}.review-banner{display:block;width:100%;height:auto;border:0}.review-section{padding:40px 0;border-bottom:1px solid var(--rule)}.review-sectionhead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px}.review-sectionhead h2{margin:0}.review-sectionhead a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.review-start{display:grid;grid-template-columns:1fr 2fr;gap:45px}.review-question{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.review-question a{color:var(--ink);text-decoration:none;border-top:2px solid var(--brand);padding-top:15px}.review-question b{display:block;font-size:17px;line-height:1.35}.review-question span{display:block;color:var(--muted);font-size:14px;line-height:1.55;margin-top:10px}.review-samples{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.review-samples .xb-tile{display:block;background:var(--sheet);color:var(--ink);border:1px solid var(--rule);text-decoration:none}.review-samples img{display:block;width:100%;aspect-ratio:1.6;object-fit:contain;height:auto}.review-samples .xb-tile b{display:block;padding:12px 12px 0}.review-caption{font-size:12px;color:var(--muted);margin:12px 0 0}.review-basics{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.review-basics h2{font-size:23px}.review-basics p,.review-next p{font-size:15px}.review-basics a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.review-next{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;border-bottom:0}.review-next>div:last-child{padding-left:24px;border-left:1px solid var(--rule)}.review-next>div:last-child>a{display:block;padding:10px 0;min-height:44px;font-size:15px}.review-guide-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:20px 0 35px}.review-guide-nav a{font-size:13px;border-bottom:1px solid var(--rule);padding:8px 0;min-height:44px}.review-guide-step{padding:42px 0;border-top:1px solid var(--rule)}.review-steptext{max-width:780px}.review-steptext p{font-size:16px}.review-steptext>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.review-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-gallery figure{margin:24px 0 0}.review-gallery .wide{grid-column:1/-1}.review-gallery img{width:100%;height:auto;object-fit:contain}.review-gallery figcaption{font-size:12px}.review-gallery figcaption a{display:inline-flex;align-items:center;min-height:44px}.review-tutorial-figure:not(.review-gallery *){max-width:680px}.review-tutorial-figure img{height:auto;width:100%}.review-estimator{max-width:560px}.review-estimator img{width:100%;height:auto}.review-estimator figcaption a{display:inline-flex;align-items:center;min-height:44px}
@media(prefers-color-scheme:dark){:root{--paper:#1d1e19;--sheet:#272923;--ink:#f4f1e6;--muted:#c1c0b4;--rule:#45463c;--link:#efc97c;--clip:#36372e;--brand:#e9b34d;--brand-hover:#ffe1a5}.xb-end{background:#13150f}.xb-note{color:var(--ink)}.review-button{color:#20231c!important}.xb-find button{color:#292516}.review-banner{opacity:.9}}
@media(max-width:1050px){.xb-barin{gap:10px}.xb-menu a{font-size:12px;padding:0 6px}.review-cover{gap:30px}.review-index>a{grid-template-columns:25px 1fr}.review-index small{grid-column:2}.review-start{gap:24px;grid-template-columns:1fr 2fr}}
@media(max-width:760px){.xb-wrap{padding:0 20px}.xb-barin{min-height:66px}.review-menu{display:block;margin-left:auto;min-width:55px;min-height:44px;background:var(--sheet);color:var(--ink);border:1px solid var(--rule);font:inherit;font-size:14px}.xb-menu{display:none;width:100%;margin:0}.xb-menu.open{display:block}.xb-menu ul{display:grid;grid-template-columns:1fr 1fr;padding:8px 0}.xb-menu a{font-size:14px;justify-content:flex-start;padding:0 10px}.review-cover{display:block;padding:35px 0 25px}.review-intro h1{font-size:39px}.review-intro .xb-lede{font-size:17px}.review-index{margin-top:32px}.review-index>a{grid-template-columns:22px 110px 1fr;gap:8px}.review-index small{grid-column:auto;font-size:12px}.review-banner{width:100%;height:auto}.review-start,.review-question,.review-basics,.review-next{grid-template-columns:1fr}.review-question{gap:20px}.review-question a{padding:14px 0}.review-question span{margin-top:6px}.review-section{padding:32px 0}.review-sectionhead{display:block;margin-bottom:10px}.review-samples{grid-template-columns:1fr 1fr;gap:12px}.review-basics{gap:30px}.review-next{gap:28px}.review-next>div:last-child{padding:24px 0 0;border-left:0;border-top:1px solid var(--rule)}.xb-ex{padding:28px 18px 18px}.xb-ex h3{font-size:21px}.xb-ex dd{font-size:16px}.xb-tool{padding:20px 15px}.xb-opts{display:grid;grid-template-columns:1fr}.xb-opts label{padding:9px 10px}.xb-endgrid{grid-template-columns:1fr 1fr}.xb-endgrid>div:last-child{grid-column:1/-1}.xb-end{font-size:13px}.xb-small{font-size:12px}.review-guide-nav{grid-template-columns:1fr 1fr}.review-gallery{grid-template-columns:1fr;gap:8px}.review-guide-step{padding:32px 0}.review-gallery .wide{grid-column:auto}.xb-col>.xb-pair{width:100%}.xb-hero h1{font-size:34px}.xb-part{padding:28px 0}}
@media(max-width:360px){.xb-wrap{padding:0 16px}.review-intro h1{font-size:34px}.review-index>a{grid-template-columns:20px 1fr}.review-index small{grid-column:2}.xb-find input{flex-basis:160px}.xb-find button{padding:0 15px}.xb-brand span{max-width:110px}}

.review-h1-label{display:block;font-size:14px;line-height:1.5;letter-spacing:0;color:var(--link);margin-bottom:14px}

.xb-ex dd a{display:inline-flex;align-items:center;min-height:44px}.xb-endgrid>div>a{display:inline-flex;align-items:center;min-height:44px}

.review-tablehint{display:none}@media(max-width:700px){.review-tablehint{display:block;font-size:12px;color:var(--muted);margin:12px 0 4px}.review-help .xb-tw table{table-layout:fixed}.review-help .xb-tw td:first-child,.review-help .xb-tw th:first-child{width:30%;white-space:normal}}

.xb-part .xb-col>ul:not(.xb-index) li a,.xb-part .xb-col>ol li a{display:inline;min-height:0;min-width:0}

@media(max-width:700px){.xb-tw table:has(th:nth-child(3)){min-width:640px}}

.review-tablehint:not(:has(+ .xb-tw th:nth-child(3))){display:none}
