@font-face{font-family:system;src:local('Inter'),local('Segoe UI')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#f4f1e9;color:#252721;font-family:system,Arial,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #eb6338;outline-offset:4px}button{border:0;background:none;color:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(45px,6.3vw,90px);font-weight:650}h2{font-size:35px;font-weight:600}h3{font-size:27px;font-weight:600}p{line-height:1.7}::selection{background:#ec653c;color:#fff}[hidden]{display:none!important}.skip{position:fixed;top:-100px;background:#242820;color:white;padding:12px;z-index:100}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topline{display:flex;justify-content:space-between;border-bottom:1px solid #d8d6cd;padding:7px 4.5%;font-size:9px;letter-spacing:.18em}.site-header{margin:0 4.5%;height:103px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #34382f;gap:20px}.logo{font-size:45px;letter-spacing:-.065em;line-height:1;font-weight:800}.logo-dot{color:#e95e35}.site-header nav{display:flex;gap:27px;font-size:14px;font-weight:600}.site-header nav a:hover,.site-footer a:hover{color:#d94e27}.header-actions{display:flex;gap:20px;align-items:center}.header-actions select{background:transparent;border:none;font-size:12px;width:100px;cursor:pointer}.signin-link{font-size:12px;border-inline-start:1px solid #ccc;padding-inline-start:20px;white-space:nowrap}.signin-link span{margin-inline-start:8px;color:#dc5c32}main{max-width:1600px;margin:auto;padding:0 4.5%}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:650;text-transform:uppercase}.intro{padding:65px 0 40px}.intro h1{max-width:960px;margin:19px 0 21px}.intro-bottom{display:flex;justify-content:space-between;align-items:end}.intro-bottom p{max-width:430px;font-size:16px;margin:0;color:#676b60}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:13px;text-decoration:underline;text-underline-offset:5px;padding:7px 0}.browse{border-top:1px solid #d0d1c6;border-bottom:1px solid #d0d1c6;display:flex;justify-content:space-between;align-items:center;padding:15px 0;gap:20px;margin-bottom:35px}.filter-links{display:flex;gap:7px;flex-wrap:wrap}.filter-links a{font-size:12px;padding:6px 14px;border-radius:30px}.filter-links .active{color:#f8f5ed;background:#272b23}.search{display:flex;border-bottom:1px solid #aeb0a5;align-items:center}.search input{border:0;background:transparent;padding:6px;min-width:0;width:190px;font-size:12px}.search button{font-size:26px;line-height:1}.feature{display:grid;grid-template-columns:1.55fr 1fr;gap:48px;align-items:center;margin:0 0 68px}.card-image{display:block;position:relative;overflow:hidden;background:#d8dbd0}.card-image img{aspect-ratio:1.52;object-fit:cover;transition:transform .5s}.card-image:hover img{transform:scale(1.03)}.score-chip{position:absolute;top:18px;inset-inline-end:18px;background:#f7f4eb;color:#282c22;padding:6px 12px;font-size:22px;letter-spacing:-.06em;font-weight:700}.score-chip small{font-size:10px;letter-spacing:0;font-weight:400;margin-inline-start:5px}.demo-chip{position:absolute;bottom:15px;inset-inline-start:16px;background:#262a23d9;color:#fff;padding:3px 8px;font-size:8px;letter-spacing:.14em}.metadata{font-size:11px;display:flex;gap:9px;align-items:center;color:#707465;flex-wrap:wrap;margin-bottom:14px}.metadata .eyebrow{color:#de5b34}.meta-dot{color:#9ea293}.feature h2{font-size:clamp(34px,3.4vw,51px);max-width:540px;margin-bottom:22px}.card-copy p{color:#666b5f;line-height:1.75;font-size:14px}.read-link{display:inline-flex;gap:50px;align-items:center;font-size:12px;font-weight:600;border-bottom:1px solid #858b7c;padding:9px 0}.read-link span{color:#e25f35;font-size:22px}.section-title{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #34382f;padding:21px 0;gap:20px}.section-title h2{font-size:28px;margin:0}.section-title .eyebrow{color:#777e6d}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.review-card .card-copy{padding:22px 0}.review-card h3{margin-bottom:13px}.review-card p{font-size:13px}.review-card .read-link{gap:35px}.manifesto{margin:64px 0 80px;background:#e7e8df;padding:48px 6%;position:relative;border-top:1px solid #cbcfc0}.manifesto h2{font-size:43px;margin:20px 0 16px}.manifesto p{color:#616957}.manifesto .button{position:absolute;inset-inline-end:6%;bottom:53px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;background:#ed653e;color:#1e241b;padding:12px 20px;font-size:12px;font-weight:650;border:1px solid transparent;cursor:pointer;letter-spacing:.005em}.button:hover{background:#f07955}.button.secondary{background:transparent;border:1px solid #b7bcae}.button.secondary:hover{background:#e7e8df}.site-footer{margin:0 4.5%;border-top:1px solid #34382f;padding:37px 0;display:flex;justify-content:space-between;gap:30px}.site-footer .logo{font-size:37px}.site-footer p{color:#717667;font-size:12px;margin-top:13px}.site-footer>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;align-content:start;font-size:12px}.footer-small{text-align:end}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:calc(100vw - 30px);width:max-content;background:#262c23;color:#fff;font-size:13px;padding:14px 22px;box-shadow:0 5px 25px #0002;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}#toast.visible{transform:translate(-50%,0);opacity:1}.notice{font-size:11px;padding:13px 17px;background:#f3dfc4;color:#65461d;margin-top:20px;line-height:1.6;border-inline-start:3px solid #d2783c}.article-header{max-width:920px;margin:50px auto 36px}.back-link{font-size:12px;display:inline-block;margin-bottom:35px}.article-header h1{font-size:clamp(40px,5.4vw,75px);margin:18px 0 24px}.dek{font-size:21px;color:#676f60;line-height:1.65}.byline{display:flex;align-items:center;gap:12px;margin-top:27px;font-size:12px}.byline small{display:block;color:#7d8275;font-size:11px;margin-top:3px}.author-avatar,.comment-avatar{width:39px;height:39px;background:#dcded0;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:650;flex-shrink:0}.comment-jump{margin-inline-start:auto;border-bottom:1px solid #a1a697}.article-hero{margin:0 0 52px}.article-hero img{aspect-ratio:2;object-fit:cover}.article-hero figcaption,figcaption{font-size:10px;color:#7a806f;line-height:1.6;margin-top:10px}figcaption span{display:block}.article-layout{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:center;gap:65px}.article-aside{align-self:start;position:sticky;top:25px}.article-aside nav{display:flex;flex-direction:column;gap:14px;margin:22px 0 35px;font-size:12px}.testing{border-top:1px solid #c9cebd;padding-top:22px;font-size:12px;color:#737b67}.testing strong{display:block;margin-top:12px;color:#292e24}.testing p{margin:7px 0}.article-body{min-width:0}.article-body h2{font-size:34px;margin:34px 0 20px}.article-body p{font-size:17px;line-height:1.85;color:#4f5847}.article-body figure{margin:35px 0}.text-section{margin-bottom:30px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gallery-grid figure{margin:0}.gallery img{aspect-ratio:1.5;object-fit:cover}.video-placeholder{width:100%;aspect-ratio:16/9;background:#272f25;color:#f4f1e9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}.video-placeholder .play{font-size:30px;color:#ed653e;border:1px solid #ed653e;border-radius:50%;height:65px;width:65px;display:grid;place-items:center}.video-placeholder strong{font-size:17px}.video-placeholder small{font-size:10px;color:#bac3b2}.video iframe{width:100%;aspect-ratio:16/9;border:0}.article-body blockquote{margin:45px 0;padding:20px 0 20px 30px;border-inline-start:3px solid #ed653e}.article-body blockquote p{font-size:28px;line-height:1.4;letter-spacing:-.03em}.article-body cite{font-size:12px;font-style:normal;color:#7a806f}.fact-panel{background:#e9ebe0;padding:25px;margin:32px 0}.fact-panel h2{margin-top:0}.fact-panel dl{margin:0}.fact-panel dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #d1d6c5;padding:11px 0;gap:15px;font-size:13px}.fact-panel dd{margin:0;text-align:end}.verdict-panel{background:#2e372a;color:#f4f1e9;padding:32px;margin-top:50px}.verdict-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.verdict-top h2{font-size:30px;margin:9px 0 15px}.big-score{font-size:58px;color:#ed744d;font-weight:650;letter-spacing:-.07em;line-height:1}.big-score small{font-size:14px;color:#aeba9f;margin-inline-start:7px;letter-spacing:0}.verdict-panel>p{color:#d5ddca;font-size:15px}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:25px;border-top:1px solid #536147;padding-top:22px}.pros-cons h3{font-size:17px;letter-spacing:-.02em;color:#e7ecdf}.pros-cons ul{list-style:none;padding:0;margin:0}.pros-cons li{font-size:13px;line-height:1.6;margin:10px 0;color:#c8d2bc}.review-voting{display:flex;align-items:center;gap:16px;border-top:1px solid #536147;padding-top:20px;margin-top:25px;font-size:12px}.review-voting button{font-size:23px;padding:2px 7px;color:#bac9a9}.selected{color:#e76239!important}.review-voting>span{margin-inline-end:auto}.author-bio{display:flex;gap:17px;padding:30px 0;margin:20px 0;border-bottom:1px solid #c9cebd;font-size:14px}.author-bio p{font-size:12px;margin:5px 0;color:#7b836f}.discussion{margin:50px 0 80px}.discussion .section-title h2{margin:0;font-size:29px}textarea,input{border:1px solid #c1c8b4;background:#f9f7f0;color:#252d20;padding:12px;border-radius:0;width:100%}input{min-height:44px}label{display:block;font-size:12px;margin:12px 0 7px;color:#5e6954}textarea{resize:vertical}#comment-body{min-height:115px;font-size:14px}.comment-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.comment-form-footer small{font-size:11px;color:#79836d}.reply-target{display:flex;justify-content:space-between;gap:20px;padding:10px;background:#e5eadb;font-size:12px}.comment{display:flex;gap:13px;padding:23px 0;border-bottom:1px solid #d0d6c4;scroll-margin-top:30px}.comment:target{background:#eee2c9;outline:7px solid #eee2c9}.comment-copy{min-width:0;flex:1}.comment-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px}.comment-meta time,.comment-meta .eyebrow,.comment-meta>span{font-size:10px;color:#7c866f}.comment-copy p{font-size:14px;margin:9px 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#4f5b42}.comment-avatar{height:30px;width:30px;font-size:11px}.comment-actions{display:flex;gap:12px;align-items:center;font-size:11px;color:#748064}.comment-actions button,.comment-actions a{padding:3px;font-size:11px}.comment-actions button[data-comment-vote]{font-size:18px}.muted{color:#77836b;font-size:13px}.auth-shell{max-width:540px;margin:80px auto 100px}.auth-shell h1{font-size:64px;margin:22px 0}.auth-shell>p{color:#6a745d}.auth-shell form{display:flex;flex-direction:column;gap:4px;margin:30px 0}.auth-shell form .button{margin-top:15px}.auth-shell>small{display:block;color:#7a846f;font-size:11px;margin-top:20px}.auth-shell .notice{font-size:11px}.empty{min-height:300px;display:grid;place-content:center;text-align:center}.empty h2{font-size:30px}.api-intro{margin:65px 0 45px;max-width:850px}.api-intro h1{margin:20px 0 25px}.api-intro>p{max-width:650px;font-size:18px;color:#6f7862}.api-badges{display:flex;gap:12px;font-size:9px;letter-spacing:.1em}.api-badges span{border:1px solid #c8cfb9;padding:4px 9px}.developer-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding:30px 0 90px;border-top:1px solid #313b28}.developer-grid h2{font-size:27px}.developer-grid p{font-size:14px;color:#6f7a62}.developer-grid pre{font-size:12px;background:#2b3425;color:#d8e4cc;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.developer-panel{background:#e6eadb;padding:30px;align-self:start}.developer-panel form .button{margin:13px 0}.credit-count{font-size:39px;letter-spacing:-.04em;font-weight:600}.key-row{display:flex;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid #c0cab2;font-size:12px;flex-wrap:wrap}.key-row code{font-size:11px}#new-key{padding:15px;background:#f4f1e9;margin:20px 0}#key-value{display:block;overflow-wrap:anywhere;margin:10px 0;font-size:12px}.prose-page{max-width:760px;margin:75px auto 100px}.prose-page h1{margin:20px 0;font-size:65px}.prose-page h2{margin-top:35px;font-size:28px}.prose-page p{color:#646f59}.admin-heading{display:flex;justify-content:space-between;align-items:end;padding:55px 0 35px}.admin-heading h1{font-size:60px;margin:20px 0 0}.admin-heading p{font-size:14px;color:#718065}.admin-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:35px;margin:25px 0 50px}.admin-sidebar h2{font-size:20px}.admin-sidebar .section-title{padding:14px 0}.admin-sidebar>a{display:flex}.admin-sidebar form button{margin-top:15px}.admin-sidebar hr{border:0;border-top:1px solid #c8d0bc;margin:25px 0}.review-row{display:flex;flex-direction:column;align-items:start;width:100%;text-align:start;padding:14px 7px;border-bottom:1px solid #d2dac7;font-size:12px}.review-row small{color:#78886b;font-size:10px}.review-row:hover{background:#e4ead9}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;background:#e1e6d6;padding:12px 18px;border:1px solid #c3cfb4}.editor-toolbar select{font-size:11px;background:transparent;border:0}#json-editor{background:#293325;color:#e4eccd;font-family:Consolas,monospace;font-size:12px;line-height:1.7;min-height:540px;border:0;padding:23px;width:100%;tab-size:2}.editor-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}#editor-status{font-size:12px;white-space:pre-wrap;color:#536545;overflow-wrap:anywhere;padding:12px 0}.editor details{border-top:1px solid #c2ceb1;padding:15px 0;font-size:12px;color:#6d7f5c}.editor summary{cursor:pointer;font-weight:600;color:#35482b}#revision-list{display:flex;flex-direction:column;align-items:start}.moderation{margin:35px 0 80px}.report-row{padding:20px;border:1px solid #c6d1b5;margin:15px 0}.report-row p{font-size:13px;white-space:pre-wrap}.report-row small{display:block;color:#687e54}.report-row button{margin-top:15px}dialog{width:95vw;max-width:1400px;height:90vh;padding:0;background:#f4f1e9;border:1px solid #a3b58d;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#18211099}.preview-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;height:65px;border-bottom:1px solid #b8c4a9}.preview-bar strong{font-size:12px}#preview-frame{width:100%;height:calc(100% - 65px);border:0}
@media(min-width:1500px){.intro h1{font-size:100px}.site-header,.topline,.site-footer{padding-inline:calc((100vw - 1500px)/2)}}@media(max-width:1050px){.site-header nav{gap:16px}.feature{gap:30px;grid-template-columns:1.25fr 1fr}.review-grid{gap:22px}.article-layout{gap:35px;grid-template-columns:160px minmax(0,1fr)}.header-actions{gap:10px}.signin-link{padding-inline-start:10px}.manifesto .button{position:static;margin-top:10px}.developer-grid{gap:30px}}@media(max-width:760px){.topline{font-size:8px}.topline>span:last-child{display:none}.site-header{height:auto;min-height:80px;flex-wrap:wrap;padding:20px 0 12px;gap:16px}.logo{font-size:37px}.site-header nav{order:3;width:100%;border-top:1px solid #d1d5c7;padding-top:12px;justify-content:space-between;font-size:12px}.header-actions select{width:76px}.signin-link{font-size:11px}.intro{padding:40px 0 27px}.intro h1{font-size:49px;margin:17px 0}.intro-bottom{align-items:start;gap:20px}.intro-bottom p{font-size:13px}.intro-bottom .text-link{font-size:10px;white-space:nowrap}.browse{flex-wrap:wrap;gap:13px;padding:12px 0;margin-bottom:25px}.filter-links a{padding:5px 10px;font-size:11px}.search{width:100%}.search input{flex:1}.feature{grid-template-columns:1fr;gap:22px;margin-bottom:40px}.feature h2{font-size:38px;max-width:none}.feature .card-copy p{font-size:14px}.card-image img{aspect-ratio:1.5}.review-grid{grid-template-columns:1fr 1fr;gap:20px}.review-card h3{font-size:23px}.review-card .metadata{font-size:9px}.review-card .metadata .eyebrow{font-size:9px}.review-card .read-link{gap:15px}.score-chip{top:12px;inset-inline-end:12px;font-size:18px}.score-chip small{font-size:8px}.demo-chip{font-size:6px;padding:3px 5px;inset-inline-start:10px;bottom:10px}.section-title h2{font-size:24px}.section-title>.eyebrow{font-size:8px}.manifesto{padding:30px;margin:35px 0 40px}.manifesto h2{font-size:32px}.site-footer{flex-wrap:wrap;padding:25px 0;gap:25px}.site-footer>div:nth-child(2){gap:8px 20px}.footer-small{display:none}.article-header{margin:30px auto}.article-header h1{font-size:43px}.back-link{margin-bottom:25px}.dek{font-size:17px}.article-hero{margin-bottom:30px}.article-hero img{aspect-ratio:1.5}.article-layout{display:block}.article-aside{display:none}.article-body h2{font-size:29px}.article-body p{font-size:16px}.verdict-panel{padding:23px}.verdict-top h2{font-size:26px}.big-score{font-size:48px}.pros-cons{gap:20px}.pros-cons h3{font-size:15px}.gallery-grid{gap:10px}.byline{font-size:11px}.byline small{font-size:9px}.comment-jump{font-size:10px}.comment-form-footer small{font-size:10px}.auth-shell{margin:50px auto 70px;max-width:480px}.auth-shell h1{font-size:54px}.developer-grid{grid-template-columns:1fr;padding-bottom:50px}.api-intro{margin-top:40px}.api-intro h1{font-size:54px}.api-intro p{font-size:16px}.developer-panel{padding:25px}.prose-page{margin:50px auto}.prose-page h1{font-size:49px}.admin-heading{display:block;padding:35px 0 20px}.admin-heading h1{font-size:46px}.admin-heading p{margin:20px 0}.admin-layout{display:block}.admin-sidebar{margin-bottom:25px}#admin-reviews{display:grid;grid-template-columns:1fr 1fr}.admin-sidebar form{max-width:300px}.editor-actions{gap:8px}.editor-actions .button{padding:10px 13px;font-size:11px}.editor-toolbar{padding:11px}#json-editor{min-height:450px}.comment-meta{gap:8px}.comment-actions{gap:8px}}
@media(max-width:430px){.review-grid{grid-template-columns:1fr}.review-card .card-image img{aspect-ratio:1.65}.review-card .card-copy{padding:18px 0}.intro-bottom{display:block}.intro-bottom .text-link{margin-top:12px;font-size:12px}.intro h1{font-size:43px}.pros-cons{grid-template-columns:1fr;gap:16px}.auth-shell h1{font-size:46px}.header-actions{gap:7px}.byline{gap:8px}.comment-actions{gap:6px}.comment-form-footer{gap:10px}.comment-form-footer .button{padding:10px 14px}.verdict-top h2{font-size:23px}.comment-jump{display:none}.gallery-grid{grid-template-columns:1fr}.api-badges{gap:7px}.api-badges span{font-size:8px;padding:3px 5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
