*{box-sizing:border-box}body{margin:0;background:#f3f1e9;color:#222e2b;font-family:system-ui,"Microsoft YaHei",sans-serif}main{max-width:650px;padding:0 20px 38px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:19px 0;border-bottom:1px solid #b7c3b5}header span,small,.foot,footer{color:#50665b;font-size:14px}#intro{padding:28px 0 12px}h1{font-size:clamp(30px,6vw,46px);letter-spacing:-.04em;line-height:1.25;margin:12px 0}h1 span{color:#226c58}p{line-height:1.65}h2{margin:8px 0;font-size:23px}.panel{background:#fffdf6;border:1px solid #c8d0c5;border-radius:20px;padding:20px;margin:12px 0}.slots{display:flex;gap:10px;margin:16px 0}.slots label{flex:1;min-width:0;padding:12px;border:1px dashed #799888;border-radius:12px;background:#eef3e9;font-size:14px}.slots img{width:65px;height:65px;object-fit:cover;border-radius:50%;margin-top:8px}input[type=file]{display:block;max-width:100%;font-size:12px;margin-top:8px}select{width:100%;padding:10px;border-radius:8px;margin:7px 0 10px}.consent{font-size:14px;display:block;line-height:1.6}button,#download{display:inline-block;border:0;border-radius:10px;padding:12px 16px;cursor:pointer;background:#215d4a;color:white;font-weight:650;margin:7px 5px 2px 0;text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}.secondary,.plain{background:#e2e8dd;color:#264b40}#start{width:100%;font-size:17px}.foot{margin:5px 0}#result article{padding:12px 0;border-bottom:1px solid #dde4d7}#result li{margin:7px 0}#status{font-weight:600;color:#365a48}#card{max-width:100%;display:block;margin:12px 0}footer{margin-top:20px}footer button{font-weight:400} [hidden]{display:none!important}

/* The entire avatar tile opens the system photo picker. */
.own-note{margin:0 0 4px;color:#50665b;font-size:14px}.own-note summary{cursor:pointer;padding:10px 0}.own-note input{display:block;width:100%;padding:11px;font-size:16px;border:1px solid #aab8a8;border-radius:9px;margin:5px 0 9px}
#result summary{cursor:pointer;padding:12px 0;color:#526959;font-size:15px}
.caption{white-space:pre-line;user-select:text;padding:10px 14px;border-left:3px solid #d2a665;background:#fff7e7}
.kicker{color:#795e46;letter-spacing:.08em}
.example{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#fff9e9;border:1px solid #d9d2be;border-radius:14px}.example small{font-size:12px;color:#745c42}#intro .example p{margin:3px 0;font-size:15px}.seascape{flex:none;width:48px;height:48px;border-radius:50%;position:relative;background:linear-gradient(#d7eae5 46%,#6a9d98 47%,#91bcb1 70%,#e8cfaa 71%)}.seascape:after{content:'';position:absolute;bottom:8px;right:11px;width:4px;height:8px;border-radius:40%;background:#33493f}
.letter{padding:18px 20px;border-radius:14px;background:linear-gradient(135deg,#fff2da,#f3efde 72%,#e3edde);border:1px solid #dcd4be}
.letter small{color:#735c40;letter-spacing:.1em}
.letter h2{font-size:clamp(23px,5vw,30px);line-height:1.3;margin:8px 0 10px;color:#234d41}
.letter blockquote{margin:0;padding:2px 0 2px 12px;border-left:3px solid #d2a665;font-size:clamp(18px,4vw,22px);line-height:1.65;color:#32493f}
#result h3{font-size:17px;color:#405d4e;margin:18px 0 6px}
.slots .picker{position:relative;display:grid;justify-items:center;align-content:center;gap:4px;text-align:center;cursor:pointer}
.picker input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.picker:focus-within{outline:3px solid #226c58;outline-offset:2px}
.thumb{display:grid;place-items:center;position:relative;width:48px;height:48px;border-radius:50%;background:#fffdf6;color:#226c58;font-size:23px}
.thumb img{position:absolute;inset:0;width:100%;height:100%;margin:0}
.picker small{font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{flex:1 1 145px;margin:4px 0}
@media(max-width:650px), (hover:none) and (pointer:coarse){
  main{padding:0 max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  header{padding:max(10px,env(safe-area-inset-top)) 0 10px}#intro{padding:14px 0 0}#intro p{margin:8px 0}
  h1{font-size:clamp(28px,7vw,38px);margin:6px 0}.panel{padding:14px;margin:8px 0}.panel>p{margin:8px 0}.slots{margin:10px 0}.slots .picker{padding:8px}
  button,select,#download{min-height:46px;font-size:16px;line-height:1.4}.consent,#includeLabel{display:flex;align-items:center;gap:8px;min-height:46px}.consent input,#include{flex:none;width:19px;height:19px}
  .foot{font-size:13px}#result{overflow-wrap:anywhere;line-height:1.7}#result ul{padding-inline-start:22px}#result article{padding:10px 0}#result p{margin:8px 0}
  #download{width:100%;text-align:center}#card{height:auto;-webkit-touch-callout:default}
}
