/* The approved letter direction uses the existing production controls. */
.letter-opening { display: none; }
html[data-skin="paper"] {
  --paper: #faf7f6;
  --ink: #35463e;
  --vermillion: #8f5f6c;
  --pine: #496859;
}
html[data-skin="paper"] body {
  background: #faf7f6;
  color: #35463e;
}
html[data-skin="paper"] .shell { max-width: 760px; }
html[data-skin="paper"] body::before { opacity: .16; }
html[data-skin="paper"] body::after { opacity: .07; }
html[data-skin="paper"] .city-atlas { opacity: .08; }
html[data-skin="paper"] .flow-canvas { opacity: .12; }
html[data-skin="paper"] .view { padding-top: 30px; }
html[data-skin="paper"] .head {
  padding-bottom: 22px;
  margin-bottom: 24px;
  border-bottom: 1px solid #ddd9d4;
}
html[data-skin="paper"] h1,
html[data-skin="paper"] h2,
html[data-skin="paper"] h3 {
  font-family: "Noto Serif SQ", "Songti SC", serif;
  letter-spacing: 0;
  font-weight: 400;
}
html[data-skin="paper"] .card {
  border-radius: 8px;
  box-shadow: 0 6px 22px #35463e09;
  border-color: #ddd9d4;
}
html[data-skin="paper"] .btn {
  min-height: 46px;
  border-radius: 6px;
  letter-spacing: 0;
}
html[data-skin="paper"] .chip { min-height: 38px; }
html[data-skin="paper"] .tabbar {
  background: #faf7f6f5;
  border-top: 1px solid #ddd9d4;
  backdrop-filter: blur(16px);
}
html[data-skin="paper"] .tab .i {
  width: 24px;
  height: 24px;
  display: inline-block;
}
html[data-skin="paper"] .tab[aria-current="page"] { color: #8f5f6c; }
html[data-skin="paper"] .letter-opening {
  display: block;
  margin: 0 0 28px;
  border-bottom: 1px solid #ddd9d4;
}
html[data-skin="paper"] .letter-opening img {
  display: block;
  width: 100%;
  height: 230px;
  object-fit: cover;
}
html[data-skin="paper"] .letter-opening figcaption {
  padding: 20px 0 24px;
  font: 400 23px/1.7 "Noto Serif SQ", "Songti SC", serif;
}
html[data-skin="paper"] .home-intro { line-height: 1.9; }
.account-sync-row { flex-wrap: wrap; gap: 12px; }
.account-sync-row > .stack { min-width: 0; overflow-wrap: anywhere; flex: 1 1 150px; }
.account-sync-row > .chip { flex: 0 1 auto; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 380px) {
  .account-sync-row { align-items: flex-start; }
  .account-sync-row > .stack { flex-basis: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
  html[data-skin="paper"] .view.is-active {
    animation: letter-arrive 420ms ease-out;
  }
  @keyframes letter-arrive {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (max-width: 380px) {
  html[data-skin="paper"] .letter-opening img { height: 180px; }
}

/* 校准年份：扩大可触控半圆，以 20 岁附近为默认中心，年轻用户无需拖到边缘。 */
.year-arc-field { min-height:330px; padding-top:8px; }
.year-arc { width:min(100%,390px); height:286px; margin:0 auto; display:block; touch-action:none; }

/* 四种交互形态：同一业务数据，不同的页面组织与操作语言。 */
.forms-view { background: #f3f0e8; color: #273d35; min-height:100dvh !important; height:100dvh; padding-top:0 !important; gap:0; overflow:hidden; }
.forms-body { height: 100dvh; overflow: hidden; padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
.forms-head { display:flex; align-items:center; justify-content:space-between; padding:20px 22px 12px; font-size:12px; }
.forms-head button { border:0; background:none; color:inherit; font:inherit; }
.forms-hero { min-height: 300px; margin: 0 16px; padding: 24px 22px; display:flex; flex-direction:column; justify-content:flex-end; background:#d8e1d3; }
.forms-hero small,.forms-recap small,.forms-picker small { font-size:10px; letter-spacing:.12em; }
.forms-hero h1,.forms-doing h1,.forms-recap h1,.list-title h1,.forms-profile h1 { font-family:"Noto Serif SQ","Songti SC",serif; font-weight:400; letter-spacing:0; font-size:35px; line-height:1.22; margin:10px 0; }
.forms-hero p,.forms-doing p,.forms-recap p { font-size:13px; line-height:1.7; color:#627168; }
.forms-primary { border:0; padding:14px; width:100%; background:#2f4b41; color:#fff; font-size:13px; text-align:left; }
.forms-primary b { float:right; font-size:16px; }
.quick { display:flex; gap:7px; padding:12px 16px; overflow:auto; }
.quick button { flex:0 0 auto; border:1px solid #bdc8bf; background:transparent; border-radius:20px; padding:8px 11px; font-size:11px; color:#53635b; }
.quick .on { background:#39564b; color:white; border-color:#39564b; }
.forms-nav { position:absolute; z-index:5; left:0; right:0; bottom:0; display:flex; justify-content:space-around; padding:8px 4px calc(8px + env(safe-area-inset-bottom)); background:#f6f3ecf2; border-top:1px solid #d2d7d0; backdrop-filter:blur(12px); }
.forms-nav button { border:0; background:none; color:#708077; font-size:10px; min-width:58px; }
.forms-nav .on { color:#ae604d; }
.forms-hero.map { background:#26544d; color:#f6f1e7; position:relative; overflow:hidden; }
.forms-hero.map:before { content:""; position:absolute; inset:0; opacity:.35; background:repeating-linear-gradient(28deg,transparent 0 52px,#fff 53px 54px,transparent 55px 100px); }
.forms-hero.map>* { position:relative; }.forms-hero.map p { color:#e1ebe1; }.forms-hero.map .forms-primary { background:#c3624e; }
.forms-hero.radio { background:#eedfca; text-align:center; align-items:center; }
.forms-hero.radio:before { content:"慢\A 一\A 点"; white-space:pre; display:grid; place-items:center; width:136px; height:136px; margin:auto; border-radius:50%; font:23px/1.15 "Noto Serif SQ","Songti SC",serif; background:repeating-radial-gradient(circle,#e6ceb4 0 1px,transparent 2px 10px),#c9916d; box-shadow:inset 0 0 0 10px #d9af8d; }
.forms-hero.radio .forms-primary { background:#b7614c; }
.forms-hero.theatre { background:#233a32; color:#f6eee1; position:relative; overflow:hidden; }
.forms-hero.theatre:before,.forms-hero.theatre:after { content:""; position:absolute; top:0; bottom:0; width:58px; background:repeating-linear-gradient(90deg,#782e2b 0 14px,#a14438 15px 28px); }.forms-hero.theatre:before{left:0}.forms-hero.theatre:after{right:0}.forms-hero.theatre>*{position:relative}.forms-hero.theatre p{color:#d3ddd4}.forms-hero.theatre .forms-primary{background:#a6473d}
.forms-doing { margin:25px 24px; text-align:center; }.forms-doing strong { display:block; font:52px "Noto Serif SQ","Songti SC",serif; margin:12px 0; }.forms-doing.map,.forms-doing.radio,.forms-doing.theatre { padding-top:70px; }.forms-doing.map:before{content:"● ─── ● ─── ●"; font-size:28px;color:#bd604e}.forms-doing.radio:before{content:"∿ ∿ ∿ ∿ ∿";font-size:64px;color:#b8604b}.forms-doing.theatre:before{content:"✦";font-size:120px;color:#e4c978;text-shadow:0 0 38px #e4c97888}.steps{margin:0 20px}.steps button{display:block;width:100%;padding:13px 4px;text-align:left;border:0;border-bottom:1px solid #cbd2ca;background:none;color:inherit}.steps .done{text-decoration:line-through;color:#ad5c49}.steps .finish{margin-top:13px;border:0;background:#ad5c49;color:#fff}.forms-recap{margin:35px 24px}.forms-recap h1{font-size:33px}.forms-recap .forms-primary{margin-top:18px}.forms-records{margin:15px 20px;border-top:1px solid #c9d1c8}.forms-records article{padding:15px 2px;border-bottom:1px solid #c9d1c8}.forms-records h2{font:20px/1.35 "Noto Serif SQ","Songti SC",serif;margin:5px 0}.forms-records small,.forms-records p{font-size:11px;color:#6d7a71;margin:0}.forms-profile{margin:28px 20px}.forms-profile h1{padding:30px 18px;background:#dbe4d8}.forms-profile button{display:flex;justify-content:space-between;width:100%;padding:17px 4px;border:0;border-bottom:1px solid #c8d0c7;background:none;text-align:left;color:inherit}.forms-picker{margin:20px}.forms-picker button{display:block;width:100%;padding:18px 3px;border:0;border-top:1px solid #c8d0c7;background:none;text-align:left;color:inherit}.forms-picker button:last-child{border-bottom:1px solid #c8d0c7}.forms-picker b{display:block;font:24px "Noto Serif SQ","Songti SC",serif}.forms-picker small{display:block;color:#6b796f;margin-top:5px}.forms-picker .on b{color:#b35d4a}
