.ipq-root { --ipq-ink:#2f3e3a; --ipq-muted:#71807a; --ipq-cream:#fbf7ef; --ipq-paper:#fffdf8; --ipq-sage:#dce8df; --ipq-peach:#f4d9cb; --ipq-coral:#c86f58; --ipq-forest:#49655c; --ipq-line:rgba(62,83,76,.14); --ipq-shadow:0 22px 65px rgba(66,82,75,.11); display:block; width:100%; color:var(--ipq-ink); font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif; line-height:1.5; }
.ipq-root, .ipq-root * { box-sizing:border-box; }
.ipq-root button, .ipq-root a { font:inherit; }
.ipq-root button { color:inherit; }
.ipq-root button { -webkit-appearance:none!important; appearance:none!important; text-transform:none!important; }
.ipq-root h1, .ipq-root h2, .ipq-root h3, .ipq-root p, .ipq-root blockquote { padding:0; border:0; }
.ipq-loading { min-height:220px; display:grid; place-items:center; background:var(--ipq-cream); color:var(--ipq-muted); }
.ipq-page { width:100%; overflow:hidden; background:var(--ipq-cream); }
.ipq-nav { width:min(1160px,calc(100% - 48px)); height:82px; margin:auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--ipq-line); }
.ipq-root button.ipq-brand { display:flex; align-items:center; gap:12px; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; color:var(--ipq-ink)!important; box-shadow:none!important; cursor:pointer; }
.ipq-root button.ipq-brand:hover,.ipq-root button.ipq-brand:focus { background:transparent!important; color:var(--ipq-ink)!important; box-shadow:none!important; }
.ipq-root button.ipq-brand > span { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--ipq-forest)!important; color:#fff!important; font-family:serif; box-shadow:0 8px 20px rgba(73,101,92,.2); }
.ipq-root button.ipq-brand strong { color:var(--ipq-ink)!important; font-size:15px; letter-spacing:.06em; }
.ipq-nav > small { color:var(--ipq-muted); font-size:12px; }
.ipq-kicker { display:block; color:var(--ipq-coral); font-size:11px; font-weight:800; letter-spacing:.18em; }
.ipq-root .ipq-primary { min-height:58px; padding:0 24px!important; display:inline-flex; align-items:center; justify-content:space-between; gap:34px; border:0!important; border-radius:16px!important; background:var(--ipq-coral)!important; color:#fff!important; font-weight:800; text-decoration:none!important; cursor:pointer; box-shadow:0 12px 28px rgba(200,111,88,.22)!important; transition:.2s ease; }
.ipq-root .ipq-primary:hover,.ipq-root .ipq-primary:focus,.ipq-root .ipq-primary:visited { color:#fff!important; text-decoration:none!important; }
.ipq-root .ipq-primary:hover,.ipq-root .ipq-primary:focus { transform:translateY(-3px); background:#b85c45!important; box-shadow:0 15px 32px rgba(184,92,69,.26)!important; }
.ipq-home { min-height:100vh; background:linear-gradient(135deg,#fcf7ed,#f8f3e9 48%,#e8efeb); }
.ipq-hero { width:min(1160px,calc(100% - 48px)); min-height:calc(100vh - 82px); margin:auto; padding:60px 0; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(48px,7vw,100px); position:relative; }
.ipq-hero:before,.ipq-hero:after { content:""; position:absolute; border-radius:50%; pointer-events:none; }
.ipq-hero:before { width:360px; height:360px; left:-220px; bottom:-130px; background:rgba(244,217,203,.72); }
.ipq-hero:after { width:280px; height:280px; right:-95px; top:30px; background:rgba(214,231,221,.72); }
.ipq-hero-copy { position:relative; z-index:2; }
.ipq-hero-copy h1 { margin:24px 0 30px!important; color:var(--ipq-ink)!important; font:500 clamp(54px,6.3vw,88px)/1.08 Georgia,"Noto Serif TC",serif!important; letter-spacing:-.055em!important; text-transform:none!important; }
.ipq-hero-copy h1 em { color:var(--ipq-coral); font-style:normal; }
.ipq-hero-copy > p { max-width:610px; margin:0; color:#67746f; font-size:16px; line-height:1.95; }
.ipq-hero-actions { margin-top:36px; display:flex; align-items:center; gap:22px; }
.ipq-hero-actions .ipq-primary { min-width:225px; }
.ipq-hero-actions > small { color:var(--ipq-muted); }
.ipq-invite { max-width:560px; margin-top:26px; padding:16px 18px; display:flex; align-items:center; gap:13px; border-radius:18px; background:rgba(255,255,255,.65); color:var(--ipq-muted); font-size:12px; }
.ipq-invite > span { width:40px; height:40px; display:grid; place-items:center; flex:none; border-radius:50%; background:var(--ipq-peach); color:var(--ipq-coral); font-size:23px; }
.ipq-persona-list { min-height:560px; padding:24px; position:relative; z-index:2; border:1px solid rgba(255,255,255,.8); border-radius:36px; background:rgba(255,253,248,.8); box-shadow:var(--ipq-shadow); }
.ipq-persona-list > header { height:60px; padding:0 10px 12px; display:flex; align-items:center; justify-content:space-between; color:#87928d; font-size:10px; letter-spacing:.14em; }
.ipq-persona-list > header strong { color:var(--ipq-coral); font:500 32px Georgia,serif; }
.ipq-persona-row { min-height:78px; margin:8px 0; padding:0 17px; display:grid; grid-template-columns:34px 48px 1fr 28px; align-items:center; gap:13px; border-radius:19px; background:color-mix(in srgb,var(--ipq-persona) 8%,white); transition:.2s ease; }
.ipq-persona-row:hover { transform:translateX(-5px); background:color-mix(in srgb,var(--ipq-persona) 14%,white); }
.ipq-persona-row > small { color:#a1aaa6; font-family:Georgia,serif; }
.ipq-persona-row > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--ipq-persona) 15%,white); color:var(--ipq-persona); font-size:24px; }
.ipq-persona-row > div { display:flex; flex-direction:column; }
.ipq-persona-row > div strong { font-size:15px; }
.ipq-persona-row > div em { color:#949d99; font-size:8px; font-style:normal; letter-spacing:.14em; }
.ipq-persona-row > b { color:var(--ipq-persona); }
.ipq-persona-list > footer { min-height:38px; padding:10px 8px 0; display:flex; justify-content:space-between; color:#87928d; font-size:8px; letter-spacing:.14em; }

.ipq-quiz { min-height:100vh; background:radial-gradient(circle at 90% 5%,rgba(231,239,242,.9),transparent 33%),var(--ipq-cream); }
.ipq-quiz-shell { width:min(1000px,calc(100% - 48px)); margin:auto; padding:52px 0 90px; }
.ipq-progress { margin-bottom:52px; }
.ipq-progress > div { margin-bottom:11px; display:flex; justify-content:space-between; color:var(--ipq-muted); font-size:11px; letter-spacing:.14em; }
.ipq-progress > i,.ipq-score-row > i,.ipq-community-row > i { height:7px; display:block; overflow:hidden; border-radius:99px; background:rgba(73,101,92,.1); }
.ipq-progress > i b { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,#90ac9d,var(--ipq-coral)); transition:width .3s ease; }
.ipq-progress > p { margin:12px 0 0; color:var(--ipq-muted); font-size:12px; }
.ipq-question { animation:ipq-enter .3s ease both; }
@keyframes ipq-enter { from { opacity:0; transform:translateY(10px); } }
.ipq-question h2 { max-width:900px; margin:18px 0 12px!important; color:var(--ipq-ink)!important; font:500 clamp(36px,4.7vw,58px)/1.3 Georgia,"Noto Serif TC",serif!important; letter-spacing:-.045em!important; }
.ipq-question > p { margin:0 0 30px; color:var(--ipq-muted); }
.ipq-answers { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ipq-answers button { min-height:100px; padding:18px 22px; display:grid; grid-template-columns:46px 1fr 26px; align-items:center; gap:15px; border:1px solid rgba(73,101,92,.12); border-radius:20px; background:rgba(255,255,255,.8); text-align:left; cursor:pointer; box-shadow:0 8px 24px rgba(64,83,75,.055); transition:.2s ease; }
.ipq-answers button:hover { transform:translateY(-4px); border-color:rgba(200,111,88,.55); background:#fffaf5; }
.ipq-answers button > span { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--ipq-peach); color:var(--ipq-coral); }
.ipq-answers button > strong { font-weight:600; }
.ipq-answers button > b { color:var(--ipq-coral); opacity:0; transition:.2s ease; }
.ipq-answers button:hover > b { opacity:1; }
.ipq-back { margin-top:24px; padding:10px 0; border:0; background:none; color:var(--ipq-muted); cursor:pointer; }

.ipq-result { background:linear-gradient(180deg,#fbf7ef,#f5f7f3 46%,#fbf7ef); }
.ipq-result-hero { width:min(1160px,calc(100% - 48px)); margin:auto; padding:48px 0 82px; display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; }
.ipq-result-card,.ipq-result-intro { min-height:625px; padding:32px 38px; border-radius:34px; box-shadow:var(--ipq-shadow); }
.ipq-result-card { overflow:hidden; position:relative; display:flex; flex-direction:column; align-items:flex-start; border:1px solid color-mix(in srgb,var(--ipq-persona) 28%,white); background:color-mix(in srgb,var(--ipq-persona) 10%,#fffaf2); }
.ipq-result-card:after { content:""; width:330px; height:330px; position:absolute; right:-145px; top:82px; border-radius:50%; background:color-mix(in srgb,var(--ipq-persona) 15%,transparent); }
.ipq-result-card > header { width:100%; display:flex; justify-content:space-between; color:var(--ipq-persona); font-size:9px; letter-spacing:.15em; }
.ipq-result-icon { width:104px; height:104px; margin-top:48px; display:grid; place-items:center; z-index:1; border-radius:50%; background:var(--ipq-persona); color:#fff; font-size:58px; }
.ipq-result-card > small { margin-top:27px; color:var(--ipq-muted); letter-spacing:.1em; }
.ipq-result-card h1 { margin:4px 0 0!important; color:var(--ipq-ink)!important; font:600 52px Georgia,"Noto Serif TC",serif!important; letter-spacing:-.05em!important; }
.ipq-result-card > em { margin:5px 0 22px; color:var(--ipq-persona); font-size:10px; font-style:normal; font-weight:800; letter-spacing:.18em; }
.ipq-result-card blockquote { margin:0 0 16px; color:#46534e; font:500 20px/1.7 Georgia,serif; }
.ipq-result-card > p { max-width:385px; z-index:1; margin:0; color:#69756f; font-size:13px; line-height:1.9; }
.ipq-result-card > footer { width:100%; margin-top:auto; padding-top:19px; border-top:1px solid var(--ipq-line); color:#8b9691; font-size:10px; letter-spacing:.13em; }
.ipq-result-intro { display:flex; flex-direction:column; justify-content:center; background:rgba(255,255,255,.88); }
.ipq-result-intro h2,.ipq-deep > header h2 { margin:18px 0!important; color:var(--ipq-ink)!important; font:500 clamp(34px,4vw,50px)/1.35 Georgia,"Noto Serif TC",serif!important; letter-spacing:-.045em!important; }
.ipq-result-intro > p { margin:0; color:var(--ipq-muted); line-height:1.9; }
.ipq-insights { margin:27px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ipq-insights > div { padding:19px; border-radius:18px; background:#faf6ee; }
.ipq-insights span { color:var(--ipq-persona); font-size:11px; font-weight:800; }
.ipq-insights p { margin:8px 0 0; font-size:13px; line-height:1.7; }
.ipq-code { margin-bottom:19px; padding:17px 19px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-radius:19px; background:color-mix(in srgb,var(--ipq-persona) 11%,#fff7ef); }
.ipq-code small { display:block; color:var(--ipq-persona); font-weight:800; }
.ipq-code strong { display:block; margin:4px 0; color:var(--ipq-persona); font:600 27px Georgia,serif; }
.ipq-code p { margin:0; color:var(--ipq-muted); font-size:11px; }
.ipq-root .ipq-code button,.ipq-root .ipq-share-main > button:not(.ipq-primary),.ipq-root .ipq-share-channels button,.ipq-root .ipq-reflection button,.ipq-root .ipq-contact button { min-height:42px; padding:0 15px!important; border:1px solid var(--ipq-line)!important; border-radius:13px!important; background:#fffdf8!important; color:var(--ipq-ink)!important; box-shadow:none!important; cursor:pointer; }
.ipq-root .ipq-code button:hover,.ipq-root .ipq-share-main > button:not(.ipq-primary):hover,.ipq-root .ipq-share-channels button:hover,.ipq-root .ipq-reflection button:hover,.ipq-root .ipq-contact button:hover { border-color:rgba(200,111,88,.5)!important; background:#fff7ef!important; color:#b85c45!important; }
.ipq-share-main,.ipq-share-channels { display:flex; flex-wrap:wrap; gap:9px; }
.ipq-share-channels { margin-top:10px; }
.ipq-share-channels button { min-height:37px; border-radius:99px; font-size:12px; }
.ipq-deep { width:min(1160px,calc(100% - 48px)); margin:auto; padding:95px 0; }
.ipq-deep > header { margin-bottom:50px; display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:end; }
.ipq-deep > header p { margin:0; color:var(--ipq-muted); line-height:2; }
.ipq-score-panel,.ipq-community { padding:36px; display:grid; grid-template-columns:.36fr .64fr; gap:50px; border-radius:28px; background:rgba(255,255,255,.83); box-shadow:0 15px 45px rgba(67,84,76,.08); }
.ipq-score-main { padding-right:40px; border-right:1px solid var(--ipq-line); }
.ipq-score-main > strong { display:block; color:var(--ipq-persona); font:600 68px Georgia,serif; line-height:1; }
.ipq-score-main > span { display:block; margin:8px 0 15px; color:var(--ipq-persona); font-size:11px; font-weight:800; }
.ipq-score-main p,.ipq-community p { margin:0; color:var(--ipq-muted); font-size:12px; line-height:1.8; }
.ipq-score-row,.ipq-community-row { margin-bottom:14px; }
.ipq-score-row > div,.ipq-community-row > div { display:flex; justify-content:space-between; margin-bottom:6px; font-size:12px; }
.ipq-score-row > i b,.ipq-community-row > i b { height:100%; display:block; border-radius:inherit; }
.ipq-community { margin-top:25px; grid-template-columns:.8fr 1.2fr; background:linear-gradient(135deg,#edf4ef,#f9f3e9); }
.ipq-community h2 { margin:14px 0 10px!important; color:var(--ipq-ink)!important; font:500 35px/1.35 Georgia,serif!important; }
.ipq-community-row em { padding:3px 8px; border-radius:99px; background:color-mix(in srgb,var(--ipq-persona) 14%,white); color:var(--ipq-persona); font-size:9px; font-style:normal; }
.ipq-profile-grid { margin-top:25px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ipq-profile-grid article { min-height:330px; padding:29px 27px; display:flex; flex-direction:column; border-radius:26px; background:rgba(255,255,255,.76); box-shadow:0 12px 34px rgba(66,82,75,.07); }
.ipq-profile-grid article > span { color:var(--ipq-persona); font-size:11px; font-weight:800; }
.ipq-profile-grid h3 { margin:auto 0 14px!important; color:var(--ipq-ink)!important; font:500 26px/1.5 Georgia,serif!important; }
.ipq-profile-grid p { margin:0; color:var(--ipq-muted); font-size:14px; line-height:1.9; }
.ipq-steps { padding:85px 0; display:grid; grid-template-columns:.9fr 1.1fr; gap:65px; }
.ipq-steps h2 { margin:17px 0 0!important; color:var(--ipq-ink)!important; font:500 39px/1.5 Georgia,serif!important; }
.ipq-steps ol { margin:0; padding:0; list-style:none; }
.ipq-steps li { min-height:85px; margin-bottom:9px; padding:0 20px; display:grid; grid-template-columns:52px 1fr; align-items:center; border-radius:18px; background:rgba(255,255,255,.7); }
.ipq-steps li span { color:var(--ipq-persona); font:20px Georgia,serif; }
.ipq-reflection { padding:64px max(24px,8vw); border-radius:32px; background:linear-gradient(135deg,var(--ipq-sage),#f5e8dc); text-align:center; }
.ipq-reflection h2 { margin:22px auto!important; color:var(--ipq-ink)!important; font:500 clamp(29px,4vw,45px)/1.55 Georgia,serif!important; }
.ipq-contact { max-width:760px; margin:auto; padding:105px 24px 65px; text-align:center; }
.ipq-contact h2 { margin:18px 0!important; color:var(--ipq-ink)!important; font:500 44px/1.4 Georgia,serif!important; }
.ipq-contact > p { color:var(--ipq-muted); line-height:1.9; }
.ipq-contact > div { margin-top:28px; display:flex; justify-content:center; align-items:center; gap:24px; }
.ipq-contact aside { margin:32px auto 0; padding:17px 20px; display:flex; justify-content:space-between; gap:18px; border-radius:18px; background:rgba(255,255,255,.75); color:var(--ipq-muted); font-size:13px; }
.ipq-contact aside a { color:var(--ipq-coral); font-weight:800; text-decoration:none; }
.ipq-contact > small { display:block; margin-top:48px; color:var(--ipq-muted); }

@media (max-width:900px) {
  .ipq-hero,.ipq-result-hero { grid-template-columns:1fr; }
  .ipq-deep > header,.ipq-steps { grid-template-columns:1fr; gap:28px; }
  .ipq-score-panel,.ipq-community { grid-template-columns:1fr; }
  .ipq-score-main { padding:0 0 25px; border-right:0; border-bottom:1px solid var(--ipq-line); }
  .ipq-profile-grid { grid-template-columns:1fr; }
  .ipq-profile-grid article { min-height:250px; }
}
@media (max-width:600px) {
  .ipq-nav,.ipq-hero,.ipq-result-hero,.ipq-deep,.ipq-quiz-shell { width:calc(100% - 28px); }
  .ipq-nav { height:70px; }
  .ipq-nav > small { display:none; }
  .ipq-hero { padding:35px 0; gap:34px; }
  .ipq-hero-copy h1 { font-size:48px!important; }
  .ipq-hero-actions { align-items:stretch; flex-direction:column; gap:10px; }
  .ipq-primary { width:100%; }
  .ipq-persona-list { padding:14px; border-radius:26px; }
  .ipq-persona-row { min-height:70px; padding:0 11px; grid-template-columns:28px 40px 1fr 18px; gap:9px; border-radius:15px; }
  .ipq-persona-row > span { width:36px; height:36px; }
  .ipq-answers { grid-template-columns:1fr; }
  .ipq-answers button { min-height:76px; padding:14px; border-radius:17px; }
  .ipq-question h2 { font-size:34px!important; }
  .ipq-result-card,.ipq-result-intro { min-height:570px; padding:28px 21px; border-radius:26px; }
  .ipq-result-card h1 { font-size:40px!important; }
  .ipq-insights { grid-template-columns:1fr; }
  .ipq-code { align-items:stretch; flex-direction:column; }
  .ipq-share-main { flex-direction:column; }
  .ipq-share-main > button { width:100%; }
  .ipq-score-panel,.ipq-community { padding:23px 19px; border-radius:22px; }
  .ipq-profile-grid article { min-height:235px; }
  .ipq-steps { padding:60px 0; }
  .ipq-steps h2 { font-size:33px!important; }
  .ipq-reflection { padding:46px 20px; border-radius:24px; }
  .ipq-contact h2 { font-size:35px!important; }
  .ipq-contact > div,.ipq-contact aside { align-items:stretch; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { .ipq-root * { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
