@font-face{font-family:XuanbaSerif;src:url('./serif.woff') format('woff');font-display:swap}@font-face{font-family:XuanbaBrush;src:url('./brush.woff') format('woff');font-display:swap}
*{box-sizing:border-box}html{background:#fcfaf5;color:#211f1a;touch-action:manipulation}body{margin:0;-webkit-font-smoothing:antialiased;font-family:XuanbaSerif,'Songti SC',serif}button,input{font:inherit}button{cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:active{opacity:.78}button:focus,input:focus,summary:focus{outline:2px solid var(--accent);outline-offset:3px}button{border:0;background:none}button:disabled{opacity:.55}input{min-width:0;color:#25262c;background:none;border:0;font-family:XuanbaSerif,serif}#app{max-width:480px;margin:0 auto;padding:24px 20px 32px;padding-top:24px;padding-top:calc(24px + var(--native-top,var(--safe-area-inset-top,0px)));padding-bottom:calc(32px + var(--safe-area-inset-bottom,0px))}
.brand{display:flex;align-items:center;height:30px;letter-spacing:3px;color:#111}.brand>span{font-family:XuanbaBrush,serif;font-size:28px;letter-spacing:2px}.brand i{height:16px;width:1px;background:#aaa193;margin:0 14px}.brand b{font-size:13px;font-weight:400;letter-spacing:3px}
.form-page{padding-top:26px}.welcome{margin:48px 4px 34px}.welcome h1{font-size:39px;line-height:1.3;letter-spacing:1px;margin:0;font-weight:700;white-space:nowrap}.welcome h1 em{font-family:XuanbaBrush,serif;font-size:64px;font-style:normal;letter-spacing:0}.welcome p{font-size:18px;color:#4f5159;margin:19px 0 20px;letter-spacing:2px}.divider{height:18px;width:82px;position:relative;margin:18px 0 20px;color:var(--accent)}.divider:before,.divider:after{content:'';position:absolute;top:8px;width:33px;height:1px;background:currentColor;opacity:.5}.divider:before{left:0}.divider:after{right:0}.divider i{position:absolute;left:38px;top:6px;width:5px;height:5px;border:1px solid currentColor;transform:rotate(45deg)}
.field{margin-bottom:22px}.field>label,.time-label>label:first-child{display:block;font-size:20px;letter-spacing:1px;font-weight:700;margin:0 5px 10px}.field label>span{font-size:19px}.input-shell{position:relative;border:1px solid #b2a18c;border-radius:10px;min-height:58px;overflow:hidden}.input-shell input{position:relative;width:100%;height:58px;padding:10px 16px;outline-offset:-3px;font-size:19px;z-index:2}.input-shell input::placeholder{color:#73747d;opacity:1;letter-spacing:1px}.landscape{background:url('./ui/mountain-a.webp') no-repeat right 30px center;background-size:132px auto}.time-shell{background-image:url('./ui/mountain-b.webp')}.landscape:after{content:'';position:absolute;right:0;top:0;bottom:0;width:62%;background:rgba(252,250,245,.25);pointer-events:none}.landscape input{padding-right:30px}.landscape input:not(.filled){color:transparent}.landscape input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;top:0;right:0;width:100%;height:100%;cursor:pointer}.date-hint{position:absolute;left:18px;top:16px;color:#70737c;font-size:19px;letter-spacing:4px;pointer-events:none}.filled+.date-hint{display:none}.disabled .filled{color:transparent}.disabled .date-hint{display:block}.chevron{position:absolute;right:13px;top:10px;font-size:34px;color:var(--accent);line-height:1;pointer-events:none}.time-label{display:flex;justify-content:space-between;align-items:center}.time-label .unknown{display:flex;align-items:center;font-size:14px;color:#50535c;white-space:nowrap;margin-bottom:10px}.unknown input{width:17px;height:17px;margin-right:8px;accent-color:var(--accent)}.help{font-size:13px;letter-spacing:.7px;color:#656771;margin:10px 7px 0}.primary{width:100%;min-height:52px;display:block;border-radius:28px;background:var(--accent);color:#fffdf7;font-size:19px;letter-spacing:1px;padding:12px 20px;position:relative}.primary span{font-family:serif;font-size:28px;line-height:.5;vertical-align:middle;margin-left:5px}.primary{background-image:url('./ui/brush.webp');background-size:cover;background-position:center}.error{font-size:14px;color:#9b3025;margin:10px 5px}.form-page footer{text-align:center;font-size:13px;color:#77716a;letter-spacing:1px;padding-top:18px}.form-page footer .divider{margin:10px auto 0}.form-page form{margin-top:0}
.card-page .brand{margin:0 5px 10px}.character{position:relative;height:408px;margin:10px -10px 0}.character .identity{position:absolute;left:7px;top:4px;z-index:2;max-width:126px}.pillar-name{font:112px/1.01 XuanbaBrush,serif;color:var(--accent)}.pillar-name span{display:block}.identity h2{font-size:25px;line-height:1.35;font-weight:400;color:var(--accent);margin:8px 0 12px;overflow-wrap:break-word}.identity p{font-size:13px;letter-spacing:4px;margin:0 0 14px;color:#282825}.identity p:after{content:'';display:block;width:22px;height:1px;background:var(--accent);margin-top:7px}.seal{font:12px/1 XuanbaBrush,serif;writing-mode:vertical-rl;border:1px solid #9e332a;color:#9e332a;border-radius:3px;padding:3px 1px;letter-spacing:1px}.character img{position:absolute;right:-8px;bottom:0;height:100%;width:86%;object-fit:contain;object-position:right bottom;z-index:1}.tags{display:flex;justify-content:space-around;margin:14px 0 12px;color:#18191b;font-size:15px;text-align:center}.tags>span{flex:1;padding:0 6px;white-space:nowrap}.tags>span+span{border-left:1px solid var(--accent)}.cover-quote{font-size:23px;line-height:1.65;letter-spacing:1px;margin:15px 4px 16px;color:#29272a}.card-page>.divider{margin:12px 0 18px}.reading-entry{display:block;position:relative;width:100%;border:1px solid #b9b4a8;border-radius:9px;min-height:69px;text-align:left;padding:10px 15px;overflow:hidden;background-repeat:no-repeat;background-position:right 12px center;background-size:145px auto}.reading-entry+.reading-entry{margin-top:10px}.reading-entry strong,.reading-entry small{position:relative;z-index:1;display:block;font-weight:400}.reading-entry strong{font-size:20px;letter-spacing:2px}.reading-entry small{font-size:12px;color:#696a71;margin-top:5px}.reading-entry>span{position:absolute;right:14px;top:18px;font-size:28px;color:var(--accent)}.mountain-a{background-image:url('./ui/mountain-a.webp')}.mountain-b{background-image:url('./ui/mountain-b.webp')}.card-page .primary{margin-top:17px}.text-button{font-size:14px;color:#887969;display:block;padding:4px 0;border-bottom:1px solid var(--accent)}.reset{margin:22px auto 20px}.chart{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:13px;color:#5f5b54;border-top:1px solid #dfd7ca;padding-top:16px}.chart summary{cursor:pointer;text-align:center;color:#6b5d49;font-family:XuanbaSerif,serif}.chart p{line-height:1.7}.pillars{display:flex;text-align:center;border:1px solid #d9d1c4;border-radius:6px;padding:10px 0}.pillars>div{flex:1;min-width:0}.pillars small,.pillars b,.pillars span{display:block}.pillars b{font:22px/1.7 XuanbaSerif,serif;color:#292722}.pillars span{font-size:11px}.source-link{font-size:11px;margin:17px auto 0;color:#8c8880;border:0}
.back{font-size:15px;letter-spacing:2px;padding:0;min-height:30px;color:#292722}.reader-heading{margin:22px 0 13px}.reader-heading h1{font-size:26px;font-weight:600;letter-spacing:2px;margin:0}.reader-heading .divider{width:100%;margin:10px 0 0}.reader-heading .divider:before,.reader-heading .divider:after{width:49%}.reader-heading .divider i{left:49.5%}.reader-heading{background:url('./ui/mountain-a.webp') no-repeat right center;background-size:160px auto}.reader-page .compact{height:252px;margin-top:0}.compact .pillar-name{font-size:88px}.compact .identity{top:8px;max-width:166px}.compact .identity h2{font-size:21px;margin-top:8px}.compact .identity p{display:none}.compact .seal{display:none}.compact img{width:65%;right:0}.reader-page .all-tags{font-size:13px;margin:14px -10px 20px;flex-wrap:wrap}.all-tags>span{margin-bottom:7px;padding:0 8px;flex:0 1 auto}.chapter-nav{display:flex;overflow-x:auto;border-bottom:1px solid #a99a84;margin:18px 0 20px;padding:0 0 7px;position:sticky;top:0;z-index:3;background:#fcfaf5;white-space:nowrap;-webkit-overflow-scrolling:touch}.chapter-nav>button{font-size:15px;min-height:36px;padding:0 12px;color:#5b5e65}.chapter-nav>button[aria-current="true"]{color:var(--accent);border-bottom:2px solid var(--accent)}.chapter-nav>button+button{border-left:1px solid #d4cbbc}.article{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:16px;line-height:2.05;color:#303138;overflow-wrap:break-word}.article>h2:first-child,.article>h1:first-child{display:none}.article h2,.article h3{font-family:XuanbaSerif,serif;color:#22211e;font-weight:600;line-height:1.6}.article p{margin:0 0 24px}.article p:target,.article h2:target{scroll-margin-top:62px}.article strong{font-weight:600}.article blockquote{margin:20px 0;padding:12px 14px;background:#f2eee5;border-left:2px solid var(--accent);font-size:14px;color:#45443f}.article blockquote p{margin:0 0 12px}.article code{font-family:XuanbaSerif,serif;font-size:13px;display:inline-block;background:#efebe3;color:#383834;padding:0 7px;line-height:1.8;margin:0 3px 7px;border-radius:3px}.article ul{padding-left:22px}.article hr{border:0;border-top:1px solid #dfd6c8;margin:28px 0}.bottom-back{margin:22px 0}.master-hero{display:flex;align-items:center;margin:10px -7px 25px}.master-name{flex:1;min-width:0}.master-name>div{font:88px/1.05 XuanbaBrush,serif;color:var(--accent)}.master-name>h2{font-size:19px;line-height:1.6;font-weight:400;margin:14px 0;color:var(--accent)}.scroll-thumb{width:51%;padding:0}.scroll-thumb img{display:block;width:100%;max-height:300px;object-fit:contain}.scroll-thumb>span{display:block;font-size:12px;color:var(--accent);text-decoration:underline;margin-top:8px}.master-article>p:first-of-type{font-family:XuanbaSerif,serif;color:#695033;font-size:21px;line-height:1.8}.image-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1c19;z-index:20;display:flex;align-items:center;justify-content:center;overflow:auto;padding:55px 10px 20px}.image-modal img{max-height:100%;max-width:100%;object-fit:contain}.image-modal button{position:fixed;right:16px;top:14px;color:white;padding:10px;background:#333;border-radius:5px}.source-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;overflow:auto;background:#fcfaf5;padding:25px;font-family:-apple-system,'PingFang SC',sans-serif;font-size:15px;line-height:1.8}.source-modal>h1{font-family:XuanbaSerif,serif}.source-modal>h2{margin-top:40px}.source-modal>h1:nth-of-type(n+2){margin-top:70px}#toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);background:#302f2b;color:white;border-radius:8px;padding:12px 18px;font:14px/1.6 -apple-system,'PingFang SC',sans-serif;max-width:85%;text-align:center;opacity:0;pointer-events:none;z-index:30}#toast.visible{opacity:1}.disabled{opacity:.58}
.reader-quote{font:18px/1.9 XuanbaSerif,serif;margin:15px 0 25px;color:#302c30}.master-quote{font-size:22px;border-top:1px solid #c4b296;padding-top:18px}.master-article>p:first-of-type{font-family:-apple-system,'PingFang SC',sans-serif;font-size:16px;line-height:2.05;color:#303138}.identity h2{max-width:125px;font-size:24px}.character{height:380px}.character img{width:80%}.character.compact{height:252px}.character.compact img{width:65%}.cover-quote{font-size:22px;line-height:1.45;margin:15px 4px 14px}.tags{margin:10px 0 12px}
@media(max-width:360px){#app{padding-left:16px;padding-right:16px}.welcome{margin-top:36px}.welcome h1{font-size:34px}.welcome h1 em{font-size:55px}.welcome p{font-size:16px;letter-spacing:1px}.character{height:360px}.pillar-name{font-size:99px}.identity h2{font-size:22px;max-width:115px}.tags{font-size:13px}.cover-quote{font-size:21px}.reading-entry small{font-size:11px}.master-name>div{font-size:77px}.master-name>h2{font-size:16px}.article{font-size:15px}}
.chapter-nav>button{flex:1;min-width:0;padding:0 4px;font-size:14px}.chapter-nav>button[aria-current="true"]{color:var(--accent);border-bottom:2px solid var(--accent)}
.character.compact .identity p{display:block;font-size:12px;letter-spacing:2px;margin:5px 0 0}.character.compact .identity p:after{display:none}.article>p>strong:first-child{display:block;font-family:XuanbaSerif,serif;font-size:23px;line-height:1.6;color:#211f1a;margin-bottom:12px}.master-article>p>strong:first-child{font-size:20px}
.primary{background-image:none;overflow:hidden}.primary:before{content:'';position:absolute;left:0;top:0;right:0;bottom:0;background:url('./ui/brush.webp') center/cover;opacity:.16;pointer-events:none}.welcome{margin-bottom:26px}.welcome h1 em{font-size:70px}.field{margin-bottom:18px}.card-page .identity{top:-12px}.pillar-name{font-size:100px;line-height:.94}.card-page>.divider{height:12px;margin:6px 0 10px}.reading-entry{min-height:66px}.reader-heading{position:relative;margin:10px 0 8px}.reader-heading h1{line-height:1.2}.reader-heading .divider{margin-top:6px}.character.compact{height:230px}.reader-quote{font-size:17px;line-height:1.7;margin:15px 0 18px}.master-page .reader-heading{background:none}.master-page .reader-heading .divider{position:absolute;left:108px;right:0;top:4px;width:auto;margin:0}.master-hero{margin-top:-12px;margin-bottom:18px}.master-name>div{font-size:85px;line-height:.95}.master-quote{font-size:21px;line-height:1.6;text-align:center}.master-page .chapter-nav{margin-top:14px}
@media(max-width:360px){.chapter-nav>button{font-size:12px}.welcome h1 em{font-size:55px}}
.reading-entry strong{line-height:1.3}.reading-entry small{line-height:1.3;margin-top:4px}.card-page .primary{margin-top:14px}
@media(min-width:440px){.character{height:455px}.pillar-name{font-size:126px}.identity h2{font-size:28px}.welcome h1{font-size:44px}.welcome h1 em{font-size:73px}.welcome{margin-top:54px}.field{margin-bottom:26px}.input-shell,.input-shell input{min-height:63px}.cover-quote{font-size:26px}}
@supports(padding-top:env(safe-area-inset-top)){#app{padding-top:calc(24px + var(--native-top,var(--safe-area-inset-top,env(safe-area-inset-top,0px))));padding-bottom:calc(32px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}}

/* v1.0.2 typography: built on v1.0.0; five-element colors stay in --accent. */
@font-face{font-family:XuanbaHeading;src:url('./heading.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:XuanbaBrush;src:url('./brand.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+516B,U+7384}
.welcome h1{font-family:XuanbaHeading,XuanbaSerif,serif;font-size:40px;font-weight:600;line-height:1.25;letter-spacing:1px}
.welcome h1 em{display:block;height:90px;margin-top:3px;background:url('./ui/title-oriental.webp') left center/100% auto no-repeat;font-size:0;line-height:0;font-style:normal}
.welcome p{font-weight:400;letter-spacing:1.4px}
.field>label,.time-label>label:first-child{font-family:XuanbaHeading,XuanbaSerif,serif;font-weight:600;line-height:1.5}
.input-shell input,.date-hint{font-family:XuanbaSerif,serif;font-weight:400}
.primary{font-family:XuanbaSerif,serif;font-weight:400;letter-spacing:1px}
.pillar-name{font-family:XuanbaBrush,serif;font-size:110px;line-height:.96;letter-spacing:0}
.compact .pillar-name{font-size:88px;line-height:.94}
.compact .identity h2{font-size:21px;line-height:1.25;margin:8px 0 4px}
.character.compact .identity p{margin:2px 0 0}
.master-name>div{font-family:XuanbaBrush,serif;font-size:94px;line-height:1}
.identity h2,.master-name>h2{font-family:XuanbaSerif,serif;font-weight:400;letter-spacing:.4px;line-height:1.4}
.tags{font-family:XuanbaSerif,serif;font-weight:400;letter-spacing:.5px}
.cover-quote{font-family:XuanbaSerif,serif;font-size:22px;font-weight:400;line-height:1.55;letter-spacing:.8px}
.reading-entry strong,.reader-heading h1{font-family:XuanbaHeading,XuanbaSerif,serif;font-weight:600}
.reading-entry small{font-family:XuanbaSerif,serif;letter-spacing:.2px}
.reader-quote{font-family:XuanbaSerif,serif;font-size:17px;line-height:1.8;letter-spacing:.4px}
.master-quote{font-size:21px;line-height:1.7}
.chapter-nav>button{font-family:XuanbaHeading,XuanbaSerif,serif;font-weight:600;letter-spacing:.2px}
.article{letter-spacing:.15px}
.article h2,.article h3,.article>p>strong:first-child{font-family:XuanbaHeading,XuanbaSerif,serif;font-weight:600}
.master-article,.master-article>p:first-of-type{font-family:XuanbaSerif,serif;font-size:16px;line-height:2.05;letter-spacing:.2px}
@media(max-width:360px){.welcome h1{font-size:34px}.welcome h1 em{height:80px}.pillar-name{font-size:100px}.compact .pillar-name{font-size:86px}.master-name>div{font-size:84px}.master-article{font-size:15px}.character img{right:0}}
@media(min-width:440px){.welcome h1{font-size:44px}.welcome h1 em{height:106px}.pillar-name{font-size:120px}}

/* v1.0.3: clearer card names and quotes; move the whole identity group below the logo. */
.card-page .identity{top:18px}
.identity h2{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:20px;font-weight:500;line-height:1.5;letter-spacing:.8px}
.cover-quote{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:20px;font-weight:400;line-height:1.7;letter-spacing:.4px}
.reader-quote{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-weight:400;letter-spacing:.4px}

/* v1.0.4: semibold Song labels contrast with the sans-serif quotation. */
.identity p{font-family:XuanbaHeading,XuanbaSerif,serif;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:2.5px}
.tags{font-family:XuanbaHeading,XuanbaSerif,serif;font-weight:600;line-height:1.5;letter-spacing:.8px}

/* v1.1.1: centered birthday trigger and native-independent year/month/day wheels. */
.birthday-trigger{display:flex;align-items:center;justify-content:center;width:100%;height:60px;padding:10px 35px;isolation:isolate;background-size:115px auto;background-position:right 30px center}
.birthday-trigger:after{width:100%;background:rgba(252,250,245,.73);z-index:-1}
.birthday-value{font:400 18px/1.5 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:.7px;color:#817a70;font-variant-numeric:tabular-nums}
.birthday-trigger.filled .birthday-value{color:#302a23;font-weight:500}
.birthday-chevron{position:absolute;right:12px;top:20px;width:20px;height:20px;fill:none;stroke:#87735a;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.birthday-open,.birthday-open body{overflow:hidden}
.birthday-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:26;display:flex;align-items:flex-end;justify-content:center;background:rgba(35,31,25,.36);overscroll-behavior:contain}
.birthday-sheet{width:100%;max-width:480px;max-height:100%;overflow:auto;padding:10px 20px 20px;padding-bottom:calc(20px + var(--safe-area-inset-bottom,0px));background:#fcfaf5;border:1px solid #ded2c0;border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -8px 35px rgba(45,34,20,.1)}
.birthday-handle{width:32px;height:3px;background:#d5c8b7;border-radius:3px;margin:0 auto 12px}
.birthday-sheet header{display:flex;align-items:center;justify-content:space-between}
.birthday-sheet h2{font:600 20px/1.5 XuanbaHeading,XuanbaSerif,serif;letter-spacing:2px;margin:0}
.birthday-sheet header button{min-height:44px;min-width:50px;padding:8px;font-size:16px}
.birthday-cancel{color:#877b6b}.birthday-confirm{color:#fffdf7;background:#594630;border-radius:20px}
.birthday-caption{text-align:center;color:#81776b;font:12px/1.7 -apple-system,'PingFang SC',sans-serif;margin:12px 0 17px;letter-spacing:1px}
.birthday-wheel-labels{display:flex;text-align:center;font-size:13px;color:#91826e;margin-bottom:8px}
.birthday-wheel-labels>span{flex:1}
.birthday-wheels{position:relative;display:flex;border-top:1px solid #e7dfd2;border-bottom:1px solid #e7dfd2}
.birthday-wheels:after{content:'';position:absolute;top:88px;left:0;right:0;height:44px;background:rgba(164,133,88,.07);border-top:1px solid #d6c5aa;border-bottom:1px solid #d6c5aa;border-radius:5px;pointer-events:none}
.birthday-wheel{position:relative;flex:1;min-width:0;height:220px;overflow-y:auto;padding:88px 0;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;font-variant-numeric:tabular-nums;text-align:center;touch-action:pan-y}
.birthday-wheel::-webkit-scrollbar{display:none}
.birthday-wheel [role=option]{height:44px;line-height:44px;scroll-snap-align:center;font-size:19px;color:#a69b8d;cursor:pointer;position:relative;z-index:1}
.birthday-wheel [aria-selected=true]{color:#493927;font-weight:600;font-size:23px}
.birthday-preview{text-align:center;font:14px/1.7 -apple-system,'PingFang SC',sans-serif;font-variant-numeric:tabular-nums;color:#655540;margin:18px 0 0;letter-spacing:.7px}

/* Explicit reading actions, with the existing original ink landscapes. */
.reading-intro{display:flex;align-items:center;gap:14px;margin:10px 0 13px}
.reading-intro .divider{flex:0 0 82px;margin:0;height:18px;color:#a18768}
.reading-intro p{margin:0;color:#89755d;font:13px/1.6 XuanbaSerif,serif;letter-spacing:.1px}
.card-page .reading-entry{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;min-height:84px;padding:14px 12px 13px 15px;border:1px solid #bca98f;border-radius:11px;background-color:#fcfaf5;background-position:right 12px center;background-size:178px auto;box-shadow:0 2px 3px rgba(65,44,20,.07)}
.reading-entry+.reading-entry{margin-top:12px}
.entry-copy{flex:1;min-width:0;position:relative;z-index:1}
.card-page .reading-entry strong{font-size:21px;line-height:1.35;letter-spacing:1.5px;color:#29251f}
.card-page .reading-entry small{font-size:11px;line-height:1.6;margin-top:7px;letter-spacing:0;color:#625d56}
.card-page .reading-entry .entry-action{position:relative;top:auto;right:auto;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:4px;min-height:33px;border:1px solid var(--accent);border-radius:20px;padding:5px 9px;background:#fcfaf5;color:var(--accent);font:600 12px/1.5 XuanbaSerif,serif;white-space:nowrap;z-index:1}
.entry-action svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reading-entry:active{transform:translateY(1px);box-shadow:none}
.card-page #save{margin-top:18px}
@media(max-width:360px){.reading-intro{gap:10px}.reading-intro .divider{flex-basis:60px;width:60px}.reading-intro .divider:before,.reading-intro .divider:after{width:23px}.reading-intro .divider i{left:28px}.reading-intro p{font-size:12px}.card-page .reading-entry{padding:12px 10px;gap:6px}.card-page .reading-entry strong{font-size:20px}.card-page .reading-entry small{font-size:10.5px}.card-page .reading-entry .entry-action{font-size:11px;padding:5px 7px;gap:2px}.birthday-value{font-size:17px;letter-spacing:.2px}}
@supports(padding-bottom:env(safe-area-inset-bottom)){.birthday-sheet{padding-bottom:calc(20px + var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px)))}}

.card-page .card-actions{display:flex;align-items:stretch;gap:10px;margin-top:18px}
.card-page .card-actions .primary{flex:1;width:auto;min-width:0;margin-top:0;padding-left:10px;padding-right:10px;font-size:16px}
.card-page .card-actions #save{margin-top:0}
.card-page .share-card{background:#f6f0e6;color:#9e332a;box-shadow:inset 0 0 0 1px #9e332a;letter-spacing:1.4px;font-family:XuanbaSerif,serif}
.card-page .share-card:before{opacity:.2}
.share-preview-open,.share-preview-open body{overflow:hidden}
.share-preview{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:72px 18px 28px;background:radial-gradient(120% 80% at 50% 40%,rgba(68,52,38,.62),rgba(16,13,11,.94))}
.share-preview img{max-width:100%;max-height:calc(100% - 96px);object-fit:contain;-webkit-touch-callout:default;user-select:auto;background:#fff;box-shadow:0 0 0 10px #f6f1e8,0 22px 48px rgba(0,0,0,.38)}
.share-preview-hint{margin:0;color:#f3ece2;text-align:center;letter-spacing:1.6px;font:16px/1.7 XuanbaSerif,'Songti SC',serif}
.share-preview-close{position:absolute;top:16px;right:16px;width:44px;height:44px;min-width:44px;min-height:44px;color:#f3ece2;background:transparent;border:1px solid #9e332a;border-radius:2px;font:26px/1 XuanbaSerif,serif}

/* cut3 */

.contact-message { font-size: 18px; line-height: 1.9; overflow-wrap: anywhere; margin-top: 32px; }
