.public-nav,.public-main,.public-footer{max-width:1100px;margin-inline:auto;padding:24px}.public-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.public-nav nav,.public-tags{display:flex;flex-wrap:wrap;gap:1rem}.public-hero{padding-block:48px 20px;max-width:700px}.public-hero h1{font-size:clamp(2rem,5vw,3.5rem);text-wrap:balance;margin-block:8px 16px}.eyebrow{font-size:.85rem;color:var(--ink-2);letter-spacing:.04em}.search-row{display:flex;gap:12px}.search-row input{min-width:0;flex:1;font:inherit;padding:12px;border:1px solid var(--line);border-radius:var(--radius-btn);background:var(--card);color:var(--ink)}.search-form label{display:block;margin-bottom:8px}.public-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}.public-list article{content-visibility:auto;contain-intrinsic-size:auto 150px;overflow-wrap:anywhere}.public-article{max-width:740px}.public-article h1{font-size:clamp(1.8rem,4vw,2.6rem);overflow-wrap:anywhere}.public-lead{font-size:1.25rem;line-height:1.7}.public-footer{border-top:1px solid var(--line);font-size:.9rem}.table-scroll{overflow-x:auto}.public-main table{width:100%;border-collapse:collapse;text-align:left}.public-main th,.public-main td{padding:12px;border-bottom:1px solid var(--line)}.review-note{font-size:.9rem}.public-cta{margin-top:24px}@media(max-width:500px){.public-nav,.public-main,.public-footer{padding:20px}.search-row{flex-direction:column}.public-hero{padding-block:20px}}

.public-nav nav a { display: inline-flex; align-items: center; min-height: var(--control-compact); }
a.chip { display: inline-flex; align-items: center; min-height: var(--control-compact); padding: 8px 12px; }

.public-entry { display:flex; flex-direction:column; gap:8px; min-height:100%; color:var(--ink); text-decoration:none; }
.public-entry:hover { background:var(--fill-soft); border-color:var(--line-strong); }
.public-entry strong { font-size:18px; }
.public-footer { display:grid; gap:12px; padding-block:32px 40px; color:var(--ink-2); font-size:14px; }
.public-footer p { margin:0; }
.public-footer-top { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 32px; }
.public-footer-brand { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; }
.public-footer-brand strong { color:var(--ink); font-size:15px; }
.public-footer-links { display:flex; flex-wrap:wrap; gap:4px 20px; }
.public-footer-links .footer-link { display:inline-flex; align-items:center; min-height:32px; color:var(--ink-2); text-decoration:none; overflow-wrap:anywhere; border-radius:4px; transition:color 120ms ease; }
.public-footer-links .footer-link strong { font-weight:700; color:var(--ink); }
.public-footer-links .footer-link:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.public-footer-links .footer-link:focus-visible, .public-footer-biz summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.public-footer-biz { font-size:13px; color:var(--ink-2); }
.public-footer-biz summary { display:inline-flex; align-items:center; gap:6px; min-height:32px; cursor:pointer; color:var(--ink-2); font-weight:600; list-style:none; }
.public-footer-biz summary::-webkit-details-marker { display:none; }
.public-footer-biz summary::before { content:""; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(-45deg); transition:transform 120ms ease; }
.public-footer-biz[open] summary::before { transform:rotate(45deg); }
.public-footer-biz summary:hover { color:var(--ink); }
.public-footer-biz dl { display:grid; gap:4px; margin:4px 0 0; }
.public-footer-biz dl > div { display:flex; flex-wrap:wrap; gap:0 8px; }
.public-footer-biz dt { color:var(--ink-2); }
.public-footer-biz dd { margin:0; overflow-wrap:anywhere; }
@media(max-width:599px) { .public-footer-top { flex-direction:column; align-items:flex-start; gap:4px; } .public-footer-links { gap:0 18px; } }
@media(prefers-reduced-motion:reduce) { .public-footer-links .footer-link, .public-footer-biz summary::before { transition:none; } }
.public-nav nav { gap:8px; }
/* 계통 칩은 한국어 화면 글자다. .chip 기본값(영어 용어용 세리프)에는 한글이 없어 기기 기본 명조·궁서 계열로 바뀌어 나오던 것을 화면 글꼴로 돌린다(11-11). */
.public-tags .chip { font-family: var(--font-ui); letter-spacing: var(--letter-spacing); }

