:root{color-scheme:light;--paper:#f7f3e9;--ink:#183f35;--muted:#66766a;--line:#d8ddd1;--clay:#af6147;font-family:system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button,.primary{min-height:46px;border:1px solid var(--line);border-radius:10px;background:#fffdf7;color:var(--ink);padding:12px 16px}button:hover,a.primary:hover{border-color:var(--ink)}button:disabled{opacity:.55;cursor:wait}a.primary{display:block;text-decoration:none;text-align:center}.primary{background:var(--ink);color:#fffdf7;border-color:var(--ink)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--clay);outline-offset:3px}.skip{position:absolute;top:-80px}.skip:focus{top:10px;z-index:10;background:white;padding:12px}header{display:flex;justify-content:space-between;align-items:center;padding:18px max(24px,env(safe-area-inset-left));border-bottom:1px solid var(--line);gap:16px}.brand{text-decoration:none;font-size:30px;font-weight:750;letter-spacing:1px}.brand span{font-size:10px;letter-spacing:2px;margin-left:12px}header>a:last-child{padding:12px;font-size:14px}main{max-width:1500px;margin:auto;padding:32px}.intro{display:grid;grid-template-columns:1fr minmax(260px,390px);gap:36px;align-items:start}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--clay);line-height:1.6}h1{font:normal clamp(36px,4vw,58px)/1.08 Georgia,serif;margin:16px 0}h2{font:normal 34px/1.12 Georgia,serif}.intro>div>p:last-child{color:var(--muted);line-height:1.6}.guide{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fffdf6;font-size:14px;line-height:1.65}.guide summary{font-weight:650}.guide ol{padding-left:22px}.guide li{margin-bottom:12px}.account-state{padding:14px 18px;background:#e8ede2;border-radius:10px;font-size:14px;line-height:1.6}.workspace{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px;margin-top:28px}aside{border-right:1px solid var(--line);padding-right:18px}#category-browser>summary{font-weight:650;padding:12px 0}#categories summary{padding:13px 4px;line-height:1.4;font-size:14px;display:list-item}#categories small{font-size:10px;color:var(--muted);margin-left:8px}.category-children{padding-left:13px;border-left:1px solid var(--line)}.category{display:block;width:100%;text-align:left;margin:3px 0;background:transparent;border:0;border-radius:6px;font-size:13px}.category span{font-size:10px;color:var(--muted)}.category.active,#categories summary.active{background:#e4eadd}.tools{display:grid;grid-template-columns:minmax(150px,1fr) 160px 125px;gap:12px;align-items:end}.tools label{font-size:11px;line-height:2}.tools input,.tools select{display:block;width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fffdf6;color:var(--ink);font-size:15px}#category-path{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:15px;font-size:12px}#category-path button{border:0;min-height:40px;background:transparent;padding:8px;font-size:12px}#result-count,#saved-state{font-size:12px;color:var(--muted);line-height:1.7}#grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#fffdf6;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}.open{display:block;width:100%;border:0;border-radius:0;padding:0;background:#eeefe7;text-align:left}.open img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}.open h3{font-size:14px;font-weight:550;line-height:1.4;margin:14px 14px 5px}.open p{font-size:10px;color:var(--muted);line-height:1.6;margin:0 14px 16px}.save{position:absolute;top:8px;right:8px;padding:8px;min-width:46px;font-size:19px;background:#fffdf6ed}.save[aria-pressed=true]{color:var(--clay)}#more{display:block;margin:24px auto}footer{border-top:1px solid var(--line);padding:24px 32px;font-size:12px;color:var(--muted)}footer a{display:inline-block;margin:6px 20px 6px 0;padding:8px 0}dialog{width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:18px;padding:48px 26px 26px;background:#fffdf6;color:var(--ink);overflow:auto}dialog::backdrop{background:#122d28b8}.close{position:absolute;right:10px;top:8px;border:0;background:transparent}.detail-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.preview{align-self:start;background:repeating-conic-gradient(#e6e8df 0 25%,#f7f7f1 0 50%) 50%/20px 20px}.preview img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.preview span{display:block;background:#e9ece1;font-size:10px;text-align:center;padding:12px}#detail-title{margin:12px 0}#detail-size,.fine{font-size:12px;color:var(--muted);line-height:1.65}#detail-description{line-height:1.7;font-size:14px}#save-favourite,#download,#share,#save-png{width:100%;margin:8px 0}#download-state,#ready p{font-size:13px;line-height:1.7}#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 18px;border-radius:8px;max-width:90%;display:none;z-index:20}#toast.visible{display:block}@media(min-width:1250px){#grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:950px){.workspace{grid-template-columns:205px minmax(0,1fr);gap:18px}main{padding:24px}.tools{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}#grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.intro{grid-template-columns:1fr 300px;gap:20px}}@media(max-width:700px){main{padding:18px}.intro{grid-template-columns:1fr;gap:12px}h1 br{display:none}.workspace{grid-template-columns:1fr;margin-top:12px}aside{border-right:0;padding:0;border-bottom:1px solid var(--line)}#category-browser{max-height:45dvh;overflow:auto}#saved-state{margin:8px 0}.detail-layout{grid-template-columns:1fr}.preview{max-width:360px;justify-self:center;width:100%}header{padding:12px 16px}.brand span{font-size:8px;margin-left:5px}h1{font-size:38px}footer{padding:18px}#detail-title{font-size:30px}}

