:root{--ink:#49677a;--muted:#56717e;--line:#d5e5e9;--paper:#fffcf9;--wash:#f0f8fa;--gold:#e5b45a;--focus:#95651d;--error:#a7352c;font-family:"Kaiti SC","STKaiti","KaiTi","Songti SC",serif;color:var(--ink);background:#fcfefe;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:18px;line-height:1.65;background:radial-gradient(ellipse 230px 260px at 0 320px,#e8f5f7 98%,transparent 100%),radial-gradient(ellipse 180px 240px at 100% 1100px,#f6eae0 98%,transparent 100%);min-height:100vh}button,input,textarea{font:inherit;color:inherit}button,label{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{background:#f4d894;color:#344f60}input,textarea{caret-color:var(--focus)}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,p{margin:0}h1,h2{text-wrap:balance}h1{font-size:32px;line-height:1.3;letter-spacing:.02em}h2{font-size:31px;line-height:1.4;letter-spacing:.04em}.page{width:min(100% - 48px,1000px);margin:auto;padding:52px 0 32px}.welcome{text-align:center}.logo{display:block;width:300px;height:auto;margin:0 auto 28px}.welcome p{font-size:19px;margin-top:10px;color:var(--muted)}.steps{--step-size:46px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:45px 10px 32px}.steps li{position:relative;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:15px;color:var(--muted)}.steps li:not(:last-child)::after{content:"";position:absolute;top:calc(var(--step-size)/2 - 1px);left:calc(50% + var(--step-size)/2);width:calc(100% - var(--step-size));height:2px;background:var(--line)}.steps span{position:relative;display:grid;place-items:center;width:var(--step-size);height:var(--step-size);border:2px solid var(--line);border-radius:50%;background:#fff}.steps li.done span,.steps li[aria-current] span{background:var(--gold);border-color:var(--gold);color:#fff}.steps li[aria-current]{font-weight:700;color:var(--ink)}.sheet{background:var(--paper);border-radius:38px;padding:36px;box-shadow:0 20px 48px rgb(58 94 110 / .06)}[hidden]{display:none!important}.step-caption{color:#95651d;font-size:16px;letter-spacing:.08em;font-weight:700;margin-bottom:7px}.intro{color:var(--muted);margin:10px 0 30px}.field,fieldset{margin:0 0 22px;padding:0;border:0;min-width:0}label:not(.choices label):not(.upload),legend{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;font-weight:700;font-size:18px}small{font-size:14px;font-weight:400;color:var(--muted)}input:not([type=radio]):not([type=checkbox]):not([type=file]),textarea{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:17px;padding:15px 18px;min-height:58px;outline-offset:3px}input::placeholder,textarea::placeholder{color:#667174;opacity:1}textarea{resize:vertical;display:block;min-height:142px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two-columns .field{min-width:0}.choices label{position:relative;cursor:pointer;display:block}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:13px;border:1.5px solid var(--line);background:#fff;border-radius:17px;transition:border-color .15s,background .15s}.choices input:checked+span{border-color:#bf8d34;background:#fff8e7;box-shadow:inset 0 0 0 1px #bf8d34}.choices input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.choices label:hover span{border-color:#9ab5c1}.choices input:disabled+span{opacity:.5;cursor:not-allowed}.covers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.covers span{padding:0;overflow:hidden;display:block;text-align:center}.covers img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.covers b{display:block;padding:10px;font-size:17px}.note{border-radius:16px;background:var(--wash);padding:16px 20px;font-size:15px;color:var(--muted);margin:0 0 24px}.note p+p{margin-top:4px}.note strong{color:var(--ink)}.actions{display:flex;gap:16px;margin-top:30px}.actions button{border:0;border-radius:20px;padding:16px 26px;font-weight:700;font-size:20px;min-height:64px}.primary{flex:1;color:#49371b;background:linear-gradient(105deg,#dfa949,#edc974);box-shadow:0 10px 20px rgb(191 136 40 / .2)}.primary:hover{filter:brightness(.97)}.secondary{background:#ecf5f7;white-space:nowrap}.secondary:hover{background:#dfedf0}button:disabled{opacity:.65;cursor:wait}footer{text-align:center;font-size:13px;color:var(--muted);margin:27px auto 0}.upload{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:38px 20px;background:#f4fbfc;border:1.5px dashed #99becd;border-radius:25px;margin:30px 0 28px;cursor:pointer}.upload strong{font-size:23px}.upload span{font-size:17px;color:var(--muted)}.upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload:focus-within{outline:3px solid var(--focus);outline-offset:4px}.upload img{width:150px;height:150px;object-fit:cover;border-radius:12px}.counter{display:block;text-align:right;font-size:16px;margin-top:8px;color:var(--muted)}.traits-caption{font-size:15px}.traits-caption output{font-weight:400;color:var(--muted)}.traits{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px;margin:24px 0}.traits span{justify-content:flex-start;gap:16px;padding:16px 18px;min-height:76px;font-weight:700}.traits svg{background:#ecf5f7;box-sizing:content-box;padding:9px;border-radius:50%;flex-shrink:0}.traits input:checked+span svg{background:#f7e8c7;color:#95651d}#form-error{border:1px solid #dfb4ae;border-radius:14px;padding:14px 20px;margin-top:16px;background:#fff3f0;color:var(--error);font-family:system-ui,sans-serif;font-size:15px}.success{text-align:center;padding:72px 30px 84px}.success-icon{width:108px;height:108px;display:grid;place-items:center;margin:0 auto 28px;background:#e5f3f3;border-radius:50%}.success h2{font-size:34px;margin:12px 0 26px}.success>p:not(.step-caption){font-size:20px;line-height:2;color:var(--muted)}#receipt{display:block;margin-top:24px;font-family:system-ui,sans-serif;font-size:12px;overflow-wrap:anywhere}
@media(max-width:600px){body{font-size:16px;background:radial-gradient(ellipse 90px 160px at 0 220px,#e8f5f7 98%,transparent 100%),radial-gradient(ellipse 90px 200px at 100% 900px,#f6eae0 98%,transparent 100%)}.page{width:calc(100% - 28px);padding-top:26px}.logo{width:215px;margin-bottom:19px}h1{font-size:25px}.welcome p{font-size:15px}h2{font-size:26px}.steps{--step-size:35px;margin:28px 0 24px}.steps li{font-size:12px;gap:6px}.sheet{padding:23px 18px;border-radius:27px}.intro{font-size:15px;margin-bottom:24px}.step-caption{font-size:14px}label:not(.choices label):not(.upload),legend{font-size:16px}small{font-size:12px}.two-columns{gap:10px}.covers{gap:7px}.covers b{font-size:14px;padding:8px 4px}.covers span{border-radius:13px}.choices span{font-size:14px;padding:12px 6px}.covers span{padding:0}.note{font-size:13px;padding:13px}.actions{gap:10px;margin-top:24px}.actions button{font-size:17px;padding:14px 20px;min-height:56px;border-radius:17px}input:not([type=radio]):not([type=checkbox]):not([type=file]),textarea{font-size:16px;padding:13px 12px;min-height:52px}.upload{padding:26px 12px;margin-top:24px}.upload span{font-size:14px}.traits{gap:16px 10px}.traits span{padding:12px 9px;gap:8px;font-size:15px;min-height:65px}.traits svg{width:19px;height:19px;padding:7px}.success{padding:50px 18px 60px}.success h2{font-size:28px}.success>p:not(.step-caption){font-size:16px}footer{font-size:12px;max-width:29em}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

#birthday{-webkit-appearance:none;appearance:none;display:block;min-width:0;max-width:100%;height:58px;line-height:normal;font-variant-numeric:tabular-nums;text-align:left}#birthday::-webkit-date-and-time-value{text-align:left;min-height:1.5em}#birthday::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.65}
@media(max-width:600px){#birthday{height:52px}}
