SOURCE

console 命令行工具 X clear

                    
>
console
(()=>{function start(){'use strict';
const $ = (selector) => document.querySelector(selector);
const dialog = $('#letter-dialog');
document.querySelectorAll('[data-open-letter]').forEach((button) => {
  button.addEventListener('click', () => { dialog.showModal(); dialog.scrollTop = 0; });
});
$('.close-dialog').addEventListener('click', () => dialog.close());
dialog.addEventListener('click', (event) => { if (event.target === dialog) { const bounds = dialog.getBoundingClientRect(); if (event.clientX < bounds.left || event.clientX > bounds.right || event.clientY < bounds.top || event.clientY > bounds.bottom) dialog.close(); } });

const fortunes = [
  ['落笔有光,心中有底。', '愿你读过的每一页,都在需要时给你力量。\n不慌不忙,一题一题,稳稳向前。'],
  ['你和好消息,正在靠近。', '那些看似平凡的坚持,都在悄悄积攒答案。\n今天也请相信,认真的你很了不起。'],
  ['今天的快乐,不用等。', '一杯喜欢的饮料,一顿热乎的饭。\n把小小的开心,安排在今天。'],
  ['慢慢来,也是在向前。', '不必和别人的速度比赛。\n走好自己的这一程,就已经很勇敢。'],
  ['愿你所写,皆是所学。', '愿你考场上思路清晰,落笔从容。\n所有认真准备的日子,都给你底气。'],
  ['放轻松,好事会发生。', '肩膀放松一点,眉头也松开一点。\n此刻,先送自己一个大大的微笑。'],
  ['累了,就靠岸一会儿。', '休息不用内疚,快乐也不用等到考完。\n好好照顾自己,就是今天的重要任务。'],
  ['愿你一研为定,得偿所愿。', '愿努力遇见好运,愿期待迎来回响。\n更愿你的每一天,都有值得开心的小事。'],
  ['未来的语文老师,请接收好运。', '愿你走进理想中的学科语文专业。\n把文字的美,慢慢讲给更多人听。'],
  ['你读过的书,都在为你撑腰。', '愿篇章里的思考,化作答卷上的从容。\n今天,也给认真读书的自己一个赞。'],
  ['心里有歌,笔下有光。', '让喜欢的音乐陪你休息片刻。\n再带着热爱,稳稳走向你的下一章。']
];
const day = new Intl.DateTimeFormat('zh-CN', {timeZone:'Asia/Shanghai',month:'2-digit',day:'2-digit'}).format(new Date());
$('#today-date').textContent = `${day.replace('/', ' / ')} · 给你`;
let fortuneIndex = -1;
$('#draw-fortune').addEventListener('click', () => {
  let next = Math.floor(Math.random() * fortunes.length);
  if (next === fortuneIndex) next = (next + 1) % fortunes.length;
  fortuneIndex = next;
  const [title, text] = fortunes[next];
  $('#fortune-number').textContent = `好运签 ${String(next + 1).padStart(2, '0')} · 宜开心`;
  $('#fortune-title').textContent = title;
  $('#fortune-text').replaceChildren(...text.split('\n').flatMap((line, i) => i ? [document.createElement('br'), document.createTextNode(line)] : [document.createTextNode(line)]));
  $('#draw-fortune span').textContent = '再收一份好运';
});
const moods = {
  tired: ['允许自己,慢半拍。','去喝口水,伸个懒腰。休息不是掉队,是给认真生活的自己充充电。'],
  nervous: ['先呼吸,再往前走。','放下笔,慢慢吸气,再轻轻呼出。先做好眼前这一件事,你不用一次解决所有问题。'],
  happy: ['今天的你,闪闪发光。','为这个好状态点个赞!把顺利的一刻记下来,也别忘了奖励自己一点喜欢的东西。']
};
document.querySelectorAll('[data-mood]').forEach((button) => {
  button.addEventListener('click', () => {
    document.querySelectorAll('[data-mood]').forEach((item) => item.setAttribute('aria-pressed', String(item === button)));
    const [title, text] = moods[button.dataset.mood];
    $('#mood-title').textContent = title;
    $('#mood-text').textContent = text;
  });
});
function celebrate() {
  $('#celebrate-note').textContent = '好运已装好。愿你一研为定,日日欢喜!';
  if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;
  const container = $('#confetti');
  container.replaceChildren();
  const colors = ['#7650ac','#c9afe4','#f6d885','#dfa99d','#b8cab4'];
  for (let i = 0; i < 68; i++) {
    const piece = document.createElement('i');
    piece.className = 'confetti-piece';
    piece.style.cssText = `--x:${Math.random()*100}%;--c:${colors[i%colors.length]};--duration:${2.8+Math.random()*1.5}s;--delay:${Math.random()*.4}s;--drift:${Math.random()*200-100}px;--spin:${Math.random()*1000-500}deg`;
    container.append(piece);
  }
  window.setTimeout(() => container.replaceChildren(), 5000);
}
$('#celebrate').addEventListener('click', celebrate);
$('#receive-letter').addEventListener('click', () => { dialog.close(); celebrate(); });

const songWishes = {
  angel: ['《平凡天使》· 给未来的语文老师', '愿你用文字,\n照亮更多小小的世界。', '愿今天认真读书的你,未来能把一篇课文讲得生动,也把一份温柔带进课堂。'],
  power: ['《超能力》· 给认真坚持的你', '你的热爱,\n就是藏起来的超能力。', '读懂一段文字、整理一页笔记、再坚持一小会儿。那些平凡的努力,都在帮你长出底气。'],
  period: ['《句号》· 给即将翻页的你', '给这段努力,\n写一个漂亮的句号。', '愿你从考场走出来时,能笑着对自己说:我认真走过这一程。然后,去迎接更辽阔的新篇章。']
};
document.querySelectorAll('[data-song]').forEach((button) => {
  button.addEventListener('click', () => {
    const [caption, title, text] = songWishes[button.dataset.song];
    document.querySelectorAll('[data-song]').forEach((item) => item.setAttribute('aria-pressed', String(item === button)));
    $('#song-caption').textContent = caption;
    $('#song-title').replaceChildren(...title.split('\n').flatMap((line, i) => i ? [document.createElement('br'), document.createTextNode(line)] : [document.createTextNode(line)]));
    $('#song-message').textContent = text;
  });
});

const poemBookmarks = {
  dream: {
    preface: '赠你一往无前的勇气', quote: '长风破浪会有时,\n直挂云帆济沧海。',
    source: '李白《行路难·其一》', href: 'https://lib.ncpu.edu.cn/index/index/zixun_show.html?c_id=7&id=997',
    wish: '愿你读过的每一页,都化作驶向理想的风。考场上的你,终会遇见这段日子认真积攒的底气。'
  },
  calm: {
    preface: '赠你按自己节奏前行的从容', quote: '莫听穿林打叶声,\n何妨吟啸且徐行。',
    source: '苏轼《定风波·莫听穿林打叶声》', href: 'https://dxyw0831.yibinu.edu.cn/info/1451/4492.htm',
    wish: '偶尔紧张、偶尔疲惫,都不妨碍你继续向前。把呼吸放慢,把眼前的一页读好,你有自己的步调。'
  },
  joy: {
    preface: '赠你平凡日子里的小小欢喜', quote: '人间有味是清欢。',
    source: '苏轼《浣溪沙·细雨斜风作晓寒》', href: 'https://jw.nnudy.edu.cn/c926/20250225/i38596.html',
    wish: '一顿热饭,一页好书,一首喜欢的歌。愿你奔赴理想,也不遗漏眼前这些细小而确切的快乐。'
  }
};
document.querySelectorAll('[data-poem]').forEach((button) => {
  button.addEventListener('click', () => {
    const poem = poemBookmarks[button.dataset.poem];
    document.querySelectorAll('[data-poem]').forEach((item) => item.setAttribute('aria-pressed', String(item === button)));
    $('#poem-preface').textContent = poem.preface;
    $('#poem-quote').replaceChildren(...poem.quote.split('\n').flatMap((line, i) => i ? [document.createElement('br'), document.createTextNode(line)] : [document.createTextNode(line)]));
    $('#poem-source').textContent = poem.source;
    $('#poem-source').href = poem.href;
    $('#poem-source').setAttribute('aria-label', `${poem.source},查看作品出处,在新窗口打开`);
    $('#poem-wish').textContent = poem.wish;
  });
});

}if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',start,{once:true});}else{start();}})();
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>一笺欢喜 · 愿你笔下生花,日日欢喜</title>

  <svg class="svg-library" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><defs>
    <symbol id="i-star" viewBox="0 0 40 40"><path d="m20 2 4.6 12.9L38 20l-13.4 4.6L20 38l-4.8-13.4L2 20l13.2-5.1Z" fill="currentColor"/></symbol>
    <symbol id="i-arrow" viewBox="0 0 24 24"><path d="M4 12h15m-6-6 6 6-6 6" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></symbol>
    <symbol id="i-heart" viewBox="0 0 24 24"><path d="M20.8 5.8c-2-2.2-5.8-2.2-8.8 1-3-3.2-6.8-3.2-8.8-1-2.4 2.6-1 6.5 1.3 8.8L12 22l7.5-7.4c2.3-2.3 3.7-6.2 1.3-8.8Z" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linejoin="round"/></symbol>
    <symbol id="i-flower" viewBox="0 0 48 48"><path d="M24 15c-16-23-27 0-12 9-24 10-2 29 12 10 13 19 36 0 12-10 16-9 4-32-12-9Z" fill="currentColor"/><circle cx="24" cy="24" r="6" fill="#f7d778"/></symbol>
    <symbol id="i-sun" viewBox="0 0 32 32"><circle cx="16" cy="16" r="7" fill="none" stroke="currentColor" stroke-width="1.6"/><path d="M16 2v3m0 22v3M2 16h3m22 0h3M6 6l2 2m16 16 2 2M6 26l2-2M24 8l2-2" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/></symbol>
  </defs></svg>
  <a class="skip-link" href="#main">跳到正文</a>
  <header class="header wrap">
    <a class="brand" href="#" aria-label="一笺欢喜,回到首页"><span class="brand-seal" aria-hidden="true">笺</span><span>一笺欢喜</span></a>
    <nav aria-label="网站导航"><a href="#literature">诗意书签</a><a href="#gem">心里有歌</a><a href="#letter">见字如晤</a></nav>
    <span class="header-note">为你,留一页温柔</span>
  </header>
  <main id="main">
    <section class="hero wrap" aria-labelledby="hero-title">
      <div class="hero-copy">
        <p class="eyebrow">写给爱文字,也爱音乐的你</p>
        <h1 id="hero-title">愿你笔下生花,<br>也愿你日日欢喜。</h1>
        <p class="hero-description">从汉语言文学的字里行间,<br>到学科语文的理想课堂。<br>愿你一研为定,也把日子过成喜欢的模样。</p>
        <div class="hero-actions"><button class="button primary" data-open-letter>展信,见欢喜<svg aria-hidden="true"><use href="#i-arrow"/></svg></button><a class="text-link" href="#literature">为你摘一句诗</a></div>
        <p class="hero-footnote">所学:汉语言文学<span aria-hidden="true">/</span>所赴:学科语文</p>
      </div>
      <div class="hero-art book-scene">
        <svg class="literary-branch" viewBox="0 0 250 250" aria-hidden="true"><path d="M44 231C117 171 161 116 207 20M93 188c-45-5-49-31-20-30 14 1 18 15 20 30m31-39c-42-8-45-33-20-28 15 3 18 17 20 28m27-38c-38-10-36-36-14-27 14 6 15 17 14 27m24-38c-29-11-26-34-9-24 11 7 10 15 9 24m-62 91c3-39 30-53 31-28-1 14-16 22-31 28m30-39c8-37 34-43 30-20-2 12-16 17-30 20m26-42c9-31 32-35 27-15-3 10-15 12-27 15" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/></svg>
        <span class="book-scene-note">把喜欢,写进生活里。</span>
        <div class="book-spread"><div class="book-page page-left"><span class="ex-libris">赠予你</span><p class="vertical-dedication">书页藏星光<br>你也有自己的光</p><span class="small-seal" aria-hidden="true">欢<br>喜</span></div><figure class="book-page page-right"><span class="book-bookmark">一研为定</span><div class="portrait"><img src="data:image/jpeg;base64,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" alt="戴紫色 G.E.M. 帽子的卡通女孩,被装进专属书页里" width="1129" height="1147" fetchpriority="high"></div><figcaption>心里有歌,眼中有光。<span>G.E.M. girl</span></figcaption></figure></div>
        <span class="book-bottom-note">赠爱文学的你 · 愿每一页,都有好消息</span>
      </div>
    </section>
    <div class="wish-ribbon"><div><span>有书可读</span><i aria-hidden="true">·</i><span>有梦可赴</span><i aria-hidden="true">·</i><span>有歌可听</span><i aria-hidden="true">·</i><span>有欢喜可期</span></div></div>
    <section class="luck-section wrap literature-section" id="literature" aria-labelledby="luck-title">
      <div class="literary-heading"><p class="eyebrow">诗词作笺,愿你心安</p><h2 id="luck-title">有些文字,正好送给此刻的你。</h2><p>给努力、从容与日常,各留一枚书签。</p></div>
      <div class="poetry-page"><div class="poem-tabs" role="group" aria-label="选择诗词书签"><button data-poem="dream" aria-pressed="true"><span aria-hidden="true">志</span>赴理想</button><button data-poem="calm" aria-pressed="false"><span aria-hidden="true">缓</span>慢慢走</button><button data-poem="joy" aria-pressed="false"><span aria-hidden="true">悦</span>寻清欢</button></div><div class="poem-reading" aria-live="polite" aria-atomic="true"><p class="poem-preface" id="poem-preface">赠你一往无前的勇气</p><blockquote id="poem-quote">长风破浪会有时,<br>直挂云帆济沧海。</blockquote><p class="poem-source"><a id="poem-source" href="https://lib.ncpu.edu.cn/index/index/zixun_show.html?c_id=7&amp;id=997" target="_blank" rel="noopener noreferrer">李白《行路难·其一》<span class="sr-only">(查看作品出处,新窗口打开)</span></a></p><p class="poem-wish" id="poem-wish">愿你读过的每一页,都化作驶向理想的风。考场上的你,终会遇见这段日子认真积攒的底气。</p></div><span class="poetry-page-number" aria-hidden="true">为你珍藏 · 一枚书签</span></div>
      <div class="fortune-card" id="luck">
        <div class="fortune-top"><span class="ticket-label">今日小笺</span><span id="today-date">每天都是好日子</span></div>
        <div class="fortune-body" aria-live="polite" aria-atomic="true"><span class="fortune-number" id="fortune-number">给你 · 一份好心情</span><h3 id="fortune-title">你的好运,正在派送。</h3><p id="fortune-text">把烦恼暂时放在一边,<br>来拆开一份只属于你的鼓励。</p></div>
        <button class="button fortune-button" id="draw-fortune"><svg aria-hidden="true"><use href="#i-star"/></svg><span>抽一份今日好运</span><svg aria-hidden="true"><use href="#i-arrow"/></svg></button>
        <p class="fortune-small">字里有温柔,日子有盼头。</p>
      </div>
    </section>
    <section class="gem-section" id="gem" aria-labelledby="gem-title"><div class="wrap gem-layout">
      <div class="gem-intro"><p class="eyebrow">书页之外,心里有歌</p><h2 id="gem-title">把喜欢的歌,<br>写成给你的加油。</h2><p>文学安放心事,音乐给人勇气。<br>把你喜欢的邓紫棋,<br>也装进这一页温柔里。</p><a class="text-link" href="https://cn.iamgem.com/musics/" target="_blank" rel="noopener noreferrer">去邓紫棋的音乐世界<span aria-hidden="true">↗</span><span class="sr-only">(在新窗口打开官网)</span></a></div>
      <div class="gem-card"><div class="gem-card-top"><span>G.E.M. / 给你的加油歌单</span><svg aria-hidden="true"><use href="#i-star"/></svg></div><div class="record-note"><div class="record" aria-hidden="true"><div class="record-label">G.E.M.<svg><use href="#i-heart"/></svg></div><span class="record-glint"></span></div><div class="song-message" aria-live="polite" aria-atomic="true"><p class="song-caption" id="song-caption">《平凡天使》· 给未来的语文老师</p><h3 id="song-title">愿你用文字,<br>照亮更多小小的世界。</h3><p id="song-message">愿今天认真读书的你,未来能把一篇课文讲得生动,也把一份温柔带进课堂。</p></div></div><div class="song-choices" role="group" aria-label="选择歌名主题祝福"><button data-song="angel" aria-pressed="true"><span>01</span>平凡天使</button><button data-song="power" aria-pressed="false"><span>02</span>超能力</button><button data-song="period" aria-pressed="false"><span>03</span>句号</button></div><p class="gem-footnote">借歌名写给你的原创祝福 · 点一张,换一点好心情</p></div>
    </div></section>
    <section class="letter-section" id="letter" aria-labelledby="letter-title"><div class="wrap letter-layout">
      <div class="letter-envelope" aria-hidden="true"><div class="envelope-paper">致:爱文学的你<br><span>见字如晤,展信舒颜。</span><svg><use href="#i-flower"/></svg></div><div class="envelope-front"></div><span class="envelope-seal"><svg><use href="#i-heart"/></svg></span><span class="postmark">一笺祝愿<br>请你亲启</span></div>
      <div class="letter-copy"><p class="eyebrow">见字如晤,展信舒颜</p><h2 id="letter-title">从书页到讲台,<br>愿你一路有光。</h2><p>汉语言文学,是你走过的字里行间。<br>学科语文,是你正在奔赴的下一章。<br>而欢喜,是每一章都该有的底色。</p><button class="text-link" data-open-letter>亲启这封信<svg aria-hidden="true"><use href="#i-arrow"/></svg></button></div>
    </div></section>
    <section class="happy-section wrap" id="happy" aria-labelledby="happy-title">
      <div class="happy-heading"><div><p class="eyebrow">关于今日的你</p><h2 id="happy-title">理想要抵达,<span>日子也要好好过。</span></h2></div><p>这里不检查你的复习进度,<br>只关心此刻的你,心情怎么样。</p></div>
      <div class="mood-panel"><div class="mood-controls"><span class="mood-label">今天的你</span><div role="group" aria-label="选择今天的心情"><button class="mood-button" data-mood="tired" aria-pressed="true">有一点累</button><button class="mood-button" data-mood="nervous" aria-pressed="false">有点紧张</button><button class="mood-button" data-mood="happy" aria-pressed="false">状态不错</button></div></div><div class="mood-answer" aria-live="polite" aria-atomic="true"><svg aria-hidden="true"><use href="#i-flower"/></svg><div><h3 id="mood-title">允许自己,慢半拍。</h3><p id="mood-text">去喝口水,伸个懒腰。休息不是掉队,是给认真生活的自己充充电。</p></div></div></div>
      <div class="small-promises"><span>送你三个小小的约定</span><p>好好吃饭<svg aria-hidden="true"><use href="#i-star"/></svg>好好睡觉<svg aria-hidden="true"><use href="#i-star"/></svg>好好喜欢自己</p></div>
    </section>
    <section class="closing"><div class="wrap"><svg aria-hidden="true"><use href="#i-flower"/></svg><p>愿你为文学心动,也被生活温柔以待。</p><h2>等一个好消息,<br class="mobile-br">也等每天开心的你。</h2><button class="button primary" id="celebrate">把好运装进口袋<svg aria-hidden="true"><use href="#i-heart"/></svg></button><p class="closing-note" id="celebrate-note" role="status">所有祝福,都向你出发。</p></div></section>
  </main>
  <footer class="footer wrap"><a class="brand" href="#"><span class="brand-seal" aria-hidden="true">笺</span><span>一笺欢喜</span></a><p>为你加油,不止这场考试。</p><span>谨以此页,赠你满心欢喜。</span></footer>
  <dialog id="letter-dialog" aria-labelledby="dialog-title"><div class="dialog-inner"><button class="close-dialog" aria-label="关闭祝福信"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="m6 6 12 12M6 18 18 6" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round"/></svg></button><p class="eyebrow">一封写给你的信</p><h2 id="dialog-title">亲爱的,爱文字的你:</h2><div class="letter-text"><p>见字开心。</p><p>从汉语言文学的字里行间,走向学科语文的理想课堂。知道你正为这段旅程认真努力,也知道你喜欢邓紫棋,所以想把书页的温柔、音乐的勇气,还有一点紫色星光,都装进这封信里送给你。</p><p>你与文学相伴的日子,终会留下一些珍贵的东西:对一段文字的体察,对一种表达的斟酌,还有对生活细微之处的感受。愿这些积累,和读过的篇章、写过的笔记一起,慢慢变成答题时的从容。愿你走进考场时,心里有光,笔下有答案;遇到难题时,也能稳稳地对自己说:“没关系,一道一道来。”</p><p>也愿你走进理想中的学科语文专业。从今天的书桌到未来的讲台,愿你一直保有对文字的喜欢:既能讲出一篇文章的美,也能认真听见每一个学生的声音。</p><p>学习累了,就听一首喜欢的歌。愿邓紫棋的音乐陪你松一口气,再带着属于自己的节奏往前走。你的热爱,也会成为支持你的力量。</p><p>不过,除了考研顺利,还有一件事想祝福你:<strong>每天都能有一点开心。</strong>是吃到喜欢的饭,是看见好看的晚霞,是读懂一段文字,也可以只是今天睡了个好觉。</p><p>不必每一天都满分,也不必把所有压力都独自扛下。愿你一研为定,得偿所愿;更愿未来回头看时,你会喜欢这个认真、勇敢,也懂得照顾自己的你。</p><p class="letter-ending">愿你笔下生花,心里有歌。<br>一直为你加油的人</p></div><button class="button primary" id="receive-letter">祝福收到啦<svg aria-hidden="true"><use href="#i-heart"/></svg></button></div></dialog>
  <div id="confetti" aria-hidden="true"></div>
:root{--paper:#f9f7f2;--ink:#30283d;--muted:#746c7c;--purple:#7650ac;--purple-dark:#59358a;--lilac:#ece4f6;--yellow:#f6d885;--line:#ded7e3;--white:#fffefa;--soft:#f2edf6;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 "PingFang SC","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a{transition:background .2s,color .2s,box-shadow .2s,transform .2s}button:active,.button:active{transform:translateY(2px)}button:focus-visible,a:focus-visible{outline:3px solid var(--purple-dark);outline-offset:5px}svg{width:24px;height:24px;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;left:20px;top:-100px;z-index:30;padding:12px;background:var(--white)}.skip-link:focus{top:10px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:750;letter-spacing:1px}.brand svg{color:var(--purple);width:35px;height:35px}.brand-dot{color:var(--purple)}.header nav{display:flex;gap:36px;font-size:14px}.header nav a{padding:12px 0}.header nav a:hover{color:var(--purple)}.header-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);letter-spacing:1px}.header-note>span{width:7px;height:7px;background:var(--purple);border-radius:50%}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:64px;align-items:center;min-height:696px;padding-block:64px 80px}.eyebrow{font:600 11px/1.6 "Segoe UI",sans-serif;letter-spacing:2.2px;color:var(--purple);margin:0 0 26px}.tiny-star{font-size:17px;margin-right:9px}h1,h2,h3,p,figure{margin-top:0}h1{font-size:clamp(42px,4.2vw,62px);line-height:1.28;letter-spacing:-1.8px;font-weight:850;margin:0;position:relative;z-index:1}h1>span{color:var(--purple)}.underline{width:84%;height:23px;color:var(--yellow);margin-top:-4px;display:block;transform:rotate(-1deg)}.hero-description{color:var(--muted);font-size:17px;line-height:1.95;margin:28px 0 30px}.hero-description strong{font-weight:400;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{border:0;border-radius:100px;min-height:52px;padding:14px 25px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:14px;font-weight:650;letter-spacing:.4px}.primary{background:var(--purple);color:var(--white);box-shadow:0 5px 0 #5d3c8a}.primary:hover{background:var(--purple-dark);box-shadow:0 6px 0 #402462}.primary svg{width:20px;height:20px}.text-link{border:0;background:none;display:inline-flex;align-items:center;gap:12px;padding:10px 0;font-size:14px;font-weight:600}.text-link:hover{color:var(--purple);gap:18px}.text-link>span{font-size:20px}.hero-footnote{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin:26px 0 0}.hero-footnote svg{width:14px;height:14px;color:var(--purple)}.hero-art{position:relative;min-width:0;height:510px;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;z-index:0;width:480px;height:330px;border:1px dashed #c9b7e0;border-radius:50%;transform:rotate(-35deg)}.orbit-two{width:410px;height:390px;background:var(--lilac);border:0;transform:rotate(15deg);border-radius:45% 55% 60% 40%/60% 50% 50% 40%}.polaroid{margin:12px 0 0;position:relative;background:var(--white);padding:16px 16px 0;width:350px;transform:rotate(5deg);box-shadow:0 12px 30px #3f20501a;border:1px solid #e6dfdf}.portrait{background:#fff;aspect-ratio:1/1.05;overflow:hidden;border:1px solid #eee8f0}.portrait img{width:100%;height:100%;object-fit:contain;display:block}.polaroid figcaption{display:flex;align-items:center;justify-content:center;gap:16px;padding:17px 0 19px;font-family:"KaiTi","STKaiti",serif;font-weight:bold;font-size:20px;letter-spacing:2px}.polaroid figcaption svg{width:21px;color:var(--purple);transform:rotate(-10deg)}.tape{position:absolute;width:124px;height:35px;left:50%;top:-18px;background:#dccceeaa;transform:translateX(-50%) rotate(-8deg);z-index:2;clip-path:polygon(3% 0,99% 4%,96% 98%,0 94%);backdrop-filter:blur(1px)}.spark{position:absolute;z-index:2;color:var(--purple)}.spark-one{width:47px;height:47px;left:8px;top:96px;transform:rotate(-12deg)}.spark-two{width:25px;height:25px;right:9px;bottom:100px;color:#ba94d5}.handnote{position:absolute;top:0;left:19px;font-family:"KaiTi","STKaiti",serif;letter-spacing:1px;font-size:17px;transform:rotate(-7deg);color:var(--purple)}.handnote svg{width:82px;height:40px;position:absolute;left:108px;top:15px;transform:rotate(35deg)}.lucky-sticker{position:absolute;bottom:36px;left:-4px;background:var(--yellow);padding:16px 24px;border-radius:50%;font-size:14px;line-height:1.55;transform:rotate(-13deg);border:1px solid #d8b960;box-shadow:3px 4px 0 #dbc16c45;z-index:3}.lucky-sticker b{font-size:21px;letter-spacing:2px}.lucky-sticker svg{width:15px;height:15px;position:absolute;right:14px;top:12px}.art-caption{position:absolute;bottom:3px;right:16px;color:var(--muted);font:italic 14px/1.5 Georgia,serif;letter-spacing:.5px;transform:rotate(4deg)}.wish-ribbon{background:var(--lilac);border-block:1px solid #dcd0ec;overflow:hidden}.wish-ribbon>div{min-height:66px;display:flex;gap:42px;justify-content:center;align-items:center;white-space:nowrap;color:var(--purple);font-size:15px;letter-spacing:3px}.wish-ribbon svg{width:16px;height:16px;color:var(--purple)}.ribbon-extra{display:none}.luck-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:110px}.section-intro h2,.letter-copy h2{font-size:34px;line-height:1.5;letter-spacing:-.7px;font-weight:750;margin-bottom:20px}.section-intro>p:not(.eyebrow),.letter-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.9}.scribble{display:flex;align-items:center;gap:12px;color:var(--purple);font:18px/1.5 "KaiTi","STKaiti",serif;margin-top:32px}.scribble svg{width:36px;height:36px;transform:rotate(10deg)}.fortune-card{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 30px 20px;box-shadow:6px 6px 0 var(--lilac)}.fortune-card:before,.fortune-card:after{content:"";position:absolute;top:52px;background:var(--paper);border:1px solid var(--line);width:18px;height:18px;border-radius:50%}.fortune-card:before{left:-10px;border-left:0}.fortune-card:after{right:-10px;border-right:0}.fortune-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px dashed var(--line)}.ticket-label{font-size:10px;letter-spacing:1.4px;color:var(--purple);font-weight:700}.fortune-top>span:last-child{font-size:11px;color:var(--muted)}.fortune-body{text-align:center;min-height:202px;padding-top:27px}.fortune-number{font-size:12px;letter-spacing:2px;color:var(--purple)}.fortune-body h3{font-size:24px;font-family:"KaiTi","STKaiti",serif;font-weight:600;margin:15px 0 12px}.fortune-body p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:12px;min-height:54px}.fortune-button{width:100%;background:var(--lilac);color:var(--purple-dark);gap:12px;min-height:48px}.fortune-button:hover{background:#dfd1ed}.fortune-button svg{width:17px;height:17px}.fortune-button>svg:last-child{margin-left:auto}.fortune-button>span{margin-right:auto}.fortune-small{text-align:center;font-size:11px;color:var(--muted);margin:14px 0 0}.letter-section{background:#f0eaf4;border-block:1px solid #e9e0ee;padding:70px 0}.letter-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.letter-envelope{position:relative;height:300px;width:370px;max-width:100%;margin:auto;transform:rotate(-5deg)}.envelope-paper{background:var(--white);position:absolute;left:27px;right:27px;top:0;height:230px;padding:29px 23px;color:var(--purple);font:22px/1.8 "KaiTi","STKaiti",serif;border:1px solid #e2d6e7;transform:rotate(1deg)}.envelope-paper>span{display:block;font-size:14px;color:var(--muted);margin-top:9px}.envelope-paper>svg{position:absolute;width:60px;height:60px;right:28px;bottom:40px;color:var(--purple)}.envelope-front{position:absolute;bottom:0;width:100%;height:185px;background:#d5c5e5;border:1px solid #bfadd1;border-radius:0 0 8px 8px;box-shadow:0 10px 24px #4b32630d;clip-path:polygon(0 0,50% 42%,100% 0,100% 100%,0 100%)}.envelope-front:after{content:"";position:absolute;inset:0;background:#dfd1eb;clip-path:polygon(0 100%,50% 25%,100% 100%)}.envelope-seal{position:absolute;left:calc(50% - 26px);top:175px;display:grid;place-items:center;background:var(--purple);width:52px;height:52px;border-radius:50%;color:var(--white);box-shadow:0 3px 0 #684496}.envelope-seal svg{width:25px;height:25px}.postmark{position:absolute;bottom:17px;right:17px;text-align:center;border:1px solid #8e76a8;color:#705388;padding:9px 12px;border-radius:50%;font-size:9px;line-height:1.8;letter-spacing:1px;transform:rotate(-8deg)}.letter-copy .eyebrow{margin-bottom:20px}.letter-copy .text-link{color:var(--purple);border-bottom:1px solid var(--purple);margin-top:4px}.happy-section{padding-block:105px 80px}.happy-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.happy-heading h2{font-size:32px;font-weight:750;margin-bottom:0;line-height:1.6;letter-spacing:-.5px}.happy-heading h2 span{color:var(--purple)}.happy-heading>p{font-size:14px;color:var(--muted);margin-bottom:5px;line-height:1.9}.happy-heading .eyebrow{margin-bottom:15px}.mood-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:30px 38px}.mood-controls{display:flex;gap:27px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #eae4ed;padding-bottom:24px}.mood-label{font-size:14px;color:var(--muted)}.mood-controls>div{display:flex;gap:12px;flex-wrap:wrap}.mood-button{border:1px solid var(--line);background:transparent;min-height:44px;padding:8px 23px;border-radius:40px;font-size:14px}.mood-button[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:var(--white)}.mood-button:hover{box-shadow:0 0 0 3px var(--lilac)}.mood-answer{display:flex;align-items:center;gap:24px;padding-top:27px;min-height:126px}.mood-answer>svg{width:58px;height:58px;color:var(--purple);transform:rotate(-10deg)}.mood-answer h3{font-size:19px;margin:0 0 6px}.mood-answer p{font-size:14px;color:var(--muted);margin:0;line-height:1.9}.small-promises{text-align:center;padding-top:42px}.small-promises>span{font-size:12px;color:var(--muted);letter-spacing:2px}.small-promises p{display:flex;align-items:center;justify-content:center;gap:24px;font:21px/1.8 "KaiTi","STKaiti",serif;margin-top:16px;color:var(--purple)}.small-promises svg{width:12px;height:12px;color:#af96ca}.closing{text-align:center;background-color:var(--lilac);background-image:linear-gradient(#ffffff40 1px,transparent 1px),linear-gradient(90deg,#ffffff40 1px,transparent 1px);background-size:28px 28px;padding:60px 0 48px}.closing>.wrap>svg{width:48px;height:48px;color:var(--purple);margin-bottom:16px}.closing>.wrap>p:first-of-type{font-size:14px;color:var(--purple-dark);margin-bottom:13px}.closing h2{font-size:31px;font-weight:750;letter-spacing:.4px;margin-bottom:28px;line-height:1.5}.closing-note{font-size:12px;color:var(--purple-dark);margin:23px 0 0;min-height:24px}.mobile-br{display:none}.footer{min-height:114px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer .brand{font-size:16px}.footer .brand svg{width:25px;height:25px}.footer>p{font-size:12px;color:var(--muted);margin:0}.footer>span{font-size:9px;letter-spacing:1.7px;color:var(--muted)}dialog{border:1px solid var(--line);padding:0;border-radius:18px;background:var(--paper);color:var(--ink);max-width:650px;width:calc(100% - 32px);max-height:88dvh;box-shadow:0 20px 100px #30283d30}dialog::backdrop{background:#30283d8c;backdrop-filter:blur(5px)}.dialog-inner{padding:45px 46px 35px;position:relative}.close-dialog{position:absolute;right:12px;top:12px;border:0;border-radius:50%;background:var(--lilac);width:44px;height:44px;display:grid;place-items:center}.close-dialog:hover{background:#dfcdeb}.dialog-inner>.eyebrow{font-size:10px;margin-bottom:20px}.dialog-inner>h2{font:600 26px/1.7 "KaiTi","STKaiti",serif;margin-bottom:22px}.letter-text{font-size:15px;line-height:2;color:#655a70}.letter-text p{margin-bottom:18px}.letter-text strong{color:var(--purple-dark);font-weight:600}.letter-ending{text-align:right;color:var(--purple);padding-top:8px}.dialog-inner>.button{display:flex;margin:30px auto 0}body:has(dialog[open]){overflow:hidden}#confetti{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;left:var(--x);top:-20px;width:9px;height:15px;background:var(--c);border-radius:2px;animation:fall var(--duration) cubic-bezier(.2,.5,.5,1) var(--delay) forwards}.confetti-piece:nth-child(3n){border-radius:50%;height:9px}@keyframes fall{to{transform:translate(var(--drift),105dvh) rotate(var(--spin));opacity:.2}}
@media(min-width:1500px){.hero{min-height:740px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:25px}.hero-art{height:480px}.polaroid{width:310px}.orbit{width:370px;height:310px}.orbit-two{width:340px;height:350px}.lucky-sticker{left:0;bottom:45px}.handnote{left:0}.luck-section,.letter-layout{gap:60px}.hero-actions{gap:18px}.button{padding-inline:21px}.hero-description{font-size:16px}.wish-ribbon>div{gap:28px}.letter-envelope{width:320px}.happy-heading h2{font-size:30px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:85px}.brand{font-size:19px}.brand svg{width:30px;height:30px}.header nav{gap:20px;font-size:12px}.header nav a:last-child{display:none}.header-note{display:none}.hero{grid-template-columns:1fr;gap:38px;min-height:auto;padding-block:43px 35px;text-align:center}.hero .eyebrow{font-size:10px;margin-bottom:20px;letter-spacing:1.6px}h1{font-size:44px;letter-spacing:-1.3px;line-height:1.35}.underline{width:300px;max-width:93%;margin-inline:auto}.hero-description{margin:22px 0 24px;font-size:15px}.hero-actions{justify-content:center;gap:16px}.button{font-size:13px;gap:13px;min-height:50px}.text-link{font-size:13px}.hero-footnote{justify-content:center;margin-top:23px;font-size:11px}.hero-art{height:450px;margin:auto;width:min(400px,100%)}.polaroid{width:285px;margin-top:8px;padding:13px 13px 0}.polaroid figcaption{font-size:18px;padding:15px 0 18px}.orbit{width:340px;max-width:100%;height:300px}.orbit-two{width:305px;max-width:90%;height:325px}.handnote{top:0;left:13px;font-size:15px}.spark-one{width:32px;height:32px;left:4px;top:100px}.spark-two{right:4px;bottom:105px}.lucky-sticker{left:3px;bottom:37px;font-size:12px;padding:14px 20px}.lucky-sticker b{font-size:18px}.lucky-sticker svg{width:11px}.art-caption{right:15px;bottom:0;font-size:12px}.wish-ribbon>div{justify-content:flex-start;gap:24px;width:max-content;padding:0 25px;min-height:56px;font-size:12px;letter-spacing:2px}.wish-ribbon svg{width:12px;height:12px}.luck-section{grid-template-columns:1fr;gap:30px;padding-block:65px}.section-intro h2,.letter-copy h2{font-size:28px}.eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:20px}.section-intro>p:not(.eyebrow),.letter-copy>p:not(.eyebrow){font-size:14px}.scribble{margin-top:24px;font-size:17px}.fortune-card{padding:24px 23px 20px}.fortune-body{min-height:204px}.fortune-body h3{font-size:23px}.fortune-body p{font-size:14px}.ticket-label{font-size:9px}.fortune-top>span:last-child{font-size:10px}.letter-section{padding:60px 0 55px}.letter-layout{grid-template-columns:1fr;gap:40px}.letter-copy{grid-row:1}.letter-envelope{width:310px;height:280px}.envelope-front{height:165px}.envelope-seal{top:166px}.envelope-paper{font-size:20px}.happy-section{padding-block:65px 45px}.happy-heading{display:block;margin-bottom:28px}.happy-heading h2{font-size:27px}.happy-heading>p{font-size:14px;margin:18px 0 0}.mood-panel{padding:24px 21px}.mood-controls{gap:14px;padding-bottom:21px}.mood-controls>div{gap:8px}.mood-button{font-size:13px;padding:8px 15px}.mood-answer{gap:15px;align-items:start;min-height:165px}.mood-answer>svg{width:40px;height:40px}.mood-answer h3{font-size:17px}.mood-answer p{font-size:14px;line-height:1.9}.small-promises{padding-top:34px}.small-promises p{gap:13px;font-size:17px}.small-promises svg{width:10px;height:10px}.small-promises>span{font-size:11px}.closing{padding:45px 0 33px}.closing h2{font-size:27px}.closing>.wrap>p:first-of-type{font-size:12px}.mobile-br{display:block}.footer{flex-wrap:wrap;justify-content:center;gap:15px;padding:25px 0}.footer>.brand{font-size:14px}.footer>p{font-size:11px}.footer>span{width:100%;text-align:center;font-size:8px}.dialog-inner{padding:53px 24px 28px}.dialog-inner h2{font-size:23px}.letter-text{font-size:15px}dialog{max-height:90dvh}.hero-actions>.button{padding:13px 20px}}
.hero-art{overflow:clip}.brand{white-space:nowrap;flex-shrink:0}.letter-layout>*{min-width:0}.letter-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:760px){.letter-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:420px){.header nav a:nth-child(2){display:none}}@media(max-width:360px){h1{font-size:34px}.header nav{gap:12px}.hero-actions{gap:12px}.mood-button{padding-inline:12px}.small-promises p{gap:9px;font-size:15px}.fortune-card{padding-inline:18px}.ticket-label{letter-spacing:.8px}.fortune-top{flex-wrap:wrap;gap:4px}.fortune-body h3{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Personalized music and language-teaching details */
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dedication{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 0}.dedication span{font-size:11px;color:var(--purple-dark);background:var(--lilac);padding:4px 10px;border-radius:30px;letter-spacing:.4px}.dedication+.hero-description{margin-top:20px}.polaroid figcaption{font-size:17px;letter-spacing:.5px;gap:10px}.art-caption{font-family:'KaiTi','STKaiti',serif;font-style:normal;font-size:15px}.gem-section{background:#30273e;color:#fffaf0;position:relative;padding:76px 0;overflow:hidden}.gem-section:before{content:'';position:absolute;width:500px;height:500px;border:1px solid #b496d52b;border-radius:50%;left:-260px;top:-220px}.gem-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:70px;position:relative}.gem-intro .eyebrow{color:#d3bce8}.gem-intro h2{font-size:34px;line-height:1.5;letter-spacing:-.7px;margin-bottom:24px}.gem-intro>p:not(.eyebrow){color:#d9d0e3;font-size:15px;line-height:2}.gem-intro .text-link{color:#eddaff;font-size:13px;margin-top:8px;gap:10px}.gem-intro .text-link:hover{color:#ffe49c}.gem-card{background:var(--white);color:var(--ink);padding:25px 27px 22px;border-radius:20px;border:1px solid #e6d9ef;box-shadow:5px 5px 0 #a184bf45;min-width:0}.gem-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px dashed var(--line);padding-bottom:18px;font-size:12px;letter-spacing:1px;color:var(--purple-dark)}.gem-card-top>svg{width:18px;height:18px}.record-note{display:flex;align-items:center;gap:25px;padding:28px 0;min-height:244px}.record{width:130px;height:130px;flex-shrink:0;border-radius:50%;position:relative;display:grid;place-items:center;background:repeating-radial-gradient(circle at center,#29232f 0,#29232f 2px,#44394e 3px,#29232f 4px);border:5px solid #29232f;box-shadow:0 5px 15px #30283d20}.record:after{content:'';position:absolute;width:8px;height:8px;left:calc(50% - 4px);top:calc(50% - 4px);background:var(--white);border-radius:50%;border:2px solid #c0a3d8}.record-label{background:#b498d0;border:1px solid #bda0d9;border-radius:50%;width:61px;height:61px;display:flex;align-items:center;flex-direction:column;padding-top:10px;color:#372346;font-size:10px;font-weight:750;letter-spacing:1px}.record-label>svg{width:14px;height:14px;margin-top:11px}.record-glint{position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0deg,#ffffff20 28deg,transparent 50deg,transparent 180deg,#ffffff15 205deg,transparent 230deg)}.song-message{min-width:0}.song-caption{font-size:11px;color:var(--purple);line-height:1.8;margin-bottom:9px}.song-message h3{font-size:21px;font-family:'KaiTi','STKaiti',serif;line-height:1.65;margin:0 0 12px;font-weight:600}.song-message>p:last-child{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.song-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.song-choices>button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);min-height:45px;background:transparent;border-radius:10px;font-size:12px;padding:8px 5px}.song-choices>button>span{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.song-choices>button[aria-pressed=true]{background:var(--purple);color:var(--white);border-color:var(--purple)}.song-choices>button[aria-pressed=true]>span{color:#f6e9ff}.song-choices>button:hover{box-shadow:0 0 0 3px var(--lilac)}.gem-footnote{font-size:10px;text-align:center;color:var(--muted);line-height:1.8;margin:16px 0 0}
@media(max-width:1100px){.gem-layout{gap:40px}.record{width:105px;height:105px}.record-note{gap:19px}.song-message h3{font-size:20px}.gem-card{padding:24px}.song-choices>button{gap:5px;font-size:11px}}
@media(max-width:760px){.dedication{justify-content:center;gap:6px;margin-top:18px}.dedication span{font-size:10px;padding:3px 9px}.gem-section{padding:58px 0}.gem-layout{grid-template-columns:minmax(0,1fr);gap:28px}.gem-intro h2{font-size:28px;margin-bottom:18px}.gem-intro>p:not(.eyebrow){font-size:14px}.gem-card{padding:23px 20px 18px}.record{width:92px;height:92px}.record-label{width:51px;height:51px;font-size:9px;padding-top:7px}.record-label>svg{margin-top:9px;width:12px;height:12px}.record-note{gap:18px;min-height:240px;padding-block:25px}.song-message h3{font-size:20px;line-height:1.7}.song-message>p:last-child{font-size:13px}.song-caption{font-size:10px}.song-choices>button{font-size:12px;gap:6px}.gem-card-top{font-size:11px;letter-spacing:.5px}.gem-footnote{font-size:10px}.polaroid figcaption{font-size:16px}.art-caption{font-size:13px}}
@media(max-width:360px){.record-note{flex-direction:column;align-items:center;gap:20px}.song-message{text-align:center}.record{width:110px;height:110px}.record-note{min-height:350px}.song-choices{gap:6px}.song-choices>button{font-size:11px;gap:4px}.dedication span{font-size:9px;padding-inline:7px}}
@media(min-width:361px) and (max-width:420px){.record{width:76px;height:76px}.record-note{gap:14px}.song-message h3{font-size:18px}}

/* The page is a personal bookplate: quiet paper, Chinese serif, plum ribbon. */
:root{--paper:#f4f0e7;--white:#fffdf7;--ink:#373047;--muted:#716878;--purple:#69527d;--purple-dark:#503b65;--lilac:#e8dfed;--line:#d9d0cf;--serif:'Songti SC','STSong','Noto Serif SC','SimSun',serif;--seal:#9c625a}
body{background:var(--paper);background-image:radial-gradient(#8c7c6812 .65px,transparent .65px);background-size:5px 5px}
.wrap{width:min(1180px,calc(100% - 96px))}.header{height:104px;border-color:#c8bccb80}.brand{gap:13px;font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:3px}.brand-seal{width:29px;height:33px;display:grid;place-items:center;color:var(--seal);border:1px solid currentColor;border-radius:3px;font-size:20px;line-height:1;letter-spacing:0;transform:rotate(-4deg)}.header nav{font-size:13px;gap:34px}.header-note{font-family:var(--serif);font-size:12px;letter-spacing:2px;color:var(--muted)}
h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:clamp(36px,3.85vw,55px);line-height:1.6;letter-spacing:.5px;margin:0 0 27px}.eyebrow{font-family:var(--serif);font-size:12px;font-weight:400;letter-spacing:3px;margin-bottom:28px;color:var(--purple)}.eyebrow:before{content:'';display:inline-block;vertical-align:middle;width:28px;height:1px;background:currentColor;margin-right:12px}
.hero{grid-template-columns:1.02fr 1fr;gap:56px;min-height:704px;padding-block:62px 56px}.hero-description{font-family:var(--serif);font-size:16px;line-height:2.2;letter-spacing:.3px;margin:0 0 31px;color:var(--muted)}.hero-actions{gap:29px}.button{border-radius:4px;font-weight:400;letter-spacing:1px;padding:14px 24px;font-size:14px}.primary{box-shadow:0 3px 0 #513b65}.primary:hover{box-shadow:0 4px 0 #422e55}.text-link{font-weight:400;letter-spacing:.5px;border-bottom:1px solid #a58eaf;padding-bottom:6px}.hero-actions .text-link{color:var(--purple);font-size:13px}.hero-footnote{font-size:11px;gap:8px;margin-top:29px;color:var(--muted);font-family:var(--serif);letter-spacing:.2px}
.hero-art.book-scene{height:526px;min-width:0;position:relative;overflow:visible;isolation:isolate}.book-spread{display:grid;grid-template-columns:1fr 2.05fr;position:relative;width:462px;max-width:94%;height:371px;transform:rotate(-5deg);box-shadow:0 26px 28px -20px #4f36514a;z-index:1;border:1px solid #c1afc6;border-radius:5px 9px 9px 4px;background:#c9bbd1}.book-spread:before{content:'';position:absolute;inset:7px -5px -8px 6px;border-radius:5px 9px 9px 4px;border:1px solid #bbacb7;background:repeating-linear-gradient(to bottom,#e5dfd1 0,#e5dfd1 2px,#bfb8b0 3px,#f3ede0 4px);z-index:-1}.book-spread:after{content:'';position:absolute;inset:15px -9px -15px 10px;border-radius:5px 9px 9px 4px;background:#b4a0bf;z-index:-2;border:1px solid #9b87a5}.book-page{position:relative;min-width:0;background:var(--white)}.page-left{padding:29px 20px;border-right:1px solid #cbbfd0;border-radius:4px 0 0 4px;box-shadow:inset -16px 0 18px -16px #8f7f92}.page-right{margin:0;padding:26px 17px 13px;border-radius:0 6px 6px 0;box-shadow:inset 14px 0 18px -16px #8f7f92}.ex-libris{display:block;font-family:var(--serif);font-size:10px;letter-spacing:3px;color:var(--muted);text-align:center;border-bottom:1px solid var(--line);padding-bottom:14px}.vertical-dedication{font-family:var(--serif);writing-mode:vertical-rl;text-orientation:upright;font-size:20px;line-height:1.9;letter-spacing:5px;margin:26px auto 0;max-height:226px;color:var(--purple-dark)}.small-seal{position:absolute;bottom:27px;left:26px;border:1px solid var(--seal);color:var(--seal);font-family:var(--serif);font-size:11px;line-height:1.25;padding:5px 6px;transform:rotate(4deg)}.book-page .portrait{height:258px;aspect-ratio:auto;border:0;background:var(--white);overflow:hidden}.book-page .portrait img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.page-right figcaption{text-align:center;font-family:var(--serif);font-size:14px;letter-spacing:1px;margin-top:15px}.page-right figcaption span{display:block;font-family:Georgia,serif;font-size:10px;font-style:italic;letter-spacing:1px;color:var(--muted);margin-top:6px}.book-bookmark{position:absolute;z-index:3;right:25px;top:-18px;width:28px;height:109px;writing-mode:vertical-rl;text-orientation:upright;padding:13px 6px 14px;background:var(--purple);color:#fff8ec;letter-spacing:5px;font-family:var(--serif);font-size:12px;clip-path:polygon(0 0,100% 0,100% 100%,50% 89%,0 100%)}.book-scene-note{position:absolute;left:29px;top:20px;font-family:var(--serif);font-size:14px;letter-spacing:2px;transform:rotate(-5deg);color:var(--purple)}.book-bottom-note{position:absolute;bottom:9px;right:14px;font-family:var(--serif);font-size:11px;letter-spacing:1.6px;color:var(--muted)}.literary-branch{position:absolute;width:218px;height:218px;right:-31px;bottom:4px;color:#8b927c;transform:rotate(15deg);z-index:2;pointer-events:none}
.wish-ribbon{background:#e9e1e9;border-block:1px solid #cec0d17a}.wish-ribbon>div{min-height:65px;gap:43px;letter-spacing:4px;font-family:var(--serif);font-size:15px}.wish-ribbon i{font-size:12px;font-style:normal;color:var(--seal)}
.literature-section{padding-block:93px 104px;gap:42px 76px;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.literary-heading{grid-column:1/-1}.literary-heading .eyebrow{margin-bottom:16px}.literary-heading h2{font-size:31px;letter-spacing:1px;line-height:1.7;margin-bottom:12px}.literary-heading>p:last-child{color:var(--muted);font-size:14px;font-family:var(--serif);letter-spacing:1px;margin:0}.poetry-page{position:relative;border:1px solid #d9cecc;background:var(--white);padding:0 32px 28px;min-height:402px;box-shadow:6px 6px 0 -1px #f4f0e7,6px 6px 0 #d9cecc;border-radius:2px}.poem-tabs{display:flex;border-bottom:1px solid var(--line);gap:25px}.poem-tabs button{display:flex;align-items:center;gap:8px;border:0;border-bottom:2px solid transparent;background:none;padding:16px 0 14px;min-height:51px;font-family:var(--serif);font-size:12px;color:var(--muted)}.poem-tabs button>span{border:1px solid currentColor;width:20px;height:24px;display:grid;place-items:center;font-size:12px;line-height:1}.poem-tabs button[aria-pressed=true]{color:var(--purple-dark);border-bottom-color:var(--purple);font-weight:600}.poem-tabs button:hover{color:var(--seal)}.poem-reading{padding:28px 0 25px}.poem-preface{font-size:11px;letter-spacing:2px;color:var(--seal);margin:0 0 17px;font-family:var(--serif)}.poem-reading blockquote{margin:0;font-family:var(--serif);font-size:29px;line-height:1.9;font-weight:400;letter-spacing:1.2px;color:var(--ink);min-height:111px}.poem-source{font-size:11px;letter-spacing:1px;color:var(--muted);font-family:var(--serif);margin:14px 0 0}.poem-source a{border-bottom:1px dotted #b4a3b7;padding-bottom:4px}.poem-source a:hover{color:var(--purple-dark)}.poem-wish{color:var(--muted);font-size:13px;line-height:2;font-family:var(--serif);margin:24px 0 0;min-height:53px}.poetry-page-number{position:absolute;bottom:15px;right:26px;color:#807385;font-family:var(--serif);font-size:9px;letter-spacing:2px}.fortune-card{border-radius:3px;background:#eee7ef;border-color:#d2c5d7;padding:25px 27px;box-shadow:none;transform:rotate(1deg)}.fortune-card:before,.fortune-card:after{display:none}.fortune-top{border-color:#c5b6ca}.ticket-label{font-family:var(--serif);font-weight:400;font-size:13px;letter-spacing:2px}.fortune-body{padding-top:35px;min-height:225px}.fortune-body h3{font-family:var(--serif);font-weight:400;line-height:1.8;font-size:23px;margin:17px 0 12px}.fortune-body p{font-family:var(--serif);font-size:13px}.fortune-number{font-size:10px;letter-spacing:1px}.fortune-button{background:var(--purple);color:var(--white);border-radius:3px;font-size:12px}.fortune-button:hover{background:var(--purple-dark)}.fortune-small{font-family:var(--serif);margin-top:17px;font-size:10px}
.gem-section{background:#3e324b;padding:77px 0}.gem-intro h2,.letter-copy h2{font-family:var(--serif);font-size:33px;font-weight:400;line-height:1.65;letter-spacing:1px}.gem-intro>p:not(.eyebrow){font-family:var(--serif);font-size:15px;line-height:2.1}.gem-card{border-radius:3px;border-color:#d7cad8;box-shadow:6px 6px 0 #84718f4d;background:var(--white)}.gem-card-top{font-family:var(--serif);font-size:11px}.song-message h3{font-family:var(--serif);font-weight:400;font-size:23px}.song-message>p:last-child{font-family:var(--serif);font-size:13px}.song-choices>button{border-radius:3px;font-family:var(--serif)}.record{box-shadow:0 4px 13px #30283d20}.gem-footnote{font-family:var(--serif)}
.letter-section{background:#eae3e8;border-color:#ddd2de;padding:88px 0}.letter-copy>p:not(.eyebrow){font-family:var(--serif);font-size:15px;line-height:2.2}.envelope-paper{font-family:var(--serif);font-weight:400;box-shadow:0 2px 5px #55425b0a}.envelope-front{background:#cbbbd2;border-color:#b8a1c2;border-radius:0 0 3px 3px}.envelope-front:after{background:#dacde0}.envelope-seal{background:var(--seal);box-shadow:0 3px 0 #7f4844}.postmark{font-family:var(--serif);font-size:12px;border-radius:2px;padding:7px 10px;line-height:1.6;color:var(--seal);border-color:var(--seal)}.envelope-paper>span{font-size:12px;letter-spacing:1px}
.happy-heading h2{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.8}.happy-heading h2 span{color:var(--ink)}.happy-heading>p{font-family:var(--serif)}.happy-section{padding-block:88px 68px}.mood-panel{border-radius:3px;background:#fffdf78c;box-shadow:none;padding:27px 34px}.mood-button{border-radius:3px;font-family:var(--serif)}.mood-answer h3{font-family:var(--serif);font-weight:400;font-size:21px}.mood-answer p{font-family:var(--serif)}.mood-answer>svg{width:41px;height:41px}.small-promises p{font-family:var(--serif);font-size:19px}.small-promises>span{font-family:var(--serif)}.closing{background:#e5dce9;background-image:none;border-block:1px solid #d0c0d6;padding:55px 0 43px}.closing h2{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.8;letter-spacing:1px}.closing>.wrap>p:first-of-type{font-family:var(--serif)}.closing>.wrap>svg{width:33px;height:33px}.footer{font-family:var(--serif)}.footer>.brand{font-size:17px}.footer .brand-seal{font-size:16px;width:23px;height:27px}.footer>span{font-size:11px;letter-spacing:1px}.footer>p{font-size:12px}.dialog-inner>h2{font-family:var(--serif);font-size:25px;line-height:1.8;font-weight:400}.letter-text{font-family:var(--serif);font-size:16px;line-height:2.2}.dialog-inner>.eyebrow{font-family:var(--serif);letter-spacing:2px}.dialog-inner>.eyebrow:before{display:none}dialog{border-radius:4px}.close-dialog{border-radius:3px}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:34px}.hero-art.book-scene{height:492px}.book-spread{height:345px}.book-page .portrait{height:232px}.page-left{padding-inline:16px}.page-right{padding-inline:13px}.vertical-dedication{font-size:18px;letter-spacing:4px}.literary-branch{right:-16px;width:175px;height:175px}.book-bottom-note{font-size:10px;letter-spacing:1px;right:0}.book-scene-note{left:15px}.literature-section{gap:38px 45px}.poetry-page{padding-inline:27px}.poem-tabs{gap:19px}.poem-reading blockquote{font-size:25px}.fortune-card{padding-inline:23px}.fortune-body h3{font-size:20px}.gem-layout{gap:45px}.song-message h3{font-size:21px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:84px;gap:18px}.header .brand{font-size:19px;letter-spacing:2px;gap:10px}.brand-seal{width:26px;height:29px;font-size:18px}.header nav{gap:20px;font-size:12px}.header nav a{white-space:nowrap}.header nav a:last-child{display:none}.header nav a:nth-child(2){display:none}.hero{grid-template-columns:minmax(0,1fr);text-align:left;gap:25px;padding-block:40px 28px;min-height:0}.hero .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:20px}.hero h1{font-size:36px;line-height:1.6;letter-spacing:.2px;margin-bottom:20px}.hero-description{font-size:14px;line-height:2.15;margin-bottom:25px;letter-spacing:0}.hero-actions{justify-content:flex-start;gap:22px}.hero .button{padding:13px 20px;font-size:13px}.hero .text-link{font-size:12px}.hero-footnote{justify-content:flex-start;font-size:10px;letter-spacing:0;gap:7px;margin-top:23px;flex-wrap:wrap}.hero-art.book-scene{height:407px;width:min(420px,100%);margin:0 auto;overflow:clip}.book-spread{height:300px;max-width:92%;width:380px}.page-left{padding:20px 12px}.page-right{padding:20px 10px 10px}.book-page .portrait{height:199px}.page-right figcaption{font-size:12px;letter-spacing:.4px;margin-top:12px}.page-right figcaption span{font-size:9px;margin-top:5px}.ex-libris{font-size:9px;letter-spacing:2px;padding-bottom:11px}.vertical-dedication{font-size:16px;line-height:1.8;letter-spacing:4px;margin-top:21px;max-height:195px}.small-seal{font-size:9px;bottom:21px;left:20px;padding:4px 5px}.book-bookmark{width:24px;height:91px;right:18px;font-size:10px;letter-spacing:4px;padding:12px 5px}.book-scene-note{top:10px;left:10px;font-size:12px;letter-spacing:1px}.book-bottom-note{font-size:9px;bottom:5px;right:8px;letter-spacing:1px}.literary-branch{right:-3px;bottom:10px;width:145px;height:145px}.wish-ribbon>div{justify-content:center;width:100%;gap:17px;padding-inline:15px;min-height:54px;font-size:12px;letter-spacing:2px}.wish-ribbon i{font-size:9px}.literature-section{grid-template-columns:minmax(0,1fr);padding-block:57px 62px;gap:29px}.literary-heading{grid-column:auto}.literary-heading h2{font-size:26px;line-height:1.8;letter-spacing:0;margin-bottom:11px;text-wrap:balance}.literary-heading .eyebrow{font-size:11px;margin-bottom:13px}.literary-heading>p:last-child{font-size:12px;letter-spacing:.3px}.poetry-page{padding:0 23px 23px;min-height:394px}.poem-tabs{gap:20px}.poem-tabs button{font-size:12px;gap:7px}.poem-reading{padding-top:26px}.poem-reading blockquote{font-size:24px;letter-spacing:0;line-height:2;min-height:96px}.poem-preface{font-size:10px;letter-spacing:1px}.poem-wish{font-size:13px;min-height:78px;margin-top:21px}.poem-source{font-size:10px;letter-spacing:0}.poetry-page-number{bottom:14px;right:20px;font-size:9px;letter-spacing:1px}.fortune-card{padding:22px 25px;transform:none;margin-top:7px}.fortune-body{min-height:209px;padding-top:28px}.fortune-body h3{font-size:22px}.fortune-body p{font-size:13px}.fortune-top>span:last-child{font-size:10px}.fortune-button{font-size:12px;min-height:47px}.gem-section{padding:57px 0}.gem-layout{gap:27px}.gem-intro h2,.letter-copy h2{font-size:29px;line-height:1.7;letter-spacing:.3px}.gem-intro>p:not(.eyebrow){font-size:14px}.gem-card{padding:22px 20px}.song-message h3{font-family:var(--serif);font-size:18px;line-height:1.8}.song-message>p:last-child{font-family:var(--serif);font-size:12px}.song-choices>button{font-size:12px}.gem-card-top{font-size:11px}.gem-intro .eyebrow{font-size:11px}.letter-section{padding:57px 0 60px}.letter-copy>p:not(.eyebrow){font-size:14px;line-height:2.2}.letter-layout{gap:40px}.letter-envelope{height:280px;width:300px}.envelope-paper{font-size:18px;padding:28px 20px}.envelope-paper>span{font-size:11px;letter-spacing:0}.postmark{font-size:11px}.happy-section{padding-block:58px 45px}.happy-heading h2{font-size:25px;line-height:1.8}.happy-heading h2 span{display:block}.happy-heading>p{font-size:13px;line-height:2}.mood-panel{padding:23px 20px}.mood-answer h3{font-size:20px}.mood-answer p{font-size:14px}.mood-answer>svg{width:32px;height:32px}.mood-controls>div{gap:9px}.mood-button{padding:8px 14px}.small-promises p{font-size:17px;gap:12px}.closing{padding:43px 0 31px}.closing h2{font-size:26px;letter-spacing:.3px}.closing>.wrap>p:first-of-type{font-size:12px;line-height:2}.closing-note{font-size:11px}.footer{padding-block:26px;gap:16px}.footer>.brand{font-size:16px}.footer>p{font-size:11px}.footer>span{font-size:10px;letter-spacing:1px}.dialog-inner{padding:54px 25px 28px}.dialog-inner>h2{font-size:23px;line-height:1.8}.letter-text{font-size:15px;line-height:2.2}.dialog-inner>.eyebrow{font-size:11px}}
@media(max-width:360px){.hero h1{font-size:31px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero-description{font-size:13px}.hero-art.book-scene{height:372px}.book-spread{height:268px}.book-page .portrait{height:170px}.page-right figcaption{font-size:10px}.vertical-dedication{font-size:14px;letter-spacing:3px;max-height:170px}.page-left{padding-inline:10px}.ex-libris{font-size:8px}.book-scene-note{font-size:10px}.small-seal{bottom:19px;left:16px}.poem-tabs{gap:16px}.poem-tabs button{font-size:11px;gap:6px}.poetry-page{padding-inline:19px}.poem-reading blockquote{font-size:21px}.wish-ribbon>div{gap:12px;font-size:10px;letter-spacing:1px}.small-promises p{font-size:15px;gap:8px}.hero .button{padding-inline:16px}.hero-actions{gap:17px}.mood-button{padding-inline:11px}}
.book-bookmark{height:118px;letter-spacing:3px;line-height:1.2;padding-bottom:22px}
@media(max-width:760px){.wish-ribbon>div{gap:12px;font-size:11px;letter-spacing:1px}.book-bookmark{height:108px;letter-spacing:3px;padding-bottom:22px;line-height:1.2}}
@media(max-width:360px){.wish-ribbon>div{gap:9px;font-size:10px;letter-spacing:.5px}}