@font-face{font-family:PretendardVF;font-style:normal;font-weight:45 920;font-display:block;src:url("../fonts/PretendardVariable.woff2") format("woff2")}
@font-face{font-family:MaruBuri;font-style:normal;font-weight:400;font-display:block;src:url("../fonts/MaruBuri-Regular.woff2") format("woff2")}
@font-face{font-family:MaruBuri;font-style:normal;font-weight:700;font-display:block;src:url("../fonts/MaruBuri-Bold.woff2") format("woff2")}
@font-face{font-family:CormorantG;font-style:normal;font-weight:700;font-display:block;src:url("../fonts/cormorant-garamond-700-latin.woff2") format("woff2")}
@font-face{font-family:InstrumentItalic;font-style:italic;font-weight:500;font-display:block;src:url("../fonts/instrument-sans-500italic-latin.woff2") format("woff2")}
@font-face{font-family:BodoniModa;font-style:normal;font-weight:400 900;font-display:block;src:url("../fonts/bodoni-moda-latin.woff2") format("woff2")}
@font-face{font-family:IBMPlexMono;font-style:normal;font-weight:400;font-display:block;src:url("../fonts/ibm-plex-mono-latin-400.woff2") format("woff2")}
@font-face{font-family:GateBodoniIt;font-style:italic;font-weight:400 700;font-display:block;src:url("../fonts/bodoni-moda-latin-italic.woff2") format("woff2")}

:root{
  --paper:#faf8f3;--ink:#141210;--muted:#6a645c;--faint:#857d72;--soft:#ede5d6;
  --spine:#121110;--spine-ink:#f4efe4;--verm:#d35400;
  --line:rgba(20,18,16,.14);--line-deep:#141210;
  --plate:#aabdd8;--plate-ink:#2b3850;--green:#5f735d;
  --display:BodoniModa,MaruBuri,serif;--serif:MaruBuri,serif;
  --brand:CormorantG,Georgia,serif;--ui:PretendardVF,system-ui,sans-serif;
  --mono:IBMPlexMono,ui-monospace,monospace;
  --type-micro:11px;--type-small:12px;--type-caption:14px;
  --content-max:1120px;--read-max:42rem;
  --marker:rgba(211,84,0,.36);
  --aside-w:300px;
  --desk-column:#d35400;--desk-politics:#9d3a2a;--desk-economy:#2b3850;--desk-investment:#5f735d;--desk-ephemeral:#c9a83a;
  --swatch-orange:#d35400;--swatch-blue:#aabdd8;--swatch-gold:#e8c46a;
}
@media (min-width:921px){
  :root{--content-max:1288px;--read-max:48.3rem}
  .tagline{white-space:nowrap}
  .mode-toggle{left:calc(var(--aside-w) + 20px);right:auto}
}
html.dark{
  --paper:#16130f;--ink:#ece7db;--muted:#b0a89a;--faint:#8f877a;--soft:#231d17;
  --spine:#0d0c0a;--line:rgba(236,231,219,.14);--line-deep:#ece7db;
  --plate:#2b3850;--plate-ink:#bcc6da;--green:#8ca486;
  --marker:rgba(211,84,0,.28);
}
/* 좌측 사이드바(#aside)는 라이트·다크 모두 동일한 '다크 레일'로 둔다.
   사이드바 배경만 var(--spine)에 의존하고 텍스트·보더는 전부 하드코딩 라이트값이라,
   다크모드에서 --spine 을 라이트값(#121110)으로 고정하면 사이드바가 두 모드에서 완전히 동일해진다. */
html.dark #aside{ --spine:#121110; }
*{box-sizing:border-box;border-radius:0!important;margin:0;padding:0}
html{color-scheme:light;overflow-x:hidden}
html.dark{color-scheme:dark}
body{
  min-height:100vh;background:var(--paper);color:var(--ink);
  display:grid;grid-template-columns:var(--aside-w) minmax(0,1fr);
  align-items:start;
  font-family:var(--ui);font-size:16px;line-height:1.65;
  word-break:keep-all;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;max-width:100%;
}
a{color:inherit;text-decoration:none}
::selection{background:var(--verm);color:#fff}

#aside{
  position:sticky;top:0;align-self:start;
  height:100vh;max-height:100vh;min-height:0;
  background:var(--spine);color:var(--spine-ink);
  display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.1);
  overflow:hidden;max-width:100%;
}
.aside-top{padding:26px 22px 16px;overflow:hidden;max-width:100%}
.brand{
  position:relative;display:inline-block;overflow:hidden;max-width:100%;
  font-family:var(--brand);font-size:2.05rem;font-weight:700;line-height:1;color:#f1efeb;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .56s cubic-bezier(.22,1,.36,1),filter .44s ease,text-shadow .44s ease;
}
.brand::after{
  content:"";position:absolute;inset:-2px -8px;pointer-events:none;
  background:linear-gradient(108deg,transparent 0%,rgba(255,248,238,.42) 36%,rgba(211,84,0,.55) 52%,transparent 72%);
  transform:translateX(-125%);opacity:0;
}
.brand:hover{
  transform:translateX(5px);
  filter:brightness(1.14);
  text-shadow:0 0 22px rgba(211,84,0,.22);
}
.brand:active,.brand.is-press{transform:translateX(2px) scale(.96);filter:brightness(1.22)}
.brand.is-pulse{animation:brand-pulse 1.28s cubic-bezier(.16,1,.32,1)}
.brand.is-glitter::after,.brand.is-sweep::after{animation:brand-scan 2.4s cubic-bezier(.16,1,.32,1)}
.brand-char{
  display:inline-block;
  transition:color .5s cubic-bezier(.16,1,.32,1),text-shadow .5s cubic-bezier(.16,1,.32,1),transform .54s cubic-bezier(.16,1,.32,1),filter .46s ease;
}
.brand-char.brand-dot{color:var(--verm)}
.brand:not(.is-sweep):not(.is-glitter):not(.is-cooldown) .brand-char.brand-dot{animation:brand-dot-idle 15.2s ease-in-out infinite}
.brand:hover .brand-char,.brand.is-glitter .brand-char,.brand.is-sweep .brand-char{
  animation:brand-glitter 1.84s cubic-bezier(.16,1,.32,1) both;
  animation-delay:calc(var(--i) * .104s);
}
.brand-char.is-lit{
  color:#fff;
  text-shadow:0 0 16px rgba(255,248,238,.78),0 0 5px rgba(211,84,0,.42);
  transform:translateY(-3px) scale(1.1);
  filter:brightness(1.2);
  animation:none!important;
}
.brand-char.brand-dot.is-lit{
  color:#fff;
  text-shadow:0 0 16px rgba(211,84,0,.75),0 0 28px rgba(211,84,0,.45);
  transform:translateY(-2px) scale(1.32);
}
@keyframes brand-scan{
  0%{transform:translateX(-125%);opacity:0}
  14%{opacity:.95}
  72%{opacity:.42}
  100%{transform:translateX(125%);opacity:0}
}
@keyframes brand-pulse{
  0%,100%{letter-spacing:0;transform:translateX(0) scale(1);filter:brightness(1)}
  34%{letter-spacing:.09em;transform:translateX(7px) scale(1.03);filter:brightness(1.28)}
  62%{letter-spacing:.04em;transform:translateX(3px) scale(1.01);filter:brightness(1.1)}
}
@keyframes brand-dot-idle{
  0%,100%{transform:scale(1);filter:brightness(1);text-shadow:none}
  50%{transform:scale(1.18);filter:brightness(1.35);text-shadow:0 0 10px rgba(211,84,0,.55)}
}
@keyframes brand-glitter{
  0%{color:inherit;text-shadow:none;filter:none;transform:translateY(0) scale(1)}
  34%{color:#fff;text-shadow:0 0 14px rgba(255,248,238,.72),0 0 5px rgba(232,196,106,.34);transform:translateY(-3px) scale(1.1)}
  56%{color:rgba(255,248,238,.9);text-shadow:0 0 9px rgba(255,248,238,.48),0 0 3px rgba(211,84,0,.18);transform:translateY(-1px) scale(1.03)}
  100%{color:inherit;text-shadow:none;filter:none;transform:translateY(0) scale(1)}
}
.brand:hover .brand-char.brand-dot,.brand.is-glitter .brand-char.brand-dot,.brand.is-sweep .brand-char.brand-dot{
  animation-name:brand-dot-glitter;
  animation-delay:calc(var(--i) * .104s);
}
@keyframes brand-dot-glitter{
  0%{color:var(--verm);text-shadow:none;transform:scale(1)}
  34%{color:#fff;text-shadow:0 0 14px rgba(211,84,0,.72),0 0 26px rgba(211,84,0,.42);transform:scale(1.38) translateY(-2px)}
  56%{color:rgba(255,248,238,.88);text-shadow:0 0 8px rgba(211,84,0,.38);transform:scale(1.14) translateY(-1px)}
  100%{color:var(--verm);text-shadow:none;transform:scale(1)}
}
.brand.is-cooldown .brand-char{animation:none!important}
.tagline{margin-top:13px;font-family:InstrumentItalic,var(--ui);font-style:italic;font-size:.875rem;line-height:1.45;color:#e8e1d0;position:relative;cursor:default;overflow:hidden;max-width:100%}
.tagline .wave-char{
  display:inline-block;
  animation:tagline-idle 4.2s ease-in-out infinite;
  animation-delay:calc(var(--i, 0) * .07s);
  transition:color .14s ease,text-shadow .14s ease,transform .14s cubic-bezier(.22,1,.36,1),opacity .14s ease;
}
.tagline .wave-char.is-lit{
  color:#fff;
  text-shadow:0 0 14px rgba(255,248,238,.65),0 0 4px rgba(211,84,0,.22);
  transform:translateY(-2px) scale(1.06);
  opacity:1;
  animation:none;
}
.tagline.is-sweeping .wave-char.is-lit{transition-duration:.1s}
.tagline.is-sweeping::after{
  content:"";position:absolute;left:0;right:0;bottom:1px;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(244,239,228,.55) 45%,transparent 100%);
  transform:translateX(-100%);opacity:0;pointer-events:none;
  animation:tagline-underline .85s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes tagline-idle{
  0%,100%{opacity:.76}
  50%{opacity:1}
}
@keyframes tagline-underline{
  0%{transform:translateX(-100%);opacity:0}
  20%{opacity:.9}
  100%{transform:translateX(100%);opacity:0}
}
.masthead-tag .wave-char{
  display:inline-block;animation:masthead-shimmer 7.2s ease-in-out infinite;
  animation-delay:calc(var(--i) * .1s);
}
@keyframes masthead-shimmer{
  0%,100%{opacity:1}
  50%{opacity:.58}
}
.edition{margin-top:10px;font-family:var(--mono);font-size:var(--type-micro);line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,239,228,.62)}
.search-box{padding:0 22px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
.aside-top .search-box{padding:18px 0 0;border-bottom:0}
.search-box label{
  display:block;margin-bottom:8px;font-family:var(--mono);font-size:var(--type-micro);
  line-height:1.45;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,239,228,.48);
}
.search-wrap{position:relative}
.search-wrap input{
  width:100%;padding:10px 44px 10px 12px;border:1px solid rgba(244,239,228,.24);
  background:rgba(255,255,255,.03);color:#fff;font-family:var(--ui);font-size:.88rem;outline:none;
  transition:border-color .25s,background .25s;
}
.search-wrap input:focus{border-color:var(--verm);background:rgba(255,255,255,.05)}
.search-wrap input::placeholder{
  font-family:var(--mono);font-size:var(--type-micro);letter-spacing:.08em;
  text-transform:uppercase;color:rgba(244,239,228,.42);
}
.search-kbd{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  font-family:var(--mono);font-size:10px;line-height:1.2;letter-spacing:.04em;
  color:rgba(244,239,228,.45);border:1px solid rgba(244,239,228,.2);padding:2px 6px;pointer-events:none;
}
#aside nav{flex:1;padding:12px 0;overflow-x:clip;overflow-y:auto;overscroll-behavior-x:none;scrollbar-width:none;-ms-overflow-style:none}
.aside-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow-x:clip;max-width:100%}
#aside nav::-webkit-scrollbar,.aside-panel::-webkit-scrollbar{display:none;width:0;height:0}
#aside nav::-webkit-scrollbar:horizontal,.aside-panel::-webkit-scrollbar:horizontal{display:none;height:0}
.aside-panel{scrollbar-width:none;-ms-overflow-style:none}
#aside .nav-label{padding:0 22px 10px;font-family:var(--mono);font-size:var(--type-micro);line-height:1.45;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,228,.52)}
#aside nav a + .nav-label{
  margin-top:18px;padding-top:16px;
  border-top:1px solid rgba(244,239,228,.1);
}
#aside nav a:has(+ .nav-label){margin-bottom:2px}
#aside nav a{
  position:relative;display:flex;justify-content:space-between;overflow:hidden;
  padding:10px 22px 10px 18px;
  border-left:4px solid transparent;
  color:rgba(244,239,228,.78);font-size:.9rem;line-height:1.4;
  transition:color .16s ease,background .22s cubic-bezier(.22,1,.36,1),padding-left .28s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,1,.36,1),filter .16s ease;
}
#aside nav a::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(105deg,rgba(255,255,255,.34) 0%,rgba(211,84,0,.5) 28%,transparent 62%);
  opacity:0;transform:translateX(-115%);
}
#aside nav a small{font-family:var(--mono);font-size:var(--type-micro);line-height:1.4;opacity:.72;transition:opacity .16s ease,transform .22s cubic-bezier(.22,1,.36,1)}
#aside nav a:not(.active):hover{
  color:#fff;background:rgba(211,84,0,.24);padding-left:30px;
  border-left-color:var(--verm);
  box-shadow:inset 5px 0 0 var(--verm),0 0 16px rgba(211,84,0,.22);
  transform:translateX(3px);
}
#aside nav a:not(.active):hover small{opacity:1;transform:translateX(2px)}
#aside nav a.active{
  color:#fff;padding-left:30px;
  border-left-color:#fff;
  background:linear-gradient(90deg,var(--verm) 0%,color-mix(in srgb,var(--verm) 68%,#121110) 58%,rgba(18,17,16,.92) 100%);
  box-shadow:inset 6px 0 0 #fff,0 0 24px rgba(211,84,0,.42);
  transform:translateX(4px);
}
#aside nav a.active small{opacity:1}
#aside nav a.is-press{
  transform:translateX(6px) scale(.985);
  background:rgba(211,84,0,.42);
  border-left-color:#fff;
  box-shadow:inset 6px 0 0 #fff,0 0 20px rgba(211,84,0,.35);
}
#aside nav a.is-tap{animation:nav-hit .46s cubic-bezier(.22,1,.36,1)}
#aside nav a.is-tap::after{animation:nav-scan .46s cubic-bezier(.22,1,.36,1)}
#aside nav a.is-activate{animation:nav-activate .58s cubic-bezier(.22,1,.36,1)}
@keyframes nav-hit{
  0%{transform:translateX(0) scale(1);filter:brightness(1)}
  38%{transform:translateX(8px) scale(1.025);filter:brightness(1.45)}
  100%{transform:translateX(4px) scale(1);filter:brightness(1)}
}
@keyframes nav-scan{
  0%{opacity:.95;transform:translateX(-115%)}
  100%{opacity:0;transform:translateX(115%)}
}
@keyframes nav-activate{
  0%{box-shadow:inset 0 0 0 #fff,0 0 0 rgba(211,84,0,0);transform:translateX(0)}
  42%{box-shadow:inset 7px 0 0 #fff,0 0 32px rgba(211,84,0,.58);transform:translateX(7px) scale(1.02)}
  100%{box-shadow:inset 6px 0 0 #fff,0 0 24px rgba(211,84,0,.42);transform:translateX(4px) scale(1)}
}
.swatches{position:relative;display:flex;height:9px;margin:0 22px 14px;margin-top:auto;overflow:hidden;isolation:isolate}
.swatches::after{
  content:"";position:absolute;inset:-1px 0;z-index:2;pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(255,248,238,.36) 44%,rgba(255,248,238,.68) 50%,rgba(255,248,238,.24) 56%,transparent 100%);
  transform:translateX(-140%);opacity:0;filter:blur(.2px);
  animation:swatch-sheen 20s cubic-bezier(.19,1,.22,1) infinite;
}
.swatches i{
  flex:1 1 0%;min-width:0;position:relative;z-index:1;overflow:hidden;
  transition:flex-grow .7s cubic-bezier(.19,1,.22,1);
  animation:swatch-breathe 20s cubic-bezier(.19,1,.22,1) infinite;
  animation-delay:var(--swatch-delay,0s);
}
.swatches i::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  box-shadow:inset 0 0 13px rgba(255,248,238,.6);
  opacity:0;transition:opacity .55s ease;
}
.swatches i:nth-child(1){--swatch-delay:0s;background:var(--swatch-orange)}
.swatches i:nth-child(2){--swatch-delay:.9s;background:var(--swatch-blue)}
.swatches i:nth-child(3){--swatch-delay:1.8s;background:var(--swatch-gold)}
.swatches:hover i{flex-grow:.82}
.swatches:hover i:hover{flex-grow:2.6}
.swatches i:hover::after{opacity:1}
@keyframes swatch-breathe{
  0%,58%,100%{box-shadow:inset 0 0 0 rgba(255,248,238,0)}
  74%{box-shadow:inset 0 0 11px rgba(255,248,238,.5)}
  85%{box-shadow:inset 0 0 5px rgba(255,248,238,.2)}
}
@keyframes swatch-sheen{
  0%,72%,100%{transform:translateX(-140%);opacity:0}
  78%{opacity:.2}
  86%{transform:translateX(140%);opacity:.34}
  94%{transform:translateX(140%);opacity:0}
}
@media (prefers-reduced-motion:reduce){.swatches i,.swatches::after{animation:none}}
.aside-foot{
  padding:12px 22px 20px;border-top:1px solid rgba(255,255,255,.1);
  font-family:var(--mono);font-size:var(--type-micro);line-height:1.7;
  letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,228,.62);
}
.aside-foot .copy{
  display:block;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);
  font-size:10px;line-height:1.75;letter-spacing:.04em;text-transform:none;color:rgba(244,239,228,.52);
  overflow-wrap:anywhere;word-break:break-word;
}
.aside-foot .copy b{
  display:block;margin-bottom:5px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(244,239,228,.72);
}

