/* Shared shell for every page: phone-width frame, night header, footer and floating dock. Variables are --s-* so page palettes stay untouched. */
@font-face{font-family:"Dohwa Title";src:url("/static/fonts/yeonsung-title.woff2?v=20260922") format("woff2");font-display:swap}
:root{--s-night:#0d1d1f;--s-deep:#081416;--s-panel:#142a2c;--s-rule:rgba(244,234,209,.13);--s-cream:#f4ead1;--s-soft:#c9cfc0;--s-dim:#8fa098;--s-gold:#c9a464;--s-peach:#eab1a6;--paper:#f7f4ed;--ink:#253735;
  --title:"Dohwa Title","Noto Serif KR","Nanum Myeongjo",serif;--serif:"Noto Serif KR","Nanum Myeongjo",Batang,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Pretendard","Malgun Gothic","Noto Sans KR",sans-serif;--dock:64px}
.frame{position:relative;max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;background:var(--s-night);box-shadow:0 0 0 1px rgba(244,234,209,.06),0 0 80px rgba(0,0,0,.55);padding-bottom:calc(var(--dock) + 28px + env(safe-area-inset-bottom))}
.entering .frame{padding-bottom:0}
.bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 18px;background:rgba(13,29,31,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--title);font-size:27px;line-height:1;letter-spacing:1px;color:var(--s-cream)}
.logo span{padding-top:3px}
.bar-link{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 4px;font-size:13px;color:var(--s-soft)}
.bar-link svg,.dock svg,.stage-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.foot{margin-top:40px;padding:26px 18px 8px;border-top:1px solid var(--s-rule);font-size:11.5px;line-height:1.8;color:var(--s-dim)}
.foot-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:12px;font-size:12.5px;color:var(--s-soft)}
.foot-links a{min-height:32px;display:inline-flex;align-items:center}
.foot p+p{margin-top:6px}.foot small{display:block;margin-top:14px;font-size:11px}
.dock{position:fixed;z-index:40;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:2px;padding:6px;border-radius:999px;background:rgba(20,38,40,.82);border:1px solid rgba(244,234,209,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 30px -10px #000}
.dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:84px;height:52px;border-radius:999px;font-size:11px;color:var(--s-dim)}
.dock a[aria-current=page]{background:rgba(244,234,209,.1);color:var(--s-cream)}
@media(min-width:481px){.dock{bottom:22px}}
@media print{html,body{background:#fff!important}.bar,.foot,.dock{display:none!important}.frame{max-width:none;min-height:0;box-shadow:none;background:none!important;padding:0}}