/* 2026-11-11 시안(wsh.morph.design/search) 운영 반영: 검색창 한 칸·입력 예시·계통 칩·글자 묶음 세로 목록. 폭은 공개 화면 공통 1100px 그대로 */
.dict-hero { padding-block:40px 20px; max-width:none; }
.public-hero.dict-hero h1 { font-size:32px; line-height:1.25; letter-spacing:-.8px; margin-block:0 8px; text-wrap:balance; }
.dict-hero p { margin:0; max-width:640px; font-size:16px; line-height:1.6; color:var(--ink-2); }
.dict-search { position:relative; margin:0; }
.dict-search .dict-ico { position:absolute; left:18px; top:50%; transform:translateY(-50%); color:var(--ink-3); pointer-events:none; }
.dict-search input { width:100%; height:56px; padding:0 104px 0 50px; font:inherit; font-size:17px; border:1.5px solid var(--line-strong); border-radius:16px; background:var(--card); color:var(--ink); }
.dict-search input::placeholder { color:var(--ink-3); }
/* 포커스는 공통 3px 남색 외곽선(D-226). 공통 규칙의 6px 모서리 대신 검색창 모서리를 따른다 */
.dict-search input:focus-visible { outline:3px solid var(--accent); outline-offset:2px; border-radius:16px; }
.dict-search button { position:absolute; right:6px; top:6px; height:44px; min-height:44px; min-width:76px; border-radius:12px; padding:0 16px; font-size:15px; }
.dict-hint { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:10px 2px 0; font-size:13px; color:var(--ink-2); }
a.chip.dict-example { position:relative; min-height:32px; padding:0 10px; font-size:14px; border-radius:999px; }
/* 누르는 영역 44px(D-226): 칩 모양(32·36px)은 두고 보이지 않는 영역만 위아래로 넓힌다. 옆 칩과 겹치지 않게 좌우는 칸 사이의 절반만 */
a.chip.dict-example::after, a.chip.dict-chip::after { content:""; position:absolute; inset:-7px -3px; }
a.chip.dict-chip::after { inset:-5px -4px; }
a.chip.dict-example:not([lang]) { font-family:var(--font-ui); font-weight:600; letter-spacing:var(--letter-spacing); }
.dict-filter { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:28px; }
.dict-filter-label { font-size:13px; font-weight:600; color:var(--ink-2); margin-right:4px; }
a.chip.dict-chip { position:relative; min-height:36px; padding:0 14px; border-radius:999px; font-family:var(--font-ui); font-size:14px; font-weight:600; letter-spacing:var(--letter-spacing); }
a.chip.dict-chip:hover { border-color:var(--line-strong); background:var(--fill-soft); }
a.chip.dict-chip[aria-current="page"] { background:var(--accent); border-color:var(--accent); color:var(--on-accent); }
.dict-bar { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; padding:10px 0; background:var(--bg); border-bottom:1px solid var(--line); }
.dict-count { font-size:13px; font-weight:600; color:var(--ink-2); white-space:nowrap; }
.dict-az { display:flex; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-block:6px; margin-block:-6px; }
/* A–Z 누르는 영역 세로 44px(D-226). 가로로 붙은 글자라 폭은 그대로(26·34px, WCAG 최소 24px 이상). 스크롤 칸이 잘라 내지 않게 위아래 6px 여유를 둔다 */
.dict-az a.chip { position:relative; }
.dict-az a.chip::after { content:""; position:absolute; left:0; right:0; top:50%; height:44px; transform:translateY(-50%); }
.dict-az a.chip, .dict-az span { flex:none; display:inline-flex; align-items:center; justify-content:center; min-width:26px; min-height:0; height:32px; padding:0; border:0; border-radius:8px; background:transparent; font-family:var(--font-term); font-size:15px; font-weight:600; }
.dict-az a.chip { color:var(--accent); } .dict-az a.chip:hover { background:var(--accent-bg); }
.dict-az span { color:var(--line-strong); }
.dict-group { display:grid; grid-template-columns:56px 1fr; scroll-margin-top:64px; border-bottom:1px solid var(--line); }
.dict-letter { margin:0; padding-top:15px; font-size:28px; font-weight:600; line-height:1; color:var(--ink-3); }
.dict-list { list-style:none; margin:0; padding:0; }
.dict-list li+li { border-top:1px solid var(--line); }
.dict-list-flat { border-bottom:1px solid var(--line); }
.public-entry.dict-row { display:grid; grid-template-columns:minmax(0,1fr) 18px; grid-template-areas:"term go" "ko go" "sum go" "note go"; align-items:center; column-gap:12px; row-gap:2px; min-height:64px; padding:14px 8px 14px 0; border:0; border-radius:10px; background:transparent; color:var(--ink); text-decoration:none; }
.public-entry.dict-row:hover { background:var(--fill-soft); }
.public-entry.dict-row:hover .dict-term { color:var(--accent); }
.dict-term { grid-area:term; font-size:20px; line-height:1.3; overflow-wrap:anywhere; }
.dict-ko { grid-area:ko; font-size:16px; font-weight:600; line-height:1.5; }
.dict-sum { grid-area:sum; max-width:560px; font-size:14px; line-height:1.55; color:var(--ink-2); }
.dict-note { grid-area:note; font-size:12px; color:var(--ink-3); }
.dict-go { grid-area:go; color:var(--ink-3); }
.public-cta.dict-cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; margin-top:40px; padding-top:28px; }
.dict-cta h2 { margin:0 0 4px; font-size:20px; line-height:1.4; }
.dict-cta p { margin:0; font-size:15px; color:var(--ink-2); }
@media(min-width:720px) {
  .dict-hero { padding-block:56px 24px; }
  .public-hero.dict-hero h1 { font-size:40px; }
  .public-entry.dict-row { grid-template-columns:minmax(0,36%) minmax(0,1fr) 18px; grid-template-areas:"term ko go" "term sum go" "term note go"; column-gap:24px; align-items:first baseline; padding:16px 12px 16px 8px; }
  .dict-go { align-self:center; }
}
@media(max-width:719px) {
  .dict-bar { flex-direction:column; align-items:stretch; gap:4px; }
  .dict-az { -webkit-mask-image:linear-gradient(90deg,#000 88%,transparent); mask-image:linear-gradient(90deg,#000 88%,transparent); }
  .dict-az a.chip, .dict-az span { min-width:34px; height:40px; }
  .dict-group { grid-template-columns:36px 1fr; }
  .dict-letter { font-size:22px; }
  .dict-search input { font-size:16px; }
}
@media(prefers-reduced-motion:no-preference) { html:has(.dict-az) { scroll-behavior:smooth; } }
