|
|
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>12폭 병풍 — 뒷면: 그리운 북녘의 맛</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&family=Noto+Serif+KR:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root{
--paper:#EAE0C8; --paper-dark:#DDCFAC; --ink:#20180F; --ink-soft:#4B4030;
--wood:#3E2A1C; --wood-light:#5A3E29; --seal:#9B3A2B; --gold:#A9813F; --room:#D8D2C4;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0;
background: radial-gradient(ellipse 80% 60% at 50% 0%, #E4DFD2 0%, var(--room) 60%, #C9C2B2 100%);
font-family:'Noto Serif KR', serif; color:var(--ink); min-height:100vh;
}
.page{ display:flex; flex-direction:column; align-items:center; padding:40px 12px 48px; }
.label{ font-size:12px; letter-spacing:0.35em; color:var(--ink-soft); margin-bottom:20px; text-transform:uppercase; }
.label b{ color:var(--seal); font-weight:700; }
.scale-wrap{ width:100%; max-width:1180px; overflow:hidden; }
#screenShadow{ display:inline-block; transform-origin:top left;
filter: drop-shadow(0 24px 36px rgba(40,30,15,0.28)); }
.screen{ background: repeating-linear-gradient(115deg, var(--wood) 0px, var(--wood-light) 3px, var(--wood) 7px);
border-radius:3px; padding:14px 14px 18px; }
.inner{ display:flex; flex-direction:column; }
.trim{ background: repeating-linear-gradient(45deg, rgba(255,255,255,0.04) 0 2px, transparent 2px 10px),
linear-gradient(180deg, #7C2E22, var(--seal) 55%, #7C2E22);
border:1px solid #4d1d15; color:#F1E4CF; text-align:center; }
.trim-top{ padding:14px 20px 12px; border-radius:2px 2px 0 0; }
.trim-top .title{ font-family:'Nanum Myeongjo', serif; font-weight:800; font-size:23px; letter-spacing:0.06em; white-space:nowrap; }
.trim-top .sub{ margin-top:4px; font-size:12px; letter-spacing:0.18em; color:#E7D5B6; white-space:nowrap; }
.trim-bottom{ padding:13px 28px; border-radius:0 0 2px 2px; font-size:13px; letter-spacing:0.03em; line-height:1.7; white-space:nowrap; }
.trim-bottom b{ color:#FBE7C8; }
.panels{ display:flex; background:var(--wood); }
.panel{ flex:0 0 84px; width:84px;
background: radial-gradient(circle at 25% 15%, rgba(255,255,255,0.35) 0%, transparent 35%),
radial-gradient(circle at 80% 70%, rgba(120,95,40,0.10) 0%, transparent 45%),
repeating-linear-gradient(100deg, transparent 0 6px, rgba(80,60,25,0.035) 6px 7px), var(--paper);
border-left:1.5px solid #2c1d12; box-shadow: inset 4px 0 6px -4px rgba(0,0,0,0.35);
display:flex; flex-direction:column; align-items:center; padding:16px 5px 14px; position:relative;
}
.panel:first-child{ border-left:none; }
.panel-num{ font-family:'Nanum Myeongjo', serif; font-size:13px; color:var(--gold); letter-spacing:0.1em;
border-bottom:1px solid rgba(169,129,63,0.55); padding-bottom:6px; margin-bottom:10px; width:60%; text-align:center; }
.panel-name{ writing-mode:vertical-rl; text-orientation:mixed; font-family:'Nanum Myeongjo', serif; font-weight:800;
font-size:25px; letter-spacing:0.14em; color:var(--ink); height:190px; display:flex; align-items:center; justify-content:center; }
.divider{ width:34px; height:10px; opacity:0.55; margin:6px 0 10px; }
.panel-caption{ font-size:11.5px; line-height:1.75; color:var(--ink-soft); text-align:center; padding:0 3px; }
.panel-caption .nk{ display:block; margin-bottom:5px; }
.panel-caption .nk em{ font-style:normal; color:var(--seal); font-weight:600; }
.panel-caption .common{ display:block; padding-top:6px; border-top:1px dotted rgba(75,64,48,0.35); }
.seal{ position:absolute; right:7px; bottom:9px; width:28px; height:28px; background:var(--seal); color:#F3E3CC;
border-radius:2px; transform:rotate(-4deg); box-shadow:0 2px 4px rgba(0,0,0,0.35);
display:flex; align-items:center; justify-content:center; font-family:'Nanum Myeongjo', serif; font-size:12px;
letter-spacing:-1px; writing-mode:vertical-rl; }
.hint{ margin-top:16px; font-size:12px; color:var(--ink-soft); letter-spacing:0.03em; text-align:center; max-width:320px; }
</style>
</head>
<body>
<div class="page">
<div class="label">12폭 병풍 · <b>뒷면(背面)</b> 디자인</div>
<div class="scale-wrap" id="scaleWrap">
<div id="screenShadow">
<div class="screen">
<div class="inner">
<div class="trim trim-top">
<div class="title">그리운 북녘의 맛, 강원에서 잇다</div>
<div class="sub">강원도 실향민 음식 12선 · 북한 향토음식 비교</div>
</div>
<div class="panels" id="panels"></div>
<div class="trim trim-bottom">
공통점 — <b>감자·메밀·황태·산나물</b> 등 산지 재료를 중심으로 빚어낸, 소박하고 구수한 한 그릇의 맛
</div>
</div>
</div>
</div>
</div>
<div class="hint">12폭 전체가 한 화면에 담겨 있어요 · 확대하면 각 폭을 더 자세히 볼 수 있어요</div>
</div>
<script>
const data = [
{ num:'一', name:'감자옹심이', nk:'감자국수', common:'감자 활용, 구수한 맛 중심' },
{ num:'二', name:'메밀전병', nk:'메밀묵밥·메밀국수', common:'메밀 중심의 탄수화물 음식' },
{ num:'三', name:'황태국', nk:'북어국', common:'건어물 활용, 해장용으로 인기' },
{ num:'四', name:'장칼국수', nk:'된장·고추장국수', common:'장맛 중심의 구수한 국물' },
{ num:'五', name:'물회', nk:'회냉면', common:'생선회 활용, 시원한 여름 음식' },
{ num:'六', name:'감자전', nk:'감자부침개', common:'감자 활용, 간식·부침 형태' },
{ num:'七', name:'곤드레밥', nk:'나물밥·두릅밥', common:'산나물 활용, 담백한 맛' },
{ num:'八', name:'오징어순대', nk:'명태순대·생선순대', common:'해산물 속채움 요리' },
{ num:'九', name:'막국수', nk:'평양·함흥냉면', common:'메밀면, 시원한 육수' },
{ num:'十', name:'초당순두부', nk:'두부밥·두부찌개', common:'두부 중심의 단백질 음식' },
{ num:'十一', name:'한과', nk:'강냉이·찹쌀과자', common:'곡물로 만든 전통 간식' },
{ num:'十二', name:'콧등치기', nk:'함흥국수', common:'면 중심, 구수한 향' },
];
const wrap = document.getElementById('panels');
data.forEach((d, i) => {
const p = document.createElement('div');
p.className = 'panel';
p.innerHTML = `
<div class="panel-num">${d.num}</div>
<div class="panel-name">${d.name}</div>
<svg class="divider" viewBox="0 0 34 10"><path d="M1,5 Q9,1 17,5 T33,5" stroke="#4B4030" stroke-width="1" fill="none" stroke-linecap="round"/></svg>
<div class="panel-caption">
<span class="nk">북한 — <em>${d.nk}</em></span>
<span class="common">${d.common}</span>
</div>
`;
if(i === data.length - 1){
const seal = document.createElement('div');
seal.className = 'seal';
seal.textContent = '鄕愁';
p.appendChild(seal);
}
wrap.appendChild(p);
});
function fitScreen(){
const wrapEl = document.getElementById('scaleWrap');
const el = document.getElementById('screenShadow');
el.style.transform = 'none';
const naturalW = el.offsetWidth;
const naturalH = el.offsetHeight;
const availW = wrapEl.clientWidth;
const scale = naturalW > 0 ? Math.min(1, availW / naturalW) : 1;
el.style.transform = `scale(${scale})`;
wrapEl.style.height = (naturalH * scale) + 'px';
}
async function init(){
try{ await document.fonts.ready; }catch(e){}
fitScreen();
}
window.addEventListener('load', init);
window.addEventListener('resize', fitScreen);
init();
</script>
</body>
</html>
