:root{--ink:#171612;--muted:#565149;--paper:#f2efe6;--panel:#fbfaf5;--line:#d1cdc3;--accent:#a82d19;--cyan:#246c82}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.9 "Malgun Gothic","맑은 고딕",Arial,sans-serif;word-break:keep-all;overflow-wrap:break-word}a{color:inherit}a:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(20px,4vw,52px);background:#171612;color:#fff;border-bottom:3px solid #ef4b2c}.topbar a{text-decoration:none;font-size:14px;font-weight:700}.topbar .brand{letter-spacing:.035em}.topbar nav{display:flex;gap:24px}
.article-hero{border-bottom:1px solid var(--line);background:var(--panel)}.hero-inner{max-width:1210px;margin:auto;padding:55px 32px 42px}.eyebrow{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.055em;color:var(--accent)}h1{text-wrap:balance;max-width:1060px;margin:0 0 21px;font-size:clamp(31px,4.1vw,49px);line-height:1.45;letter-spacing:-.04em}.lead{max-width:850px;margin:0;color:var(--muted);font-size:18px;line-height:1.85}.article-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:25px;color:var(--muted);font-size:13px}
.reading-layout{max-width:1210px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:44px;margin:auto;padding:44px 32px 60px}.contents{align-self:start;position:sticky;top:82px;max-height:calc(100vh - 105px);overflow-y:auto;padding:20px;background:var(--panel);border:1px solid var(--line);border-top:4px solid #ef4b2c}.contents strong{display:block;margin-bottom:11px;font-size:15px}.contents a{display:block;padding:9px 0;color:var(--muted);font-size:13px;line-height:1.7;text-decoration:none;border-bottom:1px dotted var(--line)}.contents a:last-child{border-bottom:0}.contents a:hover{color:var(--accent)}
.post-body{min-width:0;max-width:830px}.post-body p{margin:0 0 24px}.post-body>p:first-of-type{font-size:19px}.post-body strong{font-weight:750}.post-body h2{scroll-margin-top:89px;font-size:27px;line-height:1.55;letter-spacing:-.025em;margin:56px 0 22px;padding-top:12px;border-top:2px solid var(--line)}.post-body h3{scroll-margin-top:89px;font-size:21px;line-height:1.6;margin:35px 0 18px}.post-body figure{margin:32px 0}.post-body figure a{display:block}.post-body figure img{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--line)}figcaption{margin-top:11px;color:var(--muted);font-size:13px;line-height:1.75}.equation{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--cyan);padding:18px 23px;margin:27px 0}.equation p{white-space:nowrap;margin:7px 0;font-size:18px;line-height:1.85}
.table-scroll{max-width:100%;overflow-x:auto;background:#fff;border:1px solid var(--line);margin:30px 0}table{border-collapse:collapse;width:100%;min-width:620px;font-size:14px;line-height:1.8}th,td{padding:14px 16px;text-align:left;vertical-align:top;border-right:1px solid #dedad1;border-bottom:1px solid #dedad1}th{color:#fff;background:#303c41}th:last-child,td:last-child{border-right:0}tr:last-child td{border-bottom:0}.article-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);margin-top:48px;padding:24px 0;font-size:14px;font-weight:700}.article-bottom a{text-decoration:none;color:var(--cyan)}footer{max-width:1210px;margin:auto;padding:22px 32px 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted)}footer a{color:var(--cyan);text-decoration:none}
.notes-list{max-width:1210px;margin:auto;padding:40px 32px 90px}.list-label{font-size:13px;color:var(--muted);margin-bottom:20px}.note-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;align-items:center;padding:27px;background:var(--panel);border:1px solid var(--line);border-top:4px solid #ef4b2c;text-decoration:none}.note-card:hover{background:#fff}.note-card img{display:block;width:100%;height:auto;border:1px solid var(--line)}.note-card h2{margin:0 0 16px;font-size:27px;line-height:1.55}.note-card p{color:var(--muted);font-size:16px;margin-top:0}.note-card .eyebrow{font-size:12px;color:var(--accent)}.card-action{color:var(--cyan);font-size:14px;font-weight:800}
@media(max-width:940px){.reading-layout{display:block;max-width:900px}.contents{position:static;max-height:none;margin-bottom:34px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.contents strong{grid-column:1/-1}.post-body{max-width:none}.hero-inner{padding-top:40px}}
@media(max-width:600px){body{font-size:16px;line-height:1.9}.topbar{padding:13px 18px;gap:12px}.topbar a{font-size:12px}.topbar nav{gap:15px}.hero-inner{padding:32px 22px}.lead{font-size:16px}.reading-layout{padding:28px 22px 35px}.contents{display:block;padding:17px}.contents a{font-size:13px}.post-body>p:first-of-type{font-size:17px}.post-body h2{font-size:23px;margin-top:43px}.post-body h3{font-size:20px}.equation{padding:13px 16px}.equation p{font-size:16px}figcaption{font-size:12px}.notes-list{padding:25px 22px 50px}.note-card{grid-template-columns:1fr;padding:18px;gap:22px}.note-card h2{font-size:23px}footer{padding:20px 22px 30px;flex-wrap:wrap}.article-bottom{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.topbar,.contents,.article-bottom{display:none}body{background:#fff;font-size:11pt}.hero-inner,.reading-layout{display:block;padding:0;margin:0;max-width:none}.article-hero{background:#fff;border:0;margin-bottom:25px}h1{font-size:24pt}.post-body{max-width:none}.post-body h2{font-size:17pt}.post-body h3{font-size:14pt}.post-body figure,.equation{break-inside:avoid}.table-scroll{overflow:visible}table{min-width:0;font-size:10pt}footer{margin-top:30px}}
/* COLLECTION */
.motion-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:14px 0}.motion-controls button{font:inherit;font-size:15px;padding:9px 15px;border:1px solid var(--cyan);background:var(--panel);color:var(--cyan);cursor:pointer}.motion-controls a{font-size:14px}.motion-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.collection-card h2,.article-hero h1{overflow-wrap:anywhere}
.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.collection-card{display:block;border:1px solid var(--line);border-top:4px solid #ef4b2c;background:var(--panel);padding:27px;text-decoration:none}.collection-card:hover{background:#fff}.collection-card h2{font-size:25px;line-height:1.55;margin:12px 0 18px;text-wrap:balance}.collection-card>p:not(.eyebrow){color:var(--muted);font-size:15px}.post-body pre{overflow:auto;padding:20px;background:#edf1ef;border:1px solid var(--line);font-size:14px;line-height:1.7}.post-body code{font-family:Consolas,monospace;font-size:.9em}.post-body li{padding-left:4px;margin-bottom:13px}.post-body ol,.post-body ul{padding-left:25px;margin:20px 0 30px}@media(max-width:700px){.collection-grid{grid-template-columns:1fr}.collection-card{padding:21px}.collection-card h2{font-size:23px}}
.collection-search{border-bottom:1px solid var(--line);padding-bottom:24px}.collection-search label{display:block;font-size:15px;font-weight:700;margin-bottom:10px}.search-row{display:flex;gap:12px}.search-row input{min-width:0;flex:1;background:var(--panel);border:1px solid #918b7e;padding:13px 16px;font:inherit;line-height:1.5}.search-row button{border:0;background:var(--cyan);color:white;padding:13px 20px;font:inherit;font-size:15px;cursor:pointer}.search-row :focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}@media(max-width:700px){.search-row{gap:8px}.search-row input{padding:11px;font-size:15px}.search-row button{padding:11px;font-size:14px}.table-scroll::before{content:'표는 좌우로 밀어서 확인하실 수 있습니다.';display:block;position:sticky;left:0;padding:10px 12px;font-size:12px;line-height:1.6;background:var(--panel);color:var(--muted)}}
