:root{--bg:#f7f8fb;--card:#fff;--ink:#1d2433;--sub:#667085;--line:#e6e8ee;--brand:#3b5bfd;--brand2:#7c3aed;--ok:#0f9d6b;--red:#e5484d}
*{box-sizing:border-box}body{margin:0;font-family:Pretendard,-apple-system,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:var(--brand)}.wrap{max-width:960px;margin:0 auto;padding:0 16px}
header.site{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{font-weight:800;text-decoration:none;color:var(--ink);font-size:18px}.logo span{background:linear-gradient(90deg,var(--brand),var(--brand2));-webkit-background-clip:text;color:transparent}
nav a{margin-left:14px;color:var(--sub);text-decoration:none;font-size:14px}nav a:hover{color:var(--ink)}
footer.site{margin-top:48px;padding:28px 0;border-top:1px solid var(--line);color:var(--sub);font-size:13px;background:#fff}footer.site a{color:var(--sub);margin-right:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
h1{font-size:26px;margin:24px 0 6px;letter-spacing:-.5px}.lead{color:var(--sub);margin:0 0 18px}
.ad-slot{margin:20px 0;min-height:90px;border:1px dashed #c9cede;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#9aa3b5;font-size:12px;background:#fbfbfd}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.tool{display:block;text-decoration:none;color:inherit;transition:.15s}.tool:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(59,91,253,.12)}
.tool .ico{font-size:30px}.tool h3{margin:6px 0 4px}.tool p{margin:0;color:var(--sub);font-size:14px}
.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:99px;background:#eef1ff;color:var(--brand);font-weight:700}
.prose{max-width:720px}.prose h2{margin-top:28px;font-size:19px}
/* 꿈들의 서재 따뜻한 테마 */
:root{--bg:#fff8ef;--brand:#e07a2f;--brand2:#9b5de5;--line:#f1e3d0}
header.site{background:#fffdf8}.logo span{color:#b8571b}
.hero{background:linear-gradient(135deg,#ffe9c7,#ffd6e0 60%,#e4d7ff);border-radius:24px;padding:28px 20px;margin:20px 0;text-align:center}
.hero h1{margin:.2em 0;font-size:1.7rem}.hero p{margin:.3em 0;color:#5b4636}
.dcards{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:24px}
.dcard{display:block;background:#fff;border:2px solid var(--line);border-radius:20px;padding:20px;text-decoration:none;color:inherit;box-shadow:0 4px 0 #f1e3d0}
.dcard:active{transform:translateY(2px)}.dcard .e{font-size:2.6rem}.dcard h3{margin:.3em 0}.dcard p{margin:0;color:var(--sub)}.dcard .go{display:inline-block;margin-top:10px;background:var(--brand);color:#fff;border-radius:99px;padding:6px 14px;font-weight:700}
.shelf{background:#fff;border-radius:20px;padding:16px;border:2px dashed var(--line)}
