:root{
  --bg1:#eef2ff; --bg2:#f8fafc; --card:#fff; --text:#0f172a; --muted:#64748b;
  --stroke:#e5e7eb; --stroke2:#dbe3f6;
  --primary1:#af2c2c; --primary2:#af2c2c;
  --shadow: 0 18px 55px rgba(15,23,42,.10);
  --radius: 26px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--text);
  background: radial-gradient(1200px 700px at 20% 0%, #e8edff 0%, transparent 60%),
              radial-gradient(900px 500px at 90% 20%, #efe8ff 0%, transparent 55%),
              linear-gradient(180deg, var(--bg1), var(--bg2));
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 14px 60px;
}
.wrap{width:min(980px, 100%)}
.card{
  background:var(--card);
  border:1px solid rgba(229,231,235,.9);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 28px;
}
.header{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  padding-bottom:18px; border-bottom:1px solid rgba(229,231,235,.8); margin-bottom:18px;
}
h1{font-size:clamp(26px,3vw,44px); margin:0; letter-spacing:-0.02em; line-height:1.15;}
.badge{
  padding:10px 14px; border-radius:999px; background:#eef2ff; color:#475569;
  font-weight:600; font-size:14px; border:1px solid #e0e7ff;
}
.panel{
  border:1px solid var(--stroke);
  border-radius: 22px;
  padding: 18px;
  background: #fbfdff;
}
.label{font-size:18px; font-weight:700; color:#334155; margin:0 0 12px;}
.input{
  width:100%;
  padding: 18px 18px;
  border-radius: 18px;
  border: 1px solid var(--stroke2);
  outline:none;
  font-size: 18px;
  background:#fff;
  color:var(--text);
}
.input::placeholder{color:#94a3b8}
.input:focus{border-color:#e2b8b8; box-shadow:0 0 0 4px rgba(175,44,44,.10);}

.btnrow{display:flex; gap:14px; margin-top:16px; flex-wrap:wrap;}
.btn{
  border:1px solid var(--stroke);
  background:#f8fafc;
  color:#0f172a;
  border-radius:18px;
  padding:14px 16px;
  font-weight:700;
  font-size:18px;
  cursor:pointer;
  flex:1 1 180px;
  transition: transform .06s ease, box-shadow .2s ease, border-color .2s ease;
}
.btn:hover{border-color:#cbd5e1}
.btn:active{transform:translateY(1px)}
.btn.primary{
  border:none;
  color:#fff;
  background: var(--primary1);
  box-shadow: 0 12px 22px rgba(175,44,44,.20);
}
.btn.primary:hover{
  background:#9c2525;
  box-shadow:0 16px 28px rgba(175,44,44,.24);
}
.btn:disabled{opacity:.55; cursor:not-allowed; transform:none;}

.result{
  margin-top:16px;
  border-radius:18px;
  border:2px dashed #d6def5;
  background:#fbfcff;
  padding:16px;
  color:#475569;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.result .left{flex:1; min-width:0;}
.result .title{font-weight:700; color:#334155; margin-bottom:6px;}
.result .link{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 14px;
  color:#0f172a;
  white-space:normal;
  word-break:break-all;
  display:block;
}
.status{font-size:14px; color:var(--muted); margin-top:14px;}

.signature{
  position:fixed; right:14px; bottom:12px;
  font-size:12px; color:#64748b;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(229,231,235,.7);
  padding: 6px 10px 6px 12px;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  display:flex;
  align-items:center;
  gap:10px;
  z-index:10;
}
.signature b{font-weight:700; color:#334155}
.contact{
  display:flex;
  align-items:center;
  gap:6px;
}
.contact a{
  width:22px;
  height:22px;
  border-radius:50%;
  border:1px solid #dbe3f6;
  display:grid;
  place-items:center;
  color:#334155;
  text-decoration:none;
  background:#fff;
}
.contact a:hover{border-color:#cbd5e1; transform:translateY(-1px);}
.contact svg{width:13px; height:13px; fill:currentColor}

@media (max-width:640px){
  .signature{right:10px; bottom:10px; gap:8px;}
}
