/* v41: quiet writing, progressive disclosure, consistent mobile navigation. */
:root{--ui-ink:#203b4d;--ui-muted:#566b75;--ui-border:#d5dedb;--ui-paper:#fffefa;--ui-accent:#b74636;--ui-focus:#315e69;--ui-radius:16px}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px}
.v41-navigation{display:none;position:relative;text-align:left;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.v41-navigation>summary{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 8px;cursor:pointer;list-style:none;border-radius:10px;color:var(--ui-ink);font-size:13px;font-weight:600}
.v41-navigation>summary::-webkit-details-marker{display:none}
.v41-navigation[open]>summary{background:#edf2ef}
.topbar .v41-navigation .v41-nav-links,.v41-navigation .v41-nav-links{display:grid;position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:190px;padding:8px;background:var(--ui-paper);border:1px solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:0 14px 40px #203b4d20;gap:2px}
.v41-nav-links a{display:flex;align-items:center;min-height:46px;padding:8px 14px;border-radius:9px;text-decoration:none;font-size:14px;color:var(--ui-ink);white-space:nowrap}
.v41-nav-links a:hover,.v41-nav-links a[aria-current=page]{background:#edf2ef;color:#244c43}
.primary-button,.shared-primary{background:var(--ui-accent);color:#fff}
.primary-button:hover,.shared-primary:hover{background:#9f3c2e}
.write-layout{grid-template-columns:minmax(240px,.7fr) minmax(0,1.8fr);gap:52px;width:min(1160px,100% - 64px);margin:34px auto 88px}
.write-intro{padding-top:18px;min-width:0}
.write-intro .back-button{margin-bottom:24px}
.write-intro h1{font-size:clamp(34px,3vw,44px);line-height:1.4;letter-spacing:.025em}
.write-intro>p{font-size:15px;line-height:1.85;color:var(--ui-muted)}
.letter-form{min-width:0;border-radius:20px;padding:30px 34px;gap:18px;background:#fffefa;box-shadow:0 14px 45px #203b4d08}
.letter-form .write-stage-group{gap:18px;min-width:0}
.letter-form input,.letter-form select,.letter-form textarea{min-width:0;font-size:16px;color:var(--ui-ink)}
.letter-form textarea[maxlength="5000"]{min-height:300px;line-height:1.9;resize:vertical}
.letter-form label>span{font-size:14px}
.letter-form .delivery-help{font-size:13px;line-height:1.7;gap:6px}
.letter-form .v27-price-clarity{display:grid;grid-template-columns:1fr auto;align-items:center;padding:12px 16px;gap:5px;border-radius:12px;background:#f3f5ef;border-color:#dbe4d6}
.letter-form .v27-price-clarity>span{font-size:12px;line-height:1.5}
.letter-form .v27-price-clarity>strong{font-size:15px;line-height:1.6;color:#315442}
.letter-form .v27-price-clarity>small{grid-column:1/-1;font-size:12px;line-height:1.7;color:var(--ui-muted)}
.letter-form .v27-draft-bar{gap:8px;padding:0;min-height:32px;flex-wrap:wrap;font-size:12px;color:var(--ui-muted)}
.letter-form [data-v27-recovery-actions]{display:flex;gap:6px}
.letter-form .v27-draft-bar button{min-width:44px;min-height:44px;padding:8px 10px;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.letter-form details.letter-starters{padding:0;border:1px solid var(--ui-border);border-radius:12px;background:#fafbf8}
.letter-form .letter-starters-heading{min-height:54px;padding:12px 16px;cursor:pointer;list-style:none;position:relative;padding-right:50px}
.letter-starters-heading::-webkit-details-marker{display:none}
.letter-starters-heading:after{content:"展开";font-size:12px;position:absolute;right:16px;top:16px;color:var(--ui-muted)}
.letter-starters[open]>.letter-starters-heading:after{content:"收起";font-size:12px}
.letter-form .letter-starters-heading strong{font-size:14px;color:var(--ui-ink)}
.letter-form .letter-starters-heading small{font-size:12px;color:var(--ui-muted);line-height:1.7}
.letter-form .letter-starters:not([open])>.letter-starters-heading small{display:none}
.letter-form .letter-starter-list{padding:0 14px 14px;gap:8px}
.letter-form .letter-starter-list button{min-height:44px;font-size:13px;line-height:1.5;border-radius:9px;padding:9px 12px}
.letter-form .v27-writing-guide{margin:0 14px 14px;padding:14px;background:#fff;border:1px solid var(--ui-border);border-radius:10px}
.letter-form .v27-mode-tabs button{min-height:44px;font-size:13px;border-radius:8px}
.letter-form .v27-quick-guide{gap:6px}
.letter-form .v27-quick-guide button{min-height:44px;font-size:13px;line-height:1.65;text-align:left}
.letter-form .v27-deep-guide label{font-size:13px;line-height:1.8}
.letter-form .v27-deep-guide textarea{font-size:16px}
.v41-public-slot{min-width:0}
.letter-form .v28-public-release{padding:0;margin:0;border:1px solid var(--ui-border);border-radius:12px;background:#fafbf8;min-width:0}
.v41-privacy-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:14px 16px;cursor:pointer;font-size:14px;color:var(--ui-ink);list-style:none}
.v41-privacy-disclosure>summary::-webkit-details-marker{display:none}
.v41-privacy-disclosure>summary:after{content:"展开";font-size:12px;color:var(--ui-muted)}
.v41-privacy-disclosure[open]>summary:after{content:"收起";font-size:12px}
.v41-privacy-disclosure>summary strong{margin-left:auto;font-size:12px;font-weight:500;color:#315442;text-align:right;line-height:1.7}
.v41-privacy-body{padding:4px 16px 16px}
.v41-privacy-body .v28-public-heading{display:block;margin-bottom:14px}
.v41-privacy-body .v28-public-heading>div>strong,.v41-privacy-body .v28-private-badge,.v41-privacy-body .v29-unified-note{display:none}
.v41-privacy-body .v28-public-heading span{font-size:13px;line-height:1.8;color:var(--ui-muted)}
.letter-form .v28-public-options{grid-template-columns:1fr;gap:8px}
.letter-form .v28-public-option{min-height:64px;padding:12px 12px 12px 40px;border-radius:10px;font-size:14px}
.letter-form .v28-public-option input{width:18px;height:18px;top:14px}
.letter-form .v28-public-option strong{font-size:14px;line-height:1.7}
.letter-form .v28-public-option small,.letter-form .v28-public-rule span{font-size:12px;line-height:1.85;color:var(--ui-muted)}
.letter-form .v28-public-extra{margin-top:16px;gap:12px}
.letter-form .v28-public-preview{min-height:48px;font-size:14px}
.letter-form .v28-public-rule{margin-top:16px;padding-top:14px}
.letter-form .v28-public-rule a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.letter-form .submit-button{min-height:54px;border-radius:12px;font-size:16px}
.v41-field-error{display:block;color:#ac3027;font-size:13px;line-height:1.8;margin-top:4px}
.letter-form [aria-invalid=true]{border-color:#ac3027}
.v28-public-dialog{max-height:90dvh;overflow-y:auto}
.v28-public-dialog .v28-public-dialog-close{min-width:44px;min-height:44px}
.v28-public-dialog .v28-dialog-actions button{min-height:48px}
.wish-stage-cardview .wish-subtle-button,.wish-stage-cardview .wish-like-button,.wish-stage-cardview .wish-bless-button,.wish-stage-cardview .wish-report>summary{min-height:44px;min-width:44px}
.shared-heading{padding-top:32px;padding-bottom:22px}
.shared-heading h1{line-height:1.45}
.shared-heading>p{font-size:15px;line-height:1.85;color:var(--ui-muted)}
.local-boundary{font-size:13px;line-height:1.85;border-radius:12px;padding:14px 20px}
.local-boundary>strong{display:block;font-weight:500;color:var(--ui-ink)}
.local-boundary summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--ui-muted);text-decoration:underline;text-underline-offset:4px}
.local-boundary p{margin:0 0 8px}
.shared-progress li{font-size:12px;line-height:1.6;min-width:0;opacity:1;color:#596d66}
.shared-progress li.is-active{color:#725820;border-color:#bda979}
.shared-panel,.v39-seal-review{scroll-margin-top:24px}
.shared-panel .panel-copy h2{text-wrap:balance}
.wish-cards-page .wish-privacy-note,.wish-cards-page .wish-compose-meta,.wish-cards-page .wish-public-preview>span{font-size:12px}
.shared-form input,.shared-form select,.shared-form textarea{font-size:16px}
@media(min-width:981px){.write-intro{position:sticky;top:24px}.letter-form .v27-quick-guide{grid-template-columns:1fr}}
@media(max-width:980px){
 .v41-navigation{display:block}.topbar-actions .v28-square-nav{display:none}
 .topbar-actions{gap:6px}.topbar .account-button,.topbar .nav-cta{min-height:44px;font-size:13px}.topbar .account-button{min-width:44px}
 .write-layout{grid-template-columns:1fr;width:min(680px,100% - 32px);gap:22px;margin:16px auto 60px}
 .write-intro{padding:0;text-align:center}.write-intro .back-button{margin-bottom:4px;min-height:44px}.write-intro h1{font-size:30px;line-height:1.45;margin:0}.write-intro>p{font-size:14px;line-height:1.8;margin:8px 0 0}
 .letter-form{padding:24px;gap:16px}.letter-form .write-stage-group{gap:16px}
 .shared-topbar{gap:8px}.shared-topbar>.v41-navigation{order:3}.shared-topbar>a:not(.shared-brand){margin-left:auto;font-size:13px;min-height:44px;display:flex;align-items:center}
 .discover-header>nav,.my-top>nav{display:flex;align-items:center;gap:6px}
 .discover-header>nav>a,.my-top>nav>a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:640px){
 .topbar{position:relative;z-index:50;width:calc(100% - 32px);height:72px}.topbar .brand{font-size:17px;gap:6px}.topbar .brand-image-seal{width:30px;height:30px}.topbar .nav-cta{min-width:82px;padding:0 12px}.topbar .account-button{min-width:36px}
 .letter-form{padding:20px 16px;border-radius:16px}.letter-form .field-row{grid-template-columns:1fr 1fr;gap:12px}.letter-form select{padding-left:10px;padding-right:26px}
 .letter-form .v27-price-clarity>small{font-size:12px}.letter-form textarea[maxlength="5000"]{min-height:270px}
 .letter-form .v27-quick-guide{grid-template-columns:1fr}.letter-form .v27-draft-bar{font-size:12px}
 .v41-privacy-disclosure>summary{padding:13px 12px}.v41-privacy-body{padding:2px 12px 14px}
 .v28-public-dialog h2{font-size:23px;line-height:1.5}.v28-public-dialog-card{padding:28px 20px}.v28-public-dialog p,.v28-preview-confirm{font-size:14px;line-height:1.85}
 .shared-heading{padding:22px 0 18px}.shared-heading h1{font-size:29px;line-height:1.45;letter-spacing:.01em}.shared-heading h1 br{display:block}.shared-heading>p{font-size:14px;margin:12px auto 0}.local-boundary{padding:12px 14px;font-size:12px}.shared-progress{margin:22px 0;gap:4px}.shared-progress li{font-size:12px;letter-spacing:0;padding-left:1px;padding-right:1px}.shared-progress li span{font-size:13px}
 .discover-header>nav>a:not([href="/write"]),.my-top>nav>a:not([href="/write"]){display:none}
 .shared-panel .panel-copy h2{font-size:25px;line-height:1.5}
 .capsule-empty-copy h2{font-size:24px;line-height:1.5;text-wrap:balance}
}
@media(max-width:360px){.topbar .brand{font-size:15px}.topbar-actions{gap:2px}.topbar .nav-cta{min-width:74px;padding:0 8px}.v41-navigation>summary{padding:0 5px}.letter-form .field-row{grid-template-columns:1fr}.shared-heading h1{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(max-width:360px){.topbar .v41-navigation .v41-nav-links{right:-28px}}

/* v42: content navigation and account access have separate visual groups. */
.topbar{grid-template-columns:auto minmax(0,1fr) auto;column-gap:36px}
.topbar>nav[aria-label="主要导航"]{justify-content:center;gap:26px;min-width:0}
.topbar>nav[aria-label="主要导航"]>a{white-space:nowrap}
.topbar>nav[aria-label="主要导航"]>.nav-cta{border:0;border-left:1px solid #d5dedb;border-radius:0;min-width:0;min-height:44px;height:auto;padding:8px 0 8px 26px;margin-left:4px;color:#315747;font-weight:600;background:transparent}
.topbar>nav[aria-label="主要导航"]>.nav-cta:hover{color:#203b4d;background:transparent;transform:none;text-decoration:underline;text-underline-offset:6px}
.topbar-actions{gap:16px}
.topbar .account-button{min-width:60px;min-height:44px;padding:8px 14px;border:1px solid #d5dedb;border-radius:999px;font-size:13px;background:#fffefa}
.topbar .account-button:hover{border-color:#96aaa0;color:#315747;background:#f7f9f6}
.wish-garden-intro{grid-template-columns:minmax(0,1fr) 300px;gap:36px}
.wish-garden-tree{width:300px;height:270px;justify-self:end}
@media(min-width:981px) and (max-width:1220px){
 .topbar{column-gap:24px}.topbar>nav[aria-label="主要导航"]{gap:20px}
 .topbar>nav[aria-label="主要导航"]>a[href="/#journey"],.topbar>nav[aria-label="主要导航"]>a[href="/#moments"]{display:none}
}
@media(max-width:980px){
 .topbar{grid-template-columns:auto 1fr;column-gap:16px}.topbar>nav[aria-label="主要导航"]{display:none}
 .topbar-actions{gap:14px}.topbar .account-button{min-width:60px}
 .wish-garden-intro{grid-template-columns:minmax(0,1fr) 260px;gap:24px}.wish-garden-tree{width:260px;height:240px}
}
@media(max-width:640px){
 .topbar-actions{gap:12px}.topbar .account-button{min-width:56px;padding:8px 12px}
 .wish-garden-intro{display:block}.wish-garden-copy h1{width:calc(100% - 108px)}
 .wish-garden-description{max-width:calc(100% - 112px)}
 .wish-garden-tree{width:112px;height:140px;right:-4px;top:44px;opacity:1}
}
@media(max-width:360px){
 .wish-garden-copy h1{width:calc(100% - 96px)}.wish-garden-description{max-width:calc(100% - 100px)}
 .wish-garden-tree{width:100px;height:126px;top:48px}
 .topbar .v41-navigation .v41-nav-links{right:0}
}

/* v43: warm editorial cards when the public feed is empty or unavailable. */
.wish-greetings-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-6px 0 20px;min-height:44px;color:#60726b;font-size:13px;line-height:1.8}
.wish-greetings-note p{margin:0}
.wish-greetings-note button{flex-shrink:0;min-height:44px;padding:8px 4px;color:#45664e;text-decoration:underline;text-underline-offset:4px}
.wish-greeting-card{min-height:172px;padding:26px 28px}
.wish-greeting-card .wish-card-text{min-height:0;margin:18px 0 0;flex:0 1 auto}
.wish-greetings-closing{margin:28px 0 0;color:#60726b;font-size:13px;line-height:1.8;text-align:center}
@media(max-width:640px){.wish-greetings-note{align-items:flex-start;font-size:12px;gap:10px}.wish-greetings-note p{padding-top:10px}.wish-greeting-card{min-height:150px;padding:22px}.wish-greeting-card .wish-card-text{font-size:16px}.wish-greetings-closing{font-size:12px}}
