/* FreeAIPics — white page, bold purple wordmark, one search box; results flow below */
:root{
  --bg:#ffffff; --fg:#1d1a24; --muted:#6f6a7a; --line:#e4e0ea;
  --purple:#6a1fd1; --purple-soft:#f3ecfd; --tile:#f6f5f8;
  --display:"Bricolage Grotesque","Noto Sans KR",system-ui,sans-serif;
  --body:"DM Sans","Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--fg)}
body{margin:0;font-family:var(--body);font-size:15px;padding-inline:16px;padding-block:env(safe-area-inset-top,0) env(safe-area-inset-bottom,0)}
img{max-width:100%}
[hidden]{display:none!important}
a{color:var(--purple)}
.wrap{max-width:1000px;margin:0 auto;padding-block:22vh 48px;transition:padding .25s}
.wrap.has-results{padding-block:40px 48px}
h1#brand{font-family:var(--display);font-weight:800;text-align:center;font-size:clamp(2.6rem,9vw,4.6rem);letter-spacing:-.03em;margin:0 0 28px;line-height:1}
html[lang="ko"] h1#brand{font-weight:900;letter-spacing:-.04em}
h1#brand a{color:var(--purple);text-decoration:none}
.wrap.has-results h1#brand{font-size:clamp(2rem,6vw,3rem);margin-bottom:20px}
.search{max-width:600px;margin:0 auto;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 20px;background:var(--bg);box-shadow:0 1px 6px rgba(32,20,60,.08)}
.search:focus-within{border-color:var(--purple);box-shadow:0 1px 10px rgba(106,31,209,.18)}
.search svg{flex:none;color:var(--muted)}
.search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;color:var(--fg);background:transparent;padding:10px 0}
.search button{border:0;background:var(--purple);color:#fff;font:600 14px var(--body);padding:11px 18px;border-radius:999px;cursor:pointer}
button:focus-visible,a:focus-visible,.tile:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);font:500 13px var(--body);padding:6px 12px;border-radius:999px;cursor:pointer}
.chip:hover{border-color:var(--purple);color:var(--purple)}
.meta{margin:32px 0 14px;color:var(--muted);font-size:14px}
.meta b{color:var(--fg)}
.grid{columns:4 160px;column-gap:12px}
.tile{break-inside:avoid;margin:0 0 12px;display:block;width:100%;border:0;padding:0;background:var(--tile);border-radius:10px;overflow:hidden;cursor:pointer;position:relative}
.tile img{display:block;width:100%;height:auto}
.empty{margin:28px auto 0;max-width:520px;text-align:center;color:var(--muted);line-height:1.6}
.lang{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;display:flex;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--bg);z-index:5}
.lang button{border:0;background:none;font:500 12px var(--body);color:var(--muted);padding:5px 10px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--purple-soft);color:var(--purple)}
.rail{position:fixed;top:50%;transform:translateY(-50%);width:160px;min-height:600px}
.rail.l{left:16px}.rail.r{right:16px}
@media (max-width:1359px){.rail{display:none!important}}
.back{position:fixed;inset:0;background:rgba(20,12,36,.55);display:grid;place-items:center;padding:16px;z-index:10}
.modal{background:var(--bg);border-radius:14px;width:min(620px,100%);max-height:92vh;overflow:auto;padding:18px;display:grid;gap:14px}
.modal img{width:100%;border-radius:8px;background:var(--tile)}
.mtop{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mtop h2{margin:0;font-size:16px;font-weight:600}
.x{border:0;background:none;font-size:24px;cursor:pointer;color:var(--muted);line-height:1}
.desc{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;gap:8px}
.desc-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.desc-top b{font-size:13px;font-weight:600}
.desc p{margin:0;font-size:14px;line-height:1.55}
.copy{border:1px solid var(--line);background:var(--bg);color:var(--purple);font:600 12px var(--body);padding:5px 10px;border-radius:999px;cursor:pointer}
.lic{font-size:12px;color:var(--muted);margin:0}
.adbox{min-height:90px}
.dl{display:block;text-align:center;text-decoration:none;border-radius:10px;padding:13px;font:600 15px var(--body);background:var(--purple);color:#fff}
.dl[aria-disabled="true"]{background:var(--line);color:var(--muted);pointer-events:none}
.more{text-align:center;font-size:13px}
.foot{display:flex;justify-content:center;gap:18px;padding-block:24px 32px;font-size:13px}
.foot a{color:var(--muted)}
/* image page */
.bar{display:flex;align-items:center;gap:14px;max-width:1100px;margin:0 auto;padding-block:16px}
.brand.sm{font-family:var(--display);font-weight:800;font-size:24px;color:var(--purple);text-decoration:none;white-space:nowrap}
html[lang="ko"] .brand.sm{font-weight:900}
.search.sm{flex:1;max-width:none;padding:2px 14px}
.search.sm input{padding:8px 0}
.langlink{font-size:13px;color:var(--muted);white-space:nowrap}
.imgpage{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;padding-block:8px 40px}
.hero{margin:0}
.hero img{width:100%;height:auto;border-radius:12px;display:block}
.side{display:grid;gap:14px;align-content:start}
.side h1{font-size:22px;margin:0;text-wrap:balance}
.side .meta{margin:0}
.related{grid-column:1/-1}
.related h2{font-size:17px}
.doc{max-width:680px;margin:0 auto;padding-block:24px 48px;line-height:1.7}
@media (max-width:800px){.imgpage{grid-template-columns:1fr}.bar{flex-wrap:wrap}.search.sm{order:3;flex-basis:100%}}
@media (max-width:600px){.wrap.has-results{padding-top:64px}.wrap{padding-top:18vh}.grid{column-gap:8px}.tile{margin-bottom:8px}}

/* results toolbar: count + orientation filter */
.bar2{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 10px}
.bar2 .meta{margin:0}
.filters{display:flex;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px}
.filters button{border:0;background:none;font:500 13px var(--body);color:var(--muted);padding:6px 12px;border-radius:999px;cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--purple-soft);color:var(--purple)}
.related{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 14px;font-size:13px;color:var(--muted)}
.related a{color:var(--fg);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.related a:hover{border-color:var(--purple);color:var(--purple)}
.suggest{max-width:620px;margin:16px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.loadmore{height:60px;display:grid;place-items:center;color:var(--muted);font-size:13px}
.wrap.has-results .chips{display:none}   /* the related row takes over once there are results */
