@import url('/static/fonts.css');
:root{--paper:#f7f8f2;--white:#fff;--ink:#263e34;--muted:#78837a;--green:#2e624c;--lime:#dce8b2;--line:#e2e7dc;--soft:#edf1e7;--red:#a64940;--shadow:0 16px 60px #213d2b08}*{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;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #88a273;outline-offset:4px}button{border:0}button,a{transition:background .18s,transform .18s,color .18s}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;letter-spacing:-.04em}h1{font-size:58px;line-height:1.24}h2{font-size:30px;line-height:1.45}h3{font-size:18px}p{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:13px}.site-header{height:100px;max-width:1280px;padding:0 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:650;letter-spacing:3px;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:1.8px;margin-top:9px;font-weight:500}.brand-mark{background:var(--green);color:var(--lime);border-radius:13px;width:43px;height:43px;text-align:center;line-height:42px;font-size:38px;letter-spacing:0}.site-header nav{display:flex;gap:28px;align-items:center;font-size:13px}.admin-link{color:var(--muted)}.nav-divider{height:16px;width:1px;background:var(--line)}.text-button{padding:0;background:none;color:var(--muted);font-size:13px}#app{max-width:1208px;margin:auto;min-height:calc(100vh - 190px)}.site-footer{max-width:1208px;margin:60px auto 0;border-top:1px solid var(--line);padding:24px 0 28px;display:flex;justify-content:space-between;color:#8a9289;font-size:11px;letter-spacing:.3px}.site-footer i{font-style:normal;padding:0 10px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;padding:66px 0 44px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2.4px;font-weight:600;color:var(--green);display:flex;align-items:center;gap:9px;margin-bottom:24px}.eyebrow:before{content:'';height:6px;width:6px;border-radius:50%;background:var(--green)}.hero h1{margin-bottom:24px}.hero h1 em{font-style:normal;color:#718951}.hero .intro{font-size:15px;color:#758074;line-height:1.95;max-width:430px}.hero-tags{display:flex;gap:24px;margin:27px 0 36px;font-size:12px;color:#697567}.hero-tags span{display:flex;gap:7px;align-items:center}.hero-tags b{font-size:16px;font-weight:500;color:var(--green)}.entry-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px 27px;box-shadow:var(--shadow);max-width:490px}.form-label{font-size:13px;display:block;font-weight:600;margin-bottom:9px}.entry-row{display:flex;gap:10px}input,select{border:1px solid #dce3d8;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);min-width:0}input::placeholder{color:#a0a99f}.entry-row input{flex:1;width:50%}.primary{background:var(--green);color:white;border-radius:9px;padding:12px 22px;font-weight:550;white-space:nowrap}.primary:hover{background:#234d3b;transform:translateY(-1px)}.primary span{margin-left:14px}.secondary{background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px 20px}.secondary:hover{background:#e4eadd}.check-row{display:flex;align-items:flex-start;gap:8px;margin-top:16px;font-size:11px;color:#7c857a;line-height:1.8}.check-row input{accent-color:var(--green);width:15px;height:15px;margin-top:3px;flex-shrink:0}.check-row a{text-decoration:underline;text-underline-offset:2px}.form-error{font-size:13px;color:var(--red);margin:9px 0 0;min-height:0}.privacy-detail{font-size:11px;color:var(--muted);margin-top:13px;line-height:1.8}.artboard{position:relative;height:490px;border-radius:200px 200px 110px 110px;background:radial-gradient(ellipse at 50% 45%,#e7eddb 0%,#eef2e5 42%,#f7f8f2 72%);display:flex;align-items:center;justify-content:center}.orbital{position:absolute;width:380px;height:380px;border:1px dashed #ced9c3;border-radius:50%;transform:rotate(-15deg)}.orbital:before{content:'';position:absolute;inset:35px;border:1px solid #dce4d3;border-radius:50%}.art-core{width:205px;height:205px;border-radius:50%;background:linear-gradient(135deg,#e8efda,#dce7c4);border:8px solid #f7f8f280;box-shadow:0 20px 60px #87975c19;display:grid;place-content:center;text-align:center;z-index:1}.art-core span{font-family:Georgia,serif;font-size:45px;color:#6f8252;line-height:1.3;font-style:italic}.art-core small{font-size:10px;letter-spacing:4px;color:#7c8d66;margin-top:7px}.type-tile{position:absolute;width:134px;height:103px;border:1px solid #ffffffc0;border-radius:17px;box-shadow:0 13px 35px #3a4b3010;padding:15px 19px;z-index:2}.type-tile b{font-family:Georgia,serif;font-size:28px;letter-spacing:2px;font-weight:400;display:block;line-height:1.2}.type-tile small{font-size:10px;letter-spacing:2px}.tile-one{top:53px;left:41px;background:#e5ecdb;transform:rotate(-10deg);color:#6e8056}.tile-two{right:10px;top:114px;background:#f1e8dd;transform:rotate(9deg);color:#a38a69}.tile-three{left:8px;bottom:90px;background:#e5e6ed;transform:rotate(-6deg);color:#86849e}.tile-four{right:35px;bottom:41px;background:#e1ebec;transform:rotate(8deg);color:#6c9397}.orbit-dot{position:absolute;border-radius:50%;width:11px;height:11px;background:#bdcf91;left:52%;top:45px}.art-caption{position:absolute;bottom:-5px;left:0;right:0;text-align:center;font-size:11px;color:#a0aa91;letter-spacing:2px}.overview{border-top:1px solid var(--line);padding:31px 0;display:grid;grid-template-columns:230px 1fr 1fr 1fr;gap:35px}.overview>div{padding:2px 0}.overview h3{font-size:17px;margin:4px 0 9px}.overview p{font-size:12px;color:var(--muted);margin:0;line-height:1.9}.step-no{font-size:10px;letter-spacing:1px;color:#83976b}.overview-intro p{font-size:11px}.overview-intro h3{font-size:20px}.info-strip{background:#edf1e6;border:1px solid #e4e9dc;border-radius:12px;padding:18px 24px;font-size:12px;color:#7a846f}.info-strip strong{color:#526346;font-weight:500}.loading{display:flex;align-items:center;justify-content:center;gap:14px;min-height:55vh;color:var(--muted)}.spinner{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-head{padding:42px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:20px}.page-head h1{font-size:34px;margin-bottom:8px}.page-head p{color:var(--muted);font-size:13px;margin:0}.pill{display:inline-block;border-radius:30px;background:var(--soft);padding:5px 11px;color:#6b7b5e;font-size:11px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}.welcome-panel{background:#eaf0df;padding:36px}.welcome-panel h2{font-size:31px;margin-bottom:12px}.welcome-panel p{color:#75816a;font-size:14px;max-width:460px}.welcome-panel .primary{margin-top:18px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:18px 0}.list-item:last-child{border:0}.list-item strong{display:block;font-size:16px}.list-item small{color:var(--muted);font-size:11px}.empty{padding:35px 0;text-align:center;color:var(--muted);font-size:13px}.test-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:34px;padding:35px 0}.test-sidebar{position:sticky;top:25px;align-self:start}.test-sidebar h2{font-size:22px;margin-bottom:6px}.test-sidebar p{color:var(--muted);font-size:12px}.progress-meta{display:flex;align-items:baseline;justify-content:space-between;margin-top:27px}.progress-meta strong{font-size:28px;font-weight:500}.progress-meta small{font-size:11px;color:var(--muted)}.progress-track{height:5px;background:#e5eadd;border-radius:20px;margin:9px 0 15px;overflow:hidden}.progress-fill{height:100%;background:#738e50;border-radius:20px;transition:width .2s}.save-status{font-size:11px;min-height:18px;color:var(--muted)}.question-map{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-top:22px}.q-dot{font-size:9px;border-radius:5px;border:1px solid #e0e6d8;color:#98a38c;background:transparent;height:25px;padding:0}.q-dot.answered{background:#e1ead0;border-color:#e1ead0;color:#55743a}.q-dot.current{outline:1px solid #6e874f;outline-offset:1px}.test-tip{font-size:11px;color:#849078;background:#edf1e6;border-radius:10px;padding:15px;margin-top:20px;line-height:1.9}.test-content{min-width:0}.test-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 18px;font-size:12px;color:var(--muted)}.question-card{background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:13px;padding:25px 28px;scroll-margin-top:25px}.question-heading{display:flex;gap:15px;align-items:baseline;margin-bottom:24px}.question-no{color:#9ba98d;font-size:11px;font-variant-numeric:tabular-nums}.question-heading h3{font-size:16px;font-weight:500;margin:0;line-height:1.8;letter-spacing:0}.likert{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border:0;padding:0;margin:0;min-width:0}.answer{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:#9ba396;cursor:pointer;padding:4px 0}.answer input{position:absolute;opacity:0;width:1px;height:1px}.answer-ring{border:1.5px solid #b8c5a9;border-radius:50%;height:31px;width:31px;display:grid;place-content:center;transition:all .15s;background:#fafbf8;color:transparent}.answer:nth-child(1) .answer-ring,.answer:nth-child(5) .answer-ring{height:40px;width:40px}.answer:nth-child(2) .answer-ring,.answer:nth-child(4) .answer-ring{height:35px;width:35px}.answer{justify-content:flex-end}.answer:nth-child(4) .answer-ring,.answer:nth-child(5) .answer-ring{border-color:#7a9b85;background:#f7faf7}.answer:has(input:checked) .answer-ring{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 0 0 4px #e9efe1}.answer:has(input:checked){color:var(--green)}.answer input:focus-visible+.answer-ring{outline:3px solid #9ab77a;outline-offset:4px}.page-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:14px}.page-actions .secondary{min-width:110px}.page-actions p{margin:0;color:var(--muted);font-size:12px}.result-top{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.result-portrait{background:#e9efdf;position:relative;overflow:hidden;padding:40px;border-radius:20px;border:1px solid #e0e8d5}.result-portrait:after{content:'';position:absolute;width:250px;height:250px;border:1px solid #d6e0c6;border-radius:50%;right:-100px;top:-70px;pointer-events:none}.result-code{font-family:Georgia,serif;font-size:80px;letter-spacing:4px;color:#4b6942;line-height:1.2;margin:20px 0 8px}.result-portrait h2{font-size:26px}.result-portrait p{color:#6a7d60;font-size:14px;line-height:1.9}.result-portrait .eyebrow{font-size:10px}.dimension{margin-top:24px}.dim-top,.dim-labels{display:flex;justify-content:space-between;align-items:center;gap:10px}.dim-top h3{font-size:13px;margin:0;letter-spacing:0}.dim-top small{color:var(--muted);font-size:11px}.dim-labels{font-size:12px;margin:10px 0 7px}.dim-bar{height:9px;background:#ecede8;border-radius:20px;overflow:hidden;position:relative}.dim-bar:after{content:'';height:9px;position:absolute;left:50%;width:2px;top:0;background:white}.dim-bar span{display:block;height:100%;border-radius:20px}.result-actions{display:flex;gap:12px;margin:25px 0}.result-bottom{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:26px 0}.result-bottom p{font-size:14px;color:#74806f;line-height:1.9}.result-bottom .panel{padding:28px}.strength-tags{display:flex;gap:8px;flex-wrap:wrap}.strength-tags span{background:#f0f3e9;color:#738260;padding:6px 13px;border-radius:7px;font-size:13px}.notice{padding:18px 22px;border:1px solid #e5dfca;border-radius:12px;background:#f7f3e8;color:#90815d;font-size:12px;line-height:1.9;margin:22px 0}.report-note{font-size:11px;color:var(--muted);line-height:1.9}.insight-row{margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.insight-row h3{font-size:14px;margin-bottom:8px}.insight-row p{font-size:12px;margin:0}.admin-login{max-width:440px;margin:75px auto}.admin-login h1{font-size:30px;margin-bottom:8px}.admin-login label{display:block;margin-top:19px}.admin-login input{width:100%}.admin-login .primary{width:100%;margin-top:25px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.stat{padding:22px 24px;border:1px solid var(--line);background:#fff;border-radius:13px}.stat label{font-size:12px;color:var(--muted)}.stat strong{font-size:32px;display:block;font-weight:500;margin-top:4px;line-height:1.4}.filters{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:21px 0}.filters label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.filters input,.filters select{padding:9px 10px;font-size:12px;width:150px}.filters input[type=date]{width:150px}.filters .primary{font-size:12px;padding:10px 22px}.admin-charts{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-bottom:25px}.bar-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;margin-top:20px}.bar-line{font-size:11px;display:grid;grid-template-columns:45px 1fr 20px;align-items:center;gap:8px}.bar-line .bar-track{background:#edf1e8;height:7px;border-radius:20px;overflow:hidden}.bar-line .bar-track span{display:block;background:#a8bd85;height:100%}.chart-caption{font-size:11px;color:var(--muted)}.trend-chart{height:132px;display:flex;gap:9px;align-items:flex-end;margin-top:24px}.trend-column{flex:1;display:flex;align-items:center;flex-direction:column;height:100%;justify-content:flex-end;min-width:0}.trend-bar{background:#bdcba6;width:100%;max-width:35px;min-height:3px;border-radius:5px 5px 0 0}.trend-column span{font-size:9px;margin-top:5px;color:var(--muted);white-space:nowrap}.trend-column small{font-size:10px;color:var(--muted);margin-bottom:3px}.records-panel{padding:24px}.records-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.records-heading h2{font-size:20px;margin:0}.table-wrap{overflow:auto;margin:15px -4px 0}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{font-size:10px;color:#8a9583;font-weight:500;background:#f7f8f3;padding:12px}td{padding:15px 12px;border-bottom:1px solid var(--line)}td.name-cell{max-width:160px;overflow:hidden;text-overflow:ellipsis}td .text-button{color:var(--green);font-size:11px}.type-badge{display:inline-block;background:#ebf0e3;color:#647c47;font-size:11px;padding:4px 9px;border-radius:5px;letter-spacing:1px}.table-actions{display:flex;gap:14px}.admin-tools{display:flex;align-items:center;gap:15px}.admin-tools .secondary{font-size:12px}.password-panel{margin-top:24px;max-width:550px}.password-panel input{display:block;width:100%;margin:10px 0}.password-panel summary{cursor:pointer;font-size:13px}.password-panel form{padding-top:10px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);background:#284536;color:#fff;padding:12px 22px;border-radius:10px;box-shadow:0 10px 30px #0002;z-index:99;font-size:13px;opacity:0;pointer-events:none;transition:all .2s;max-width:90vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.view-back{display:inline-block;margin-top:30px;color:var(--muted);font-size:13px}.consent-note{font-size:11px;color:var(--muted);margin-top:14px}.no-margin{margin:0}.result-portrait .small{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-result-header{padding-top:15px}.error-page{max-width:600px;margin:60px auto;text-align:center}.error-page h2{font-size:24px}
@media(min-width:1400px){.hero{padding-top:80px;padding-bottom:60px}.artboard{height:510px}}
@media(max-width:1280px){#app,.site-footer{margin-left:36px;margin-right:36px}.hero{gap:45px}h1{font-size:51px}.overview{grid-template-columns:190px 1fr 1fr 1fr;gap:25px}.artboard{transform:scale(.95)}}
@media(max-width:1000px){h1{font-size:43px}.hero{gap:10px;grid-template-columns:1.1fr .9fr}.artboard{transform:scale(.8);transform-origin:center center;margin-left:-25px;width:420px}.hero-tags{gap:15px}.entry-card{padding:22px}.entry-row{flex-direction:column}.entry-row input{width:100%}.overview{grid-template-columns:repeat(3,1fr)}.overview-intro{grid-column:1/-1}.overview-intro h3{display:inline;margin-right:20px}.overview-intro p{display:inline}.test-layout{grid-template-columns:200px minmax(0,1fr);gap:25px}.question-card{padding:23px}.stats{gap:12px}.stat{padding:18px}.result-code{font-size:64px}.result-portrait{padding:30px}.result-top{gap:20px}}
@media(max-width:740px){body{font-size:14px}.site-header{height:80px;padding:0 22px}.brand{font-size:22px}.brand-mark{width:38px;height:38px;font-size:33px;line-height:37px}.brand small{font-size:6px}.site-header nav{gap:14px;font-size:11px}.nav-home,.nav-divider{display:none}#app,.site-footer{margin-left:22px;margin-right:22px}.hero{display:flex;flex-direction:column;gap:5px;padding:38px 0 28px;align-items:stretch}.hero-copy{z-index:1}.eyebrow{font-size:9px;margin-bottom:18px}h1{font-size:43px}.hero h1{margin-bottom:18px}.hero .intro{font-size:13px;max-width:90%}.hero-tags{font-size:11px;gap:24px;margin:22px 0}.entry-card{max-width:none;padding:20px;border-radius:15px}.entry-row{flex-direction:row;gap:8px}.entry-row input{width:40%;font-size:13px}.entry-row .primary{font-size:12px;padding:11px 15px}.artboard{height:290px;transform:scale(.66);transform-origin:50% 50%;width:420px;max-width:none;align-self:center;margin:-33px 0 -50px}.orbital{width:350px;height:350px}.type-tile{width:125px;height:92px}.tile-one{top:-10px;left:23px}.tile-two{top:15px;right:14px}.tile-three{bottom:-15px;left:4px}.tile-four{bottom:-30px;right:30px}.art-core{width:170px;height:170px}.art-caption{bottom:-74px}.orbit-dot{top:-25px}.overview{gap:15px;padding:25px 0;margin-top:40px}.overview h3{font-size:13px;margin-top:8px}.overview p{font-size:10px}.overview-intro h3{font-size:18px}.overview-intro p{display:none}.info-strip{padding:15px 18px;font-size:10px}.site-footer{flex-direction:column;gap:7px;margin-top:35px;font-size:10px;padding:20px 0}.page-head{padding:28px 0 22px;align-items:flex-start}.page-head h1{font-size:27px}.page-head p{font-size:11px}.page-head .pill{display:none}.dashboard-grid,.result-top,.result-bottom{grid-template-columns:1fr;gap:18px}.panel{padding:22px;border-radius:14px}.welcome-panel{padding:26px}.welcome-panel h2{font-size:25px}.test-layout{display:block;padding-top:23px}.test-sidebar{position:static}.test-sidebar h2{font-size:23px}.test-sidebar>p{margin-bottom:12px}.question-map{display:none}.test-tip{display:none}.progress-meta{margin-top:10px}.progress-meta strong{font-size:22px}.progress-track{margin-bottom:8px}.save-status{font-size:10px}.test-section-head{margin-top:22px;font-size:10px}.question-card{padding:21px 16px;border-radius:13px}.question-heading{gap:11px;margin-bottom:21px}.question-heading h3{font-size:14px}.question-no{font-size:10px}.answer{font-size:9px;gap:10px}.answer-ring{height:27px;width:27px}.answer:nth-child(1) .answer-ring,.answer:nth-child(5) .answer-ring{height:35px;width:35px}.answer:nth-child(2) .answer-ring,.answer:nth-child(4) .answer-ring{height:31px;width:31px}.page-actions p{font-size:10px}.page-actions .primary,.page-actions .secondary{padding:11px 16px;font-size:12px;min-width:0}.result-portrait{padding:28px}.result-code{font-size:72px}.result-portrait h2{font-size:27px}.result-actions{flex-wrap:wrap}.result-bottom{margin-top:18px}.result-bottom .panel{padding:24px}.result-actions .primary,.result-actions .secondary{font-size:13px}.admin-login{margin:45px auto}.stats{grid-template-columns:1fr 1fr;gap:11px}.stat{padding:17px}.stat strong{font-size:26px}.stat label{font-size:10px}.admin-charts{grid-template-columns:1fr;gap:17px}.filters{gap:9px;display:grid;grid-template-columns:1fr 1fr}.filters input,.filters select,.filters input[type=date]{width:100%}.filters .primary{height:40px;align-self:end}.records-panel{padding:18px}.records-heading{gap:10px}.records-heading h2{font-size:18px}.records-heading .secondary{font-size:10px;padding:8px 10px}.admin-tools{gap:8px}.admin-tools .secondary{font-size:10px;padding:8px 10px}.table-wrap{margin-left:-18px;margin-right:-18px}td,th{padding:12px}.bar-list{gap:12px 17px}.notice{font-size:11px}.site-header:has(+main .test-layout){height:70px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
