.ht-section{padding:clamp(32px,7vw,72px) 0 clamp(56px,9vw,96px)}.ht{position:relative;max-width:560px;margin:0 auto;scroll-margin-top:80px}.ht-screen{animation:ht-in .45s cubic-bezier(.2,.7,.2,1) both}.ht-screen[hidden]{display:none}@keyframes ht-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.ht-title{font-size:clamp(30px,6.4vw,44px);text-wrap:balance}.ht-lead{margin-top:14px;color:var(--muted-ink)}.ht-preview{position:relative;margin:28px 0 24px;padding:20px 22px 22px;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);box-shadow:0 18px 40px #3a2a1e14;overflow:hidden}.ht-preview-head,.ht-card-head{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--oak);padding-bottom:12px;margin-bottom:14px;border-bottom:1px dashed var(--sand)}.ht-preview .ht-gauge b{filter:blur(1.5px)}.ht-preview-blur{position:absolute;right:18px;bottom:14px;font-family:var(--serif);font-size:56px;line-height:1;color:var(--beige)}.ht-note{margin-top:14px;font-size:13px;color:var(--muted-ink);text-align:center}.ht-gauge{display:grid;grid-template-columns:7.5em 1fr 3.2em;align-items:center;gap:10px;font-size:14px}.ht-preview .ht-gauge{grid-template-columns:7.5em 1fr}.ht-gauge+.ht-gauge{margin-top:10px}.ht-gauge i{display:block;height:8px;background:var(--beige);border-radius:4px;overflow:hidden}.ht-gauge b{display:block;height:100%;width:var(--w, 0%);background:var(--walnut);border-radius:4px;transition:width 1s cubic-bezier(.2,.7,.2,1)}.ht-gauge b.is-low{background:var(--oak)}.ht-gauge em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--muted-ink);text-align:right}.ht-gauge em.is-high{color:var(--walnut)}.ht-top{display:flex;justify-content:space-between;align-items:center}.ht-back{display:inline-flex;align-items:center;gap:2px;min-height:40px;padding:0 8px 0 0;background:none;border:0;color:var(--muted-ink);font:inherit;font-size:14px;cursor:pointer}.ht-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.ht-back[disabled]{visibility:hidden}.ht-count{font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--oak);font-variant-numeric:tabular-nums}.ht-progress{height:3px;margin:8px 0 28px;background:var(--beige);border-radius:2px;overflow:hidden}.ht-progress b{display:block;height:100%;width:0;background:var(--walnut);transition:width .4s ease}.ht-q{font-size:clamp(24px,5vw,30px);text-wrap:balance;outline:none}.ht-qsub{margin-top:8px;color:var(--muted-ink);font-size:15px}.ht-qsub:empty{display:none}.ht-options{display:grid;gap:10px;margin-top:24px}.ht-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:12px 18px;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);font:inherit;font-size:16px;font-weight:500;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s,transform .15s}.ht-opt:hover{border-color:var(--walnut)}.ht-opt:active{transform:scale(.985)}.ht-opt svg{flex:none;width:34px;height:34px;padding:6px;border-radius:50%;background:var(--cream);fill:none;stroke:var(--walnut);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:background-color .2s,stroke .2s}.ht-opt.is-picked{background:var(--walnut);border-color:var(--walnut);color:var(--white)}.ht-opt.is-picked svg{background:#fffdf929;stroke:var(--white)}.ht-options--two{grid-template-columns:1fr 1fr}.ht-options--two .ht-opt{flex-direction:column;justify-content:center;min-height:148px;text-align:center;font-family:var(--serif);font-size:18px}.ht-options--two .ht-opt svg{width:56px;height:56px;padding:10px}[data-screen=loading]{padding:64px 0 40px;text-align:center}.ht-scan{position:relative;display:flex;justify-content:center;gap:14px;height:120px;margin:0 auto 28px;width:132px}.ht-scan i{width:3px;height:100%;background:linear-gradient(var(--oak),var(--walnut));border-radius:2px;opacity:.55;animation:ht-sway 1.6s ease-in-out infinite;transform-origin:top}.ht-scan i:nth-child(2){animation-delay:.1s}.ht-scan i:nth-child(3){animation-delay:.2s}.ht-scan i:nth-child(4){animation-delay:.3s}.ht-scan i:nth-child(5){animation-delay:.4s}.ht-comb{position:absolute;left:-6px;width:144px;top:0;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;animation:ht-comb 1.1s ease-in-out infinite}@keyframes ht-sway{50%{transform:rotate(3deg);opacity:.9}}@keyframes ht-comb{0%{transform:translateY(-6px)}to{transform:translateY(104px);opacity:.2}}.ht-scan-msg{font-family:var(--serif);font-size:19px;min-height:1.6em}.ht-card{position:relative;padding:24px 22px 28px;background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);box-shadow:0 24px 56px #3a2a1e1a}@media(min-width:600px){.ht-card{padding:32px 36px 36px}}.ht-stamp{position:absolute;top:54px;right:18px;width:86px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--walnut);border-radius:50%;color:var(--walnut);box-shadow:inset 0 0 0 4px var(--white),inset 0 0 0 5px var(--walnut);transform:rotate(-14deg);opacity:.85;animation:ht-stamp .5s .9s cubic-bezier(.3,1.6,.5,1) both}.ht-stamp span{font-family:var(--serif);font-size:12px;font-weight:700;letter-spacing:.08em}.ht-stamp b{font-size:9.5px;letter-spacing:.2em}@keyframes ht-stamp{0%{opacity:0;transform:rotate(-14deg) scale(1.8)}to{opacity:.85;transform:rotate(-14deg) scale(1)}}.ht-code{font-size:12px;font-weight:700;letter-spacing:.3em;color:var(--oak)}.ht-type{margin-top:6px;padding-right:92px;font-size:clamp(30px,7vw,40px);outline:none}.ht-type-lead{margin-top:6px;padding-right:92px;color:var(--ink);font-weight:500}.ht-gauges{margin:22px 0;padding:18px;background:var(--cream);border-radius:var(--radius)}.ht-gauges:empty{display:none}.ht-desc{color:var(--muted-ink)}.ht-h3{margin:28px 0 12px;font-size:13px;font-family:var(--sans);font-weight:700;letter-spacing:.14em;color:var(--oak)}.ht-services li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--beige)}.ht-services li:first-child{border-top:1px solid var(--beige)}.ht-services strong{font-family:var(--serif);font-size:18px;font-weight:600}.ht-services strong small{margin-left:8px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--white);background:var(--oak);padding:2px 7px;border-radius:10px;vertical-align:2px}.ht-services span{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ht-services span s{display:block;font-size:12.5px;color:var(--muted)}.ht-services span b{color:var(--walnut)}.ht-fv{margin-top:8px;font-size:12.5px;color:var(--muted-ink)}.ht-designers{display:grid;gap:10px}.ht-designer{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--sand);border-radius:var(--radius);text-decoration:none;color:var(--ink);transition:border-color .2s}.ht-designer:hover{border-color:var(--walnut)}.ht-designer img,.ht-designer .ht-ph{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--beige)}.ht-designer div{min-width:0;flex:1}.ht-designer h4{margin:0;font-family:var(--serif);font-size:17px;font-weight:600}.ht-designer p{font-size:13px;color:var(--muted-ink)}.ht-designer em{flex:none;font-style:normal;font-size:13px;font-weight:600;color:var(--walnut);white-space:nowrap}.ht-book{margin-top:24px}.ht-memo{margin-top:12px;padding:12px 14px;background:var(--cream);border-radius:var(--radius);font-size:13px;color:var(--muted-ink)}.ht-memo-row{display:flex;align-items:center;gap:8px;margin-top:6px}.ht-memo code{flex:1;min-width:0;font-family:var(--sans);font-size:14px;color:var(--ink);overflow-wrap:anywhere}.ht-copy{flex:none;min-height:34px;padding:0 14px;border:1px solid var(--walnut);border-radius:var(--radius);background:transparent;color:var(--walnut);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.ht-copy:hover{background:var(--walnut);color:var(--white)}.ht-tips{display:grid;gap:8px}.ht-tips li{position:relative;padding-left:18px}.ht-tips li:before{content:"";position:absolute;left:2px;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--oak)}.ht-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.ht-actions .btn{padding:0 12px}.ht-toast{position:fixed;left:50%;bottom:calc(var(--bar-h) + 20px + env(safe-area-inset-bottom));z-index:90;transform:translate(-50%,12px);padding:10px 18px;border-radius:22px;background:var(--ink);color:var(--cream);font-size:14px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.ht-toast.is-on{opacity:1;transform:translate(-50%)}@media(min-width:961px){.ht-toast{bottom:32px}}.ht-svc{display:inline-block;margin-top:10px;font-size:14px;font-weight:600;color:var(--walnut)}.ht-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ht-photos figure{min-width:0}.ht-photos img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius);background:var(--beige)}.ht-photos figcaption{margin-top:6px;font-size:12.5px;line-height:1.45}.ht-photos figcaption b{display:block;font-weight:600;color:var(--ink)}.ht-photos figcaption span{color:var(--muted-ink)}.ht-save{margin-top:16px;background:var(--white)}.ht-save svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ht-save[aria-busy=true]{opacity:.6;pointer-events:none}.ht-save+.ht-actions{margin-top:10px}.ht-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));background:#221810b8}.ht-modal[hidden]{display:none}.ht-modal-box{width:100%;max-width:420px;max-height:100%;overflow:auto;padding:16px;background:var(--cream);border-radius:var(--radius);text-align:center}.ht-modal-box img{width:100%;border-radius:var(--radius);box-shadow:0 12px 30px #3a2a1e2e}.ht-modal-box p{margin-top:12px;font-size:13px;color:var(--muted-ink)}.ht-modal-box .ht-actions{margin-top:12px}@media(prefers-reduced-motion:reduce){.ht-screen,.ht-stamp,.ht-scan i,.ht-comb{animation:none!important}.ht-gauge b,.ht-progress b{transition:none}}
