/* ============================================================
   STUDY 노트 — Notion 스타일 테마 (사이드바 + 페이지)
   변수는 --c-* (기사 본문 study 스타일과 충돌 방지)
   ============================================================ */
/* 로고용 세리프 — folio 블로그와 동일한 MaruBuri(마루부리) 자체 호스팅 */
@font-face{font-family:"MaruBuri";src:url("fonts/MaruBuri-Regular.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"MaruBuri";src:url("fonts/MaruBuri-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap;}
@font-face{font-family:"MaruBuri";src:url("fonts/MaruBuri-Bold.woff2") format("woff2");font-weight:700;font-display:swap;}

:root{
  --c-bg:#ffffff;
  --c-sb:#f7f7f5;
  --c-text:#37352f;
  --c-dim:#787774;
  --c-faint:#9b9a97;
  --c-line:#e9e9e7;
  --c-hover:rgba(55,53,47,.06);
  --c-hover2:rgba(55,53,47,.10);
  --c-blue:#2383e2;
  --c-sans:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--c-bg);color:var(--c-text);font-family:var(--c-sans);
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}

.app{display:flex;min-height:100vh;}

/* ───── 사이드바 ───── */
.sidebar{width:248px;flex:0 0 248px;background:var(--c-sb);border-right:1px solid var(--c-line);
  height:100vh;position:sticky;top:0;overflow-y:auto;padding:6px 0 50px;}
.sb-head{padding:10px 14px 2px;}
.ws{display:flex;align-items:baseline;gap:7px;padding:4px 6px;border-radius:6px;}
.ws .ic{font-size:15px;line-height:1;align-self:center;}
.ws .txt{font-family:"MaruBuri",serif;font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1;}
.sb-search{padding:6px 12px 6px;}
.sb-search input{width:100%;border:1px solid transparent;background:rgba(55,53,47,.05);
  border-radius:7px;padding:6px 10px;font-size:13.5px;color:var(--c-text);font-family:inherit;outline:none;}
