/*
Theme Name: 셈판 (sempan)
Theme URI: https://sempan.kr/
Author: 플럭스허브
Description: 셈판 생활 계산기 경량 커스텀 테마. 시안 2차 「산출 서식」. 페이지 빌더 없음, 외부 요청 없음, CSS 파일 1개.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sempan
License: Proprietary
*/

/* ==========================================================================
   1. Variables (계산기 부품 .calc- 의 CSS 는 플러그인 소유. 여기에는 넣지 않는다)
   ========================================================================== */
:root {
  --paper: #FCFBF8;
  --field: #F3EFE4;
  --ink: #1B1A17;
  --ink-2: #55524A;
  --line: #D6D0C2;
  --seal: #B4441A;
  --error: #9E1C3A;
}

/* ==========================================================================
   2. Fonts (자체 호스팅 Pretendard 서브셋, 굵기 400/600/700, 외부 CDN 없음)
   ========================================================================== */
@font-face{font-family:"Pretendard";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/Pretendard-400-rest.woff2") format("woff2");unicode-range:U+AC00-D7A3}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/Pretendard-500-rest.woff2") format("woff2");unicode-range:U+AC00-D7A3}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/Pretendard-600-rest.woff2") format("woff2");unicode-range:U+AC00-D7A3}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/Pretendard-700-rest.woff2") format("woff2");unicode-range:U+AC00-D7A3}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/Pretendard-400-core.woff2") format("woff2");unicode-range:U+20-7E,U+A7,U+A9,U+AE,U+B0-B1,U+B7,U+D7,U+F7,U+2013-2015,U+2018-2019,U+201C-201D,U+2022,U+2026,U+2032-2033,U+203B,U+20A9,U+2103,U+2122,U+2190-2193,U+2212,U+2260,U+2264-2265,U+2460-2469,U+24D2,U+25A0-25A1,U+25B2-25B3,U+25BC-25BD,U+25C6-25C7,U+25CB,U+25CF,U+338F,U+3396,U+3398,U+339C-339E,U+33A1,U+AC00-AC01,U+AC04,U+AC10,U+AC12,U+AC15,U+AC19,U+AC1C,U+AC31,U+AC70,U+AC74,U+AC78,U+AC80,U+AC83,U+AC8C,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACB9,U+ACBD,U+ACC4,U+ACE0,U+ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD50,U+AD6C-AD6D,U+AD75,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8,U+ADFC,U+AE00,U+AE08-AE09,U+AE0B,U+AE30,U+AE34,U+AE38,U+AE40-AE41,U+AE4C,U+AE68,U+AEBC,U+AED8,U+AF2C,U+AF34,U+AFB8,U+AFBC,U+AFC9,U+AFD4,U+B00C,U+B010,U+B01D,U+B044,U+B04A,U+B04C,U+B05D,U+B07C,U+B098,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0AE-B0AF,U+B0B4,U+B0B8,U+B0BC,U+B0C5,U+B108,U+B110,U+B118,U+B123-B124,U+B137,U+B140,U+B144,U+B178,U+B18D,U+B192-B193,U+B204,U+B208,U+B215,U+B274,U+B290,U+B294,U+B298,U+B2A5,U+B2C8,U+B2CC,U+B2D0,U+B2D8-B2D9,U+B2E4,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B313,U+B354,U+B36E,U+B370,U+B3C4,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B418,U+B41C,U+B428-B429,U+B450,U+B454,U+B458,U+B4A4,U+B4DC-B4DD,U+B4E0,U+B4E4,U+B4ED,U+B4F1,U+B514,U+B529,U+B530,U+B54C,U+B5A4,U+B5A8,U+B5BB-B5BC,U+B610,U+B6F0,U+B77C-B77D,U+B780,U+B78C,U+B798,U+B7C9,U+B7EC,U+B7F0,U+B7FC,U+B7FF,U+B80C,U+B824-B825,U+B828,U+B838-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B8CC,U+B8E8,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984-B985,U+B9AC,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DE,U+B9E1,U+B9E4,U+B9E8,U+BA38-BA39,U+BA3C,U+BA54,U+BA70,U+BA74,U+BA78,U+BA85,U+BAA8-BAA9,U+BABB,U+BB34,U+BB38,U+BB3B-BB3C,U+BBC0,U+BBF8,U+BBFC,U+BC0F,U+BC14,U+BC16,U+BC18,U+BC1B-BC1D,U+BC29,U+BC30-BC31,U+BC84,U+BC88,U+BC94-BC95,U+BC97,U+BCA0,U+BCC0,U+BCC4,U+BCD1,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD05,U+BD09,U+BD80,U+BD84,U+BD88,U+BD99,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE4C,U+BE60,U+BE7C,U+BE80,U+BE8D,U+BFD0,U+C0AC-C0AD,U+C0B0,U+C0C1,U+C0C8-C0C9,U+C0CC,U+C0DD,U+C11C-C11E,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C13C,U+C148,U+C14B,U+C158,U+C18C-C18D,U+C190,U+C194,U+C1A1,U+C218,U+C21C,U+C220,U+C228,U+C22B,U+C27C,U+C2A4,U+C2AC,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EC-C2ED,U+C2F1,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C529,U+C544,U+C548,U+C54A,U+C54C,U+C558,U+C55E,U+C560-C561,U+C570,U+C57C-C57D,U+C591,U+C5B4-C5B5,U+C5B8,U+C5BC,U+C5C5-C5C8,U+C5D0,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C601,U+C606,U+C608,U+C624,U+C628,U+C62C,U+C62E,U+C635,U+C640,U+C644,U+C654,U+C65C,U+C678,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6C0-C6C1,U+C6CC,U+C6D0,U+C6D4,U+C6F9,U+C704,U+C717,U+C720-C721,U+C724,U+C728,U+C73C,U+C740,U+C744,U+C74C-C74D,U+C751,U+C758,U+C774,U+C778,U+C77C-C77D,U+C784-C785,U+C788,U+C790-C791,U+C794,U+C7A0,U+C7A5,U+C7AC,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C885,U+C88B,U+C8FC,U+C900,U+C904,U+C90D,U+C911,U+C989,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D5,U+C9DC,U+C9E7,U+C9F8,U+CABD,U+CC28,U+CC38,U+CC3D-CC3E,U+CC44-CC45,U+CC98,U+CC9C,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD0C,U+CD1D,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA5,U+CDA9,U+CDC4,U+CDCC,U+CDE8,U+CE35,U+CE58-CE59,U+CE5C,U+CE68-CE69,U+CE78,U+CE90,U+CEE4,U+CF00,U+CF1C,U+CF2D,U+CF54,U+CF58,U+CFE0,U+D06C,U+D070,U+D074,U+D07C-D07D,U+D0A4,U+D0B4,U+D0C0-D0C1,U+D0D5,U+D0DC-D0DD,U+D0ED,U+D130,U+D138,U+D140,U+D14C,U+D15C,U+D1A0,U+D1B5,U+D1F4,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F1,U+D2F8,U+D305,U+D30C,U+D310,U+D328,U+D37C,U+D398,U+D3B8,U+D3C9,U+D3EC-D3ED,U+D3FC,U+D45C,U+D47C,U+D488,U+D504,U+D50C,U+D53C,U+D544,U+D558,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588-D589,U+D5A5,U+D5C8,U+D5D8,U+D5E4,U+D5EC,U+D604,U+D615,U+D638,U+D648,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D6A8,U+D6C4-D6C5,U+D734,U+D754,U+D765,U+D788,U+D799,U+FF5E,U+FFE6}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/Pretendard-500-core.woff2") format("woff2");unicode-range:U+20-7E,U+A7,U+A9,U+AE,U+B0-B1,U+B7,U+D7,U+F7,U+2013-2015,U+2018-2019,U+201C-201D,U+2022,U+2026,U+2032-2033,U+203B,U+20A9,U+2103,U+2122,U+2190-2193,U+2212,U+2260,U+2264-2265,U+2460-2469,U+24D2,U+25A0-25A1,U+25B2-25B3,U+25BC-25BD,U+25C6-25C7,U+25CB,U+25CF,U+338F,U+3396,U+3398,U+339C-339E,U+33A1,U+AC00-AC01,U+AC04,U+AC10,U+AC12,U+AC15,U+AC19,U+AC1C,U+AC31,U+AC70,U+AC74,U+AC78,U+AC80,U+AC83,U+AC8C,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACB9,U+ACBD,U+ACC4,U+ACE0,U+ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD50,U+AD6C-AD6D,U+AD75,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8,U+ADFC,U+AE00,U+AE08-AE09,U+AE0B,U+AE30,U+AE34,U+AE38,U+AE40-AE41,U+AE4C,U+AE68,U+AEBC,U+AED8,U+AF2C,U+AF34,U+AFB8,U+AFBC,U+AFC9,U+AFD4,U+B00C,U+B010,U+B01D,U+B044,U+B04A,U+B04C,U+B05D,U+B07C,U+B098,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0AE-B0AF,U+B0B4,U+B0B8,U+B0BC,U+B0C5,U+B108,U+B110,U+B118,U+B123-B124,U+B137,U+B140,U+B144,U+B178,U+B18D,U+B192-B193,U+B204,U+B208,U+B215,U+B274,U+B290,U+B294,U+B298,U+B2A5,U+B2C8,U+B2CC,U+B2D0,U+B2D8-B2D9,U+B2E4,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B313,U+B354,U+B36E,U+B370,U+B3C4,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B418,U+B41C,U+B428-B429,U+B450,U+B454,U+B458,U+B4A4,U+B4DC-B4DD,U+B4E0,U+B4E4,U+B4ED,U+B4F1,U+B514,U+B529,U+B530,U+B54C,U+B5A4,U+B5A8,U+B5BB-B5BC,U+B610,U+B6F0,U+B77C-B77D,U+B780,U+B78C,U+B798,U+B7C9,U+B7EC,U+B7F0,U+B7FC,U+B7FF,U+B80C,U+B824-B825,U+B828,U+B838-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B8CC,U+B8E8,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984-B985,U+B9AC,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DE,U+B9E1,U+B9E4,U+B9E8,U+BA38-BA39,U+BA3C,U+BA54,U+BA70,U+BA74,U+BA78,U+BA85,U+BAA8-BAA9,U+BABB,U+BB34,U+BB38,U+BB3B-BB3C,U+BBC0,U+BBF8,U+BBFC,U+BC0F,U+BC14,U+BC16,U+BC18,U+BC1B-BC1D,U+BC29,U+BC30-BC31,U+BC84,U+BC88,U+BC94-BC95,U+BC97,U+BCA0,U+BCC0,U+BCC4,U+BCD1,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD05,U+BD09,U+BD80,U+BD84,U+BD88,U+BD99,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE4C,U+BE60,U+BE7C,U+BE80,U+BE8D,U+BFD0,U+C0AC-C0AD,U+C0B0,U+C0C1,U+C0C8-C0C9,U+C0CC,U+C0DD,U+C11C-C11E,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C13C,U+C148,U+C14B,U+C158,U+C18C-C18D,U+C190,U+C194,U+C1A1,U+C218,U+C21C,U+C220,U+C228,U+C22B,U+C27C,U+C2A4,U+C2AC,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EC-C2ED,U+C2F1,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C529,U+C544,U+C548,U+C54A,U+C54C,U+C558,U+C55E,U+C560-C561,U+C570,U+C57C-C57D,U+C591,U+C5B4-C5B5,U+C5B8,U+C5BC,U+C5C5-C5C8,U+C5D0,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C601,U+C606,U+C608,U+C624,U+C628,U+C62C,U+C62E,U+C635,U+C640,U+C644,U+C654,U+C65C,U+C678,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6C0-C6C1,U+C6CC,U+C6D0,U+C6D4,U+C6F9,U+C704,U+C717,U+C720-C721,U+C724,U+C728,U+C73C,U+C740,U+C744,U+C74C-C74D,U+C751,U+C758,U+C774,U+C778,U+C77C-C77D,U+C784-C785,U+C788,U+C790-C791,U+C794,U+C7A0,U+C7A5,U+C7AC,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C885,U+C88B,U+C8FC,U+C900,U+C904,U+C90D,U+C911,U+C989,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D5,U+C9DC,U+C9E7,U+C9F8,U+CABD,U+CC28,U+CC38,U+CC3D-CC3E,U+CC44-CC45,U+CC98,U+CC9C,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD0C,U+CD1D,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA5,U+CDA9,U+CDC4,U+CDCC,U+CDE8,U+CE35,U+CE58-CE59,U+CE5C,U+CE68-CE69,U+CE78,U+CE90,U+CEE4,U+CF00,U+CF1C,U+CF2D,U+CF54,U+CF58,U+CFE0,U+D06C,U+D070,U+D074,U+D07C-D07D,U+D0A4,U+D0B4,U+D0C0-D0C1,U+D0D5,U+D0DC-D0DD,U+D0ED,U+D130,U+D138,U+D140,U+D14C,U+D15C,U+D1A0,U+D1B5,U+D1F4,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F1,U+D2F8,U+D305,U+D30C,U+D310,U+D328,U+D37C,U+D398,U+D3B8,U+D3C9,U+D3EC-D3ED,U+D3FC,U+D45C,U+D47C,U+D488,U+D504,U+D50C,U+D53C,U+D544,U+D558,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588-D589,U+D5A5,U+D5C8,U+D5D8,U+D5E4,U+D5EC,U+D604,U+D615,U+D638,U+D648,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D6A8,U+D6C4-D6C5,U+D734,U+D754,U+D765,U+D788,U+D799,U+FF5E,U+FFE6}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/Pretendard-600-core.woff2") format("woff2");unicode-range:U+20-7E,U+A7,U+A9,U+AE,U+B0-B1,U+B7,U+D7,U+F7,U+2013-2015,U+2018-2019,U+201C-201D,U+2022,U+2026,U+2032-2033,U+203B,U+20A9,U+2103,U+2122,U+2190-2193,U+2212,U+2260,U+2264-2265,U+2460-2469,U+24D2,U+25A0-25A1,U+25B2-25B3,U+25BC-25BD,U+25C6-25C7,U+25CB,U+25CF,U+338F,U+3396,U+3398,U+339C-339E,U+33A1,U+AC00-AC01,U+AC04,U+AC10,U+AC12,U+AC15,U+AC19,U+AC1C,U+AC31,U+AC70,U+AC74,U+AC78,U+AC80,U+AC83,U+AC8C,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACB9,U+ACBD,U+ACC4,U+ACE0,U+ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD50,U+AD6C-AD6D,U+AD75,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8,U+ADFC,U+AE00,U+AE08-AE09,U+AE0B,U+AE30,U+AE34,U+AE38,U+AE40-AE41,U+AE4C,U+AE68,U+AEBC,U+AED8,U+AF2C,U+AF34,U+AFB8,U+AFBC,U+AFC9,U+AFD4,U+B00C,U+B010,U+B01D,U+B044,U+B04A,U+B04C,U+B05D,U+B07C,U+B098,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0AE-B0AF,U+B0B4,U+B0B8,U+B0BC,U+B0C5,U+B108,U+B110,U+B118,U+B123-B124,U+B137,U+B140,U+B144,U+B178,U+B18D,U+B192-B193,U+B204,U+B208,U+B215,U+B274,U+B290,U+B294,U+B298,U+B2A5,U+B2C8,U+B2CC,U+B2D0,U+B2D8-B2D9,U+B2E4,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B313,U+B354,U+B36E,U+B370,U+B3C4,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B418,U+B41C,U+B428-B429,U+B450,U+B454,U+B458,U+B4A4,U+B4DC-B4DD,U+B4E0,U+B4E4,U+B4ED,U+B4F1,U+B514,U+B529,U+B530,U+B54C,U+B5A4,U+B5A8,U+B5BB-B5BC,U+B610,U+B6F0,U+B77C-B77D,U+B780,U+B78C,U+B798,U+B7C9,U+B7EC,U+B7F0,U+B7FC,U+B7FF,U+B80C,U+B824-B825,U+B828,U+B838-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B8CC,U+B8E8,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984-B985,U+B9AC,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DE,U+B9E1,U+B9E4,U+B9E8,U+BA38-BA39,U+BA3C,U+BA54,U+BA70,U+BA74,U+BA78,U+BA85,U+BAA8-BAA9,U+BABB,U+BB34,U+BB38,U+BB3B-BB3C,U+BBC0,U+BBF8,U+BBFC,U+BC0F,U+BC14,U+BC16,U+BC18,U+BC1B-BC1D,U+BC29,U+BC30-BC31,U+BC84,U+BC88,U+BC94-BC95,U+BC97,U+BCA0,U+BCC0,U+BCC4,U+BCD1,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD05,U+BD09,U+BD80,U+BD84,U+BD88,U+BD99,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE4C,U+BE60,U+BE7C,U+BE80,U+BE8D,U+BFD0,U+C0AC-C0AD,U+C0B0,U+C0C1,U+C0C8-C0C9,U+C0CC,U+C0DD,U+C11C-C11E,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C13C,U+C148,U+C14B,U+C158,U+C18C-C18D,U+C190,U+C194,U+C1A1,U+C218,U+C21C,U+C220,U+C228,U+C22B,U+C27C,U+C2A4,U+C2AC,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EC-C2ED,U+C2F1,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C529,U+C544,U+C548,U+C54A,U+C54C,U+C558,U+C55E,U+C560-C561,U+C570,U+C57C-C57D,U+C591,U+C5B4-C5B5,U+C5B8,U+C5BC,U+C5C5-C5C8,U+C5D0,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C601,U+C606,U+C608,U+C624,U+C628,U+C62C,U+C62E,U+C635,U+C640,U+C644,U+C654,U+C65C,U+C678,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6C0-C6C1,U+C6CC,U+C6D0,U+C6D4,U+C6F9,U+C704,U+C717,U+C720-C721,U+C724,U+C728,U+C73C,U+C740,U+C744,U+C74C-C74D,U+C751,U+C758,U+C774,U+C778,U+C77C-C77D,U+C784-C785,U+C788,U+C790-C791,U+C794,U+C7A0,U+C7A5,U+C7AC,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C885,U+C88B,U+C8FC,U+C900,U+C904,U+C90D,U+C911,U+C989,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D5,U+C9DC,U+C9E7,U+C9F8,U+CABD,U+CC28,U+CC38,U+CC3D-CC3E,U+CC44-CC45,U+CC98,U+CC9C,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD0C,U+CD1D,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA5,U+CDA9,U+CDC4,U+CDCC,U+CDE8,U+CE35,U+CE58-CE59,U+CE5C,U+CE68-CE69,U+CE78,U+CE90,U+CEE4,U+CF00,U+CF1C,U+CF2D,U+CF54,U+CF58,U+CFE0,U+D06C,U+D070,U+D074,U+D07C-D07D,U+D0A4,U+D0B4,U+D0C0-D0C1,U+D0D5,U+D0DC-D0DD,U+D0ED,U+D130,U+D138,U+D140,U+D14C,U+D15C,U+D1A0,U+D1B5,U+D1F4,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F1,U+D2F8,U+D305,U+D30C,U+D310,U+D328,U+D37C,U+D398,U+D3B8,U+D3C9,U+D3EC-D3ED,U+D3FC,U+D45C,U+D47C,U+D488,U+D504,U+D50C,U+D53C,U+D544,U+D558,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588-D589,U+D5A5,U+D5C8,U+D5D8,U+D5E4,U+D5EC,U+D604,U+D615,U+D638,U+D648,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D6A8,U+D6C4-D6C5,U+D734,U+D754,U+D765,U+D788,U+D799,U+FF5E,U+FFE6}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/Pretendard-700-core.woff2") format("woff2");unicode-range:U+20-7E,U+A7,U+A9,U+AE,U+B0-B1,U+B7,U+D7,U+F7,U+2013-2015,U+2018-2019,U+201C-201D,U+2022,U+2026,U+2032-2033,U+203B,U+20A9,U+2103,U+2122,U+2190-2193,U+2212,U+2260,U+2264-2265,U+2460-2469,U+24D2,U+25A0-25A1,U+25B2-25B3,U+25BC-25BD,U+25C6-25C7,U+25CB,U+25CF,U+338F,U+3396,U+3398,U+339C-339E,U+33A1,U+AC00-AC01,U+AC04,U+AC10,U+AC12,U+AC15,U+AC19,U+AC1C,U+AC31,U+AC70,U+AC74,U+AC78,U+AC80,U+AC83,U+AC8C,U+ACA8-ACA9,U+ACAC,U+ACB0,U+ACB9,U+ACBD,U+ACC4,U+ACE0,U+ACE8,U+ACF1,U+ACF3,U+ACF5,U+ACFC,U+AD00,U+AD04,U+AD11,U+AD50,U+AD6C-AD6D,U+AD75,U+AD8C,U+ADC0,U+ADDC,U+ADE0,U+ADF8,U+ADFC,U+AE00,U+AE08-AE09,U+AE0B,U+AE30,U+AE34,U+AE38,U+AE40-AE41,U+AE4C,U+AE68,U+AEBC,U+AED8,U+AF2C,U+AF34,U+AFB8,U+AFBC,U+AFC9,U+AFD4,U+B00C,U+B010,U+B01D,U+B044,U+B04A,U+B04C,U+B05D,U+B07C,U+B098,U+B09C,U+B0A0,U+B0A8-B0A9,U+B0AC,U+B0AE-B0AF,U+B0B4,U+B0B8,U+B0BC,U+B0C5,U+B108,U+B110,U+B118,U+B123-B124,U+B137,U+B140,U+B144,U+B178,U+B18D,U+B192-B193,U+B204,U+B208,U+B215,U+B274,U+B290,U+B294,U+B298,U+B2A5,U+B2C8,U+B2CC,U+B2D0,U+B2D8-B2D9,U+B2E4,U+B2E8,U+B2EB-B2EC,U+B2F4-B2F5,U+B2F9,U+B300,U+B313,U+B354,U+B36E,U+B370,U+B3C4,U+B3C8,U+B3CC,U+B3D9,U+B3FC,U+B418,U+B41C,U+B428-B429,U+B450,U+B454,U+B458,U+B4A4,U+B4DC-B4DD,U+B4E0,U+B4E4,U+B4ED,U+B4F1,U+B514,U+B529,U+B530,U+B54C,U+B5A4,U+B5A8,U+B5BB-B5BC,U+B610,U+B6F0,U+B77C-B77D,U+B780,U+B78C,U+B798,U+B7C9,U+B7EC,U+B7F0,U+B7FC,U+B7FF,U+B80C,U+B824-B825,U+B828,U+B838-B839,U+B840,U+B85C-B85D,U+B860,U+B864,U+B8CC,U+B8E8,U+B958,U+B960,U+B974,U+B978,U+B97C,U+B984-B985,U+B9AC,U+B9B0,U+B9B4,U+B9BC-B9BD,U+B9BF,U+B9C1,U+B9C8-B9C9,U+B9CC,U+B9CE,U+B9D0,U+B9DE,U+B9E1,U+B9E4,U+B9E8,U+BA38-BA39,U+BA3C,U+BA54,U+BA70,U+BA74,U+BA78,U+BA85,U+BAA8-BAA9,U+BABB,U+BB34,U+BB38,U+BB3B-BB3C,U+BBC0,U+BBF8,U+BBFC,U+BC0F,U+BC14,U+BC16,U+BC18,U+BC1B-BC1D,U+BC29,U+BC30-BC31,U+BC84,U+BC88,U+BC94-BC95,U+BC97,U+BCA0,U+BCC0,U+BCC4,U+BCD1,U+BCF4-BCF5,U+BCF8,U+BCFC,U+BD05,U+BD09,U+BD80,U+BD84,U+BD88,U+BD99,U+BE0C,U+BE14,U+BE44,U+BE48,U+BE4C,U+BE60,U+BE7C,U+BE80,U+BE8D,U+BFD0,U+C0AC-C0AD,U+C0B0,U+C0C1,U+C0C8-C0C9,U+C0CC,U+C0DD,U+C11C-C11E,U+C120,U+C124,U+C12F,U+C131,U+C138,U+C13C,U+C148,U+C14B,U+C158,U+C18C-C18D,U+C190,U+C194,U+C1A1,U+C218,U+C21C,U+C220,U+C228,U+C22B,U+C27C,U+C2A4,U+C2AC,U+C2B5,U+C2B9,U+C2DC-C2DD,U+C2E0,U+C2E4,U+C2EC-C2ED,U+C2F1,U+C4F0,U+C4F4,U+C4F8,U+C501,U+C529,U+C544,U+C548,U+C54A,U+C54C,U+C558,U+C55E,U+C560-C561,U+C570,U+C57C-C57D,U+C591,U+C5B4-C5B5,U+C5B8,U+C5BC,U+C5C5-C5C8,U+C5D0,U+C5D4,U+C5EC-C5ED,U+C5F0,U+C5F4,U+C601,U+C606,U+C608,U+C624,U+C628,U+C62C,U+C62E,U+C635,U+C640,U+C644,U+C654,U+C65C,U+C678,U+C694,U+C6A9,U+C6B0,U+C6B4,U+C6C0-C6C1,U+C6CC,U+C6D0,U+C6D4,U+C6F9,U+C704,U+C717,U+C720-C721,U+C724,U+C728,U+C73C,U+C740,U+C744,U+C74C-C74D,U+C751,U+C758,U+C774,U+C778,U+C77C-C77D,U+C784-C785,U+C788,U+C790-C791,U+C794,U+C7A0,U+C7A5,U+C7AC,U+C800-C801,U+C804,U+C808,U+C810-C811,U+C815,U+C81C,U+C838,U+C84C,U+C870-C871,U+C874,U+C885,U+C88B,U+C8FC,U+C900,U+C904,U+C90D,U+C911,U+C989,U+C99D,U+C9C0-C9C1,U+C9C4,U+C9C8,U+C9D0-C9D1,U+C9D5,U+C9DC,U+C9E7,U+C9F8,U+CABD,U+CC28,U+CC38,U+CC3D-CC3E,U+CC44-CC45,U+CC98,U+CC9C,U+CCAB,U+CCAD,U+CCB4,U+CCD0,U+CD08,U+CD0C,U+CD1D,U+CD5C,U+CD94-CD95,U+CD98,U+CD9C,U+CDA5,U+CDA9,U+CDC4,U+CDCC,U+CDE8,U+CE35,U+CE58-CE59,U+CE5C,U+CE68-CE69,U+CE78,U+CE90,U+CEE4,U+CF00,U+CF1C,U+CF2D,U+CF54,U+CF58,U+CFE0,U+D06C,U+D070,U+D074,U+D07C-D07D,U+D0A4,U+D0B4,U+D0C0-D0C1,U+D0D5,U+D0DC-D0DD,U+D0ED,U+D130,U+D138,U+D140,U+D14C,U+D15C,U+D1A0,U+D1B5,U+D1F4,U+D2B8-D2B9,U+D2BC,U+D2C0,U+D2F1,U+D2F8,U+D305,U+D30C,U+D310,U+D328,U+D37C,U+D398,U+D3B8,U+D3C9,U+D3EC-D3ED,U+D3FC,U+D45C,U+D47C,U+D488,U+D504,U+D50C,U+D53C,U+D544,U+D558,U+D55C,U+D560,U+D568-D569,U+D56D,U+D574-D575,U+D588-D589,U+D5A5,U+D5C8,U+D5D8,U+D5E4,U+D5EC,U+D604,U+D615,U+D638,U+D648,U+D654-D655,U+D658,U+D65C,U+D669,U+D68C-D68D,U+D6A8,U+D6C4-D6C5,U+D734,U+D754,U+D765,U+D788,U+D799,U+FF5E,U+FFE6}
@font-face{font-family:"Pretendard";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/Pretendard-800-logo.woff2") format("woff2");unicode-range:U+C148,U+D310}

/* ==========================================================================
   3. Reset & Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 400 16px/1.7 "Pretendard", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
h1, h2, h3, p, ul, ol, dl, dd { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; }
button, input { font: inherit; color: inherit; }
img, svg { max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--seal); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}

.skip-link {
  position: absolute; left: 8px; top: -64px; z-index: 100;
  padding: 12px 16px; background: var(--ink); color: var(--paper);
  font-size: 14px; font-weight: 600; border-radius: 2px;
}
.skip-link:focus { top: 8px; }

h1 { margin-top: 16px; font-size: 28px; line-height: 1.3; font-weight: 700; letter-spacing: -.02em; }
h2 { font-size: 20px; line-height: 1.4; font-weight: 700; letter-spacing: -.01em; }
h3 { font-size: 18px; line-height: 1.4; font-weight: 700; letter-spacing: -.01em; }
.lead { margin-top: 8px; color: var(--ink-2); }
.cap { margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.cap a { display: inline-block; padding: 12px 0; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }

/* ==========================================================================
   4. Layout
   ========================================================================== */
.wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.layout { display: block; padding: 0 20px; }
.side-col { display: none; }

/* 서식 머리: 서식 번호와 기준일. 3px 먹선 + 번호만으로 서식임을 알린다 */
.form-head {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  min-height: 40px; border-top: 3px solid var(--ink);
  font-size: 13px; line-height: 1.4; font-weight: 500; letter-spacing: .02em;
  color: var(--ink-2); font-variant-numeric: tabular-nums;
}

/* 계산기 본문(플러그인 출력)의 구획 간격 */
.entry > section, .entry > .calc { margin-top: 32px; }
.entry > section + section { margin-top: 64px; }
.entry .ad-slot + section { margin-top: 48px; }

/* ==========================================================================
   5. Components
   ========================================================================== */
/* header */
.site-head { position: relative; z-index: 20; border-bottom: 1px solid var(--line); background: var(--paper); }
.site-head > .wrap { height: 56px; display: flex; align-items: center; justify-content: space-between; }
.logo { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; text-decoration: none; font-weight: 800; font-size: 20px; letter-spacing: -.03em; }
.logo svg { display: block; }
.nav { display: none; }
.menu-btn {
  min-width: 44px; min-height: 44px; margin-right: -4px; padding: 0 4px;
  background: none; border: 0; border-radius: 2px; font-size: 14px; font-weight: 600; cursor: pointer;
}
.menu-btn::after { content: "+"; margin-left: 6px; font-weight: 400; font-size: 18px; }
.menu-btn[aria-expanded="true"]::after { content: "\2212"; }
.menu-sheet {
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--field); border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(27, 26, 23, .12);
}
.menu-sheet ul { padding: 8px 0 16px; }
.menu-sheet a { display: flex; align-items: center; min-height: 48px; font-size: 16px; font-weight: 600; text-decoration: none; }
.menu-sheet a:hover { text-decoration: underline; text-underline-offset: 4px; }
.menu-sheet a[aria-current] { box-shadow: inset 0 -2px 0 var(--seal); width: fit-content; }

