/* 실내식물 사전 — 표본 대장 디자인
   차가운 세이지 종이 위에 괘선으로 나눈 표본 기록. 학명은 라틴 이탤릭, 수치는 고정폭. */
:root{
  --paper:#ECEFE8;        /* 표본지 바탕 */
  --panel:#F6F7F3;        /* 상세·표 면 */
  --hover:#E3E8DF;
  --ink:#15211A;
  --ink2:#3F4D44;
  --mute:#58665D;
  --rule:#BFC9BC;
  --rule2:#D6DDD2;
  --leaf:#24633A;         /* 엽록 */
  --leaf-t:#D7E5D4;
  --sun:#9A650F;          /* 빛 게이지 */
  --water:#245A8C;        /* 물 게이지 */
  --hum:#3A7179;          /* 습도 게이지 */
  --tox:#9E2F27;
  --mild:#7D6210;
  --off:#CDD5CA;
  --sans:'SUIT',-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;
  --latin:'Newsreader',Georgia,serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  /* 쪽 공통 틀: 모든 쪽 종류가 같은 단 폭·간격·글자 단계를 쓴다 */
  --col-l:256px;          /* 왼쪽 단(필터·목차·문서 안내·해설 제목) */
  --col-r:360px;          /* 오른쪽 단(상세 패널·안내 목록·요약) */
  --gut:28px;             /* 단 사이 안쪽 여백 */
  --sp-top:24px;          /* 괘선 아래 단 첫 여백 */
  --sp-end:56px;          /* 마지막 단·구역과 하단 사이 */
  --h1:40px;
  --colh:17px;            /* 단 머리 제목 */
  --tile-min:232px;       /* 표본 칸 최소 폭 */
  --stick:92px;           /* 상단 고정 머리 아래 따라오는 위치 */
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);word-break:keep-all;overflow-wrap:anywhere;overflow-x:hidden;overflow-x:clip}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
img,iframe{max-width:100%}
:focus-visible{outline:2px solid var(--leaf);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1440px;margin:0 auto;padding:0 40px}
.sci{font-family:var(--latin);font-style:italic;font-weight:400;letter-spacing:.005em}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:4px;text-decoration:none;font-weight:700}
.skip:focus{top:12px}

