@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2) format("woff2"),url(/assets/roboto-latin-500-normal-DQZyH_nt.woff) format("woff")}:root{color:#151515;background:#f3efe7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-width:320px;overflow:hidden;background:#f3efe7}button,input,textarea,select{font:inherit}button{cursor:pointer}.web-stage{position:relative;width:100%;height:100%;overflow:hidden;background:inherit}.web-screen{position:relative;width:100%;max-width:720px;height:100%;min-height:100dvh;margin:0 auto;overflow:hidden;background:#fff}.web-screen img{-webkit-user-drag:none}.flow-stack,.flow-scenes,.flow-screen,.mobile-app-viewport{position:absolute;inset:0}.flow-stack{--flow-header-height: 0px;--flow-header-content-height: 0px;--flow-header-safe-area: 0px;--flow-footer-height: 0px;--keyboard-height: 0px;overflow:hidden;background:transparent;touch-action:pan-y}.flow-fixed-header{position:absolute;z-index:12;top:0;right:0;left:0;height:var(--flow-header-height);padding-top:var(--flow-header-safe-area);background:transparent}.flow-fixed-footer{position:absolute;z-index:12;right:0;bottom:var(--keyboard-height);left:0;height:var(--flow-footer-height);background:transparent}.flow-scenes{top:var(--flow-header-height);bottom:0;overflow:hidden}.flow-screen{overflow:hidden;background:transparent;will-change:transform}.mobile-page{position:absolute;inset:0;--mobile-safe-area-height: env(safe-area-inset-bottom, 0px);--keyboard-height: 0px}.mobile-scroll{position:absolute;inset:0;bottom:var(--keyboard-height);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;-webkit-user-select:none;user-select:none}.mobile-scroll::-webkit-scrollbar,.mobile-carousel::-webkit-scrollbar{display:none}.mobile-scroll-content{display:grid;gap:0;grid-template-columns:minmax(0,1fr);min-width:0;min-height:100%;padding:0;will-change:transform}.app-screen{background:#fff}.mobile-scrollbar{position:absolute;z-index:9;top:4px;right:5px;bottom:calc(var(--mobile-safe-area-height) + var(--keyboard-height) + 4px);width:4px;opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-scrollbar[data-visible=true]{opacity:1}.mobile-scrollbar-thumb{width:4px;min-height:36px;border-radius:999px;background:#00000047;box-shadow:0 0 0 1px #ffffff2e}.mobile-carousel{position:relative;display:block;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;-webkit-user-select:none;user-select:none}.mobile-carousel-content{display:flex;width:max-content;min-width:100%;transform:translate(var(--mobile-carousel-overdrag));will-change:transform}.mobile-carousel-scrollbar{position:absolute;z-index:4;inset:0;opacity:0;pointer-events:none;transition:opacity .15s ease}.mobile-carousel-scrollbar[data-visible=true]{opacity:1}.mobile-carousel-scrollbar-thumb{position:absolute;right:4px;bottom:4px;height:3px;border-radius:999px;background:#00000059}h1,h2,p{margin:0}h1{font-size:26px;line-height:1.08}h2{font-size:15px}p{color:#555;font-size:14px;line-height:1.45}.field-label{color:#555;font-size:13px;font-weight:800}.mobile-field{display:grid;gap:8px}.mobile-field input{width:100%;min-height:44px;padding:0 12px;border:1px solid rgb(0 0 0 / 10%);border-radius:8px;outline:0;background:#fff;color:#151515}.mobile-field input:focus{border-color:#00000038}.sheet-overlay{position:absolute;z-index:20;inset:0;background:#00000057}.bottom-sheet{position:absolute;z-index:21;right:0;left:0;display:flex;flex-direction:column;min-height:260px;overflow:hidden;border-radius:22px 22px 0 0;background:#fff;box-shadow:0 -16px 48px #0003;touch-action:none}.sheet-handle-zone{display:grid;height:30px;place-items:center;touch-action:none}.sheet-handle{width:42px;height:5px;border-radius:999px;background:#c9c9c4}.sheet-header{display:grid;gap:4px;padding:0 18px 14px}.sheet-title{margin:0;font-size:18px;font-weight:900}.sheet-description{margin:0;color:#737373;font-size:13px;line-height:1.35}.sheet-content{overflow:auto;padding:0 18px max(24px,env(safe-area-inset-bottom,0px))}@media(max-width:720px){.web-screen{max-width:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--ink: #171612;--muted-ink: #676158;--soft-ink: #999188;--paper: #fbf9f4;--paper-deep: #f3eee6;--line: #e4dfd7;--vermilion: #b3221d;--vermilion-deep: #971813;--font-ui: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", sans-serif;--font-display: "Songti SC", "STSong", "SimSun", serif}.app-screen{background:var(--paper);color:var(--ink);font-family:var(--font-ui)}.flow-stack,.flow-scenes,.flow-screen,.flow-scroll{background:var(--paper)}.flow-toolbar{height:54px;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;padding:0 12px;border-bottom:1px solid var(--line);background:#fbf9f4f5;color:var(--ink);font-family:var(--font-ui);font-size:15px;font-weight:650;text-align:center}.toolbar-back{width:64px;height:34px;display:flex;align-items:center;justify-content:flex-start;gap:1px;padding:0 5px 0 2px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-size:12px}.toolbar-back:hover{background:var(--paper-deep)}.toolbar-back:focus-visible{outline:2px solid rgba(179,34,29,.35);outline-offset:1px}.toolbar-back:active{color:var(--vermilion);transform:translate(-1px)}.toolbar-back svg{width:19px;height:19px}.toolbar-back span{white-space:nowrap}.toolbar-spacer{display:block}.brand-lockup{display:flex;align-items:center}.brand-name{font-family:var(--font-display);font-size:45px;line-height:1;font-weight:700;letter-spacing:-5px}.primary-action,.secondary-action,.sheet-primary{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-family:var(--font-ui);font-size:16px;font-weight:650;transition:transform .12s ease,background .12s ease}.primary-action{border:1px solid var(--vermilion);background:var(--vermilion);color:#fffdfa}.secondary-action{border:1px solid #24211e;background:transparent;color:var(--ink)}.primary-action:active,.secondary-action:active,.sheet-primary:active{transform:scale(.985)}.intro-page,.form-page,.chart-page,.result-page,.purchase-page{min-height:100%;box-sizing:border-box;background:var(--paper);font-family:var(--font-ui)}.intro-page{--intro-paper: #faf2e6;position:relative;overflow:hidden;padding:70px 28px calc(var(--mobile-safe-area-height) + 24px);background:var(--intro-paper)}.intro-scroll,.intro-scroll .mobile-scroll-content{background:#faf2e6}.intro-scroll .mobile-scroll-content{min-height:100%}.intro-page:before,.intro-page:after{content:"";position:absolute;width:34px;height:34px;border-color:#91663138;pointer-events:none}.intro-page:before{top:54px;left:16px;border-top:1px solid;border-left:1px solid}.intro-page:after{right:16px;bottom:calc(var(--mobile-safe-area-height) + 14px);border-right:1px solid;border-bottom:1px solid}.intro-brand-row{display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;animation:intro-rise .7s cubic-bezier(.22,1,.36,1) .08s forwards}.intro-brand-row .brand-name{font-size:46px;letter-spacing:-5px}.intro-seal{display:grid;place-items:center;width:24px;height:42px;box-sizing:border-box;border:1px solid var(--vermilion);color:var(--vermilion);font-family:var(--font-display);font-size:9px;line-height:1.25;text-align:center}.intro-eyebrow{display:flex;align-items:center;justify-content:center;gap:8px;margin:18px 0 10px;color:var(--vermilion);font-family:var(--font-display);font-size:11px;letter-spacing:.09em;opacity:0;animation:intro-rise .7s cubic-bezier(.22,1,.36,1) .2s forwards}.intro-eyebrow span{width:27px;height:1px;background:#b3221d52}.intro-eyebrow b{font-family:var(--font-ui);font-weight:400}.intro-page h1{margin:0;font-family:var(--font-display);font-size:31px;line-height:1.33;font-weight:650;letter-spacing:-.035em;text-align:center;opacity:0;animation:intro-rise .75s cubic-bezier(.22,1,.36,1) .32s forwards}.intro-page h1 span{color:var(--vermilion)}.intro-calculation{position:relative;width:min(100%,337px);height:342px;margin:-2px auto 0;opacity:0;animation:intro-scale .9s cubic-bezier(.22,1,.36,1) .44s forwards}.calculation-dial{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;animation:dial-breathe 5.5s ease-in-out 1.2s infinite}.calculation-dial-rotor{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:.72;mix-blend-mode:multiply;transform-origin:50% 45%;will-change:transform;-webkit-mask-image:radial-gradient(circle at 50% 45%,transparent 0 29%,#000 30.5% 36.5%,transparent 38%);mask-image:radial-gradient(circle at 50% 45%,transparent 0 29%,#000 30.5% 36.5%,transparent 38%);animation:dial-rotate 32s linear infinite}.pillar-labels{position:absolute;inset:0;pointer-events:none}.pillar-label{position:absolute;width:40px;display:grid;justify-items:center;gap:2px;color:#2e2922;font-family:var(--font-display);opacity:0;animation:pillar-reveal .6s cubic-bezier(.22,1,.36,1) forwards}.pillar-label small{color:var(--vermilion);font-size:8px;letter-spacing:.08em}.pillar-label strong{font-size:21px;font-weight:600}.pillar-year{top:102px;left:102px;animation-delay:.82s}.pillar-month{top:102px;right:99px;animation-delay:.94s}.pillar-day{top:176px;left:102px;animation-delay:1.06s}.pillar-time{top:176px;right:99px;animation-delay:1.18s}.calculation-ready{position:absolute;right:0;bottom:18px;left:0;display:flex;align-items:center;justify-content:center;gap:7px;margin:0;color:#7c6c5d;font-size:9px;letter-spacing:.08em;opacity:0;animation:intro-rise .6s ease 1.3s forwards}.calculation-ready span{width:5px;height:5px;border-radius:50%;background:var(--vermilion);box-shadow:0 0 0 4px #b3221d1a;animation:status-pulse 1.8s ease-in-out infinite}.intro-method{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0 2px;list-style:none;opacity:0;animation:intro-rise .7s cubic-bezier(.22,1,.36,1) .66s forwards}.intro-method:before{content:"";position:absolute;top:6px;right:14%;left:14%;height:1px;background:#d8c3ad}.intro-method li{position:relative;display:grid;justify-items:center;gap:4px;padding-top:17px;text-align:center}.intro-method li:before{content:"";position:absolute;top:3px;width:7px;height:7px;box-sizing:border-box;border:2px solid var(--intro-paper);border-radius:50%;background:var(--vermilion);box-shadow:0 0 0 1px #b3221d59}.intro-method strong{font-family:var(--font-display);font-size:12px;font-weight:650}.intro-method span{color:var(--soft-ink);font-size:8px;line-height:1.35}.intro-action{max-width:286px;margin:20px auto 0;min-height:52px;border-color:#b72a24;background:#b9221c;font-family:var(--font-display);font-size:18px;letter-spacing:.08em;box-shadow:0 8px 22px #9b1f1929;opacity:0;animation:intro-rise .7s cubic-bezier(.22,1,.36,1) .8s forwards,action-breathe 3.2s ease-in-out 1.8s infinite}.intro-action svg{width:17px;height:17px}.intro-proof{display:flex;align-items:center;justify-content:center;gap:7px;min-height:25px;margin:8px 0 0;color:#746b61;font-size:9px;opacity:0;animation:intro-rise .6s ease .94s forwards}.intro-proof svg{color:var(--vermilion);flex:0 0 auto}.intro-proof i{width:1px;height:10px;background:#d7cfc5}.intro-proof time{color:var(--soft-ink);font-family:Georgia,Times New Roman,serif}.privacy-note{display:flex;justify-content:center;align-items:center;gap:6px;margin:2px 0 0;color:var(--soft-ink);font-size:8px;opacity:0;animation:intro-rise .6s ease 1.02s forwards}@keyframes intro-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-scale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pillar-reveal{0%{opacity:0;transform:translateY(7px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dial-breathe{0%,to{transform:scale(1) rotate(-.35deg);filter:saturate(.96)}50%{transform:scale(1.018) rotate(.35deg);filter:saturate(1.08)}}@keyframes dial-rotate{to{transform:rotate(360deg)}}@keyframes status-pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes action-breathe{0%,to{box-shadow:0 8px 22px #9b1f1926}50%{box-shadow:0 9px 28px #9b1f1940}}@media(prefers-reduced-motion:reduce){.intro-brand-row,.intro-eyebrow,.intro-page h1,.intro-calculation,.pillar-label,.calculation-ready,.intro-method,.intro-action,.intro-proof,.privacy-note,.calculation-dial,.calculation-dial-rotor,.calculation-ready span{animation:none;opacity:1;transform:none}.calculation-dial-rotor{opacity:0}}@media(max-height:820px){.intro-page{padding-top:62px}.intro-brand-row .brand-name{font-size:39px}.intro-eyebrow{margin-top:13px}.intro-page h1{font-size:28px}.intro-calculation{width:286px;height:265px;margin-top:-6px;margin-bottom:-8px}.pillar-year,.pillar-month{top:79px}.pillar-day,.pillar-time{top:139px}.pillar-year,.pillar-day{left:84px}.pillar-month,.pillar-time{right:81px}.intro-action{margin-top:14px;min-height:48px}}.form-page,.chart-page{padding:24px 26px calc(var(--mobile-safe-area-height) + 34px)}.step-indicator{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:25px;color:var(--soft-ink);font-family:var(--font-ui);font-size:11px;text-align:center}.step-indicator span{padding-bottom:8px;border-bottom:2px solid var(--line)}.step-indicator .active{color:var(--vermilion);border-color:var(--vermilion);font-weight:700}.form-page h1{margin:0 0 8px;font-family:var(--font-display);font-size:25px;line-height:1.35}.page-lead{margin:0 0 24px;color:var(--muted-ink);font-size:13px;line-height:1.65}.form-field{display:grid;gap:8px;margin:0 0 18px}.form-field>span,.choice-fieldset legend{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650}.form-field svg,.choice-fieldset legend svg{width:15px;height:15px;color:var(--vermilion)}.form-field input{width:100%;height:46px;box-sizing:border-box;border:1px solid #d8d2ca;border-radius:10px;background:#fffdfa;padding:0 13px;color:var(--ink);font:16px var(--font-ui)}.form-field input:focus{border-color:var(--vermilion)}.form-field small{color:var(--soft-ink);font-size:10px}.name-field-row{display:grid;grid-template-columns:minmax(92px,.78fr) minmax(0,1.22fr);gap:8px}.text-part-field{display:grid;gap:6px}.text-part-field small{padding-left:2px;color:var(--muted-ink);font-size:10px}.picker-row{display:grid;gap:8px}.date-picker-row{grid-template-columns:1.22fr .89fr .89fr}.time-picker-row{grid-template-columns:repeat(2,minmax(0,1fr))}.location-picker-row{grid-template-columns:minmax(0,1fr) minmax(0,1.14fr)}.picker-select{position:relative;min-width:0}.picker-select select{width:100%;height:46px;box-sizing:border-box;appearance:none;border:1px solid #d8d2ca;border-radius:10px;background:#fffdfa;padding:0 30px 0 12px;overflow:hidden;color:var(--ink);font:16px var(--font-ui);text-overflow:ellipsis}.picker-select select:focus{border-color:var(--vermilion);outline:2px solid rgba(178,41,35,.09);outline-offset:0}.picker-select svg{position:absolute;top:50%;right:10px;width:14px;height:14px;color:var(--soft-ink);pointer-events:none;transform:translateY(-50%)}.location-summary{margin:8px 2px 0;color:var(--soft-ink);font-size:10px;line-height:1.45}.gender-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gender-option{min-height:42px;border:1px solid #d8d2ca;border-radius:9px;background:#fffdfa;color:#514c45;font-size:13px}.gender-option.active{border-color:var(--vermilion);background:#f8eeeb;color:var(--vermilion-deep);font-weight:700}.choice-fieldset{margin:0 0 20px;padding:0;border:0}.choice-fieldset legend{margin-bottom:10px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice,.gender-option,.mode-option,.goal-option,.result-tabs button,.result-header button,.proof-link{appearance:none;font:inherit;-webkit-tap-highlight-color:transparent}.choice{min-height:40px;border:1px solid #d8d2ca;border-radius:9px;background:#fffdfa;color:#514c45;font-size:13px}.choice.active{border-color:var(--vermilion);background:#f8eeeb;color:var(--vermilion-deep);font-weight:700}.mode-options{display:grid;gap:8px}.mode-option{display:grid;gap:4px;padding:12px 14px;border:1px solid #d8d2ca;border-radius:10px;background:#fffdfa;color:var(--ink);text-align:left}.mode-option strong{font-size:13px}.mode-option span{color:var(--muted-ink);font-size:11px}.mode-option.active{border-color:var(--vermilion);background:#f8eeeb}.form-error{margin:0 0 12px;color:var(--vermilion);font:12px var(--font-ui)}.method-note{display:flex;align-items:flex-start;gap:7px;margin:14px 2px 0;color:var(--soft-ink);font-size:10px;line-height:1.55}.method-note svg{flex:0 0 auto;margin-top:2px}.calculating-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 36px;background:var(--paper);color:var(--ink);font-family:var(--font-ui);text-align:center}.calculation-seal{width:66px;height:66px;display:grid;place-items:center;border:1px solid var(--vermilion);border-radius:999px;color:var(--vermilion)}.calculation-seal svg{width:28px;height:28px}.calc-kicker{margin:22px 0 7px;color:var(--vermilion);font-size:12px;letter-spacing:.16em}.calculating-screen h1{margin:0 0 32px;font-family:var(--font-display);font-size:24px}.calculating-screen ul{width:100%;display:grid;gap:12px;margin:0;padding:0;list-style:none;text-align:left}.calculating-screen li{display:flex;align-items:center;gap:11px;padding:13px 14px;border:1px solid var(--line);color:var(--soft-ink);font-size:13px}.calculating-screen li>span,.calculating-screen li>svg{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;color:var(--soft-ink)}.calculating-screen li.done{border-color:#d4b4ae;color:var(--ink)}.calculating-screen li.done svg{color:var(--vermilion)}.calculating-screen li.active{position:relative;overflow:hidden;border-color:#b3221d85;background:#fffdfa;color:var(--ink)}.calculating-screen li.active:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--vermilion);transform-origin:left;animation:matching-line 2.4s ease-in-out infinite}.matching-seal{animation:matching-seal-pulse 2.2s ease-in-out infinite}.matching-seal svg{animation:matching-icon-turn 4.8s linear infinite}.matching-step-icon{color:var(--vermilion)!important;animation:matching-icon-pulse 1.4s ease-in-out infinite}.matching-activity{width:100%;display:grid;gap:8px;margin-top:16px}.matching-progress{position:relative;height:4px;overflow:hidden;border-radius:999px;background:#e9e2da}.matching-progress>span{position:absolute;top:0;bottom:0;left:-42%;width:42%;border-radius:inherit;background:var(--vermilion);animation:matching-scan 1.55s cubic-bezier(.4,0,.2,1) infinite}.matching-activity-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.matching-activity-copy p{margin:0;color:var(--muted-ink);font-size:11px;text-align:left}.matching-activity-copy time{flex:0 0 auto;color:var(--vermilion);font:10px Georgia,Times New Roman,serif}.matching-activity small{color:var(--soft-ink);font-size:9px;line-height:1.5;text-align:left;animation:matching-copy-in .35s ease both}@keyframes matching-line{0%{transform:scaleX(.08);opacity:.35}55%{transform:scaleX(.78);opacity:1}to{transform:scaleX(1);opacity:.18}}@keyframes matching-seal-pulse{0%,to{box-shadow:0 0 #b3221d00;transform:scale(1)}50%{box-shadow:0 0 0 9px #b3221d14;transform:scale(1.035)}}@keyframes matching-icon-turn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes matching-icon-pulse{0%,to{opacity:.48;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes matching-scan{0%{transform:translate(0)}to{transform:translate(338%)}}@keyframes matching-copy-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.calculating-screen li.active:after,.matching-seal,.matching-seal svg,.matching-step-icon,.matching-progress>span,.matching-activity small{animation:none}.calculating-screen li.active:after{transform:scaleX(1)}.matching-progress>span{left:29%}}.verified-heading{display:flex;align-items:flex-start;gap:11px}.verified-heading>svg{width:22px;height:22px;margin-top:4px;color:var(--vermilion)}.verified-heading p{margin:0 0 4px;color:var(--vermilion);font-size:11px}.verified-heading h1{margin:0;font-family:var(--font-display);font-size:25px;line-height:1.3}.chart-caption{margin:13px 0 20px;color:var(--muted-ink);font-size:11px;line-height:1.5}.pillar-section{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.pillar{display:grid;justify-items:center;gap:4px;padding:12px 4px;border-top:2px solid var(--vermilion);background:#fffdfa}.pillar span{color:var(--muted-ink);font-size:10px}.pillar strong{font-family:var(--font-display);font-size:24px;line-height:1;font-weight:600}.day-master-line{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;margin:12px 0 24px;padding:10px 12px;border:1px solid var(--line)}.day-master-line span{color:var(--muted-ink);font-size:11px}.day-master-line strong{color:var(--vermilion);font-size:13px}.day-master-line p{margin:0;color:var(--muted-ink);font-size:11px;text-align:right}.element-section,.goal-section,.fortune-section{margin-bottom:26px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2{margin:0;font-size:18px;line-height:1.35;font-weight:650}.section-heading span{color:var(--soft-ink);font-size:9px;text-align:right}.element-bars{display:grid;gap:9px}.element-row{display:grid;grid-template-columns:22px 1fr 24px;gap:9px;align-items:center;font-size:12px}.element-row progress{width:100%;height:7px;overflow:hidden;border:0;border-radius:999px;appearance:none}.element-row progress::-webkit-progress-bar{background:#e8e2da;border-radius:999px}.element-row progress::-webkit-progress-value{background:var(--vermilion);border-radius:999px}.element-row strong{color:var(--muted-ink);font:11px var(--font-ui);text-align:right}.calculation-conclusion{display:flex;gap:10px;margin-top:15px;padding:12px 13px;background:var(--paper-deep)}.calculation-conclusion svg{flex:0 0 auto;margin-top:2px;color:var(--vermilion)}.calculation-conclusion p{margin:0;color:#4f4941;font-size:12px;line-height:1.65}.calculation-conclusion strong{margin:0 2px;color:var(--vermilion)}.goal-list{display:grid;gap:8px}.goal-option{width:100%;display:grid;grid-template-columns:34px 1fr 20px;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fffdfa;text-align:left}.goal-option>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid #d6d0c7;border-radius:999px;color:var(--vermilion)}.goal-option>svg{color:var(--vermilion)}.goal-option div{display:grid;gap:3px}.goal-option strong{font-size:13px}.goal-option small{color:var(--muted-ink);font-size:10px}.goal-option.active{border-color:var(--vermilion);background:#f8eeeb}.result-page{padding:24px 28px calc(var(--mobile-safe-area-height) + 34px)}.result-header{display:flex;align-items:center;justify-content:space-between}.result-header .brand-name{font-size:40px}.result-header button{border:0;background:transparent;color:var(--muted-ink);font-size:10px}.date-line{margin:10px 0 19px;color:var(--muted-ink);font-size:11px}.result-tabs{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--line);border-radius:999px}.result-tabs button{min-height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted-ink);font-size:12px}.result-tabs button[aria-selected=true]{background:var(--vermilion);color:#fff;font-weight:700}.result-summary{padding:24px 0 20px;border-bottom:1px solid var(--line)}.result-summary>p{margin:0 0 7px;color:var(--vermilion);font-size:11px}.result-summary h1{margin:0;font-family:var(--font-display);font-size:25px;line-height:1.35}.result-summary h1 span{color:var(--soft-ink);font-weight:400}.formula-line{display:flex;align-items:center;gap:7px;margin-top:13px;color:var(--muted-ink);font-size:10px}.formula-line svg{color:var(--vermilion)}.proof-link{display:flex;align-items:center;gap:6px;margin-top:14px;padding:0;border:0;background:transparent;color:var(--vermilion);font-size:11px}.perfume-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(126px,44%);gap:10px;align-items:center;min-height:244px;padding:22px 0 12px;overflow:hidden}.perfume-copy{position:relative;z-index:2;min-width:0}.section-kicker{margin:0;font-size:15px;font-weight:700}.short-rule{width:22px;height:2px;margin-top:7px;background:var(--vermilion)}.brand-line{margin:22px 0 6px;font-size:12px;white-space:nowrap}.brand-line span{margin-left:4px;font-family:Georgia,Times New Roman,serif;font-size:10px}.perfume-copy h2{margin:0;font-family:var(--font-display);font-size:25px;line-height:1.3}.product-name-en{margin:6px 0 0;color:var(--muted-ink);font:italic 14px Georgia,Times New Roman,serif}.match-score{margin:18px 0 0;color:var(--muted-ink);font-size:10px}.match-score strong{display:block;color:var(--vermilion);font:29px Georgia,serif}.perfume-image-wrap{position:relative;isolation:isolate;width:100%;aspect-ratio:1 / 1;overflow:hidden}.perfume-image-layer{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .14s ease}.perfume-image-layer.active{opacity:1;visibility:visible}.perfume-image-layer img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none}.perfume-image-layer .perfume-image-empty{position:absolute;inset:0}.perfume-image-loading{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;background:var(--paper);color:var(--soft-ink)}.perfume-image-loading span{position:relative;width:54px;height:82px;border-radius:18px 18px 12px 12px;background:#eee8df}.perfume-image-loading span:before{content:"";position:absolute;top:-13px;left:17px;width:20px;height:16px;border-radius:5px 5px 2px 2px;background:#e4ddd3}.perfume-image-loading small{font-size:9px;font-weight:400;letter-spacing:.04em}.perfume-image-empty{width:100%;height:100%;display:grid;place-items:center;border:1px solid var(--line);background:#fffdfa;color:var(--soft-ink);font-size:10px;letter-spacing:.04em}.evidence-compact{padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.evidence-compact h2,.boundary-section h2{margin:0;font-size:17px;font-weight:650}.evidence-compact ul{display:grid;gap:12px;margin:15px 0 0;padding:0;list-style:none}.evidence-compact li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;color:#4f4941;font-size:11px;line-height:1.55}.evidence-compact li svg{color:var(--vermilion);margin-top:2px}.evidence-compact strong{margin:0 2px;color:var(--ink)}.fortune-section{margin-top:23px}.fortune-list{display:grid;border-top:1px solid var(--line)}.fortune-item{display:grid;grid-template-columns:34px 1fr;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.fortune-item>span{width:31px;height:31px;display:grid;place-items:center;border:1px solid #d6d0c7;border-radius:999px;color:var(--vermilion)}.fortune-item strong{font-size:13px}.fortune-item p{margin:4px 0 0;color:var(--muted-ink);font-size:11px;line-height:1.5}.lifetime-use-section{margin:23px 0;padding:16px 15px;background:var(--paper-deep)}.lifetime-use-section>div{display:flex;align-items:center;gap:8px}.lifetime-use-section svg{color:var(--vermilion)}.lifetime-use-section h2{margin:0;font-size:16px;font-weight:650}.lifetime-use-section p{margin:9px 0 0;color:var(--muted-ink);font-size:11px;line-height:1.7}.boundary-section{margin:0 0 20px}.boundary-section p{margin:10px 0 0;color:var(--muted-ink);font-size:11px;line-height:1.65}.disclaimer{margin:14px 0 0;color:var(--soft-ink);font-size:9px;text-align:center}.detail-action{margin-bottom:10px}.purchase-page{padding:24px 26px calc(var(--mobile-safe-area-height) + 34px)}.purchase-eyebrow{margin:0 0 12px;color:var(--vermilion);font-size:11px;letter-spacing:.08em}.purchase-hero{padding-bottom:22px;border-bottom:1px solid var(--line);text-align:center}.purchase-image-wrap{height:264px;overflow:hidden;padding:18px;background:#fffdfa}.purchase-image-wrap img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;mix-blend-mode:multiply}.purchase-image-wrap .perfume-image-empty{border:0}.purchase-hero .brand-line{margin:18px 0 7px}.purchase-hero h1{margin:0;font-family:var(--font-display);font-size:28px;line-height:1.28}.purchase-name-en{margin:5px 0 0;color:var(--muted-ink);font:italic 14px Georgia,Times New Roman,serif}.purchase-meta{margin:12px 0 0;color:var(--soft-ink);font-size:10px}.detail-section{padding:22px 0;border-bottom:1px solid var(--line)}.detail-section>p{margin:0;color:#4f4941;font-size:12px;line-height:1.75}.note-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.note-chips span{padding:6px 9px;border:1px solid #d8d2ca;border-radius:999px;color:var(--muted-ink);font-size:10px}.review-section{display:grid;gap:14px}.review-section .section-heading{margin-bottom:0}.review-overview{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;padding:14px 15px;background:var(--paper-deep)}.review-rating{display:grid;grid-template-columns:18px auto 1fr;gap:5px;align-items:baseline;min-width:0}.review-rating>span{color:var(--vermilion)}.review-rating>span svg{width:15px;height:15px}.review-rating strong{color:var(--ink);font:30px/1 Georgia,Times New Roman,serif}.review-rating small{min-width:0;color:var(--soft-ink);font-size:9px;line-height:1.45}.review-count{display:grid;gap:3px;padding-left:14px;border-left:1px solid var(--line);text-align:right}.review-count strong{color:var(--vermilion);font:19px/1 Georgia,Times New Roman,serif}.review-count span{color:var(--soft-ink);font-size:9px}.review-section>.review-summary{margin:0;color:var(--muted-ink);font-size:11px;line-height:1.65}.selling-point-list{display:grid;border-top:1px solid var(--line)}.selling-point{display:grid;grid-template-columns:27px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.selling-point>span{color:var(--vermilion);font:10px Georgia,Times New Roman,serif}.selling-point strong{font-size:12px;font-weight:650}.selling-point p{margin:4px 0 0;color:var(--muted-ink);font-size:10px;line-height:1.6}.review-excerpts{display:grid}.review-toggle{display:grid;grid-template-columns:18px 1fr 16px;gap:7px;align-items:center;width:100%;min-height:42px;padding:0 2px;border:0;background:transparent;color:var(--vermilion);font-size:11px;text-align:left}.review-toggle svg:last-child{justify-self:end}.review-list{display:grid;gap:9px;padding-top:5px}.review-card{position:relative;width:100%;padding:13px 13px 11px 30px;border:1px solid var(--line);appearance:none;background:#fffdfa;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.review-card:active{transform:scale(.99)}.review-card>svg{position:absolute;top:14px;left:11px;color:var(--vermilion)}.review-card p{margin:0;color:#4f4941;font-size:10px;line-height:1.65}.review-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.review-card-meta small{color:var(--soft-ink);font-size:9px}.review-card-meta em{flex:0 0 auto;color:var(--vermilion);font-size:9px;font-style:normal}.review-list+.review-toggle{margin-top:8px}.review-dialog-backdrop{position:absolute;z-index:60;inset:0;display:grid;place-items:end center;padding:18px 18px calc(env(safe-area-inset-bottom,0px) + 18px);background:#17161294;touch-action:none}.review-dialog{width:min(100%,520px);max-height:min(76dvh,680px);overflow-y:auto;padding:20px;background:#fffdfa;color:var(--ink);box-shadow:0 18px 60px #1c150e47;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.review-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.review-dialog-kicker{margin:0 0 4px;color:var(--vermilion);font-size:9px;font-weight:700;letter-spacing:.16em}.review-dialog h2{margin:0;font-family:var(--font-display);font-size:20px;font-weight:650}.review-dialog header button{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);appearance:none;background:transparent;color:var(--ink)}.review-dialog header button svg{width:18px;height:18px}.review-dialog-content{margin:20px 0 0;color:#4f4941;font-size:12px;line-height:1.9;white-space:pre-wrap}.review-dialog-meta{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--soft-ink);font-size:9px}.review-loading,.review-empty{margin:0;padding:14px;background:var(--paper-deep);color:var(--soft-ink);font-size:10px;line-height:1.6}.ritual-card>div{display:flex;align-items:center;gap:8px;margin-bottom:10px}.ritual-card svg{color:var(--vermilion)}.ritual-card h2,.purchase-status h2{margin:0;font-size:17px;font-weight:650}.purchase-status{padding:22px 0}.purchase-status p{margin:8px 0 15px;color:var(--muted-ink);font-size:11px;line-height:1.65}.purchase-status .purchase-bridge-error{color:var(--vermilion)}.purchase-link,.shop-fallback-link{text-decoration:none}.alternate-section{padding:4px 0 24px}.alternate-list{display:grid;gap:9px}.alternate-card{display:grid;grid-template-columns:58px 1fr 18px;gap:11px;align-items:center;min-height:72px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fffdfa;color:var(--ink);text-decoration:none}.alternate-card img{width:58px;height:58px;object-fit:contain;mix-blend-mode:multiply}.alternate-card>span{min-width:0;display:grid;gap:3px}.alternate-card small{color:var(--muted-ink);font-size:9px}.alternate-card strong{overflow:hidden;font-family:var(--font-display);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.alternate-card em{overflow:hidden;color:var(--soft-ink);font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.alternate-card>svg{color:var(--vermilion)}.purchase-boundary{padding-top:2px}.product-image-preview-page{padding-top:28px}.product-image-preview-page .result-header>span{color:var(--muted-ink);font-size:11px}.product-image-preview-controls{padding:21px 0 10px;border-top:1px solid var(--line)}.product-image-preview-controls h2{margin:0 0 12px;font-size:15px}.product-image-preview-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.product-image-preview-controls button{min-width:0;display:grid;gap:3px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fffdfa;color:var(--ink);text-align:left}.product-image-preview-controls button[aria-pressed=true]{border-color:var(--vermilion);background:#f8eeeb}.product-image-preview-controls button span{color:var(--muted-ink);font-size:9px}.product-image-preview-controls button strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.proof-sheet{display:grid;gap:13px;padding-bottom:18px;color:var(--ink);font-family:var(--font-ui)}.proof-sheet>div{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:start}.proof-sheet>div>span{color:var(--vermilion);font:11px Georgia,serif}.proof-sheet p{margin:0;color:var(--muted-ink);font-size:12px;line-height:1.55}.proof-sheet p strong{display:block;margin-bottom:2px;color:var(--ink);font-size:13px}.proof-result{padding:12px;background:var(--paper-deep)}.proof-result svg{color:var(--vermilion)}.proof-result p{color:var(--ink)}.sheet-primary{border:0;background:var(--vermilion);color:#fff;font:650 15px var(--font-ui)}@media(min-width:600px){.review-dialog-backdrop{place-items:center}.review-dialog{padding:28px}}@media(max-width:390px){.intro-page,.form-page,.chart-page,.result-page,.purchase-page{padding-left:24px;padding-right:24px}.intro-page h1{font-size:29px}.choice-grid{grid-template-columns:repeat(3,1fr)}}@media(prefers-reduced-motion:reduce){.perfume-image-layer{transition:none}}
