
:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#242825;background:#f7f6f2;--green:#285548;--muted:#767d75;--line:#e0e3db;--pink:#f1dcd3}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:var(--green);color:#fff;border-radius:12px;padding:13px 21px;font-weight:600;transition:transform .15s,background .15s}button:hover{background:#193e33}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b99454;outline-offset:3px}.secondary{background:#e9ece4;color:#39483c}.secondary:hover{background:#dce2d5}.danger{background:#f5e8e2;color:#a84b39}.small{padding:8px 12px;font-size:13px}.wide{width:100%}header{max-width:1240px;margin:auto;padding:26px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px;font-weight:800;font-size:19px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px;font-weight:500}.brand-icon{font-size:40px;color:var(--green)}nav{display:flex;gap:6px;align-items:center}nav a{padding:10px 15px;border-radius:9px;font-size:14px;color:#6a7068}nav a.active{color:var(--green);background:#e6ebdf}#mode{font-size:12px;text-align:center;padding:9px 16px;background:#eee7ce;color:#77643b}main{max-width:1168px;min-height:70vh;margin:0 auto;padding:48px 0 70px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#64735c;text-transform:uppercase;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;border-radius:50%;background:#7d9265;display:inline-block}h1{font-size:58px;line-height:1.22;letter-spacing:-2px;margin:25px 0}h2{font-size:30px;letter-spacing:-.8px;margin:12px 0 20px}h3{font-size:19px;margin:10px 0 14px}p{line-height:1.85}.muted{color:var(--muted)}.lead{font-size:16px;line-height:1.9;color:#747a70;max-width:490px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;align-items:center;padding:22px 0 58px}.hero h1 em{font-style:normal;color:var(--green)}.hero-actions{display:flex;gap:13px;margin:30px 0}.fine{font-size:12px;line-height:1.8;color:var(--muted)}.hero-art{min-height:405px;position:relative;border-radius:120px 120px 30px 30px;background:#e6e9db;display:flex;align-items:center;justify-content:center;overflow:hidden}.orbit{position:absolute;width:340px;height:340px;border:1px solid #ccd5bc;border-radius:50%;transform:rotate(-25deg) scaleX(.8)}.orbit.two{transform:rotate(45deg) scaleX(.8);width:440px;height:440px}.art-card{width:236px;height:294px;background:#fffaf0;border:7px solid #fff;border-radius:110px 110px 19px 19px;box-shadow:0 22px 50px #53644520;transform:rotate(-7deg);position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.art-spark{font-size:110px;line-height:1.2;color:#bd7157}.art-card p{font-family:Georgia,serif;font-size:25px;line-height:1.1;margin:15px 0;color:#285548}.art-card small{letter-spacing:2px;font-size:9px}.floating{position:absolute;bottom:43px;right:18px;background:var(--green);color:white;padding:14px 20px;border-radius:12px;transform:rotate(5deg);font-size:13px}.floating strong{display:block;font-size:24px;margin-bottom:3px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:flex;gap:45px;justify-content:space-between;font-size:13px;color:#7c8279}.strip b{display:block;font-size:17px;color:#344936;margin-bottom:6px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.section-head h2{margin-bottom:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.panel{padding:30px;background:white;border:1px solid var(--line);border-radius:19px}.panel .number{font-family:Georgia,serif;color:#bd7157;font-size:30px}.panel p{font-size:14px;color:var(--muted)}.form-panel{max-width:470px;margin:0 auto}.tabs{display:flex;background:#f0f1eb;border-radius:12px;padding:4px;margin-bottom:25px}.tabs button{flex:1;color:#7b8177;background:transparent}.tabs button.active{background:white;color:var(--green);box-shadow:0 2px 5px #00000008}label.field{display:block;font-size:13px;font-weight:600;margin:18px 0 7px}input:not([type=checkbox]),textarea,select{width:100%;padding:12px 13px;border:1px solid #dfe3da;border-radius:10px;background:#fcfcf9;color:#26372c}textarea{resize:vertical;min-height:90px}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.8;margin:19px 0}.check input{accent-color:var(--green);margin-top:5px;flex-shrink:0}.form-actions{margin-top:24px}.form-error{color:#ad4533;font-size:13px;line-height:1.6;margin:12px 0}.text-button{background:transparent;color:var(--green);padding:12px 0;font-size:13px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.upload{border:1.5px dashed #b8c3ae;background:#f6f8f1;border-radius:14px;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;cursor:pointer;position:relative;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload .symbol{font-size:44px;color:var(--green)}.upload img{max-height:280px;max-width:100%;border-radius:10px;object-fit:contain}.note{padding:15px 18px;background:#f3f3e9;border-radius:10px;color:#7b7a62;font-size:13px;line-height:1.7}.score{font-size:83px;font-weight:600;letter-spacing:-6px;line-height:1.2;color:var(--green)}.score small{font-size:16px;letter-spacing:0;color:#848977}.score-card{background:#e9eedf;text-align:center;padding:35px;border-radius:16px}.score-card .percent{margin-top:13px;font-size:15px}.bar{height:5px;background:#ced8c2;border-radius:20px;overflow:hidden;margin-top:20px}.bar span{display:block;width:100%;height:100%;background:var(--green)}.history-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);gap:15px}.history-row img{width:46px;height:56px;object-fit:cover;border-radius:8px}.history-row div{flex:1;font-size:13px;line-height:1.8}.history-row strong{font-size:23px;color:var(--green)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.person{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;cursor:pointer}.portrait{position:relative;background:#e8eadf;aspect-ratio:3/4}.portrait img{width:100%;height:100%;object-fit:cover}.rank{position:absolute;top:12px;left:12px;background:#ffffffe8;border-radius:50px;padding:8px 12px;font-size:13px}.person-info{padding:17px}.person-info strong{font-size:18px}.person-info .rating{float:right;color:var(--green);font-size:22px}.person-info p{font-size:12px;margin:8px 0 0;color:var(--muted)}.empty{padding:70px 25px;text-align:center;background:#eeefe7;border-radius:18px;color:#7b8474}.empty .symbol{font-size:48px;color:#92a07f}.empty h3{color:#3e4f38}.pill{display:inline-block;font-size:11px;padding:5px 9px;border-radius:30px;background:#eef0e5;color:#657250;margin:5px 5px 0 0}.profile-photo{width:100%;max-height:570px;object-fit:cover;border-radius:18px;background:#e5e9dc}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.request{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:23px 0}.request img{width:65px;height:80px;object-fit:cover;border-radius:9px}.request .details{flex:1}.request p{margin:4px 0;font-size:12px;color:var(--muted)}.contact{border:1px solid #c8d5b7;background:#edf3e5;padding:18px;border-radius:12px;overflow-wrap:anywhere}.loading{text-align:center;padding:50px;color:#888}.progress{margin-top:16px;background:#eef1e7;padding:15px;border-radius:10px;color:var(--green)}.progress:before{content:'◌';display:inline-block;animation:spin 1s linear infinite;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);max-width:90vw;padding:14px 25px;border-radius:12px;background:#254839;color:white;box-shadow:0 8px 35px #0002;z-index:9;display:none;font-size:14px}dialog{border:0;border-radius:18px;padding:30px;max-width:460px;width:90vw;box-shadow:0 30px 80px #0003}dialog::backdrop{background:#1d30275c}dialog code{display:block;padding:20px;background:#f1f3e9;overflow-wrap:anywhere;margin:20px 0;font-size:17px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:14px 10px;text-align:left;border-bottom:1px solid var(--line)}footer{max-width:1168px;margin:auto;border-top:1px solid var(--line);padding:25px 0 32px;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#94988e}.privacy{max-width:720px;margin:auto}.privacy p,.privacy li{font-size:14px;line-height:1.9;color:#656f60}.mobile-only{display:none}
@media(max-width:1240px){main,footer{margin-left:30px;margin-right:30px}}@media(max-width:760px){header{padding:20px;flex-wrap:wrap}.brand{font-size:17px}nav{width:100%;justify-content:space-between;gap:0}nav a{padding:10px 11px;font-size:13px}main{margin:0;padding:30px 20px 45px}h1{font-size:43px;letter-spacing:-1px}h2{font-size:25px}.hero{grid-template-columns:1fr;gap:28px;padding:0 0 30px}.hero-art{min-height:320px}.art-card{height:250px;width:200px}.art-spark{font-size:80px}.hero-actions{margin:22px 0}.strip{gap:15px;flex-wrap:wrap}.strip>div{min-width:40%;font-size:11px}.strip b{font-size:14px}.grid3,.two-col{grid-template-columns:1fr}.panel{padding:23px}.cards{grid-template-columns:repeat(2,1fr);gap:13px}.person-info{padding:13px}.person-info strong{font-size:15px}.section-head{align-items:flex-start}.section-head .fine{max-width:130px;text-align:right}.request{flex-wrap:wrap}.request .button-row{width:100%;margin:0}.score{font-size:72px}footer{margin:0 20px;flex-direction:column;line-height:1.8}.profile-photo{max-height:430px}.form-panel{padding:23px}.hero .fine{font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:761px) and (max-width:1000px){.hero{gap:30px}.hero h1{font-size:42px;letter-spacing:-1px}.hero-art{min-height:350px}.strip{gap:18px}.strip b{font-size:14px}}

