:root{--fp-party-pink:#ff2b85;--fp-white:#fff;--fp-noir-black:#231f20;--fp-floral-pink:#fff8f5;--fp-cool-grey:#eff2f4;--fp-pink-60:#f287b7;--fp-pink-40:#f6adcd;--fp-pink-30:#f8c1d9;--fp-pink-20:#fad5e5;--fp-pink-10:#ffe9f3;--fp-floral-200:#fff7f3;--fp-floral-300:#fff0eb;--fp-dusty-pink:#ddabc5;--fp-yellow:#e5c573;--fp-yellow-soft:#ffe6b3;--fp-risk-normal:#538052;--fp-risk-normal-bg:#eef3ea;--fp-risk-alert:#a16207;--fp-risk-alert-bg:#fdf3d8;--fp-risk-abnormal:#a70254;--fp-risk-abnormal-bg:#ffe9f3;--fp-font-zh:"Lantinghei TC", "PingFang TC", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", "Heiti TC", sans-serif;--fp-font-en:"Agrandir", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fp-tracking-en:-.01em;--fp-color-primary:var(--fp-party-pink);--fp-color-bg:var(--fp-floral-pink);--fp-color-surface:var(--fp-white);--fp-color-text:var(--fp-noir-black);--fp-radius-card:20px;--fp-radius-field:14px;--fp-radius-pill:999px;--fp-shadow-card:0 2px 16px #231f2012;--fp-shadow-pop:0 8px 28px #ff2b8547}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--fp-font-zh);color:var(--fp-color-text);background:var(--fp-color-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}#root,.modal-backdrop{zoom:var(--page-zoom,1)}.app-bg{min-height:calc(100dvh / var(--page-zoom,1))}.shell{max-width:560px;margin:0 auto;padding:0 20px 56px}h1,h2,h3{margin:0;line-height:1.3}.num{font-family:var(--fp-font-en);letter-spacing:var(--fp-tracking-en);font-variant-numeric:tabular-nums}.site-header{z-index:20;background:var(--fp-white);border-bottom:1px solid #eee7e3;position:sticky;top:0}.site-header-inner{align-items:center;gap:10px;max-width:560px;margin:0 auto;padding:10px 20px;display:flex}.site-logo-fp{border-radius:9px;width:34px;height:34px}.site-logo-divider{background:#d9d2d4;flex:none;width:1px;height:22px}.site-logo-pojen{width:auto;height:26px}.site-menu{margin-left:auto;position:relative}.site-menu-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0 8px;display:flex}.site-menu-btn span{background:var(--fp-party-pink);border-radius:2px;height:2.5px;display:block}.site-menu-btn:focus-visible{outline:2px solid var(--fp-party-pink);outline-offset:2px;border-radius:8px}.site-menu-list{z-index:30;background:var(--fp-white);min-width:210px;box-shadow:var(--fp-shadow-card);border:1px solid #f0e4de;border-radius:12px;margin:0;padding:6px 0;list-style:none;position:absolute;top:calc(100% + 8px);right:0}.site-menu-list a{color:var(--fp-noir-black);white-space:nowrap;padding:11px 18px;font-size:15px;font-weight:700;text-decoration:none;display:block}.site-menu-list a:hover{background:var(--fp-pink-10);color:var(--fp-party-pink)}.site-menu-list a:focus-visible{outline:2px solid var(--fp-party-pink);outline-offset:-2px}@keyframes stageIn{0%{opacity:0}to{opacity:1}}.stage-enter{animation:.32s cubic-bezier(.22,.9,.3,1) both stageIn}.step-tabs{background:var(--fp-cool-grey);grid-template-columns:repeat(3,1fr);margin:0 -20px 24px;display:grid}.step-tab{text-align:center;color:#a09a9c;border-bottom:3px solid #0000;padding:11px 4px 9px;font-size:14px;font-weight:700;transition:background-color .2s,color .2s,border-color .2s}.step-tab.done{color:var(--fp-noir-black)}.step-tab.active{background:var(--fp-white);color:var(--fp-party-pink);border-bottom-color:var(--fp-party-pink)}.step-tab .step-tab-no{margin-right:4px}.btn{border-radius:var(--fp-radius-pill);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:12px 30px;font-family:inherit;font-size:17px;font-weight:700;transition:transform .12s,background-color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.98)}.btn-primary{background:var(--fp-party-pink);color:var(--fp-white)}.btn-primary:hover{background:#ea1d75}.btn-secondary{background:var(--fp-white);color:#6d6769;border:1.5px solid #d9d2d4}.btn-secondary:hover{border-color:#b0a9ab}.btn-block{width:100%}.card{background:var(--fp-color-surface);border:1px solid #f0e4de;border-radius:16px;padding:24px}.card-frame{border:3px solid var(--fp-party-pink);border-radius:24px}.field{margin-bottom:18px;scroll-margin-top:72px}.field-label{align-items:baseline;gap:6px;margin-bottom:7px;font-size:15px;font-weight:700;display:flex}.field-label .required-mark{color:var(--fp-party-pink);font-size:13px;font-weight:700}.field-label .optional-mark{color:#8a8486;font-size:12px;font-weight:500}.input-wrap{align-items:center;display:flex;position:relative}.input{width:100%;min-height:52px;color:var(--fp-color-text);background:var(--fp-white);border:1.5px solid #d9d2d4;border-radius:10px;outline:none;padding:10px 16px;font-family:inherit;font-size:17px;transition:border-color .15s,box-shadow .15s,background-color .15s}.input:focus{border-color:var(--fp-party-pink);box-shadow:0 0 0 3px var(--fp-pink-10)}.input.has-error{border-color:var(--fp-risk-abnormal);background:#fff5f9}.input-unit{color:#8a8486;pointer-events:none;font-size:14px;position:absolute;right:16px}.input-wrap.has-unit .input{padding-right:4.25em}.field-error-wrap{grid-template-rows:0fr;transition:grid-template-rows .2s;display:grid}.field-error-wrap.show{grid-template-rows:1fr}.field-error-wrap>.field-error{min-height:0;color:var(--fp-risk-abnormal);opacity:0;margin:6px 2px 0;font-size:13px;font-weight:500;transition:opacity .15s;overflow:hidden}.field-error-wrap.show>.field-error{opacity:1}.seg{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.seg-btn{background:var(--fp-white);color:#6d6769;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1.5px solid #d9d2d4;border-radius:10px;min-height:52px;font-family:inherit;font-size:16px;font-weight:700;transition:border-color .15s,background-color .15s,color .15s,transform .12s}.seg-btn:active{transform:scale(.97)}.seg-btn.selected{border:2px solid var(--fp-party-pink);background:var(--fp-pink-10);color:var(--fp-party-pink)}.chop-wrap{--chop-color:var(--fp-risk-normal);--chop-bg:#5380520d;flex:none;place-items:center;width:5.25em;height:5.25em;font-size:16px;animation:.7s cubic-bezier(.16,.75,.2,1) .3s both chopSlam;display:inline-grid;position:relative}.chop-wrap.alert{--chop-color:var(--fp-risk-alert);--chop-bg:#a162070f}.chop-wrap.abnormal{--chop-color:var(--fp-risk-abnormal);--chop-bg:#a702540a}.chop{border:2px solid var(--chop-color);background:var(--chop-bg);width:100%;height:100%;color:var(--chop-color);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-weight:900;display:flex;position:relative;overflow:hidden}.chop-icon{font-size:1.125em;line-height:1}.chop-label{max-width:3.875em;font-size:1em;line-height:1}.chop-wrap.abnormal .chop-label{max-width:4.4em;font-size:.65625em;line-height:1.2}.chop:after{content:"";border:1px solid var(--chop-color);opacity:.6;border-radius:50%;position:absolute;inset:7px}.chop-dot{background:var(--chop-color);transform-origin:.109375em 2.5em;border-radius:50%;width:.21875em;height:.21875em;position:absolute;top:.0625em;left:calc(50% - .109375em)}@keyframes chopSlam{0%{opacity:0;transform:rotate(calc(var(--chop-rot) - 10deg)) scale(1.7)}to{opacity:1;transform:rotate(var(--chop-rot)) scale(1)}}.summary-box .summary-hint{border-top:1px solid var(--fp-pink-30);color:var(--fp-party-pink);margin-top:10px;padding-top:9px;font-size:14px;font-weight:700}.ov-list{background:var(--fp-white);border:1px solid #f0e4de;border-radius:14px;margin-bottom:14px;overflow:hidden}.ov-row{background:var(--fp-white);width:100%;min-height:56px;color:var(--fp-noir-black);cursor:pointer;text-align:left;border:none;align-items:center;gap:12px;padding:10px 16px;font-family:inherit;font-size:15px;transition:background-color .15s;display:flex}.ov-row:hover{background:#fffaf8}.ov-row:active{background:var(--fp-pink-10)}.ov-row:hover .ov-chev{transform:translate(2px)}.ov-row:focus-visible{outline:2px solid var(--fp-party-pink);outline-offset:-2px}.ov-row+.ov-row{border-top:1px solid #f1ece9}.ov-row.abnormal{background:var(--fp-pink-10)}.ov-status{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:grid}.ov-row.normal .ov-status{background:var(--fp-risk-normal-bg);color:var(--fp-risk-normal)}.ov-row.alert .ov-status{background:var(--fp-risk-alert-bg);color:var(--fp-risk-alert)}.ov-row.abnormal .ov-status{background:var(--fp-risk-abnormal);color:var(--fp-white)}.ov-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:700}.ov-value{color:#6d6769;font-size:14px}.ov-row.alert .ov-value{color:var(--fp-risk-alert);font-weight:700}.ov-row.abnormal .ov-value{color:var(--fp-risk-abnormal);font-weight:900}.ov-chev{color:#c9c0c3;flex:none;font-size:20px;transition:transform .15s}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}@keyframes backdropOut{0%{opacity:1}to{opacity:0}}@keyframes sheetIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(28px)}}.modal-backdrop{z-index:50;background:#231f2073;justify-content:center;align-items:flex-end;animation:.2s both backdropIn;display:flex;position:fixed;inset:0}.modal-backdrop.closing{animation:.18s both backdropOut}.modal-sheet{width:100%;max-width:560px;max-height:calc(85vh / var(--page-zoom,1));max-height:calc(85dvh / var(--page-zoom,1));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--fp-white);border-radius:20px 20px 0 0;padding:26px 22px 22px;animation:.28s cubic-bezier(.22,.9,.3,1) both sheetIn;position:relative;overflow-y:auto}.modal-backdrop.closing .modal-sheet{animation:.18s both sheetOut}.modal-sheet .result-head{padding-right:44px}.modal-close{background:var(--fp-cool-grey);width:32px;height:32px;color:var(--fp-noir-black);cursor:pointer;border:none;border-radius:50%;font-size:14px;position:absolute;top:14px;right:14px}.modal-close:focus-visible{outline:2px solid var(--fp-party-pink);outline-offset:2px}.modal-actions{grid-template-columns:auto 1fr;gap:10px;margin-top:20px;display:grid}.modal-actions .btn{white-space:nowrap;padding:12px 18px;font-size:16px}.modal-actions .btn-primary{text-decoration:none}@media (width<=380px){.modal-actions{grid-template-columns:1fr}.modal-actions .btn-primary{order:1}.modal-actions .btn-secondary{order:2}}@media (width>=620px){.modal-backdrop{align-items:center}.modal-sheet{border-radius:20px;max-width:460px}}.result-card{margin-bottom:12px;padding:20px 22px}.print-only{display:none}.result-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.result-title{overflow-wrap:anywhere;min-width:0;font-size:18px;font-weight:900}.result-value{color:#6d6769;margin:10px 0 2px;font-size:15px}.result-value .big{color:var(--fp-noir-black);margin-right:4px;font-size:30px;font-weight:900}.result-range{color:#8a8486;font-size:13px}.result-copy{border-top:1px solid #f1ece9;margin:14px 0 0;padding-top:14px;font-size:15px}.result-source{color:#b0a9ab;margin:10px 0 0;font-size:12px}.result-headline{text-align:center;margin-bottom:4px}.result-headline-count{justify-content:center;align-items:baseline;gap:8px;margin:0;display:flex}.result-headline-num{color:var(--fp-party-pink);font-size:60px;font-weight:900;line-height:1}.result-headline-label{font-size:19px;font-weight:700}.result-headline-sub{color:#6d6769;margin:6px 0 0;font-size:14px;line-height:1.7}.summary-box{background:var(--fp-pink-10);border-radius:12px;margin:14px 0 20px;padding:14px 18px;font-size:15px}.summary-box p{margin:0}.summary-box p+p{margin-top:4px}.summary-list{margin:6px 0 0;padding-left:1.4em;font-weight:700;list-style:outside}.summary-list li{margin-top:2px}.summary-list+p{margin-top:10px}.cta-panel{background:var(--fp-party-pink);color:var(--fp-white);border-radius:16px;margin-top:26px;padding:24px}.cta-panel h3{margin-bottom:8px;font-size:20px;font-weight:900}.cta-panel p{overflow-wrap:anywhere;margin:0;font-size:15px}.hero-band{background:var(--fp-party-pink);color:var(--fp-white);text-align:center;margin:0 -20px;padding:40px 24px 46px;position:relative}.hero-band .hero-tag{opacity:.92;font-size:14px;font-weight:700}.hero-band h1{font-size:clamp(30px, calc(8.5vw / var(--page-zoom,1)), 40px);letter-spacing:.02em;margin-top:10px;font-weight:900}.sticker{z-index:1;background:var(--fp-yellow-soft);color:var(--fp-party-pink);border-radius:14px 14px 14px 4px;padding:8px 13px;font-weight:900;line-height:1.3;position:absolute}.hero-sub{color:#6d6769;text-align:center;max-width:40ch;margin:22px auto 0;font-size:16px}.hero-list{text-align:left;margin:24px 0 0;padding:8px 22px}.hero-row{align-items:flex-start;gap:16px;padding:15px 0;display:flex}.hero-row+.hero-row{border-top:1px solid #f1ece9}.hero-row-num{color:var(--fp-party-pink);flex:none;min-width:26px;font-size:34px;font-style:italic;font-weight:900;line-height:1.1}.hero-row strong{font-size:16px;font-weight:900;display:block}.hero-row p{color:#6d6769;margin:3px 0 0;font-size:14px}.hero-privacy{color:#8a8486;text-align:center;margin:14px 0 24px;font-size:13px}.site-footer{flex-direction:column;gap:7px;max-width:560px;margin:0 auto;padding:4px 20px 40px;display:flex}.site-footer p{color:#a8a1a3;text-align:justify;margin:0;font-size:11px;line-height:1.75}.site-footer .site-footer-privacy{color:#8a8486;text-align:center;padding-bottom:6px;font-size:14px;font-weight:700}.page-title{margin-bottom:4px;font-size:24px;font-weight:900}.page-desc{color:#8a8486;margin:0 0 18px;font-size:14px}.form-actions{gap:10px;margin-top:24px;display:grid}.form-actions.split .btn-primary{order:1}.form-actions.split .btn-secondary{order:2}@media (width>=480px){.form-actions.split{grid-template-columns:1fr 1.6fr}.form-actions.split .btn-primary,.form-actions.split .btn-secondary{order:initial}}@media print{body{background:#fff}.no-print,.step-tabs,.btn,.site-header,.ov-list{display:none!important}.print-only{display:block}.card,.result-card{break-inside:avoid;border:1px solid #ddd}}.pdf-stage{box-sizing:border-box;background:#fff;width:794px;padding:28px 32px;position:fixed;top:0;left:-20000px}.pdf-stage .no-print,.pdf-stage .site-menu{display:none!important}.pdf-stage .site-header{border-bottom:1px solid #eee7e3;margin-bottom:18px;position:static}.pdf-stage .site-header-inner{max-width:none;padding:0 0 14px}.pdf-stage .card,.pdf-stage .result-card{border:1px solid #ddd;margin-bottom:12px}.pdf-stage .site-footer{padding-bottom:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:.001ms!important}}
