@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/npm/@fontsource-variable/noto-sans-thai@5.3.0/files/noto-sans-thai-thai-wght-normal.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/npm/@fontsource-variable/noto-sans-thai@5.3.0/files/noto-sans-thai-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/npm/@fontsource-variable/noto-serif-thai@5.3.0/files/noto-serif-thai-thai-wght-normal.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:"Noto Serif Thai";font-style:normal;font-display:swap;font-weight:100 900;src:url(https://cdn.jsdelivr.net/npm/@fontsource-variable/noto-serif-thai@5.3.0/files/noto-serif-thai-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400 900;src:url(https://cdn.jsdelivr.net/npm/@fontsource-variable/playfair-display@5.3.0/files/playfair-display-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:italic;font-display:swap;font-weight:400 900;src:url(https://cdn.jsdelivr.net/npm/@fontsource-variable/playfair-display@5.3.0/files/playfair-display-latin-wght-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#F6F1EA;--paper-2:#EFE7DC;--paper-3:#E4D9CA;--card:rgba(255,253,250,.78);--ink:#1F1B17;--ink-2:#4A433C;--ink-3:#7F756B;--line:#D8CCBD;--tops:#B4452F;--bottoms:#2C5A83;--gold:#E2AE45;--gold-2:#F7D98B;--skin:#E9DDCE;--skin-hi:#F7F0E7;--ok:#2F7A4F;--err:#B3261E;--sans:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--serif:"Playfair Display","Noto Serif Thai",Georgia,serif;--hdr:60px;--r:18px;--gutter:16px;--ease:cubic-bezier(.22,.8,.2,1);color-scheme:light}@media(min-width:900px){:root{--hdr:72px;--gutter:32px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}[hidden]{display:none!important}.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.prewrap,[data-t]{white-space:pre-line}.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic-sm{width:16px;height:16px}.ic-spark{width:14px;height:14px;color:var(--gold);stroke:none}.fillc{fill:currentColor;stroke:none}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:10px}.app{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;transition:opacity .7s var(--ease)}.app.is-out{opacity:0}.topbar{height:var(--hdr);flex:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:0 var(--gutter);position:relative;z-index:20}.topbar .lang{grid-column:3}.banner-top{grid-column:2;justify-self:center;width:100%;max-width:760px;height:min(var(--bh,40px),calc(var(--hdr) - 16px));border-radius:10px;font-size:13px;box-shadow:0 1px #1f1b170a}@media(min-width:900px){.banner-top{font-size:14px;border-radius:12px}}@media(max-width:420px){.topbar{column-gap:8px}.lang-btn{padding:0 8px}.lang-btn .ic-sm{display:none}}.logo{font-family:Playfair Display,Georgia,serif;font-weight:600;font-size:23px;letter-spacing:.005em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px;line-height:1}.logo i{font-style:italic;font-weight:500;color:var(--tops)}.logo img{height:34px;width:auto}@media(min-width:900px){.logo{font-size:27px}}.lang{position:relative}.lang-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px 0 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:14px;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lang-btn .ic{width:17px;height:17px}.lang-btn .ic-sm{width:14px;height:14px;transition:transform .2s}.lang-btn[aria-expanded=true] .ic-sm{transform:rotate(180deg)}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;margin:0;padding:6px;list-style:none;background:#fffdfa;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px -18px #1f1b1773;z-index:40}.lang-menu li{padding:9px 12px;border-radius:9px;font-size:15px;cursor:pointer}.lang-menu li:hover,.lang-menu li:focus{background:var(--paper-2);outline:none}.lang-menu li[aria-selected=true]{font-weight:600}.lang-menu li[aria-selected=true]:after{content:"✓";float:right;color:var(--tops)}.banner{position:relative;flex:none;overflow:hidden;height:var(--bh,40px);background:var(--bbg,#1E1A17);color:var(--bfg,#F6F1EA);font-size:14px;font-weight:500;z-index:15}.banner-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;opacity:0;transition:opacity .6s ease}.banner-item.on{opacity:1}.banner-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.banner-item .b-txt{position:relative;padding:0 16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.banner-item.has-img .b-txt{text-shadow:0 1px 6px rgba(0,0,0,.45)}.banner-item.marq .b-txt{max-width:none;overflow:visible;text-overflow:clip;padding:0;display:flex;gap:64px;justify-content:flex-start;animation:marq var(--dur,18s) linear infinite}.banner-item.marq{justify-content:flex-start}@keyframes marq{0%{transform:translate(0)}to{transform:translate(calc(-50% - 32px))}}.stage{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:flex-end}.fig-wrap{position:absolute;inset:0;display:flex;justify-content:center;pointer-events:none}.fig{width:100%;height:100%;max-width:880px;overflow:visible;opacity:0;transition:opacity .9s var(--ease),filter .9s var(--ease)}.is-ready .fig{opacity:1}.fig.fade-out{opacity:0!important;transition-duration:.28s}.fig .skin{fill:url(#figSkin);stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.fig .detail{fill:none;stroke:var(--ink);stroke-width:1;opacity:.32;stroke-linecap:round}.fig .joint{fill:none;stroke:var(--ink);stroke-width:1;opacity:.24}.fig .detail-b{opacity:.5;stroke-width:1.15}.fig .arm-fill{stroke:none}.fig .arm-line{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.m--tops{--c:var(--tops)}.m--bottoms{--c:var(--bottoms)}.m-back{fill:none;stroke:var(--c);stroke-width:1.3;stroke-dasharray:3 5;opacity:.34}.m-lead{fill:none;stroke:var(--c);stroke-width:1.1;stroke-dasharray:1.5 4;stroke-linecap:round;opacity:.66;transition:opacity .3s}.m-main{fill:none;stroke:var(--c);stroke-width:2.2;stroke-dasharray:7 5;stroke-linecap:round}.m-glow{fill:none;stroke:var(--gold);stroke-width:9;stroke-linecap:round;opacity:0}.m-tick{fill:none;stroke:var(--c);stroke-width:2;stroke-linecap:round}.m-dot circle{fill:var(--c)}.m-dot .spark{fill:var(--gold);opacity:0;transform-box:fill-box;transform-origin:center}.m-hit{fill:transparent}.m-pill{display:none}.m-name{font-family:var(--sans);font-size:25px;font-weight:500;fill:var(--c)}.m-val{font-family:var(--sans);font-size:25px;font-weight:700;fill:#fff;display:none}.spark--label{display:none;fill:var(--gold);transform-box:fill-box;transform-origin:center}.spark-pos{pointer-events:none}.col-head{font-family:var(--sans);font-size:17px;font-weight:600;fill:var(--c);opacity:.78}.col-head .ch-l{letter-spacing:.16em;font-size:14px}.m-shape,.m-dot,.m-label,.m-lead,.m-back{opacity:0}.is-ready .m-shape,.is-ready .m-dot,.is-ready .m-label{animation:mIn .7s var(--ease) forwards;animation-delay:calc(.55s + var(--i,0) * 55ms)}.is-ready .m-lead{animation:mInLead .7s var(--ease) forwards;animation-delay:.9s}.is-ready .m-back{animation:mInBack .7s var(--ease) forwards;animation-delay:.9s}.m-shape{--i:0}@keyframes mIn{to{opacity:1}}@keyframes mInLead{to{opacity:.66}}@keyframes mInBack{to{opacity:.34}}.veil{position:absolute;left:0;right:0;bottom:0;top:var(--veil-top,52%);pointer-events:none;z-index:2;transition:opacity .5s var(--ease)}.veil i{position:absolute;inset:0;-webkit-backdrop-filter:blur(var(--b));backdrop-filter:blur(var(--b));-webkit-mask-image:linear-gradient(to bottom,transparent var(--s),#000 var(--e));mask-image:linear-gradient(to bottom,transparent var(--s),#000 var(--e))}.veil i:nth-child(1){--b:1.5px;--s:0px;--e:34px}.veil i:nth-child(2){--b:2.5px;--s:18px;--e:62px}.veil i:nth-child(3){--b:4px;--s:40px;--e:92px}.veil i:nth-child(4){--b:8px;--s:62px;--e:124px}.veil:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#f6f1ea00,#f6f1ea8c 90px,#f6f1eacc 150px,#f6f1eadb)}.panel{position:relative;z-index:3;width:100%;max-width:760px;margin:0 auto;padding:0 var(--gutter) calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.scr{display:flex;flex-direction:column;animation:scrIn .55s var(--ease) both}.scr.leaving{animation:scrOut .22s ease both}@keyframes scrIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes scrOut{to{opacity:0;transform:translateY(-8px)}}.is-loading .scr-home{opacity:0}.scr-home{text-align:center;align-items:center;justify-content:flex-end;padding-top:12px}@media(max-width:899px){.scr-home{min-height:min(46svh,430px)}}.hero-title{font-family:var(--serif);font-weight:600;font-size:clamp(29px,7.6vw,54px);line-height:1.22;letter-spacing:-.005em;margin:0 0 6px;text-wrap:balance}.hero-sub{margin:0 0 16px;font-size:clamp(15px,4.1vw,19px);color:var(--ink-2);text-wrap:balance}.flow{list-style:none;margin:2px 0 22px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:520px;font-size:14px;color:var(--ink-2);line-height:1.35}.flow li{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 4px;text-align:center}.flow li b{font-family:Playfair Display,Georgia,serif;font-style:italic;font-weight:500;font-size:13px;color:var(--tops);width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--tops) 35%,transparent);display:grid;place-items:center;background:#fffdfab3}.flow li+li:before{content:"";position:absolute;top:15px;right:calc(50% + 21px);width:calc(100% - 42px);border-top:1.5px dashed var(--line)}@media(max-width:420px){.flow{font-size:13px}}.cta{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px}@media(min-width:640px){.cta{flex-direction:row;max-width:none;justify-content:center}.cta .btn-primary{min-width:300px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:999px;border:1px solid transparent;font-weight:600;font-size:17px;line-height:1.25;text-align:center;transition:transform .15s ease,background .2s,box-shadow .2s,opacity .2s;user-select:none}.btn:active{transform:scale(.98)}.btn .ic{width:19px;height:19px}.btn-primary{background:var(--ink);color:var(--paper);box-shadow:0 14px 28px -16px #1f1b17bf}.btn-primary:hover{background:#000}.btn-primary:disabled{opacity:.28;cursor:not-allowed;box-shadow:none}.btn-ghost{background:var(--card);border-color:var(--line);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-ghost:hover{background:#fff}.btn-light{background:var(--paper);color:var(--ink)}.btn-sm{min-height:46px;padding:0 18px;font-size:15px}.btn-shine{position:relative;overflow:hidden;isolation:isolate}.btn-shine:after{content:"";position:absolute;top:-20%;bottom:-20%;width:38%;left:-60%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(247,217,139,.38),transparent);transform:skew(-18deg);animation:shine 4.6s ease-in-out 2.2s infinite}@keyframes shine{0%{left:-60%}28%,to{left:130%}}.scr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.back{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:8px 8px 8px 0;font-size:14.5px;color:var(--ink-2);font-weight:500}.back .ic{width:18px;height:18px}.step{font-size:12.5px;letter-spacing:.04em;color:var(--ink-3);font-weight:500}.q{font-family:var(--serif);font-weight:600;font-size:clamp(23px,5.8vw,34px);line-height:1.3;margin:0 0 4px;text-wrap:balance}.q-hint{margin:0 0 12px;font-size:14px;color:var(--ink-3)}.q-note{display:flex;gap:8px;align-items:center;justify-content:center;margin:12px 0 0;font-size:14px;color:var(--ink-2);text-align:center}.scr[data-scr=gender] .q{margin-bottom:16px}.opts{display:grid;gap:10px}.opts-3{grid-template-columns:repeat(3,1fr)}.opts-7{grid-template-columns:repeat(4,1fr);gap:8px}@media(min-width:900px){.opts-7{grid-template-columns:repeat(7,1fr);gap:10px}}.opt{min-height:64px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);font-size:17px;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .15s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.opt:hover{border-color:var(--ink-3)}.opt[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:98px;padding:10px 4px 9px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);font-size:13px;font-weight:600;line-height:1.25;transition:background .2s,color .2s,border-color .2s,transform .15s,box-shadow .2s;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tile:hover{border-color:var(--ink-3);box-shadow:0 10px 24px -18px #1f1b1799}.tile span{display:block;max-width:100%;overflow-wrap:anywhere}.tile-ic{width:44px;height:44px;fill:none;stroke:var(--ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;color:var(--gold);transition:stroke .2s}.tile .tick{position:absolute;top:7px;right:7px;width:20px;height:20px;border-radius:50%;background:var(--gold);display:grid;place-items:center;transform:scale(0);transition:transform .25s var(--ease)}.tile .tick svg{width:13px;height:13px;fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.tile[aria-pressed=true],.tile[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tile[aria-pressed=true] .tile-ic{stroke:var(--paper)}.tile[aria-pressed=true] .tick{transform:scale(1)}.tile-num b{font-family:Playfair Display,Georgia,serif;font-size:30px;font-weight:600;line-height:1.05;letter-spacing:-.01em}.tile-num b small{font-size:.62em;font-weight:500;margin:0 1px}.tile-num span{font-size:12px;font-weight:500;opacity:.8}@media(min-width:900px){.tile{min-height:112px;font-size:14px}.tile-ic{width:50px;height:50px}.tile-num b{font-size:34px}.tile-num span{font-size:13px}}@media(max-height:680px)and (max-width:899px){.tile{min-height:86px}.tile-ic{width:36px;height:36px}.tile-num b{font-size:25px}}.btn-next{margin-top:14px;align-self:center;min-width:220px}.summary{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:14px;min-height:0}.summary:empty{display:none}.chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:#fffdfaeb;font-size:13px;line-height:1.35;color:var(--ink);animation:chipIn .4s var(--ease) both}.chip b{font-weight:500;color:var(--ink-3)}.chip span{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.chip:hover{border-color:var(--ink-3)}@keyframes chipIn{0%{opacity:0;transform:translateY(6px) scale(.96)}}.fig-tools{display:flex;align-items:center;justify-content:space-between;gap:10px}.fig-tools .fig-hint{flex:1 1 160px;min-width:0;line-height:1.4}.fig-tools .unit{flex:none}.fig-hint{margin:0;display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-2);font-weight:500}.fig-hint .ic-spark{flex:none}.fig-hint .ic-spark{animation:twinkle 2.4s ease-in-out infinite}.unit{display:inline-flex;padding:3px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line)}.unit button{border:0;background:none;min-width:52px;height:32px;padding:0 12px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-3)}.unit button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 2px 8px -4px #1f1b1766}.stage.is-final{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "fig" "form" "album";justify-content:stretch;padding:0 0 28px;align-content:start}.stage.is-final .panel,.stage.is-final .veil{display:none}.stage.is-final .final-head{grid-area:head;padding:4px var(--gutter) 6px}.stage.is-final .fig-tools{padding:6px var(--gutter) 2px}.stage.is-final .fig-wrap{grid-area:fig;position:relative;inset:auto;display:block;pointer-events:auto;padding:0 4px}.stage.is-final .fig{height:auto;max-width:none;display:block}.stage.is-final .final-form{grid-area:form;padding:6px var(--gutter) 0}.final-album{display:none}.stage.is-final .final-album:not([hidden]){display:block;grid-area:album;padding:28px var(--gutter) 0}@media(min-width:1000px){.stage.is-final{grid-template-columns:minmax(0,1fr) minmax(380px,460px);grid-template-rows:auto 1fr auto;grid-template-areas:"fig head" "fig form" "album album";column-gap:44px;max-width:1260px;width:100%;margin:0 auto;padding:6px var(--gutter) 48px}.stage.is-final .final-head{padding:0}.stage.is-final .fig-tools{padding:0 0 4px}.stage.is-final .fig-wrap{position:sticky;top:10px;align-self:start;height:calc(100svh - var(--hdr) - 24px);min-height:560px;padding:0;display:flex;flex-direction:column}.stage.is-final .fig{flex:1 1 0;min-height:0;height:100%;width:100%}.stage.is-final .final-form{padding:0}.stage.is-final .final-album:not([hidden]){padding:44px 0 0}}.final-title{font-family:var(--serif);font-weight:600;font-size:clamp(23px,5.6vw,34px);line-height:1.3;margin:2px 0;text-wrap:balance}.final-sub{margin:0;color:var(--ink-3);font-size:14.5px}.final-head,.final-form,.fig-tools{animation:scrIn .6s var(--ease) both}.final-form{animation-delay:.12s}.is-final .m-label{cursor:pointer;opacity:1;pointer-events:auto}.is-final .m-shape,.is-final .m-dot{pointer-events:auto;cursor:pointer}.is-final .m-pill{display:block;fill:#fffdfa;stroke:var(--c);stroke-width:1.6;transition:fill .25s}.is-final .m-name{font-weight:600}.is-final .m-glow{animation:glow 3.2s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.41s)}.is-final .m-main{animation:march 1.4s linear infinite}.is-final .m-dot .spark{animation:twinkle 2.8s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.37s)}.is-final .spark--label{display:block;animation:twinkle 2.4s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.53s)}.is-final .m-label.has-val .m-pill{fill:var(--c)}.is-final .m-label.has-val .m-name{fill:#fff;font-weight:500;opacity:.92}.is-final .m-label.has-val .m-val{display:block}.is-final .m-label.has-val .spark--label{display:none}.is-final .m-label:hover .m-pill,.is-final .m-label:focus-visible .m-pill{fill:#fff4dc}.is-final .m-label.has-val:hover .m-pill{fill:var(--c);filter:brightness(1.12)}.fig .m-label,.fig .m-label:focus{outline:none}.is-final .m-label:focus-visible .m-pill{stroke-width:3}.fig .hot .m-main,.fig .m-shape.hot .m-main{stroke-width:3.4}.fig .m-shape.hot .m-glow{animation:none;opacity:.55}.fig .m-lead.hot{opacity:1;stroke-width:1.6}.is-final .fig.dim-tops .m--tops:not(.hot),.is-final .fig.dim-bottoms .m--bottoms:not(.hot){opacity:.42!important}@keyframes march{to{stroke-dashoffset:-24}}@keyframes glow{0%,to{opacity:0}50%{opacity:.32}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.2) rotate(0)}45%{opacity:1;transform:scale(1.15) rotate(45deg)}70%{opacity:.85;transform:scale(.9) rotate(70deg)}}.upload{margin:10px 0 14px}.drop{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r);border:1.5px dashed var(--line);background:var(--card);cursor:pointer;transition:border-color .2s,background .2s}.drop:hover,.drop.over{border-color:var(--ink-3);background:#fff}.drop-ic{width:46px;height:46px;border-radius:14px;background:var(--paper-2);display:grid;place-items:center;flex:none}.drop-ic .ic{width:24px;height:24px}.drop-txt{display:flex;flex-direction:column;line-height:1.4}.drop-txt b{font-weight:600;font-size:15px}.drop-txt small{font-size:13px;color:var(--ink-3)}.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.thumbs:empty{display:none}.thumb{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--paper-2);animation:chipIn .35s var(--ease) both}.thumb img{width:100%;height:100%;object-fit:cover}.thumb button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:#1f1b17b8;color:#fff;display:grid;place-items:center;padding:0}.thumb button .ic{width:14px;height:14px;stroke-width:2.4}.thumb.busy:after{content:"";position:absolute;inset:0;background:#f6f1ea99 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='8' fill='none' stroke='%231F1B17' stroke-width='3' stroke-dasharray='30 20'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 20 20' to='360 20 20' dur='.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center/30px no-repeat}.field{display:block;margin:0 0 12px}.field-l{display:block;font-size:14px;font-weight:600;margin:0 0 5px;color:var(--ink-2)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fffdfa;border-radius:14px;padding:13px 14px;font-size:16px;line-height:1.45;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.field textarea{resize:vertical;min-height:112px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1f1b1714}.field input::placeholder,.field textarea::placeholder{color:#afa497}.field-err{display:none;font-style:normal;font-size:13px;color:var(--err);margin-top:5px}.field.bad input{border-color:var(--err);box-shadow:0 0 0 3px #b3261e14}.field.bad .field-err{display:block}.sns{display:flex;gap:8px}.sns select{width:auto;flex:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237F756B' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.sns input{flex:1;min-width:0}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.summary-final{justify-content:flex-start;margin:4px 0 14px}.btn-send{width:100%;min-height:62px;font-size:19px;margin-top:4px}.btn-send .spinner{display:none;width:20px;height:20px;border-radius:50%;border:2.5px solid rgba(246,241,234,.35);border-top-color:var(--paper);animation:spin .8s linear infinite}.btn-send.busy .spinner{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.send-note{text-wrap:balance;display:flex;align-items:flex-start;justify-content:center;gap:6px;margin:10px 0 0;font-size:13px;color:var(--ink-3);text-align:center;line-height:1.5}.send-note .ic{width:16px;height:16px;color:var(--ok);margin-top:1px;stroke-width:2.2}.privacy-row{text-align:center;margin:2px 0 0}.link{border:0;background:none;padding:4px;font-size:12.5px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}.form-err{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:#fbe9e7;color:var(--err);font-size:14px;text-align:center}.legal-links{position:absolute;right:var(--gutter);bottom:calc(10px + env(safe-area-inset-bottom));z-index:4;display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.3;color:var(--ink-3)}.legal-links button{border:0;background:none;padding:4px 2px;color:inherit;font-size:inherit;line-height:inherit;cursor:pointer}.legal-links button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.stage.is-final .legal-links{display:none}@media(max-width:899px){.stage.is-home .panel{padding-bottom:calc(46px + env(safe-area-inset-bottom))}.legal-links{left:0;right:0;justify-content:center}}dialog{border:0;padding:0;background:none;color:inherit;max-width:none;max-height:none}dialog::backdrop{background:#1f1b1761;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{position:fixed;inset:auto 0 var(--kb,0px) 0;margin:0 auto;width:100%;max-width:520px}.sheet[open]{animation:sheetUp .38s var(--ease) both}@keyframes sheetUp{0%{transform:translateY(40px);opacity:0}}.sheet-in{background:#fffdfa;border-radius:24px 24px 0 0;padding:10px 20px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px -30px #1f1b1780;max-height:88svh;overflow:auto}@media(min-width:640px){.sheet{inset:0;margin:auto;height:max-content}.sheet-in{border-radius:24px;padding:18px 26px 22px}.sheet-grip{display:none}}.sheet-grip{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 10px}.sheet-head{display:flex;align-items:center;gap:10px}.sheet-head h3{flex:1;margin:0;font-size:19px;font-weight:700;line-height:1.35}.sheet-dot{width:12px;height:12px;border-radius:50%;background:var(--c,var(--tops));box-shadow:0 0 0 4px color-mix(in srgb,var(--c,var(--tops)) 16%,transparent);flex:none}.x{width:38px;height:38px;border-radius:50%;border:0;background:var(--paper-2);display:grid;place-items:center;flex:none}.sheet-help{margin:8px 0 14px;color:var(--ink-2);font-size:15px;line-height:1.6}.m-input{display:flex;align-items:center;gap:10px}.m-input input{flex:1;min-width:0;height:60px;border:1.5px solid var(--line);border-radius:16px;padding:0 16px;font-size:26px;font-weight:600;background:#fff;outline:none;font-variant-numeric:tabular-nums}.m-input input:focus{border-color:var(--ink)}.unit-sm button{min-width:46px;height:40px}.sheet-note{margin:10px 0 16px;font-size:13px;color:var(--ink-3)}.sheet-actions{display:grid;grid-template-columns:auto auto 1fr;gap:8px}.done{position:fixed;inset:0;z-index:100;background:#0b0a09;color:#f6f1ea;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .9s ease}.done.on{opacity:1}.done-in{max-width:560px;text-align:center;display:flex;flex-direction:column;align-items:center}.done-mark{width:120px;height:60px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;color:var(--gold);margin-bottom:26px}.done-mark path:first-child{stroke-dasharray:180;stroke-dashoffset:180}.done.on .done-mark path:first-child{animation:draw 1.6s var(--ease) .5s forwards}.done-mark .fillc{opacity:0;transform-box:fill-box;transform-origin:center}.done.on .done-mark .fillc{animation:twinkle 2.6s ease-in-out 1.6s infinite}@keyframes draw{to{stroke-dashoffset:0}}.done-msg{font-family:var(--serif);font-size:clamp(21px,5.2vw,30px);line-height:1.6;margin:0 0 34px;font-weight:500}.done-msg span{text-wrap:balance;display:block;opacity:0;transform:translateY(10px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.done-msg span.on{opacity:1;transform:none}.done .btn{opacity:0;transition:opacity .8s ease}.done .btn.on{opacity:1}.browse{flex:1;animation:scrIn .5s var(--ease) both}.browse-in{max-width:1080px;margin:0 auto;padding:0 var(--gutter) 24px}.browse .back{margin-bottom:8px}.slider{position:relative;border-radius:22px;overflow:hidden;background:var(--paper-2)}.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.slides::-webkit-scrollbar{display:none}.slide{flex:0 0 100%;scroll-snap-align:center;position:relative;aspect-ratio:4/5;margin:0}@media(min-width:700px){.slide{aspect-ratio:16/9}}.slide img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;color:#fff;font-size:15px;font-weight:500;background:linear-gradient(to top,rgba(0,0,0,.55),transparent)}.slide figcaption:empty{display:none}.sl-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#fffdfad9;display:grid;place-items:center;box-shadow:0 6px 18px -8px #0006}.sl-prev{left:12px}.sl-next{right:12px}.sl-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}.sl-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#ffffff8c}.sl-dots button[aria-current=true]{background:#fff;width:22px;border-radius:6px}.sl-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 2px;scrollbar-width:none}.sl-thumbs:empty{display:none}.sl-thumbs button{flex:none;width:64px;height:64px;border-radius:12px;overflow:hidden;border:2px solid transparent;padding:0;background:var(--paper-2);opacity:.6;transition:opacity .2s,border-color .2s}.sl-thumbs button[aria-current=true]{border-color:var(--ink);opacity:1}.sl-thumbs img{width:100%;height:100%;object-fit:cover}.browse-text{text-align:center;max-width:640px;margin:34px auto 30px}.browse-title{font-family:var(--serif);font-weight:600;font-size:clamp(26px,6vw,40px);line-height:1.25;margin:0 0 10px}.browse-body{margin:0;color:var(--ink-2);white-space:pre-line;font-size:16px}.album{display:grid;gap:8px;grid-template-columns:repeat(var(--cols,3),1fr)}.album:empty{display:none}.album button{position:relative;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--paper-2);aspect-ratio:1;cursor:zoom-in}.album.n1 button{aspect-ratio:16/10}.album img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.album button:hover img{transform:scale(1.04)}.browse{display:flex;flex-direction:column}.browse-in{flex:1 0 auto;width:100%}.browse-cta{position:sticky;left:0;right:0;bottom:0;z-index:30;padding:14px var(--gutter) calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--paper) 60%,rgba(246,241,234,0));display:flex;justify-content:center}.browse-cta .btn{width:100%;max-width:420px}.photo-note{margin:6px 2px 0;font-size:10px;line-height:1.4;color:var(--ink-3);text-align:right;opacity:.85;letter-spacing:.01em}.album+.photo-note{margin-top:7px}.lightbox{position:fixed;inset:0;width:100%;height:100%;background:#0b0a09f0;display:none;align-items:center;justify-content:center}.lightbox[open]{display:flex;animation:fadeIn .3s ease}.lightbox::backdrop{background:transparent}@keyframes fadeIn{0%{opacity:0}}.lb-fig{margin:0;max-width:92vw;max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:12px}.lb-fig img{max-width:92vw;max-height:78vh;object-fit:contain;border-radius:8px}.lb-fig figcaption{color:#eee;font-size:15px;text-align:center}.lb-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:#ffffff24;color:#fff;display:grid;place-items:center;z-index:2}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:#ffffff24;color:#fff;display:grid;place-items:center}.lb-prev{left:12px}.lb-next{right:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.m-shape,.m-dot,.m-label{opacity:1}.m-lead{opacity:.66}.m-back{opacity:.34}}.sheet-doc{max-width:720px}.sheet-doc .sheet-in{max-height:92svh}@media(min-width:640px){.sheet-doc .sheet-in{padding:22px 30px 26px}}.doc-date{margin:4px 0 14px;font-size:12.5px;color:var(--ink-3)}.doc-body{font-size:14.5px;line-height:1.75;color:var(--ink-2);overflow-wrap:anywhere}.doc-body h4{margin:18px 0 6px;font-size:15px;font-weight:700;color:var(--ink)}.doc-body p{margin:0 0 10px}.doc-body ul{margin:0 0 10px;padding-left:20px}.doc-body li{margin:0 0 4px}.doc-body .ph{background:#fff1cf;color:#8a5a00;border-radius:4px;padding:0 4px;font-weight:600}