/* 첫 화면: 검색 + 목록 */
.finder { margin-top: 48px; }
.search { margin-top: 16px; }
.search label { display: block; margin-bottom: 8px; font-size: 14px; line-height: 1.4; font-weight: 600; }
.search .input input {
  display: block; width: 100%; height: 52px; padding: 0 12px;
  background: var(--field); border: 0; border-bottom: 2px solid var(--ink-2); border-radius: 2px 2px 0 0;
  font-size: 16px; font-weight: 400; outline: 0; -webkit-appearance: none; appearance: none;
}
.search .input input:hover { border-bottom-color: var(--ink); }
.search .input input:focus-visible { background: var(--paper); border-bottom-color: var(--seal); outline: 2px solid var(--seal); outline-offset: 2px; }
.calc-list { margin-top: 24px; border-top: 1px solid var(--ink); }
.calc-list li { border-bottom: 1px solid var(--line); }
.calc-list a { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; min-height: 72px; padding: 14px 0; text-decoration: none; }
.calc-list .nm { display: block; font-weight: 600; line-height: 1.5; }
.calc-list .ds { display: block; margin-top: 4px; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.calc-list a:hover .nm { text-decoration: underline; text-underline-offset: 4px; }
.calc-list a:focus-visible { outline-offset: -2px; }
.calc-none, .calc-empty { margin-top: 24px; color: var(--ink-2); }
.link-btn {
  min-height: 44px; padding: 0; background: none; border: 0; color: var(--ink); font-weight: 600;
  text-decoration: underline; text-underline-offset: 4px; cursor: pointer;
}

/* 본문(.entry): 계산기 해설(「다. 해설」)과 정보 페이지가 같은 서식을 쓴다. 플러그인이 만든 .calc 안쪽은 건드리지 않도록 직계 자식만 고른다 */
.entry > h2 { margin-top: 64px; }
.entry > .ad-slot + h2 { margin-top: 48px; }
.entry > h3 { margin-top: 32px; }
.entry > h2 + h3 { margin-top: 24px; }
.entry > p, .entry > ul, .entry > ol { margin-top: 8px; }
.entry > ul li { position: relative; padding-left: 16px; margin-top: 8px; }
.entry > ul li::before { content: ""; position: absolute; left: 0; top: .85em; width: 8px; height: 1px; background: var(--ink); }
.entry > ol { padding-left: 20px; list-style: decimal; }
.entry > ol li { margin-top: 8px; padding-left: 4px; }
.entry a { text-underline-offset: 4px; }
.entry > .tbl { margin-top: 16px; }
.entry > h3 + .tbl { margin-top: 12px; }

/* 표: 금액은 쪼개지지 않고(nowrap), 첫 열은 어절 단위로만 줄바꿈한다. 폭이 모자라면 표 칸 안에서만 가로로 움직이고 페이지는 움직이지 않는다 */
.tbl { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tbl:focus-visible { outline-offset: 2px; }
.tbl table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; font-variant-numeric: tabular-nums; }
.tbl caption { padding-bottom: 8px; text-align: left; font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--ink); }
.tbl th, .tbl td { padding: 10px 12px 10px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: normal; word-break: keep-all; }
.tbl thead th { border-bottom-color: var(--ink); font-weight: 600; white-space: nowrap; }
.tbl tbody th { font-weight: 600; min-width: 5.5em; }
.tbl th:last-child, .tbl td:last-child { padding-right: 0; }
.nw { white-space: nowrap; }   /* 「상·하한」처럼 가운뎃점에서 끊기면 안 되는 낱말(빌더 save() 가 감쌈) */
.tbl [data-example] td:last-child:not([colspan]), .tbl [data-example] thead th:last-child { text-align: right; white-space: nowrap; }