.sb-search input:focus{background:#fff;border-color:var(--c-line);}
.sb-search input::placeholder{color:var(--c-faint);}
.sb-sec{font-size:11px;font-weight:600;color:var(--c-faint);letter-spacing:.04em;
  padding:14px 16px 4px;text-transform:uppercase;}
.sb-item{display:flex;align-items:center;gap:7px;padding:5px 12px;margin:1px 8px;border-radius:6px;
  font-size:14px;color:var(--c-text);text-decoration:none;cursor:pointer;line-height:1.3;}
.sb-item:hover{background:var(--c-hover);}
.sb-item.active{background:var(--c-hover2);font-weight:500;}
.sb-item .ic{font-size:15px;width:18px;text-align:center;flex:0 0 auto;}
.sb-item .tw{font-size:9px;color:var(--c-faint);width:11px;flex:0 0 auto;transition:transform .12s;user-select:none;}
.sb-item .tw.open{transform:rotate(90deg);}
.sb-item .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-item .sb-count{margin-left:auto;font-size:11px;color:var(--c-faint);font-weight:400;}
.sb-child{padding-left:32px;font-size:13.5px;color:var(--c-dim);}
.sb-child.active{color:var(--c-text);}
.sb-children.collapsed{display:none;}

/* ───── 메인 ───── */
.main{flex:1;min-width:0;display:flex;flex-direction:column;}
.topbar{height:45px;display:flex;align-items:center;gap:8px;padding:0 14px;
  position:sticky;top:0;background:var(--c-bg);z-index:5;}
.menu-btn{display:none;border:none;background:none;font-size:18px;color:var(--c-dim);
  cursor:pointer;padding:6px;border-radius:6px;line-height:1;}
.menu-btn:hover{background:var(--c-hover);}
.crumbs{font-size:14px;color:var(--c-dim);display:flex;gap:5px;align-items:center;flex-wrap:wrap;}
.crumbs a{color:var(--c-dim);text-decoration:none;padding:2px 6px;border-radius:5px;}
.crumbs a:hover{background:var(--c-hover);}
.crumbs .sep{color:var(--c-faint);}
.crumbs .cur{color:var(--c-text);font-weight:500;padding:2px 4px;}

/* ───── 페이지 ───── */
.page{max-width:980px;width:100%;margin:0 auto;padding:6px clamp(20px,5vw,80px) 120px;}
.page-icon{font-size:60px;line-height:1;margin:28px 0 4px;}
.page-title{font-size:clamp(2rem,4.5vw,2.6rem);font-weight:800;letter-spacing:-.02em;
  line-height:1.2;margin:4px 0 16px;color:var(--c-text);word-break:keep-all;}
.page-meta{display:flex;flex-direction:column;gap:7px;margin-bottom:8px;}
.meta-row{display:flex;align-items:center;gap:12px;font-size:14px;min-height:24px;}
.meta-k{width:96px;flex:0 0 auto;color:var(--c-dim);font-size:13.5px;display:flex;align-items:center;gap:6px;}
.meta-v{color:var(--c-text);word-break:keep-all;}
.page-div{border:0;border-top:1px solid var(--c-line);margin:20px 0 28px;}

/* 기사 본문 래퍼: study 콘텐츠 폭을 페이지에 맞춤 */
.page .art-body{max-width:none;margin:0;padding:0;}

/* ───── 속성 태그 (Notion select) ───── */
.prop{display:inline-block;font-size:12.5px;padding:2px 8px;border-radius:4px;
  background:#e3e2e0;color:#37352f;font-weight:500;line-height:1.65;white-space:nowrap;}
.prop.blue{background:#d3e5ef;color:#183347;}
.prop.orange{background:#faebdd;color:#49290f;}
.prop.green{background:#dbeddb;color:#1c3829;}
.prop.purple{background:#e8deee;color:#412454;}
.prop.red{background:#ffe2dd;color:#5d1715;}
.prop.yellow{background:#fdecc8;color:#402c1b;}
.prop.gray{background:#e3e2e0;color:#37352f;}

/* ───── 홈 (데이터베이스) ───── */
.home-head{display:flex;align-items:center;gap:14px;margin:26px 0 4px;}
.home-emoji{font-size:46px;line-height:1;}
.home-title{font-size:clamp(2rem,4.5vw,2.5rem);font-weight:800;letter-spacing:-.02em;margin:0;}
.home-sub{color:var(--c-dim);font-size:14.5px;margin:2px 0 22px;}
.db-bar{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--c-line);margin-bottom:14px;}
.db-tab{font-size:14px;font-weight:500;color:var(--c-text);padding:8px 3px;
  border-bottom:2px solid var(--c-text);margin-bottom:-1px;display:flex;align-items:center;gap:6px;}
.db-bar .spacer{flex:1;}
.db-bar .count{font-size:12.5px;color:var(--c-faint);}
.filters{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:18px;}
.chip{font-size:13px;padding:4px 11px;border-radius:7px;color:var(--c-dim);cursor:pointer;line-height:1.5;}
.chip:hover{background:var(--c-hover);}
.chip.active{background:var(--c-hover2);color:var(--c-text);font-weight:500;}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;}
.g-card{border:1px solid var(--c-line);border-radius:10px;overflow:hidden;background:var(--c-bg);
  text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .14s,transform .14s;}
.g-card:hover{box-shadow:0 8px 20px rgba(15,15,15,.09);transform:translateY(-1px);}
.g-cover{height:78px;display:flex;align-items:center;justify-content:center;font-size:32px;}
.g-body{padding:11px 13px 14px;}
.g-title{font-weight:600;font-size:15px;line-height:1.3;margin-bottom:9px;color:var(--c-text);word-break:keep-all;}
.g-props{display:flex;flex-wrap:wrap;gap:5px;}
.g-card[hidden]{display:none;}
.g-card.soon{opacity:.62;cursor:default;}
.g-card.soon:hover{box-shadow:none;transform:none;}
.g-card.soon .g-cover{filter:grayscale(.85);}
.home-soon-label{font-size:11px;font-weight:600;color:var(--c-faint);letter-spacing:.04em;
  text-transform:uppercase;margin:32px 0 12px;}

/* ───── 모바일 ───── */
.sb-overlay{display:none;}
@media(max-width:820px){
  .sidebar{position:fixed;left:0;top:0;z-index:30;transform:translateX(-100%);transition:transform .2s ease;
    box-shadow:2px 0 16px rgba(0,0,0,.14);}
  .sidebar.open{transform:none;}
  .menu-btn{display:inline-flex;}
  .sb-overlay.show{display:block;position:fixed;inset:0;background:rgba(15,15,15,.32);z-index:20;}
}
