.topbar[data-v-9e4bd3d1]{background:#2a2230;color:#b9b3c2;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:110;font-size:12px}.topbar-inner[data-v-9e4bd3d1]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:6px;padding-bottom:6px}.topbar-txt[data-v-9e4bd3d1]{letter-spacing:.02em}.topbar-link[data-v-9e4bd3d1]{color:#ff9eb5;font-weight:600;white-space:nowrap}.topbar-link[data-v-9e4bd3d1]:hover{color:#fff}.wrap[data-v-9e4bd3d1]{width:100%;max-width:1160px;margin:0 auto;padding-left:24px;padding-right:24px}.nav[data-v-9e4bd3d1]{position:sticky;top:0;z-index:100;background:#ffffffd1;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}.app-nav[data-v-9e4bd3d1]{display:flex;gap:2px;align-items:center;flex-wrap:wrap;padding:10px 26px;border-bottom:1px solid var(--line, #eceaf3)}.brand[data-v-9e4bd3d1]{display:flex;align-items:center;gap:10px;font-weight:800;color:#2b2333;font-size:20px;letter-spacing:.02em;margin-right:10px;cursor:pointer}.brand .logo-mark[data-v-9e4bd3d1]{width:32px;height:32px;flex:0 0 auto}.brand small[data-v-9e4bd3d1]{font-weight:600;font-size:12px;color:#978b94;letter-spacing:.04em;margin-left:2px}.app-nav a[data-v-9e4bd3d1]{color:#706a80;padding:8px 13px;border-radius:12px;font-weight:500;transition:.18s}.app-nav a[data-v-9e4bd3d1]:hover{background:#fff0f5;color:#ff6f91}.app-nav a.router-link-active[data-v-9e4bd3d1]{background:#ffeaf0;color:#e84e74;font-weight:700}.app-nav .spacer[data-v-9e4bd3d1]{flex:1}.app-nav button[data-v-9e4bd3d1]{padding:8px 14px}.foot[data-v-9e4bd3d1]{border-top:1px solid var(--line);padding:18px 16px 26px;margin-top:30px;background:#fff9;font-size:12px;color:var(--muted)}.foot-brand[data-v-9e4bd3d1]{font-weight:700;color:#2b2333;letter-spacing:.02em}.foot-links[data-v-9e4bd3d1]{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px}.foot-links a[data-v-9e4bd3d1]{color:var(--primary);font-weight:500}.foot-line[data-v-9e4bd3d1]{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.foot-line .muted[data-v-9e4bd3d1],.foot-line span[data-v-9e4bd3d1]{color:var(--muted)}@media (max-width: 680px){.app-nav[data-v-9e4bd3d1]{display:none}.topbar[data-v-9e4bd3d1]{font-size:11px}.topbar-inner[data-v-9e4bd3d1]{flex-wrap:wrap;gap:6px;padding-top:7px;padding-bottom:7px}.foot[data-v-9e4bd3d1]{margin-bottom:0}}:root{--primary: #FF6F91;--primary-dark: #E84E74;--primary-soft: #FFEAF0;--accent: #B98BC9;--accent-dark: #9D6FB2;--accent-soft: #F3EAF7;--ink: #2B2333;--muted: #978B94;--body: #5C5159;--peach: #FFF3F2;--line: #F1E7EA;--surface: #ffffff;--bg: #FFF7F4;--ok: #2fae80;--warn: #d98a2b;--err: #f17770;--radius: 20px;--card-shadow: 0 14px 40px rgba(43, 35, 51, .08);--shadow-sm: 0 4px 16px rgba(43, 35, 51, .06);--hero-grad: linear-gradient(120deg, #FF6F91, #FF9EB5);--avatar-grad: linear-gradient(140deg, #FF9EB5, #B98BC9);--bar-grad: linear-gradient(90deg, #FF6F91, #B98BC9)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font:14px/1.6 DM Sans,Noto Sans SC,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:radial-gradient(1200px 500px at 85% -10%,rgba(185,139,201,.07),transparent 60%),radial-gradient(900px 420px at -10% 8%,rgba(255,111,145,.07),transparent 55%),var(--bg);min-height:100vh}a{color:var(--primary);text-decoration:none}b,strong{font-weight:700}button{cursor:pointer;border:0;font:inherit;font-weight:700;padding:10px 18px;border-radius:999px;color:#fff;background:var(--hero-grad);box-shadow:0 16px 36px #ff6f9138;transition:.2s}button:hover{transform:translateY(-2px);box-shadow:0 20px 44px #ff6f9152;filter:brightness(1.02)}button:active{transform:translateY(0);filter:none;background:var(--primary-dark)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}button.ghost{color:var(--ink);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}button.ghost:hover{border-color:var(--primary);color:var(--primary);background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}button.danger{background:var(--err);box-shadow:0 7px 16px #f1777047}button.primary-link{background:none;color:var(--primary-dark);box-shadow:none;padding:4px 6px}input,select,textarea{width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:14px;font:inherit;color:var(--ink);background:#fff;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#ff6f91;box-shadow:0 0 0 3px #ff6f9124}input::placeholder,textarea::placeholder{color:#c6bdc6}label{font-size:12px;font-weight:700;color:var(--body)}.container{max-width:1080px;margin:0 auto;padding:22px 18px 60px}.row{display:flex;gap:12px;align-items:center}.col{display:flex;flex-direction:column;gap:10px}.gap{gap:8px}.muted{color:var(--muted);font-size:13px}.section-head{text-align:center;margin-bottom:34px}.eyebrow{display:inline-block;padding:6px 16px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:800;letter-spacing:.08em}.eyebrow.accent{background:var(--accent-soft);color:var(--accent-dark)}.section-head h2{font-size:30px;letter-spacing:-.5px;margin:10px 0 6px;color:var(--ink)}.section-head p{color:var(--body)}@media (max-width: 680px){.section-head h2{font-size:24px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:14px 0;box-shadow:var(--card-shadow);transition:.22s}.card h2{font-size:20px;letter-spacing:-.3px}.card h3{font-size:16px}.card:hover{border-color:#ffd3de;transform:translateY(-3px);box-shadow:0 22px 52px #2b23331c}.tag{display:inline-block;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:700;color:#e84e74;background:#ffeaf0}.tag.accent{color:#9d6fb2;background:#f3eaf7}.tag.ok{color:#1f8a63;background:#e6f7ef}.tag.warn{color:#b06f14;background:#fdf3e3}.tag.err,.tag.warn2{color:#c94a44;background:#fdeeee}.nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:12px 26px;position:sticky;top:0;z-index:10;background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav .brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.4px;color:var(--ink);margin-right:14px}.nav .brand img{width:34px;height:34px;border-radius:11px;box-shadow:0 5px 12px #ff6f9147}.nav a{color:var(--body);padding:8px 13px;border-radius:999px;font-weight:500;transition:.18s}.nav a:hover{background:#fff0f5;color:#ff6f91}.nav a.router-link-active{background:#ffeaf0;color:#e84e74;font-weight:700}.nav .spacer{flex:1}.nav button{padding:8px 16px}.mobile-nav{display:none}.key-block{padding:4px 0}.key-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #F7EFF1}.key-row:last-child{border-bottom:0}.key-label{color:var(--muted);font-size:12px;font-weight:700}.step{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.step .step-h{display:grid;place-items:center;min-width:26px;height:26px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-weight:700}.tabs{display:flex;gap:6px;margin:14px 0;flex-wrap:wrap}.tabs button,.tabs .tab{padding:7px 15px;border-radius:999px;background:#fff;color:var(--body);border:1px solid var(--line);box-shadow:none;font-size:12px;font-weight:600;cursor:pointer;display:inline-block;transition:.18s}.tabs button:hover,.tabs .tab:hover{border-color:#ffd3de;color:var(--primary-dark)}.tabs button.on,.tabs button.active,.tabs .tab.on{background:var(--hero-grad);color:#fff;border-color:transparent;box-shadow:0 8px 20px #ff6f9147}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 12px;color:var(--muted);font-size:12px;font-weight:700;border-bottom:1px solid #F1E7EA}td{padding:11px 12px;border-bottom:1px solid #F1E7EA}tr:last-child td{border-bottom:0}table.benefit td:nth-child(3){color:var(--primary-dark);font-weight:700}.pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:10px 0}.pkg{padding:18px 16px;border:1.5px solid var(--line);border-radius:22px;background:linear-gradient(160deg,#fff,#fff3f2);display:flex;flex-direction:column;gap:10px;align-items:flex-start;transition:.2s}.pkg:hover{border-color:#ff6f91;box-shadow:0 14px 32px #ff6f912e;transform:translateY(-2px)}.pkg .pname{font-weight:700;font-size:15px}.pkg .price{font-size:24px;font-weight:700;color:var(--primary-dark);letter-spacing:-.5px}.pkg .price .muted{font-size:12px;font-weight:500}.pkg button{width:100%}.score-badge{display:inline-grid;place-items:center;width:52px;height:52px;border:3px solid rgba(255,111,145,.35);border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-weight:700;line-height:1.05;text-align:center}.score-badge .score{font-size:16px}.score-badge .score-label{font-size:9px;font-weight:500;color:var(--muted)}.ws-status{display:inline-flex;align-items:center;gap:6px;margin:8px 0;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700}.ws-status.connected{color:#1f8a63;background:#e6f7ef}.ws-status.connected:before{content:"";width:7px;height:7px;border-radius:50%;background:#49d891}.ws-status.disconnected{color:#b06f14;background:#fdf3e3}.ws-status.disconnected:before{content:"";width:7px;height:7px;border-radius:50%;background:#f2b544}.rule-list,.contract-points{padding-left:18px;color:var(--body);font-size:13px}.rule-list li,.contract-points li{margin:6px 0}.doc{white-space:pre-wrap;font-size:13px;color:var(--body)}.agree{font-size:12px;color:var(--muted)}.thumb{width:64px;height:64px;border-radius:16px;object-fit:cover;background:var(--avatar-grad)}.preview{border-radius:16px;max-width:100%}.remove-btn{padding:4px 12px;font-size:12px;border-radius:999px;background:#fdeeee;color:#c94a44;box-shadow:none}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#2b23336b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(560px,100%);max-height:86vh;overflow:auto;padding:26px;border-radius:24px;background:#fff;box-shadow:0 30px 80px #2b233338}.upload-area{border:1.5px dashed #E8D5DC;border-radius:16px;padding:22px;text-align:center;color:var(--muted);background:#fffbfa;transition:.18s;cursor:pointer}.upload-area:hover{border-color:#ff6f91;background:#fff7f9}.progress{height:7px;overflow:hidden;margin:10px 0 6px;border-radius:999px;background:#f6ecef}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--bar-grad)}.empty{padding:42px;color:var(--muted);text-align:center}.comp-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0;padding:11px 14px;border:1px solid #F1E7EA;border-radius:16px;background:linear-gradient(135deg,#fff3f2,#f3eaf7);font-size:12px;color:var(--body)}.comp-bar .comp-top{font-weight:700;color:var(--primary-dark)}.comp-bar .comp-links{display:flex;gap:10px;flex-wrap:wrap}.msgOk{background:var(--primary)}.foot{border-top:1px solid var(--line);padding:18px 16px 26px;margin-top:30px;background:#fff9;font-size:12px;color:var(--muted)}.foot-links{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px}.foot-links a{color:var(--primary-dark);font-weight:500}.foot-links a:hover{color:var(--primary)}.foot-line{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.foot-line .muted,.foot-line span{color:var(--muted)}.match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.match-card{position:relative;overflow:hidden;min-height:240px;display:flex;flex-direction:column;padding:18px;border-radius:22px;color:#fff;background:var(--card-bg, linear-gradient(135deg, #FFB3C6, #B98BC9));box-shadow:0 14px 32px #2b233329;border:0}.match-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#2b233394,#2b233303 73%)}.match-card>*{position:relative}.mc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.mc-avatar{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;font-size:20px;font-weight:700;background:#ffffff38;border:2px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mc-score{display:grid;place-items:center;width:52px;height:52px;border:3px solid rgba(255,255,255,.8);border-radius:50%;background:#ffffff29;font-weight:700;line-height:1.05;text-align:center}.mc-score span{display:block;margin-top:2px;font-size:9px;font-weight:500;opacity:.88}.mc-head b{font-size:17px;letter-spacing:-.2px}.mc-head small{display:block;color:#ffffffd9;font-weight:400;font-size:12px;margin-top:2px}.mc-intro{margin:8px 0 10px;color:#ffffffe6;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mc-chips{display:flex;gap:6px;flex-wrap:wrap}.mc-chips .tag{color:#fff;background:#fff3;border:1px solid rgba(255,255,255,.25)}.mc-reason{margin-top:10px;padding:10px 12px;border-radius:14px;background:#ffffff24;border:1px solid rgba(255,255,255,.18);font-size:12px;color:#ffffffeb}.mc-reason b{display:block;margin-bottom:3px;font-size:11px;letter-spacing:.5px;opacity:.8}.mc-actions{margin-top:auto;padding-top:14px;display:flex;gap:8px}.mc-actions .btn-lite{padding:9px 16px;border-radius:999px;color:var(--ink);background:#fff;box-shadow:0 6px 14px #2b23332e}.mc-actions .btn-lite:hover{background:#fff0f3}.mc-actions .btn-go{flex:1;color:#fff;background:linear-gradient(120deg,#ff6f91,#ff9eb5);box-shadow:0 6px 14px #ff6f9159}.mc-actions .btn-go:hover{filter:brightness(1.05)}@media (max-width: 680px){.match-grid{grid-template-columns:1fr}}.login-hero{border:0;color:#fff;position:relative;overflow:hidden;border-radius:24px;background:var(--hero-grad);box-shadow:0 16px 32px #ff6f9138}.login-hero:after{content:"";position:absolute;right:-55px;bottom:-140px;width:320px;height:320px;border:40px solid rgba(255,255,255,.12);border-radius:50%}.login-hero .login-card{position:relative;z-index:1}@media (max-width: 680px){.nav{display:none}.container{padding:14px 12px 92px}.mobile-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:12;padding:8px 4px calc(10px + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.mobile-nav a{display:grid;justify-items:center;gap:2px;color:#a79ba4;font-size:10px;font-weight:600}.mobile-nav a b{font-size:17px;font-weight:500}.mobile-nav a.router-link-active{color:var(--primary)}.foot{margin-bottom:62px}}