/* ---------- 상단 ---------- */
.top{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:50}
.top .wrap{display:flex;align-items:center;gap:28px;height:68px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;flex:none}
.brand b{font-size:20px;font-weight:800;letter-spacing:-.02em}
.brand .sci{font-size:18px;color:var(--leaf)}
.search{flex:1;max-width:560px;position:relative}
.search input{width:100%;height:42px;border:1px solid var(--rule);background:var(--panel);border-radius:4px;padding:0 14px 0 40px;font-size:16px;-webkit-appearance:none;appearance:none}
.search input::placeholder{color:var(--mute)}
.search input:focus{outline:2px solid var(--leaf);outline-offset:-1px;border-color:var(--leaf)}
.search svg{position:absolute;left:13px;top:12px;width:18px;height:18px;stroke:var(--mute);pointer-events:none}
.search .dd{position:absolute;left:0;right:0;top:46px;background:var(--panel);border:1px solid var(--ink);border-radius:4px;box-shadow:0 14px 32px rgba(21,33,26,.12);overflow:hidden;display:none;z-index:60}
.search .dd.on{display:block}
.search .dd a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 14px;font-size:16px;border-bottom:1px solid var(--rule2);text-decoration:none}
.search .dd a:last-child{border-bottom:0}
.search .dd a:hover,.search .dd a.sel{background:var(--leaf-t)}
.search .dd b{font-weight:700}
.search .dd .sci{color:var(--ink2);font-size:16px;margin-left:8px}
.search .dd .cat{font-size:13px;color:var(--mute);flex:none}
.search .dd .none{padding:14px;font-size:15px;color:var(--mute)}
.top .meta{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:15px;color:var(--ink2);flex:none}
.btn-line{display:inline-flex;align-items:center;border:1px solid var(--ink);background:none;border-radius:4px;height:40px;padding:0 14px;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn-line:hover{background:var(--ink);color:var(--paper)}

/* ---------- 머리글 ---------- */
.intro .wrap{display:grid;grid-template-columns:1fr 520px;gap:48px;align-items:end;padding-top:28px;padding-bottom:28px}
.intro h1{margin:0;font-size:var(--h1);line-height:1.2;font-weight:800;letter-spacing:-.035em}
.intro p{margin:12px 0 0;max-width:40em;color:var(--ink2);font-size:17px}
.ledger{display:grid;grid-template-columns:auto 1fr;border-top:2px solid var(--ink);margin:0}
.ledger dt{font-size:14px;color:var(--mute);padding:13px 24px 13px 0;border-bottom:1px solid var(--rule)}
.ledger dd{margin:0;padding:11px 0;border-bottom:1px solid var(--rule);display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap;min-height:50px}
.ledger dd b{font-weight:700}
.ledger dd .sci{font-size:18px;color:var(--ink2)}
.ledger dd a{margin-left:auto;font-size:14px;color:var(--leaf);font-weight:600;text-decoration:none}
.ledger dd a:hover{text-decoration:underline;text-underline-offset:3px}

/* ---------- 홈 3단 ---------- */
.main{display:grid;grid-template-columns:var(--col-l) minmax(0,1fr) var(--col-r);border-top:1px solid var(--ink);margin-top:4px}
.filters{padding:var(--sp-top) var(--gut) var(--sp-end) 0;border-right:1px solid var(--rule)}
.results{padding:var(--sp-top) var(--gut) var(--sp-end);min-width:0}
.side{padding:var(--sp-top) 0 var(--sp-end) var(--gut);border-left:1px solid var(--rule)}

/* 필터 */
.fhead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.fhead h2{margin:0;font-size:var(--colh);font-weight:800}
.reset{background:none;border:0;padding:4px 0;color:var(--leaf);font-weight:600;font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fg{border:0;border-top:1px solid var(--rule2);padding:14px 0 10px;margin:0;min-width:0}
.fg legend{float:left;width:100%;padding:0;margin-bottom:6px;font-size:14px;font-weight:700;color:var(--mute)}
.opt{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:5px 0;cursor:pointer;font-size:16px;clear:both}
.opt input{appearance:none;-webkit-appearance:none;margin:0;width:18px;height:18px;border:1.5px solid var(--ink2);border-radius:3px;background:var(--panel);display:grid;place-items:center;cursor:pointer}
.opt input:checked{background:var(--leaf);border-color:var(--leaf)}
.opt input:checked::after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.opt .lb{display:flex;align-items:center;gap:8px;min-width:0}
.opt small{display:block;font-size:13px;color:var(--mute);line-height:1.3}
.opt .ct{font-family:var(--mono);font-size:14px;color:var(--mute)}
.opt.zero{color:#76827A}
.opt.zero .ct{color:#7F8A82}
.temp{clear:both;padding-top:4px}
.temp label{display:flex;justify-content:space-between;gap:8px}
.temp output{font-family:var(--mono);font-size:15px;font-weight:500}
.temp input[type=range]{width:100%;accent-color:var(--leaf);margin:8px 0 2px}
.temp .ticks{display:flex;justify-content:space-between;font:400 12px var(--mono);color:var(--mute)}
.temp p{margin:6px 0 0;font-size:14px;color:var(--mute);line-height:1.5}
.fsum{display:none}

/* 게이지 */
.gauge{display:inline-flex;gap:2px;flex:none;vertical-align:middle}
.gauge i{width:7px;height:12px;background:var(--off);border-radius:1px}
.gauge.l i.on{background:var(--sun)}
.gauge.w i.on{background:var(--water)}
.gauge.h i.on{background:var(--hum)}
.thermo{position:relative;display:inline-block;width:64px;height:12px;vertical-align:middle;flex:none}
.thermo::before{content:"";position:absolute;left:0;right:0;top:5px;height:2px;background:var(--off)}
.thermo i{position:absolute;top:1px;width:2px;height:10px;background:var(--ink)}
.thermo b{position:absolute;top:5px;left:0;height:2px;background:var(--water)}

/* 결과 머리 */
.rhead{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.rhead h2{margin:0;font-size:var(--colh);font-weight:800;display:flex;align-items:baseline;gap:10px}
.rhead h2 .num{font-size:36px;line-height:1;font-weight:500;letter-spacing:-.03em}
.rhead h2 .num small{font-family:var(--sans);font-size:17px;font-weight:700;margin-left:2px}
.ctrl{margin-left:auto;display:flex;gap:10px;align-items:center}
.ctrl select{height:36px;border:1px solid var(--rule);background:var(--panel);border-radius:4px;padding:0 10px;font-size:15px}
.seg{display:inline-flex;border:1px solid var(--ink);border-radius:4px;overflow:hidden}
.seg button{border:0;background:none;height:34px;padding:0 14px;font-size:15px;font-weight:600;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 0;min-height:12px}
.chips button{border:1px solid var(--leaf);background:var(--leaf-t);color:var(--leaf);border-radius:3px;padding:3px 8px 3px 10px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chips button::after{content:"×";font-size:16px;line-height:1}
.no-js .ctrl,.no-js .filters{display:none}

/* 표본 그리드 */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.grid.g4{grid-template-columns:repeat(auto-fill,minmax(var(--tile-min),1fr))}
.sp{box-sizing:border-box;display:flex;flex-direction:column;gap:2px;padding:16px 16px 14px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);cursor:pointer;min-height:208px;position:relative;background:transparent;transition:background .15s;text-decoration:none;color:var(--ink);min-width:0}
.sp:hover{background:var(--hover)}
.sp:focus-visible{outline:2px solid var(--leaf);outline-offset:-2px}
.sp[aria-current=true]{background:var(--panel);box-shadow:inset 0 3px 0 var(--leaf)}
.sp .cat{font-size:13px;color:var(--mute)}
.sp .ko{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.35;margin-top:2px}
.sp .sci{font-size:20px;line-height:1.2;color:var(--ink2)}
.sp .fam{font-size:13px;color:var(--mute);margin-top:2px}
.sp dl{margin:auto 0 0;padding-top:12px;display:grid;grid-template-columns:auto auto 1fr;column-gap:8px;row-gap:3px;font-size:14px;align-items:center}
.sp dt{color:var(--mute)}
.sp dd{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp .foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--rule);font-size:14px}
.diff{font-weight:700}
.diff.easy{color:var(--leaf)} .diff.medium{color:var(--ink2)} .diff.hard{color:var(--tox)}
.tx{font-weight:600}
.tx.safe{color:var(--leaf)} .tx.mild{color:var(--mild)} .tx.toxic{color:var(--tox)}
.tx::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:1px}
.tx.mild::before{border-radius:1px}
.tx.toxic::before{border-radius:0;transform:rotate(45deg) scale(.9)}

/* 스펙 표 */
.tbl-wrap{margin-top:16px;overflow-x:auto}
table.spec{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
table.spec th{font-size:13px;font-weight:700;color:var(--mute);text-align:left;padding:8px;border-bottom:1px solid var(--ink);white-space:nowrap}
table.spec td{padding:9px 8px;border-bottom:1px solid var(--rule2);vertical-align:middle;white-space:nowrap}
table.spec tr{cursor:pointer}
table.spec tbody tr:hover{background:var(--hover)}
table.spec tr[aria-selected=true]{background:var(--panel)}
table.spec td a{text-decoration:none}
table.spec td .ko{font-weight:700}
table.spec td .sci{font-size:17px;color:var(--ink2);display:block;line-height:1.2}
table.spec td.t{font-family:var(--mono);text-align:right}
.more{display:flex;justify-content:center;margin-top:20px}
.more button,.more a{border:1px solid var(--ink);background:none;border-radius:4px;height:44px;padding:0 22px;font-weight:700;font-size:15px;cursor:pointer;display:inline-flex;align-items:center;text-decoration:none}
.more button:hover,.more a:hover{background:var(--ink);color:var(--paper)}
.empty{padding:40px 0;color:var(--ink2)}

/* 홈 상세 패널 */
.detail{background:var(--panel);border:1px solid var(--rule);padding:24px 24px 22px}
.detail .kick{display:flex;justify-content:space-between;font-size:14px;color:var(--mute)}
.detail h2{margin:10px 0 0;font-size:28px;line-height:1.25;font-weight:800;letter-spacing:-.03em}
.detail .big{font-size:30px;line-height:1.15;margin:4px 0 0;color:var(--ink)}
.detail .fam{margin:6px 0 0;font-size:14px;color:var(--mute)}
.detail .sum{margin:16px 0 0;font-size:16px;color:var(--ink2);max-width:40em}
.dspec{margin:18px 0 0;border-top:2px solid var(--ink)}
.dspec>div{display:grid;grid-template-columns:72px 76px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule2)}
.dspec dt{font-size:14px;color:var(--mute)}
.dspec dd{margin:0}
.dspec dd b{font-weight:700}
.dspec dd a{text-decoration:none}
.dspec dd a:hover b{text-decoration:underline;text-underline-offset:3px}
.dspec dd small{display:block;font-size:14px;color:var(--mute);line-height:1.4}
.dspec .gauge i{width:10px;height:14px}
.dspec .thermo{width:72px}
.dnote{margin:16px 0 0;font-size:15px;line-height:1.6}
.dnote b{display:block;font-size:14px;color:var(--mute);font-weight:700;margin-bottom:2px}
.dkv{display:grid;grid-template-columns:72px 1fr;gap:6px 10px;margin:16px 0 0;font-size:15px}
.dkv dt{color:var(--mute);font-size:14px;padding-top:1px}
.dkv dd{margin:0}
.trb{margin:8px 0 0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.trb li{padding:10px 0;border-bottom:1px solid var(--rule2);font-size:15px;line-height:1.55}
.trb li b{display:block;font-weight:700}
.sub-h{margin:22px 0 0;font-size:15px;font-weight:800}
.go{display:flex;justify-content:space-between;align-items:center;margin-top:18px;background:var(--ink);color:var(--paper);text-decoration:none;border-radius:4px;padding:12px 16px;font-weight:700}
.go:hover{background:var(--leaf)}

/* 광고: 실제 광고 코드만(점선 박스 없음). 300x250 자리를 미리 잡아 흔들림을 막고,
   안 채워지면(.ad-off) 접는다. 버튼·링크와는 위아래 32px 이상 띄운다. */
.ad-box{margin:32px auto 0;width:300px;max-width:100%;min-height:270px;display:flex;flex-direction:column;align-items:center;overflow:hidden}
.ad-label{align-self:flex-start;font-size:12px;line-height:12px;color:var(--mute);margin-bottom:8px}
.ad-box ins{max-width:100%}
.ad-box iframe{max-width:100%!important}
.ad-box.ad-off:not(:has(iframe)){display:none}
.side .ad-box,.aside .ad-box,.paside .ad-box{position:sticky;top:var(--stick)}
.ad-m:empty{display:none}
.ad-m{padding-bottom:32px}
.grid>.ad-m{grid-column:1/-1;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.grid>.ad-m:has(.ad-off:not(:has(iframe))){display:none}

/* 하단 해설·색인 */
.essay{border-top:1px solid var(--ink)}
.essay .wrap{display:grid;grid-template-columns:var(--col-l) 1fr;padding-top:40px;padding-bottom:44px}
.essay h2{margin:0;font-size:22px;line-height:1.4;font-weight:800;letter-spacing:-.02em;padding-right:var(--gut)}
.essay .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-left:var(--gut)}
.essay p{margin:0;font-size:16px;color:var(--ink2);max-width:34em}
.essay a{color:var(--leaf);text-underline-offset:3px}
.idx{border-top:1px solid var(--rule)}
.idx .wrap{display:grid;grid-template-columns:var(--col-l) 1fr;padding-top:32px;padding-bottom:40px}
.idx h2{margin:0;font-size:var(--colh);font-weight:800;padding-right:var(--gut)}
.idx+.idx{border-top:0}
.idx+.idx .wrap{padding-top:0}
.idx:has(.links) .wrap{padding-bottom:28px}
.idx:has(.links) h2{padding-top:14px}
.idx:last-child .wrap{padding-bottom:var(--sp-end)}
.idx ul{list-style:none;margin:0;padding:0 0 0 var(--gut);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule)}
.idx li{border-bottom:1px solid var(--rule);padding:14px 16px 14px 0}
.idx li a{text-decoration:none;display:block}
.idx li .n{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:800;font-size:17px}
.idx li .n .num{font-weight:400;font-size:15px;color:var(--mute)}
.idx li .ex{font-size:14px;color:var(--mute);margin-top:4px;line-height:1.5}
.idx li a:hover .n span:first-child{text-decoration:underline;text-underline-offset:3px}
.links{padding:14px 0 14px var(--gut);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:6px 22px;font-size:16px;margin:0}
.links a{text-decoration:none;color:var(--ink)}
.links a:hover{color:var(--leaf);text-decoration:underline;text-underline-offset:3px}
.links .num{font-size:13px;color:var(--mute);margin-left:4px}

/* ---------- 쪽 머리(목록·상세) ---------- */
.crumb{font-size:14px;color:var(--mute);padding:18px 0 0;display:flex;gap:6px;flex-wrap:wrap}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--leaf);text-decoration:underline;text-underline-offset:3px}
.phead{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:48px;align-items:start;padding:20px 0 28px}
.phead h1{margin:0;font-size:var(--h1);line-height:1.2;font-weight:800;letter-spacing:-.035em}
.phead .kick{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--mute);margin-bottom:8px}
.phead .kick a{text-decoration:none}
.phead .kick a:hover{text-decoration:underline;text-underline-offset:3px}
.phead .big{font-size:34px;line-height:1.15;margin:6px 0 0}
.phead .fam{margin:8px 0 0;font-size:15px;color:var(--mute)}
.phead .lead{margin:14px 0 0;max-width:40em;color:var(--ink2);font-size:17px}
.phead .dspec{margin:0}

