:root{--bg:#fffcee;--grid:rgba(150,120,20,.04);--card:#fffffb;--soft:#fffdf0;--ink:#33291a;--sub:#7a6a45;--edge:#3a2c1c;--line:#f6eed0;--accent:#b45309;--mark:rgba(255,230,120,.42);--strong:#ffeea0;--on-strong:#33291a;--th:#fff6c8;--shadow:#3a2c1c;--econ-bg:#ffd3c2;--econ-ink:#5a2412;--tech-bg:#c4e4ff;--tech-ink:#12385a;--hl-blue:#1b5fc1;--hl-red:#c62828}
@media (prefers-color-scheme:dark){:root{--bg:#221d10;--grid:rgba(255,230,140,.06);--card:#2e2816;--soft:#383019;--ink:#fbf3d3;--sub:#cdbf8d;--edge:#e8d68a;--line:#4d4426;--accent:#ffc857;--mark:rgba(255,214,70,.3);--th:#5a4c1a;--shadow:#000;--econ-bg:#6b3a2a;--econ-ink:#ffe3d6;--tech-bg:#234b6b;--tech-ink:#d8efff;--hl-blue:#7db3f5;--hl-red:#ff8a80}}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0/30px 30px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/30px 30px,var(--bg);color:var(--ink);font:17px/1.8 "Pretendard Variable",Pretendard,-apple-system,"Malgun Gothic","Apple SD Gothic Neo","Noto Sans KR",sans-serif;word-break:keep-all;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:3px}a:hover{background:var(--mark)}
header,main,footer{max-width:820px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:4px}
.brand{text-decoration:none;color:var(--ink)}.brand:hover{background:none}
.lockup{display:inline-flex;align-items:center;gap:12px}.mark{width:60px;height:60px;flex:none;border-radius:22%;border:2px solid var(--edge);box-shadow:2px 3px 0 var(--shadow);background:var(--card)}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text b{font:400 42px/1 "Gamja Flower","Malgun Gothic",cursive;color:var(--ink);letter-spacing:.01em;background:linear-gradient(transparent 64%,var(--strong) 64%);align-self:flex-start;padding:0 4px}
.brand-text small{font:600 12px/1.3 "Pretendard Variable",Pretendard,"Malgun Gothic",sans-serif;color:var(--sub);margin:5px 0 0 4px;letter-spacing:-.01em}
nav{display:flex;gap:8px;flex-wrap:wrap}
nav a{padding:3px 16px;border:2px solid var(--edge);border-radius:999px;background:var(--card);color:var(--ink);font-weight:800;font-size:15px;text-decoration:none;box-shadow:2px 2px 0 var(--shadow);transition:transform .12s,box-shadow .12s}
nav a:hover{background:var(--strong);color:var(--on-strong);transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--shadow)}
main{margin:14px auto 0;padding-top:26px;padding-bottom:30px;background:var(--card);border:2px solid var(--edge);border-radius:22px;box-shadow:6px 6px 0 var(--shadow);width:calc(100% - 2 * max(16px,env(safe-area-inset-left,0px)));padding-left:clamp(18px,4vw,34px);padding-right:clamp(18px,4vw,34px)}
.hero{text-align:center;padding:2px 0 18px;border-bottom:2px dashed var(--line);margin-bottom:8px}
.hero h1{margin:0;display:inline-flex;flex-direction:column;align-items:center;gap:4px}.hero .mark{width:clamp(120px,32vw,164px);height:auto;margin:0 auto 4px;box-shadow:4px 5px 0 var(--shadow)}
.hero .brand-text{align-items:center}.hero .brand-text b{font-size:clamp(54px,15vw,84px);align-self:center}.hero .brand-text small{font-size:clamp(13px,3.4vw,16px);margin:8px 0 0}
h1{font-size:clamp(25px,5.5vw,31px);line-height:1.35;margin:.3em 0 .5em;font-weight:800;letter-spacing:-.02em}
h2{display:inline-block;font-size:22px;line-height:1.5;margin:1.7em 0 .5em;font-weight:800;letter-spacing:-.01em;background:linear-gradient(transparent 62%,var(--mark) 62%)}h3{font-size:19px;font-weight:800}
.kicker,.meta{color:var(--sub);font-size:14px}.kicker{display:flex;align-items:center;gap:10px;margin:0 0 4px}
.tag{display:inline-block;padding:0 12px;border-radius:999px;font-size:13px;font-weight:800;line-height:1.7;text-decoration:none}.tag:hover{background:none;filter:brightness(.95);text-decoration:underline}
.tag-economy{background:var(--econ-bg);color:var(--econ-ink)}.tag-tech{background:var(--tech-bg);color:var(--tech-ink)}.date{color:var(--sub);font-size:13px;font-weight:500}
blockquote{margin:1.1em 0;padding:.7em 1.1em;background:var(--soft);border:2px dashed var(--edge);border-radius:14px}blockquote p{margin:.3em 0}
table{border-collapse:collapse;width:100%;font-size:15px;margin:1.1em 0;display:block;overflow-x:auto;max-width:100%}th,td{border:1px solid var(--line);padding:7px 11px;text-align:left}th{background:var(--th);color:var(--ink);border-color:var(--edge)}
figure{margin:1.5em 0}figure svg{max-width:100%;height:auto;border:2px solid var(--edge);border-radius:14px;box-shadow:4px 4px 0 var(--shadow)}
dl{background:var(--soft);border:2px dashed var(--edge);border-radius:14px;padding:4px 18px 14px}dl dt{font-weight:800;margin-top:.9em}dl dt::before{content:"● ";color:var(--accent);font-size:.7em;vertical-align:.15em}dl dd{margin:0}
hr{border:0;border-top:2px dashed var(--line);margin:1.6em 0}
.list{list-style:none;padding:0;margin:.4em 0 0}.list li{padding:16px 0;border-bottom:2px dashed var(--line)}.list li:last-child{border-bottom:0}.list a.t{font-size:20px;font-weight:800;text-decoration:none;color:var(--ink);line-height:1.45}.list a.t:hover{background:var(--mark)}.list p{margin:.3em 0 0;color:var(--sub);font-size:15px}.list .kicker{margin-bottom:6px}
.src{font-size:.78em;color:var(--sub)}.hl-blue,.hl-red{font-weight:700}.hl-blue{color:var(--hl-blue)}.hl-red{color:var(--hl-red)}
strong{font-weight:800}
footer{padding-top:26px;padding-bottom:44px;color:var(--sub);font-size:14px;text-align:center}footer a{color:var(--sub);margin:0 8px;font-weight:600}footer p{margin:.5em 0}
.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:.2em 0 1em}.subtabs a{padding:2px 14px;border:2px solid var(--edge);border-radius:999px;color:var(--ink);font-weight:700;font-size:14px;text-decoration:none;background:var(--card)}.subtabs a.on{background:var(--strong);box-shadow:2px 2px 0 var(--shadow)}.blurb{color:var(--sub);margin:.2em 0 1em;font-size:15px}
main{overflow-wrap:anywhere}
@media (max-width:520px){main ul,main ol{padding-left:1.3em}blockquote{padding:.6em .9em}header{justify-content:center}.mark{width:50px;height:50px}.brand-text b{font-size:36px}main{border-radius:18px}}
@media (prefers-reduced-motion:reduce){nav a{transition:none}}
