:root{--bg:#f1f2f4;--panel:#fff;--text:#1d2128;--muted:#666b75;--line:#e8e8e8;--soft:#f5f7fa;--ink:#111;--header:#1b1d22;--footer:#193d61;--accent:#1e72bd;--link:#3e5898;--hot:#c0392b;--note:#eef4ff;--warn:#fff6e5}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);word-break:keep-all;overflow-wrap:break-word;flex-direction:column;margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,맑은 고딕,sans-serif;font-size:17px;line-height:1.8;display:flex}a{color:var(--accent)}img{max-width:100%;height:auto}.skip{position:absolute;left:-9999px}.skip:focus{z-index:100;background:var(--panel);padding:4px 8px;top:8px;left:16px}.container,.narrow{width:100%;margin:0 auto;padding:0 20px}.container{max-width:1200px}.narrow{max-width:840px}main{flex:1 0 auto;padding:28px 0 56px}.site-header{background:var(--header);color:#fff}.header-inner{justify-content:space-between;align-items:center;gap:8px 24px;min-height:60px;display:flex}.logo{color:#fff;white-space:nowrap;font-size:1.3rem;font-weight:800;text-decoration:none}.nav{gap:4px 20px;font-size:16px;font-weight:500;display:flex}.nav a{color:#fff;opacity:.85;white-space:nowrap;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{opacity:1;text-underline-offset:6px;text-decoration:underline}.badge{background:var(--ink);color:#fff;letter-spacing:.3px;border-radius:2px;padding:3px 7px;font-size:11px;font-weight:600;line-height:1.4;display:inline-block}.draft{background:var(--warn);color:#8a5a00;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:11px}.panel{background:var(--panel);border-radius:7px;padding:32px 36px}.crumbs{color:#aaa;text-overflow:ellipsis;white-space:nowrap;background:#595967;border-radius:3px;height:34px;margin:0 0 15px;padding:0 15px;font-size:12px;line-height:34px;overflow:hidden}.crumbs a{color:#aaa;text-decoration:none;transition:color .17s}.crumbs a:hover{color:#fff}.site-intro{color:var(--muted);margin:0 0 18px;font-size:15px}.empty{color:var(--muted)}.section-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 16px;padding-bottom:10px;display:flex}.section-head h1,.section-head h2{color:var(--ink);margin:0;font-size:22px;font-weight:800;line-height:1.2}.section-head a{color:var(--muted);white-space:nowrap;font-size:13px;text-decoration:none}.section-head a:hover{color:var(--ink)}.section-desc{color:var(--muted);margin:-6px 0 18px;font-size:15px}.cat-section{margin-top:40px}.thumb{background:#e0e0e0;position:relative;overflow:hidden}.thumb-wide{aspect-ratio:16/9}.thumb-square{aspect-ratio:1}.thumb-fill{position:absolute;inset:0}.thumb img{object-fit:cover;width:100%;height:100%;transition:filter .3s,transform .3s;display:block}.thumb-ph{background:radial-gradient(circle at 85% 15%, #ffffff2e 0 18%, transparent 19%), linear-gradient(135deg, var(--cat), color-mix(in srgb, var(--cat) 55%, #000));justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.thumb-ph span{color:#fff;opacity:.35;letter-spacing:1px;font-size:clamp(14px,2.2vw,22px);font-weight:800}.hero-grid{aspect-ratio:16/7;grid-template-columns:51% 1fr;gap:4px;display:grid}.hero-sub-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:4px;min-height:0;display:grid}.hero-item{color:#fff;border-radius:4px;text-decoration:none;display:block;position:relative;overflow:hidden}.hero-item:hover img,.hero-item:hover .thumb-ph{filter:brightness(1.12)}.hero-overlay{background:linear-gradient(#0000 0%,#00000026 20%,#0000008c 45%,#000000e0 100%);padding:14px 16px;position:absolute;bottom:0;left:0;right:0}.hero-main .hero-overlay{padding:28px}.hero-title{color:#fff;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:6px 0 4px;font-size:16px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.hero-main .hero-title{font-size:1.6rem;font-weight:700;line-height:1.3}.hero-meta{color:#fffc;margin:0;font-size:12px}.grid{gap:20px;display:grid}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex-direction:column;transition:box-shadow .2s;display:flex;overflow:hidden}.card:hover{box-shadow:0 4px 16px #0000001a}.card-thumb{display:block;position:relative}.card-thumb .badge{position:absolute;bottom:8px;left:8px}.card:hover .thumb img,.card:hover .thumb-ph{filter:brightness(1.08)}.card-body{flex-direction:column;flex:1;padding:12px 14px 14px;display:flex}.card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.45;display:-webkit-box;overflow:hidden}.card-title a{color:var(--ink);text-decoration:none;transition:color .15s}.card-title a:hover{color:var(--hot)}.card-desc{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 8px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.card-meta{color:#888;margin:auto 0 0;font-size:12px}.card-square{border:0;border-radius:7px}.card-square .thumb{box-shadow:0 3px 12px -1px #070a1933,0 22px 27px -20px #070a1933}.card-square:hover .thumb img{transform:scale(1.05)}.card-square .card-body{padding:18px 20px 20px}.card-square .card-title{font-size:20px;font-weight:600;line-height:1.35}.read-more{color:#000;background:#fdfdff;border:1px solid #f2f2f6;border-radius:3px;align-self:flex-end;height:28px;margin-top:12px;padding:0 13px;font-size:12px;font-weight:500;line-height:28px;text-decoration:none;transition:all .17s}.read-more:before{content:"→";margin-right:5px}.read-more:hover{color:#fff;background:#0073aa;border-color:#0073aa}.more-wrap{text-align:center;margin-top:28px}.more-btn{background:var(--panel);min-width:200px;font:inherit;color:#333;cursor:pointer;border:1px solid #ddd;padding:10px 32px;font-size:14px;font-weight:500}.more-btn:hover{background:#fafafa;border-color:#bbb}.more-btn:after{content:" ▾"}.post-head h1{margin:8px 0 12px;font-size:30px;font-weight:600;line-height:1.35}.meta{color:var(--muted);border-bottom:1px solid #f2f2f6;flex-wrap:wrap;gap:0 6px;margin:0;padding-bottom:20px;font-size:14px;display:flex}.hero-figure{text-align:center;margin:24px 0}.toc{background:var(--soft);border-radius:10px;margin:24px 0 28px;padding:14px 18px;font-size:15px}.toc ol{margin:6px 0 0;padding-left:20px}.toc a{color:var(--text)}.prose p,.prose ul,.prose ol{margin:0 0 25px}.prose li{margin:.2em 0}.prose h2{color:#333;background:#fafafa;border-bottom:2px solid #333;border-left:10px solid #333;margin:40px -5px 15px;padding:15px;font-size:22px;font-weight:700;line-height:1.4}.prose h3{color:#444;background:#f5f5f5;border-bottom:1px solid #ccc;border-left:6px solid #555;margin:30px -5px 12px;padding:12px;font-size:20px;font-weight:600;line-height:1.4}.prose h4{color:#555;border-left:4px solid #777;margin:22px -5px 10px;padding-left:10px;font-size:18px;font-weight:600}.prose a{color:var(--link);background-image:linear-gradient(90deg,#a9bcf5,#2e64fe);background-position:0 100%;background-repeat:no-repeat;background-size:100% .15em;padding:1px 0;text-decoration:none;transition:all .3s}.prose a:hover{color:#fff;background-image:linear-gradient(90deg,#2e64fe,#749ffb);background-size:100% 100%;border-radius:3px}.prose table{border-collapse:collapse;margin:1.4em 0;font-size:15px;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;white-space:nowrap;border:1px solid #ddd;padding:8px 12px}.prose th{background:var(--soft)}.prose figure{text-align:center;margin:1.6em 0}figcaption{color:var(--muted);margin-top:6px;font-size:13px}.prose blockquote{color:#000;background:#f9f9f9;border-left:10px solid #ff4848;border-radius:3px;margin:1.5em 10px;padding:1.2em 30px 1.2em 75px;position:relative}.prose blockquote:before{content:"“";color:#ff4848;opacity:.2;font-family:Arial,sans-serif;font-size:4em;line-height:1;position:absolute;top:-10px;left:20px}.prose blockquote p:last-child{margin-bottom:0}.prose code{background:var(--soft);border-radius:4px;padding:1px 5px;font-size:.9em}.note,.warn{border-radius:10px;margin:1.4em 0;padding:14px 18px}.note{background:var(--note)}.warn{background:var(--warn)}.note>:last-child,.warn>:last-child{margin-bottom:0}.prose .related-articles{border-left:4px solid var(--link);background:#f8f9fa;border-radius:10px;margin:20px 0;padding:20px;list-style:none;box-shadow:0 2px 5px #0000001a}.prose .related-articles:before{content:"✅ 함께 보면 좋은 글";color:#1c1c1c;margin-bottom:10px;font-size:17px;font-weight:700;display:block}.prose .related-articles li{margin-bottom:6px;line-height:1.7}.prose .related-articles li:before{content:"👉";margin-right:6px}.sources{margin-top:40px;font-size:15px}.sources h2{margin:0 0 6px;font-size:17px}.sources ol{margin:0;padding-left:20px}.disclaimer{background:var(--soft);color:var(--muted);border-radius:8px;margin-top:24px;padding:12px 16px;font-size:13px;line-height:1.65}.author-box{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;margin-top:20px;padding:16px 20px;font-size:15px;line-height:1.7}.author-box p{margin:0 0 6px}.author-box p:last-child{margin-bottom:0}.author-name{font-weight:700}.author-box .feedback{color:var(--muted)}.site-footer a[href^=mailto\:]{color:#fff}.label-head{border-bottom:2px solid #222;margin:36px 0 20px;line-height:1}.label-head span{color:#fff;background:#222;padding:8px 12px 6px;font-size:14px;font-weight:600;display:inline-block}.related-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid}.related-grid a{color:inherit;flex-direction:column;text-decoration:none;display:flex}.related-grid .related-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:15px;line-height:1.4;display:-webkit-box;overflow:hidden}.related-grid a:hover .related-title{color:var(--hot)}.post-nav{background:#343a40;border-top:1px solid #495057;border-radius:7px;gap:10px;margin-top:20px;padding:20px;display:flex;box-shadow:0 6px 10px #0003}.post-nav a{color:#d6d6d6;background:#ffffff1a;border-radius:5px;flex:1;align-items:center;gap:8px;padding:6px 10px;font-size:15px;font-weight:500;line-height:1.5;text-decoration:none;transition:color .3s,background .3s;display:flex}.post-nav a:hover{color:#fff;background:#fff3}.post-nav .nav-newer:before{content:"《"}.post-nav .nav-older{text-align:right;justify-content:flex-end}.post-nav .nav-older:after{content:"》"}.post-nav .spacer{flex:1}.page h1{margin:0 0 20px;font-size:28px}.page h2{margin:1.8em 0 .5em;font-size:19px}.page ul{padding-left:22px}.contact-mail{font-size:1.15rem;font-weight:700}.to-top{z-index:50;background:var(--accent);color:#fff;text-align:center;opacity:0;visibility:hidden;border-radius:50%;width:44px;height:44px;font-size:20px;line-height:44px;text-decoration:none;transition:opacity .2s;position:fixed;bottom:20px;right:20px;box-shadow:0 2px 8px #00000040}.to-top.show{opacity:1;visibility:visible}.to-top:hover{background:#1a5c96}.site-footer{background:var(--footer);color:#fffc;padding:28px 0;font-size:14px}.site-footer p{margin:4px 0}.footer-name{color:#fff;font-size:1.1rem;font-weight:600}.footer-links{flex-wrap:wrap;gap:4px 18px;margin:10px 0;display:flex}.footer-links a{color:#fff;text-decoration:none}.footer-links a:hover{text-decoration:underline}.pager{flex-wrap:wrap;justify-content:center;gap:6px;margin:32px 0 8px;font-size:14px;display:flex}.pager a,.pager span{text-align:center;background:var(--panel);min-width:36px;color:var(--text);border:1px solid #ddd;border-radius:4px;padding:7px 12px;text-decoration:none}.pager a:hover{border-color:#999}.pager .pager-now{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}.pager .pager-off{color:#bbb}.archive-month h2{border-left:6px solid var(--ink);margin:28px 0 10px;padding-left:10px;font-size:18px}.archive-month:first-child h2{margin-top:0}.archive-month h2 small{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.archive-month ul{margin:0;padding:0;list-style:none}.archive-month li{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:9px 0;font-size:15px;display:flex}.archive-month time{color:#888;font-variant-numeric:tabular-nums;font-size:13px}.archive-month .badge{text-decoration:none}.archive-title{color:var(--text);font-weight:600;text-decoration:none}.archive-title:hover{text-decoration:underline}.tag-list{flex-wrap:wrap;gap:6px;margin:22px 0 0;display:flex}.tag{background:var(--soft);color:var(--muted);border:1px solid #e3e6eb;border-radius:999px;padding:4px 10px;font-size:13px;text-decoration:none;display:inline-block}.tag:hover{color:var(--ink);border-color:#bbb}.search-panel h1{margin-top:0}.search-form{gap:8px;margin:16px 0;display:flex}.search-form input{min-width:0;font:inherit;border:1px solid #ccc;border-radius:6px;flex:1;padding:11px 14px;font-size:16px}.search-form input:focus{border-color:#1f5fbf;outline:2px solid #1f5fbf}.search-form button{font:inherit;color:#fff;background:var(--ink);cursor:pointer;border:0;border-radius:6px;padding:0 22px;font-weight:700}.search-hint,.search-status{color:var(--muted);font-size:14px}.search-status{margin:18px 0 8px;font-weight:600}.search-results{margin:0;padding:0;list-style:none}.search-results li{border-bottom:1px solid #eee;padding:14px 0}.search-results .badge{vertical-align:middle;margin-right:6px}.search-title{color:var(--text);font-size:17px;font-weight:700;text-decoration:none}.search-title:hover{text-decoration:underline}.search-results p{color:var(--muted);margin:6px 0 4px;font-size:14px}.search-results small{color:#888;font-size:12px}.nav-search:before{content:"⌕ "}@media (width<=1024px){.cols-4{grid-template-columns:repeat(3,1fr)}.cols-3{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){body{font-size:16px}.container,.narrow{padding:0 15px}main{padding-top:16px}.header-inner{flex-direction:column;align-items:flex-start;gap:0;padding-top:12px}.nav{scrollbar-width:none;width:100%;padding:8px 0 12px;font-size:15px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.panel{padding:20px 16px}.post-head h1{font-size:24px}.prose h2{margin-left:0;margin-right:0;font-size:19px}.prose h3{margin-left:0;margin-right:0;font-size:17px}.prose blockquote{margin:1.5em 0;padding:1em 16px 1em 50px}.prose blockquote:before{left:10px}.hero-grid{aspect-ratio:auto;grid-template-columns:1fr;gap:3px}.hero-sub-grid{grid-template-rows:auto auto;gap:3px}.hero-main{aspect-ratio:16/9;border-radius:4px 4px 0 0}.hero-sub{aspect-ratio:4/3;border-radius:0}.hero-main .hero-overlay{padding:14px 16px}.hero-main .hero-title{font-size:1.15rem}.hero-sub .hero-title{-webkit-line-clamp:2;font-size:14px}.hero-sub .badge{display:none}.cols-3,.cols-4{grid-template-columns:repeat(2,1fr);gap:12px}.card-title{font-size:14px}.card-body{padding:10px 10px 12px}.related-grid{grid-template-columns:1fr;gap:12px}.related-grid a{flex-direction:row;align-items:center;gap:12px}.related-grid .thumb{border-radius:4px;flex:none;width:96px}.related-grid .related-title{margin-top:0}.related-grid .thumb-ph span{letter-spacing:0;font-size:11px}.post-nav{flex-direction:column}}@media (width<=480px){.blog-grid{grid-template-columns:1fr}}.cal .lead{color:var(--muted);margin:0 0 14px;font-size:16px}.cal h2{margin:1.8em 0 .6em;font-size:20px}.cal h2 small{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}.ind-strip{background:var(--note);border-radius:10px;flex-wrap:wrap;gap:8px 24px;margin:0 0 6px;padding:10px 14px;font-size:14px;list-style:none;display:flex}.ind-strip li{align-items:baseline;gap:8px;display:flex}.ind-strip li span{color:var(--muted);font-size:13px}.ind-strip li strong{font-variant-numeric:tabular-nums;font-size:18px}.ind-strip li em{color:var(--muted);font-size:12px;font-style:normal}.ind-strip .ind-src{color:var(--muted);margin-left:auto;font-size:12px}.up{color:#c0392b}.down{color:#1f6fb2}.flat{color:var(--muted)}.cal-filter{flex-wrap:wrap;gap:8px;margin:14px 0 4px;display:flex}.chip{border:1px solid var(--line);font:inherit;cursor:pointer;color:var(--text);background:#fff;border-radius:999px;padding:5px 14px;font-size:13px}.chip.on{background:var(--cat,var(--ink));border-color:var(--cat,var(--ink));color:#fff}.cal-list{margin:0;padding:0;list-style:none}.cal-item{border-bottom:1px solid var(--line);gap:14px;padding:12px 0;display:flex}.cal-item:last-child{border-bottom:0}.cal-item .dday{text-align:center;background:var(--soft);color:var(--text);white-space:nowrap;border-radius:8px;flex:0 0 92px;align-self:flex-start;padding:6px 4px;font-size:13px;font-weight:800}.cal-item.open .dday{background:var(--note);color:var(--ink)}.cal-item .dday.hot,.cal-strip .dday.hot{color:#b3261e;background:#fde8e6}.cal-body{flex:1;min-width:0}.cal-body h3,.cal-body h4{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 2px;font-size:16px;display:flex}.cat-dot{background:var(--cat,var(--ink));border-radius:50%;width:9px;height:9px;display:inline-block}.cal-when{color:var(--muted);margin:0;font-size:13px}.cal-when-inline{color:var(--muted);font-size:13px;font-weight:400}.cal-what{margin:4px 0 0;font-size:14px}.cal-how{color:var(--muted)}.cal-src{color:var(--muted);margin:2px 0 0;font-size:12px}.cal-src a{color:var(--muted)}.cal-list.compact .cal-item{padding:8px 0}.cal-list.compact .cal-what{color:var(--muted);font-size:13px}.cal-month-h{color:var(--ink);margin:14px 0 4px;font-size:15px}.cal-empty{color:var(--muted);font-size:14px}.table-wrap{overflow-x:auto}.cal-table{border-collapse:collapse;width:100%;font-size:14px}.cal-table th,.cal-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 8px}.cal-table thead th{background:var(--soft);color:var(--muted);font-size:13px}.cal-table td.cal-what{color:var(--muted);font-size:13px}.cal-prose p{margin:0 0 1em}.cal-prose h3{margin:1.3em 0 .4em;font-size:16px}.faq dt{margin-top:12px;font-weight:700}.faq dd{color:var(--muted);margin:4px 0 0}.small{color:var(--muted);font-size:13px}.live-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 14px;display:grid}.stat{border:1px solid var(--line);background:var(--soft);border-radius:10px;flex-direction:column;gap:2px;padding:14px 14px 12px;display:flex}.stat-main{background:var(--note);border-color:#0000}.stat-l{color:var(--muted);font-size:13px}.stat-v{font-variant-numeric:tabular-nums;color:var(--text);font-size:26px;font-weight:800;line-height:1.2}.stat-v small{color:var(--muted);margin-left:2px;font-size:13px;font-weight:400}.stat-d{font-size:13px;font-weight:700}.stat-d.flat{color:var(--muted);font-weight:400}.live-calc{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;margin:8px 0;display:grid}.live-calc label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.live-calc input,.live-calc select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:6px;padding:8px 10px;font-size:16px}.live-calc-out{background:var(--note);border-radius:10px;margin:8px 0 10px;padding:12px 16px;font-size:15px}.live-calc-out strong{font-variant-numeric:tabular-nums;font-size:22px}#mi-table tr.ok td,#mi-table tr.ok th{background:#eef7f1}.cal-strip-more{flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:13px;display:flex}.cal-strip-more a{font-weight:700}@media (width<=800px){.live-grid{grid-template-columns:repeat(2,1fr)}.stat-v{font-size:22px}}.cal-strip{margin:0 0 28px}.cal-strip-list{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.cal-strip-list li a{background:var(--panel);border-left:5px solid var(--cat,var(--ink));color:var(--text);border-radius:7px;flex-direction:column;gap:4px;height:100%;padding:12px 14px;text-decoration:none;display:flex}.cal-strip-list .dday{color:var(--ink);font-size:12px;font-weight:800}.cal-strip-list strong{font-size:15px;line-height:1.35}.cal-strip-list small{color:var(--muted);font-size:12px}@media (width<=800px){.cal-strip-list{grid-template-columns:1fr 1fr}.cal-item{gap:10px}.cal-item .dday{flex-basis:76px;font-size:12px}.ind-strip .ind-src{width:100%;margin-left:0}}
