:root { color-scheme: light; --ink:#332044; --purple:#63428a; --yellow:#fffcae; --muted:#716879; --line:#e8e2ec; font-family:"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:#f6f4f8; color:var(--ink); font-size:1rem; line-height:1.6; word-break:keep-all; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--purple); outline-offset:5px; }
.page { max-width:600px; min-height:100svh; margin:auto; background:#fff; padding:48px 28px 24px; }
.profile { text-align:center; }
.avatar { width:108px; height:108px; border-radius:50%; display:block; margin:0 auto 16px; }
.handle { margin:0 0 3px; color:var(--muted); font-size:.875rem; letter-spacing:.015em; }
h1 { margin:0; font-size:2rem; font-weight:800; letter-spacing:-.04em; line-height:1.4; }
.intro { margin:12px 0 23px; color:#65576c; font-size:1rem; line-height:1.65; }
.instagram { display:inline-flex; justify-content:center; align-items:center; gap:28px; min-height:48px; padding:10px 23px; border:1px solid #d7cbe4; border-radius:28px; font-size:.9375rem; color:var(--purple); font-weight:600; }
.instagram:hover { background:#f5f0fb; }
main { margin-top:48px; }
.section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid var(--line); padding-bottom:13px; }
h2 { margin:0; font-size:1.1875rem; font-weight:750; letter-spacing:-.035em; }
#item-count { font-size:.875rem; color:var(--muted); }
.disclosure { margin:14px 0 23px; font-size:.875rem; line-height:1.65; color:#645b6b; }
.empty { padding:38px 20px 40px; background:#fffef0; border:1px solid #eeedc9; border-radius:18px; text-align:center; }
.label { display:inline-block; border-radius:6px; background:var(--yellow); color:#605018; padding:4px 8px; font-size:.75rem; letter-spacing:.075em; font-weight:700; }
h3 { margin:17px 0 10px; font-size:1.125rem; letter-spacing:-.035em; }
.empty p { margin:0; color:var(--muted); font-size:1rem; }
.catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 15px; }
.product { min-width:0; display:block; }
.product img { aspect-ratio:1; width:100%; object-fit:cover; background:#f4f1f6; border:1px solid var(--line); border-radius:12px; display:block; }
.product .number { display:block; color:var(--purple); font-weight:700; font-size:.8125rem; margin-top:12px; }
.product h3 { margin:2px 0 8px; font-size:1rem; line-height:1.5; }
.product .buy { font-size:.875rem; color:var(--purple); display:inline-block; padding:5px 0; }
footer { margin-top:48px; border-top:1px solid var(--line); padding-top:19px; color:var(--muted); font-size:.8125rem; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; }
footer span:first-child { color:var(--purple); font-weight:700; }
.notice { font-size:.9375rem; }
[hidden] { display:none!important; }
@media(max-width:380px) { .page { padding:32px 20px 22px; } .catalog { grid-template-columns:1fr; } }
@media(min-width:700px) { .page { margin:32px auto; min-height:calc(100svh - 64px); border:1px solid var(--line); border-radius:24px; padding:42px 38px 26px; } }
@media(prefers-reduced-motion:no-preference) { .instagram { transition:background-color .15s ease; } }
