:root{--bg:#FBF6EC;--surface:#F3EADB;--paper:#FFFDF8;--ink:#3B3530;--muted:#776E66;--accent:#E8B94A;--accent-2:#D9826B;
--f-pen:'Nanum Pen Script',cursive;--f-en:'Caveat',cursive;--f-title:'Gowun Dodum','Pretendard',sans-serif;--f-body:'Pretendard',-apple-system,sans-serif;
--r:18px;--shadow:inset 0 -4px 0 rgba(0,0,0,.06),0 8px 20px rgba(59,53,48,.10)}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);line-height:1.75;word-break:keep-all;
 background-image:radial-gradient(rgba(59,53,48,.05) 1px,transparent 1px);background-size:26px 26px}
a{color:inherit}
.bnav{position:sticky;top:0;z-index:50;height:64px;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);border-bottom:1.5px solid rgba(59,53,48,.15)}
.bnav-in{max-width:1120px;margin:0 auto;height:100%;padding:0 20px;display:flex;align-items:center;gap:24px}
.logo{font-family:'Gaegu',var(--f-pen);font-size:1.7rem;text-decoration:none;font-weight:700}.logo span{color:var(--accent);margin-right:4px}
.links{display:flex;gap:20px;margin-left:auto}
.links a{font-family:var(--f-pen);font-size:1.4rem;text-decoration:none;opacity:.75}.links a.on{opacity:1;text-decoration:underline wavy var(--accent);text-underline-offset:6px}
html[lang=en] .links a{font-family:var(--f-en);font-weight:700}
.lang{font-family:var(--f-en);font-weight:700;font-size:1.15rem;background:var(--paper);border:1.5px solid var(--ink);border-radius:10px;padding:2px 12px;cursor:pointer}
.lang .on{color:var(--accent-2);text-decoration:underline wavy var(--accent)}
.wrap{max-width:1120px;margin:0 auto;padding:56px 20px 96px}.wrap.narrow{max-width:760px}
.bhead{margin-bottom:28px}.eyebrow{font-family:var(--f-en);font-size:1.5rem;font-weight:700;color:var(--accent-2)}
.bhead h1{font-family:var(--f-title);font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.1}
.lead{color:var(--muted);margin-top:8px}
.tabs,.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tab,.chip{font-family:var(--f-body);border:1.5px solid rgba(59,53,48,.3);background:var(--paper);border-radius:999px;padding:6px 16px;cursor:pointer;font-size:.95rem}
.chip{font-size:.85rem;padding:4px 12px}
.tab.on,.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin-top:20px}
.card{display:block;text-decoration:none;background:var(--paper);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.card:hover{transform:translateY(-5px) rotate(-.4deg)}
.card.hide{display:none}
.thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--surface)}.thumb img{width:100%;height:100%;object-fit:cover}
.badge{display:inline-block;font-family:var(--f-en);font-weight:700;font-size:1rem;padding:0 10px;border-radius:999px;background:var(--accent);color:var(--ink)}
.badge.s1{background:#D6E2CF}.thumb .badge{position:absolute;left:10px;top:10px}
.cbody{padding:14px 16px 18px}.cbody time{font-size:.8rem;color:var(--muted)}
.cbody h3{font-family:var(--f-title);font-size:1.02rem;line-height:1.45;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ser{display:inline-block;margin-top:8px;font-size:.75rem;background:var(--surface);border-radius:6px;padding:1px 8px}
.more{text-align:center;margin-top:36px}.more button{font-family:var(--f-pen);font-size:1.5rem;background:var(--ink);color:var(--bg);border:0;border-radius:999px;padding:6px 32px;cursor:pointer;box-shadow:var(--shadow)}
html[lang=en] .more button{font-family:var(--f-en);font-weight:700}
.back{font-family:var(--f-pen);font-size:1.35rem;text-decoration:none;color:var(--muted)}html[lang=en] .back{font-family:var(--f-en);font-weight:700}
.meta{display:flex;gap:12px;align-items:center;margin-top:24px;color:var(--muted);font-size:.9rem}
.ptitle{font-family:var(--f-title);font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.35;margin:10px 0 22px}
.video{position:relative;width:min(100%,380px);margin:0 auto 28px;aspect-ratio:9/16;border-radius:var(--r);overflow:hidden;background:#000;box-shadow:var(--shadow)}
.video img{width:100%;height:100%;object-fit:cover;opacity:.9}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:0;background:var(--accent);font-size:1.6rem;cursor:pointer;box-shadow:var(--shadow)}
.body p{margin:0 0 10px}
.making{margin-top:28px;background:var(--paper);border-radius:var(--r);padding:16px 20px;box-shadow:var(--shadow)}
.making summary{font-family:var(--f-pen);font-size:1.45rem;cursor:pointer}html[lang=en] .making summary{font-family:var(--f-en);font-weight:700}
.making p{margin:10px 0 0;font-size:.95rem;color:#4f4842}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.tags span{font-size:.78rem;color:var(--muted);background:var(--surface);border-radius:6px;padding:1px 8px}
.pnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:44px;border-top:1.5px dashed rgba(59,53,48,.25);padding-top:24px}
.pn{display:block;text-decoration:none;background:var(--paper);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow)}.pn.next{text-align:right}.pn.empty{background:none;box-shadow:none}
.pn small{display:block;font-family:var(--f-pen);font-size:1.2rem;color:var(--accent-2)}html[lang=en] .pn small{font-family:var(--f-en);font-weight:700}
.pn b{font-family:var(--f-title);font-weight:400;font-size:.95rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.series{margin-top:36px}.series h2{font-family:var(--f-title);font-size:1.2rem}.series small{font-family:var(--f-pen);font-size:1.1rem;color:var(--muted)}
.series ul{list-style:none;margin-top:8px}.series li a{display:block;text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(59,53,48,.12);font-size:.95rem}.series time{color:var(--muted);font-size:.8rem;margin-right:6px}
.bfoot{text-align:center;color:var(--muted);font-size:.8rem;padding:32px}
@media (max-width:600px){.links a:first-child{display:none}.pnav{grid-template-columns:1fr}.pn.next{text-align:left}}
.body h3,.making h3{font-family:var(--f-title);font-size:1.05rem;margin:22px 0 6px}
.making h3{font-size:.98rem;color:var(--accent-2)}
.ytlink{text-align:center;margin:-16px 0 26px}.ytlink a{font-size:.85rem;color:var(--muted)}
.grid.wide{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card.wide .thumb{aspect-ratio:16/9}
.badge.s2{background:var(--accent)}.badge.afterwork{background:#E9C7B8}.badge.wandering{background:#C9D3E8}
.video.wide{width:100%;aspect-ratio:16/9}
.body p.track{margin:0;font-size:.92rem;font-variant-numeric:tabular-nums}
.logtop{padding:16px 16px 0}.card .logtop + .cbody{padding-top:10px}
.badge.Making{background:#F1C9BC}.badge.Notes{background:#D6E2CF}.badge.Daily{background:#F3DFA6}.badge.korean{background:#D6E2CF}
.empty{background:var(--paper);border-radius:var(--r);padding:48px 24px;text-align:center;box-shadow:var(--shadow);font-family:var(--f-pen);font-size:1.6rem}
html[lang=en] .empty{font-family:var(--f-en);font-weight:700}
.body h3{color:var(--ink)}
.pnb{opacity:.75;font-style:normal}
/* 미리듣기 · Coming Sunday */
.teaser{margin:8px 0 28px;text-align:center}.teaser h2{font-family:var(--f-pen);font-weight:400;font-size:1.3rem;color:var(--muted);margin-bottom:8px}
.video.small{width:min(100%,220px);margin:0 auto}
.thumb{position:relative}.coming{position:absolute;right:10px;bottom:10px;background:var(--ink);color:var(--paper);font-size:.75rem;padding:3px 10px;border-radius:999px}
.thumb.is-coming img{filter:saturate(.6) brightness(.85)}
.coming-note{text-align:center;font-family:var(--f-pen);font-size:1.25rem;color:var(--accent-2);margin-bottom:12px}


/* 상세 + 사이드 목록 (도형 없이 글자로만) */
.wrap.withside{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:start}
.withside>main{min-width:0;max-width:760px}
.side{position:sticky;top:96px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;align-items:center;gap:10px;padding-left:22px;border-left:1.5px dashed rgba(59,53,48,.22)}
.side-top{position:relative;width:100%;display:flex;justify-content:center}
.side-n{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:.7rem;letter-spacing:.04em;color:var(--muted)}
.slist{list-style:none;margin:0;padding:0;width:100%;overflow:auto;flex:1;scrollbar-width:none}
.slist a{display:block;text-decoration:none;color:var(--muted);padding:7px 0;font-size:.86rem;line-height:1.45;transition:color .2s}
.slist a span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.slist time{display:block;font-size:.68rem;opacity:.75;letter-spacing:.03em}
.slist a:hover{color:var(--ink)}
.slist li.cur a{color:var(--accent-2);font-weight:700}
.slist li.cur time{opacity:1}
.sbtn{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(255,253,248,.9);
 border:1.5px solid var(--ink);border-radius:47% 53% 50% 50% / 52% 48% 52% 48%;cursor:pointer;padding:0;transition:transform .25s,opacity .25s}
.sbtn svg{width:18px;height:18px;fill:none}
.sbtn path{stroke:var(--ink);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60}
.sbtn:hover:not(:disabled) path{animation:sbtnDraw .45s ease forwards}
.sbtn.up:hover:not(:disabled){transform:translateY(-3px)}.sbtn.down:hover:not(:disabled){transform:translateY(3px)}
.sbtn:disabled{opacity:.2;cursor:default}
@keyframes sbtnDraw{0%{stroke-dashoffset:60}100%{stroke-dashoffset:0}}
@media (max-width:960px){.wrap.withside{grid-template-columns:1fr;gap:32px}.side{position:static;max-height:none;padding:24px 0 0;border-left:0;border-top:1.5px dashed rgba(59,53,48,.22)}}
