:root{font-family:'Noto Sans SC',system-ui,-apple-system,sans-serif;color:#242b26;background:#f7f3ea;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 92% 7%,#ebede0 0,transparent 32%),#f7f3ea}.shell{width:min(100%,560px);margin:0 auto;min-height:100vh;padding:0 20px}.topbar{height:72px;display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid #d8d9cc}.seal{display:grid;place-items:center;background:#345d48;color:white;border-radius:11px;width:32px;height:32px;font-family:'Noto Serif SC',serif}.top-tag{margin-left:auto;font-size:11px;letter-spacing:.08em;color:#6e7a68;border:1px solid #bdc8b6;padding:5px 9px;border-radius:999px}.hero{padding:40px 5px 30px}.eyebrow,.step,.mini{color:#6b886d;font-weight:700;letter-spacing:.17em;font-size:11px}.eyebrow{display:flex;align-items:center;gap:9px}.line{width:23px;height:1px;background:#779578}.hero h1{font:700 clamp(33px,9vw,48px)/1.3 'Noto Serif SC',serif;letter-spacing:.02em;margin:17px 0 16px}.hero h1 em{font-style:normal;color:#48735a}.hero p{font-size:14px;line-height:1.9;color:#717b70;margin:0;max-width:440px}.upload-card,.result{background:#fffdf8;border:1px solid #e3e2d8;box-shadow:0 18px 48px #2c4d2910;border-radius:24px;padding:22px;margin-bottom:26px}.card-head{display:flex;justify-content:space-between;align-items:flex-start}.card-head h2,.result-head h2{font:700 22px/1.4 'Noto Serif SC',serif;margin:8px 0 18px}.sparkle{font:32px/1 'Noto Serif SC',serif;color:#a3b795}.dropzone{height:265px;border:1.5px dashed #bdc9b9;border-radius:18px;background:#f5f7f0;display:grid;place-items:center;overflow:hidden;cursor:pointer;position:relative;transition:.2s}.dropzone:hover{border-color:#638568;background:#f0f4e9}.dropzone input{position:absolute;opacity:0;width:1px;height:1px}.dropzone img{width:100%;height:100%;object-fit:contain;background:#e9ece5}.placeholder{text-align:center;display:grid;justify-items:center;gap:10px;color:#3a6249}.camera{width:58px;height:58px;border-radius:20px;background:white;display:grid;place-items:center;font-size:32px;line-height:1;box-shadow:0 8px 24px #355e491a}.placeholder strong{font-size:15px}.placeholder small{color:#89968a;font-size:12px}.privacy{color:#7d8a7c;font-size:12px;text-align:center;margin:16px 0 18px}.privacy span{color:#4e775b}.primary,.secondary{border:0;border-radius:13px;min-height:52px;padding:0 20px;font:700 15px 'Noto Sans SC',sans-serif;cursor:pointer}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;background:#345d48;color:white}.primary:hover:not(:disabled){background:#254b37}.primary:disabled{opacity:.47;cursor:not-allowed}.primary span{font-size:23px;font-weight:400}.status{font-size:12px;line-height:1.6;color:#a15a3d;margin:9px 2px 0;min-height:18px}.result-head h2{margin-bottom:7px}.result-head p{font-size:12px;color:#879082;line-height:1.7;margin:0 0 20px}.archetype{display:flex;gap:17px;align-items:center;background:#edf3e9;border-radius:18px;padding:18px;margin-bottom:14px}.element-icon{flex:none;width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:#4c7357;color:#fff;font:700 28px 'Noto Serif SC',serif}.archetype h3{font:700 20px 'Noto Serif SC',serif;margin:5px 0}.archetype p{font-size:12px;color:#6a796d;margin:0}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.insight{background:#faf8f2;border:1px solid #efebe1;padding:15px;border-radius:16px;min-height:152px}.num{font:600 11px Georgia,serif;color:#a5b398}.insight h4{font-size:14px;margin:8px 0;color:#334e3a}.insight p{font-size:12px;line-height:1.7;margin:0;color:#6e776d}.budget{border-left:3px solid #7f9c80;margin:18px 0;padding:4px 13px}.budget span{color:#41674b;font-size:13px;font-weight:700}.budget p{font-size:12px;line-height:1.8;color:#6a756a;margin:5px 0}.secondary{background:#e4ece0;color:#30563c;width:100%}.secondary:hover{background:#d8e5d3}.text-button{display:block;border:0;background:none;color:#6d856d;text-decoration:underline;cursor:pointer;margin:13px auto 0;font-size:12px}footer{text-align:center;color:#a2a89a;font-size:11px;padding:8px 0 36px}@media(max-width:380px){.insight-grid{grid-template-columns:1fr}.insight{min-height:0}.hero{padding-top:30px}}