main{min-width:0;max-width:100%;overflow-x:hidden;transition:opacity .22s ease}
main.is-swapping{pointer-events:none}
main.is-swapping .wrap{opacity:.58}
.reveal-word{
  display:inline-block;opacity:0;transform:translateY(14px);
  animation:reveal-word-in .54s cubic-bezier(.22,1,.36,1) both;
  animation-delay:calc(var(--d,0) * 1ms);
}
.reveal-block{
  opacity:0;transform:translateY(18px);
  animation:reveal-block-in .56s cubic-bezier(.22,1,.36,1) both;
  animation-delay:calc(var(--d,0) * 1ms);
}
main.has-post .reveal-word{
  transform:translateY(16px);
  animation-duration:.72s cubic-bezier(.19,1,.32,1);
}
main.has-post .reveal-block{
  transform:translateY(22px);
  animation-duration:.76s cubic-bezier(.19,1,.32,1);
}
@keyframes reveal-word-in{to{opacity:1;transform:none}}
@keyframes reveal-block-in{to{opacity:1;transform:none}}
.masthead{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
  padding:10px 48px 9px;border-bottom:1px solid var(--line-deep);
  font-family:var(--mono);font-size:var(--type-small);line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.masthead-edition{justify-self:start}
.masthead-tag{
  justify-self:center;color:var(--muted);white-space:nowrap;
}
/* dark mode: hide the Ghost Portal trigger iframe until shell.js sets its color-scheme, to kill the white-canvas flash on refresh */
html.dark iframe[title="portal-trigger"],html.dark iframe.gh-portal-triggerbtn-iframe{opacity:0}
html.dark iframe[title="portal-trigger"].vs-scheme-ready,html.dark iframe.gh-portal-triggerbtn-iframe.vs-scheme-ready{opacity:1;transition:opacity .25s ease}
.masthead-desks{justify-self:end;text-align:right}
.masthead b{color:var(--verm);font-weight:400}
.wrap{max-width:var(--content-max);margin:0 auto;padding:0 48px 72px;--wrap-pad:48px}

.head{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;
  padding:36px 0 26px;border-bottom:1px solid var(--line);
}
.kicker{font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.12em;text-transform:uppercase;color:var(--verm)}
.head h1{margin-top:10px;font-family:var(--display);font-size:clamp(2.5rem,5vw,3.8rem);line-height:.92;font-weight:620}
.head p{margin-top:12px;max-width:54ch;color:var(--muted);font-size:var(--type-caption);line-height:1.7}
.head-meta{display:grid;gap:10px;text-align:right}
.head-stat{
  font-family:var(--mono);font-size:var(--type-micro);line-height:1.45;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);
}
.head-stat b{display:block;margin-bottom:3px;font-family:var(--display);font-size:1.35rem;color:var(--ink);letter-spacing:0;text-transform:none}
a.head-stat--latest{
  text-decoration:none;color:var(--muted);
  transition:color .22s ease;
}
a.head-stat--latest:hover{color:var(--ink)}
a.head-stat--latest:hover b{color:var(--verm)}

.latest-note{padding:28px 0 10px;border-bottom:1px solid var(--line-deep)}
.latest-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-bottom:14px;
}
.latest-kicker{font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.12em;text-transform:uppercase;color:var(--verm)}
.latest-meta{font-family:var(--mono);font-size:var(--type-micro);line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.latest-card{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;
  padding:18px 0 20px 16px;border-bottom:none;border-left-width:4px;
}
.latest-card .title{font-size:clamp(1.12rem,2.2vw,1.3rem);line-height:1.5}
.latest-card .dek{font-size:var(--type-caption);max-width:62ch}
.latest-go{
  font-family:var(--mono);font-size:var(--type-small);line-height:1.4;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);white-space:nowrap;
  transition:color .22s ease,transform .26s cubic-bezier(.22,1,.36,1);
}
.latest-card:hover .latest-go,.latest-card.is-hover .latest-go{color:var(--verm);transform:translateX(5px)}

