:root{--brand: #ff5a3c;--brand-2: #ffb300;--brand-grad: linear-gradient(135deg, #ff8a4c 0%, #ff5a3c 52%, #ff3d6e 100%);--brand-grad-soft: linear-gradient(135deg, #fff1ea 0%, #ffe9ef 100%);--bg: #fff6f1;--card: #ffffff;--text: #1c1c1e;--text-2: #8a8a8e;--line: #f1e7e0;--good: #16b364;--warn: #ff8a00;--shadow: 0 10px 34px rgba(255, 90, 60, .14);--shadow-sm: 0 4px 14px rgba(28, 28, 30, .06);--radius: 20px;--radius-sm: 14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;color:var(--text);background:#efe7e2;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:inherit;cursor:pointer;border:none;background:none}.app-shell{position:relative;width:100%;max-width:480px;height:100dvh;margin:0 auto;background:var(--bg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 60px #00000014}.page{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom);overflow-y:auto;-webkit-overflow-scrolling:touch}.page--center{justify-content:center;align-items:center;text-align:center}.home{background:var(--brand-grad);color:#fff}.home__inner{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px}.home__kicker{font-size:14px;letter-spacing:2px;opacity:.9;margin-bottom:18px}.home__title{font-size:40px;line-height:1.18;font-weight:800;letter-spacing:1px;margin:0 0 18px}.home__title em{font-style:normal;color:#ffe08a}.home__sub{font-size:15px;line-height:1.6;opacity:.92;max-width:280px;margin:0 0 36px}.home__btn{width:100%;max-width:320px;height:58px;border-radius:30px;background:#fff;color:var(--brand);font-size:19px;font-weight:800;box-shadow:0 12px 30px #0000002e;display:flex;align-items:center;justify-content:center;gap:8px}.home__time{margin-top:16px;font-size:13px;opacity:.85;display:inline-flex;align-items:center;gap:6px}.home__float{position:absolute;font-size:26px;opacity:.25;animation:floaty 6s ease-in-out infinite}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.progress{flex:0 0 auto;padding:16px 20px 6px}.progress__bar{height:8px;border-radius:6px;background:var(--line);overflow:hidden}.progress__fill{height:100%;border-radius:6px;background:var(--brand-grad);transition:width .45s cubic-bezier(.22,1,.36,1)}.progress__meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-2);margin-top:8px}.progress__meta b{color:var(--brand)}.quiz{flex:1;display:flex;flex-direction:column}.quiz__head{padding:8px 0 6px}.quiz__hint{font-size:13px;color:var(--brand);font-weight:600;margin-bottom:10px}.quiz__title{font-size:25px;font-weight:800;line-height:1.32;margin:0}.quiz__options{flex:1;display:flex;flex-direction:column;gap:12px;padding:18px 0;overflow-y:auto}.quiz__foot{flex:0 0 auto;padding:12px 0 calc(16px + env(safe-area-inset-bottom))}.quiz__tip{text-align:center;font-size:12px;color:var(--text-2);margin-top:10px}.opt{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--card);border:2px solid var(--line);border-radius:var(--radius-sm);text-align:left;transition:transform .12s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;width:100%}.opt:active{transform:scale(.985)}.opt--active{border-color:var(--brand);background:var(--brand-grad-soft);box-shadow:var(--shadow-sm)}.opt__emoji{font-size:26px;flex:0 0 auto;width:40px;text-align:center}.opt__body{flex:1;min-width:0}.opt__label{font-size:16px;font-weight:700}.opt__desc{font-size:12.5px;color:var(--text-2);margin-top:3px}.opt__check{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}.opt--active .opt__check{background:var(--brand);border-color:var(--brand)}.btn{width:100%;height:54px;border-radius:28px;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,opacity .2s ease}.btn:active{transform:scale(.98)}.btn--primary{background:var(--brand-grad);color:#fff;box-shadow:var(--shadow)}.btn--ghost{background:#fff;color:var(--brand);border:2px solid var(--line)}.btn:disabled{opacity:.45;box-shadow:none}.calc{background:var(--brand-grad);color:#fff}.calc__ring{position:relative;width:180px;height:180px}.calc__core{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:40px}.calc__title{font-size:22px;font-weight:800;margin:28px 0 8px}.calc__sub{font-size:14px;opacity:.9}.calc__dots{display:flex;gap:6px;margin-top:26px}.calc__dot{width:8px;height:8px;border-radius:50%;background:#ffffff80}.calc__err{background:#fff;color:var(--text);border-radius:16px;padding:20px;max-width:300px}.calc__err h3{margin:0 0 8px;color:var(--brand)}.result{background:var(--bg)}.result__hero{background:var(--brand-grad);color:#fff;border-radius:0 0 28px 28px;padding:22px 20px 26px;text-align:center;margin:0 -20px}.result__score{font-size:13px;opacity:.9;letter-spacing:1px}.result__salary{font-size:42px;font-weight:900;letter-spacing:.5px;margin:6px 0 2px;line-height:1.1}.result__salary small{font-size:18px;font-weight:700;opacity:.9}.result__arche{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:#fff3;padding:7px 14px;border-radius:20px;font-size:15px;font-weight:700}.result__section{background:var(--card);border-radius:var(--radius);padding:18px;margin:14px 0;box-shadow:var(--shadow-sm)}.result__section h3{margin:0 0 14px;font-size:16px;display:flex;align-items:center;gap:8px}.result__section h3 .dot{width:8px;height:8px;border-radius:50%;background:var(--brand)}.range{display:flex;align-items:baseline;justify-content:center;gap:8px;font-size:22px;font-weight:800}.range small{font-size:13px;color:var(--text-2);font-weight:600}.gap{margin-top:12px;text-align:center;font-size:14px;color:var(--text-2)}.gap b{color:var(--good);font-size:16px}.gap--premium b{color:var(--warn)}.dim{margin-bottom:14px}.dim:last-child{margin-bottom:0}.dim__top{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:6px}.dim__top .name{font-weight:700}.dim__top .val{color:var(--brand);font-weight:800}.dim__top .cmt{color:var(--text-2);font-weight:500}.dim__bar{height:9px;border-radius:6px;background:var(--line);overflow:hidden}.dim__fill{height:100%;border-radius:6px;background:var(--brand-grad)}.bignum{display:flex;align-items:baseline;gap:8px}.bignum__v{font-size:40px;font-weight:900;color:var(--brand)}.bignum__u{font-size:15px;color:var(--text-2);font-weight:700}.arch__name{font-size:22px;font-weight:800;margin:10px 0 4px}.arch__tag{font-size:13px;color:var(--brand);font-weight:700}.arch__desc{font-size:14px;line-height:1.6;color:var(--text-2);margin-top:8px}.pot__desc{font-size:14px;color:var(--text-2);margin-top:8px;line-height:1.6}.advice{display:flex;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line)}.advice:last-child{border-bottom:none}.advice__no{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--brand-grad-soft);color:var(--brand);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}.advice__title{font-size:15px;font-weight:700}.advice__detail{font-size:13.5px;color:var(--text-2);line-height:1.55;margin-top:4px}.result__foot{display:flex;flex-direction:column;gap:12px;padding:6px 0 24px}.share-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000c7;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:16px}.share-card-img{width:min(78vw,320px);border-radius:16px;box-shadow:0 20px 50px #0006}.share-actions{display:flex;gap:12px;width:min(78vw,320px)}.share-actions .btn{height:46px;font-size:15px}.share-hint{color:#fff;font-size:12.5px;opacity:.8;text-align:center}.center-box{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:14px}.center-box h2{margin:0;font-size:20px}.center-box p{margin:0;color:var(--text-2);font-size:14px;line-height:1.6}.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
