:root{--leaf:var(--base);--paper-edge:1px;--paper-shadow:-2px;background:var(--base)}
body,.cover,.cover-stage{background:var(--base);color:var(--text)}
body[data-view=letter]{background:var(--letter)}
.recipient{color:var(--text)}
.cover-title,.roman-title{color:var(--ink)}
.cover-title{color:var(--ink)}
.fine-rule{background:var(--accent)}
.bottom-row .brand-mark{color:var(--brand)}
.open-invite svg{stroke:var(--text)}
.enable-tilt{color:var(--ink)}
.cover:focus-visible{outline-color:var(--milk)}
.letter{background:repeating-linear-gradient(90deg,#fff1 0 1px,transparent 1px 3px),repeating-linear-gradient(0deg,#0001 0 1px,transparent 1px 3px),var(--letter);color:var(--heading)}
.letter-brand{background:linear-gradient(78deg,var(--letterShine) calc(var(--letter-beam,48%) - 36%),var(--milk) var(--letter-beam,48%),var(--letterShine) calc(var(--letter-beam,48%) + 36%))}
.paper{background:var(--paper);color:var(--heading);box-shadow:inset var(--paper-edge,1px) 0 0 #fff9,0 1px 1px #fff3,var(--paper-shadow,-2px) 3px 5px #1112,0 14px 30px #1112}
.paper-heading h2,.letter-body .greeting{color:var(--heading)}
.paper-heading p,.visit-info dt,.signature-name>span:last-child{color:var(--muted)}
.visit-info{border-top-color:var(--rule)}
.visit-info>div{border-bottom-color:var(--ruleSoft)}
.visit-info dd{color:var(--heading)}
.letter-cn-brand{background:var(--heading)}
.seal-placeholder{color:var(--muted);border-color:var(--muted)}
.close-invite{color:var(--milk)}
@media(min-width:600px){body,body[data-view=letter]{background:#E8E6E1}}

/* Reflection is clipped to the existing outlined ink / real brand asset. */
.cover{--foil-position:50%;--foil-opacity:0}
.title-ink::after,.bottom-row .brand-mark::after{content:"";position:absolute;inset:0;background:linear-gradient(103deg,transparent calc(var(--foil-position) - 22%),var(--inkShine) var(--foil-position),transparent calc(var(--foil-position) + 22%));opacity:var(--foil-opacity);pointer-events:none}
.bottom-row .brand-mark{position:relative}
@media(prefers-reduced-motion:reduce){.title-ink::after,.bottom-row .brand-mark::after{display:none}}