/* 자주 묻는 질문: 접고 펴는 details (서버가 그린 마크업) */
.faq { margin-top: 8px; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 56px; padding: 8px 0; font-weight: 600; cursor: pointer; list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font-weight: 400; font-size: 20px; color: var(--ink); }
.faq details[open] summary::after { content: "\2212"; }
.faq details p { margin: 0 0 16px; color: var(--ink-2); }
.faq summary:focus-visible { outline: 2px solid var(--seal); outline-offset: -2px; }

/* 일반 페이지 본문 */
.prose { margin-top: 32px; max-width: 640px; }
.prose > h2 { margin-top: 48px; padding-top: 16px; border-top: 1px solid var(--line); }

/* 관련 서식 */
.related { margin-top: 64px; }
.related ul { margin-top: 16px; border-top: 1px solid var(--line); }
.related li { border-bottom: 1px solid var(--line); }
.related a { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; min-height: 64px; padding: 12px 0; text-decoration: none; }
.related .no { font-size: 13px; font-weight: 500; letter-spacing: .02em; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.related .nm { display: block; font-weight: 600; line-height: 1.5; }
.related .ds { display: block; margin-top: 4px; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.related a:hover .nm { text-decoration: underline; text-underline-offset: 4px; }
.related a:focus-visible { outline-offset: -2px; }

/* 광고 자리(기능 플래그가 켜졌을 때만 출력됨). 높이를 먼저 확보해 CLS 를 막는다 */
.ad-slot { margin: 48px 0 0; padding: 12px 0 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ad-slot .ad-label { margin-bottom: 8px; font-size: 13px; line-height: 1.4; font-weight: 500; letter-spacing: .02em; color: var(--ink-2); }
.ad-slot .ad-body { min-height: 280px; }

/* footer */
.site-foot { margin-top: 64px; padding: 48px 0 64px; background: var(--field); border-top: 3px solid var(--ink); }
.foot-brand { display: flex; align-items: baseline; gap: 8px; }
.foot-brand b { font-size: 16px; font-weight: 800; }
.foot-brand span { font-size: 14px; color: var(--ink-2); }
.foot-links { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.foot-links a { display: flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.4; text-decoration: none; }
.foot-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.foot-links a.strong { font-weight: 600; }
.foot-note { margin-top: 16px; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.foot-op { margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.foot-op a { display: inline-block; padding: 12px 0; color: var(--ink); text-underline-offset: 4px; }
.foot-copy { margin-top: 0; font-size: 13px; line-height: 1.6; color: var(--ink-2); }

/* ==========================================================================
   6. Responsive
   ========================================================================== */
@media (min-width: 768px) {
  .wrap { padding: 0 32px; }
  .layout { max-width: 704px; margin: 0 auto; padding: 0 32px; }
  .layout .main-col { max-width: 640px; margin: 0 auto; }
}

@media (min-width: 1024px) {
  .site-head > .wrap { height: 64px; }
  h1 { margin-top: 24px; font-size: 40px; line-height: 1.25; letter-spacing: -.025em; }
  h2 { font-size: 24px; letter-spacing: -.015em; }
  .entry > section + section { margin-top: 80px; }
  .entry > h2 { margin-top: 80px; }
  .entry > .ad-slot + h2 { margin-top: 48px; }
  .prose > h2 { margin-top: 48px; }
  .related { margin-top: 80px; }
  /* 방주 칸 간격·폭: 1184px 이상은 시안(128·352), 1024~1183px 은 본문 640px 을 지키고 간격과 방주 폭만 줄인다(가로 스크롤 방지). 플러그인 방주도 이 값을 쓴다 */
  .layout--calc {
    --side-gap: clamp(40px, calc(40px + (100vw - 1024px) * .55), 128px);
    --side-w: min(352px, calc(min(100vw, 1120px) - 704px - var(--side-gap)));
    max-width: 1120px; padding: 0 32px; display: grid; grid-template-columns: 640px minmax(0, 352px); column-gap: var(--side-gap); align-items: start;
  }
  .layout--calc .main-col { max-width: none; margin: 0; }
  .side-col { display: block; position: relative; align-self: stretch; }
  .ad-slot { margin-top: 48px; }
  .foot-links { display: flex; gap: 8px; margin-left: -8px; }
  .foot-links a { justify-content: center; min-width: 44px; padding: 0 8px; white-space: nowrap; }
}

/* 계산기 7종 이름이 한 줄에 들어가는 폭부터 수평 내비 */
@media (min-width: 1200px) {
  .nav { display: flex; height: 100%; gap: 20px; }
  .nav a {
    display: flex; align-items: center; height: 100%; margin-bottom: -1px;
    font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap;
    border-bottom: 2px solid transparent;
  }
  .nav a:hover { border-bottom-color: var(--line); }
  .nav a[aria-current] { font-weight: 700; border-bottom-color: var(--seal); }
  .menu-btn, .menu-sheet { display: none; }
}
