/* 생활계산기 도구 공통 스타일 — 모든 선택자는 .lc 아래로 한정해 테마와 충돌하지 않게 함 */
.lc{--ink:#14222E;--sub:#56646F;--paper:#F4F6F3;--card:#FFFFFF;--line:#DCE3DE;--accent:#0E6B58;--accent-soft:#E2F0EA;--minus:#A5561B;--warn:#9A6A12;--warn-soft:#FBF3E2;
  color:var(--ink);background:var(--paper);font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-size:16px;line-height:1.65;
  padding:clamp(16px,3vw,28px);border-radius:14px;margin:0 0 28px;box-sizing:border-box;word-break:keep-all;overflow-wrap:anywhere;-webkit-text-size-adjust:100%}
.lc *,.lc *::before,.lc *::after{box-sizing:border-box}
.lc p{margin:0}
.lc h3{font-family:"IBM Plex Sans KR","Noto Sans KR",sans-serif;font-size:1.15rem;margin:0;line-height:1.35;color:var(--ink)}
.lc .lc-num{font-variant-numeric:tabular-nums}
.lc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:start}
@media (max-width:760px){.lc-grid{grid-template-columns:minmax(0,1fr)}}
.lc-grid>*,.lc-field,.lc-row2>*{min-width:0}
.lc-form{display:grid;gap:16px;padding:20px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.lc-field{display:grid;gap:6px}
.lc-field>label,.lc-lab{font-weight:700;font-size:.95rem}
.lc-hint{font-size:.82rem;color:var(--sub)}
.lc-in{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:9px;background:var(--card);padding:0 12px}
.lc-in:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.lc-in input{flex:1;min-width:0;border:0!important;outline:0;background:transparent!important;font:inherit;font-size:1.1rem;font-weight:700;padding:10px 0!important;color:var(--ink);font-variant-numeric:tabular-nums;box-shadow:none!important;margin:0}
.lc-in span{color:var(--sub);font-size:.95rem;white-space:nowrap;margin-left:6px}
.lc input[type=date]{font:inherit;font-size:1rem;font-weight:700;width:100%;min-width:0;padding:9px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);margin:0}
.lc select{width:100%;min-width:0;max-width:100%;font:inherit;font-size:1rem;padding:9px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);margin:0;height:auto}
.lc-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lc-chips{display:flex;flex-wrap:wrap;gap:6px}
.lc-chip{font:inherit;font-size:.85rem;padding:4px 11px;border-radius:99px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;line-height:1.5;margin:0}
.lc-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--paper)}
.lc-seg{display:flex;border:1.5px solid var(--line);border-radius:9px;overflow:hidden}
.lc-seg button{flex:1;font:inherit;font-size:.88rem;padding:8px 6px;border:0;border-radius:0;background:var(--card);color:var(--sub);cursor:pointer;margin:0;line-height:1.4}
.lc-seg button+button{border-left:1.5px solid var(--line)}
.lc-seg button[aria-pressed="true"]{background:var(--accent);color:#fff;font-weight:700}
.lc button:focus-visible,.lc select:focus-visible,.lc input[type=date]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.lc-check{display:flex;gap:8px;align-items:center;font-size:.92rem}
.lc-check input{width:18px;height:18px;accent-color:var(--accent);margin:0}
/* 결과 */
.lc-out{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.lc-total{padding:20px;background:var(--accent);color:#fff;display:grid;gap:3px}
.lc-total small{font-size:.85rem;opacity:.88}
.lc-total strong{font-family:"IBM Plex Sans KR","Noto Sans KR",sans-serif;font-size:clamp(1.9rem,6vw,2.5rem);line-height:1.15;font-variant-numeric:tabular-nums;color:#fff}
.lc-total .lc-sub{font-size:.9rem;opacity:.92}
.lc-total.is-warn{background:var(--warn)}
.lc-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.25);margin-top:8px}
.lc-bar i{display:block;height:100%}
.lc-bar .b1{background:#fff}.lc-bar .b2{background:#F2C394}
.lc-tbl{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;margin:0;border:0}
.lc-tbl th,.lc-tbl td{padding:9px 20px;text-align:left;font-weight:400;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink)}
.lc-tbl td{text-align:right;white-space:nowrap}
.lc-tbl .lc-sec th{font-size:.78rem;font-weight:700;letter-spacing:.05em;color:var(--sub);background:var(--paper);padding-top:6px;padding-bottom:6px}
.lc-tbl .lc-ded td{color:var(--minus)}
.lc-tbl .lc-sum th,.lc-tbl .lc-sum td{font-weight:700}
.lc-tbl small{color:var(--sub);font-size:.78rem;margin-left:4px}
.lc-note{padding:12px 20px;font-size:.82rem;color:var(--sub)}
.lc-msg{padding:12px 20px;font-size:.9rem;background:var(--warn-soft);color:var(--warn);border-bottom:1px solid var(--line)}
/* 목록 표 */
.lc-block{margin-top:26px;display:grid;gap:10px}
.lc-scroll{overflow-x:auto;max-height:440px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.lc-list{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:480px;margin:0;border:0}
.lc-list th,.lc-list td{padding:8px 14px;text-align:right;border:0;border-bottom:1px solid var(--line);white-space:nowrap;background:transparent;color:var(--ink)}
.lc-list th:first-child,.lc-list td:first-child{text-align:left}
.lc-list thead th{position:sticky;top:0;background:var(--paper);font-size:.82rem;color:var(--sub);font-weight:700;z-index:1}
.lc-list tr.lc-on td{background:var(--accent-soft);font-weight:700}
.lc-list td.lc-pos{color:var(--accent);font-weight:700}
/* 과목 입력 (학점 계산기) */
.lc-rows{display:grid;gap:8px}
.lc-crow{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,1fr) 36px;gap:6px;align-items:center}
.lc-crow input[type=text]{font:inherit;font-size:.95rem;width:100%;min-width:0;padding:8px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);margin:0}
.lc-del{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--sub);border-radius:8px;height:38px;cursor:pointer;padding:0;margin:0}
.lc-add{font:inherit;font-size:.9rem;padding:8px;border:1.5px dashed var(--line);background:transparent;color:var(--accent);border-radius:9px;cursor:pointer;margin:0}
/* 허브·목록 */
.lc-hub{display:grid;gap:22px;margin:0 0 28px}
.lc-hub h2{font-size:1.3rem;margin:0}
.lc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.lc-card{display:grid;gap:3px;padding:14px 16px;background:#fff;border:1px solid #DCE3DE;border-radius:12px;text-decoration:none!important;color:#14222E!important}
.lc-card:hover{border-color:#0E6B58}
.lc-card b{font-size:1rem}
.lc-card span{font-size:.85rem;color:#56646F}
.lc-card em{font-style:normal;font-size:.72rem;font-weight:700;color:#0E6B58}
.lc-card em.is-guide{color:#7A4E9C}
.lc-search{font:inherit;width:100%;padding:10px 14px;border:1.5px solid #DCE3DE;border-radius:10px;margin:0 0 4px}
.lc-related{margin:32px 0 0;padding-top:20px;border-top:1px solid #DCE3DE;display:grid;gap:12px}
.lc-related h2{font-size:1.15rem;margin:0}
.lc-updated{font-size:.82rem;color:#56646F;margin-top:24px}
@media (max-width:420px){.lc-tbl th,.lc-tbl td{padding:9px 14px}.lc-row2{grid-template-columns:1fr}.lc-crow{grid-template-columns:minmax(0,1fr) 70px 90px 34px}}
@media (prefers-reduced-motion:reduce){.lc *{transition:none!important}}
/* 본문 FAQ */
details.lc-faq{border:1px solid #DCE3DE;border-radius:10px;padding:12px 16px;margin:0 0 8px;background:#fff}
details.lc-faq summary{cursor:pointer;font-weight:700;color:#14222E}
details.lc-faq p{margin:8px 0 0;color:#3E4B56}
details.lc-faq[open] summary{color:#0E6B58}
.lc-card[hidden]{display:none!important}
.lc [hidden]{display:none!important}
