.fn{position:fixed;inset:0;z-index:100;background:rgba(5,4,3,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.fn[hidden]{display:none}
.fn-box{position:relative;width:100%;max-width:520px;background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:34px 28px 28px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9);margin:auto;animation:fnin .35s cubic-bezier(.2,.7,.2,1)}
@keyframes fnin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fn-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;background:none;color:var(--mut);font-size:26px;line-height:1;cursor:pointer}
.fn-bar{height:3px;background:var(--line);border-radius:2px;margin-bottom:22px;overflow:hidden}
.fn-bar i{display:block;height:100%;width:25%;background:linear-gradient(90deg,#ecd8a6,#b48a4a);transition:width .4s}
.fn-step{display:flex;flex-direction:column;gap:12px;text-align:left}
.fn-step[hidden]{display:none}
.fn-k{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--g2)}
.fn-step h3{font-family:Montserrat,sans-serif;font-size:26px;font-weight:800;color:var(--txt);margin:0 0 6px;letter-spacing:-.01em}
.fn-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fn-l{font-size:14.5px;color:var(--txt);font-weight:600;margin-top:6px}
.fn textarea{width:100%;padding:14px 16px;background:#0a0908;border:1px solid var(--line);border-radius:6px;color:var(--txt);font:inherit;font-size:16px;resize:vertical}
.fn textarea:focus{outline:none;border-color:var(--g2)}
.fn .btn{width:100%;margin-top:8px}
.fn-back{background:none;border:0;color:var(--mut2);font:inherit;font-size:13.5px;cursor:pointer;padding:6px;align-self:center}
.fn-p{color:var(--mut);font-size:15.5px;line-height:1.55}
.fn-p b{color:var(--txt)}
.fn-cmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0}
.fn-cmp>div{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px}
.fn-cmp>div.on{border-color:var(--g3);background:rgba(214,180,118,.06)}
.fn-cmp small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);font-weight:700}
.fn-cmp s{color:var(--mut2);font-size:17px;font-weight:700}
.fn-cmp b{font-size:24px;font-weight:800;background:linear-gradient(160deg,#f6e7c1,#d2ad6b 55%,#b48a4a);-webkit-background-clip:text;background-clip:text;color:transparent}
.fn-cmp span{font-size:12.5px;color:var(--mut);line-height:1.4}
.fn-choice{display:flex;flex-direction:column;gap:4px}
.fn-ghost{width:100%;padding:16px;background:none;border:1px solid var(--line2);border-radius:4px;color:var(--mut);font:inherit;font-size:14px;cursor:pointer;margin-top:8px}
.fn-ol{color:var(--mut);padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px}
.fn-file{display:block;border:1px dashed var(--line2);border-radius:8px;padding:18px;text-align:center;color:var(--g2);font-weight:600;font-size:14.5px;cursor:pointer;margin-top:6px}
.fn-file.ok{border-style:solid;border-color:var(--g3);color:var(--txt)}
.fn-file input{display:none}
.fn .btn[disabled]{opacity:.4;cursor:not-allowed;filter:grayscale(.4)}
.fn-err{color:#e08a7a;font-size:13.5px;text-align:center;min-height:18px;margin-top:8px}
.fn input.bad,.fn select.bad,.fn textarea.bad{border-color:#c0614f}
@media(max-width:560px){.fn{padding:0;align-items:stretch}.fn-box{border-radius:0;min-height:100%;padding:56px 18px 24px;border:0}.fn-row,.fn-cmp{grid-template-columns:1fr}}
body.fn-open{overflow:hidden}
.fn form{margin:0;display:block;background:none;border-radius:0;padding:0;box-shadow:none}
