:root{--bg:#fdf9f6;--bg-soft:#faf1ec;--card:#ffffff;--ink:#3d2f2b;--ink-soft:#8a7a74;--rose:#e2708f;--rose-deep:#c94f71;--rose-soft:#fbe9ee;--gold:#d9a441;--line:#f0e2da;--green:#4a9d7c;--shadow:0 10px 30px rgba(201,79,113,0.08);--radius:18px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.page{max-width:680px;margin:0 auto;padding:40px 20px 80px;min-height:100vh}.nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.brand{font-size:20px;font-weight:800;letter-spacing:-.3px}.brand .dot{color:var(--rose)}.nav-link{color:var(--ink-soft);font-size:14px}.hero{text-align:center;padding:30px 0 44px}.hero h1{font-size:34px;font-weight:800;line-height:1.3;letter-spacing:-.5px;margin-bottom:14px}.hero h1 .hl{background:linear-gradient(135deg,var(--rose) 20%,var(--gold) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--ink-soft);font-size:16px;max-width:480px;margin:0 auto 30px}.btn{display:inline-block;padding:15px 38px;border-radius:999px;border:none;font-size:17px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--rose),var(--rose-deep));box-shadow:0 8px 24px rgba(201,79,113,.28);transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(201,79,113,.35)}.btn:disabled{opacity:.55;transform:none;cursor:not-allowed}.btn.ghost{background:var(--rose-soft);color:var(--rose-deep);box-shadow:none}.btn.block{width:100%;text-align:center}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);margin-bottom:20px}.card h2{font-size:19px;font-weight:800;margin-bottom:14px}.card h3{font-size:16px;font-weight:700;margin-bottom:8px}.section-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--rose-deep);background:var(--rose-soft);border-radius:999px;padding:3px 12px;margin-bottom:10px}.upload-zone{border:2px dashed var(--rose);border-radius:var(--radius);background:var(--bg-soft);padding:36px 20px;text-align:center;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.upload-zone.dragging{background:var(--rose-soft);border-color:var(--rose-deep)}.upload-zone .big{font-size:40px;margin-bottom:8px}.upload-zone .hint{color:var(--ink-soft);font-size:14px;margin-top:6px}.upload-zone img.preview{max-width:220px;max-height:260px;border-radius:14px;display:block;margin:0 auto}.upload-zone .remove{position:absolute;top:10px;right:14px;background:var(--rose-deep);color:#fff;border:none;width:26px;height:26px;border-radius:50%;font-size:14px;line-height:1}.reqs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.req-chip{font-size:12px;color:var(--ink-soft);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.field{margin-bottom:20px}.field label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.option-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:8px;gap:8px}.option{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px;text-align:center;background:#fff;color:var(--ink);transition:all .15s ease}.option.sel{border-color:var(--rose);background:var(--rose-soft);color:var(--rose-deep);font-weight:700}select.option{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.result-hero{text-align:center;padding:14px 0 26px}.result-hero .face{font-size:28px;font-weight:800;color:var(--rose-deep)}.result-hero .sub{color:var(--ink-soft);margin-top:6px}.top3-list{list-style:none}.top3-list li{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.top3-list li:last-child{border-bottom:none}.top3-rank{width:30px;height:30px;border-radius:50%;background:var(--rose-soft);color:var(--rose-deep);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;margin-right:12px;flex-shrink:0}.top3-label{flex:1 1;font-weight:700}.top3-dir{flex:1 1;color:var(--ink-soft);font-size:13px}.stars{color:var(--gold);font-size:14px;letter-spacing:1px;white-space:nowrap;margin-left:10px}.reason-box{background:var(--bg-soft);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--ink);margin-top:10px}.paywall{text-align:center;padding:30px 24px;background:linear-gradient(160deg,#fff 0,var(--rose-soft) 100%);border:1.5px solid var(--rose)}.paywall .price{font-size:44px;font-weight:800;color:var(--rose-deep);margin:6px 0}.paywall .price small{font-size:16px;font-weight:500;color:var(--ink-soft)}.paywall ul{text-align:left;margin:18px auto;max-width:300px;list-style:none}.paywall ul li{padding:5px 0;font-size:14px;color:var(--ink)}.paywall ul li:before{content:"✓ ";color:var(--rose-deep);font-weight:800}.channel-row{display:flex;gap:10px;justify-content:center;margin-top:12px}.channel{border:1.5px solid var(--line);border-radius:10px;padding:8px 14px;font-size:13px;background:#fff}.channel.sel{border-color:var(--rose);background:var(--rose-soft);color:var(--rose-deep);font-weight:700}.mock-badge{display:inline-block;font-size:11px;color:#fff;background:var(--gold);border-radius:999px;padding:2px 10px;margin-left:8px;vertical-align:middle}.report-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.report-item{background:var(--bg-soft);border-radius:12px;padding:14px;font-size:14px}.report-item .k{font-size:12px;color:var(--ink-soft);font-weight:700;margin-bottom:4px}.priority-card{border-left:4px solid var(--rose);background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:0 4px 14px rgba(0,0,0,.04)}.priority-card .p-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.priority-card .p-label{font-weight:800;font-size:16px}.priority-card .p-cost{font-size:13px;color:var(--rose-deep);font-weight:700}.priority-card .p-reason{font-size:13.5px;color:var(--ink);margin-bottom:8px}.priority-card .p-actions{list-style:none;padding:0}.priority-card .p-actions li{font-size:13px;color:var(--ink-soft);padding:3px 0 3px 16px;position:relative}.priority-card .p-actions li:before{content:"→";position:absolute;left:0;color:var(--rose)}.budget-tab{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.region-compare{display:flex;gap:14px;margin:12px 0 8px}.region-compare figure{flex:1 1;margin:0;text-align:center;min-width:0}.region-compare img{width:100%;max-width:220px;aspect-ratio:1;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block;box-shadow:0 4px 14px rgba(0,0,0,.06)}.region-compare figcaption{font-size:12px;color:var(--ink-soft);margin-top:6px}.priority-region{margin-top:12px;padding-top:12px}.priority-region,.region-block{border-top:1px dashed var(--line)}.region-block{margin-top:18px;padding-top:14px}.region-block:first-of-type{border-top:none;margin-top:8px;padding-top:0}.region-title{font-weight:800;font-size:15px;color:var(--rose-deep);margin-bottom:4px}.simulate-note{font-size:11.5px;color:var(--ink-soft);margin-top:6px}.budget-tab button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:5px 14px;font-size:13px;color:var(--ink)}.budget-tab button.sel{border-color:var(--rose);background:var(--rose-soft);color:var(--rose-deep);font-weight:700}.disclaimer{font-size:12px;color:var(--ink-soft);background:var(--bg-soft);border-radius:10px;padding:10px 14px;margin-top:20px}.feedback-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.feedback-opt{border:1.5px solid var(--line);border-radius:10px;padding:10px 4px;text-align:center;font-size:13px;background:#fff}.feedback-opt.sel{border-color:var(--rose);background:var(--rose-soft);color:var(--rose-deep);font-weight:700}textarea.comment{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-family:inherit;font-size:14px;resize:vertical;min-height:70px;outline:none}textarea.comment:focus{border-color:var(--rose)}.loading{text-align:center;padding:60px 20px;color:var(--ink-soft)}.spinner{width:34px;height:34px;border:3px solid var(--rose-soft);border-top-color:var(--rose);border-radius:50%;margin:0 auto 14px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-box{background:#fdecef;border:1px solid #f5c2cd;color:#b0344f;border-radius:12px;padding:14px 16px;font-size:14px;margin-bottom:16px}.muted{color:var(--ink-soft);font-size:13px}.mt16{margin-top:16px}.mt24{margin-top:24px}.center{text-align:center}.qr-box{border:1px solid var(--line,#e5e5e5);border-radius:12px;padding:16px;background:#fff}.qr-box img{border-radius:8px}