/* 목록 쪽: 결과 + 오른쪽 안내 */
.lmain{display:grid;grid-template-columns:minmax(0,1fr) var(--col-r);border-top:1px solid var(--ink)}
.lmain .results{padding:var(--sp-top) var(--gut) var(--sp-end) 0}
.lmain .grid{grid-template-columns:repeat(auto-fill,minmax(var(--tile-min),1fr))}
.aside{padding:var(--sp-top) 0 var(--sp-end) var(--gut);border-left:1px solid var(--rule)}
.aside h2,.paside h2,.toc h2,.dnav h2{margin:0 0 8px;font-size:var(--colh);font-weight:800;color:var(--ink)}
.nav{list-style:none;margin:0 0 28px;padding:0;border-top:1px solid var(--ink)}
.nav li a{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:10px 0;border-bottom:1px solid var(--rule2);text-decoration:none;font-size:16px}
.nav li a:hover span:first-child{text-decoration:underline;text-underline-offset:3px}
.nav li a[aria-current=page]{font-weight:800;color:var(--leaf);box-shadow:inset 3px 0 0 var(--leaf);padding-left:12px}
.nav .num{font-size:14px;color:var(--mute);font-weight:400}

/* 상세 쪽 본문 */
.pmain{display:grid;grid-template-columns:var(--col-l) minmax(0,1fr) var(--col-r);border-top:1px solid var(--ink)}
.toc{padding:var(--sp-top) var(--gut) var(--sp-end) 0;border-right:1px solid var(--rule)}
.toc nav{position:sticky;top:var(--stick)}
.toc ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule2)}
.toc a{display:block;padding:8px 0;border-bottom:1px solid var(--rule2);text-decoration:none;font-size:15px;color:var(--ink2)}
.toc a:hover{color:var(--leaf)}
.prose{padding:0 var(--gut) var(--sp-end);min-width:0}
.prose>section{padding-top:28px;scroll-margin-top:84px}
.prose>section:first-child{padding-top:var(--sp-top)}
.prose .ad-m{padding:0 0 32px}
.prose .ad-m .ad-box{margin-top:18px}
.prose h2{margin:0 0 14px;font-size:22px;line-height:1.35;font-weight:800;letter-spacing:-.02em;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.prose p{margin:0 0 14px;font-size:17px;line-height:1.75;max-width:40em;color:var(--ink)}
.prose a{color:var(--leaf);text-underline-offset:3px}
.kv{margin:0;display:grid;grid-template-columns:120px minmax(0,1fr)}
.kv dt{padding:12px 16px 12px 0;border-bottom:1px solid var(--rule2);font-size:14px;font-weight:700;color:var(--mute)}
.kv dd{margin:0;padding:11px 0;border-bottom:1px solid var(--rule2);font-size:16px;max-width:44em}
.kv dd a{color:var(--leaf);text-underline-offset:3px}
.kv dd small{display:block;color:var(--mute);font-size:14px}
.ts{border-bottom:1px solid var(--rule2)}
.ts summary{list-style:none;cursor:pointer;padding:14px 0;font-weight:700;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.ts summary::-webkit-details-marker{display:none}
.ts summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--ink2);border-bottom:2px solid var(--ink2);transform:rotate(45deg) translate(-3px,-3px)}
.ts[open] summary::after{transform:rotate(-135deg)}
.ts summary:hover{color:var(--leaf)}
.ts .body2{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 0;padding:0 0 16px}
.ts .body2 b{font-size:14px;color:var(--mute);font-weight:700;padding-top:2px}
.ts .body2 p{margin:0;font-size:16px;max-width:42em}
.revive{background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--leaf);padding:22px 24px 10px;margin-top:28px}
.prose>.revive{padding-top:22px}
.revive h2{border-bottom:0;padding-bottom:0}
.seasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink)}
.season{padding:12px 16px 14px 0;border-bottom:1px solid var(--rule2)}
.season+.season{padding-left:16px;border-left:1px solid var(--rule2)}
.season h3{margin:0 0 6px;font-size:15px;font-weight:800}
.season p{margin:0;font-size:15px;line-height:1.65;color:var(--ink2)}
.tags{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:12px 0 0;list-style:none;border-top:2px solid var(--ink)}
.tags a{font-size:15px;color:var(--leaf);text-decoration:none;font-weight:600}
.tags a:hover{text-decoration:underline;text-underline-offset:3px}
.paside{padding:var(--sp-top) 0 var(--sp-end) var(--gut);border-left:1px solid var(--rule)}
.paside .block{margin-bottom:28px}
.tox{border-top:2px solid var(--ink);padding:12px 0;font-size:15px;line-height:1.6;border-bottom:1px solid var(--rule2)}
.tox .tx{display:block;font-size:16px;margin-bottom:4px}
.tox small{display:block;margin-top:8px;font-size:14px;color:var(--mute)}
.tox a{color:var(--leaf);text-underline-offset:3px}
.share{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.share button{height:40px;border:1px solid var(--ink);background:none;border-radius:4px;font-size:15px;font-weight:600;cursor:pointer}
.share button:hover{background:var(--ink);color:var(--paper)}
.more-sec{border-top:1px solid var(--ink);padding:var(--sp-top) 0 32px}
.more-sec:last-child{padding-bottom:var(--sp-end)}
.more-sec+.more-sec{border-top:1px solid var(--rule);padding-top:24px}
.more-sec .rhead{border-bottom:0;padding-bottom:0}
.more-sec .rhead a{margin-left:auto;color:var(--leaf);font-weight:600;font-size:15px;text-decoration:none}
.more-sec .rhead a:hover{text-decoration:underline;text-underline-offset:3px}

/* 문서 쪽(소개·정책·문의·404): 머리는 .phead, 아래는 왼쪽 안내 목록 + 본문 */
.doc{display:grid;grid-template-columns:var(--col-l) minmax(0,1fr);border-top:1px solid var(--ink)}
.dnav{padding:var(--sp-top) var(--gut) var(--sp-end) 0}
.dnav .nav{margin:0}
.doc .prose{padding:0 0 var(--sp-end) var(--gut);border-left:1px solid var(--rule)}
.doc .prose>p:first-child{margin-top:var(--sp-top)}
.doc .prose h2{margin-top:32px;max-width:680px}

/* ---------- 하단 ---------- */
.ftr{background:var(--ink);color:#D8E0D6}
.ftr .wrap{padding-top:32px;padding-bottom:36px}
.family{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;padding-bottom:20px;border-bottom:1px solid #34443A}
.family span{font-size:14px;color:#9FB0A3;margin-right:6px}
.family a{text-decoration:none;font-size:16px;font-weight:600;color:#EEF2EC}
.family a:hover{text-decoration:underline;text-underline-offset:3px}
.family a[aria-current]{color:#9FCDA8}
.fnav{display:flex;flex-wrap:wrap;gap:6px 20px;padding:14px 0 0;font-size:15px}
.fnav+.fnav{padding-top:8px}
.fnav a{text-decoration:none;color:#C3CEC5}
.fnav a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ftr p{margin:18px 0 0;font-size:14px;color:#9FB0A3;max-width:62em}
.ftr :focus-visible{outline-color:#9FCDA8}

/* ---------- 반응형 ---------- */
@media (max-width:1180px){
  :root{--col-l:240px;--col-r:332px}
  .main{grid-template-columns:var(--col-l) minmax(0,1fr)}
  .side{grid-column:1/-1;border-left:0;border-top:1px solid var(--rule);padding:var(--sp-top) 0 var(--sp-end);display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--gut);align-items:start}
  .side:has(.ad-off:not(:has(iframe))){grid-template-columns:minmax(0,1fr)}
  .side .ad-box{margin:0;position:static}
  .intro .wrap,.phead{grid-template-columns:1fr;gap:24px}
  .pmain{grid-template-columns:minmax(0,1fr) var(--col-r)}
  .toc{display:none}
  .pmain .prose{padding-left:0;padding-right:var(--gut)}
  .essay .cols{grid-template-columns:1fr 1fr}
  .idx ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  :root{--h1:30px;--sp-end:40px;--sp-top:18px}
  .wrap{padding:0 16px}
  .top{position:static}
  .top .wrap{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px;gap:10px 16px}
  .search{order:3;flex-basis:100%;max-width:none}
  .top .meta .count{display:none}
  .brand .sci{display:none}
  .btn-line{height:36px;font-size:14px;padding:0 12px}
  .sp dl{grid-template-columns:auto auto 1fr auto auto 1fr}
  .sp .sci{font-size:21px}
  .intro .wrap{padding-top:24px;padding-bottom:20px;gap:20px}
  .phead .big{font-size:28px}
  .intro p,.phead .lead{font-size:16px}
  .main,.lmain,.pmain,.doc{grid-template-columns:1fr}
  .filters{border-right:0;padding:0}
  .filters details{border-bottom:1px solid var(--rule)}
  .filters summary{list-style:none}
  .filters summary::-webkit-details-marker{display:none}
  .results,.lmain .results{padding:var(--sp-top) 0 var(--sp-end)}
  .side{display:block;padding:var(--sp-top) 0 var(--sp-end)}
  .side .ad-box{margin:32px auto 0}
  .grid,.grid.g4,.lmain .grid{grid-template-columns:1fr}
  .sp{min-height:0}
  .rhead h2 .num{font-size:30px}
  .ctrl{margin-left:0;width:100%;justify-content:space-between}
  .essay .wrap,.idx .wrap{grid-template-columns:1fr;gap:16px}
  .essay .cols{grid-template-columns:1fr;gap:16px;padding-left:0}
  .essay h2,.idx h2{padding-right:0}
  .idx:has(.links) h2{padding-top:0}
  .idx:has(.links) .wrap{gap:8px}
  .idx ul{grid-template-columns:1fr 1fr;padding-left:0}
  .links{padding-left:0}
  .detail{padding:20px 18px}
  .aside,.paside{border-left:0;border-top:1px solid var(--rule);padding:var(--sp-top) 0 var(--sp-end)}
  .aside .ad-box,.paside .ad-box{position:static}
  .prose,.pmain .prose{padding:0 0 var(--sp-end)}
  .kv,.ts .body2{grid-template-columns:88px minmax(0,1fr)}
  .seasons{grid-template-columns:1fr 1fr}
  .season:nth-child(3){padding-left:0;border-left:0}
  .doc .dnav{order:2;border-top:1px solid var(--rule);padding:var(--sp-top) 0 var(--sp-end)}
  .doc .prose{border-left:0;padding:0 0 var(--sp-end)}
  .fsum{display:flex;justify-content:space-between;align-items:center;height:52px;cursor:pointer;font-weight:800;font-size:17px;border-top:1px solid var(--ink)}
  .fsum::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translate(-3px,-3px)}
  details[open] .fsum::after{transform:rotate(-135deg)}
  .fsum span{font-weight:600;font-size:15px;color:var(--leaf);margin-left:auto;margin-right:14px}
  .fbody{padding-bottom:16px}
  .fhead{display:none}
}
@media (max-width:420px){
  .seasons{grid-template-columns:1fr}
  .season+.season{padding-left:0;border-left:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
