:root{--ink:#203c34;--muted:#728078;--green:#264c3e;--paper:#f7f8f2;--line:#dfe4d9;--lime:#d9ef9d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #8cad58;outline-offset:4px}header{max-width:1320px;margin:auto;padding:28px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:650;font-size:19px}.brandmark{font-size:44px;line-height:1}.brand small{display:block;font-size:8px;letter-spacing:2.8px;margin-top:3px}.edition{font-size:10px;letter-spacing:1.8px;color:var(--muted)}.edition b{padding:7px 9px;background:#e9eddf;margin-left:12px}.textbutton{border:0;background:none;color:var(--ink);font-size:12px;padding:8px}.home{max-width:1224px;margin:0 auto;padding:70px 30px 35px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;color:#6f8566;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#709c57}h1{font-size:clamp(38px,4.6vw,64px);font-weight:500;line-height:1.25;letter-spacing:-2px;margin:24px 0}h1 em{font-family:Georgia,'Songti SC',serif;font-style:normal;color:#648550;position:relative}h1 em:after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:5px;border-top:1px solid #8aa268;border-radius:50%}.intro{color:var(--muted);font-size:14px;line-height:2;max-width:470px;margin:25px 0}.primary{background:var(--green);color:white;border:0;border-radius:7px;padding:17px 26px;font-size:14px;display:inline-flex;gap:42px;align-items:center;justify-content:center}.primary:hover{background:#36634e}.startnote{font-size:11px;color:var(--muted);margin:15px 0}.stats{display:flex;gap:36px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line);max-width:440px}.stats strong{font:30px Georgia;display:block}.stats small{font-size:11px;color:var(--muted);display:block;margin-top:6px}.visual{height:475px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.orbital{width:410px;height:410px;border-radius:50%;position:relative;background:radial-gradient(circle,#e1ead2 0,transparent 68%)}.orbit{position:absolute;border:1px solid #cfdac2;border-radius:50%;inset:25px}.orbit.o2{inset:70px;border-style:dashed}.orbit.o3{inset:120px}.cross{position:absolute;top:50%;width:100%;border-top:1px solid #d5ddcd;transform:rotate(-30deg)}.cross.c2{transform:rotate(30deg)}.cross.c3{transform:rotate(90deg)}.flower{position:absolute;inset:135px;transform:rotate(-15deg)}.petal{position:absolute;width:72px;height:116px;left:35px;top:-45px;background:#658356;border-radius:70% 70% 48% 48%;transform-origin:50% 100%;mix-blend-mode:multiply;opacity:.62}.center{position:absolute;inset:46px;background:#e9efba;border-radius:50%;box-shadow:0 0 30px #c8d89c}.node{position:absolute;font-size:11px;background:#fbfcf7;border:1px solid #d9e1cf;padding:10px 15px;border-radius:30px;display:flex;gap:8px;align-items:center;box-shadow:0 5px 18px #24482a05;white-space:nowrap}.node i{width:7px;height:7px;background:var(--c);border-radius:50%}.visualcaption{position:absolute;bottom:0;font-size:9px;letter-spacing:2px;color:#94a08e}.sectionline{display:flex;align-items:center;justify-content:space-between;margin:55px 0 22px;font-size:13px}.sectionline span{font-size:10px;letter-spacing:1px;color:var(--muted)}.families{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.family{padding:20px 15px;border:1px solid var(--line);border-radius:8px;background:#ffffff45}.glyph{font-size:27px;color:var(--c);margin-bottom:17px}.family b{display:block;font-size:13px;font-weight:500}.family small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.bottomnote{text-align:center;font-size:11px;color:#8a9385;margin:26px 0 0}footer{max-width:1224px;margin:25px auto 0;border-top:1px solid var(--line);padding:22px 30px;display:flex;justify-content:space-between;gap:18px;color:#8a9385;font-size:10px}footer span:last-child{font-size:8px;letter-spacing:1px}.quiz{max-width:1000px;margin:48px auto 70px;padding:0 30px}.quiztop{display:flex;justify-content:space-between;align-items:center;font-size:12px}.progress{height:4px;background:#e2e7d9;margin:18px 0 36px;border-radius:5px}.progress i{display:block;height:100%;background:#78925d;transition:width .3s}.quizlayout{display:grid;grid-template-columns:210px 1fr;gap:50px}.rounds{padding-top:12px}.rounditem{padding:15px 0;color:#9aA394;font-size:12px;display:flex;gap:12px}.rounditem.active{color:var(--ink);font-weight:600}.rounditem small{display:block;font-size:10px;font-weight:400;margin-top:5px}.roundnum{font:18px Georgia;color:#96aa80}.tip{font-size:11px;line-height:1.9;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.questionbox{background:#fffef9;border:1px solid var(--line);padding:35px;border-radius:14px;box-shadow:0 10px 40px #314a2904}.questionbox h2{font-size:24px;font-weight:500;line-height:1.6;min-height:76px;margin:20px 0 26px}.options{display:grid;gap:12px}.option{width:100%;background:white;border:1px solid var(--line);border-radius:8px;text-align:left;padding:18px;display:flex;align-items:center;gap:15px;color:var(--ink);font-size:14px;line-height:1.6}.option:hover{background:#f5f7ed;border-color:#9cae89}.option.selected{background:#edf3df;border-color:#76945b}.optionkey{font:13px Georgia;background:#f1f3eb;border-radius:5px;width:30px;min-width:30px;height:30px;display:grid;place-items:center;color:#86917c}.selected .optionkey{background:var(--green);color:white}.option .check{margin-left:auto;color:#668d49}.quiznav{display:flex;justify-content:space-between;margin-top:27px;gap:15px}.quiznav .primary{padding:14px 22px}.saved{font-size:10px;color:var(--muted);margin-top:18px;text-align:center}.results{max-width:1060px;margin:48px auto;padding:0 30px}.resulthead{text-align:center;margin-bottom:30px}.resulthead h1{font-size:40px;margin:15px}.resulthead p{font-size:13px;color:var(--muted);line-height:1.9}.resultbanner{background:var(--green);color:#f4f7e9;border-radius:14px;padding:32px;display:flex;gap:30px;justify-content:space-between;align-items:center}.resultbanner h2{font-weight:500;font-size:29px;margin:13px 0}.resultbanner p{font-size:12px;line-height:1.9;max-width:600px;color:#d5e2c6}.resultbanner .glyph{font-size:75px;color:#d3e7a3;margin:0}.pill{font-size:10px;background:#ffffff1a;border:1px solid #ffffff30;border-radius:20px;padding:7px 12px;display:inline-block}.notebox{padding:16px 20px;background:#ecefdf;border-radius:8px;font-size:12px;line-height:1.9;margin:18px 0 30px}.resultgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:#fffef9;padding:26px;border:1px solid var(--line);border-radius:12px}.panel h3{font-size:16px;font-weight:500;margin:0 0 22px}.barrow{display:grid;grid-template-columns:76px 1fr 34px;gap:12px;align-items:center;font-size:12px;margin:16px 0}.bar{height:6px;background:#e8ecdf;border-radius:8px;overflow:hidden}.bar i{height:100%;display:block;background:var(--c,#8aab63);border-radius:8px}.barrow small{text-align:right;font-size:11px;color:var(--muted)}.panelnote{font-size:10px;color:var(--muted);line-height:1.8}.detailcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.detailcard{padding:24px;border:1px solid var(--line);border-radius:10px;background:#fffef9}.detailcard h3{font-weight:500;font-size:18px;margin:18px 0 12px}.detailcard p{font-size:12px;line-height:1.9;color:var(--muted)}.detailcard h4{font-size:11px;font-weight:500;margin-bottom:0}.detailcard .tag{font-size:10px;color:#729052}.allgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}details summary{cursor:pointer;font-size:13px}details .allgrid{margin-top:25px}.resultactions{display:flex;justify-content:center;gap:20px;margin:32px 0}.secondary{padding:14px 22px;background:transparent;border:1px solid #a8b39b;border-radius:7px;color:var(--ink)}dialog{border:1px solid var(--line);border-radius:15px;background:var(--paper);max-width:550px;width:90%;padding:40px;color:var(--ink)}dialog::backdrop{background:#203c3466;backdrop-filter:blur(4px)}dialog h2{font-size:24px;font-weight:500}dialog p{font-size:13px;line-height:1.9;color:var(--muted)}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:27px;color:var(--muted)}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 20px;border-radius:8px;font-size:12px;display:none}.resetbox{display:flex;gap:10px;margin-top:25px}@media(max-width:760px){header{padding:20px 22px}.edition{display:none}.home{padding:40px 22px 20px}.hero{grid-template-columns:1fr;gap:10px}h1{font-size:43px}.intro{font-size:13px}.visual{height:345px;order:2}.orbital{transform:scale(.8)}.stats{gap:40px}.families{grid-template-columns:repeat(3,1fr)}.family{padding:16px 12px}.sectionline{margin-top:30px}.sectionline span{font-size:8px}.bottomnote{line-height:1.8}footer{padding:20px 22px;flex-direction:column;margin-top:25px}.quiz{margin:28px auto;padding:0 18px}.quizlayout{grid-template-columns:1fr;gap:5px}.rounds{display:flex;justify-content:space-between;padding:0}.rounditem{font-size:10px;gap:4px;padding:0 0 20px}.roundnum{font-size:13px}.rounditem small,.tip{display:none}.questionbox{padding:24px 18px}.questionbox h2{font-size:21px;min-height:95px}.option{padding:15px 12px;font-size:13px;min-height:76px}.progress{margin-bottom:24px}.results{padding:0 18px;margin-top:30px}.resulthead h1{font-size:30px}.resultgrid,.detailcards{grid-template-columns:1fr}.resultbanner{padding:25px;gap:10px}.resultbanner .glyph{font-size:40px}.resultbanner h2{font-size:24px}.allgrid{grid-template-columns:1fr}.resultactions{gap:10px}.resultactions button{font-size:12px;padding:14px}.primary{gap:25px}.panel{padding:22px}}@media print{header,footer,.resultactions,#about,dialog{display:none}.results{margin:0;max-width:none}.resultbanner{color:#203c34;background:#edf2e2}.resultbanner p{color:#203c34}.panel,.detailcard{break-inside:avoid}.detailcards{grid-template-columns:repeat(3,1fr)}details{display:none}body{background:white}}

/* Mobile experience: comfortable reading and controls within thumb reach. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:110px}button,a{touch-action:manipulation}.mobile-round{display:none}.optiontext{flex:1;min-width:0}.option .check{flex:0 0 18px}.option{position:relative}.option.selected{box-shadow:inset 0 0 0 1px #76945b}
@media screen and (max-width:760px){
 body{min-width:0;overflow-wrap:break-word}header{padding:calc(12px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) 12px max(18px,env(safe-area-inset-left,0px));min-height:64px}.brand{font-size:17px;gap:8px}.brandmark{font-size:36px}.brand small{font-size:7px;letter-spacing:2.1px}header .textbutton{min-height:44px;padding:10px 4px;font-size:13px}
 .home{padding:28px max(20px,env(safe-area-inset-right,0px)) 20px max(20px,env(safe-area-inset-left,0px))}.hero{display:flex;flex-direction:column;gap:0;align-items:stretch}.hero>div:first-child{min-width:0}.eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:clamp(30px,8.3vw,44px);letter-spacing:-1px;line-height:1.38;margin:20px 0}.intro{font-size:15px;line-height:1.9;margin:22px 0}.home #start{width:100%;min-height:56px;border-radius:12px;justify-content:space-between;padding:16px 20px;font-size:16px}.startnote{text-align:center;font-size:12px;line-height:1.7;margin:12px 0}.stats{max-width:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center;margin-top:24px;padding-top:22px}.stats strong{font-size:28px}.stats small{font-size:12px;font-weight:400;line-height:1.5}.visual{height:280px;margin-top:12px}.orbital{flex:0 0 410px;width:410px;height:410px;transform:scale(.66)}.visualcaption{font-size:8px;letter-spacing:1px;bottom:4px}.sectionline{font-size:15px;line-height:1.6;gap:12px;margin:26px 0 16px;align-items:flex-start}.sectionline span{display:none}.families{gap:8px}.family{padding:16px 10px;border-radius:12px}.family .glyph{font-size:24px;margin-bottom:12px}.family b{font-size:14px}.family small{font-size:11px;line-height:1.6}.bottomnote{font-size:12px;text-align:left;line-height:1.85;margin-top:22px}footer{font-size:11px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));line-height:1.8}
 body[data-view=quiz] footer{display:none}.quiz{margin:0 auto;padding:8px max(16px,env(safe-area-inset-right,0px)) calc(112px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));max-width:560px}.quiztop{min-height:44px;font-size:12px;gap:12px}.quiztop .textbutton{min-height:44px;font-size:13px;padding:10px 0}.progress{height:5px;margin:4px 0 18px}.quizlayout{gap:0;display:block}.rounds,.tip{display:none}.mobile-round{display:block;margin:0 2px 18px}.mobile-round>span{display:block;font-size:14px;font-weight:600;line-height:1.6}.mobile-round small{display:block;font-size:12px;line-height:1.75;color:var(--muted);margin-top:5px}.questionbox{border:0;box-shadow:none;background:transparent;border-radius:0;padding:0}.questionbox>.eyebrow{font-size:10px;color:#7d8c6d;letter-spacing:1.5px}.questionbox h2{font-size:clamp(21px,5.5vw,25px);line-height:1.55;font-weight:600;min-height:0;margin:13px 0 22px;outline:0}.options{gap:12px}.option{min-height:72px;font-size:16px;line-height:1.65;padding:16px 15px;gap:12px;border-radius:13px;background:#fffefb;align-items:center;padding-right:40px}.optionkey{width:28px;min-width:28px;height:28px;font-size:13px;border-radius:50%}.option .check{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px}.option:hover:not(.selected){background:#fffefb;border-color:var(--line)}.option:active{background:#eff3e5;transform:scale(.995)}.quiznav{position:fixed;z-index:15;bottom:0;left:0;right:0;margin:0;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));gap:12px;display:grid;grid-template-columns:minmax(88px,1fr) minmax(0,2fr);border-top:1px solid var(--line);background:#f7f8f2f5;backdrop-filter:blur(18px);box-shadow:0 -6px 24px #203c3406}.quiznav button{min-height:54px;border-radius:12px;font-size:15px}.quiznav .textbutton{border:1px solid var(--line);background:#fffef9}.quiznav .primary{font-size:16px;padding:15px;gap:18px}.quiznav .primary:disabled{opacity:1;background:#dde3d5;color:#87917f}.saved{font-size:11px;line-height:1.8;margin:16px 4px 0;text-align:center}#toast{bottom:calc(96px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);width:max-content;font-size:13px;line-height:1.7}
 .results{padding:0 max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));margin-top:24px}.resulthead{margin-bottom:22px}.resulthead h1{font-size:29px;letter-spacing:-.8px;margin:16px 0}.resulthead p{font-size:14px;line-height:1.85}.resultbanner{padding:24px 20px;align-items:flex-start;gap:8px}.resultbanner>div:first-child{min-width:0}.resultbanner h2{font-size:23px;line-height:1.5}.resultbanner p{font-size:14px}.resultbanner .glyph{font-size:30px;padding-top:8px;flex-shrink:0}.pill{font-size:12px}.notebox{padding:16px;font-size:13px;line-height:1.9;margin-bottom:22px}.resultgrid{gap:16px}.panel{padding:22px 18px;border-radius:14px;min-width:0}.panel h3{font-size:17px}.barrow{grid-template-columns:84px minmax(0,1fr) 32px;gap:10px;font-size:14px;margin:20px 0}.barrow small{font-size:13px}.bar{height:8px}.panelnote{font-size:12px;line-height:1.85}.detailcards{gap:14px;margin:16px 0}.detailcard{padding:24px 20px;border-radius:14px}.detailcard h3{font-size:22px}.detailcard p{font-size:15px;line-height:1.9}.detailcard h4{font-size:14px;margin-top:22px}.detailcard .tag{font-size:12px}.allgrid{gap:0}details summary{font-size:15px;min-height:44px;line-height:1.8;display:flex;align-items:center;gap:10px}details summary:before{content:'＋';font-size:19px}details[open] summary:before{content:'−'}.resultactions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.resultactions #download{grid-column:1/-1}.resultactions button{min-height:52px;border-radius:12px;font-size:15px}.resultactions #restart{border:1px solid var(--line)}dialog{max-height:85dvh;overflow:auto;padding:32px 22px 24px;border-radius:18px}dialog p{font-size:15px;line-height:1.85}dialog h2{font-size:23px;line-height:1.5}.close{min-width:44px;min-height:44px;right:8px;top:5px}.resetbox{flex-direction:column}.resetbox button{min-height:52px;font-size:15px}
}
@media screen and (max-width:350px){.home{padding-left:16px;padding-right:16px}.intro{font-size:14px}.visual{height:250px}.orbital{transform:scale(.59)}.family{padding:14px 8px}.quiz{padding-left:14px;padding-right:14px}.option{font-size:15px;padding-left:12px;gap:10px;min-height:68px}.questionbox h2{font-size:21px}.mobile-round small{font-size:11px}.resultbanner .glyph{display:none}.barrow{grid-template-columns:80px minmax(0,1fr) 30px}}
@media screen and (max-width:760px) and (orientation:landscape) and (max-height:520px){.quiznav{position:static;padding:14px 0 0;background:transparent;border:0;box-shadow:none;backdrop-filter:none}.quiz{padding-bottom:24px}.options{grid-template-columns:1fr 1fr}.mobile-round{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