.brand-side{
  position:relative;
  display:flex;flex-direction:column;justify-content:center;gap:10px;
  padding:22px 18px;background:var(--plate);color:var(--plate-ink);border-left:1px solid var(--line);
  min-width:0;max-width:100%;box-sizing:border-box;overflow-x:hidden;overflow-y:hidden;
}
.brand-main{display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,28vw,300px);column-gap:0;min-width:0;max-width:100%}
.brand-hero{
  display:grid;grid-template-columns:54px minmax(0,1fr);
  border-bottom:1px solid var(--line-deep);
  min-width:0;max-width:100%;overflow-x:clip;
}
.brand-rail{
  writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;
  padding:20px 0;font-family:var(--mono);font-size:var(--type-micro);line-height:1.45;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);border-right:1px solid var(--line);
}
.hero-box{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .82s cubic-bezier(.22,1,.36,1),
    transform .82s cubic-bezier(.22,1,.36,1),
    filter .82s cubic-bezier(.22,1,.36,1),
    clip-path .82s cubic-bezier(.22,1,.36,1),
    border-color .24s ease,box-shadow .24s ease,background .24s ease;
}
.brand-hero.is-assembled .hero-box.is-visible{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0)}
.brand-rail.hero-box{transform:rotate(180deg) translateX(-22px)}
.brand-hero.is-assembled .brand-rail.hero-box.is-visible{transform:rotate(180deg) translateX(0)}
.hero-box--visual{
  transform:translateY(28px) scale(.9);
  filter:blur(7px) saturate(.82);
  transition-duration:.98s,.98s,.98s,.98s;
}
.brand-hero.is-assembled .hero-box--visual.is-visible{transform:none;filter:none}
.brand-visual{
  position:relative;margin:0;aspect-ratio:1023/1537;min-height:460px;background:var(--paper);border-right:1px solid var(--line);overflow:hidden;
}
.brand-visual::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent 0%,rgba(211,84,0,.14) 46%,transparent 100%);
  transform:translateY(-108%);
}
.brand-hero.is-visual-live .brand-visual::after{animation:hero-scan 2.3s cubic-bezier(.22,1,.36,1) .24s both}
@keyframes hero-scan{
  0%{opacity:0;transform:translateY(-108%)}
  18%{opacity:1}
  100%{opacity:0;transform:translateY(108%)}
}
.brand-visual picture{display:block;width:100%;height:100%;min-height:inherit}
.brand-visual img{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:center;display:block}
/* Hero entrance — 10 split/crossing motions; one picked at random on each page entrance (built by shell.js buildHeroFlip). Refined: slow (~1.8s), gentle ease, soft-focus blur-clear, gentle offsets — luxurious & smooth. */
.brand-visual.has-flip{perspective:1700px}
.brand-visual.has-flip.hero-box--visual{transform:none;filter:none;opacity:1}
.bv-slices{position:absolute;inset:0;z-index:2;transform-style:preserve-3d}
.bv-seg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;backface-visibility:hidden}
.brand-visual.has-flip img{opacity:0}
.brand-visual.has-flip.is-in img{animation:bv-base 1.6s cubic-bezier(.19,1,.26,1) 4.4s forwards}
@keyframes bv-base{to{opacity:1}}
.brand-visual.m1 .bv-seg{opacity:0;transform:translateY(calc(var(--dir) * 105%));filter:blur(6px)}
.brand-visual.m1.is-in .bv-seg{animation:bvk-y 3.6s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .22s)}
@keyframes bvk-y{from{opacity:0;transform:translateY(calc(var(--dir) * 105%));filter:blur(6px)}40%{opacity:1}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.brand-visual.m2 .bv-seg{opacity:0;transform:translateX(calc(var(--dir) * 105%));filter:blur(6px)}
.brand-visual.m2.is-in .bv-seg{animation:bvk-x 3.6s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .2s)}
@keyframes bvk-x{from{opacity:0;transform:translateX(calc(var(--dir) * 105%));filter:blur(6px)}40%{opacity:1}to{opacity:1;transform:translateX(0);filter:blur(0)}}
.brand-visual.m3 .bv-seg{opacity:0;transform:translate(var(--tx),var(--ty));filter:blur(6px)}
.brand-visual.m3.is-in .bv-seg{animation:bvk-corner 3.8s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .24s)}
@keyframes bvk-corner{from{opacity:0;transform:translate(var(--tx),var(--ty));filter:blur(6px)}40%{opacity:1}to{opacity:1;transform:translate(0,0);filter:blur(0)}}
.brand-visual.m4 .bv-seg{opacity:0;transform:translateY(105%);filter:blur(6px)}
.brand-visual.m4.is-in .bv-seg{animation:bvk-rise 3.5s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .26s)}
@keyframes bvk-rise{from{opacity:0;transform:translateY(105%);filter:blur(6px)}40%{opacity:1}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.brand-visual.m5 .bv-seg{opacity:0;transform:translateY(-105%);filter:blur(6px)}
.brand-visual.m5.is-in .bv-seg{animation:bvk-drop 3.5s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .24s)}
@keyframes bvk-drop{from{opacity:0;transform:translateY(-105%);filter:blur(6px)}40%{opacity:1}to{opacity:1;transform:translateY(0);filter:blur(0)}}
.brand-visual.m6 .bv-seg{opacity:0;transform:scale(.64) rotate(calc(var(--dir) * 14deg));transform-origin:center;filter:blur(6px)}
.brand-visual.m6.is-in .bv-seg{animation:bvk-pin 3.8s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .26s)}
@keyframes bvk-pin{from{opacity:0;transform:scale(.64) rotate(calc(var(--dir) * 14deg));filter:blur(6px)}55%{opacity:1}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}
.brand-visual.m7 .bv-seg{opacity:0;transform:translateY(calc(var(--dir) * 105%));filter:blur(6px)}
.brand-visual.m7.is-in .bv-seg{animation:bvk-y 3.2s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .15s)}
.brand-visual.m8 .bv-seg{opacity:0;transform:rotateX(calc(var(--dir) * 76deg));transform-origin:center var(--oy);filter:blur(6px)}
.brand-visual.m8.is-in .bv-seg{animation:bvk-flipx 3.7s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .26s)}
@keyframes bvk-flipx{from{opacity:0;transform:rotateX(calc(var(--dir) * 76deg));filter:blur(6px)}45%{opacity:1}to{opacity:1;transform:rotateX(0);filter:blur(0)}}
.brand-visual.m9 .bv-seg{opacity:0;transform:rotateY(calc(var(--dir) * 76deg));transform-origin:var(--ox) center;filter:blur(6px)}
.brand-visual.m9.is-in .bv-seg{animation:bvk-flipy 3.7s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .24s)}
@keyframes bvk-flipy{from{opacity:0;transform:rotateY(calc(var(--dir) * 76deg));filter:blur(6px)}45%{opacity:1}to{opacity:1;transform:rotateY(0);filter:blur(0)}}
.brand-visual.m10 .bv-seg{opacity:0;transform:translate(var(--tx),var(--ty));filter:blur(6px)}
.brand-visual.m10.is-in .bv-seg{animation:bvk-shard 3.6s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--i) * .22s)}
@keyframes bvk-shard{from{opacity:0;transform:translate(var(--tx),var(--ty));filter:blur(6px)}35%{opacity:1}to{opacity:1;transform:translate(0,0);filter:blur(0)}}
.hero-box--intro{transform:translateX(26px)}
.hero-box--intro .brand-mark,
.hero-box--intro .brand-title,
.hero-box--intro .brand-line{
  opacity:0;transform:translateY(12px);
  transition:opacity .62s ease,transform .62s cubic-bezier(.22,1,.36,1);
}
.hero-box--intro.is-visible .brand-mark{opacity:1;transform:none;transition-delay:.1s}
.hero-box--intro.is-visible .brand-line.sub{opacity:1;transform:none;transition-delay:.28s}
.hero-box--intro{padding:4px 2px 14px;border-bottom:1px solid rgba(20,18,16,.14);min-width:0;max-width:100%}
.hero-box--room{
  display:block;padding:12px 12px 11px;
  border:1px solid rgba(20,18,16,.16);background:rgba(255,255,255,.04);
  text-decoration:none;color:inherit;
  transition-duration:.9s,.9s,.9s,.9s,.24s,.24s,.24s;
  min-width:0;max-width:100%;box-sizing:border-box;
}
.hero-box--room .brand-room-dek{
  opacity:0;transform:translateY(6px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1);
}
.hero-box--room.is-visible .brand-room-dek{opacity:1;transform:none;transition-delay:.22s}
.hero-box--room:first-of-type{margin-top:2px}
.hero-box--room::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--room-accent,var(--verm));
  transition:width .34s cubic-bezier(.22,1,.36,1);
}
.hero-box--room{position:relative;overflow:hidden}
.hero-box--room.is-reveal-flash::before{width:5px}
.hero-box--foot{margin-top:auto;padding-top:14px;border-top:1px solid rgba(20,18,16,.18);transform:translateY(14px)}
.brand-room--politics{--room-accent:var(--desk-politics)}
.brand-room--essay{--room-accent:var(--desk-ephemeral)}
.brand-room--investment{--room-accent:var(--desk-investment)}
.brand-room--archive{--room-accent:#6a7f9a}
.brand-room--reading{--room-accent:var(--desk-economy)}
.hero-box--room:hover,.hero-box--room.is-active{
  transform:translateX(4px);
  border-color:color-mix(in srgb,var(--room-accent) 42%,rgba(20,18,16,.16));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--room-accent) 14%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--room-accent) 10%,transparent),rgba(255,255,255,.04) 68%);
}
.hero-box--room.is-visible:hover,.hero-box--room.is-visible.is-active{transform:translateX(4px)}
.hero-box--room:hover::before,.hero-box--room.is-active::before{width:4px}
/* Touch devices only: drop the :hover highlight (it sticks after a tap and the box reads as "cut"). Mouse users keep the full hover interaction at every width. */
@media (hover:none){
  .hero-box--room:hover{transform:none;border-color:rgba(20,18,16,.16);box-shadow:none;background:rgba(255,255,255,.04)}
  .hero-box--room:hover::before{width:0}
  /* Touch (Samsung Internet 등): render split title glyphs as plain inline text
     so an enlarged browser font wraps with correct line spacing instead of
     overlapping. Typing reveal (opacity+blur) still works on inline; only the
     per-char hover/tap "lift" (transform) is dropped — meaningless on touch. */
  .title-char{display:inline}
}
.brand-mark{font-family:var(--brand);font-size:1.85rem;line-height:1;font-weight:700;color:var(--plate-ink)}
.brand-mark .brand-dot{color:var(--verm)}
.brand-line{font-family:var(--mono);font-size:var(--type-small);line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb,var(--plate-ink) 72%,#111)}
html.dark .brand-line{color:var(--plate-ink)}
.brand-line.brand-title{font-family:var(--display);font-size:1.15rem;letter-spacing:0;text-transform:none;font-weight:520}
.brand-line.sub{font-size:var(--type-micro);letter-spacing:.12em;opacity:.88;text-transform:none;font-family:var(--mono);font-style:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.brand-rooms{display:grid;gap:8px;margin-top:2px;min-width:0;max-width:100%;overflow-x:hidden}
.brand-room{
  transition:transform .22s cubic-bezier(.22,1,.36,1),background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.brand-room-label{
  display:block;font-family:var(--mono);font-size:var(--type-micro);line-height:1.4;
  letter-spacing:.1em;text-transform:uppercase;color:var(--plate-ink);
  overflow-wrap:anywhere;word-break:break-word;max-width:100%;
}
.brand-room-dek{
  display:block;margin-top:5px;font-size:10px;line-height:1.55;letter-spacing:.04em;
  text-transform:uppercase;color:color-mix(in srgb,var(--plate-ink) 68%,#111);
  overflow-wrap:anywhere;word-break:break-word;max-width:100%;
}
.brand-room-char{display:inline-block;opacity:0;transform:translateY(.5em);filter:blur(3px);transition:color .12s ease,text-shadow .12s ease}
.brand-hero.is-assembled .brand-room-char{animation:bvc-in 1.1s cubic-bezier(.19,1,.26,1) both;animation-delay:calc(var(--d,0) * 1ms)}
@keyframes bvc-in{from{opacity:0;transform:translateY(.5em);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@media (prefers-reduced-motion:reduce){.brand-room-char{opacity:1;transform:none;filter:none;animation:none}}
.brand-room-char.is-lit{color:#fff;text-shadow:0 0 10px color-mix(in srgb,var(--room-accent,var(--verm)) 42%,transparent);transform:translateY(-1px)}
html.dark .brand-room-dek{color:var(--plate-ink);opacity:.88}
.head-index{
  display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:var(--type-micro);line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);
}
.brand-foot{
  font-family:var(--mono);font-size:var(--type-micro);line-height:1.5;letter-spacing:.08em;
  text-transform:uppercase;color:color-mix(in srgb,var(--plate-ink) 62%,#111);
}
html.dark .brand-foot{color:var(--plate-ink);border-top-color:rgba(236,231,219,.14)}

.feed{padding-top:18px}
.group{padding-top:26px}
.group-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.group-head h3{font-family:var(--display);font-size:1.55rem;font-weight:520}
.group-head .meta{font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.group-head a{font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.group-head .group-meta{display:flex;align-items:baseline;gap:14px}
.row{
  position:relative;
  --row-accent:var(--desk-column);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;
  padding:16px 0 16px 2px;border-bottom:1px solid var(--line);align-items:start;
  transition:padding-left .28s cubic-bezier(.2,.75,.2,1),background .28s ease,box-shadow .28s ease;
}
/* 좌측 마커 = 커커 앞 각진 도트 (구 글로우 스파인 대체). 리빌·호버 안무 결합.
   커커(.row-desk)가 없는 행(홈 데스크 그룹)은 마커 없이 호버 틴트·슬라이드만. */
.row::after{ content:none }
.row-desk::before{
  content:"";position:absolute;left:0;top:50%;pointer-events:none;
  width:7px;height:7px;background:var(--row-accent);
  transform:translateY(-50%) scale(1);transform-origin:left center;
  transition:transform .55s cubic-bezier(.34,1.35,.6,1),box-shadow .5s ease,background .3s ease,opacity .55s ease;
}
.row-feed-reveal .row-desk::before{opacity:0;transform:translateY(-50%) scale(0)}
.row-feed-reveal.is-in .row-desk::before{opacity:1;transform:translateY(-50%) scale(1);transition-delay:.14s}
.row:hover .row-desk::before,.row.is-hover .row-desk::before,.row.is-tap .row-desk::before{
  transform:translateY(-50%) scale(1.5);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--row-accent) 13%,transparent),0 0 12px color-mix(in srgb,var(--row-accent) 52%,transparent);
}
.row.is-tap .row-desk::before{transform:translateY(-50%) scale(1.22)}
/* tap "loading" bar — plays on touch before navigating */
.row::before{
  content:"";position:absolute;left:0;top:0;height:2px;width:0;opacity:0;border-radius:2px;pointer-events:none;z-index:2;
  background:linear-gradient(90deg,transparent,var(--row-accent));
}
.row.is-tap-load::before{opacity:.95;width:100%;transition:width .85s cubic-bezier(.2,.75,.2,1),opacity .2s ease}
.row--column{--row-accent:var(--desk-column)}
.row--politics{--row-accent:var(--desk-politics)}
.row--economy{--row-accent:var(--desk-economy)}
.row--investment{--row-accent:var(--desk-investment)}
.row--ephemeral{--row-accent:var(--desk-ephemeral)}
.group-lead .row{
  padding-left:4px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--row-accent) 3%,transparent),transparent 48%),var(--paper);
}
.row:hover,.row.is-hover,.row.is-tap{
  padding-left:12px;
  background:color-mix(in srgb,var(--row-accent) 6%,var(--paper));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--row-accent) 10%,transparent);
}
.row:hover .date,.row.is-hover .date{color:var(--ink)}
.row-main{min-width:0}
.title{display:inline;font-family:var(--serif);font-size:1.1rem;font-weight:600;line-height:1.55}
.title-char{
  display:inline-block;
  transition:color .12s ease,text-shadow .12s ease,transform .16s cubic-bezier(.22,1,.36,1);
}
.row:hover .title,.row.is-hover .title,.row.is-tap .title{background-image:none}
.row:hover .title-char.is-lit,.row.is-hover .title-char.is-lit{color:var(--row-accent);text-shadow:0 0 12px color-mix(in srgb,var(--row-accent) 24%,transparent);transform:translateY(-2px)}
.row.is-tap .title-char.is-lit{transform:translateY(-3px) scale(1.02)}
.dek{display:block;margin-top:6px;font-size:var(--type-caption);line-height:1.68;color:var(--muted)}
.date{font-family:var(--mono);font-size:var(--type-small);line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding-top:4px;white-space:nowrap}
.lock{background:var(--ink);color:var(--paper);padding:4px 8px;font-family:var(--mono);font-size:var(--type-micro);line-height:1.35;letter-spacing:.08em;text-transform:uppercase;align-self:start;justify-self:start;width:fit-content}

.tags-block{padding:32px 0 8px;border-top:1px solid var(--line-deep);margin-top:12px}
.tags-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.tags-head h3{font-family:var(--display);font-size:1.45rem}
.tags-head a{font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tag-grid{display:flex;flex-wrap:wrap;gap:8px}
.tag-grid a{
  display:inline-flex;align-items:center;min-height:40px;
  padding:8px 12px;border:1px solid var(--line);font-family:var(--mono);
  font-size:var(--type-small);line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
}
.tag-grid a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.sub{padding-top:28px}
.sub-head{padding-bottom:22px;border-bottom:1px solid var(--line)}
.sub-head h1{font-family:var(--display);font-size:clamp(2rem,4vw,2.8rem);line-height:1.08;margin-top:8px}
.sub-head p{margin-top:12px;max-width:56ch;color:var(--muted);font-size:var(--type-caption);line-height:1.7}
.post-accent{
  height:3px;margin-bottom:22px;background:var(--verm);
  transform:scaleX(0);transform-origin:left center;opacity:1;
  transition:transform .96s cubic-bezier(.19,1,.32,1);
}
.post-accent.is-drawn{transform:scaleX(1)}
.post-meta > span{
  opacity:1;
  transition:color .22s ease,letter-spacing .28s ease;
}
main.has-post .post-meta > span.reveal-block{letter-spacing:.02em}
.post-scroll-reveal{
  opacity:0;transform:translateY(24px);
  transition:
    opacity .78s cubic-bezier(.19,1,.32,1),
    transform .78s cubic-bezier(.19,1,.32,1);
  transition-delay:calc(var(--post-d,0) * 1ms);
}
.post-scroll-reveal.is-visible{opacity:1;transform:none}
.post-lead.post-scroll-reveal.is-visible{
  box-shadow:inset 0 -1px 0 var(--line);
  transition:
    opacity .82s cubic-bezier(.19,1,.32,1),
    transform .82s cubic-bezier(.19,1,.32,1),
    box-shadow .9s ease .24s;
}
.post-body blockquote.post-scroll-reveal{border-left-width:0;padding-left:18px}
.post-body blockquote.post-scroll-reveal.is-visible{
  border-left-width:3px;padding-left:22px;
  transition:
    opacity .78s cubic-bezier(.19,1,.32,1),
    transform .78s cubic-bezier(.19,1,.32,1),
    border-left-width .72s cubic-bezier(.19,1,.32,1) .12s,
    padding-left .72s cubic-bezier(.19,1,.32,1) .12s;
}
.post-body blockquote.post-scroll-reveal.is-visible p{
  opacity:0;transform:translateY(8px);
  transition:opacity .68s ease .28s,transform .68s cubic-bezier(.19,1,.32,1) .28s;
}
.post-body blockquote.post-scroll-reveal.is-visible.is-quote-lit p{opacity:1;transform:none}
.post-end.post-scroll-reveal.is-visible a{color:var(--ink)}
.post-accent--economy{background:var(--plate-ink)}
.post-accent--investment{background:var(--green)}
.post-accent--ephemeral{background:#c9a83a}
.post-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.post-lead{
  max-width:var(--read-max);margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line);
  font-family:var(--ui);font-size:1.2rem;line-height:1.72;letter-spacing:-.003em;color:var(--ink);
}
.post-body{max-width:var(--read-max);padding:8px 0 56px;font-family:var(--ui);font-size:1.05rem;line-height:1.9;letter-spacing:-.003em;color:var(--ink)}
.post-body > p + p{margin-top:1.15em}
.post-body h2{margin:2.2em 0 .85em;font-family:var(--display);font-size:1.45rem;font-weight:520;line-height:1.22}
.post-body h3{margin:1.8em 0 .7em;font-family:var(--mono);font-size:var(--type-small);letter-spacing:.1em;text-transform:uppercase;color:var(--verm)}
.post-body blockquote{
  margin:1.8em 0;padding:16px 0 16px 22px;border-left:3px solid var(--verm);
  color:var(--muted);font-size:1.02rem;line-height:1.82;
}
.post-body blockquote p{font-family:InstrumentItalic,var(--serif);font-style:italic}
.post-end{
  margin-top:2.5em;padding-top:18px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:var(--type-small);line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}
.prose{padding:28px 0 48px;max-width:var(--read-max);color:var(--ink);font-size:1.12rem;line-height:1.85}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 36px}
.tag-list a{
  display:inline-flex;align-items:center;min-height:40px;
  padding:8px 12px;border:1px solid var(--line);font-family:var(--mono);
  font-size:var(--type-small);line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
}
.tag-list a:hover{background:var(--ink);color:var(--paper)}

.tag-head{padding-bottom:24px}
.tag-head::before{content:"";display:block;width:48px;height:3px;margin-bottom:18px;background:var(--verm)}
.tag-intro{max-width:52ch;margin-top:14px;font-size:var(--type-caption);line-height:1.75;color:var(--muted)}
.tag-index-intro{max-width:56ch;margin-top:12px;font-size:var(--type-caption);line-height:1.7;color:var(--muted)}
.tag-toolbar{
  display:grid;gap:12px;margin-top:18px;padding:16px 0 6px;border-top:1px solid var(--line);
}
.tag-toolbar label{
  font-family:var(--mono);font-size:var(--type-micro);line-height:1.45;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);
}
.tag-toolbar input{
  width:100%;max-width:420px;padding:10px 12px;border:1px solid var(--line);background:var(--paper);
  color:var(--ink);font-family:var(--ui);font-size:.9rem;outline:none;
}
.tag-toolbar input:focus{border-color:var(--verm)}
.tag-cats{display:flex;flex-wrap:wrap;gap:7px}
.tag-cat{
  display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid var(--line);
  background:var(--paper);color:var(--muted);font-family:var(--mono);font-size:var(--type-micro);
  line-height:1.35;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.tag-cat.is-active,.tag-cat:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tag-empty{padding:28px 0 12px;font-size:var(--type-caption);line-height:1.7;color:var(--muted)}
.tag-stats{
  display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}
.tag-stats b{font-family:var(--display);font-size:1.2rem;font-weight:520;color:var(--ink);margin-right:6px;letter-spacing:0;text-transform:none}
.tag-related{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}
.tag-related-label{font-family:var(--mono);font-size:var(--type-micro);line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-right:2px}
.tag-related a{
  display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--line);
  font-family:var(--mono);font-size:var(--type-micro);line-height:1.35;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
}
.tag-related a:hover{
  color:var(--ink);
  background-image:linear-gradient(transparent 58%,var(--marker) 58%);
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
}
.tag-index{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:22px;
  border:1px solid var(--line);background:var(--line);
}
.tag-card{
  display:grid;grid-template-rows:1fr auto;gap:14px;min-height:140px;
  padding:18px 18px 16px;background:var(--paper);position:relative;overflow:hidden;
  transition:background .22s ease;
}
.tag-card::before{
  content:"";position:absolute;left:0;top:0;width:0;height:2px;
  background:var(--verm);transition:width .32s cubic-bezier(.22,1,.36,1);
}
.tag-card:hover{background:color-mix(in srgb,var(--verm) 4%,var(--paper))}
.tag-card:hover::before{width:36px}
.tag-card-cat{
  font-family:var(--mono);font-size:10px;line-height:1.35;letter-spacing:.12em;
  text-transform:uppercase;color:var(--faint);
}
.tag-card-label{
  align-self:start;
  font-family:var(--display);font-size:clamp(1.55rem,2.6vw,1.95rem);font-weight:400;
  line-height:1.05;letter-spacing:-.01em;color:var(--ink);transition:color .2s ease;
}
.tag-card:hover .tag-card-label{color:var(--verm)}
.tag-card-count{
  display:flex;align-items:baseline;gap:7px;
  font-family:var(--mono);font-size:var(--type-micro);line-height:1;
  letter-spacing:.1em;text-transform:uppercase;color:var(--faint);
}
.tag-card-count b{
  font-family:var(--display);font-size:1.85rem;font-weight:600;line-height:.82;
  letter-spacing:0;color:var(--verm);
}
.feed-tags{padding-top:14px}
.feed-tags .group-head{display:none}
.feed-flat{padding-top:8px}
.feed-flat .row:first-child{border-top:1px solid var(--line)}
.row-desk{display:block;position:relative;padding-left:16px;margin-bottom:5px;font-family:var(--mono);font-size:var(--type-micro);line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--row-accent)}
.feed:not(.feed-flat) > .row{padding-top:26px;padding-bottom:26px}
.archive-meta{margin-top:10px;font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pager{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  margin-top:8px;padding:20px 0 8px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:var(--type-small);line-height:1.45;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
}
.pager-actions{display:flex;gap:14px;align-items:center}
.pager-actions a{
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.08em;
  min-width:128px;min-height:44px;padding:0 18px;color:var(--ink);border:1px solid var(--line);
  overflow:hidden;background:transparent;
  transition:
    transform .72s cubic-bezier(.19,1,.22,1),
    border-color .9s cubic-bezier(.19,1,.22,1),
    background-color .9s cubic-bezier(.19,1,.22,1),
    box-shadow 1.05s cubic-bezier(.19,1,.22,1);
}
.pager-actions a::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  opacity:0;transform:scaleX(.14);
  transition:opacity .86s ease,transform 1.18s cubic-bezier(.19,1,.22,1);
}
.pager-actions a.pager-prev::before{
  transform-origin:left center;
  background:linear-gradient(90deg,color-mix(in srgb,var(--verm) 12%,transparent),color-mix(in srgb,var(--verm) 4%,transparent) 54%,transparent);
}
.pager-actions a.pager-next::before{
  transform-origin:right center;
  background:linear-gradient(270deg,color-mix(in srgb,var(--verm) 12%,transparent),color-mix(in srgb,var(--verm) 4%,transparent) 54%,transparent);
}
.pager-actions a::after{
  content:"";position:absolute;top:9px;bottom:9px;width:2px;pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--verm) 32%,transparent) 18%,var(--verm) 50%,color-mix(in srgb,var(--verm) 32%,transparent) 82%,transparent 100%);
  opacity:.26;transform:scaleY(.38);transform-origin:center;
  transition:opacity .72s ease,transform 1.08s cubic-bezier(.19,1,.22,1),width .72s ease;
}
.pager-actions a.pager-prev::after{left:0;right:auto}
.pager-actions a.pager-next::after{right:0;left:auto}
.pager-actions a:hover,
.pager-actions a:focus-visible,
.pager-actions a.is-hover,
.pager-actions a.is-tap{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--verm) 44%,var(--line));
  background-color:color-mix(in srgb,var(--verm) 2%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--verm) 8%,transparent),0 12px 28px -24px color-mix(in srgb,var(--verm) 42%,#000);
}
.pager-actions a:hover::before,
.pager-actions a:focus-visible::before,
.pager-actions a.is-hover::before,
.pager-actions a.is-tap::before{opacity:1;transform:scaleX(1)}
.pager-actions a:hover::after,
.pager-actions a:focus-visible::after,
.pager-actions a.is-hover::after,
.pager-actions a.is-tap::after{
  width:3px;animation:pager-edge-breathe 2.8s ease-in-out infinite;
}
.pager-actions a:active,.pager-actions a.is-tap{transform:translateY(0) scale(.992)}
.pager-char{
  position:relative;z-index:1;display:inline-block;
  transition:color .52s ease,text-shadow .72s ease,transform .72s cubic-bezier(.19,1,.22,1);
  transition-delay:calc(var(--i) * 18ms);
}
.pager-actions a:hover .pager-char,
.pager-actions a:focus-visible .pager-char,
.pager-actions a.is-hover .pager-char{transform:translateY(-1px)}
.pager-char.is-lit{
  color:var(--verm);text-shadow:0 0 12px color-mix(in srgb,var(--verm) 22%,transparent);
  transform:translateY(-2px);
}
.pager-muted{opacity:.42;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:128px;padding:0 18px}
@keyframes pager-edge-breathe{
  0%,100%{opacity:.66;transform:scaleY(.68)}
  50%{opacity:1;transform:scaleY(1)}
}

