:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#4b2938;background:#f8f0e3;font-synthesis:none;--serif:"Baskerville","Palatino Linotype","Songti SC","STSong",Georgia,serif;--plum:#643747;--gold:#b58a42}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 30%,#e9c9ca66,transparent 50%),radial-gradient(ellipse at 0 70%,#f0dca57a,transparent 55%);min-height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #96546a;outline-offset:5px}[hidden]{display:none!important}
/* Neither language is selected, promoted, or loaded before the reader chooses. */
.welcome{min-height:100svh;padding:36px 24px;display:grid;place-items:center}.bookplate{position:relative;width:min(100%,660px);padding:62px 58px 40px;text-align:center;border:1px solid #b58a4277;border-radius:200px 200px 18px 18px;background:linear-gradient(160deg,#fffaf2b3,#f7e9d7b3);box-shadow:0 20px 80px #6437470d,inset 0 0 0 7px #f8f0e3,inset 0 0 0 8px #b58a4233}.gate-emblem{display:flex;align-items:center;justify-content:center;gap:26px;color:var(--gold);margin:0 0 32px}.gate-emblem svg{width:54px;height:44px;fill:var(--gold);stroke:var(--gold);stroke-width:1.1}.gate-emblem span{font:24px var(--serif)}#choose-title{font:400 clamp(24px,4vw,34px)/1.35 var(--serif);margin:0;color:#65414c}#choose-title span{display:block}#choose-title span+span{margin-top:10px;letter-spacing:.1em;font-size:.90em}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:38px 0 0}.language-options button{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:26px 22px 18px;background:var(--plum);color:#fff6e9;border:1px solid var(--plum);border-radius:10px;box-shadow:0 7px 18px #64374718;text-align:left}.language-name{font:400 35px/1.2 var(--serif)}.language-name:lang(zh-Hans){letter-spacing:.08em}.choice-action{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:19px;font-size:12px;color:#efdbc3}.choice-action>span:last-child{color:#e6bf7c;font-size:20px}.language-options button:hover{background:#784557;border-color:#784557;transform:translateY(-2px)}.story-rule{width:170px;display:flex;align-items:center;gap:14px;color:#a77a44;margin:32px auto 0}.story-rule:before,.story-rule:after{content:"";height:1px;background:#bba1757d;flex:1}.story-rule span{font:24px var(--serif)}
.toolbar{min-height:80px;padding:15px max(28px,calc((100% - 1152px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:5;background:#f8f0e3f2;border-bottom:1px solid #b5905338;backdrop-filter:blur(16px)}.brand{color:#583340;text-decoration:none;display:flex;align-items:center;gap:12px;font:600 19px var(--serif);white-space:nowrap}.crown{width:30px;height:27px;fill:var(--gold);stroke:var(--gold);stroke-width:1.5}.languages{display:flex;border:1px solid #b58a4255;border-radius:30px;padding:3px;gap:2px}.languages button{color:#785f60;border:0;background:transparent;padding:9px 17px;border-radius:24px;min-height:44px;font-size:13px}.languages button[aria-pressed=true]{background:var(--plum);color:#fff6e9}.languages button:hover{background:#ebdfda}.languages button[aria-pressed=true]:hover{background:var(--plum)}.progress{position:absolute;bottom:-1px;left:0;width:var(--progress,0%);height:2px;background:linear-gradient(90deg,#ac7841,#bd798b)}
.story-opening{max-width:936px;margin:auto;padding:44px 28px 14px;text-align:center}.eyebrow{color:#946b38;font-size:10px;letter-spacing:.18em;margin:0 0 17px}#story-title{font:500 clamp(34px,5vw,52px)/1.1 var(--serif);letter-spacing:-.025em;margin:0;outline:none}#story-title span,#story-title em{display:block}#story-title em{color:#96546a;font-size:.74em;font-weight:400;margin-top:8px}#story-title:lang(zh-Hans){letter-spacing:.03em}.story-intro{color:#806771;font:18px/1.5 var(--serif);margin:18px 0 0}
.reader-note{max-width:936px;margin:0 auto;padding:15px 28px 2px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:#806570}.reader-note button{font-size:12px;color:#7f5363;border:0;background:transparent;text-decoration:underline;min-height:44px;padding:8px}.reader{overflow-anchor:none;max-width:936px;margin:0 auto;padding:5px 28px 0}.page{margin:0 0 34px;scroll-margin-top:98px;outline:none}.page figcaption{color:#806752;font-size:11px;letter-spacing:.04em;padding:18px 2px}.page-image{display:block;width:100%;height:auto;background:#efe6dd;outline:1px solid #b5956655;outline-offset:5px;box-shadow:0 8px 35px #4e293316}footer{text-align:center;padding:24px 20px 80px}.end-heart{font:42px var(--serif);color:#a55b71;margin:8px 0 12px}#end-label{color:#745961;font:italic 32px var(--serif);margin:0 0 22px}#back-top{border:1px solid #b5956677;border-radius:24px;background:#fffaf540;color:#62404b;padding:12px 24px;min-height:44px}.no-script{display:grid;grid-template-columns:1fr 1fr;gap:16px}.no-script summary{padding:18px 8px;cursor:pointer}.no-script a{color:var(--plum);padding:5px}
@media(max-width:600px){.welcome{padding:24px 20px}.bookplate{padding:56px 24px 30px;border-radius:160px 160px 16px 16px}.gate-emblem{margin-bottom:29px}.gate-emblem svg{width:46px;height:38px}#choose-title{font-size:27px}#choose-title span+span{font-size:25px}.language-options{gap:12px;margin-top:30px}.language-options button{padding:23px 16px 17px;gap:22px}.language-name{font-size:31px}.choice-action{font-size:11px}.toolbar{min-height:66px;padding:9px 15px}.brand{font-size:15px;gap:8px}.crown{width:24px}.languages button{padding:8px 11px;font-size:12px}.story-opening{padding:28px 22px 10px}.eyebrow{font-size:9px;margin-bottom:12px}#story-title{font-size:36px}.story-intro{font-size:16px;margin-top:14px}.reader-note{padding:15px 14px 0;font-size:11px}.reader{padding:0}.page{margin-bottom:10px}.page figcaption{padding:16px 14px}.page-image{box-shadow:none;outline:none}}
@media(max-width:350px){.welcome{padding:18px 12px}.bookplate{padding-right:20px;padding-left:20px}#choose-title{font-size:25px}#choose-title span+span{font-size:23px}.language-options button{padding-right:12px;padding-left:12px}.language-name{font-size:29px}.brand{font-size:13px}.crown{display:none}.story-opening{padding-right:18px;padding-left:18px}#story-title{font-size:32px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s,transform .15s}}
