/* Shared pen-and-paper treatment. Keep the text upright and the native controls usable. */
:root{--sketch-radius:5px 15px 7px 12px / 13px 6px 16px 5px;--sheet:#fcf9f1;--pencil:rgba(36,35,33,.24)}
.site-header{border-bottom:0;position:relative}
.site-header::after,.blog-intro::after{content:"";position:absolute;bottom:0;left:0;right:0;height:5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 6' preserveAspectRatio='none'%3E%3Cpath d='M1 3 Q175 0 332 3 T665 3 T999 2' fill='none' stroke='%23242321' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.55;pointer-events:none}
.site-nav a{position:relative;font-family:"Gaegu",cursive;font-size:22px;font-weight:700;padding-inline:5px}
.site-nav [aria-current="page"]{text-decoration:none}
.site-nav a:hover::after,.site-nav [aria-current="page"]::after{content:"";position:absolute;inset:auto 2px 5px;height:5px;border-bottom:2px solid var(--red);border-radius:40% 20% 60% 35%;transform:rotate(-3deg);pointer-events:none}
/* Slightly uneven outlines belong to the surface, never the text inside it. */
.text-link,.project-link,.blog-empty a,.no-results button,.reset-filters,.category-filters button,.not-found-links a,.article-end a{position:relative;isolation:isolate;border:1.6px solid var(--ink);border-radius:var(--sketch-radius);background:var(--sheet);padding:8px 18px;font-family:"Gaegu",cursive;font-size:22px;font-weight:700;line-height:1.2;min-height:46px;box-shadow:2px 3px 0 var(--pencil);transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease,scale 150ms ease}
.text-link::before,.project-link::before,.blog-empty a::before,.no-results button::before,.reset-filters::before,.category-filters button::before,.not-found-links a::before,.article-end a::before{content:"";position:absolute;inset:2px -2px -2px 1px;border:1px solid currentColor;border-radius:12px 5px 15px 6px / 6px 13px 7px 12px;opacity:.22;pointer-events:none;z-index:-1}
.category-filters button:nth-child(even){border-radius:13px 5px 11px 6px / 5px 12px 6px 15px}
.category-filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);box-shadow:2px 3px 0 #d4a18c}
.category-filters button:hover,.reset-filters:hover,.no-results button:hover,.text-link:hover,.project-link:hover,.blog-empty a:hover,.not-found-links a:hover,.article-end a:hover{background:#f2e4cf;color:var(--ink);box-shadow:1px 2px 0 var(--pencil)}
.category-filters button[aria-pressed="true"]:hover{background:var(--ink);color:var(--paper)}
.category-filters button:active,.reset-filters:active,.no-results button:active,.text-link:active,.project-link:active,.blog-empty a:active,.not-found-links a:active,.article-end a:active{scale:.96}
.search-field input,.select-controls select{border:1.5px solid var(--ink);border-radius:var(--sketch-radius);background-color:var(--sheet);box-shadow:1px 2px 0 var(--pencil);min-height:48px}
.blog-controls legend,.search-field>span,.select-controls label,.browser-heading h2{font-family:"Gaegu",cursive;font-size:22px;font-weight:700;color:var(--ink)}
.search-field>span{display:block;margin-bottom:7px}
.select-controls label{gap:7px}
.select-controls select{font-family:"Noto Sans KR",sans-serif;font-size:14px}
.category-filters{gap:10px}
.category-filters button{padding-inline:16px}
.blog-controls{grid-template-columns:minmax(220px,1fr) minmax(440px,1.5fr);border-bottom:1px dashed var(--rule);padding-bottom:28px}
.blog-intro{position:relative;border-bottom:0}
.blog-grid{gap:34px 28px;padding-top:36px}
.blog-card{position:relative}
.blog-card-link{position:relative;background:var(--sheet);padding:15px 15px 18px;border:1.6px solid var(--ink);border-radius:7px 13px 6px 11px / 13px 5px 15px 6px;box-shadow:3px 4px 0 #ded6c7;transition:box-shadow 150ms ease,border-color 150ms ease}
.blog-card-link::before{content:"";position:absolute;inset:3px -3px -3px 2px;border:1px solid var(--ink);border-radius:14px 4px 12px 5px / 5px 14px 6px 13px;opacity:.22;pointer-events:none}
.blog-card:nth-child(3n+2) .blog-card-link{border-radius:13px 5px 12px 6px / 5px 14px 7px 13px}
.blog-card-link:hover{border-color:var(--red);box-shadow:4px 5px 0 #d9c8b5}
.blog-card-art{border:1px solid var(--ink);border-radius:3px 7px 4px 6px;outline:none}
.blog-card-info{padding:16px 3px 0}
.blog-card-info h2{font-family:"Gaegu",cursive;font-size:32px;line-height:1.12;letter-spacing:-.04em;margin:12px 0}
.blog-card-info p{font-size:1rem}
.blog-card-bottom{border-top:1px dashed #b9ad9a;padding-top:13px}
.blog-card-tags{font-size:13px}
.blog-card-bottom>span:last-child{font:700 29px "Gaegu",cursive;color:var(--red)}
.blog-empty{position:relative;max-width:940px;grid-template-columns:240px minmax(0,1fr);gap:30px;padding:28px 38px;border:1.6px solid var(--ink);border-radius:12px 6px 17px 7px / 6px 16px 8px 14px;background:var(--sheet);box-shadow:4px 5px 0 #ded6c7}
.blog-empty::before{content:"";position:absolute;top:-10px;left:38px;width:76px;height:21px;transform:rotate(-5deg);background:#e9d6b9;border-inline:1px dashed #c6b18e;opacity:.9;pointer-events:none}
.blog-empty img{width:240px;height:auto}
.blog-empty h3{font-size:48px}
.article-cover{padding:12px;background:var(--sheet);border:1.6px solid var(--ink);border-radius:var(--sketch-radius);box-shadow:3px 4px 0 #ded6c7}
.article-tags a{padding-inline:13px;border:1px solid var(--ink);border-radius:var(--sketch-radius);font:700 21px "Gaegu",cursive}
.article-body blockquote{border:0;border-left:3px solid var(--red);border-radius:0 0 0 12px;background:var(--sheet);padding:17px 23px}
.article-body h2,.related-posts>h2{font-family:"Gaegu",cursive;font-size:37px}
/* The same frame and drawn actions continue into the portfolio. */
.project-list{border-top:0;display:grid;gap:25px}
.project{position:relative;padding:27px 24px;border:1.6px solid var(--ink);border-radius:var(--sketch-radius);background:var(--sheet);box-shadow:3px 4px 0 #ded6c7;grid-template-columns:30px 260px minmax(0,1fr) 156px;gap:24px}
.project:nth-child(even){border-radius:13px 5px 12px 6px / 5px 14px 7px 13px}
.project-visual{border:1px solid var(--ink);border-radius:4px 8px 3px 6px;outline:none}
.project-link{font-size:20px;padding-inline:12px}
.project-content h3{font-family:"Gaegu",cursive;font-size:35px}
.project-content p{font-size:1rem}
.contact-link{border-bottom:2px solid var(--ink);border-radius:0 0 45% 4%;padding-bottom:12px}
@media(max-width:1100px){.project{grid-template-columns:26px 220px minmax(0,1fr);gap:22px}.project-link{grid-column:3}.blog-controls{grid-template-columns:1fr}.select-controls{justify-content:flex-start}}
@media(max-width:720px){.site-nav a{font-size:20px}.blog-controls{display:block}.select-controls{gap:14px}.category-filters button{font-size:21px;padding-inline:13px}.blog-card-link{padding:12px 12px 17px}.blog-card-info h2{font-size:31px}.blog-empty{display:block;padding:28px 20px;margin-top:40px}.blog-empty img{width:175px;height:auto}.blog-empty h3{font-size:42px}.project{grid-template-columns:24px minmax(0,1fr);gap:15px 8px;padding:23px 17px}.project-link{grid-column:2}.project-visual{width:100%}.project-content h3{font-size:33px}.article-cover{padding:7px}}
@media(max-width:520px){.site-header .site-nav a{font-size:20px;padding-inline:4px}.blog-empty h3{font-size:38px}.blog-card-tags{font-size:13px}}
@media(prefers-reduced-motion:reduce){.blog-card-link,.category-filters button,.reset-filters,.text-link,.project-link,.blog-empty a,.article-end a{transition:none}.category-filters button:active,.reset-filters:active,.no-results button:active,.text-link:active,.project-link:active,.blog-empty a:active,.not-found-links a:active,.article-end a:active{scale:1}}
