.matching-page{padding:18px 16px 28px}.matching-page h1{font:700 20px var(--sans);margin:2px 0 26px}.matching-steps{list-style:none;display:flex;padding:0;margin:0 0 28px}.matching-steps li{flex:1;text-align:center;position:relative;color:#8e8a83}.matching-steps li:not(:last-child):after{content:'';position:absolute;top:18px;height:1px;width:calc(100% - 42px);left:calc(50% + 21px);background:#d9d6d0}.matching-steps li.is-current:not(:last-child):after{background:#c55c36}.matching-steps span{display:grid;place-items:center;margin:0 auto 9px;border-radius:50%;width:36px;height:36px;background:#e1dfdb;font-weight:700}.matching-steps b{font-size:12px;font-weight:500}.matching-steps .is-current{color:#c55c36}.matching-steps .is-current span{background:#c55c36;color:#fff}.matching-state{padding:54px 20px 42px;text-align:center;min-height:325px}.matching-state h2{font:700 23px var(--sans);margin:28px 0 12px}.matching-state p{color:var(--text-2);font-size:14px;line-height:1.5;margin:0}.matching-spinner{width:140px;height:140px;border-radius:50%;border:9px solid #f5e9e4;position:relative;margin:0 auto;display:grid;place-items:center;color:#645d57}.matching-spinner:before{content:'';position:absolute;inset:-9px;border-radius:50%;border:9px solid transparent;border-top-color:#c55c36;border-right-color:#c55c36;animation:task-matching-spin 1.5s linear infinite}.matching-spinner svg{width:58px;height:58px}.matching-success,.matching-error{display:grid;place-items:center;width:126px;height:126px;margin:0 auto;border-radius:50%;color:#fff;background:#3b9c38;font:700 76px var(--sans)}.matching-error{background:#b34b30}.campaign-product{padding:18px;display:flex;gap:16px;align-items:center;margin:16px 0}.campaign-product img{width:82px;height:82px;object-fit:contain;border-radius:10px;background:#f5f4f0}.campaign-product strong{font:700 16px var(--sans)}.campaign-product p{margin:8px 0 0}.campaign-symbol{display:grid;place-items:center;width:60px;height:60px;color:#bf5c36;background:#f8eae2;border-radius:12px}.campaign-symbol svg{width:34px;height:34px}.matching-free{text-align:center;color:#4f7c55;font-size:12px;line-height:1.6;margin:18px 0}.matching-page>.btn{margin:9px 0}.free-task-list>.card{margin:15px 0}.free-task-detail h1{font:700 22px var(--sans)}.free-task-requirements{white-space:pre-wrap;line-height:1.8;margin:22px 0}.free-task-detail form{margin-top:22px}.free-task-detail textarea{width:100%;min-height:100px;padding:12px;border-radius:10px;border:1px solid var(--border)}.free-task-detail>.btn{margin-top:14px}.welcome-bonus{padding:24px 18px;background:radial-gradient(ellipse at top,#274556,#091c2c);min-height:100%;color:#efe5ae;display:grid;align-items:center}.welcome-bonus-card{border:1px solid #c8b773;border-radius:20px;outline:1px solid #746e4c;outline-offset:6px;padding:32px 24px 22px;text-align:center;background:linear-gradient(160deg,rgba(45,77,93,.35),rgba(9,24,41,.6));box-shadow:0 0 25px #182d30}.welcome-brand{letter-spacing:4px;font-size:12px;font-weight:700}.welcome-bonus h1{font:800 23px var(--sans);text-transform:uppercase;margin:20px 0 38px}.welcome-gift svg{width:58px;height:58px}.welcome-amount{font:800 58px var(--sans);margin:26px 0 14px;letter-spacing:-2px}.welcome-amount small{font-size:25px;font-weight:400;letter-spacing:0}.welcome-bonus h2{font:700 19px var(--sans);margin:12px 0}.welcome-bonus-card>p{line-height:1.65}.welcome-credit{color:#bfe2c5;font-weight:700}.welcome-note{font-size:12px;color:#d0d6d6;margin:12px 0 30px}.welcome-bonus .btn{background:linear-gradient(100deg,#e7d298,#bda159);color:#102536;font-weight:700;border:0;box-shadow:0 5px 20px #6e652540}.welcome-skip{background:none;border:0;color:#e9e5d0;text-decoration:underline;padding:22px 8px;font-size:13px;cursor:pointer}.bonus-admin-panel{margin-top:20px}.bonus-admin-panel form{margin-top:18px}.bonus-admin-panel form .btn{margin-top:15px}.bonus-admin-panel h3{margin-top:28px}#task-product{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:#faf8f3}@keyframes task-matching-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.matching-spinner:before{animation:none}}
