:root{--paper:#faf8f4;--ink:#344154;--muted:#718093;--line:#dde1e5;--lavender:#e5e2ef;--blue:#e3edf2;--sage:#e9eee4;--accent:#59667f;--white:#fffdfb;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9dacc6;outline-offset:4px}button{border:0;background:none}a{color:inherit}h1,h2,h3,p{margin:0}img{max-width:100%;display:block}main:focus{outline:none}.site-header{max-width:1280px;padding:28px 48px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;text-align:left;gap:12px;padding:0;font-size:21px;letter-spacing:3px}.brand-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--lavender);font-size:26px;letter-spacing:0}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);line-height:1.3}.site-header nav{display:flex;gap:24px;align-items:center;font-size:13px}.nav-pill{padding:8px 17px;background:var(--blue);border-radius:24px}.site-footer{max-width:1184px;border-top:1px solid var(--line);margin:70px auto 0;padding:24px 0 32px;display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:11px;letter-spacing:1px}.shell{max-width:1184px;margin:auto}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--muted);text-transform:uppercase}.hero{display:grid;grid-template-columns:.87fr 1.13fr;align-items:center;gap:54px;padding:38px 0 48px}.hero h1{font-family:var(--serif);font-weight:500;line-height:1.35;font-size:53px;letter-spacing:2px;margin:23px 0}.hero h1 em{font-style:normal;color:#7c82a0}.hero-copy>p.description{max-width:370px;font-size:15px;color:#657387;line-height:2}.hero-buttons{margin-top:29px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.primary,.secondary{border-radius:9px;padding:13px 24px;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:background .18s,transform .18s}.primary{background:var(--accent);color:white}.primary:hover:not(:disabled){background:#46546d;transform:translateY(-1px)}.secondary{background:var(--white);border:1px solid var(--line)}.secondary:hover:not(:disabled){background:var(--blue)}.text-button{color:var(--muted);padding:9px 3px;border-bottom:1px solid #cbd2da}.hero-meta{margin-top:20px;font-size:11px;color:var(--muted);letter-spacing:1px}.hero-art{position:relative;background:#e4e8ec;border-radius:130px 16px 16px 16px;overflow:hidden}.hero-art img{width:100%;aspect-ratio:4/3;object-fit:contain}.art-caption{display:flex;align-items:center;justify-content:space-between;padding:14px 23px;background:#edf0f3;font-size:12px}.art-caption small{color:var(--muted);font-size:10px;letter-spacing:2px}.hero-note{margin-top:15px;text-align:center;color:var(--muted);font-size:11px}.intro-strip{padding:25px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-item{display:flex;align-items:center;gap:17px}.step-icon{font-family:var(--serif);font-size:24px;color:#8e9ab0}.intro-item strong{font-size:13px;font-weight:500}.intro-item p{font-size:11px;color:var(--muted);margin-top:2px}.atlas{padding-top:64px;scroll-margin-top:24px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-heading h2{font-family:var(--serif);font-weight:500;font-size:30px;margin-top:8px;letter-spacing:2px}.section-heading>p{color:var(--muted);font-size:12px}.animal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 18px}.animal-tile{text-align:left;padding:0;display:block}.animal-tile img{aspect-ratio:4/3;object-fit:contain;width:100%;border-radius:12px;background:var(--blue);transition:transform .2s}.animal-tile:hover img{transform:translateY(-3px)}.tile-caption{padding:12px 3px 0;display:flex;justify-content:space-between;align-items:center;font-size:15px}.tile-caption small{font-size:10px;color:var(--muted);letter-spacing:1px}.tile-description{font-size:11px;color:var(--muted);padding:4px 3px 0}.about{margin-top:48px;padding:27px 30px;background:#efeee9;border-radius:13px;display:flex;gap:30px;align-items:flex-start}.about h3{font-family:var(--serif);font-size:19px;font-weight:500;min-width:112px}.about p{font-size:12px;line-height:2;color:#68778a}.form-shell{max-width:780px;margin:38px auto 0;padding:0 20px}.form-heading{text-align:center;margin-bottom:30px}.form-heading h1{font-family:var(--serif);font-size:36px;letter-spacing:2px;font-weight:500;margin:15px 0 10px}.form-heading>p:last-child{color:var(--muted);font-size:13px}.setup-card,.question-card{background:var(--white);padding:34px 40px;border:1px solid #e2e5e6;border-radius:18px}.field{margin-bottom:25px;display:block}.field-title{display:block;font-size:13px;margin-bottom:8px}.field-title small{color:var(--muted);font-weight:400;font-size:11px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fafbf9;color:var(--ink);font-size:14px}.field textarea{resize:vertical;min-height:100px}.field-hint{display:block;color:var(--muted);font-size:11px;margin-top:7px}.setup-card .primary{width:100%}.local-note{font-size:11px;color:var(--muted);text-align:center;margin-top:16px}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;color:var(--muted);font-size:12px}.progress-track{height:4px;background:#e3e7eb;border-radius:3px;margin-bottom:32px;overflow:hidden}.progress-fill{height:100%;background:#919bb9;border-radius:3px;transition:width .2s}.question-number{font-size:11px;color:var(--muted);letter-spacing:2px}.question-card h1{font-family:var(--serif);font-size:25px;font-weight:500;line-height:1.7;margin:12px 0 24px}.options{display:grid;gap:10px}.option{width:100%;text-align:left;display:flex;align-items:center;gap:16px;padding:15px 17px;border:1px solid var(--line);border-radius:10px;background:#fdfcf9;font-size:14px;line-height:1.8;transition:background .15s,border-color .15s}.option-letter{width:27px;height:27px;display:grid;place-items:center;flex:none;border:1px solid #d5dce2;border-radius:50%;font-size:11px;color:var(--muted);line-height:1}.option:hover{background:#f0f3f5}.option.selected{background:#e8ecf3;border-color:#8f9eb7}.option.selected .option-letter{background:#697993;color:white;border-color:#697993}.option.unknown{margin-top:4px;font-size:12px;color:var(--muted);background:transparent}.question-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:26px}.question-controls .primary{min-width:130px}.question-jumps{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin-top:23px}.jump{width:25px;height:25px;border-radius:50%;font-size:10px;line-height:1;background:#e9e9e5;color:var(--muted);padding:0}.jump.answered{background:#dbe4e9;color:#4e6176}.jump.current{box-shadow:0 0 0 2px #8391ac;outline-offset:3px}.error-box{border:1px solid #d7cabb;background:#f7f0e7;border-radius:9px;padding:15px 18px;margin-top:18px;font-size:12px}.error-box p{margin-bottom:7px}.error-box button{padding:5px 9px;border:1px solid #d8cdbf;border-radius:5px;margin:3px;background:var(--white)}.result-shell{max-width:920px;margin:30px auto 0;padding:0 20px}.result-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:12px;color:var(--muted)}.result-card{background:var(--white);border:1px solid #e2e5e6;border-radius:20px;overflow:hidden}.result-image img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--blue)}.result-content{padding:32px 42px 38px}.result-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.result-title h1{font-family:var(--serif);font-size:35px;font-weight:500;line-height:1.5}.result-title span{font-size:12px;color:var(--muted)}.tagline{font-family:var(--serif);font-size:21px;margin:15px 0 25px;color:#64728a}.warning{background:#eef0f5;border-radius:8px;padding:12px 15px;margin-bottom:14px;font-size:12px;color:#66748b}.result-section{border-top:1px solid var(--line);padding-top:26px;margin-top:28px}.result-section h2{font-size:17px;font-weight:500;margin-bottom:17px}.evidence{padding:15px 0;border-bottom:1px dashed #e4e7e9}.evidence:last-child{border-bottom:0}.evidence small{font-size:10px;letter-spacing:1px;color:var(--muted)}.evidence p{font-size:13px;margin-top:5px;line-height:1.9}.evidence details{font-size:11px;color:var(--muted);margin-top:7px}.evidence summary{cursor:pointer;display:list-item}.evidence details p{font-size:12px}.traits{display:grid;grid-template-columns:1fr 1fr;gap:24px 35px}.trait h3{font-size:12px;color:var(--muted);font-weight:400;margin-bottom:7px}.trait p{font-size:13px;line-height:2}.story-prompt{background:#f0eee5;padding:20px 22px;border-radius:10px;font-size:13px}.alternate{display:grid;grid-template-columns:190px 1fr;gap:23px;align-items:center}.alternate img{aspect-ratio:4/3;object-fit:contain;border-radius:10px;width:100%}.alternate h3{font-family:var(--serif);font-size:22px;font-weight:500;margin-bottom:6px}.alternate p{font-size:12px;color:var(--muted)}.result-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:24px}.result-note{font-size:11px;line-height:2;color:var(--muted);margin-top:20px;text-align:center}.background-copy{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:12px}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:var(--ink);color:white;padding:11px 22px;border-radius:30px;font-size:12px;z-index:10;max-width:90vw;text-align:center}dialog{border:0;padding:0;width:min(720px,calc(100% - 32px));border-radius:18px;color:var(--ink);background:var(--white);max-height:90vh;overflow:auto}dialog::backdrop{background:#34415455;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:13px;top:10px;background:#fffdfbe8;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;z-index:1}.dialog-image{width:100%;aspect-ratio:4/3;object-fit:contain}.dialog-copy{padding:25px 32px 30px}.dialog-copy h2{font-family:var(--serif);font-size:28px;font-weight:500;margin:7px 0}.dialog-copy .tagline{font-size:17px;margin:8px 0 17px}.dialog-copy>p:not(.eyebrow):not(.tagline){font-size:13px;color:var(--muted);margin:12px 0}.dialog-copy .primary{margin-top:12px}.confirm{padding:40px}.confirm h2{font-family:var(--serif);font-size:28px;font-weight:500;margin:15px 0}.confirm>p:not(.eyebrow){color:var(--muted);font-size:13px}.confirm .actions{margin-top:25px;display:flex;gap:10px;flex-wrap:wrap}.noscript{text-align:center;padding:40px}
.result-title h1,.progress-heading span{overflow-wrap:anywhere;min-width:0}.question-card h1{overflow-wrap:anywhere}
@media(min-width:1500px){.hero{padding-top:60px}.hero h1{font-size:60px}}
@media(max-width:1240px){.shell{padding:0 32px}.site-footer{margin-left:32px;margin-right:32px}.hero{gap:32px}.hero h1{font-size:46px}}
@media(max-width:820px){.site-header{padding:22px 24px}.site-header nav{gap:12px}.hero{grid-template-columns:1fr;gap:28px;padding-top:25px}.hero h1{font-size:44px;margin:15px 0}.hero h1 br:nth-child(2){display:none}.hero-copy>p.description{max-width:500px}.hero-art{border-radius:70px 14px 14px 14px}.hero-art img{max-height:470px}.hero-note{display:none}.intro-strip{gap:16px}.intro-item{gap:9px}.step-icon{font-size:19px}.intro-item strong{font-size:11px}.intro-item p{font-size:10px}.animal-grid{grid-template-columns:repeat(3,1fr)}.about{gap:16px;padding:23px}.site-footer{font-size:10px}.result-content{padding:27px 30px}.result-title h1{font-size:30px}}
@media(max-width:540px){.site-header{padding:18px 20px}.brand{font-size:18px;gap:9px;letter-spacing:2px}.brand-icon{width:35px;height:35px;font-size:21px}.brand small{font-size:7px;letter-spacing:1.5px}.site-header nav>button:first-child{display:none}.nav-pill{font-size:11px;padding:7px 12px}.shell{padding:0 20px}.hero{padding-top:20px;padding-bottom:30px}.hero h1{font-size:38px;letter-spacing:1px}.hero-copy>p.description{font-size:13px}.hero-buttons{margin-top:23px;gap:12px}.primary,.secondary{padding:12px 18px;font-size:13px}.hero-meta{font-size:10px;letter-spacing:0}.art-caption{padding:11px 16px}.intro-strip{grid-template-columns:1fr;gap:13px;padding:20px 0}.intro-item{gap:16px}.intro-item strong{font-size:12px}.intro-item p{font-size:11px}.atlas{padding-top:38px}.section-heading{display:block}.section-heading h2{font-size:26px}.section-heading>p{font-size:11px;margin-top:8px}.animal-grid{grid-template-columns:1fr 1fr;gap:21px 12px}.tile-caption{font-size:14px;padding-top:8px}.tile-description{font-size:10px;line-height:1.7}.about{display:block;padding:22px;margin-top:35px}.about h3{margin-bottom:11px}.site-footer{margin:44px 20px 0;padding:22px 0;display:block;line-height:2.5}.site-footer span{display:block}.form-shell{margin-top:22px;padding:0 16px}.form-heading h1{font-size:29px}.setup-card,.question-card{padding:27px 23px;border-radius:14px}.question-card h1{font-size:22px;line-height:1.6}.option{font-size:13px;padding:14px 12px;gap:11px}.option-letter{width:24px;height:24px}.question-controls{gap:12px}.question-controls .primary{min-width:115px}.result-shell{padding:0 16px;margin-top:18px}.result-content{padding:23px 23px 28px}.result-title h1{font-size:28px}.tagline{font-size:18px}.traits{grid-template-columns:1fr;gap:21px}.alternate{grid-template-columns:110px 1fr;gap:15px}.alternate h3{font-size:19px}.alternate p{font-size:11px}.result-section{padding-top:22px;margin-top:23px}.dialog-copy{padding:23px}.confirm{padding:28px}.result-top{font-size:11px;gap:10px}.result-note{font-size:10px}.question-jumps{gap:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white}.site-header,.site-footer,.result-actions,.result-top,.toast,dialog{display:none}.result-shell{max-width:none;margin:0;padding:0}.result-card{border:0}.result-image img{max-height:85mm;width:100%;object-fit:contain}.result-content{padding:15px 0}.result-section,.traits,.alternate,.evidence{break-inside:avoid}.result-note{font-size:9px}.result-title h1{font-size:27px}.result-section{margin-top:16px;padding-top:15px}.evidence{padding:9px 0}.tagline{margin:9px 0 14px}}