/* ───── MEMBERS GATE · non-logged-in visitors · fixed dark editorial, no mode switch ───── */
.gate{
  --cream:#f4efe4;--noir:#14110d;--verm:#d35400;--verm-deep:#a84300;--verm-deeper:#8a3700;
  --gate-ease:cubic-bezier(.16,1,.3,1);--gate-t:1.5s;
  position:fixed;inset:0;z-index:300;overflow-x:hidden;overflow-y:auto;container-type:inline-size;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:clamp(28px,6cqw,64px) clamp(20px,5cqw,48px);
  color:var(--cream);font-family:var(--ui);font-size:16px;line-height:1.6;
  background:
    radial-gradient(120% 85% at 50% 22%,rgba(211,84,0,.18),transparent 55%),
    var(--noir);
}
.gate *{border-radius:0}
.gate-dots{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;pointer-events:none}
.gate::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 34%,transparent 0 24%,rgba(20,17,13,.9) 70%)}
.gate-wrap{position:relative;z-index:2;width:100%;max-width:820px;display:flex;flex-direction:column;align-items:center}
.gate-rule{display:block;width:clamp(54px,18cqw,180px);height:1px;background:rgba(244,239,228,.55)}
.gate-rule-top{margin-bottom:clamp(16px,2.6cqw,26px)}
.gate-rule-bot{margin-top:clamp(18px,3cqw,30px)}
.gate-kicker{font-family:var(--ui);font-size:clamp(11px,1.4cqw,13px);line-height:1.45;font-weight:500;letter-spacing:.46em;text-indent:.46em;text-transform:uppercase;color:#ece3d2}
.gate-kicker::after{content:"";display:block;width:clamp(18px,2.2cqw,24px);height:2px;background:var(--verm);margin:clamp(10px,1.4cqw,15px) auto 0}
.gate-title{margin-top:clamp(16px,2.4cqw,26px);font-family:var(--display);font-size:clamp(27px,7.4cqw,60px);line-height:1.05;font-weight:700;letter-spacing:-.01em;color:var(--cream)}
.gate-epigraph{margin-top:clamp(16px,2.4cqw,26px);font-family:GateBodoniIt,var(--display);font-style:italic;font-size:clamp(15px,2.3cqw,23px);line-height:1.5;color:#cdc3b1}
.gate-signin{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:clamp(22px,3cqw,34px);padding:clamp(14px,1.7cqw,18px) clamp(30px,3.9cqw,42px);background:var(--verm);color:#fff;font-family:var(--ui);font-weight:500;font-size:clamp(12px,1.5cqw,15px);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;box-shadow:0 0 0 -5px rgba(211,84,0,0);transition:background calc(var(--gate-t)*.95) var(--gate-ease),box-shadow calc(var(--gate-t)*1.15) var(--gate-ease)}
.gate-signin>span{position:relative;z-index:3;text-indent:.22em}
.gate-signin::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);transform:translateX(-135%);transition:transform calc(var(--gate-t)*1.4) var(--gate-ease)}
.gate-signin:hover{background:var(--verm-deep);box-shadow:0 10px 34px -8px rgba(211,84,0,.5)}
.gate-signin:hover::before{transform:translateX(135%)}
.gate-signin:active{background:var(--verm-deeper)}
.gate-copy{margin-top:clamp(16px,2.6cqw,28px);font-family:var(--ui);font-size:clamp(10px,1.25cqw,12px);line-height:1.7;letter-spacing:.16em;text-indent:.16em;text-transform:uppercase;color:rgba(244,239,228,.42)}
@media (prefers-reduced-motion:reduce){.gate-signin,.gate-signin::before{transition:none}}
.search-results{padding-top:8px}
.search-empty{padding:24px 0;color:var(--muted);font-size:var(--type-caption);line-height:1.7}

.foot{
  display:flex;justify-content:space-between;align-items:baseline;gap:24px;
  margin-top:36px;padding-top:18px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:var(--type-small);line-height:1.5;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}
.foot a{color:var(--muted)}
.m-copy{display:none}
.foot a:hover{
  color:var(--ink);
  background-image:linear-gradient(transparent 58%,var(--marker) 58%);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.group-head a:hover{
  color:var(--ink);
  background-image:linear-gradient(transparent 58%,var(--marker) 58%);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.tags-head a:hover{
  color:var(--ink);
  background-image:linear-gradient(transparent 58%,var(--marker) 58%);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

.mode-toggle{
  position:fixed;right:20px;bottom:20px;z-index:40;width:40px;height:40px;
  border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;
  display:grid;place-items:center;
  transition:border-color .24s ease,background .24s ease,transform .22s cubic-bezier(.22,1,.36,1),box-shadow .24s ease;
}
.mode-toggle:hover{border-color:var(--verm);transform:translateY(-2px);box-shadow:0 6px 16px rgba(20,18,16,.1)}
.mode-toggle:active{transform:scale(.9)}

@keyframes enter-slide-left{
  from{opacity:0;transform:translateX(-28px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes aside-cascade-in{
  0%{opacity:0;transform:translate3d(-12px,0,0);filter:blur(1.5px)}
  58%{opacity:.94;transform:translate3d(-1px,0,0);filter:blur(0)}
  100%{opacity:1;transform:translate3d(0,0,0);filter:none}
}
@keyframes aside-panel-in{
  0%{opacity:0;transform:translate3d(-22px,0,0)}
  62%{opacity:.98;transform:translate3d(-2px,0,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}
html.is-entering #aside .aside-top{animation:enter-slide-left .72s cubic-bezier(.16,1,.32,1) both;animation-delay:.06s}
@media (min-width:921px){
  #aside .aside-panel{
    opacity:0;transform:translate3d(-22px,0,0);pointer-events:none;visibility:hidden;
    will-change:opacity,transform;
    transition:
      opacity .72s cubic-bezier(.4,0,.2,1),
      transform .78s cubic-bezier(.4,0,.2,1),
      visibility 0s linear .78s;
  }
  #aside.is-nav-live .aside-panel{
    opacity:1;transform:translate3d(0,0,0);pointer-events:auto;visibility:visible;
    transition:
      opacity .88s cubic-bezier(.16,1,.32,1) .08s,
      transform .94s cubic-bezier(.16,1,.32,1) .05s,
      visibility 0s linear 0s;
  }
  #aside.is-nav-revealing .aside-panel{animation:aside-panel-in .92s cubic-bezier(.16,1,.32,1) both}
  #aside.is-nav-revealing .aside-panel .aside-reveal-item{
    opacity:0;
    animation:aside-cascade-in .74s cubic-bezier(.16,1,.32,1) both;
    animation-delay:calc(.2s + var(--aside-i,0) * .034s);
  }
  #aside.is-nav-live:not(.is-nav-revealing) .aside-panel .aside-reveal-item{opacity:1;transform:none;filter:none;animation:none}
  #aside.is-nav-live:not(.is-nav-revealing) .aside-panel .swatches i.aside-reveal-item{
    animation:swatch-breathe 20s cubic-bezier(.19,1,.22,1) infinite;
    animation-delay:var(--swatch-delay,0s);
  }
  #aside:not(.is-nav-live) .brand::before{
    content:"";position:absolute;left:-4px;top:50%;width:3px;height:62%;
    transform:translateY(-50%) scaleY(.35);transform-origin:center;
    background:linear-gradient(180deg,transparent,var(--verm),transparent);
    opacity:.72;transition:transform .56s cubic-bezier(.16,1,.32,1),opacity .42s ease;
  }
  #aside.is-nav-live .brand::before{opacity:0;transform:translateY(-50%) scaleY(0)}
}
@media (max-width:920px){
  #aside.is-nav-revealing .aside-panel .aside-reveal-item{
    opacity:0;
    animation:aside-cascade-in .7s cubic-bezier(.16,1,.32,1) both;
    animation-delay:calc(.14s + var(--aside-i,0) * .032s);
  }
  html.menu-open #aside.is-nav-live:not(.is-nav-revealing) .aside-panel .aside-reveal-item{opacity:1;transform:none;filter:none;animation:none}
}
@keyframes enter-slide-down{
  from{opacity:0;transform:translateY(-16px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes enter-rise{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes enter-scale{
  from{opacity:0;transform:scale(.86)}
  to{opacity:1;transform:scale(1)}
}
html.is-entering .masthead > *{animation:enter-slide-down .52s cubic-bezier(.22,1,.36,1) both}
html.is-entering .masthead-edition{animation-delay:.08s}
html.is-entering .masthead-tag{animation-delay:.14s}
html.is-entering .masthead-desks{animation-delay:.2s}
html.is-entering main .wrap > *{animation:none}
html.is-entering main .wrap > :nth-child(1){animation-delay:0}
html.is-entering main .wrap > :nth-child(2){animation-delay:0}
html.is-entering main .wrap > :nth-child(3){animation-delay:0}
html.is-entering main .wrap > :nth-child(4){animation-delay:0}
html.is-entering main .wrap > :nth-child(5){animation-delay:0}
html.is-entering .mode-toggle{animation:enter-scale .48s cubic-bezier(.22,1,.36,1) .55s both}
.reveal-on-scroll{
  opacity:0;transform:translateY(22px);
  transition:opacity .58s ease,transform .58s cubic-bezier(.22,1,.36,1);
}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
.row-feed-reveal{
  opacity:0;
  transform:translateY(12px);
  padding-left:2px;
  transition:
    opacity 1.1s ease-in-out,
    transform 1.5s cubic-bezier(.2,.75,.2,1),
    padding-left .3s cubic-bezier(.2,.75,.2,1),
    background .22s ease,
    box-shadow .22s ease;
}
.row-feed-reveal.is-in{
  opacity:1;
  transform:none;
}
.group-lead .row-feed-reveal.is-in{
  padding-left:4px;
}
/* feed title — letter-by-letter typing on row entrance · slower & refined */
.row-feed-reveal .title-char{opacity:0}
.row-feed-reveal.is-in .title-char{animation:title-char-in .82s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--i) * 72ms)}
@keyframes title-char-in{0%{opacity:0;filter:blur(6px);transform:translateY(4px)}55%{opacity:1;filter:blur(0)}100%{opacity:1;filter:blur(0);transform:none}}
@media (prefers-reduced-motion:reduce){.row-feed-reveal .title-char{opacity:1;animation:none}}
.group.is-feed-revealed > .group-head{
  animation:reveal-block-in .56s cubic-bezier(.22,1,.36,1) both;
}
@media (min-width:921px) and (max-width:1100px){
  .tag-index{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:921px){
  body{
    display:block;
    background:linear-gradient(90deg,var(--spine) 0,var(--spine) var(--aside-w),var(--paper) var(--aside-w),var(--paper) 100%);
  }
  #aside{
    position:fixed;left:0;top:0;
    width:var(--aside-w);
    height:100vh;max-height:100vh;min-height:0;
    z-index:50;
    border-right:1px solid rgba(255,255,255,.1);
  }
  main{
    margin-left:var(--aside-w);
    width:auto;max-width:none;
    min-height:100vh;
  }
  .brand-main{
    --brand-art-w:1023;
    --brand-art-h:1537;
    --brand-side-w:clamp(220px,28vw,300px);
    --brand-side-extra:clamp(24px,3vw,40px);
    container-type:inline-size;
    align-items:center;
    column-gap:0;
  }
  .brand-visual{
    aspect-ratio:var(--brand-art-w)/var(--brand-art-h);
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    display:block;
    overflow:hidden;
    align-self:center;
  }
  .brand-visual img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center center;
  }
  .brand-side{
    min-height:calc((100cqi - var(--brand-side-w)) * var(--brand-art-h) / var(--brand-art-w) + var(--brand-side-extra));
    height:auto;
    max-height:none;
    align-self:center;
    padding:17px 14px;
    gap:7px;
    justify-content:space-between;
    overflow-x:hidden;
    overflow-y:hidden;
  }
  .hero-box--intro{transform:translateY(10px);padding-bottom:11px}
  .hero-box--room{transform:translateY(12px);clip-path:none}
  .brand-hero.is-assembled .hero-box--intro.is-visible,
  .brand-hero.is-assembled .hero-box--room.is-visible{clip-path:none}
  .brand-rooms{
    gap:6px;margin-top:0;flex:1;align-content:center;min-height:0;min-width:0;max-width:100%;
    overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none;scrollbar-width:thin;
    scrollbar-color:rgba(43,56,80,.22) transparent;
  }
  .brand-rooms::-webkit-scrollbar{width:5px;height:0}
  .brand-rooms::-webkit-scrollbar:horizontal{display:none;height:0}
  .brand-rooms::-webkit-scrollbar-thumb{background:rgba(43,56,80,.22);border-radius:99px}
  .hero-box--room{padding:10px 11px 9px}
  .hero-box--foot{margin-top:0;padding-top:11px;flex-shrink:0}
  .brand-mark{font-size:1.65rem}
  .brand-line.brand-title{font-size:1.05rem}
}
.mode-toggle svg{width:17px;height:17px}
.mode-toggle .sun{display:none}
html.dark .mode-toggle .moon{display:none}
html.dark .mode-toggle .sun{display:block}
.menu-btn{display:none}

@media (max-width:920px){
  html,body{overflow-x:clip;max-width:100%}
  body{display:block}
  html.menu-open,html.menu-open body{overflow:hidden;overscroll-behavior:none;height:100%;max-width:100%}
  html.menu-open body{
    position:fixed;width:100%;left:0;right:0;
    top:var(--scroll-lock,0);
  }
  #aside{position:sticky;top:0;z-index:40;height:auto}
  html:not(.menu-open) #aside{transition:transform .34s cubic-bezier(.22,1,.36,1)}
  html.header-hidden:not(.menu-open) #aside{transform:translateY(-100%)}
  html.menu-open #aside{
    position:fixed;inset:0;z-index:120;height:100dvh;max-height:100dvh;
    overflow:hidden;display:flex;flex-direction:column;max-width:100vw;width:100%;
  }
  html.menu-open .search-box{position:static;background:var(--spine)}
  html.menu-open main{pointer-events:none}
  html.menu-open .mode-toggle{opacity:0;visibility:hidden;pointer-events:none}
  .menu-btn{
    position:relative;display:grid;place-items:center;width:38px;height:32px;padding:0;
    border:1px solid rgba(244,239,228,.28);background:transparent;color:#fff;
    cursor:pointer;overflow:hidden;
    transition:border-color .24s ease,background .24s ease,transform .2s ease,box-shadow .24s ease;
    -webkit-tap-highlight-color:transparent;
  }
  .menu-btn-bars{display:grid;gap:4px;width:16px}
  .menu-btn-bars i{
    display:block;height:1.5px;background:#f4efe4;
    transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .22s ease,width .24s ease,background .24s ease;
  }
  .menu-btn:hover{
    border-color:var(--verm);background:rgba(211,84,0,.14);
    transform:translateY(-1px);box-shadow:0 5px 14px rgba(0,0,0,.2);
  }
  .menu-btn:hover .menu-btn-bars i:nth-child(2){width:72%;justify-self:end}
  .menu-btn:active,.menu-btn.is-pressing{
    transform:translateY(0) scale(.9);background:rgba(211,84,0,.28);
    box-shadow:0 2px 6px rgba(0,0,0,.16);
  }
  .menu-btn[aria-expanded="true"]{
    border-color:var(--verm);background:var(--verm);
    box-shadow:0 6px 16px rgba(211,84,0,.28);
  }
  .menu-btn[aria-expanded="true"] .menu-btn-bars i{background:#fff}
  .menu-btn[aria-expanded="true"] .menu-btn-bars i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] .menu-btn-bars i:nth-child(2){opacity:0;transform:scaleX(0)}
  .menu-btn[aria-expanded="true"] .menu-btn-bars i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
  .menu-btn[aria-expanded="true"]:hover{background:color-mix(in srgb,var(--verm) 88%,#fff)}
  .menu-btn[aria-expanded="true"]:active,.menu-btn[aria-expanded="true"].is-pressing{transform:scale(.9)}
  .aside-top{
    display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;
    overflow:visible;
    flex:0 0 auto;
    padding:8px 12px 18px;
    border-bottom:1px solid rgba(244,239,228,.1);
    min-width:0;
  }
  .aside-top .brand{
    justify-self:start;
    align-self:center;
    max-width:calc(100vw - 112px);
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
    font-size:clamp(2.05rem,9vw,2.55rem);
    line-height:.95;
  }
  .tagline,.edition,.aside-top .search-box{grid-column:1/-1}
  .tagline{
    position:relative;
    z-index:0;
    clear:both;
    overflow:visible;
    max-width:calc(100vw - 24px);
    white-space:normal;
    font-size:.82rem;
    line-height:1.62;
    padding-right:3px;
    margin-top:6px;
  }
  .tagline .wave-word{display:inline-block}
  .edition{margin-top:6px}
  .aside-top .search-box{
    width:100%;
    padding:8px 0 0;
    border-bottom:0;
  }
  .aside-top .search-wrap input{height:38px}
  .aside-panel{
    position:absolute;left:0;right:0;top:100%;width:100%;max-width:100%;
    max-height:0;overflow:hidden;opacity:0;flex:none;
    background:var(--spine);
    border-bottom:1px solid rgba(255,255,255,.1);
    box-shadow:0 14px 28px rgba(0,0,0,.16);
    transition:max-height .52s cubic-bezier(.16,1,.32,1),opacity .46s cubic-bezier(.16,1,.32,1);
    pointer-events:none;
  }
  html.menu-open .aside-panel{
    position:relative;top:auto;left:auto;right:auto;flex:1 1 auto;min-height:0;
    display:block;
    max-height:none;opacity:1;overflow-x:clip;overflow-y:auto;pointer-events:auto;
    -webkit-overflow-scrolling:touch;border-bottom:0;
    box-shadow:none;overscroll-behavior-x:none;
    padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 32px);
  }
  html.menu-open nav{overflow-y:visible;flex:0 0 auto}
  #aside nav a:not(.active):hover{transform:none;padding-left:28px}
  #aside nav a.active{transform:none}
  #aside nav a.is-press{transform:scale(.99)}
  #aside nav a.is-tap{animation:nav-hit-mobile .46s cubic-bezier(.22,1,.36,1)}
  #aside nav a.is-tap::after{animation:none;opacity:0}
  #aside nav a.is-activate{animation:nav-activate-mobile .58s cubic-bezier(.22,1,.36,1)}
  #aside nav a:not(.active):hover small{transform:none}
  .brand:hover{transform:none;filter:brightness(1.1);text-shadow:0 0 14px rgba(211,84,0,.18)}
  .brand:active,.brand.is-press{transform:scale(.97);filter:brightness(1.18)}
  .swatches{max-width:100%;margin:14px 22px 0;overflow:hidden}
  .aside-foot{
    overflow-x:hidden;max-width:100%;
  }
  @keyframes nav-hit-mobile{
    0%,100%{filter:brightness(1)}
    38%{filter:brightness(1.4)}
  }
  @keyframes nav-activate-mobile{
    0%{box-shadow:inset 0 0 0 #fff,0 0 0 rgba(211,84,0,0)}
    42%{box-shadow:inset 7px 0 0 #fff,0 0 28px rgba(211,84,0,.5)}
    100%{box-shadow:inset 6px 0 0 #fff,0 0 24px rgba(211,84,0,.42)}
  }
  .swatches{margin-top:8px}
  .swatches i,.swatches::after{animation:none}
  main{overflow-x:clip;max-width:100%}
  .wrap{padding:0 20px 56px;max-width:100%;overflow-x:clip;box-sizing:border-box;--wrap-pad:20px}
  .wrap.sub{padding-top:24px}
  .masthead{
    grid-template-columns:minmax(0,auto) minmax(0,1fr);
    gap:4px 12px;
    padding:8px 20px;
    align-items:baseline;
  }
  .masthead-desks{display:none}
  .masthead-edition{
    justify-self:start;
    font-size:10px;
    letter-spacing:.08em;
    white-space:nowrap;
  }
  .masthead-tag{
    justify-self:end;
    text-align:right;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
    font-size:clamp(.5rem,2.55vw,.72rem);
    letter-spacing:.01em;
  }
  .head{grid-template-columns:1fr;align-items:start}
  .head-meta{grid-template-columns:repeat(2,auto);justify-content:start;text-align:left;margin-top:8px}
  .latest-head{flex-wrap:wrap;gap:6px}
  .latest-meta{width:100%}
  .latest-go{display:none}
  .latest-card{grid-template-columns:1fr;padding-left:12px}
  .brand-hero{grid-template-columns:1fr;overflow-x:clip;max-width:100%;min-width:0}
  .brand-rail{display:none}
  .brand-main{grid-template-columns:1fr;min-width:0;max-width:100%}
  .brand-visual{min-height:340px;border-right:0}
  .brand-visual img{min-height:340px}
  .brand-side{
    border-top:1px solid var(--line);border-left:0;
    width:100%;max-width:100%;min-width:0;box-sizing:border-box;
    padding:18px 16px;overflow-x:clip;
  }
  .brand-rooms,.hero-box--intro,.hero-box--foot{min-width:0;max-width:100%}
  .hero-box--intro{transform:translateY(18px)}
  .hero-box--room{
    transform:translateY(16px);clip-path:none;
    max-width:100%;box-sizing:border-box;
  }
  .brand-hero.is-assembled .hero-box--room.is-visible{transform:none}
  .hero-box--room:hover,.hero-box--room.is-active,.hero-box--room.is-visible:hover,.hero-box--room.is-visible.is-active{transform:none}
  .brand-room-label{
    letter-spacing:.05em;white-space:normal;overflow-wrap:anywhere;
    word-break:keep-all;
  }
  .brand-room-dek{
    letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere;
    word-break:keep-all;
  }
  .brand-line.sub{letter-spacing:.03em;white-space:normal;overflow-wrap:anywhere}
  .brand-mark{font-size:1.65rem}
  .row{grid-template-columns:1fr;padding-left:2px}
  .row .lock,.row .date{justify-self:end}
  .m-copy{display:block;margin-top:8px;padding:22px 22px calc(28px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;line-height:1.85;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);text-align:center}
  .m-copy b{display:block;margin-bottom:5px;font-weight:500;letter-spacing:.07em;color:var(--ink)}
  .date{margin-top:8px;padding-top:0}
  .post-body{font-size:1.06rem;line-height:1.92}
  .post-lead{font-size:1.14rem;line-height:1.72}
  .pager{flex-direction:column;align-items:stretch;gap:14px}
  .pager-status{text-align:center}
  .pager-actions{justify-content:space-between}
  .pager-actions a,.pager-muted{flex:1;min-width:0;min-height:48px;padding:0 12px}
  .pager-actions a.pager-next,.pager-actions a.pager-prev{outline:0}
  .pager-actions a.pager-next:active,
  .pager-actions a.pager-next:focus-visible,
  .pager-actions a.pager-prev:active,
  .pager-actions a.pager-prev:focus-visible{
    padding:0 12px;
    border-color:color-mix(in srgb,var(--verm) 44%,var(--line));
    background-color:color-mix(in srgb,var(--verm) 4%,transparent);
  }
  .dek{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.62}
  .tag-grid{gap:7px}
  .tag-grid a{padding:7px 10px;font-size:var(--type-small)}
  .tag-index{grid-template-columns:1fr}
  .tag-related{gap:6px}
  .tag-cats{gap:6px}
  .tag-toolbar input{max-width:none}
  .search-kbd{display:none}
  .search-wrap input{padding-right:12px}
  body{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  .menu-btn,.menu-btn-bars i,.aside-panel{transition:none}
  .menu-btn:hover,.menu-btn:active,.menu-btn.is-pressing{transform:none}
  .swatches i,.swatches::after{animation:none}
  .tagline .wave-char,.masthead-tag .wave-char,.brand:hover .brand-char,.brand.is-glitter .brand-char,.brand.is-sweep .brand-char,.brand-char.brand-dot{animation:none}
  .brand-char.is-lit{transform:none;filter:none}
  .tagline .wave-char{opacity:1}
  html.is-entering .masthead > *,html.is-entering .mode-toggle,
  .reveal-word,.reveal-block{opacity:1;transform:none;animation:none}
  .reveal-on-scroll{opacity:1;transform:none;transition:none}
  .row-feed-reveal{opacity:1;transform:none;padding-left:2px;transition:none}
  .row-feed-reveal .row-desk::before{opacity:1;transform:translateY(-50%) scale(1);transition:none}
  main.has-post .post-scroll-reveal{opacity:1;transform:none;transition:none}
  main.has-post .post-accent{transform:scaleX(1)}
  main.has-post .post-body blockquote.post-scroll-reveal{border-left-width:3px;padding-left:22px}
  main.has-post .post-body blockquote.post-scroll-reveal p{opacity:1;transform:none;transition:none}
  .hero-box{opacity:1;transform:none;filter:none;clip-path:inset(0 0 0 0);transition:none}
  .hero-box--intro .brand-mark,.hero-box--intro .brand-title,.hero-box--intro .brand-line{opacity:1;transform:none;transition:none}
  .hero-box--room .brand-room-dek{opacity:1;transform:none;transition:none}
  .brand-visual::after{animation:none;opacity:0}
  .brand:hover,.brand:active{transform:none}
  #aside .aside-panel,#aside.is-nav-live .aside-panel{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:none;animation:none}
  #aside .aside-panel .aside-reveal-item{opacity:1;transform:none;filter:none;animation:none}
  #aside .brand::before{display:none}
  #aside nav a:not(.active):hover{padding-left:30px}
  #aside nav a.is-tap,#aside nav a.is-activate,#aside nav a.is-press{animation:none;transform:none;filter:none}
  #aside nav a.is-tap::after{animation:none}
  .row:hover,.row.is-hover,.row.is-tap{padding-left:12px;background:transparent;box-shadow:none}
  .row:hover .row-desk::before,.row.is-hover .row-desk::before,.row.is-tap .row-desk::before{transform:translateY(-50%) scale(1);box-shadow:none;transition:none}
  .row:hover .title-char.is-lit,.row.is-hover .title-char.is-lit,.row.is-tap .title-char.is-lit{transform:none;color:inherit;text-shadow:none}
  .pager-actions a,.pager-actions a::before,.pager-actions a::after,.pager-char{transition:none;animation:none}
  .pager-actions a:hover,.pager-actions a:focus-visible,.pager-actions a.is-hover,.pager-actions a.is-tap{transform:none;box-shadow:none}
  .pager-actions a:hover::before,.pager-actions a:focus-visible::before,.pager-actions a.is-hover::before,.pager-actions a.is-tap::before{opacity:0;transform:scaleX(.14)}
  .pager-actions a:hover::after,.pager-actions a:focus-visible::after,.pager-actions a.is-hover::after,.pager-actions a.is-tap::after{width:2px;opacity:.26;transform:scaleY(.38)}
  .pager-char.is-lit{transform:none;color:inherit;text-shadow:none}
  .brand-room:hover,.hero-box--room:hover,.hero-box--room.is-active{transform:none}
  .brand-room-char.is-lit{transform:none;color:inherit;text-shadow:none}
  .mode-toggle:hover{transform:none;box-shadow:none}
}

/* ===================== Koenig editor content ===================== */
.post-body img,.kg-image{max-width:100%;height:auto;display:block}
.kg-card{margin:1.8em 0}
figure{margin:1.8em 0}
figure img{width:100%;height:auto;display:block}
figcaption{margin-top:8px;text-align:center;font-family:var(--mono);font-size:var(--type-small);line-height:1.5;color:var(--muted)}
.kg-width-wide{position:relative;width:min(94vw,calc(var(--read-max) + 220px));margin-left:50%;transform:translateX(-50%);max-width:none}
.kg-width-wide img{width:100%}
.kg-width-full{position:relative;width:calc(100vw - var(--aside-w));margin-left:50%;transform:translateX(-50%);max-width:none}
.kg-width-full img{width:100%}
@media (max-width:920px){.kg-width-full{width:100vw}}
.kg-image-card.kg-card-hascaption,.kg-embed-card,.kg-gallery-card,.kg-bookmark-card{margin:1.8em 0}
.kg-gallery-container{display:flex;flex-direction:column;gap:10px}
.kg-gallery-row{display:flex;gap:10px}
.kg-gallery-image img{width:100%;height:100%;object-fit:cover;display:block}
.kg-embed-card{display:flex;justify-content:center}
.kg-bookmark-card a.kg-bookmark-container{display:flex;text-decoration:none;color:inherit;border:1px solid var(--line)}
.kg-bookmark-content{flex:1 1 auto;padding:18px;min-width:0}
.kg-bookmark-title{font-family:var(--display);font-size:1.05rem;color:var(--ink)}
.kg-bookmark-description{margin-top:6px;font-size:var(--type-caption);line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kg-bookmark-metadata{margin-top:10px;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:var(--type-small);color:var(--faint)}
.kg-bookmark-thumbnail{flex:0 0 30%;position:relative}
.kg-bookmark-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kg-callout-card{display:flex;gap:12px;padding:16px 18px;border-left:3px solid var(--verm);background:color-mix(in srgb,var(--verm) 5%,var(--paper))}
.kg-callout-emoji{flex:0 0 auto}
.kg-toggle-card{border:1px solid var(--line);padding:14px 16px}
.kg-toggle-heading{font-family:var(--display);font-size:1.05rem;margin:0}
.kg-header-card{padding:40px 0;text-align:center}
.kg-product-card,.kg-audio-card,.kg-video-card,.kg-file-card{margin:1.8em 0}
.kg-blockquote-alt{font-family:var(--display);font-size:1.5rem;line-height:1.4;font-style:italic}
hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}

/* ===== content protection (client-side deterrent — easily bypassed, not real security) ===== */
body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}
a,img,figure,.brand-visual img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}

/* post comments */
.post-comments{max-width:var(--read-max);margin:2.6em 0 1em;padding-top:26px;border-top:1px solid var(--line)}


/* ───────── VALUTUR 커스텀 댓글 (post.hbs #vc-comments) — 공개+비밀 ───────── */
#vc-comments{display:block}
.vc-head{display:flex;align-items:baseline;gap:10px;margin-bottom:24px}
.vc-label{font-family:var(--mono);font-size:var(--type-small);letter-spacing:.14em;text-transform:uppercase;color:var(--verm)}
.vc-count{font-family:var(--mono);font-size:11px;letter-spacing:.05em;color:var(--faint)}
.vc-login{border:1px solid var(--line);padding:22px 18px;text-align:center;font-size:14px;color:var(--muted);line-height:1.7}
.vc-login a{color:var(--verm);text-decoration:none;font-weight:600}
.vc-form{margin-bottom:34px}
.vc-form-who{font-family:var(--ui);font-size:12px;letter-spacing:.01em;color:var(--muted);margin-bottom:11px}
.vc-form-who b{color:var(--ink);font-weight:600}
.vc-ta{width:100%;min-height:98px;resize:vertical;border:1px solid var(--line);background:#fff;color:#141210;font-family:var(--ui);font-size:15px;line-height:1.7;outline:none;padding:13px 15px;transition:border-color .45s}
.vc-ta::placeholder{color:#9a938a}
.vc-ta:focus{border-color:var(--verm)}
.vc-form-foot{display:flex;align-items:center;gap:16px;margin-top:13px;flex-wrap:wrap}
.vc-secret-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-family:var(--ui);font-size:12px;letter-spacing:.01em;color:var(--muted);transition:color .45s}
.vc-secret-toggle:hover{color:var(--ink)}
.vc-box{width:14px;height:14px;border:1px solid var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:border-color .45s,background .45s}
.vc-box svg{width:9px;height:9px;opacity:0;transition:opacity .45s}
.vc-secret-toggle.on{color:var(--verm)}
.vc-secret-toggle.on .vc-box{border-color:var(--verm);background:var(--verm)}
.vc-secret-toggle.on .vc-box svg{opacity:1}
.vc-secret-hint{font-family:var(--ui);font-size:11.5px;letter-spacing:.01em;color:var(--faint)}
.vc-submit{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--line);padding:9px 20px;cursor:pointer;transition:border-color .45s,color .45s,background .45s}
.vc-submit:hover{border-color:var(--verm);color:var(--verm);background:color-mix(in srgb,var(--verm) 6%,transparent)}
.vc-c{padding:22px 0;border-top:1px solid var(--line)}
.vc-list > .vc-c:first-child{border-top:none}
.vc-c-head{display:flex;align-items:baseline;gap:10px;margin-bottom:7px;flex-wrap:wrap}
.vc-c-author{font-family:var(--ui);font-weight:600;font-size:14px;color:var(--ink);letter-spacing:-.01em}
.vc-c-role{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.vc-mine{font-family:var(--ui);font-size:11px;letter-spacing:.01em;color:var(--faint)}
.vc-c-date{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--faint);margin-left:auto}
.vc-c-body{font-family:var(--ui);font-size:14.5px;line-height:1.75;color:var(--ink);white-space:pre-wrap;word-break:break-word}
.vc-del{color:var(--faint);font-style:italic}
.vc-c-actions{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap;align-items:center}
.vc-c-actions button{font-family:var(--ui);font-size:11.5px;letter-spacing:.01em;color:var(--muted);background:none;border:none;cursor:pointer;padding:0;transition:color .45s}
.vc-c-actions button:hover{color:var(--verm)}
.vc-locked{display:inline-flex;align-items:center;gap:5px;font-family:var(--ui);font-size:11px;letter-spacing:.01em;color:var(--faint)}
.vc-locked svg{width:10px;height:10px}
.vc-replies{margin-top:14px;padding:4px 0 4px 16px;border-left:3px solid color-mix(in srgb,var(--verm) 52%,var(--line));background:color-mix(in srgb,var(--ink) 2%,transparent)}
.vc-replies .vc-c{padding:14px 0;margin-left:0;border-left:0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.vc-replies > .vc-c:first-child{border-top:0}
.vc-c.vc-admin{position:relative}
.vc-c.vc-admin .vc-c-author{color:var(--ink);font-family:var(--ui);font-weight:600;font-size:14px;letter-spacing:-.01em}
.vc-replies .vc-c.vc-admin::before{content:none}
.vc-c.vc-secret{background:color-mix(in srgb,var(--ink) 4%,var(--paper));border:1px solid var(--line);border-left:2px solid color-mix(in srgb,var(--ink) 32%,transparent);padding:16px;margin:0}
.vc-c.vc-secret + .vc-c{border-top:none}
.vc-c.vc-secret .vc-replies{border-left-color:color-mix(in srgb,var(--verm) 52%,var(--line))}
.vc-secret-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--ui);font-size:10.5px;letter-spacing:.02em;color:var(--muted);border:1px solid var(--line);padding:3px 7px}
.vc-secret-badge svg{width:9px;height:9px;stroke:var(--muted)}
.vc-secret-scope{display:block;margin:2px 0 9px;font-family:var(--ui);font-size:11px;letter-spacing:.01em;color:var(--faint)}
.vc-inline{margin-top:12px}
.vc-inline .vc-ta{min-height:64px}
.vc-inline-foot{display:flex;margin-top:9px}
.vc-inline-foot .vc-submit{margin-left:auto}


/* ───────── VALUTUR 받은함 오버레이 (page-inbox.hbs) — 사이드바 색 #121110 고정 다크 ───────── */
.vc-inbox-overlay{position:fixed;inset:0;z-index:99990;overflow-y:auto;background:#121110;color:#f4efe4;font-family:var(--ui);padding:0 clamp(18px,4vw,40px) 120px}
.vc-inbox-overlay .vi-lock{position:fixed;inset:0;display:grid;place-items:center;background:#121110;padding:24px}
.vi-lock-card{width:min(420px,92vw);text-align:center;border:1px solid rgba(236,231,219,.14);padding:clamp(28px,5vw,44px)}
.vi-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#d35400}
.vi-title{font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,7vw,3.4rem);line-height:1;margin:14px 0 6px;color:#f4efe4}
.vi-sub{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#b0a89a;margin-bottom:26px}
.vi-lock-card input{width:100%;background:#fff;color:#141210;border:1px solid rgba(236,231,219,.14);font-family:var(--ui);font-size:15px;padding:13px 15px;outline:none;text-align:center}
.vi-lock-card input:focus{border-color:#d35400}
.vi-lock-card button{width:100%;margin-top:12px;background:#d35400;color:#fff;border:1px solid #d35400;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:13px;cursor:pointer}
.vi-err{margin-top:14px;font-family:var(--mono);font-size:11px;color:#d35400}
.vc-inbox-overlay .ibar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:900px;margin:0 auto;padding:20px 0 16px;background:#121110;border-bottom:1px solid rgba(236,231,219,.14)}
.vc-inbox-overlay .ikick{font-family:var(--display);font-weight:600;font-size:1.5rem;color:#f4efe4}
.vc-inbox-overlay .iname{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#b0a89a;margin-left:2px}
.vc-inbox-overlay .home{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#b0a89a;text-decoration:none}
.vc-inbox-overlay .home:hover{color:#d35400}
.vc-inbox-overlay .ifilters{display:flex;gap:8px;margin-left:auto}
.vc-inbox-overlay .ifilters button{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#b0a89a;background:transparent;border:1px solid rgba(236,231,219,.14);padding:8px 13px;cursor:pointer}
.vc-inbox-overlay .ifilters button b{color:#f4efe4;font-weight:600;margin-left:5px}
.vc-inbox-overlay .ifilters button.on{border-color:rgba(236,231,219,.5);color:#f4efe4}
.vc-inbox-overlay .ibody{max-width:900px;margin:0 auto}
.vc-inbox-overlay .vi-empty{padding:60px 0;text-align:center;color:#8f877a;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.vc-inbox-overlay .pgroup{margin-top:34px}
.vc-inbox-overlay .pg-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid rgba(236,231,219,.14)}
.vc-inbox-overlay .pg-title{font-family:var(--display);font-weight:560;font-size:1.24rem;color:#f4efe4;text-decoration:none}
.vc-inbox-overlay .pg-title:hover{text-decoration:underline;text-underline-offset:3px}
.vc-inbox-overlay .pg-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:#8f877a;margin-left:auto}
.vc-inbox-overlay .pg-unans{color:#d35400;border:1px solid color-mix(in srgb,#d35400 50%,transparent);padding:2px 6px;margin-left:8px}
.vc-inbox-overlay .ic{padding:18px 0;border-bottom:1px solid rgba(236,231,219,.14)}
.vc-inbox-overlay .ic-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}
.vc-inbox-overlay .ic-author{font-family:var(--ui);font-weight:600;font-size:14px;color:#f4efe4}
.vc-inbox-overlay .badge{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px}
.vc-inbox-overlay .badge.pub{color:#b0a89a;border:1px solid rgba(236,231,219,.14)}
.vc-inbox-overlay .badge.sec{color:#b0a89a;border:1px solid rgba(236,231,219,.14);display:inline-flex;align-items:center;gap:4px}
.vc-inbox-overlay .badge.sec svg{width:9px;height:9px;stroke:#b0a89a}
.vc-inbox-overlay .badge.un{color:#d35400;border:1px solid color-mix(in srgb,#d35400 50%,transparent)}
.vc-inbox-overlay .badge.ban{color:#ef6a4c;border:1px solid color-mix(in srgb,#ef6a4c 55%,transparent)}
.vc-inbox-overlay .ic-date{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#8f877a;margin-left:auto}
.vc-inbox-overlay .ic-scope{display:block;font-family:var(--mono);font-size:10px;color:#8f877a;margin:-2px 0 8px}
.vc-inbox-overlay .ic-body{font-family:var(--ui);font-size:14.5px;line-height:1.72;color:#f4efe4;white-space:pre-wrap;word-break:break-word}
.vc-inbox-overlay .ic.secret{background:color-mix(in srgb,#ffffff 5%,#121110);border:1px solid rgba(236,231,219,.14);border-left:2px solid rgba(236,231,219,.34);padding:16px;margin:14px 0}
.vc-inbox-overlay .ic.admin .ic-author{font-family:var(--ui);font-weight:600;font-size:14px;color:#f4efe4}
.vc-inbox-overlay .ic .ic{margin-left:0;padding-left:16px;border-left:3px solid color-mix(in srgb,#d35400 58%,rgba(236,231,219,.18));border-bottom:none;background:color-mix(in srgb,#ffffff 2%,transparent)}
.vc-inbox-overlay .ic-tools{display:flex;align-items:center;gap:14px;margin-top:11px;flex-wrap:wrap}
.vc-inbox-overlay .ic-tools button{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#b0a89a;background:none;border:none;cursor:pointer;padding:0}
.vc-inbox-overlay .ic-tools button:hover{color:#d35400}
.vc-inbox-overlay .mod-toggle{border:1px solid rgba(236,231,219,.18)!important;padding:5px 9px!important;color:#f4efe4!important}
.vc-inbox-overlay .mod-panel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border:1px solid rgba(236,231,219,.14);background:color-mix(in srgb,#ffffff 4%,#121110)}
.vc-inbox-overlay .mod-panel[hidden]{display:none}
.vc-inbox-overlay .mod-panel button{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#b0a89a;background:transparent;border:1px solid rgba(236,231,219,.14);padding:7px 10px;cursor:pointer}
.vc-inbox-overlay .mod-panel button:hover{color:#fff;border-color:#d35400}
.vc-inbox-overlay .mod-panel button.danger{color:#ef6a4c;border-color:color-mix(in srgb,#ef6a4c 42%,transparent)}
.vc-inbox-overlay .mod-panel button.restore{color:#f4efe4;border-color:rgba(236,231,219,.36)}
.vc-inbox-overlay .answerbox{margin:12px 0}
.vc-inbox-overlay .answerbox textarea,.vc-inbox-overlay .vi-inline textarea{width:100%;min-height:64px;resize:vertical;background:#fff;color:#141210;border:1px solid rgba(236,231,219,.14);font-family:var(--ui);font-size:14px;line-height:1.6;outline:none;padding:11px 13px}
.vc-inbox-overlay .a-foot{display:flex;align-items:center;margin-top:9px;gap:12px}
.vc-inbox-overlay .a-note{font-family:var(--mono);font-size:10px;color:#8f877a}
.vc-inbox-overlay .a-send{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#d35400;border:1px solid #d35400;padding:8px 18px;cursor:pointer}
.vc-inbox-overlay .vi-inline{margin:12px 0}
.vc-inbox-overlay .vi-inline-foot{display:flex;margin-top:9px}
.vc-inbox-overlay .vi-inline-foot .a-send{margin-left:auto}
