:root{--ground:#f7f5ee;--ink:#0f3d2e;--muted:#4b5a54;--primary:#ff6b57;--accent:#cfff5e;--tint:#b8d8ff;--card:#fff;--line:#0f3d2e24;--shadow:0 10px 30px #0f3d2e14;--radius:22px;--radius-sm:14px;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif;--wonk:"SOFT" 100, "WONK" 1;--max:1240px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.55}img,svg{max-width:100%;display:block}a{color:inherit}a:hover{color:var(--primary)}h1,h2,h3,.display{font-family:var(--font-display);font-variation-settings:var(--wonk);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.05}h1{letter-spacing:-.03em;font-size:clamp(38px,6vw,64px)}h2{font-size:clamp(28px,4vw,40px)}h3{font-size:20px;font-weight:700;line-height:1.2}p{margin:0}.wrap{max-width:var(--max);margin:0 auto;padding-inline:16px}@media (width>=720px){.wrap{padding-inline:24px}}.stack{gap:var(--gap,16px);flex-direction:column;display:flex}.row{gap:var(--gap,12px);flex-wrap:wrap;align-items:center;display:flex}.visually-hidden{position:absolute;left:-9999px}.btn{cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-family:inherit;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--ink);border-color:var(--primary)}.btn-primary:hover{color:var(--ink);background:#ff5a44}.btn-outline{background:var(--card);color:var(--ink);border-color:var(--ink)}.btn-outline:hover,.btn-dark{background:var(--ink);color:var(--ground)}.btn-dark:hover{color:var(--ground);background:#0a2c21}.btn-lg{min-height:60px;padding:0 28px;font-size:18px}.pill{background:var(--ground);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:3px 11px;font-size:12.5px;font-weight:700;display:inline-flex}.pill-accent{background:var(--accent)}.pill-tint{background:var(--tint)}.pill-ink{background:var(--ink);color:var(--ground)}.pill-outline{background:var(--card);border:2px solid var(--ink)}.chip{border:2px solid var(--ink);background:var(--card);border-radius:999px;align-items:center;min-height:42px;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.chip[aria-current=page],.chip.is-active{background:var(--ink);color:var(--ground)}.tag{background:var(--card);border:2px solid var(--line);border-radius:999px;align-items:center;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.site-header{background:var(--ground)}.site-header .wrap{flex-wrap:wrap;align-items:center;gap:12px 24px;padding-block:14px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--ink);border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.brand-name{font-family:var(--font-display);font-variation-settings:var(--wonk);letter-spacing:-.02em;font-size:24px;font-weight:800}.site-nav{flex-wrap:wrap;flex:380px;gap:4px 18px;font-size:15px;font-weight:600;display:flex}.site-nav a{text-decoration:none}.site-nav a[aria-current=true]{color:var(--primary)}.header-tools{align-items:center;gap:10px;display:flex}.search{border:2px solid var(--ink);background:var(--card);width:100%;max-width:220px;min-height:44px;font:inherit;border-radius:999px;padding:0 16px;font-size:15px}.lang{border:2px solid var(--ink);background:var(--card);border-radius:999px;align-items:center;min-height:44px;padding:0 14px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.lang span{color:#8a8781;margin-left:6px}.hero{flex-wrap:wrap;align-items:center;gap:40px;padding-block:clamp(32px,6vw,72px);display:flex}.hero>div{flex:480px;min-width:0}.hero .sticker{background:var(--tint);border-radius:999px;align-self:flex-start;padding:8px 16px;font-size:14px;font-weight:700;display:inline-block;transform:rotate(-2deg)}.hero em{color:var(--primary);font-style:italic}.lead{max-width:60ch;color:var(--muted);font-size:clamp(17px,2vw,20px);line-height:1.5}.hero-art{flex:0 420px;min-width:260px;height:400px;position:relative}.hero-art .card-a,.hero-art .card-b{aspect-ratio:4/5;border-radius:28px;width:60%;position:absolute;box-shadow:0 20px 40px #0f3d2e24}.hero-art .card-a{background:var(--accent);top:8%;left:8%;transform:rotate(-6deg)}.hero-art .card-b{background:var(--primary);color:var(--ink);font-family:var(--font-display);font-variation-settings:var(--wonk);flex-direction:column;justify-content:flex-end;padding:24px;font-size:32px;font-weight:800;line-height:1;display:flex;top:0;left:30%;transform:rotate(5deg)}.hero-art .card-b small{font-family:var(--font-body);margin-top:10px;font-size:15px;font-weight:600}.hero-art .badge{background:var(--ink);width:92px;height:92px;color:var(--ground);text-align:center;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:19px;font-weight:800;line-height:1;display:grid;position:absolute;top:10%;right:0;transform:rotate(10deg)}.section{padding-block:clamp(32px,5vw,64px)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.section-head a{text-underline-offset:4px;font-weight:700}.band{background:var(--ink);color:var(--ground);border-radius:32px}.band .lead{color:#c9d6d0}.band-accent{background:var(--accent);color:var(--ink);border-radius:32px}.band-tint{background:var(--tint);color:var(--ink);border-radius:32px}.panel{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.card{background:var(--card);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);flex-direction:column;min-width:0;text-decoration:none;display:flex;overflow:hidden}.card:hover{color:var(--ink);transition:transform .15s;transform:translateY(-2px)}.card-cover{aspect-ratio:1;background:var(--tint);place-items:center;display:grid;position:relative;overflow:hidden}.card-cover img{object-fit:cover;width:100%;height:100%}.card-cover .initial{font-family:var(--font-display);font-variation-settings:var(--wonk);opacity:.85;font-size:110px;font-weight:800;line-height:1}.card-cover .type{background:var(--card);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:5px 11px;font-size:11.5px;font-weight:800;position:absolute;top:12px;left:12px}.card-cover .free{background:var(--ink);color:var(--ground);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800;position:absolute;bottom:12px;right:12px;transform:rotate(-4deg)}.card-body{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.card-body .by{color:var(--muted);font-size:13.5px}.meta{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;display:grid}.tile{border-radius:var(--radius);text-align:center;background:var(--card);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:8px;padding:20px 10px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.tile .glyph{width:48px;height:48px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:22px;font-weight:800;display:grid}.tile small{color:var(--muted);font-size:13px;font-weight:500}.crumbs{color:var(--muted);flex-wrap:wrap;gap:8px;padding-block:14px;font-size:14px;display:flex}.crumbs a{color:inherit}.crumbs span[aria-current]{color:var(--ink)}.crumbs.dark{color:#9fb8ae;padding-top:18px}.crumbs.dark span[aria-current]{color:var(--ground)}.product{flex-wrap:wrap;gap:40px;padding-block:8px 48px;display:flex}.product>div{flex:440px;min-width:0}.cover-main{aspect-ratio:1;background:var(--tint);border-radius:32px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 50px #0f3d2e1f}.cover-main img{object-fit:cover;width:100%;height:100%}.cover-main .initial{font-family:var(--font-display);font-variation-settings:var(--wonk);opacity:.85;font-size:200px;font-weight:800;line-height:1}.cover-main .free-badge{background:var(--ink);width:84px;height:84px;color:var(--accent);text-align:center;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:18px;font-weight:800;line-height:1;display:grid;position:absolute;top:22px;right:22px;transform:rotate(10deg)}.facts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:0;display:grid}.facts div{background:var(--card);border-radius:18px;padding:12px 14px}.facts dt{letter-spacing:.06em;text-transform:uppercase;color:#6b6a66;font-size:12px;font-weight:800}.facts dd{font-family:var(--font-display);font-variation-settings:var(--wonk);margin:2px 0 0;font-size:22px;font-weight:800}.need{background:var(--ink);color:var(--ground);border-radius:var(--radius);padding:20px 22px}.need h2,.need h3{color:var(--accent);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;font-size:13px}.need ul{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:6px 16px;margin:10px 0 0;padding:0;font-size:15px;list-style:none;display:grid}.fileinfo{color:var(--muted);font-size:14px}.content{flex-wrap:wrap;gap:40px;padding-bottom:48px;display:flex}.content article{flex:999 540px;min-width:0}.content aside{flex-direction:column;flex:280px;gap:18px;min-width:0;display:flex}.prose{font-size:17px;line-height:1.65}.prose h2{margin:28px 0 12px;font-size:clamp(26px,3vw,32px)}.prose h3{margin:22px 0 8px}.prose p{margin:0 0 14px}.prose ul,.prose ol{margin:0 0 14px;padding-left:22px}.prose li{margin-bottom:4px}.prose a{text-underline-offset:3px}.prose table{border-collapse:collapse;width:100%;margin-bottom:14px;font-size:15px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.aside-box{background:var(--card);border-radius:var(--radius);padding:22px}.aside-box h2{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#6b6a66;margin-bottom:8px;font-size:13px}.aside-box p{font-size:15px;line-height:1.6}.aside-box.mint{background:var(--accent)}.aside-box.sky{background:var(--tint)}.listing{flex-wrap:wrap;gap:32px;padding-block:28px 48px;display:flex}.filters{flex-direction:column;flex:230px;gap:18px;max-width:280px;display:flex}.filters fieldset{border:0;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.filters legend{letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:13px;font-weight:800}.filters label{cursor:pointer;align-items:center;gap:10px;min-height:34px;font-size:15px;display:flex}.filters label span.count{color:#8a8781;margin-left:auto;font-size:13px}.results{flex-direction:column;flex:999 560px;gap:18px;min-width:0;display:flex}.results-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.results-head select{border:2px solid var(--ink);background:var(--card);min-height:40px;font:inherit;border-radius:999px;padding:0 12px;font-size:14px}.empty{text-align:center;color:var(--muted);background:var(--card);border-radius:var(--radius);padding:32px}.filter-toggle{display:none}@media (width<=860px){.filters{flex-basis:100%;max-width:none}.filters.collapsed{display:none}.filter-toggle{display:inline-flex}}.facet-tabs{flex-wrap:wrap;gap:8px;display:flex}.facet-tabs a{min-height:44px}details.faq{background:var(--card);border-radius:18px;padding:14px 20px}details.faq summary{cursor:pointer;font-size:16px;font-weight:800}details.faq p{color:var(--muted);margin:10px 0 0;font-size:15px;line-height:1.55}.quiz fieldset{border:0;margin:0;padding:0}.quiz legend{margin-bottom:12px;font-size:18px;font-weight:800}.quiz label{border:2px solid var(--ink);cursor:pointer;background:var(--card);border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-weight:600;display:inline-flex}.quiz label:has(input:checked){background:var(--ink);color:var(--ground)}.site-footer{background:var(--ink);color:#c9d6d0;border-radius:40px 40px 0 0;margin-top:32px}.site-footer .wrap{flex-wrap:wrap;gap:24px 48px;padding-block:48px 40px;font-size:14px;display:flex}.site-footer strong{color:var(--ground)}.site-footer a{color:inherit;text-decoration:none}.site-footer .col{flex-direction:column;flex:150px;gap:8px;display:flex}.site-footer .col.wide{flex:2 260px}.site-footer .brand-name{color:var(--ground)}
